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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (650) hide show
  1. package/AGENTS.md +315 -0
  2. package/AlignBox/component.json +89 -0
  3. package/Anchor/component.json +130 -0
  4. package/Argv/component.json +216 -0
  5. package/AutoBox/component.json +133 -0
  6. package/AutoButton/component.json +109 -0
  7. package/AutoTips/component.json +121 -0
  8. package/Badge/component.json +92 -0
  9. package/Breadcrumbs/component.json +142 -0
  10. package/Button/component.json +168 -0
  11. package/ButtonGroup/component.json +132 -0
  12. package/Card/component.json +162 -0
  13. package/Carousel/component.json +142 -0
  14. package/Cascader/component.json +196 -0
  15. package/Checkbox/component.json +138 -0
  16. package/CheckboxGroup/component.json +152 -0
  17. package/CodeEditor/component.json +189 -0
  18. package/Collapse/component.json +166 -0
  19. package/CollapseBox/component.json +84 -0
  20. package/CollapseLayout/component.json +155 -0
  21. package/ColorPicker/component.json +142 -0
  22. package/ComboSelect/component.json +181 -0
  23. package/Container/component.json +111 -0
  24. package/ContentBox/component.json +81 -0
  25. package/CopyText/component.json +118 -0
  26. package/CycleSelector/component.json +98 -0
  27. package/DatePicker/component.json +192 -0
  28. package/Descriptions/component.json +142 -0
  29. package/Desktop/component.json +171 -0
  30. package/DragVerify/component.json +114 -0
  31. package/Drawer/component.json +200 -0
  32. package/Dropdown/component.json +147 -0
  33. package/DynamicMultiBox/component.json +278 -0
  34. package/Empty/component.json +123 -0
  35. package/FieldForm/component.json +196 -0
  36. package/Form/component.json +161 -0
  37. package/FormItem/component.json +171 -0
  38. package/FunctionModal/component.json +197 -0
  39. package/Help/component.json +118 -0
  40. package/HelperText/component.json +126 -0
  41. package/Image/component.json +165 -0
  42. package/InputCode/component.json +191 -0
  43. package/InputLang/component.json +205 -0
  44. package/InputNumber/component.json +162 -0
  45. package/Label/component.json +126 -0
  46. package/Loading/component.json +91 -0
  47. package/Menu/component.json +180 -0
  48. package/Message/component.json +246 -0
  49. package/Modal/component.json +277 -0
  50. package/MultiBox/component.json +216 -0
  51. package/Notification/component.json +184 -0
  52. package/OperateBtn/component.json +134 -0
  53. package/PageHeader/component.json +112 -0
  54. package/Pagination/component.json +181 -0
  55. package/PasswordRules/component.json +105 -0
  56. package/PopConfirm/component.json +227 -0
  57. package/PopMenu/component.json +131 -0
  58. package/Popover/component.json +165 -0
  59. package/Progress/component.json +161 -0
  60. package/Prompt/component.json +144 -0
  61. package/Querying/component.json +96 -0
  62. package/QuickReply/component.json +129 -0
  63. package/Radio/component.json +136 -0
  64. package/RadioGroup/component.json +149 -0
  65. package/RangeInput/component.json +198 -0
  66. package/Result/component.json +104 -0
  67. package/ScrollBar/component.json +115 -0
  68. package/Search/component.json +177 -0
  69. package/Select/component.json +244 -0
  70. package/SelectInput/component.json +184 -0
  71. package/Selector/component.json +203 -0
  72. package/SelectorPicker/component.json +179 -0
  73. package/SingleBox/component.json +151 -0
  74. package/Slider/component.json +181 -0
  75. package/SortBox/component.json +108 -0
  76. package/Status/component.json +104 -0
  77. package/Stepper/component.json +129 -0
  78. package/Switch/component.json +207 -0
  79. package/Table/component.json +547 -0
  80. package/Tabs/component.json +227 -0
  81. package/Tag/component.json +221 -0
  82. package/TextEditor/component.json +186 -0
  83. package/TextField/component.json +290 -0
  84. package/TimePicker/component.json +176 -0
  85. package/Timeline/component.json +110 -0
  86. package/Title/component.json +156 -0
  87. package/ToggleButton/component.json +153 -0
  88. package/Tooltip/component.json +176 -0
  89. package/Transfer/component.json +157 -0
  90. package/Tree/component.json +512 -0
  91. package/Upload/component.json +450 -0
  92. package/ai-workflows/01-crud-list-multi-drawer.md +278 -0
  93. package/ai-workflows/02-rbac-operation-buttons.md +290 -0
  94. package/ai-workflows/03-complex-form-async-cascade.md +350 -0
  95. package/ai-workflows/04-array-field-form.md +281 -0
  96. package/ai-workflows/05-popconfirm-async-message-queue.md +333 -0
  97. package/ai-workflows/06-modal-drawer-form-workflow.md +385 -0
  98. package/ai-workflows/07-search-filter-table-trio.md +387 -0
  99. package/ai-workflows/08-table-advanced-features.md +365 -0
  100. package/ai-workflows/09-batch-operation-export-progress.md +367 -0
  101. package/ai-workflows/10-cross-component-state-coordination.md +412 -0
  102. package/es/AlignBox/component.json +89 -0
  103. package/es/AlignBox/index.css +1 -1
  104. package/es/AlignBox/index.d.ts +6 -2
  105. package/es/AlignBox/index.js +1 -1
  106. package/es/AlignBox/style/index.css +1 -1
  107. package/es/Anchor/anchorMenu/index.d.ts +2 -1
  108. package/es/Anchor/anchorMenu/index.js +36 -33
  109. package/es/Anchor/component.json +130 -0
  110. package/es/Anchor/index.js +52 -49
  111. package/es/Anchor/type.d.ts +8 -4
  112. package/es/Argv/component.json +216 -0
  113. package/es/Argv/dataGenerator/index.js +1 -1
  114. package/es/Argv/index.d.ts +5 -6
  115. package/es/Argv/index.js +1 -1
  116. package/es/AutoBox/component.json +133 -0
  117. package/es/AutoBox/index.d.ts +3 -3
  118. package/es/AutoBox/index.js +1 -1
  119. package/es/AutoBox/protal.d.ts +2 -2
  120. package/es/AutoBox/protal.js +33 -30
  121. package/es/AutoButton/component.json +109 -0
  122. package/es/AutoButton/index.js +1 -1
  123. package/es/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  124. package/es/AutoTips/autoTipsMultiline/index.js +1 -1
  125. package/es/AutoTips/component.json +121 -0
  126. package/es/AutoTips/index.js +1 -1
  127. package/es/Badge/component.json +92 -0
  128. package/es/Breadcrumbs/component.json +142 -0
  129. package/es/Breadcrumbs/index.js +1 -1
  130. package/es/Button/SplitButton.d.ts +2 -2
  131. package/es/Button/component.json +168 -0
  132. package/es/Button/index.js +44 -44
  133. package/es/ButtonGroup/component.json +132 -0
  134. package/es/ButtonGroup/index.d.ts +1 -1
  135. package/es/Card/component.json +162 -0
  136. package/es/Card/index.d.ts +2 -2
  137. package/es/Card/index.js +2 -2
  138. package/es/Carousel/component.json +142 -0
  139. package/es/Carousel/index.d.ts +1 -1
  140. package/es/Cascader/Cascader.js +1 -1
  141. package/es/Cascader/OptionList/Column.js +1 -1
  142. package/es/Cascader/OptionList/index.js +1 -1
  143. package/es/Cascader/component.json +196 -0
  144. package/es/Cascader/hooks/useEntities.js +7 -7
  145. package/es/Cascader/interface.d.ts +1 -0
  146. package/es/Cascader/utils/commonUtil.d.ts +1 -1
  147. package/es/Cascader/utils/commonUtil.js +16 -16
  148. package/es/Cascader/utils/treeUtil.d.ts +14 -5
  149. package/es/Cascader/utils/treeUtil.js +1 -1
  150. package/es/Checkbox/component.json +138 -0
  151. package/es/CheckboxGroup/component.json +152 -0
  152. package/es/CheckboxGroup/index.js +1 -1
  153. package/es/CodeEditor/component.json +189 -0
  154. package/es/CodeEditor/index.d.ts +11 -10
  155. package/es/CodeEditor/index.js +19 -19
  156. package/es/Collapse/component.json +166 -0
  157. package/es/Collapse/index.d.ts +1 -1
  158. package/es/Collapse/index.js +23 -22
  159. package/es/CollapseBox/component.json +84 -0
  160. package/es/CollapseLayout/component.json +155 -0
  161. package/es/ColorPicker/component.json +142 -0
  162. package/es/ComboSelect/component.json +181 -0
  163. package/es/ComboSelect/index.js +115 -109
  164. package/es/ComboSelect/interface.d.ts +2 -2
  165. package/es/ComboSelect/utils.d.ts +3 -3
  166. package/es/ComboSelect/utils.js +1 -1
  167. package/es/Container/component.json +111 -0
  168. package/es/ContentBox/component.json +81 -0
  169. package/es/CopyText/component.json +118 -0
  170. package/es/CycleSelector/component.json +98 -0
  171. package/es/CycleSelector/index.js +14 -13
  172. package/es/DatePicker/component.json +192 -0
  173. package/es/DatePicker/generatePicker/generateRangePicker.js +11 -11
  174. package/es/DatePicker/generatePicker/generateSinglePicker.js +2 -2
  175. package/es/Descriptions/component.json +142 -0
  176. package/es/Descriptions/index.d.ts +1 -1
  177. package/es/Desktop/component.json +171 -0
  178. package/es/Desktop/index.js +1 -1
  179. package/es/DragVerify/component.json +114 -0
  180. package/es/DragVerify/index.js +19 -19
  181. package/es/Drawer/component.json +200 -0
  182. package/es/Drawer/index.js +86 -86
  183. package/es/Drawer/interface.d.ts +1 -1
  184. package/es/Drawer/util.d.ts +1 -6
  185. package/es/Drawer/util.js +9 -6
  186. package/es/Dropdown/component.json +147 -0
  187. package/es/Dropdown/index.js +1 -1
  188. package/es/DynamicMultiBox/component.json +278 -0
  189. package/es/DynamicMultiBox/formItem.d.ts +1 -1
  190. package/es/DynamicMultiBox/index.js +1 -1
  191. package/es/DynamicMultiBox/rowForm.d.ts +2 -2
  192. package/es/Empty/component.json +123 -0
  193. package/es/Empty/index.css +1 -1
  194. package/es/Empty/index.d.ts +2 -2
  195. package/es/Empty/index.js +27 -26
  196. package/es/Empty/style/index.css +1 -1
  197. package/es/FieldForm/FieldFormItem/ItemHolder.js +1 -1
  198. package/es/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  199. package/es/FieldForm/FieldFormItem/StatusProvider.js +1 -1
  200. package/es/FieldForm/FieldFormItem/index.d.ts +6 -6
  201. package/es/FieldForm/Form.d.ts +2 -2
  202. package/es/FieldForm/Form.js +1 -1
  203. package/es/FieldForm/FormItemInput.js +1 -1
  204. package/es/FieldForm/FormItemLabel.js +1 -1
  205. package/es/FieldForm/FormList.d.ts +2 -2
  206. package/es/FieldForm/component.json +196 -0
  207. package/es/FieldForm/context.d.ts +5 -1
  208. package/es/FieldForm/context.js +2 -2
  209. package/es/FieldForm/hooks/useForm.d.ts +4 -3
  210. package/es/FieldForm/hooks/useFormInstance.d.ts +1 -1
  211. package/es/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  212. package/es/FieldForm/hooks/useFormItemStatus.js +2 -2
  213. package/es/FieldForm/hooks/useItemRef.d.ts +1 -1
  214. package/es/FieldForm/hooks/useItemRef.js +6 -6
  215. package/es/Form/component.json +161 -0
  216. package/es/Form/index.d.ts +52 -49
  217. package/es/Form/index.js +1 -1
  218. package/es/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  219. package/es/FormItem/compoments/defaultCompoments/index.js +12 -11
  220. package/es/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  221. package/es/FormItem/compoments/formFile/index.js +8 -8
  222. package/es/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  223. package/es/FormItem/compoments/formSelect/index.d.ts +1 -1
  224. package/es/FormItem/component.json +171 -0
  225. package/es/FormItem/index.d.ts +5 -5
  226. package/es/FormItem/index.js +23 -23
  227. package/es/FormItem/itemType.js +1 -1
  228. package/es/FunctionModal/component.json +197 -0
  229. package/es/FunctionModal/dialog.d.ts +1 -1
  230. package/es/FunctionModal/modalContext.d.ts +4 -1
  231. package/es/GlobalContext/confirmLocale.js +1 -1
  232. package/es/GlobalContext/index.js +1 -1
  233. package/es/Help/component.json +118 -0
  234. package/es/HelperText/component.json +126 -0
  235. package/es/Image/PreviewGroup.js +1 -1
  236. package/es/Image/component.json +165 -0
  237. package/es/Image/index.js +1 -1
  238. package/es/InputCode/component.json +191 -0
  239. package/es/InputCode/index.d.ts +2 -2
  240. package/es/InputLang/component.json +205 -0
  241. package/es/InputLang/index.js +2 -2
  242. package/es/InputNumber/component.json +162 -0
  243. package/es/Label/component.json +126 -0
  244. package/es/Label/index.d.ts +2 -2
  245. package/es/Loading/component.json +91 -0
  246. package/es/Menu/component.json +180 -0
  247. package/es/Menu/verticalMenuList.js +1 -1
  248. package/es/Message/component.json +246 -0
  249. package/es/Message/index.d.ts +2 -2
  250. package/es/Message/index.js +2 -2
  251. package/es/Modal/Confirm/index.d.ts +1 -1
  252. package/es/Modal/Confirm/index.js +1 -1
  253. package/es/Modal/component.json +277 -0
  254. package/es/Modal/index.d.ts +85 -5
  255. package/es/Modal/index.js +159 -122
  256. package/es/Modal/interface.d.ts +1 -0
  257. package/es/MultiBox/component.json +216 -0
  258. package/es/MultiBox/index.js +19 -14
  259. package/es/Notification/component.json +184 -0
  260. package/es/OperateBtn/component.json +134 -0
  261. package/es/OperateBtn/index.d.ts +3 -3
  262. package/es/PageHeader/component.json +112 -0
  263. package/es/PageHeader/horizontalMeun.js +1 -1
  264. package/es/PageHeader/horizontalMeunRight.js +1 -1
  265. package/es/Pagination/component.json +181 -0
  266. package/es/Pagination/index.js +15 -15
  267. package/es/ParauiProvider/index.js +1 -1
  268. package/es/PasswordRules/component.json +105 -0
  269. package/es/PasswordRules/index.d.ts +4 -4
  270. package/es/PopConfirm/component.json +227 -0
  271. package/es/PopConfirm/index.d.ts +1 -1
  272. package/es/PopConfirm/index.js +1 -1
  273. package/es/PopMenu/component.json +131 -0
  274. package/es/PopMenu/hooks.d.ts +1 -1
  275. package/es/PopMenu/index.js +8 -8
  276. package/es/Popover/component.json +165 -0
  277. package/es/Popover/index.js +1 -1
  278. package/es/Progress/component.json +161 -0
  279. package/es/Prompt/component.json +144 -0
  280. package/es/Querying/component.json +96 -0
  281. package/es/Querying/index.css +1 -1
  282. package/es/Querying/index.d.ts +2 -2
  283. package/es/Querying/index.js +20 -19
  284. package/es/Querying/style/index.css +1 -1
  285. package/es/QuickReply/QuickReplyCode/index.js +1 -1
  286. package/es/QuickReply/component.json +129 -0
  287. package/es/QuickReply/index.d.ts +1 -1
  288. package/es/Radio/component.json +136 -0
  289. package/es/RadioGroup/component.json +149 -0
  290. package/es/RangeInput/component.json +198 -0
  291. package/es/RangeInput/index.js +20 -20
  292. package/es/Result/component.json +104 -0
  293. package/es/ScrollBar/component.json +115 -0
  294. package/es/Search/component.json +177 -0
  295. package/es/Search/index.d.ts +1 -1
  296. package/es/Select/component.json +244 -0
  297. package/es/Select/index.js +114 -114
  298. package/es/SelectInput/component.json +184 -0
  299. package/es/Selector/component.json +203 -0
  300. package/es/Selector/index.js +56 -50
  301. package/es/Selector/interface.d.ts +2 -2
  302. package/es/Selector/selectorData/index.js +1 -1
  303. package/es/Selector/selectorMain/index.js +3 -3
  304. package/es/Selector/selectorNode/index.js +1 -1
  305. package/es/Selector/util.d.ts +3 -3
  306. package/es/Selector/util.js +6 -12
  307. package/es/SelectorPicker/component.json +179 -0
  308. package/es/SelectorPicker/index.d.ts +5 -5
  309. package/es/SelectorPicker/index.js +15 -15
  310. package/es/SingleBox/component.json +151 -0
  311. package/es/SingleBox/index.d.ts +2 -2
  312. package/es/Slider/component.json +181 -0
  313. package/es/SortBox/component.json +108 -0
  314. package/es/Status/component.json +104 -0
  315. package/es/Stepper/component.json +129 -0
  316. package/es/Stepper/index.d.ts +2 -2
  317. package/es/Switch/component.json +207 -0
  318. package/es/Switch/index.css +1 -1
  319. package/es/Switch/index.d.ts +3 -2
  320. package/es/Switch/index.js +60 -59
  321. package/es/Switch/style/index.css +1 -1
  322. package/es/Table/component.json +547 -0
  323. package/es/Table/index.d.ts +2 -2
  324. package/es/Table/index.js +385 -382
  325. package/es/Table/interface.d.ts +30 -0
  326. package/es/Table/tableHead.js +1 -1
  327. package/es/Table/util.d.ts +1 -1
  328. package/es/Table/util.js +3 -12
  329. package/es/Tabs/component.json +227 -0
  330. package/es/Tag/component.json +221 -0
  331. package/es/Tag/index.css +1 -1
  332. package/es/Tag/index.d.ts +1 -1
  333. package/es/Tag/index.js +20 -20
  334. package/es/Tag/style/index.css +1 -1
  335. package/es/TextEditor/component.json +186 -0
  336. package/es/TextEditor/index.d.ts +5 -5
  337. package/es/TextEditor/index.js +1 -1
  338. package/es/TextField/component.json +290 -0
  339. package/es/TextField/index.d.ts +2 -2
  340. package/es/TextField/index.js +1 -1
  341. package/es/TimePicker/component.json +176 -0
  342. package/es/Timeline/component.json +110 -0
  343. package/es/Title/component.json +156 -0
  344. package/es/ToggleButton/component.json +153 -0
  345. package/es/ToggleButton/index.js +1 -1
  346. package/es/Tooltip/component.json +176 -0
  347. package/es/Tooltip/index.js +58 -53
  348. package/es/Tooltip/interface.d.ts +14 -1
  349. package/es/Tooltip/utils.js +6 -6
  350. package/es/Transfer/component.json +157 -0
  351. package/es/Tree/OperateBar/index.js +1 -1
  352. package/es/Tree/Tree.js +3 -3
  353. package/es/Tree/component.json +512 -0
  354. package/es/Tree/interface.d.ts +1 -1
  355. package/es/Upload/component.json +450 -0
  356. package/es/Upload/util.js +1 -1
  357. package/es/Utils/snack-kit-shims.d.ts +18 -0
  358. package/es/Utils/snack-kit-shims.js +19 -0
  359. package/es/Utils/type.d.ts +0 -2
  360. package/es/_virtual/index.js +5 -3
  361. package/es/_virtual/index2.js +2 -5
  362. package/es/index.d.ts +2 -0
  363. package/es/index.js +1 -1
  364. package/es/locale/en_US.d.ts +361 -0
  365. package/es/locale/en_US.js +364 -0
  366. package/es/locale/index.d.ts +1 -723
  367. package/es/locale/index2.js +10 -0
  368. package/es/locale/zh_CN.d.ts +361 -0
  369. package/es/locale/zh_CN.js +364 -0
  370. package/es/node_modules/classnames/index.js +1 -1
  371. package/lib/AlignBox/component.json +89 -0
  372. package/lib/AlignBox/index.css +1 -1
  373. package/lib/AlignBox/index.d.ts +6 -2
  374. package/lib/AlignBox/index.js +1 -1
  375. package/lib/AlignBox/style/index.css +1 -1
  376. package/lib/Anchor/anchorMenu/index.d.ts +2 -1
  377. package/lib/Anchor/anchorMenu/index.js +1 -1
  378. package/lib/Anchor/component.json +130 -0
  379. package/lib/Anchor/index.js +1 -1
  380. package/lib/Anchor/type.d.ts +8 -4
  381. package/lib/Argv/component.json +216 -0
  382. package/lib/Argv/dataGenerator/index.js +1 -1
  383. package/lib/Argv/index.d.ts +5 -6
  384. package/lib/Argv/index.js +1 -1
  385. package/lib/AutoBox/component.json +133 -0
  386. package/lib/AutoBox/index.d.ts +3 -3
  387. package/lib/AutoBox/index.js +1 -1
  388. package/lib/AutoBox/protal.d.ts +2 -2
  389. package/lib/AutoBox/protal.js +1 -1
  390. package/lib/AutoButton/component.json +109 -0
  391. package/lib/AutoButton/index.js +1 -1
  392. package/lib/AutoTips/autoTipsMultiline/index.d.ts +1 -1
  393. package/lib/AutoTips/autoTipsMultiline/index.js +1 -1
  394. package/lib/AutoTips/component.json +121 -0
  395. package/lib/AutoTips/index.js +1 -1
  396. package/lib/Badge/component.json +92 -0
  397. package/lib/Breadcrumbs/component.json +142 -0
  398. package/lib/Breadcrumbs/index.js +1 -1
  399. package/lib/Button/SplitButton.d.ts +2 -2
  400. package/lib/Button/component.json +168 -0
  401. package/lib/Button/index.js +1 -1
  402. package/lib/ButtonGroup/component.json +132 -0
  403. package/lib/ButtonGroup/index.d.ts +1 -1
  404. package/lib/Card/component.json +162 -0
  405. package/lib/Card/index.d.ts +2 -2
  406. package/lib/Card/index.js +1 -1
  407. package/lib/Carousel/component.json +142 -0
  408. package/lib/Carousel/index.d.ts +1 -1
  409. package/lib/Cascader/Cascader.js +1 -1
  410. package/lib/Cascader/OptionList/Column.js +1 -1
  411. package/lib/Cascader/OptionList/index.js +1 -1
  412. package/lib/Cascader/component.json +196 -0
  413. package/lib/Cascader/hooks/useEntities.js +1 -1
  414. package/lib/Cascader/interface.d.ts +1 -0
  415. package/lib/Cascader/utils/commonUtil.d.ts +1 -1
  416. package/lib/Cascader/utils/commonUtil.js +1 -1
  417. package/lib/Cascader/utils/treeUtil.d.ts +14 -5
  418. package/lib/Cascader/utils/treeUtil.js +1 -1
  419. package/lib/Checkbox/component.json +138 -0
  420. package/lib/CheckboxGroup/component.json +152 -0
  421. package/lib/CheckboxGroup/index.js +1 -1
  422. package/lib/CodeEditor/component.json +189 -0
  423. package/lib/CodeEditor/index.d.ts +11 -10
  424. package/lib/CodeEditor/index.js +1 -1
  425. package/lib/Collapse/component.json +166 -0
  426. package/lib/Collapse/index.d.ts +1 -1
  427. package/lib/Collapse/index.js +1 -1
  428. package/lib/CollapseBox/component.json +84 -0
  429. package/lib/CollapseLayout/component.json +155 -0
  430. package/lib/ColorPicker/component.json +142 -0
  431. package/lib/ComboSelect/component.json +181 -0
  432. package/lib/ComboSelect/index.js +1 -1
  433. package/lib/ComboSelect/interface.d.ts +2 -2
  434. package/lib/ComboSelect/utils.d.ts +3 -3
  435. package/lib/ComboSelect/utils.js +1 -1
  436. package/lib/Container/component.json +111 -0
  437. package/lib/ContentBox/component.json +81 -0
  438. package/lib/CopyText/component.json +118 -0
  439. package/lib/CycleSelector/component.json +98 -0
  440. package/lib/CycleSelector/index.js +1 -1
  441. package/lib/DatePicker/component.json +192 -0
  442. package/lib/DatePicker/generatePicker/generateRangePicker.js +1 -1
  443. package/lib/DatePicker/generatePicker/generateSinglePicker.js +1 -1
  444. package/lib/Descriptions/component.json +142 -0
  445. package/lib/Descriptions/index.d.ts +1 -1
  446. package/lib/Desktop/component.json +171 -0
  447. package/lib/Desktop/index.js +1 -1
  448. package/lib/DragVerify/component.json +114 -0
  449. package/lib/DragVerify/index.js +1 -1
  450. package/lib/Drawer/component.json +200 -0
  451. package/lib/Drawer/index.js +1 -1
  452. package/lib/Drawer/interface.d.ts +1 -1
  453. package/lib/Drawer/util.d.ts +1 -6
  454. package/lib/Drawer/util.js +1 -1
  455. package/lib/Dropdown/component.json +147 -0
  456. package/lib/Dropdown/index.js +1 -1
  457. package/lib/DynamicMultiBox/component.json +278 -0
  458. package/lib/DynamicMultiBox/formItem.d.ts +1 -1
  459. package/lib/DynamicMultiBox/index.js +1 -1
  460. package/lib/DynamicMultiBox/rowForm.d.ts +2 -2
  461. package/lib/Empty/component.json +123 -0
  462. package/lib/Empty/index.css +1 -1
  463. package/lib/Empty/index.d.ts +2 -2
  464. package/lib/Empty/index.js +1 -1
  465. package/lib/Empty/style/index.css +1 -1
  466. package/lib/FieldForm/FieldFormItem/ItemHolder.js +1 -1
  467. package/lib/FieldForm/FieldFormItem/MemoInput.d.ts +2 -2
  468. package/lib/FieldForm/FieldFormItem/StatusProvider.js +1 -1
  469. package/lib/FieldForm/FieldFormItem/index.d.ts +6 -6
  470. package/lib/FieldForm/Form.d.ts +2 -2
  471. package/lib/FieldForm/Form.js +1 -1
  472. package/lib/FieldForm/FormItemInput.js +1 -1
  473. package/lib/FieldForm/FormItemLabel.js +1 -1
  474. package/lib/FieldForm/FormList.d.ts +2 -2
  475. package/lib/FieldForm/component.json +196 -0
  476. package/lib/FieldForm/context.d.ts +5 -1
  477. package/lib/FieldForm/context.js +1 -1
  478. package/lib/FieldForm/hooks/useForm.d.ts +4 -3
  479. package/lib/FieldForm/hooks/useFormInstance.d.ts +1 -1
  480. package/lib/FieldForm/hooks/useFormItemStatus.d.ts +9 -5
  481. package/lib/FieldForm/hooks/useFormItemStatus.js +1 -1
  482. package/lib/FieldForm/hooks/useItemRef.d.ts +1 -1
  483. package/lib/FieldForm/hooks/useItemRef.js +1 -1
  484. package/lib/Form/component.json +161 -0
  485. package/lib/Form/index.d.ts +52 -49
  486. package/lib/Form/index.js +1 -1
  487. package/lib/FormItem/compoments/defaultCompoments/index.d.ts +5 -5
  488. package/lib/FormItem/compoments/defaultCompoments/index.js +1 -1
  489. package/lib/FormItem/compoments/formCheckboxGroup/index.d.ts +2 -2
  490. package/lib/FormItem/compoments/formFile/index.js +1 -1
  491. package/lib/FormItem/compoments/formRadioGroup/index.d.ts +1 -1
  492. package/lib/FormItem/compoments/formSelect/index.d.ts +1 -1
  493. package/lib/FormItem/component.json +171 -0
  494. package/lib/FormItem/index.d.ts +5 -5
  495. package/lib/FormItem/index.js +1 -1
  496. package/lib/FormItem/itemType.js +1 -1
  497. package/lib/FunctionModal/component.json +197 -0
  498. package/lib/FunctionModal/dialog.d.ts +1 -1
  499. package/lib/FunctionModal/modalContext.d.ts +4 -1
  500. package/lib/GlobalContext/confirmLocale.js +1 -1
  501. package/lib/GlobalContext/index.js +1 -1
  502. package/lib/Help/component.json +118 -0
  503. package/lib/HelperText/component.json +126 -0
  504. package/lib/Image/PreviewGroup.js +1 -1
  505. package/lib/Image/component.json +165 -0
  506. package/lib/Image/index.js +1 -1
  507. package/lib/InputCode/component.json +191 -0
  508. package/lib/InputCode/index.d.ts +2 -2
  509. package/lib/InputLang/component.json +205 -0
  510. package/lib/InputLang/index.js +1 -1
  511. package/lib/InputNumber/component.json +162 -0
  512. package/lib/Label/component.json +126 -0
  513. package/lib/Label/index.d.ts +2 -2
  514. package/lib/Loading/component.json +91 -0
  515. package/lib/Menu/component.json +180 -0
  516. package/lib/Menu/verticalMenuList.js +1 -1
  517. package/lib/Message/component.json +246 -0
  518. package/lib/Message/index.d.ts +2 -2
  519. package/lib/Message/index.js +1 -1
  520. package/lib/Modal/Confirm/index.d.ts +1 -1
  521. package/lib/Modal/Confirm/index.js +1 -1
  522. package/lib/Modal/component.json +277 -0
  523. package/lib/Modal/index.d.ts +85 -5
  524. package/lib/Modal/index.js +1 -1
  525. package/lib/Modal/interface.d.ts +1 -0
  526. package/lib/MultiBox/component.json +216 -0
  527. package/lib/MultiBox/index.js +1 -1
  528. package/lib/Notification/component.json +184 -0
  529. package/lib/OperateBtn/component.json +134 -0
  530. package/lib/OperateBtn/index.d.ts +3 -3
  531. package/lib/PageHeader/component.json +112 -0
  532. package/lib/PageHeader/horizontalMeun.js +1 -1
  533. package/lib/PageHeader/horizontalMeunRight.js +1 -1
  534. package/lib/Pagination/component.json +181 -0
  535. package/lib/Pagination/index.js +1 -1
  536. package/lib/ParauiProvider/index.js +1 -1
  537. package/lib/PasswordRules/component.json +105 -0
  538. package/lib/PasswordRules/index.d.ts +4 -4
  539. package/lib/PopConfirm/component.json +227 -0
  540. package/lib/PopConfirm/index.d.ts +1 -1
  541. package/lib/PopConfirm/index.js +1 -1
  542. package/lib/PopMenu/component.json +131 -0
  543. package/lib/PopMenu/hooks.d.ts +1 -1
  544. package/lib/PopMenu/index.js +1 -1
  545. package/lib/Popover/component.json +165 -0
  546. package/lib/Popover/index.js +1 -1
  547. package/lib/Progress/component.json +161 -0
  548. package/lib/Prompt/component.json +144 -0
  549. package/lib/Querying/component.json +96 -0
  550. package/lib/Querying/index.css +1 -1
  551. package/lib/Querying/index.d.ts +2 -2
  552. package/lib/Querying/index.js +1 -1
  553. package/lib/Querying/style/index.css +1 -1
  554. package/lib/QuickReply/QuickReplyCode/index.js +1 -1
  555. package/lib/QuickReply/component.json +129 -0
  556. package/lib/QuickReply/index.d.ts +1 -1
  557. package/lib/Radio/component.json +136 -0
  558. package/lib/RadioGroup/component.json +149 -0
  559. package/lib/RangeInput/component.json +198 -0
  560. package/lib/RangeInput/index.js +1 -1
  561. package/lib/Result/component.json +104 -0
  562. package/lib/ScrollBar/component.json +115 -0
  563. package/lib/Search/component.json +177 -0
  564. package/lib/Search/index.d.ts +1 -1
  565. package/lib/Select/component.json +244 -0
  566. package/lib/Select/index.js +1 -1
  567. package/lib/SelectInput/component.json +184 -0
  568. package/lib/Selector/component.json +203 -0
  569. package/lib/Selector/index.js +1 -1
  570. package/lib/Selector/interface.d.ts +2 -2
  571. package/lib/Selector/selectorData/index.js +1 -1
  572. package/lib/Selector/selectorMain/index.js +1 -1
  573. package/lib/Selector/selectorNode/index.js +1 -1
  574. package/lib/Selector/util.d.ts +3 -3
  575. package/lib/Selector/util.js +1 -1
  576. package/lib/SelectorPicker/component.json +179 -0
  577. package/lib/SelectorPicker/index.d.ts +5 -5
  578. package/lib/SelectorPicker/index.js +1 -1
  579. package/lib/SingleBox/component.json +151 -0
  580. package/lib/SingleBox/index.d.ts +2 -2
  581. package/lib/Slider/component.json +181 -0
  582. package/lib/SortBox/component.json +108 -0
  583. package/lib/Status/component.json +104 -0
  584. package/lib/Stepper/component.json +129 -0
  585. package/lib/Stepper/index.d.ts +2 -2
  586. package/lib/Switch/component.json +207 -0
  587. package/lib/Switch/index.css +1 -1
  588. package/lib/Switch/index.d.ts +3 -2
  589. package/lib/Switch/index.js +1 -1
  590. package/lib/Switch/style/index.css +1 -1
  591. package/lib/Table/component.json +547 -0
  592. package/lib/Table/index.d.ts +2 -2
  593. package/lib/Table/index.js +1 -1
  594. package/lib/Table/interface.d.ts +30 -0
  595. package/lib/Table/tableHead.js +1 -1
  596. package/lib/Table/util.d.ts +1 -1
  597. package/lib/Table/util.js +1 -1
  598. package/lib/Tabs/component.json +227 -0
  599. package/lib/Tag/component.json +221 -0
  600. package/lib/Tag/index.css +1 -1
  601. package/lib/Tag/index.d.ts +1 -1
  602. package/lib/Tag/index.js +1 -1
  603. package/lib/Tag/style/index.css +1 -1
  604. package/lib/TextEditor/component.json +186 -0
  605. package/lib/TextEditor/index.d.ts +5 -5
  606. package/lib/TextEditor/index.js +1 -1
  607. package/lib/TextField/component.json +290 -0
  608. package/lib/TextField/index.d.ts +2 -2
  609. package/lib/TextField/index.js +1 -1
  610. package/lib/TimePicker/component.json +176 -0
  611. package/lib/Timeline/component.json +110 -0
  612. package/lib/Title/component.json +156 -0
  613. package/lib/ToggleButton/component.json +153 -0
  614. package/lib/ToggleButton/index.js +1 -1
  615. package/lib/Tooltip/component.json +176 -0
  616. package/lib/Tooltip/index.js +1 -1
  617. package/lib/Tooltip/interface.d.ts +14 -1
  618. package/lib/Tooltip/utils.js +1 -1
  619. package/lib/Transfer/component.json +157 -0
  620. package/lib/Tree/OperateBar/index.js +2 -2
  621. package/lib/Tree/Tree.js +1 -1
  622. package/lib/Tree/component.json +512 -0
  623. package/lib/Tree/interface.d.ts +1 -1
  624. package/lib/Upload/component.json +450 -0
  625. package/lib/Upload/util.js +1 -1
  626. package/lib/Utils/snack-kit-shims.d.ts +18 -0
  627. package/lib/Utils/snack-kit-shims.js +2 -0
  628. package/lib/Utils/type.d.ts +0 -2
  629. package/lib/_virtual/index.js +1 -1
  630. package/lib/_virtual/index2.js +1 -1
  631. package/lib/index.d.ts +2 -0
  632. package/lib/index.js +1 -1
  633. package/lib/locale/en_US.d.ts +361 -0
  634. package/lib/locale/en_US.js +2 -0
  635. package/lib/locale/index.d.ts +1 -723
  636. package/lib/locale/index2.js +2 -0
  637. package/lib/locale/zh_CN.d.ts +361 -0
  638. package/lib/locale/zh_CN.js +2 -0
  639. package/lib/node_modules/classnames/index.js +1 -1
  640. package/package.json +11 -4
  641. package/es/_virtual/index3.js +0 -5
  642. package/es/_virtual/index4.js +0 -5
  643. package/es/node_modules/@para-snack/core/dist/index.js +0 -5231
  644. package/lib/_virtual/index3.js +0 -2
  645. package/lib/_virtual/index4.js +0 -2
  646. package/lib/node_modules/@para-snack/core/dist/index.js +0 -20
  647. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  648. /package/es/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
  649. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.d.ts +0 -0
  650. /package/lib/{Utils/Hooks → Hooks}/useResizeObserver.js +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const N=require("../_virtual/jsx-runtime.js"),o=require("react"),S=require("@paraview/lib"),y=require("./util.js"),Fr=require("./tableHead.js"),Hr=require("./tableBody.js"),Or=require("./tablePagination.js"),Lr=require("./tableContainer/index.js"),zr=require("./tableElement/index.js"),Pr=require("../Loading/index.js"),_r=require("../Hooks/useGlobalProps.js"),m=require("../GlobalContext/constant.js"),Wr=require("../GlobalContext/useFormatMessage.js"),Vr=require("./lang/index.js"),Jr=require("../ScrollBar/index.js");;/* empty css */const Ir=require("../Utils/Hooks/useResizeObserver.js"),Br=Ot=>{const s=_r.default(Ot,"Table");S.GetBrowserClass()==="ie"&&(s.fixedColumn=!1);const{className:Le,style:Lt,url:D,ctx:be,emptyProps:ze,method:O="Get",data:xe,page:zt=1,size:L=10,sizeArr:z=[10,20,50,100],search:Pe,pagination:q=!0,paginationType:_e="complex",flippingArrow:We,autoPagination:Ve=!0,tableCell:Je,requestCallback:Ie,checkDefaultValue:X,setCheck:Ce,radioDefaultValue:Y,setRadio:Se,refresh:Pt,disabledArr:Z,disabledArrStatus:Be,headData:Ke=[],sortTableRadio:Ue,sortTable:ee=!1,filter:Ge=!1,expandable:k,rowKey:v="key",check:P=!1,radio:_=!1,checkRememberPage:_t=!1,align:te="left",paramsCallback:re,operate:ne,showColumns:A="inside",fixedTable:W=!0,fixedColumn:F=!0,dragColumn:ye=!0,dragRow:V,formatter:Qe,lineHeight:J=48,lineWidth:ae=80,autoSize:Xe=!0,loadMore:T=!1,loadMoreRender:Ye,onClickMore:Ze,expandValue:et,expandMultiple:tt,disabledExpand:rt,onExpand:nt,defaultExpandAllRows:at=!1,onClickColumns:De,beyondText:se=!0,tipMaxWidth:oe=500,loading:Te,defaultSortValue:st,defaultFilterValue:Wt,searchKeyName:Vt,filterSearchCallback:Jt,onClickRow:ot,rowClassMapping:lt,getPopupContainer:it,onSort:we,onError:It,refreshInside:ct=!!s.url,checkCount:ut=!!s.check,onDragRow:ft,virtual:Re=!1,columnsInfoEvent:dt,onRefreshCallback:le}=s,Bt=Wr.default("Table",Vr.default),ht=s.expirationTime?s.expirationTime===0?1e8:s.expirationTime:7,[I,mt]=o.useState(s.page!==void 0?s.page:1),[B,Kt]=o.useState(null),[gt,Ut]=o.useState(z),[ie,Ne]=o.useState(0),[C,ke]=o.useState([]),[Gt,pt]=o.useState({}),[E,bt]=o.useState({}),[g,Qt]=o.useState(Object.values(st||{})),[b,Xt]=o.useState(Object.keys(st||{})),[ce,K]=o.useState("not"),[x,ve]=o.useState({}),[Ee,Yt]=o.useState(),[j,Zt]=o.useState({}),[er,tr]=o.useState({}),[U,rr]=o.useState([]),[G,xt]=o.useState([]),[$,nr]=o.useState({...Wt}),[ue,H]=o.useState(!0),[Ct,ar]=o.useState(!1),[je]=o.useState(Math.random().toString()),[sr,M]=o.useState(),[or,lr]=o.useState(0),[fe,ir]=o.useState({}),[St,$e]=o.useState({}),[de,yt]=o.useState(!1),[Dt,Tt]=o.useState([0,0]),[cr,wt]=o.useState(0),[Rt,ur]=o.useState(),h=o.useRef(null),Me=o.useRef(null),Q=o.useRef(null),n=o.useRef({page:s.page!==void 0?s.page:1,headDataConfig:{}});Ir.default({dom:Me.current,cb:()=>$r()}),n.current.loadMoreUrl=T&&D,n.current.search=Pe,n.current.url=D,n.current.orderTypeArr=g,n.current.orderFieldArr=b,n.current.selectFilterCom=$,n.current.data=xe,n.current.searchKeyName=Vt,n.current.filterSearchCallback=Jt,n.current.onError=It,n.current.sizeCom=B,n.current.virtual=Re,n.current.expandable=k,o.useEffect(()=>()=>{n.current.isDestroy=!0,clearTimeout(n.current.reqTimer),clearTimeout(n.current.loadingTimer),S.Cancel(je)},[]),o.useEffect(()=>{Te!==void 0&&(clearTimeout(n.current.loadingTimer),n.current.loadingTimer=setTimeout(()=>{H(Te)},50))},[Te]),o.useEffect(()=>{ar(!!(T&&D))},[T,D]),o.useEffect(()=>{s.page!==void 0&&w(s.page)},[zt]),o.useEffect(()=>{if(!Xe)return he(L);if(s.size)he(L);else if(h&&h.current){const e=Nt();z.indexOf(e)===-1&&(z.unshift(e),z.sort((t,r)=>t-r),Ut([...z])),he(e)}},[L,Xe]),o.useEffect(()=>{s.headData!==void 0&&qt(Ke,!1)},[Ke]),o.useEffect(()=>{if(xe){n.current.historyData=[];const e=kt(),t=S.ArrayToObject(v,e);bt(t),M(Math.random())}},[xe]),o.useEffect(()=>{n.current.initReq&&(w(1),n.current.historyData=[])},[Pe,D]),o.useEffect(()=>{n.current.loadMoreUrl?(n.current.historyData=[],w(1)):M(Math.random())},[Pt]),o.useEffect(()=>{clearTimeout(n.current.reqTimer),n.current.url&&S.Cancel(je),n.current.reqTimer=setTimeout(()=>{if(n.current.initReq=!0,n.current.url){let e={};if(q){if(n.current.page===null||n.current.size===null)return;e.size=n.current.size,e.page=n.current.page}if(b.length>0&&(e.orderField=b,e.orderType=g,s.sortTableRadio&&(e.orderField=b[0],e.orderType=g[0])),$&&Object.keys($).length>0){const r=pr();Object.keys(r).length>0&&(e.filter=r)}n.current.search&&typeof n.current.search=="object"&&(e={...e,...n.current.search});const t={url:n.current.url,ctx:be,method:O,data:e};if(O==="Get")if(re)re(t,r=>{const a=y.handGetReqParams(r);me({...r,url:a,ctx:be,method:O})});else{const r=y.handGetReqParams(t);me({url:r,ctx:be,method:O})}O==="Post"&&(re?re(t,r=>{me(r)}):me(t))}if(n.current.data){let e=kt();if(e=fr(e),q){if(n.current.page===null||n.current.size===null)return;const t=e.slice((n.current.page-1)*n.current.size,(n.current.page-1)*n.current.size+n.current.size);ge(t),Ne(e.length)}else ge(e);s.loading===void 0&&H(!1)}},50)},[sr]),o.useEffect(()=>{Y!==void 0&&Y!==Ee&&Yt(Y)},[Y]),o.useEffect(()=>{if(X){const e={};for(let t=0,r=X.length;t<r;t++){const a=X[t];e[a]=!0}ve(e)}},[X]),o.useEffect(()=>{if(Z){const e={};for(let t=0,r=Z.length;t<r;t++){const a=Z[t];e[a]=!0}Zt(e)}},[Z]),o.useEffect(()=>{if(Object.keys(x).length===0)K("not");else{const e=Object.keys(Gt);if(e.length===0)return K("not");let t=e.length,r=0;for(let a=0,i=e.length;a<i;a++){const l=e[a];j[l]?t--:x[l]!==void 0&&r++}if(r===0)return K("not");if(r===t)return K("all");if(r<t)return K("half")}},[x,C,j]),o.useEffect(()=>{Oe()},[Re,C,k]),o.useEffect(()=>{He({target:h.current})});const Nt=()=>{if(!h.current)return L;let e=h.current.clientHeight-48;s.loadMore&&(e-=J);const t=Math.floor(e/J);return t<1?L:t},he=e=>{n.current.size=e,Kt(e),M(Math.random())},w=e=>{n.current.page=e,mt(e),M(Math.random())},kt=()=>{let e=[];return n.current.data instanceof Array?e=n.current.data:e=n.current.data?.list,e},fr=e=>{const t=Object.keys(n.current.selectFilterCom||{}),r=[];for(let a=0,i=e.length;a<i;a++){const l=e[a];let u=!0;if(n.current.filterSearchCallback)u=n.current.filterSearchCallback(l,{search:n.current.search,filter:n.current.selectFilterCom});else{for(let c=0,f=t.length;c<f;c++){const d=t[c],p=n.current.selectFilterCom[d]||[],R=l[d];if(p.length>0&&p.indexOf(R)===-1){u=!1;continue}}u&&(u=dr(l))}u&&r.push(l)}return r},dr=e=>{let t;const r=n.current.search;if(r&&typeof r!="string"&&r.searchKey&&(t=r.searchKey),typeof t=="string"&&n.current.searchKeyName&&n.current.searchKeyName.length>0)for(let a=0,i=n.current.searchKeyName.length;a<i;a++){const l=n.current.searchKeyName[a],u=e[l];if(u&&u.indexOf&&u.indexOf(t)!==-1)return!0}else return!0;return!1},vt=()=>s.tableKey?s.tableKey:s.data?window.location.origin+window.location.pathname+window.location.hash:s.url?`${s.url}_${s.method||"Get"}`:"",Et=()=>s.rememberColumns===!1?{}:y.getLocalStorageSelectHead(vt(),ht),jt=e=>{if(s.rememberColumns===!1)return;const t=Et(),r={headName:t.headName||{},headDataConfig:t.headDataConfig||{},storageTime:new Date().getTime(),validity:ht*(3600*24)};if(e.setFixed){const a=S.ArrayToObject("name",e.headArr||[]);for(let i=0,l=U.length;i<l;i++){const c=U[i].name||"";r.headName[c]=!1,a[c]&&(r.headName[c]=!0)}}e.setDrag&&(r.headDataConfig=e.headDataConfig||{}),y.setLocalStorageSelectHead(vt(),r)},hr=(e,t,r)=>{if(A===!1){t.push(e);return}if(s.rememberColumns===!1)e.selected&&t.push(e);else{const a=r.headName||{},i=e.name||"",l=a[i];l!==void 0?l&&t.push(e):e.selected&&t.push(e)}},$t=e=>{const t={label:Bt({id:"serial"}),selected:!0,width:s.radio||s.check||s.expandable?45:55,fixed:"left",align:"center",className:"table-serial-number",name:"table-serial-number",sort:!1,filter:!1,render:(r,a,i,l,u)=>Number(u)+1};s.serialNumber&&(typeof s.serialNumber=="boolean"?e.unshift(t):e.unshift({...t,...s.serialNumber}))},Mt=e=>{dt&&dt(e)},qt=(e,t)=>{const r=[],a=[],i={},l=Et();n.current.headDataConfig=l.headDataConfig||{};for(let u=0,c=e.length;u<c;u++){const f=e[u],d=f.name||"";typeof f.width=="number"&&(f.width=`${f.width}px`),t||(f.orderNum=u),hr(f,r,l),a.push(f),i[d]=f}t&&(r.sort((u,c)=>Number(u.orderNum)-Number(c.orderNum)),a.sort((u,c)=>Number(u.orderNum)-Number(c.orderNum))),$t(r),Ae(r),xt(r),Mt(r),rr(a),$e({...n.current.headDataConfig}),n.current.headDataJson=i},mr=()=>{let e=0;return s.check&&(e+=48),s.radio&&(s.check?e+=32:e+=48),s.expandable&&(s.check||s.radio?e+=32:e+=48),e},gr=()=>{let e=0;return(s.showColumns==="inside"||s.showColumns===void 0||s.dragRow)&&(e+=53),s.operate&&(s.operate.width?e+=y.getStringInNumber(s.operate.width):s.operate.operateBtnRender?s.dragRow?e+=145:e+=e===0?158:105:e+=ae),e},qe=e=>{let t=e.width||"";const r=e.name||"",a=n.current.headDataConfig[r]&&n.current.headDataConfig[r].width;return a&&(t=a),t},Ae=e=>{const t=[],r=[];let a=0;const i=mr();a+=i;const l=gr();a+=l;const u={leftBol:!1,rightBol:!1};for(let c=0,f=e.length;c<f;c++){const d=e[c];let p=0;const R=qe(d);R?(p=y.getStringInNumber(R),a+=p):a+=ae,d.fixed==="left"&&d.width&&t.push(d),d.fixed==="right"&&d.width&&r.push(d)}if(t.length>0){u.leftBol=!0;let c=i;for(let f=0,d=t.length;f<d;f++){const p=t[f];if(p.width){const R=qe(p),Ar=y.getStringInNumber(R);p.paraui_left_width=c,c+=Ar,f===t.length-1?p.paraui_fixed_left_last=!0:p.paraui_fixed_left_last=!1}}}if(r.length>0){u.rightBol=!0;let c=l;for(let f=r.length-1;f>=0;f--){const d=r[f];if(d.width){const p=qe(d),R=y.getStringInNumber(p);d.paraui_right_width=c,c+=R,f===0?d.paraui_fixed_right_first=!0:d.paraui_fixed_right_first=!1}}}lr(a),ir(u)},pr=()=>{const e={},t=Object.keys($),r=n.current.headDataJson||{};for(let a=0,i=t.length;a<i;a++){const l=t[a],u=$[l]||[];if(u.length===0)continue;const c=r[l];c&&c.filterRadio?e[l]=u[0]:e[l]=u}return e},me=async e=>{e.uuid=je,s.loading===void 0&&H(!0);let{data:t,err:r}=await y.requestFunc(e);if(!n.current.isDestroy){if(r){if(s.loading===void 0&&H(!1),!r.__CANCEL__){let a=!1;if(n.current.onError&&(a=await n.current.onError(r)),!a)return;ke([]),Ne(0),pt({})}return!1}Ie?Ie(t,a=>{a&&(a.data&&(a=a.data),At(a),s.loading===void 0&&H(!1))}):(t.data&&(t=t.data),At(t),s.loading===void 0&&H(!1))}},At=e=>{if(e.columns&&s.headData===void 0&&JSON.stringify(e.columns)!==JSON.stringify(er)){tr(e.columns);const r=Object.keys(e.columns),a=[];for(let i=0,l=r.length;i<l;i++){const u=r[i],c=e.columns[u];c.name=u,c.label=c.displayName,c.filter=c.filterFlag,c.filterRadio=c.filterRadioFlag,c.sort=c.orderFlag,c.selected=c.selectedFlag,c.width=c.width,a.push(c)}qt(a,!0)}if(q)ge(e.list||[]),Ne(e.total),e.page!==void 0&&e.page!==null&&(n.current.page=Number(e.page),mt(Number(e.page)));else{let t=[];e instanceof Array?t=e:t=e.list||[],ge(t)}},ge=e=>{if(n.current.loadMoreUrl){const r=n.current.historyData||[];r.length>0&&(e=[...r,...e])}const t=S.ArrayToObject(v,e);n.current.historyData=e,pt(t),ke(e),D&&bt({...E,...t})},br=e=>{e!==void 0&&w(e),pe()},xr=e=>{e!==void 0&&he(e),w(1),pe()},Cr=e=>{const t=e||Number(I)+1;w(t)},Sr=(e,t)=>{const r=b.indexOf(t);if(r!==-1){const l=g[r];l==="asc"&&(g[r]="desc"),l==="desc"&&(b.splice(r,1),g.splice(r,1)),l===void 0&&(g[r]="asc")}else b.push(t),g.push("asc");let a=[...b],i=[...g];if(Ue){const l=a.indexOf(t);l!==-1&&(a=[a[l]],i=[i[l]])}Xt(a),Qt(i),n.current.orderFieldArr=a,n.current.orderTypeArr=i,we&&we({orderField:a,orderType:i}),n.current.loadMoreUrl&&(n.current.historyData=[],w(1)),M(Math.random())},Fe=e=>{s.checkDefaultValue===void 0&&ve({...e});const t=Object.keys(e);if(Ce){const r=[];for(let a=0,i=t.length;a<i;a++)E[t[a]]&&r.push(E[t[a]]);Ce(t,r)}},Ft=(e,t)=>{const r=s.checkDefaultValue!==void 0?{...x}:x;for(let a=0,i=C.length;a<i;a++){const l=C[a][v];j[l]||(t?r[l]=!0:r[l]&&delete r[l])}Fe(r)},yr=(e,t,r)=>{const a=s.checkDefaultValue!==void 0?{...x}:x;a[r]=t,a[r]===!1&&delete a[r],Fe(a)},Dr=(e,t)=>{Se&&Se(t,E[t])},pe=()=>{_t||(ve({}),Fe({}))},Ht=(e,t,r)=>{Ae(e),xt(e),Mt(e);const a={setFixed:!0,headArr:e};r&&(a.setDrag=!0,a.headDataConfig={}),jt(a),De&&De(e,t)},Tr=(e,t,r)=>{if(t){n.current.headDataConfig={},$e({});const i=[],l=[...U];$t(l);for(let u=0,c=l.length;u<c;u++){const f=l[u];f&&f.selected&&i.push(f)}Ht(i,r,!0);return}e.sort((i,l)=>Number(i.orderNum)-Number(l.orderNum));const a=[...e];Ht(a,r)},wr=e=>{n.current.selectFilterCom=S.DeepClone(e),nr(S.DeepClone(e)),w(1)},Rr=(e,t)=>{const r=e.name||"";n.current.headDataConfig[r]={width:t.width},$e({...n.current.headDataConfig}),Ae([...G]),jt({headDataConfig:n.current.headDataConfig,setDrag:!0})},Nr=(e,t,r)=>{const a=e.splice(t,1)[0];return e.splice(r,0,a),e},kr=async e=>{const{oldIndex:t,newIndex:r}=e;if(t===r)return;const a=[...C||[]];Nr(a,t,r),await ft?.(a,e)||ke(a)},vr=o.useMemo(()=>N.jsxRuntimeExports.jsx(Fr.TableHead,{orderTypeArr:g,orderFieldArr:b,sortTable:ee,filter:Ge,expandable:k,check:P,selectStatus:ce,radio:_,align:te,showList:U,headData:G,selectFilter:$,operate:ne,onRequestSort:Sr,selectAll:Ft,changeShowList:Tr,changeFilter:wr,showColumns:A,rowKey:v,fixedTable:W,fixedColumn:F,posFixed:fe,beyondText:se,lineWidth:ae,dragColumn:ye,dragRow:V,headDataConfig:St,tipMaxWidth:oe,changeColumnWidth:Rr,getPopupContainer:it}),[E,A,v,C,x,j,g,b,ee,Ge,k,P,ce,_,te,U,G,$,ne,De,Ue,W,fe,se,F,ae,ye,V,St,it,we,oe]),Er=o.useMemo(()=>N.jsxRuntimeExports.jsx(Hr.TableBody,{url:D,emptyProps:ze,changePage:Cr,loadMoreUrl:Ct,total:ie,page:I,currentRowsPerPage:B,loadState:ue,loadMore:T,loadMoreRender:Ye,onClickMore:Ze,rowData:C,headData:G,expandable:k,check:P,radio:_,checkJson:x,radioValue:Ee,disabledJson:j,disabledArrStatus:Be,align:te,tableCell:Je,operate:ne,showColumns:A,formatter:Qe,orderTypeArr:g,orderFieldArr:b,sortTable:ee,selectCheck:yr,selectRadio:Dr,rowKey:v,expandMultiple:tt,expandValue:et,disabledExpand:rt,onExpand:nt,defaultExpandAllRows:at,onRefresh:()=>{le?.("empty"),M(Math.random()),pe()},posFixed:fe,beyondText:se,fixedColumn:F,fixedTable:W,onClickRow:ot,rowClassMapping:lt,tipMaxWidth:oe,lineHeight:J,dragRow:V,onDragRow:kr,virtualIndex:Dt,virtual:de}),[A,Qe,v,C,G,k,P,_,x,ee,g,b,Ee,j,te,Je,ne,Se,Ce,E,T,Ye,Ze,ie,I,B,Ct,et,tt,rt,nt,at,ue,ze,D,Be,fe,se,W,F,ot,lt,oe,J,V,ft,Dt,Re,de,le]),jr=o.useMemo(()=>{if(!(n.current.page===null||n.current.size===null||T))return q&&N.jsxRuntimeExports.jsx(Or.TableHead,{paginationType:_e,flippingArrow:We,autoPagination:Ve,total:ie,page:I,currentRowsPerPage:B,rowsPerPage:gt,changePage:br,changeRowsPerPage:xr,refreshInside:ct,checkCount:ut,onRefresh:()=>{le?.("refresh"),M(Math.random()),pe()},selectStatus:ce,selectAll:Ft,checkNumber:Object.keys(x).length,currentPageTotal:C.length,resizePaginationLine:Rt})},[ie,I,B,gt,q,T,Ve,_e,We,ct,ut,ce,C,x,j,E,Rt,le]),He=e=>{const t=Me.current,r=e.target;if(!(!t||!r)&&(t.classList.remove("table-scroll-left","table-scroll-right","table-scroll-middle"),!(r.scrollWidth<=r.clientWidth))){if(r.scrollLeft===0){t.classList.add("table-scroll-left");return}if(r.scrollLeft+r.clientWidth===r.scrollWidth){t.classList.add("table-scroll-right");return}t.classList.add("table-scroll-middle")}},$r=()=>{Oe(),He({target:h.current}),ur(S.UUID())},Oe=()=>{const e=Nt(),t=10;if(n.current.virtual&&!n.current.expandable&&Number(n.current.sizeCom)>e+2*t){if(yt(!0),!Q.current||!h.current)return;const r=Q.current.clientHeight-h.current.clientHeight;h.current.scrollTop>=r&&(h.current.scrollTop=r,wt(r)),wt(h.current.scrollTop);const a=h.current,i=Math.floor(a.scrollTop/J),l=i+e+t;Tt([i,l])}else Tt([0,0]),yt(!1)},Mr=()=>!de||!Q.current||!h.current?null:N.jsxRuntimeExports.jsx(Jr.default,{style:{position:"absolute",top:0,right:0,zIndex:100},scrollTotalLength:Q.current.clientHeight-h.current.clientHeight,scrollLength:cr,onScroll:e=>{h.current&&(h.current.scrollTop=e)}}),qr=()=>{let e=`${m.$prefixCls}-table`;return A==="inside"&&(e+=` ${m.$prefixCls}-table-columns-inside`),q&&(e+=` ${m.$prefixCls}-table-pagination`),T&&(e+=` ${m.$prefixCls}-table-load-more`),W&&(e+=` ${m.$prefixCls}-table-fixed-table`),F&&(e+=` ${m.$prefixCls}-table-fixed-cloumn`),ye&&(e+=` ${m.$prefixCls}-table-drag-column`),V&&(e+=` ${m.$prefixCls}-table-drag-row`),P&&(e+=` ${m.$prefixCls}-table-check`),_&&(e+=` ${m.$prefixCls}-table-radio`),k&&(e+=` ${m.$prefixCls}-table-expandable`),C.length===0&&(e+=` ${m.$prefixCls}-table-no-data`),ue&&(e+=` ${m.$prefixCls}-table-load`),de&&(e+=` ${m.$prefixCls}-virtual`),Le&&(e+=` ${Le}`),e};return N.jsxRuntimeExports.jsxs("div",{className:qr(),style:Lt,ref:Me,children:[N.jsxRuntimeExports.jsx(Lr.TableContainer,{className:"table-contain",cRef:h,onScroll:e=>{Oe(),He(e)},children:N.jsxRuntimeExports.jsxs(zr.TableElement,{cRef:Q,fixedColumn:F,style:{minWidth:`${or}px`},children:[vr,Er]})}),Mr(),ue&&N.jsxRuntimeExports.jsx(Pr.Loading,{}),jr]})};exports.default=Br;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require('./index.css');const w=require("../_virtual/jsx-runtime.js"),o=require("react"),Q=require("@snack-kit/lib"),Ce=require("../Utils/snack-kit-shims.js"),S=require("./util.js"),Hr=require("./tableHead.js"),zr=require("./tableBody.js"),Or=require("./tablePagination.js"),Pr=require("./tableContainer/index.js"),Lr=require("./tableElement/index.js"),_r=require("../Loading/index.js"),Wr=require("../Hooks/useGlobalProps.js"),m=require("../GlobalContext/constant.js"),Vr=require("../GlobalContext/useFormatMessage.js"),Jr=require("./lang/index.js"),Ir=require("../ScrollBar/index.js");;/* empty css */const Br=require("../Hooks/useResizeObserver.js"),Kr=X=>{const s=Wr.default(X,"Table");Ce.GetBrowserClass()==="ie"&&(s.fixedColumn=!1);const{className:Le,style:Pt,url:y,ctx:xe,emptyProps:_e,method:z="Get",data:Se,page:Lt=1,size:O=10,sizeArr:P=[10,20,50,100],search:We,pagination:$=!0,paginationType:Ve="complex",flippingArrow:Je,autoPagination:Ie=!0,tableCell:Be,requestCallback:Ke,checkDefaultValue:Y,setCheck:ye,radioDefaultValue:Z,setRadio:De,refresh:_t,disabledArr:ee,disabledArrStatus:Ue,headData:Ge=[],sortTableRadio:Qe,sortTable:te=!1,filter:Xe=!1,expandable:N,rowKey:k="key",check:L=!1,radio:_=!1,checkRememberPage:Wt=!1,align:re="left",paramsCallback:ne,operate:ae,showColumns:q="inside",fixedTable:W=!0,fixedColumn:A=!0,dragColumn:Te=!0,dragRow:V,formatter:Ye,lineHeight:J=48,lineWidth:se=80,autoSize:Ze=!0,loadMore:D=!1,loadMoreRender:et,onClickMore:tt,expandValue:rt,expandMultiple:nt,disabledExpand:at,onExpand:st,defaultExpandAllRows:ot=!1,onClickColumns:Re,beyondText:oe=!0,tipMaxWidth:le=500,loading:we,defaultSortValue:lt,defaultFilterValue:Vt,searchKeyName:Jt,filterSearchCallback:It,onClickRow:it,rowClassMapping:ct,getPopupContainer:ut,onSort:Ne,onError:Bt,refreshInside:ft=!!s.url,checkCount:dt=!!s.check,onDragRow:ht,virtual:ke=!1,columnsInfoEvent:mt,onRefreshCallback:ie}=s,Kt=Vr.default("Table",Jr.default),gt=s.expirationTime?s.expirationTime===0?1e8:s.expirationTime:7,[I,pt]=o.useState(s.page!==void 0?s.page:1),[F,Ut]=o.useState(null),[bt,Gt]=o.useState(P),[ce,ve]=o.useState(0),[x,Ee]=o.useState([]),[Qt,Ct]=o.useState({}),[v,xt]=o.useState({}),[g,Xt]=o.useState(Object.values(lt||{})),[b,Yt]=o.useState(Object.keys(lt||{})),[ue,B]=o.useState("not"),[C,je]=o.useState({}),[Me,Zt]=o.useState(),[E,er]=o.useState({}),[tr,rr]=o.useState({}),[K,nr]=o.useState([]),[U,St]=o.useState([]),[j,ar]=o.useState({...Vt}),[fe,H]=o.useState(!0),[yt,sr]=o.useState(!1),$e=o.useRef(""),[or,M]=o.useState(),[lr,ir]=o.useState(0),[de,cr]=o.useState({}),[Dt,qe]=o.useState({}),[he,Tt]=o.useState(!1),[Rt,wt]=o.useState([0,0]),[ur,Nt]=o.useState(0),[kt,fr]=o.useState(),h=o.useRef(null),Ae=o.useRef(null),G=o.useRef(null),n=o.useRef({page:s.page!==void 0?s.page:1,headDataConfig:{}});Br.default({dom:Ae.current,cb:()=>$r()}),n.current.loadMoreUrl=D&&y,n.current.search=We,n.current.url=y,n.current.orderTypeArr=g,n.current.orderFieldArr=b,n.current.selectFilterCom=j,n.current.data=Se,n.current.searchKeyName=Jt,n.current.filterSearchCallback=It,n.current.onError=Bt,n.current.sizeCom=F,n.current.virtual=ke,n.current.expandable=N,o.useEffect(()=>()=>{n.current.isDestroy=!0,clearTimeout(n.current.reqTimer),clearTimeout(n.current.loadingTimer),Q.Cancel($e.current)},[]),o.useEffect(()=>{we!==void 0&&(clearTimeout(n.current.loadingTimer),n.current.loadingTimer=setTimeout(()=>{H(we)},50))},[we]),o.useEffect(()=>{sr(!!(D&&y))},[D,y]),o.useEffect(()=>{s.page!==void 0&&T(s.page)},[Lt]),o.useEffect(()=>{if(!Ze)return me(O);if(s.size)me(O);else if(h&&h.current){const e=vt();P.indexOf(e)===-1&&(P.unshift(e),P.sort((t,r)=>t-r),Gt([...P])),me(e)}},[O,Ze]),o.useEffect(()=>{s.headData!==void 0&&Ft(Ge,!1)},[Ge]),o.useEffect(()=>{if(Se){n.current.historyData=[];const e=Et(),t=Ce.ArrayToObject(k,e);xt(t),M(Math.random())}},[Se]),o.useEffect(()=>{n.current.initReq&&(T(1),n.current.historyData=[])},[We,y]),o.useEffect(()=>{n.current.loadMoreUrl?(n.current.historyData=[],T(1)):M(Math.random())},[_t]),o.useEffect(()=>{clearTimeout(n.current.reqTimer),n.current.url&&Q.Cancel($e.current),n.current.reqTimer=setTimeout(()=>{if(n.current.initReq=!0,n.current.url){let e={};if($){if(n.current.page===null||n.current.size===null)return;e.size=n.current.size,e.page=n.current.page}if(b.length>0&&(e.orderField=b,e.orderType=g,s.sortTableRadio&&(e.orderField=b[0],e.orderType=g[0])),j&&Object.keys(j).length>0){const r=br();Object.keys(r).length>0&&(e.filter=r)}n.current.search&&typeof n.current.search=="object"&&(e={...e,...n.current.search});const t={url:n.current.url,ctx:xe,method:z,data:e};if(z==="Get")if(ne)ne(t,r=>{const a=S.handGetReqParams(r);ge({...r,url:a,ctx:xe,method:z})});else{const r=S.handGetReqParams(t);ge({url:r,ctx:xe,method:z})}z==="Post"&&(ne?ne(t,r=>{ge(r)}):ge(t))}if(n.current.data){let e=Et();if(e=dr(e),$){if(n.current.page===null||n.current.size===null)return;const t=e.slice((n.current.page-1)*n.current.size,(n.current.page-1)*n.current.size+n.current.size);pe(t),ve(e.length)}else pe(e);s.loading===void 0&&H(!1)}},50)},[or]),o.useEffect(()=>{Z!==void 0&&Z!==Me&&Zt(Z)},[Z]),o.useEffect(()=>{if(Y){const e={};for(let t=0,r=Y.length;t<r;t++){const a=Y[t];e[a]=!0}je(e)}},[Y]),o.useEffect(()=>{if(ee){const e={};for(let t=0,r=ee.length;t<r;t++){const a=ee[t];e[a]=!0}er(e)}},[ee]),o.useEffect(()=>{if(Object.keys(C).length===0)B("not");else{const e=Object.keys(Qt);if(e.length===0)return B("not");let t=e.length,r=0;for(let a=0,i=e.length;a<i;a++){const l=e[a];E[l]?t--:C[l]!==void 0&&r++}if(r===0)return B("not");if(r===t)return B("all");if(r<t)return B("half")}},[C,x,E]),o.useEffect(()=>{Pe()},[ke,x,N]),o.useEffect(()=>{Oe({target:h.current})});const vt=()=>{if(!h.current)return O;let e=h.current.clientHeight-48;s.loadMore&&(e-=J);const t=Math.floor(e/J);return t<1?O:t},me=e=>{n.current.size=e,Ut(e),M(Math.random()),X.onPageChange?.(n.current.page??1,e)},T=e=>{n.current.page=e,pt(e),M(Math.random()),X.onPageChange?.(e,n.current.size??F??X.size??10)},Et=()=>{let e=[];return n.current.data instanceof Array?e=n.current.data:e=n.current.data?.list,e},dr=e=>{const t=Object.keys(n.current.selectFilterCom||{}),r=[];for(let a=0,i=e.length;a<i;a++){const l=e[a];let u=!0;if(n.current.filterSearchCallback)u=n.current.filterSearchCallback(l,{search:n.current.search,filter:n.current.selectFilterCom});else{for(let c=0,f=t.length;c<f;c++){const d=t[c],p=n.current.selectFilterCom[d]||[],R=l[d];if(p.length>0&&p.indexOf(R)===-1){u=!1;continue}}u&&(u=hr(l))}u&&r.push(l)}return r},hr=e=>{let t;const r=n.current.search;if(r&&typeof r!="string"&&r.searchKey&&(t=r.searchKey),typeof t=="string"&&n.current.searchKeyName&&n.current.searchKeyName.length>0)for(let a=0,i=n.current.searchKeyName.length;a<i;a++){const l=n.current.searchKeyName[a],u=e[l];if(u&&u.indexOf&&u.indexOf(t)!==-1)return!0}else return!0;return!1},jt=()=>s.tableKey?s.tableKey:s.data?window.location.origin+window.location.pathname+window.location.hash:s.url?`${s.url}_${s.method||"Get"}`:"",Mt=()=>s.rememberColumns===!1?{}:S.getLocalStorageSelectHead(jt(),gt),$t=e=>{if(s.rememberColumns===!1)return;const t=Mt(),r={headName:t.headName||{},headDataConfig:t.headDataConfig||{},storageTime:new Date().getTime(),validity:gt*(3600*24)};if(e.setFixed){const a=Ce.ArrayToObject("name",e.headArr||[]);for(let i=0,l=K.length;i<l;i++){const c=K[i].name||"";r.headName[c]=!1,a[c]&&(r.headName[c]=!0)}}e.setDrag&&(r.headDataConfig=e.headDataConfig||{}),S.setLocalStorageSelectHead(jt(),r)},mr=(e,t,r)=>{if(q===!1){t.push(e);return}if(s.rememberColumns===!1)e.selected&&t.push(e);else{const a=r.headName||{},i=e.name||"",l=a[i];l!==void 0?l&&t.push(e):e.selected&&t.push(e)}},qt=e=>{const t={label:Kt({id:"serial"}),selected:!0,width:s.radio||s.check||s.expandable?45:55,fixed:"left",align:"center",className:"table-serial-number",name:"table-serial-number",sort:!1,filter:!1,render:(r,a,i,l,u)=>Number(u)+1};s.serialNumber&&(typeof s.serialNumber=="boolean"?e.unshift(t):e.unshift({...t,...s.serialNumber}))},At=e=>{mt&&mt(e)},Ft=(e,t)=>{const r=[],a=[],i={},l=Mt();n.current.headDataConfig=l.headDataConfig||{};for(let u=0,c=e.length;u<c;u++){const f=e[u],d=f.name||"";typeof f.width=="number"&&(f.width=`${f.width}px`),t||(f.orderNum=u),mr(f,r,l),a.push(f),i[d]=f}t&&(r.sort((u,c)=>Number(u.orderNum)-Number(c.orderNum)),a.sort((u,c)=>Number(u.orderNum)-Number(c.orderNum))),qt(r),He(r),St(r),At(r),nr(a),qe({...n.current.headDataConfig}),n.current.headDataJson=i},gr=()=>{let e=0;return s.check&&(e+=48),s.radio&&(s.check?e+=32:e+=48),s.expandable&&(s.check||s.radio?e+=32:e+=48),e},pr=()=>{let e=0;return(s.showColumns==="inside"||s.showColumns===void 0||s.dragRow)&&(e+=53),s.operate&&(s.operate.width?e+=S.getStringInNumber(s.operate.width):s.operate.operateBtnRender?s.dragRow?e+=145:e+=e===0?158:105:e+=se),e},Fe=e=>{let t=e.width||"";const r=e.name||"",a=n.current.headDataConfig[r]&&n.current.headDataConfig[r].width;return a&&(t=a),t},He=e=>{const t=[],r=[];let a=0;const i=gr();a+=i;const l=pr();a+=l;const u={leftBol:!1,rightBol:!1};for(let c=0,f=e.length;c<f;c++){const d=e[c];let p=0;const R=Fe(d);R?(p=S.getStringInNumber(R),a+=p):a+=se,d.fixed==="left"&&d.width&&t.push(d),d.fixed==="right"&&d.width&&r.push(d)}if(t.length>0){u.leftBol=!0;let c=i;for(let f=0,d=t.length;f<d;f++){const p=t[f];if(p.width){const R=Fe(p),Fr=S.getStringInNumber(R);p.paraui_left_width=c,c+=Fr,f===t.length-1?p.paraui_fixed_left_last=!0:p.paraui_fixed_left_last=!1}}}if(r.length>0){u.rightBol=!0;let c=l;for(let f=r.length-1;f>=0;f--){const d=r[f];if(d.width){const p=Fe(d),R=S.getStringInNumber(p);d.paraui_right_width=c,c+=R,f===0?d.paraui_fixed_right_first=!0:d.paraui_fixed_right_first=!1}}}ir(a),cr(u)},br=()=>{const e={},t=Object.keys(j),r=n.current.headDataJson||{};for(let a=0,i=t.length;a<i;a++){const l=t[a],u=j[l]||[];if(u.length===0)continue;const c=r[l];c&&c.filterRadio?e[l]=u[0]:e[l]=u}return e},ge=async e=>{e.onCancelId=a=>{$e.current=a},s.loading===void 0&&H(!0);let{data:t,error:r}=await S.requestFunc(e);if(!n.current.isDestroy){if(r){if(s.loading===void 0&&H(!1),!r.__CANCEL__){let a=!1;if(n.current.onError&&(a=await n.current.onError(r)),!a)return;Ee([]),ve(0),Ct({})}return!1}Ke?Ke(t,a=>{a&&(a.data&&(a=a.data),Ht(a),s.loading===void 0&&H(!1))}):(t.data&&(t=t.data),Ht(t),s.loading===void 0&&H(!1))}},Ht=e=>{if(e.columns&&s.headData===void 0&&JSON.stringify(e.columns)!==JSON.stringify(tr)){rr(e.columns);const r=Object.keys(e.columns),a=[];for(let i=0,l=r.length;i<l;i++){const u=r[i],c=e.columns[u];c.name=u,c.label=c.displayName,c.filter=c.filterFlag,c.filterRadio=c.filterRadioFlag,c.sort=c.orderFlag,c.selected=c.selectedFlag,c.width=c.width,a.push(c)}Ft(a,!0)}if($)pe(e.list||[]),ve(e.total),e.page!==void 0&&e.page!==null&&(n.current.page=Number(e.page),pt(Number(e.page)));else{let t=[];e instanceof Array?t=e:t=e.list||[],pe(t)}},pe=e=>{if(n.current.loadMoreUrl){const r=n.current.historyData||[];r.length>0&&(e=[...r,...e])}const t=Ce.ArrayToObject(k,e);n.current.historyData=e,Ct(t),Ee(e),y&&xt({...v,...t})},Cr=e=>{e!==void 0&&T(e),be()},xr=e=>{e!==void 0&&me(e),T(1),be()},Sr=e=>{const t=e||Number(I)+1;T(t)},yr=(e,t)=>{const r=b.indexOf(t);if(r!==-1){const l=g[r];l==="asc"&&(g[r]="desc"),l==="desc"&&(b.splice(r,1),g.splice(r,1)),l===void 0&&(g[r]="asc")}else b.push(t),g.push("asc");let a=[...b],i=[...g];if(Qe){const l=a.indexOf(t);l!==-1&&(a=[a[l]],i=[i[l]])}Yt(a),Xt(i),n.current.orderFieldArr=a,n.current.orderTypeArr=i,Ne&&Ne({orderField:a,orderType:i}),n.current.loadMoreUrl&&(n.current.historyData=[],T(1)),M(Math.random())},ze=e=>{s.checkDefaultValue===void 0&&je({...e});const t=Object.keys(e);if(ye){const r=[];for(let a=0,i=t.length;a<i;a++)v[t[a]]&&r.push(v[t[a]]);ye(t,r)}},zt=(e,t)=>{const r=s.checkDefaultValue!==void 0?{...C}:C;for(let a=0,i=x.length;a<i;a++){const l=x[a][k];E[l]||(t?r[l]=!0:r[l]&&delete r[l])}ze(r)},Dr=(e,t,r)=>{const a=s.checkDefaultValue!==void 0?{...C}:C;a[r]=t,a[r]===!1&&delete a[r],ze(a)},Tr=(e,t)=>{De&&De(t,v[t])},be=()=>{Wt||(je({}),ze({}))},Ot=(e,t,r)=>{He(e),St(e),At(e);const a={setFixed:!0,headArr:e};r&&(a.setDrag=!0,a.headDataConfig={}),$t(a),Re&&Re(e,t)},Rr=(e,t,r)=>{if(t){n.current.headDataConfig={},qe({});const i=[],l=[...K];qt(l);for(let u=0,c=l.length;u<c;u++){const f=l[u];f&&f.selected&&i.push(f)}Ot(i,r,!0);return}e.sort((i,l)=>Number(i.orderNum)-Number(l.orderNum));const a=[...e];Ot(a,r)},wr=e=>{n.current.selectFilterCom=Q.DeepClone(e),ar(Q.DeepClone(e)),T(1)},Nr=(e,t)=>{const r=e.name||"";n.current.headDataConfig[r]={width:t.width},qe({...n.current.headDataConfig}),He([...U]),$t({headDataConfig:n.current.headDataConfig,setDrag:!0})},kr=(e,t,r)=>{const a=e.splice(t,1)[0];return e.splice(r,0,a),e},vr=async e=>{const{oldIndex:t,newIndex:r}=e;if(t===r)return;const a=[...x||[]];kr(a,t,r),await ht?.(a,e)||Ee(a)},Er=o.useMemo(()=>w.jsxRuntimeExports.jsx(Hr.TableHead,{orderTypeArr:g,orderFieldArr:b,sortTable:te,filter:Xe,expandable:N,check:L,selectStatus:ue,radio:_,align:re,showList:K,headData:U,selectFilter:j,operate:ae,onRequestSort:yr,selectAll:zt,changeShowList:Rr,changeFilter:wr,showColumns:q,rowKey:k,fixedTable:W,fixedColumn:A,posFixed:de,beyondText:oe,lineWidth:se,dragColumn:Te,dragRow:V,headDataConfig:Dt,tipMaxWidth:le,changeColumnWidth:Nr,getPopupContainer:ut}),[v,q,k,x,C,E,g,b,te,Xe,N,L,ue,_,re,K,U,j,ae,Re,Qe,W,de,oe,A,se,Te,V,Dt,ut,Ne,le]),jr=o.useMemo(()=>w.jsxRuntimeExports.jsx(zr.TableBody,{url:y,emptyProps:_e,changePage:Sr,loadMoreUrl:yt,total:ce,page:I,currentRowsPerPage:F,loadState:fe,loadMore:D,loadMoreRender:et,onClickMore:tt,rowData:x,headData:U,expandable:N,check:L,radio:_,checkJson:C,radioValue:Me,disabledJson:E,disabledArrStatus:Ue,align:re,tableCell:Be,operate:ae,showColumns:q,formatter:Ye,orderTypeArr:g,orderFieldArr:b,sortTable:te,selectCheck:Dr,selectRadio:Tr,rowKey:k,expandMultiple:nt,expandValue:rt,disabledExpand:at,onExpand:st,defaultExpandAllRows:ot,onRefresh:()=>{ie?.("empty"),M(Math.random()),be()},posFixed:de,beyondText:oe,fixedColumn:A,fixedTable:W,onClickRow:it,rowClassMapping:ct,tipMaxWidth:le,lineHeight:J,dragRow:V,onDragRow:vr,virtualIndex:Rt,virtual:he}),[q,Ye,k,x,U,N,L,_,C,te,g,b,Me,E,re,Be,ae,De,ye,v,D,et,tt,ce,I,F,yt,rt,nt,at,st,ot,fe,_e,y,Ue,de,oe,W,A,it,ct,le,J,V,ht,Rt,ke,he,ie]),Mr=o.useMemo(()=>{if(!(n.current.page===null||n.current.size===null||D))return $&&w.jsxRuntimeExports.jsx(Or.TableHead,{paginationType:Ve,flippingArrow:Je,autoPagination:Ie,total:ce,page:I,currentRowsPerPage:F,rowsPerPage:bt,changePage:Cr,changeRowsPerPage:xr,refreshInside:ft,checkCount:dt,onRefresh:()=>{ie?.("refresh"),M(Math.random()),be()},selectStatus:ue,selectAll:zt,checkNumber:Object.keys(C).length,currentPageTotal:x.length,resizePaginationLine:kt})},[ce,I,F,bt,$,D,Ie,Ve,Je,ft,dt,ue,x,C,E,v,kt,ie]),Oe=e=>{const t=Ae.current,r=e.target;if(!(!t||!r)&&(t.classList.remove("table-scroll-left","table-scroll-right","table-scroll-middle"),!(r.scrollWidth<=r.clientWidth))){if(r.scrollLeft===0){t.classList.add("table-scroll-left");return}if(r.scrollLeft+r.clientWidth===r.scrollWidth){t.classList.add("table-scroll-right");return}t.classList.add("table-scroll-middle")}},$r=()=>{Pe(),Oe({target:h.current}),fr(Q.UUID())},Pe=()=>{const e=vt(),t=10;if(n.current.virtual&&!n.current.expandable&&Number(n.current.sizeCom)>e+2*t){if(Tt(!0),!G.current||!h.current)return;const r=G.current.clientHeight-h.current.clientHeight;h.current.scrollTop>=r&&(h.current.scrollTop=r,Nt(r)),Nt(h.current.scrollTop);const a=h.current,i=Math.floor(a.scrollTop/J),l=i+e+t;wt([i,l])}else wt([0,0]),Tt(!1)},qr=()=>!he||!G.current||!h.current?null:w.jsxRuntimeExports.jsx(Ir.default,{style:{position:"absolute",top:0,right:0,zIndex:100},scrollTotalLength:G.current.clientHeight-h.current.clientHeight,scrollLength:ur,onScroll:e=>{h.current&&(h.current.scrollTop=e)}}),Ar=()=>{let e=`${m.$prefixCls}-table`;return q==="inside"&&(e+=` ${m.$prefixCls}-table-columns-inside`),$&&(e+=` ${m.$prefixCls}-table-pagination`),D&&(e+=` ${m.$prefixCls}-table-load-more`),W&&(e+=` ${m.$prefixCls}-table-fixed-table`),A&&(e+=` ${m.$prefixCls}-table-fixed-cloumn`),Te&&(e+=` ${m.$prefixCls}-table-drag-column`),V&&(e+=` ${m.$prefixCls}-table-drag-row`),L&&(e+=` ${m.$prefixCls}-table-check`),_&&(e+=` ${m.$prefixCls}-table-radio`),N&&(e+=` ${m.$prefixCls}-table-expandable`),x.length===0&&(e+=` ${m.$prefixCls}-table-no-data`),fe&&(e+=` ${m.$prefixCls}-table-load`),he&&(e+=` ${m.$prefixCls}-virtual`),Le&&(e+=` ${Le}`),e};return w.jsxRuntimeExports.jsxs("div",{className:Ar(),style:Pt,ref:Ae,children:[w.jsxRuntimeExports.jsx(Pr.TableContainer,{className:"table-contain",cRef:h,onScroll:e=>{Pe(),Oe(e)},children:w.jsxRuntimeExports.jsxs(Lr.TableElement,{cRef:G,fixedColumn:A,style:{minWidth:`${lr}px`},children:[Er,jr]})}),qr(),fe&&w.jsxRuntimeExports.jsx(_r.Loading,{}),Mr]})},Ur=Kr;exports.default=Ur;
2
2
  //# sourceMappingURL=index.js.map
@@ -77,6 +77,16 @@ export interface HeadDataProps<T = unknown> {
77
77
  tipMaxWidth?: number | string;
78
78
  /** 排序,请求才有 */
79
79
  orderNum?: number;
80
+ /** 自定义内联样式 */
81
+ style?: React.CSSProperties;
82
+ /** @internal Table 内部计算字段:左固定列累计宽度(运行时挂载,业务侧请勿设置) */
83
+ paraui_left_width?: number;
84
+ /** @internal Table 内部计算字段:右固定列累计宽度(运行时挂载,业务侧请勿设置) */
85
+ paraui_right_width?: number;
86
+ /** @internal Table 内部计算字段:是否为左固定列最后一列(用于阴影) */
87
+ paraui_fixed_left_last?: boolean;
88
+ /** @internal Table 内部计算字段:是否为右固定列第一列(用于阴影) */
89
+ paraui_fixed_right_first?: boolean;
80
90
  }
81
91
  /** 远程数据的表头显示列 */
82
92
  export interface HeadDataReqProps {
@@ -92,6 +102,18 @@ export interface HeadDataReqProps {
92
102
  orderFlag?: boolean;
93
103
  /** 表头是否显示该字段 */
94
104
  selectedFlag?: boolean;
105
+ /** @internal Table 内部从 displayName/filterFlag 等映射后写入的字段(与 HeadDataProps 一致),业务侧无需设置 */
106
+ name?: string;
107
+ /** @internal */
108
+ label?: ReactNode;
109
+ /** @internal */
110
+ filter?: boolean;
111
+ /** @internal */
112
+ filterRadio?: boolean;
113
+ /** @internal */
114
+ sort?: boolean;
115
+ /** @internal */
116
+ selected?: boolean;
95
117
  }
96
118
  /** 固定列/拖拽 位置信息 */
97
119
  export interface PosFixedProps {
@@ -302,6 +324,12 @@ export interface TableProps<T = unknown> extends TableHeadBodyPublicProps<T> {
302
324
  * 内部刷新事件回调
303
325
  * */
304
326
  onRefreshCallback?: (type: 'empty' | 'refresh') => void;
327
+ /**
328
+ * 分页变化回调(DEFECT-003 修复)。本地 data 模式 + 远程 url 模式都触发;
329
+ * 用户切换页码或每页条数时调用——参数为新的 (page, size)。
330
+ * 未传时不影响任何现有行为;与远程模式 requestCallback 互不干扰,可同时使用。
331
+ * */
332
+ onPageChange?: (page: number, size: number) => void;
305
333
  }
306
334
  export interface ExpandableRowItem {
307
335
  /** 当前嵌套行id */
@@ -323,6 +351,8 @@ export interface ReqProps {
323
351
  ctx?: string;
324
352
  /** 请求参数 */
325
353
  data?: Record<string, unknown> | Anyjson;
354
+ /** 接收 cancel id 的回调(来自 @snack-kit/lib HTTP API;Table 内部赋值,业务侧无需设置) */
355
+ onCancelId?: (id: string) => void;
326
356
  }
327
357
  /** 显示列LocalStorage item */
328
358
  export interface HeadLocalStorageItem {
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("../_virtual/jsx-runtime.js"),a=require("react"),qe=require("./tableHeadElement/index.js"),Me=require("./trElement/index.js"),j=require("./thElement/index.js"),se=require("../Popover/index.js"),V=require("../Checkbox/index.js"),J=require("../Button/index.js"),F=require("../AutoTips/index.js"),z=require("@paraview/lib"),Fe=require("../node_modules/@para-ui/icons/ScreenF/index.js"),De=require("../node_modules/@para-ui/icons/UpTriangleF/index.js"),_e=require("../node_modules/@para-ui/icons/DownTriangleF/index.js"),Be=require("../node_modules/@para-ui/icons/Panel/index.js"),He=require("./lang/index.js"),Pe=require("../GlobalContext/useFormatMessage.js"),k=require("../GlobalContext/constant.js"),We=require("../Empty/index.js"),ne=re=>{const{headData:f=[],sortTable:S,filter:D,expandable:h,check:_,radio:N,onRequestSort:I,orderFieldArr:U=[],orderTypeArr:B=[],selectAll:H,selectStatus:y,align:$,showList:G=[],changeShowList:g,selectFilter:E,changeFilter:R,operate:c,showColumns:m,fixedTable:ie,fixedColumn:o,posFixed:d,beyondText:q,lineWidth:K,dragColumn:Q,dragRow:M,changeColumnWidth:P,headDataConfig:W,getPopupContainer:v,tipMaxWidth:p}=re,[X,O]=a.useState(!1),[Y,A]=a.useState(!1),[Z,ee]=a.useState(null),[w,le]=a.useState({}),[x,T]=a.useState({}),[u,C]=a.useState({}),L=Pe.default("Table",He.default);a.useEffect(()=>{y==="all"&&(A(!0),O(!1)),y==="half"&&(A(!1),O(!0)),y==="not"&&(A(!1),O(!1))},[y]),a.useEffect(()=>{if(f){const e={};for(let s=0,r=f.length;s<r;s++){const l=f[s];e[l.name]=l}le(e)}},[f]),a.useEffect(()=>{E&&C(z.DeepClone(E))},[E]);const ae=(e,s)=>r=>{S&&s.name&&s.sort!==!1&&I&&I(r,e)},oe=(e,s)=>{H&&H(e,s)},ce=e=>{ee(e.currentTarget)},de=e=>{e||ee(null)},xe=e=>()=>{if(e.disabledSelection)return;const s=e.name;if(w[s]){delete w[s];const l=Object.keys(w),t=[];for(let i=0,b=l.length;i<b;i++){const $e=l[i];t.push(w[$e])}g&&g(t,!1,e)}else f.push(e),g&&g(f,!1,e)},ue=()=>{g&&g(f,!0)},fe=e=>s=>{T(e),C({...E})},me=e=>{e||(T({}),C({...E}))},he=e=>()=>{const s=x.name;let r=z.DeepClone(u[s]||[]);const l=r.indexOf(e.value);if(l!==-1?r.splice(l,1):r.push(e.value),x.filterRadio){const i=r.indexOf(e.value);i!==-1&&(r=[r[i]])}u[s]=r,C({...u})},te=e=>()=>{if(e==="confirm")R&&R({...u}),T({});else{const s=z.DeepClone(u);delete s[x.name],C(s),R&&R({...s}),T({})}},pe=(e={})=>{R&&R({...e}),T({})},be=e=>{let s="table-header-box";if(S&&e.name&&e.sort!==!1){s+=" table-header-box-sort";const r=U.indexOf(e.name);r!==-1&&(B[r]==="asc"&&(s+=" table-header-box-sort-asc"),B[r]==="desc"&&(s+=" table-header-box-sort-desc"))}return D&&e.name&&e.filter&&(s+=" table-header-box-filter"),s},je=a.useMemo(()=>{if(_){const e=()=>{let s="table-checkbox table-head-btn";return o&&(s+=" table-fixed-dom-left",!d?.leftBol&&!N&&!h&&(s+=" table-fixed-dom-left-last")),s};return n.jsxRuntimeExports.jsx(j.ThElement,{align:"center",className:e(),draggable:!1,children:n.jsxRuntimeExports.jsx("div",{className:"table-header-box",children:n.jsxRuntimeExports.jsx(V.Checkbox,{indeterminate:X,checked:Y,onChange:oe})})})}},[_,X,Y,H,d,N,h,o]),ge=a.useMemo(()=>{if(N){const e=()=>{let s="table-radio table-head-btn";return o&&(s+=" table-fixed-dom-left",!d?.leftBol&&!h&&(s+=" table-fixed-dom-left-last")),s};return n.jsxRuntimeExports.jsx(j.ThElement,{align:"center",className:e(),draggable:!1,children:n.jsxRuntimeExports.jsx("div",{className:"table-header-box"})})}},[N,d,h,o]),Ee=a.useMemo(()=>{if(h){const e=()=>{let s="table-expandable table-head-btn";return o&&(s+=" table-fixed-dom-left",d?.leftBol||(s+=" table-fixed-dom-left-last")),s};return n.jsxRuntimeExports.jsx(j.ThElement,{align:"center",className:e(),draggable:!1,children:n.jsxRuntimeExports.jsx("div",{className:"table-header-box"})})}},[h,d,o]),Re=()=>{const e=x.name;if(!e)return;const s=u[e]||[];if(x.filterRender)return x.filterRender({filterValue:s,selectFilter:u,headData:x,setFilter:pe});const r=x.enums||[];let l="filter-select";return r.length===0&&(l+=" filter-select-none"),n.jsxRuntimeExports.jsx("div",{className:l,children:r.length===0?n.jsxRuntimeExports.jsx(We.default,{size:"small",imageStyle:{width:"80px",height:"80px"}}):n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[n.jsxRuntimeExports.jsx("div",{className:"filter-select-box",children:r.map((t,i)=>{const b=s.indexOf(t.value)!==-1;return n.jsxRuntimeExports.jsxs("div",{onClick:he(t),className:b?"filter-select-item filter-select-item-select":"filter-select-item",children:[n.jsxRuntimeExports.jsx(V.Checkbox,{checked:b}),n.jsxRuntimeExports.jsx("span",{children:n.jsxRuntimeExports.jsx(F.default,{tipMaxWidth:p,children:t.displayName})})]},i)})}),n.jsxRuntimeExports.jsxs("div",{className:"filter-select-footer",children:[n.jsxRuntimeExports.jsx(J.Button,{onClick:te("reset"),variant:"text",children:L({id:"empty"})}),n.jsxRuntimeExports.jsx(J.Button,{onClick:te("confirm"),variant:"text",children:L({id:"determine"})})]})]})})},ve=e=>s=>{P&&P(e,s)},we=e=>{let s=e.width||"";const r=e.name||"",l=W[r]&&W[r].width;return l&&(s=`${l}px`),s},Ne=a.useMemo(()=>{const e=t=>{let i="table-header-filter";return x.name===t.name&&(i+=" table-header-filter-show"),t.name&&u[t.name]&&u[t.name].length>0&&(i+=" table-header-filter-select"),i},s=t=>{let i="";return t.className&&(i+=t.className),o&&t.fixed&&(i+=` table-fixed-dom-${t.fixed}`,t.fixed==="left"&&t.paraui_fixed_left_last&&(i+=" table-fixed-dom-left-last"),t.fixed==="right"&&t.paraui_fixed_right_first&&(i+=" table-fixed-dom-right-first")),i},r=t=>{const i={width:we(t)};return o&&t.fixed&&t.width&&(t.fixed==="left"&&(i.left=`${t.paraui_left_width}px`),t.fixed==="right"&&(i.right=`${t.paraui_right_width}px`)),{...i,...t.style}},l=t=>t.name==="table-serial-number"?!1:!!(Q&&t.drag!==!1);return f.map((t,i)=>{let b=`${k.$prefixCls}-filter-popover ${k.$prefixCls}-scrollbar-small`;return t.filterRender||(b+=` ${k.$prefixCls}-filter-popover-default`),n.jsxRuntimeExports.jsx(j.ThElement,{className:s(t),align:t.align||$,style:r(t),draggable:l(t),headCell:t,onDragDown:ve(t),lineWidth:K,children:n.jsxRuntimeExports.jsx(se.Popover,{placement:"bottom-start",visible:t.name!==void 0&&x.name===t.name,content:t.name!==void 0&&x.name===t.name&&Re(),onVisibleChange:me,overlayClassName:b,getPopupContainer:v||(()=>document.body),maxWidth:t.filterMaxWidth,children:n.jsxRuntimeExports.jsxs("div",{className:be(t),children:[n.jsxRuntimeExports.jsx("div",{className:"table-header-title",children:n.jsxRuntimeExports.jsx("span",{className:"table-header-title-label",children:n.jsxRuntimeExports.jsx(F.default,{beyondText:t.beyondText===void 0?q:t.beyondText,tipMaxWidth:t.tipMaxWidth!==void 0?t.tipMaxWidth:p,children:t.label})})}),D&&t.name&&t.filter&&n.jsxRuntimeExports.jsx("div",{className:e(t),onClick:fe(t),children:n.jsxRuntimeExports.jsx("span",{children:n.jsxRuntimeExports.jsx(Fe.ScreenF,{})})}),S&&t.name&&t.sort!==!1&&n.jsxRuntimeExports.jsx("div",{className:"table-sort-svg",children:n.jsxRuntimeExports.jsxs("span",{onClick:ae(t.name,t),children:[n.jsxRuntimeExports.jsx(De.UpTriangleF,{className:"up-svg"}),n.jsxRuntimeExports.jsx(_e.DownTriangleF,{className:"down-svg"})]})})]})})},t.name||i)})},[f,S,D,U,B,$,x,u,q,E,o,K,Q,P,W,v,p]),Te=a.useMemo(()=>{if(c){const e=()=>{let r="table-operate";return c.operateBtnRender&&(r+=" table-operate-small"),m===!1&&(r+=" table-operate-not-columns"),M&&(r+=" table-operate-drag-row"),o&&(r+=" table-fixed-dom-right",d?.rightBol||(r+=" table-fixed-dom-right-first")),r},s=()=>{const r={width:c.width};return o&&(r.right=m==="inside"?"53px":"0px"),{...r,...c.style}};return n.jsxRuntimeExports.jsx(j.ThElement,{align:c.align||$,style:s(),className:e(),draggable:!1,children:n.jsxRuntimeExports.jsx("div",{className:"table-header-box",children:n.jsxRuntimeExports.jsx("div",{className:"table-header-title",children:n.jsxRuntimeExports.jsx("span",{className:"table-header-title-label",children:n.jsxRuntimeExports.jsx(F.default,{beyondText:c.beyondText===void 0?q:c.beyondText,tipMaxWidth:p,children:c.label})})})})})}},[c,$,d,m,d,q,o,p,M]),Ce=()=>n.jsxRuntimeExports.jsxs("div",{className:"show-colums-select",children:[n.jsxRuntimeExports.jsx("div",{className:"show-colums-select-box",children:G.map((e,s)=>{const r=!!w[e.name];let l="show-colums-select-item";return r&&(l+=" show-colums-select-item-select"),e.disabledSelection&&(l+=" show-colums-select-item-disabled"),n.jsxRuntimeExports.jsxs("div",{onClick:xe(e),className:l,children:[n.jsxRuntimeExports.jsx(V.Checkbox,{checked:r,disabled:e.disabledSelection}),n.jsxRuntimeExports.jsx("span",{children:n.jsxRuntimeExports.jsx(F.default,{tipMaxWidth:p,children:e.label})})]},s)})}),n.jsxRuntimeExports.jsx("div",{className:"show-colums-select-footer",children:n.jsxRuntimeExports.jsx(J.Button,{variant:"text",onClick:ue,children:L({id:"restoreDefault"})})})]}),ke=a.useMemo(()=>{const e=()=>{let s="show-colums table-fixed-dom-right";return(!o||!c&&!d?.rightBol)&&(s+=" table-fixed-dom-right-first"),s};return m==="inside"&&n.jsxRuntimeExports.jsx(se.Popover,{placement:"bottom-end",visible:!!Z,content:Ce(),onVisibleChange:de,overlayClassName:`${k.$prefixCls}-table-show-colums-popover ${k.$prefixCls}-scrollbar-small`,getPopupContainer:v||(()=>document.body),children:n.jsxRuntimeExports.jsx(j.ThElement,{align:"center",className:e(),onClick:ce,draggable:!1,children:n.jsxRuntimeExports.jsx("div",{className:"table-header-box",children:n.jsxRuntimeExports.jsx(Be.Panel,{})})})})},[m,d,c,Z,G,w,v,p]),Se=a.useMemo(()=>{if(!M||c||m==="inside")return null;const e=()=>{let s="drag-row table-fixed-dom-right";return(!o||!c&&!d?.rightBol)&&(s+=" table-fixed-dom-right-first"),s};return n.jsxRuntimeExports.jsx(j.ThElement,{align:"center",className:e(),draggable:!1})},[c,m,o,d,M]),ye=()=>{let e="table-head";return m==="inside"&&(e+=" table-head-inside"),ie||(e+=" table-head-scroll"),!_&&!N&&!h&&(e+=" table-head-no-btn"),e};return n.jsxRuntimeExports.jsx(qe.TableHeadElement,{className:ye(),children:n.jsxRuntimeExports.jsxs(Me.TrElement,{children:[je,ge,Ee,Ne,Te,ke,Se]})})};exports.TableHead=ne;exports.default=ne;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("../_virtual/jsx-runtime.js"),a=require("react"),Me=require("./tableHeadElement/index.js"),qe=require("./trElement/index.js"),j=require("./thElement/index.js"),se=require("../Popover/index.js"),V=require("../Checkbox/index.js"),J=require("../Button/index.js"),F=require("../AutoTips/index.js"),z=require("@snack-kit/lib"),Fe=require("../node_modules/@para-ui/icons/ScreenF/index.js"),De=require("../node_modules/@para-ui/icons/UpTriangleF/index.js"),_e=require("../node_modules/@para-ui/icons/DownTriangleF/index.js"),Be=require("../node_modules/@para-ui/icons/Panel/index.js"),He=require("./lang/index.js"),Pe=require("../GlobalContext/useFormatMessage.js"),k=require("../GlobalContext/constant.js"),We=require("../Empty/index.js"),ne=re=>{const{headData:f=[],sortTable:S,filter:D,expandable:h,check:_,radio:N,onRequestSort:I,orderFieldArr:U=[],orderTypeArr:B=[],selectAll:H,selectStatus:y,align:$,showList:G=[],changeShowList:g,selectFilter:E,changeFilter:R,operate:c,showColumns:m,fixedTable:ie,fixedColumn:o,posFixed:d,beyondText:M,lineWidth:K,dragColumn:Q,dragRow:q,changeColumnWidth:P,headDataConfig:W,getPopupContainer:v,tipMaxWidth:b}=re,[X,O]=a.useState(!1),[Y,A]=a.useState(!1),[Z,ee]=a.useState(null),[w,le]=a.useState({}),[x,T]=a.useState({}),[u,C]=a.useState({}),L=Pe.default("Table",He.default);a.useEffect(()=>{y==="all"&&(A(!0),O(!1)),y==="half"&&(A(!1),O(!0)),y==="not"&&(A(!1),O(!1))},[y]),a.useEffect(()=>{if(f){const e={};for(let s=0,r=f.length;s<r;s++){const l=f[s];e[l.name]=l}le(e)}},[f]),a.useEffect(()=>{E&&C(z.DeepClone(E))},[E]);const ae=(e,s)=>r=>{S&&s.name&&s.sort!==!1&&I&&I(r,e)},oe=(e,s)=>{H&&H(e,s)},ce=e=>{ee(e.currentTarget)},de=e=>{e||ee(null)},xe=e=>()=>{if(e.disabledSelection)return;const s=e.name;if(w[s]){delete w[s];const l=Object.keys(w),t=[];for(let i=0,p=l.length;i<p;i++){const $e=l[i];t.push(w[$e])}g&&g(t,!1,e)}else f.push(e),g&&g(f,!1,e)},ue=()=>{g&&g(f,!0)},fe=e=>s=>{T(e),C({...E})},me=e=>{e||(T({}),C({...E}))},he=e=>()=>{const s=x.name;let r=z.DeepClone(u[s]||[]);const l=r.indexOf(e.value);if(l!==-1?r.splice(l,1):r.push(e.value),x.filterRadio){const i=r.indexOf(e.value);i!==-1&&(r=[r[i]])}u[s]=r,C({...u})},te=e=>()=>{if(e==="confirm")R&&R({...u}),T({});else{const s=z.DeepClone(u);delete s[x.name],C(s),R&&R({...s}),T({})}},be=(e={})=>{R&&R({...e}),T({})},pe=e=>{let s="table-header-box";if(S&&e.name&&e.sort!==!1){s+=" table-header-box-sort";const r=U.indexOf(e.name);r!==-1&&(B[r]==="asc"&&(s+=" table-header-box-sort-asc"),B[r]==="desc"&&(s+=" table-header-box-sort-desc"))}return D&&e.name&&e.filter&&(s+=" table-header-box-filter"),s},je=a.useMemo(()=>{if(_){const e=()=>{let s="table-checkbox table-head-btn";return o&&(s+=" table-fixed-dom-left",!d?.leftBol&&!N&&!h&&(s+=" table-fixed-dom-left-last")),s};return n.jsxRuntimeExports.jsx(j.ThElement,{align:"center",className:e(),draggable:!1,children:n.jsxRuntimeExports.jsx("div",{className:"table-header-box",children:n.jsxRuntimeExports.jsx(V.Checkbox,{indeterminate:X,checked:Y,onChange:oe})})})}},[_,X,Y,H,d,N,h,o]),ge=a.useMemo(()=>{if(N){const e=()=>{let s="table-radio table-head-btn";return o&&(s+=" table-fixed-dom-left",!d?.leftBol&&!h&&(s+=" table-fixed-dom-left-last")),s};return n.jsxRuntimeExports.jsx(j.ThElement,{align:"center",className:e(),draggable:!1,children:n.jsxRuntimeExports.jsx("div",{className:"table-header-box"})})}},[N,d,h,o]),Ee=a.useMemo(()=>{if(h){const e=()=>{let s="table-expandable table-head-btn";return o&&(s+=" table-fixed-dom-left",d?.leftBol||(s+=" table-fixed-dom-left-last")),s};return n.jsxRuntimeExports.jsx(j.ThElement,{align:"center",className:e(),draggable:!1,children:n.jsxRuntimeExports.jsx("div",{className:"table-header-box"})})}},[h,d,o]),Re=()=>{const e=x.name;if(!e)return;const s=u[e]||[];if(x.filterRender)return x.filterRender({filterValue:s,selectFilter:u,headData:x,setFilter:be});const r=x.enums||[];let l="filter-select";return r.length===0&&(l+=" filter-select-none"),n.jsxRuntimeExports.jsx("div",{className:l,children:r.length===0?n.jsxRuntimeExports.jsx(We.default,{size:"small",imageStyle:{width:"80px",height:"80px"}}):n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[n.jsxRuntimeExports.jsx("div",{className:"filter-select-box",children:r.map((t,i)=>{const p=s.indexOf(t.value)!==-1;return n.jsxRuntimeExports.jsxs("div",{onClick:he(t),className:p?"filter-select-item filter-select-item-select":"filter-select-item",children:[n.jsxRuntimeExports.jsx(V.Checkbox,{checked:p}),n.jsxRuntimeExports.jsx("span",{children:n.jsxRuntimeExports.jsx(F.default,{tipMaxWidth:b,children:t.displayName})})]},i)})}),n.jsxRuntimeExports.jsxs("div",{className:"filter-select-footer",children:[n.jsxRuntimeExports.jsx(J.Button,{onClick:te("reset"),variant:"text",children:L({id:"empty"})}),n.jsxRuntimeExports.jsx(J.Button,{onClick:te("confirm"),variant:"text",children:L({id:"determine"})})]})]})})},ve=e=>s=>{P&&P(e,s)},we=e=>{let s=e.width||"";const r=e.name||"",l=W[r]&&W[r].width;return l&&(s=`${l}px`),s},Ne=a.useMemo(()=>{const e=t=>{let i="table-header-filter";return x.name===t.name&&(i+=" table-header-filter-show"),t.name&&u[t.name]&&u[t.name].length>0&&(i+=" table-header-filter-select"),i},s=t=>{let i="";return t.className&&(i+=t.className),o&&t.fixed&&(i+=` table-fixed-dom-${t.fixed}`,t.fixed==="left"&&t.paraui_fixed_left_last&&(i+=" table-fixed-dom-left-last"),t.fixed==="right"&&t.paraui_fixed_right_first&&(i+=" table-fixed-dom-right-first")),i},r=t=>{const i={width:we(t)};return o&&t.fixed&&t.width&&(t.fixed==="left"&&(i.left=`${t.paraui_left_width}px`),t.fixed==="right"&&(i.right=`${t.paraui_right_width}px`)),{...i,...t.style}},l=t=>t.name==="table-serial-number"?!1:!!(Q&&t.drag!==!1);return f.map((t,i)=>{let p=`${k.$prefixCls}-filter-popover ${k.$prefixCls}-scrollbar-small`;return t.filterRender||(p+=` ${k.$prefixCls}-filter-popover-default`),n.jsxRuntimeExports.jsx(j.ThElement,{className:s(t),align:t.align||$,style:r(t),draggable:l(t),headCell:t,onDragDown:ve(t),lineWidth:K,children:n.jsxRuntimeExports.jsx(se.Popover,{placement:"bottom-start",visible:t.name!==void 0&&x.name===t.name,content:t.name!==void 0&&x.name===t.name&&Re(),onVisibleChange:me,overlayClassName:p,getPopupContainer:v||(()=>document.body),maxWidth:t.filterMaxWidth,children:n.jsxRuntimeExports.jsxs("div",{className:pe(t),children:[n.jsxRuntimeExports.jsx("div",{className:"table-header-title",children:n.jsxRuntimeExports.jsx("span",{className:"table-header-title-label",children:n.jsxRuntimeExports.jsx(F.default,{beyondText:t.beyondText===void 0?M:t.beyondText,tipMaxWidth:t.tipMaxWidth!==void 0?t.tipMaxWidth:b,children:t.label})})}),D&&t.name&&t.filter&&n.jsxRuntimeExports.jsx("div",{className:e(t),onClick:fe(t),children:n.jsxRuntimeExports.jsx("span",{children:n.jsxRuntimeExports.jsx(Fe.ScreenF,{})})}),S&&t.name&&t.sort!==!1&&n.jsxRuntimeExports.jsx("div",{className:"table-sort-svg",children:n.jsxRuntimeExports.jsxs("span",{onClick:ae(t.name,t),children:[n.jsxRuntimeExports.jsx(De.UpTriangleF,{className:"up-svg"}),n.jsxRuntimeExports.jsx(_e.DownTriangleF,{className:"down-svg"})]})})]})})},t.name||i)})},[f,S,D,U,B,$,x,u,M,E,o,K,Q,P,W,v,b]),Te=a.useMemo(()=>{if(c){const e=()=>{let r="table-operate";return c.operateBtnRender&&(r+=" table-operate-small"),m===!1&&(r+=" table-operate-not-columns"),q&&(r+=" table-operate-drag-row"),o&&(r+=" table-fixed-dom-right",d?.rightBol||(r+=" table-fixed-dom-right-first")),r},s=()=>{const r={width:c.width};return o&&(r.right=m==="inside"?"53px":"0px"),{...r,...c.style}};return n.jsxRuntimeExports.jsx(j.ThElement,{align:c.align||$,style:s(),className:e(),draggable:!1,children:n.jsxRuntimeExports.jsx("div",{className:"table-header-box",children:n.jsxRuntimeExports.jsx("div",{className:"table-header-title",children:n.jsxRuntimeExports.jsx("span",{className:"table-header-title-label",children:n.jsxRuntimeExports.jsx(F.default,{beyondText:c.beyondText===void 0?M:c.beyondText,tipMaxWidth:b,children:c.label})})})})})}},[c,$,d,m,d,M,o,b,q]),Ce=()=>n.jsxRuntimeExports.jsxs("div",{className:"show-colums-select",children:[n.jsxRuntimeExports.jsx("div",{className:"show-colums-select-box",children:G.map((e,s)=>{const r=!!w[e.name];let l="show-colums-select-item";return r&&(l+=" show-colums-select-item-select"),e.disabledSelection&&(l+=" show-colums-select-item-disabled"),n.jsxRuntimeExports.jsxs("div",{onClick:xe(e),className:l,children:[n.jsxRuntimeExports.jsx(V.Checkbox,{checked:r,disabled:e.disabledSelection}),n.jsxRuntimeExports.jsx("span",{children:n.jsxRuntimeExports.jsx(F.default,{tipMaxWidth:b,children:e.label})})]},s)})}),n.jsxRuntimeExports.jsx("div",{className:"show-colums-select-footer",children:n.jsxRuntimeExports.jsx(J.Button,{variant:"text",onClick:ue,children:L({id:"restoreDefault"})})})]}),ke=a.useMemo(()=>{const e=()=>{let s="show-colums table-fixed-dom-right";return(!o||!c&&!d?.rightBol)&&(s+=" table-fixed-dom-right-first"),s};return m==="inside"&&n.jsxRuntimeExports.jsx(se.Popover,{placement:"bottom-end",visible:!!Z,content:Ce(),onVisibleChange:de,overlayClassName:`${k.$prefixCls}-table-show-colums-popover ${k.$prefixCls}-scrollbar-small`,getPopupContainer:v||(()=>document.body),children:n.jsxRuntimeExports.jsx(j.ThElement,{align:"center",className:e(),onClick:ce,draggable:!1,children:n.jsxRuntimeExports.jsx("div",{className:"table-header-box",children:n.jsxRuntimeExports.jsx(Be.Panel,{})})})})},[m,d,c,Z,G,w,v,b]),Se=a.useMemo(()=>{if(!q||c||m==="inside")return null;const e=()=>{let s="drag-row table-fixed-dom-right";return(!o||!c&&!d?.rightBol)&&(s+=" table-fixed-dom-right-first"),s};return n.jsxRuntimeExports.jsx(j.ThElement,{align:"center",className:e(),draggable:!1})},[c,m,o,d,q]),ye=()=>{let e="table-head";return m==="inside"&&(e+=" table-head-inside"),ie||(e+=" table-head-scroll"),!_&&!N&&!h&&(e+=" table-head-no-btn"),e};return n.jsxRuntimeExports.jsx(Me.TableHeadElement,{className:ye(),children:n.jsxRuntimeExports.jsxs(qe.TrElement,{children:[je,ge,Ee,Ne,Te,ke,Se]})})};exports.TableHead=ne;exports.default=ne;
2
2
  //# sourceMappingURL=tableHead.js.map
@@ -3,7 +3,7 @@ import { HeadLocalStorageItem, ReqProps } from './interface';
3
3
  * 发送请求
4
4
  * @param obj {ReqProps} 请求信息
5
5
  */
6
- export declare const requestFunc: (obj: ReqProps) => Promise<import('@paraview/lib').ParaResponse> | undefined;
6
+ export declare const requestFunc: (obj: ReqProps) => Promise<import('@snack-kit/lib').HttpResult<unknown>> | undefined;
7
7
  /**
8
8
  * 处理get请求地址
9
9
  * @param obj {ReqProps} 请求信息
package/lib/Table/util.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("@paraview/lib"),g=n=>{const{method:t,url:e,ctx:o,data:s,...a}=n;if(t==="Get")return m.Get({url:e,ctx:o,...a});if(t==="Post")return m.Post({url:e,ctx:o,data:s,...a})},u=n=>{let t=n.url;const e=n.data||{},o=Object.keys(e),s=[];for(let i=0,d=o.length;i<d;i++){const l=o[i];let r=e[l];typeof r=="object"?r=encodeURIComponent(JSON.stringify(r)):r=encodeURIComponent(r),s.push(`${l}=${r}`)}const a=s.join("&"),c=t.indexOf("?");return c!==-1?t+=(c===t.length-1?"":"&")+a:t+=`?${a}`,t},S=n=>{if(typeof n=="number")return n;const t=n.replace(/[^0-9$]/gi,"");return Number(t)},h=(n,t)=>{const e=window.localStorage.getItem("_paraui_table_head")||"{}",o=JSON.parse(e),s=Object.keys(o);for(let c=0,i=s.length;c<i;c++){const d=s[c],l=o[c];if(!l)continue;const r=new Date().getTime();l.storageTime+l.validity<r&&delete o[d]}const a=o[n];return a&&(a.storageTime=new Date().getTime(),a.validity=t*(3600*24)),a||{}},p=(n,t)=>{const e=window.localStorage.getItem("_paraui_table_head")||"{}",o=JSON.parse(e);o[n]=t,window.localStorage.setItem("_paraui_table_head",JSON.stringify(o))},f=(n,t)=>{let e=n;const o=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;for(;e&&!o.call(e,t);)e=e.parentElement;return e};exports.closest=f;exports.getLocalStorageSelectHead=h;exports.getStringInNumber=S;exports.handGetReqParams=u;exports.requestFunc=g;exports.setLocalStorageSelectHead=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("@snack-kit/lib"),g=n=>{const{method:t,url:e,ctx:o,data:s,...a}=n;if(t==="Get")return m.Get(e,{ctx:o,...a});if(t==="Post")return m.Post(e,s,{ctx:o,...a})},S=n=>{let t=n.url;const e=n.data||{},o=Object.keys(e),s=[];for(let i=0,d=o.length;i<d;i++){const l=o[i];let r=e[l];typeof r=="object"?r=encodeURIComponent(JSON.stringify(r)):r=encodeURIComponent(r),s.push(`${l}=${r}`)}const a=s.join("&"),c=t.indexOf("?");return c!==-1?t+=(c===t.length-1?"":"&")+a:t+=`?${a}`,t},u=n=>{if(typeof n=="number")return n;const t=n.replace(/[^0-9$]/gi,"");return Number(t)},h=(n,t)=>{const e=window.localStorage.getItem("_paraui_table_head")||"{}",o=JSON.parse(e),s=Object.keys(o);for(let c=0,i=s.length;c<i;c++){const d=s[c],l=o[c];if(!l)continue;const r=new Date().getTime();l.storageTime+l.validity<r&&delete o[d]}const a=o[n];return a&&(a.storageTime=new Date().getTime(),a.validity=t*(3600*24)),a||{}},p=(n,t)=>{const e=window.localStorage.getItem("_paraui_table_head")||"{}",o=JSON.parse(e);o[n]=t,window.localStorage.setItem("_paraui_table_head",JSON.stringify(o))},f=(n,t)=>{let e=n;const o=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;for(;e&&!o.call(e,t);)e=e.parentElement;return e};exports.closest=f;exports.getLocalStorageSelectHead=h;exports.getStringInNumber=u;exports.handGetReqParams=S;exports.requestFunc=g;exports.setLocalStorageSelectHead=p;
2
2
  //# sourceMappingURL=util.js.map
@@ -0,0 +1,227 @@
1
+ {
2
+ "name": "Tabs",
3
+ "category": "Navigation",
4
+ "description": "选项卡切换组件。**所有 mode 都渲染 data[].content**(src/Tabs/index.tsx:220 把 content 渲染到 TabPane 内部)——不存在『line/track 只渲染 tab 头』的差异,请放心把面板体放进 data[].content。",
5
+ "semantic": {
6
+ "intent": [
7
+ "内容切换",
8
+ "视图分组",
9
+ "平级导航"
10
+ ],
11
+ "useCases": [
12
+ "详情页多维度展示",
13
+ "配置面板",
14
+ "同级功能切换"
15
+ ],
16
+ "riskLevel": "normal"
17
+ },
18
+ "variants": {
19
+ "line": {
20
+ "meaning": "线条型 (默认) — 底部下划线指示当前激活"
21
+ },
22
+ "card": {
23
+ "meaning": "卡片型 — tab 头本身像独立卡片"
24
+ },
25
+ "editable-card": {
26
+ "meaning": "可编辑卡片型 — 自带新增 + 关闭按钮,与 editable=true 配套"
27
+ },
28
+ "track": {
29
+ "meaning": "轨道滑块型 — segmented control 风格"
30
+ },
31
+ "card-container": {
32
+ "meaning": "页签容器 — 整个面板被卡片包裹"
33
+ }
34
+ },
35
+ "states": [
36
+ "active",
37
+ "disabled"
38
+ ],
39
+ "idealProps": {
40
+ "data": {
41
+ "type": "TabProps<K>[]",
42
+ "itemSchema": {
43
+ "label": { "type": "ReactNode", "required": true, "description": "tab 头文案" },
44
+ "content": { "type": "ReactNode", "description": "面板内容,所有 mode 都渲染" },
45
+ "value": { "type": "K extends React.Key", "required": true, "description": "唯一标识,与 Tabs value/onChange 对应" },
46
+ "disabled": { "type": "boolean", "description": "是否禁用该 tab" },
47
+ "closable": { "type": "boolean", "description": "是否显示关闭按钮(editable 模式)" },
48
+ "disabledTooltip": { "type": "TooltipProps", "description": "hover 禁用 tab 时显示的 tooltip 配置" },
49
+ "showHelp": { "type": "boolean", "description": "是否显示帮助图标" },
50
+ "helpProps": { "type": "HelpProps", "description": "帮助图标配置" }
51
+ },
52
+ "description": "标签页配置数组。**每项 TabProps 完整字段**:label(tab 头文案)/ content(**面板内容,所有 mode 都渲染**)/ value(唯一 key,类型 K)/ disabled / closable / disabledTooltip(TooltipProps,hover 禁用 tab 时显示)/ showHelp / helpProps。content 不要外部用 `{activeKey === 'x' && <Body />}` 二次条件渲染——直接放在 data[].content 里"
53
+ },
54
+ "value": {
55
+ "type": "K extends React.Key",
56
+ "description": "当前激活的 tab value(受控)。Tabs 是泛型组件 `Tabs<K>`:默认 K = string,需传 string value 时业务端可写 `<Tabs<string>>`;data[].value 与 value 同类型"
57
+ },
58
+ "mode": {
59
+ "type": "enum",
60
+ "values": [
61
+ "line",
62
+ "card",
63
+ "editable-card",
64
+ "track",
65
+ "card-container"
66
+ ],
67
+ "default": "line",
68
+ "description": "外观模式 5 种取值(src/Tabs/index.tsx:19 TabsType);`type` prop 是 mode 的别名(src 优先 type ?? mode),二选一传"
69
+ },
70
+ "type": {
71
+ "type": "enum",
72
+ "values": [
73
+ "line",
74
+ "card",
75
+ "editable-card",
76
+ "track",
77
+ "card-container"
78
+ ],
79
+ "description": "mode 的别名;与 mode 二选一即可"
80
+ },
81
+ "size": {
82
+ "type": "'small' | 'medium' | 'large'",
83
+ "values": ["small", "medium", "large"],
84
+ "description": "尺寸"
85
+ },
86
+ "onChange": {
87
+ "type": "function",
88
+ "signature": "(activeKey: K, item?: TabProps<K>) => void",
89
+ "description": "切换面板的回调。**真实 2 参(activeKey + item)**——首参名 activeKey 不是 value;不带 event 第三参(区别于 antd)。K 默认 string;通过 Tabs<K> 收紧"
90
+ },
91
+ "onEdit": {
92
+ "type": "function",
93
+ "signature": "(item: TabProps<K>, event?: React.MouseEvent | React.KeyboardEvent | string | React.Key, action?: 'add' | 'remove') => void",
94
+ "description": "新增/删除面板的回调(3 参:item / event / action)。配合 editable / showAdd / closable"
95
+ },
96
+ "onAdd": {
97
+ "type": "function",
98
+ "signature": "(event?: React.MouseEvent) => void",
99
+ "description": "新增按钮回调;showAdd 为 true 或 editable 模式下生效"
100
+ },
101
+ "centered": {
102
+ "type": "boolean",
103
+ "default": false,
104
+ "description": "标签居中展示"
105
+ },
106
+ "tabPosition": {
107
+ "type": "'top' | 'right' | 'bottom' | 'left'",
108
+ "values": ["top", "right", "bottom", "left"],
109
+ "default": "'top'",
110
+ "description": "页签位置"
111
+ },
112
+ "editable": {
113
+ "type": "boolean",
114
+ "default": false,
115
+ "description": "可编辑标签(关闭 + 新增);通常与 mode='editable-card' 搭配"
116
+ },
117
+ "showAdd": {
118
+ "type": "boolean",
119
+ "default": false,
120
+ "description": "显示新增按钮"
121
+ },
122
+ "hideAdd": {
123
+ "type": "boolean",
124
+ "default": false,
125
+ "description": "在 editable 模式下隐藏新增按钮"
126
+ },
127
+ "addIcon": {
128
+ "type": "ReactNode",
129
+ "description": "自定义新增按钮图标(替换默认 + 图标);showAdd 或 editable 时生效"
130
+ },
131
+ "radio": {
132
+ "type": "boolean",
133
+ "default": false,
134
+ "description": "在每个 tab 头前加 radio 单选框(与 onRadioChange 配套)"
135
+ },
136
+ "showPopConfirm": {
137
+ "type": "boolean",
138
+ "default": false,
139
+ "description": "切换/删除 tab 前弹出确认框(src/Tabs/index.tsx:56 实证)。⚠️ **`editable=true` 或 `mode='editable-card'` 时有效**(两者满足其一即可触发可编辑态,src:133 `inType === 'editable-card' || editable` 实证)。配合 `popConfirmProps` 自定义确认框内容"
140
+ },
141
+ "popConfirmProps": {
142
+ "type": "PopConfirmProps",
143
+ "description": "控制切换确认弹窗的内容(src/Tabs/index.tsx:58 实证,类型 PopConfirmProps)。在 `showPopConfirm=true` 时生效,可配置 title / description / okText / cancelText 等 PopConfirm 支持的所有属性"
144
+ },
145
+ "onRadioChange": {
146
+ "type": "function",
147
+ "signature": "(radioValue: K) => void",
148
+ "description": "radio 单选框模式下切换选中项的回调(src/Tabs/index.tsx:72 实证签名)。⚠️ **需配合 `mode='card-container'` + `radio=true`**——Radio 组件仅在 card-container 模式下渲染(src:178 实证),其他 mode 下设置 radio=true 无效。K 类型与 Tabs<K> 泛型一致(默认 string)。**与 `onChange` 区分**:onChange 是 tab 切换回调,onRadioChange 是独立的 radio 选中回调"
149
+ }
150
+ },
151
+ "do": [
152
+ "把面板内容放在 data[].content——所有 mode 都会渲染 content,不要外部条件渲染",
153
+ "卡片型外观请直接传 mode='card'(不要退而求其次选 mode='card-container'——后者是『整个面板卡片包裹』,不是『tab 头卡片』)",
154
+ "可编辑标签使用 mode='editable-card' + editable={true};自定义新增图标用 addIcon prop",
155
+ "禁用 tab 的 hover 提示用 TabProps.disabledTooltip(不要给 label 包 <span title>)",
156
+ "受控用 value + onChange;onChange 第一参数是 activeKey,第二参数是 item,无 event 参数"
157
+ ],
158
+ "dont": [
159
+ "在 TabPane 中渲染过重的非首屏内容(应利用懒加载机制)",
160
+ "频繁切换 Tabs mode 导致布局抖动",
161
+ "不要假设『mode='line' 不渲染 content』——所有 mode 都渲染(src 实证)",
162
+ "不要按 antd 习惯传 onChange={(value, tabData, event) => ...}——本组件 2 参 (activeKey, item)",
163
+ "不要按 antd 习惯传 columns/items prop——本组件用 data;不要传 children TabPane——本组件用 data[].content"
164
+ ],
165
+ "events": {
166
+ "onChange": {
167
+ "signature": "(activeKey: K, item?: TabProps<K>) => void",
168
+ "asyncSupported": false,
169
+ "examples": [
170
+ "切换 tab:onChange={(key) => setActiveTab(key)}",
171
+ "利用第二参取 tab 数据:onChange={(key, item) => setTitle(item?.label)}",
172
+ "K 泛型约束:<Tabs<'home'|'profile'> onChange={(key) => ...} />,key 类型被收紧"
173
+ ],
174
+ "commonMistakes": [
175
+ "按 antd 习惯传 onChange={(value, tabData, event) => ...}——本组件仅 2 参 (activeKey, item),无 event 第三参",
176
+ "误以为首参名是 value——首参名是 activeKey(来自 rc-tabs 层),不是 value",
177
+ "忘记第二参 item 是可选的(data 为空或切换到非 data 渲染的 key 时 item 可能 undefined)"
178
+ ]
179
+ },
180
+ "onEdit": {
181
+ "signature": "(item: TabProps<K>, event?: React.MouseEvent | React.KeyboardEvent | string | React.Key, action?: 'add' | 'remove') => void",
182
+ "asyncSupported": false,
183
+ "examples": [
184
+ "新增:action='add', item 是空对象 {}",
185
+ "删除:action='remove', item 是被关闭的 TabProps<K> 项(包含 value/label 等字段)",
186
+ "删除实现:onEdit={(item, _, action) => action === 'remove' && setTabs(tabs.filter(t => t.value !== item.value))}"
187
+ ],
188
+ "commonMistakes": [
189
+ "新增分支期望 item.value 有值——add 时 item 是空对象 {},新 key 需业务侧生成",
190
+ "onEdit 在 editable=false + mode!='editable-card' 时传了但不触发——需满足 editable=true 或 mode='editable-card'"
191
+ ]
192
+ },
193
+ "onRadioChange": {
194
+ "signature": "(radioValue: K) => void",
195
+ "asyncSupported": false,
196
+ "examples": [
197
+ "card-container 模式 + radio=true 时,每个 tab 头前有 Radio,点击 radio 触发此回调",
198
+ "onRadioChange={(val) => setSelected(val)}"
199
+ ],
200
+ "commonMistakes": [
201
+ "不是 card-container + radio=true 模式时传了 onRadioChange——Radio 不渲染,回调永不触发",
202
+ "与 onChange 混淆——onChange 是 tab 激活切换,onRadioChange 是独立的 radio 选中"
203
+ ]
204
+ }
205
+ },
206
+ "typescriptPitfalls": [
207
+ {
208
+ "issue": "onChange 首参名是 activeKey 不是 value,直接解构 value 时 TS 不报错但语义不清",
209
+ "wrong": "onChange={(value) => setTab(value)} // 运行正确但命名误导",
210
+ "right": "onChange={(activeKey) => setTab(activeKey)} // 参数名与签名一致"
211
+ },
212
+ {
213
+ "issue": "data 是 TabProps<K>[] 而不是 RcTabsProps.items,两者不可直接互用",
214
+ "wrong": "// 从 antd 迁移时直接传 items={tabs}——para-ui Tabs 用 data prop 不是 items",
215
+ "right": "data={tabs} // TabProps 数组:[{ value: 'home', label: '首页', content: <Home /> }]"
216
+ },
217
+ {
218
+ "issue": "tabPosition prop 在 Omit<RcTabsProps, 'onChange'> 中保留,但 SCSS 可能不支持所有方向",
219
+ "wrong": "// 传 tabPosition='left' 期望左侧竖排 tab——需确认当前主题 SCSS 是否实现了 left 方向",
220
+ "right": "// 水平 top 位置已完整实现;非 top 方向使用前需自测 SCSS 效果"
221
+ }
222
+ ],
223
+ "mapping": {
224
+ "realComponent": "Tabs",
225
+ "adapter": null
226
+ }
227
+ }