@dtjoy/dt-design 1.1.2 → 1.1.5

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 (538) hide show
  1. package/README.md +161 -141
  2. package/dist/dt-design.min.css +1 -0
  3. package/dist/dt-design.min.js +1 -0
  4. package/es/_util/context/createContextSelector.d.ts +28 -0
  5. package/es/_util/context/createContextSelector.js +110 -0
  6. package/es/_util/context/immutable.d.ts +10 -0
  7. package/es/_util/context/immutable.js +84 -0
  8. package/es/_util/context/index.d.ts +3 -0
  9. package/es/_util/context/index.js +3 -0
  10. package/es/_util/easings.d.ts +1 -0
  11. package/es/_util/gapSize.d.ts +3 -0
  12. package/es/_util/getScroll.d.ts +3 -0
  13. package/{esm → es}/_util/getScroll.js +1 -1
  14. package/es/_util/hooks/index.d.ts +11 -0
  15. package/es/_util/hooks/index.js +11 -0
  16. package/es/_util/hooks/useBreakpoint.d.ts +5 -0
  17. package/es/_util/hooks/useBreakpoint.js +75 -0
  18. package/es/_util/hooks/useCssVar.d.ts +3 -0
  19. package/es/_util/hooks/useCssVar.js +28 -0
  20. package/es/_util/hooks/useEvent.d.ts +1 -0
  21. package/es/_util/hooks/useEvent.js +1 -0
  22. package/es/_util/hooks/useForceUpdate.d.ts +2 -0
  23. package/es/_util/hooks/useLayoutEffect.d.ts +1 -0
  24. package/es/_util/hooks/useLayoutEffect.js +1 -0
  25. package/es/_util/hooks/useMultipleSelect.d.ts +2 -0
  26. package/es/_util/hooks/useMultipleSelect.js +37 -0
  27. package/es/_util/hooks/useOrientation.d.ts +2 -0
  28. package/es/_util/hooks/useProxyImperativeHandle.d.ts +4 -0
  29. package/{esm → es}/_util/hooks/useProxyImperativeHandle.js +10 -3
  30. package/es/_util/hooks/useSyncState.d.ts +3 -0
  31. package/es/_util/hooks/useTimeoutLock.d.ts +1 -0
  32. package/es/_util/hooks/useTimeoutLock.js +26 -0
  33. package/es/_util/index.d.ts +11 -0
  34. package/{esm → es}/_util/index.js +9 -1
  35. package/es/_util/is.d.ts +5 -0
  36. package/es/_util/is.js +16 -0
  37. package/es/_util/rcUtil.d.ts +17 -0
  38. package/es/_util/rcUtil.js +58 -0
  39. package/es/_util/scrollTo.d.ts +10 -0
  40. package/{esm → es}/_util/scrollTo.js +1 -1
  41. package/es/_util/scrollbar.d.ts +1 -0
  42. package/es/_util/scrollbar.js +32 -0
  43. package/es/_util/type.d.ts +53 -0
  44. package/es/_util/validate.d.ts +2 -0
  45. package/es/_util/validate.js +10 -0
  46. package/es/_util/warning.d.ts +31 -0
  47. package/{esm → es}/_util/warning.js +5 -6
  48. package/es/block-header/index.d.ts +58 -0
  49. package/{esm/blockHeader → es/block-header}/index.js +1 -1
  50. package/es/block-header/style/index.d.ts +2 -0
  51. package/{lib/blockHeader → es/block-header}/style/index.less +167 -143
  52. package/es/button/index.d.ts +10 -0
  53. package/{esm → es}/button/index.js +16 -4
  54. package/es/button/style/index.d.ts +2 -0
  55. package/{esm → es}/button/style/index.less +62 -59
  56. package/{esm → es}/button/style/mixin.less +40 -39
  57. package/es/collapsible/index.d.ts +102 -0
  58. package/{esm → es}/collapsible/index.js +3 -2
  59. package/es/collapsible/style/index.d.ts +1 -0
  60. package/{esm → es}/collapsible/style/index.less +24 -24
  61. package/es/collapsible-action-items/index.d.ts +24 -0
  62. package/{esm/collapsibleActionItems → es/collapsible-action-items}/index.js +21 -19
  63. package/es/collapsible-action-items/style/index.d.ts +2 -0
  64. package/{lib/collapsibleActionItems → es/collapsible-action-items}/style/index.less +7 -7
  65. package/es/flex/index.d.ts +7 -0
  66. package/{esm → es}/flex/index.js +3 -3
  67. package/es/flex/interface.d.ts +16 -0
  68. package/es/flex/style/index.d.ts +2 -0
  69. package/{esm → es}/flex/style/index.less +80 -76
  70. package/es/flex/utils.d.ts +7 -0
  71. package/es/form-list/index.d.ts +87 -0
  72. package/{esm/formList → es/form-list}/index.js +18 -8
  73. package/es/form-list/style/index.d.ts +2 -0
  74. package/{esm/formList → es/form-list}/style/index.less +45 -45
  75. package/es/index.d.ts +26 -0
  76. package/es/index.js +21 -0
  77. package/es/overflow-list/index.d.ts +43 -0
  78. package/{esm/overflowList → es/overflow-list}/index.js +37 -9
  79. package/es/overflow-list/style/index.d.ts +2 -0
  80. package/{esm/overflowList → es/overflow-list}/style/index.less +9 -9
  81. package/es/resize/index.d.ts +9 -0
  82. package/es/resize-observer/index.d.ts +45 -0
  83. package/{esm/resizeObserver → es/resize-observer}/index.js +8 -8
  84. package/es/splitter/Panel.d.ts +7 -0
  85. package/{esm → es}/splitter/Panel.js +12 -4
  86. package/es/splitter/SplitBar.d.ts +28 -0
  87. package/{esm → es}/splitter/SplitBar.js +82 -80
  88. package/es/splitter/Splitter.d.ts +5 -0
  89. package/{esm → es}/splitter/Splitter.js +52 -23
  90. package/es/splitter/hooks/sizeUtil.d.ts +3 -0
  91. package/{esm → es}/splitter/hooks/sizeUtil.js +1 -1
  92. package/es/splitter/hooks/useDragListeners.d.ts +14 -0
  93. package/es/splitter/hooks/useDragListeners.js +107 -0
  94. package/es/splitter/hooks/useItems.d.ts +20 -0
  95. package/es/splitter/hooks/useOrientation.d.ts +2 -0
  96. package/es/splitter/hooks/useOrientation.js +6 -0
  97. package/es/splitter/hooks/useResizable.d.ts +13 -0
  98. package/{esm → es}/splitter/hooks/useResizable.js +5 -2
  99. package/es/splitter/hooks/useResize.d.ts +6 -0
  100. package/{esm → es}/splitter/hooks/useResize.js +10 -3
  101. package/es/splitter/hooks/useSizes.d.ts +4 -0
  102. package/{esm → es}/splitter/hooks/useSizes.js +5 -6
  103. package/es/splitter/index.d.ts +9 -0
  104. package/es/splitter/interface.d.ts +45 -0
  105. package/es/splitter/style/index.d.ts +2 -0
  106. package/es/splitter/style/index.less +349 -0
  107. package/es/status-tag/index.d.ts +29 -0
  108. package/{esm/statusTag → es/status-tag}/index.js +1 -1
  109. package/es/status-tag/style/index.d.ts +2 -0
  110. package/{lib/statusTag → es/status-tag}/style/index.less +70 -70
  111. package/{esm/statusTag → es/status-tag}/style/mixin.less +48 -39
  112. package/es/style/index.d.ts +1 -0
  113. package/{esm → es}/style/index.less +1 -1
  114. package/es/style/themes/index.less +2 -0
  115. package/{esm → es}/style/themes/variable.less +5 -5
  116. package/es/table/Column.d.ts +2 -0
  117. package/es/table/Column.js +1 -0
  118. package/es/table/ColumnGroup.d.ts +2 -0
  119. package/es/table/ColumnGroup.js +1 -0
  120. package/es/table/InternalTable.d.ts +43 -0
  121. package/es/table/InternalTable.js +816 -0
  122. package/es/table/Table.d.ts +19 -0
  123. package/es/table/Table.js +30 -0
  124. package/es/table/TableMeasureRowContext.d.ts +3 -0
  125. package/es/table/TableMeasureRowContext.js +3 -0
  126. package/es/table/components/Body/BodyRow.d.ts +37 -0
  127. package/es/table/components/Body/BodyRow.js +182 -0
  128. package/es/table/components/Body/ExpandedRow.d.ts +15 -0
  129. package/es/table/components/Body/ExpandedRow.js +51 -0
  130. package/es/table/components/Body/MeasureCell.d.ts +8 -0
  131. package/es/table/components/Body/MeasureCell.js +33 -0
  132. package/es/table/components/Body/MeasureRow.d.ts +10 -0
  133. package/es/table/components/Body/MeasureRow.js +54 -0
  134. package/es/table/components/Body/index.d.ts +11 -0
  135. package/es/table/components/Body/index.js +123 -0
  136. package/es/table/components/Cell/index.d.ts +39 -0
  137. package/es/table/components/Cell/index.js +196 -0
  138. package/es/table/components/Cell/useCellRender.d.ts +3 -0
  139. package/es/table/components/Cell/useCellRender.js +69 -0
  140. package/es/table/components/Cell/useHoverState.d.ts +2 -0
  141. package/es/table/components/Cell/useHoverState.js +13 -0
  142. package/es/table/components/ColGroup.d.ts +9 -0
  143. package/es/table/components/ColGroup.js +53 -0
  144. package/es/table/components/ExpandIcon.d.ts +12 -0
  145. package/es/table/components/ExpandIcon.js +27 -0
  146. package/es/table/components/FixedHolder/index.d.ts +27 -0
  147. package/es/table/components/FixedHolder/index.js +186 -0
  148. package/es/table/components/Footer/Cell.d.ts +11 -0
  149. package/es/table/components/Footer/Cell.js +47 -0
  150. package/es/table/components/Footer/Row.d.ts +8 -0
  151. package/es/table/components/Footer/Row.js +10 -0
  152. package/es/table/components/Footer/Summary.d.ts +14 -0
  153. package/es/table/components/Footer/Summary.js +12 -0
  154. package/es/table/components/Footer/SummaryContext.d.ts +11 -0
  155. package/es/table/components/Footer/SummaryContext.js +3 -0
  156. package/es/table/components/Footer/index.d.ts +16 -0
  157. package/es/table/components/Footer/index.js +31 -0
  158. package/es/table/components/Header/Header.d.ts +10 -0
  159. package/es/table/components/Header/Header.js +110 -0
  160. package/es/table/components/Header/HeaderRow.d.ts +19 -0
  161. package/es/table/components/Header/HeaderRow.js +63 -0
  162. package/es/table/components/Panel.d.ts +7 -0
  163. package/es/table/components/Panel.js +11 -0
  164. package/es/table/components/RcTable.d.ts +114 -0
  165. package/es/table/components/RcTable.js +757 -0
  166. package/es/table/components/VirtualTable.d.ts +5 -0
  167. package/es/table/components/VirtualTable.js +12 -0
  168. package/es/table/components/VirtualTableBody/BodyGrid.d.ts +13 -0
  169. package/es/table/components/VirtualTableBody/BodyGrid.js +307 -0
  170. package/es/table/components/VirtualTableBody/BodyLine.d.ts +14 -0
  171. package/es/table/components/VirtualTableBody/BodyLine.js +116 -0
  172. package/es/table/components/VirtualTableBody/VirtualCell.d.ts +26 -0
  173. package/es/table/components/VirtualTableBody/VirtualCell.js +118 -0
  174. package/es/table/components/VirtualTableBody/context.d.ts +13 -0
  175. package/es/table/components/VirtualTableBody/context.js +3 -0
  176. package/es/table/components/VirtualTableBody/index.d.ts +16 -0
  177. package/es/table/components/VirtualTableBody/index.js +102 -0
  178. package/es/table/constant.d.ts +2 -0
  179. package/es/table/constant.js +2 -0
  180. package/es/table/features/columns/Column.d.ts +7 -0
  181. package/es/table/features/columns/Column.js +4 -0
  182. package/es/table/features/columns/ColumnGroup.d.ts +9 -0
  183. package/es/table/features/columns/ColumnGroup.js +4 -0
  184. package/es/table/features/columns/index.d.ts +8 -0
  185. package/es/table/features/columns/index.js +6 -0
  186. package/es/table/features/columns/useColumns.d.ts +31 -0
  187. package/es/table/features/columns/useColumns.js +227 -0
  188. package/es/table/features/columns/useFilledColumns.d.ts +4 -0
  189. package/es/table/features/columns/useFilledColumns.js +34 -0
  190. package/es/table/features/columns/useTitleColumns.d.ts +4 -0
  191. package/es/table/features/columns/useTitleColumns.js +26 -0
  192. package/es/table/features/columns/useWidthColumns.d.ts +5 -0
  193. package/es/table/features/columns/useWidthColumns.js +75 -0
  194. package/es/table/features/editable/BatchEditModal.d.ts +4 -0
  195. package/es/table/features/editable/BatchEditModal.js +786 -0
  196. package/es/table/features/editable/EditableCell.d.ts +42 -0
  197. package/es/table/features/editable/EditableCell.js +294 -0
  198. package/es/table/features/editable/EditableContext.d.ts +33 -0
  199. package/es/table/features/editable/EditableContext.js +20 -0
  200. package/es/table/features/editable/batchEditTypes.d.ts +55 -0
  201. package/es/table/features/editable/batchEditTypes.js +1 -0
  202. package/es/table/features/editable/batchEditUtils.d.ts +44 -0
  203. package/es/table/features/editable/batchEditUtils.js +258 -0
  204. package/es/table/features/editable/builtinEditors.d.ts +32 -0
  205. package/es/table/features/editable/builtinEditors.js +165 -0
  206. package/es/table/features/editable/index.d.ts +11 -0
  207. package/es/table/features/editable/index.js +10 -0
  208. package/es/table/features/editable/useBatchRules.d.ts +17 -0
  209. package/es/table/features/editable/useBatchRules.js +96 -0
  210. package/es/table/features/editable/useEditable.d.ts +51 -0
  211. package/es/table/features/editable/useEditable.js +693 -0
  212. package/es/table/features/expand/expandUtil.d.ts +5 -0
  213. package/es/table/features/expand/expandUtil.js +47 -0
  214. package/es/table/features/expand/index.d.ts +2 -0
  215. package/es/table/features/expand/index.js +2 -0
  216. package/es/table/features/expand/useExpand.d.ts +10 -0
  217. package/es/table/features/expand/useExpand.js +90 -0
  218. package/es/table/features/filter/FilterDropdown.d.ts +31 -0
  219. package/es/table/features/filter/FilterDropdown.js +494 -0
  220. package/es/table/features/filter/FilterSearch.d.ts +12 -0
  221. package/es/table/features/filter/FilterSearch.js +24 -0
  222. package/es/table/features/filter/FilterWrapper.d.ts +8 -0
  223. package/es/table/features/filter/FilterWrapper.js +23 -0
  224. package/es/table/features/filter/index.d.ts +4 -0
  225. package/es/table/features/filter/index.js +4 -0
  226. package/es/table/features/filter/useFilter.d.ts +22 -0
  227. package/es/table/features/filter/useFilter.js +240 -0
  228. package/es/table/features/fixed/fixUtil.d.ts +21 -0
  229. package/es/table/features/fixed/fixUtil.js +69 -0
  230. package/es/table/features/fixed/index.d.ts +4 -0
  231. package/es/table/features/fixed/index.js +4 -0
  232. package/es/table/features/fixed/offsetUtil.d.ts +4 -0
  233. package/es/table/features/fixed/offsetUtil.js +13 -0
  234. package/es/table/features/fixed/useFixedInfo.d.ts +2 -0
  235. package/es/table/features/fixed/useFixedInfo.js +16 -0
  236. package/es/table/features/fixed/useStickyOffsets.d.ts +6 -0
  237. package/es/table/features/fixed/useStickyOffsets.js +29 -0
  238. package/es/table/features/hover/index.d.ts +1 -0
  239. package/es/table/features/hover/index.js +1 -0
  240. package/es/table/features/hover/useHover.d.ts +2 -0
  241. package/es/table/features/hover/useHover.js +22 -0
  242. package/es/table/features/pagination/index.d.ts +1 -0
  243. package/es/table/features/pagination/index.js +1 -0
  244. package/es/table/features/pagination/usePagination.d.ts +5 -0
  245. package/es/table/features/pagination/usePagination.js +89 -0
  246. package/es/table/features/resize/ResizeHandle.d.ts +22 -0
  247. package/es/table/features/resize/ResizeHandle.js +99 -0
  248. package/es/table/features/resize/index.d.ts +5 -0
  249. package/es/table/features/resize/index.js +3 -0
  250. package/es/table/features/resize/transformResizableColumns.d.ts +11 -0
  251. package/es/table/features/resize/transformResizableColumns.js +52 -0
  252. package/es/table/features/resize/useResize.d.ts +52 -0
  253. package/es/table/features/resize/useResize.js +586 -0
  254. package/es/table/features/selection/index.d.ts +1 -0
  255. package/es/table/features/selection/index.js +1 -0
  256. package/es/table/features/selection/useSelection.d.ts +20 -0
  257. package/es/table/features/selection/useSelection.js +579 -0
  258. package/es/table/features/sort/index.d.ts +1 -0
  259. package/es/table/features/sort/index.js +1 -0
  260. package/es/table/features/sort/useSorter.d.ts +21 -0
  261. package/es/table/features/sort/useSorter.js +372 -0
  262. package/es/table/features/sticky/index.d.ts +2 -0
  263. package/es/table/features/sticky/index.js +2 -0
  264. package/es/table/features/sticky/stickyScrollBar.d.ts +12 -0
  265. package/es/table/features/sticky/stickyScrollBar.js +203 -0
  266. package/es/table/features/sticky/useSticky.d.ts +10 -0
  267. package/es/table/features/sticky/useSticky.js +34 -0
  268. package/es/table/features/summary/index.d.ts +1 -0
  269. package/es/table/features/summary/index.js +1 -0
  270. package/es/table/features/virtual/index.d.ts +2 -0
  271. package/es/table/features/virtual/index.js +2 -0
  272. package/es/table/features/virtual/useFlattenRecords.d.ts +19 -0
  273. package/es/table/features/virtual/useFlattenRecords.js +55 -0
  274. package/es/table/features/virtual/useFrame.d.ts +7 -0
  275. package/es/table/features/virtual/useFrame.js +67 -0
  276. package/es/table/immutableHelper.d.ts +9 -0
  277. package/es/table/immutableHelper.js +36 -0
  278. package/es/table/index.d.ts +24 -0
  279. package/es/table/index.js +23 -0
  280. package/es/table/interface.d.ts +438 -0
  281. package/es/table/interface.js +56 -0
  282. package/es/table/shared/context/PerfContext.d.ts +6 -0
  283. package/es/table/shared/context/PerfContext.js +6 -0
  284. package/es/table/shared/context/TableContext.d.ts +51 -0
  285. package/es/table/shared/context/TableContext.js +8 -0
  286. package/es/table/shared/hooks/useContainerWidth.d.ts +1 -0
  287. package/es/table/shared/hooks/useContainerWidth.js +14 -0
  288. package/es/table/shared/hooks/useLazyKVMap.d.ts +4 -0
  289. package/es/table/shared/hooks/useLazyKVMap.js +30 -0
  290. package/es/table/shared/hooks/useRenderTimes.d.ts +5 -0
  291. package/es/table/shared/hooks/useRenderTimes.js +39 -0
  292. package/es/table/shared/hooks/useRowInfo.d.ts +11 -0
  293. package/es/table/shared/hooks/useRowInfo.js +73 -0
  294. package/es/table/shared/utils/legacyUtil.d.ts +5 -0
  295. package/es/table/shared/utils/legacyUtil.js +30 -0
  296. package/es/table/shared/utils/util.d.ts +6 -0
  297. package/es/table/shared/utils/util.js +26 -0
  298. package/es/table/shared/utils/valueUtil.d.ts +8 -0
  299. package/es/table/shared/utils/valueUtil.js +29 -0
  300. package/es/table/style/base.less +164 -0
  301. package/es/table/style/bordered.less +83 -0
  302. package/es/table/style/editable.less +50 -0
  303. package/es/table/style/ellipsis.less +33 -0
  304. package/es/table/style/empty.less +16 -0
  305. package/es/table/style/expand.less +123 -0
  306. package/es/table/style/filter.less +34 -0
  307. package/es/table/style/fixed.less +85 -0
  308. package/es/table/style/index.d.ts +3 -0
  309. package/es/table/style/index.js +3 -0
  310. package/es/table/style/index.less +19 -0
  311. package/es/table/style/pagination.less +29 -0
  312. package/es/table/style/radius.less +64 -0
  313. package/es/table/style/resize.less +78 -0
  314. package/es/table/style/rtl.less +52 -0
  315. package/es/table/style/selection.less +63 -0
  316. package/es/table/style/size.less +54 -0
  317. package/es/table/style/sorter.less +99 -0
  318. package/es/table/style/sticky.less +45 -0
  319. package/es/table/style/summary.less +23 -0
  320. package/es/table/style/variables.less +80 -0
  321. package/es/table/style/virtual.less +95 -0
  322. package/lib/_util/context/createContextSelector.js +120 -0
  323. package/lib/_util/context/immutable.js +92 -0
  324. package/lib/_util/context/index.js +41 -0
  325. package/lib/_util/easings.js +1 -1
  326. package/lib/_util/getScroll.js +6 -6
  327. package/lib/_util/hooks/index.js +82 -5
  328. package/lib/_util/hooks/useBreakpoint.js +85 -0
  329. package/lib/_util/hooks/useCssVar.js +37 -0
  330. package/lib/_util/hooks/useEvent.js +13 -0
  331. package/lib/_util/hooks/useForceUpdate.js +5 -4
  332. package/lib/_util/hooks/useLayoutEffect.js +13 -0
  333. package/lib/_util/hooks/useMultipleSelect.js +43 -0
  334. package/lib/_util/hooks/useOrientation.js +7 -8
  335. package/lib/_util/hooks/useProxyImperativeHandle.js +18 -14
  336. package/lib/_util/hooks/useSyncState.js +19 -9
  337. package/lib/_util/hooks/useTimeoutLock.js +35 -0
  338. package/lib/_util/index.js +101 -1
  339. package/lib/_util/is.js +22 -0
  340. package/lib/_util/rcUtil.js +134 -0
  341. package/lib/_util/scrollTo.js +22 -18
  342. package/lib/_util/scrollbar.js +38 -0
  343. package/lib/_util/validate.js +17 -0
  344. package/lib/_util/warning.js +25 -27
  345. package/lib/block-header/index.js +141 -0
  346. package/{esm/blockHeader → lib/block-header}/style/index.less +167 -143
  347. package/lib/button/index.js +24 -9
  348. package/lib/button/style/index.less +62 -59
  349. package/lib/button/style/mixin.less +40 -39
  350. package/lib/collapsible/index.js +210 -169
  351. package/lib/collapsible/style/index.less +24 -24
  352. package/lib/collapsible-action-items/index.js +83 -0
  353. package/{esm/collapsibleActionItems → lib/collapsible-action-items}/style/index.less +7 -7
  354. package/lib/flex/index.js +43 -34
  355. package/lib/flex/style/index.less +80 -76
  356. package/lib/flex/utils.js +23 -23
  357. package/lib/form-list/index.js +163 -0
  358. package/lib/{formList → form-list}/style/index.less +45 -45
  359. package/lib/index.js +41 -63
  360. package/lib/overflow-list/index.js +203 -0
  361. package/lib/{overflowList → overflow-list}/style/index.less +9 -9
  362. package/lib/resize/index.js +13 -13
  363. package/lib/resize-observer/index.js +182 -0
  364. package/lib/splitter/Panel.js +36 -25
  365. package/lib/splitter/SplitBar.js +151 -134
  366. package/lib/splitter/Splitter.js +141 -89
  367. package/lib/splitter/hooks/sizeUtil.js +50 -33
  368. package/lib/splitter/hooks/useDragListeners.js +114 -0
  369. package/lib/splitter/hooks/useItems.js +27 -20
  370. package/lib/splitter/hooks/useOrientation.js +12 -0
  371. package/lib/splitter/hooks/useResizable.js +32 -30
  372. package/lib/splitter/hooks/useResize.js +76 -45
  373. package/lib/splitter/hooks/useSizes.js +55 -30
  374. package/lib/splitter/index.js +1 -1
  375. package/lib/splitter/style/index.less +349 -312
  376. package/lib/status-tag/index.js +131 -0
  377. package/{esm/statusTag → lib/status-tag}/style/index.less +70 -70
  378. package/lib/{statusTag → status-tag}/style/mixin.less +48 -39
  379. package/lib/style/index.less +1 -1
  380. package/lib/style/themes/index.less +2 -2
  381. package/lib/style/themes/variable.less +5 -5
  382. package/lib/table/Column.js +13 -0
  383. package/lib/table/ColumnGroup.js +13 -0
  384. package/lib/table/InternalTable.js +824 -0
  385. package/lib/table/Table.js +40 -0
  386. package/lib/table/TableMeasureRowContext.js +10 -0
  387. package/lib/table/components/Body/BodyRow.js +192 -0
  388. package/lib/table/components/Body/ExpandedRow.js +61 -0
  389. package/lib/table/components/Body/MeasureCell.js +43 -0
  390. package/lib/table/components/Body/MeasureRow.js +64 -0
  391. package/lib/table/components/Body/index.js +133 -0
  392. package/lib/table/components/Cell/index.js +205 -0
  393. package/lib/table/components/Cell/useCellRender.js +78 -0
  394. package/lib/table/components/Cell/useHoverState.js +20 -0
  395. package/lib/table/components/ColGroup.js +62 -0
  396. package/lib/table/components/ExpandIcon.js +35 -0
  397. package/lib/table/components/FixedHolder/index.js +195 -0
  398. package/lib/table/components/Footer/Cell.js +57 -0
  399. package/lib/table/components/Footer/Row.js +19 -0
  400. package/lib/table/components/Footer/Summary.js +19 -0
  401. package/lib/table/components/Footer/SummaryContext.js +12 -0
  402. package/lib/table/components/Footer/index.js +41 -0
  403. package/lib/table/components/Header/Header.js +120 -0
  404. package/lib/table/components/Header/HeaderRow.js +72 -0
  405. package/lib/table/components/Panel.js +20 -0
  406. package/lib/table/components/RcTable.js +764 -0
  407. package/lib/table/components/VirtualTable.js +18 -0
  408. package/lib/table/components/VirtualTableBody/BodyGrid.js +316 -0
  409. package/lib/table/components/VirtualTableBody/BodyLine.js +125 -0
  410. package/lib/table/components/VirtualTableBody/VirtualCell.js +128 -0
  411. package/lib/table/components/VirtualTableBody/context.js +9 -0
  412. package/lib/table/components/VirtualTableBody/index.js +111 -0
  413. package/lib/table/constant.js +8 -0
  414. package/lib/table/features/columns/Column.js +10 -0
  415. package/lib/table/features/columns/ColumnGroup.js +10 -0
  416. package/lib/table/features/columns/index.js +57 -0
  417. package/lib/table/features/columns/useColumns.js +237 -0
  418. package/lib/table/features/columns/useFilledColumns.js +42 -0
  419. package/lib/table/features/columns/useTitleColumns.js +34 -0
  420. package/lib/table/features/columns/useWidthColumns.js +83 -0
  421. package/lib/table/features/editable/BatchEditModal.js +794 -0
  422. package/lib/table/features/editable/EditableCell.js +303 -0
  423. package/lib/table/features/editable/EditableContext.js +28 -0
  424. package/lib/table/features/editable/batchEditTypes.js +5 -0
  425. package/lib/table/features/editable/batchEditUtils.js +264 -0
  426. package/lib/table/features/editable/builtinEditors.js +174 -0
  427. package/lib/table/features/editable/index.js +75 -0
  428. package/lib/table/features/editable/useBatchRules.js +103 -0
  429. package/lib/table/features/editable/useEditable.js +701 -0
  430. package/lib/table/features/expand/expandUtil.js +57 -0
  431. package/lib/table/features/expand/index.js +32 -0
  432. package/lib/table/features/expand/useExpand.js +99 -0
  433. package/lib/table/features/filter/FilterDropdown.js +504 -0
  434. package/lib/table/features/filter/FilterSearch.js +34 -0
  435. package/lib/table/features/filter/FilterWrapper.js +32 -0
  436. package/lib/table/features/filter/index.js +49 -0
  437. package/lib/table/features/filter/useFilter.js +254 -0
  438. package/lib/table/features/fixed/fixUtil.js +75 -0
  439. package/lib/table/features/fixed/index.js +34 -0
  440. package/lib/table/features/fixed/offsetUtil.js +19 -0
  441. package/lib/table/features/fixed/useFixedInfo.js +26 -0
  442. package/lib/table/features/fixed/useStickyOffsets.js +35 -0
  443. package/lib/table/features/hover/index.js +13 -0
  444. package/lib/table/features/hover/useHover.js +31 -0
  445. package/lib/table/features/pagination/index.js +27 -0
  446. package/lib/table/features/pagination/usePagination.js +96 -0
  447. package/lib/table/features/resize/ResizeHandle.js +109 -0
  448. package/lib/table/features/resize/index.js +27 -0
  449. package/lib/table/features/resize/transformResizableColumns.js +61 -0
  450. package/lib/table/features/resize/useResize.js +595 -0
  451. package/lib/table/features/selection/index.js +39 -0
  452. package/lib/table/features/selection/useSelection.js +588 -0
  453. package/lib/table/features/sort/index.js +21 -0
  454. package/lib/table/features/sort/useSorter.js +381 -0
  455. package/lib/table/features/sticky/index.js +20 -0
  456. package/lib/table/features/sticky/stickyScrollBar.js +212 -0
  457. package/lib/table/features/sticky/useSticky.js +43 -0
  458. package/lib/table/features/summary/index.js +13 -0
  459. package/lib/table/features/virtual/index.js +26 -0
  460. package/lib/table/features/virtual/useFlattenRecords.js +64 -0
  461. package/lib/table/features/virtual/useFrame.js +74 -0
  462. package/lib/table/immutableHelper.js +46 -0
  463. package/lib/table/index.js +124 -0
  464. package/lib/table/interface.js +60 -0
  465. package/lib/table/shared/context/PerfContext.js +15 -0
  466. package/lib/table/shared/context/TableContext.js +13 -0
  467. package/lib/table/shared/hooks/useContainerWidth.js +20 -0
  468. package/lib/table/shared/hooks/useLazyKVMap.js +39 -0
  469. package/lib/table/shared/hooks/useRenderTimes.js +49 -0
  470. package/lib/table/shared/hooks/useRowInfo.js +80 -0
  471. package/lib/table/shared/utils/legacyUtil.js +38 -0
  472. package/lib/table/shared/utils/util.js +34 -0
  473. package/lib/table/shared/utils/valueUtil.js +37 -0
  474. package/lib/table/style/base.less +164 -0
  475. package/lib/table/style/bordered.less +83 -0
  476. package/lib/table/style/editable.less +50 -0
  477. package/lib/table/style/ellipsis.less +33 -0
  478. package/lib/table/style/empty.less +16 -0
  479. package/lib/table/style/expand.less +123 -0
  480. package/lib/table/style/filter.less +34 -0
  481. package/lib/table/style/fixed.less +85 -0
  482. package/lib/table/style/index.js +5 -0
  483. package/lib/table/style/index.less +19 -0
  484. package/lib/table/style/pagination.less +29 -0
  485. package/lib/table/style/radius.less +64 -0
  486. package/lib/table/style/resize.less +78 -0
  487. package/lib/table/style/rtl.less +52 -0
  488. package/lib/table/style/selection.less +63 -0
  489. package/lib/table/style/size.less +54 -0
  490. package/lib/table/style/sorter.less +99 -0
  491. package/lib/table/style/sticky.less +45 -0
  492. package/lib/table/style/summary.less +23 -0
  493. package/lib/table/style/variables.less +80 -0
  494. package/lib/table/style/virtual.less +95 -0
  495. package/package.json +147 -152
  496. package/esm/_util/extendsObject.js +0 -17
  497. package/esm/_util/hooks/index.js +0 -4
  498. package/esm/_util/isNonNullable.js +0 -4
  499. package/esm/index.js +0 -22
  500. package/esm/splitter/style/index.less +0 -312
  501. package/esm/style/mixins/index.less +0 -0
  502. package/esm/style/themes/index.less +0 -2
  503. package/lib/_util/extendsObject.js +0 -20
  504. package/lib/_util/isNonNullable.js +0 -10
  505. package/lib/blockHeader/index.js +0 -121
  506. package/lib/collapsibleActionItems/index.js +0 -68
  507. package/lib/formList/index.js +0 -130
  508. package/lib/overflowList/index.js +0 -144
  509. package/lib/resizeObserver/index.js +0 -137
  510. package/lib/statusTag/index.js +0 -125
  511. package/lib/style/mixins/index.less +0 -0
  512. /package/{esm → es}/_util/easings.js +0 -0
  513. /package/{esm → es}/_util/gapSize.js +0 -0
  514. /package/{esm → es}/_util/hooks/useForceUpdate.js +0 -0
  515. /package/{esm → es}/_util/hooks/useOrientation.js +0 -0
  516. /package/{esm → es}/_util/hooks/useSyncState.js +0 -0
  517. /package/{esm → es}/_util/type.js +0 -0
  518. /package/{esm/blockHeader → es/block-header}/style/index.js +0 -0
  519. /package/{esm → es}/button/style/index.js +0 -0
  520. /package/{esm → es}/collapsible/style/index.js +0 -0
  521. /package/{esm/collapsibleActionItems → es/collapsible-action-items}/style/index.js +0 -0
  522. /package/{esm → es}/flex/interface.js +0 -0
  523. /package/{esm → es}/flex/style/index.js +0 -0
  524. /package/{esm → es}/flex/utils.js +0 -0
  525. /package/{esm/formList → es/form-list}/style/index.js +0 -0
  526. /package/{esm/overflowList → es/overflow-list}/style/index.js +0 -0
  527. /package/{esm → es}/resize/index.js +0 -0
  528. /package/{esm → es}/splitter/hooks/useItems.js +0 -0
  529. /package/{esm → es}/splitter/index.js +0 -0
  530. /package/{esm → es}/splitter/interface.js +0 -0
  531. /package/{esm → es}/splitter/style/index.js +0 -0
  532. /package/{esm/statusTag → es/status-tag}/style/index.js +0 -0
  533. /package/{esm → es}/style/index.js +0 -0
  534. /package/lib/{blockHeader → block-header}/style/index.js +0 -0
  535. /package/lib/{collapsibleActionItems → collapsible-action-items}/style/index.js +0 -0
  536. /package/lib/{formList → form-list}/style/index.js +0 -0
  537. /package/lib/{overflowList → overflow-list}/style/index.js +0 -0
  538. /package/lib/{statusTag → status-tag}/style/index.js +0 -0
package/README.md CHANGED
@@ -1,141 +1,161 @@
1
-
2
-
3
-
4
- <div align="center">
5
-
6
- # dt-design
7
-
8
- English | [简体中文](./README-zh_CN.md)
9
-
10
- An enterprise-class React component library built on [Ant Design](https://github.com/ant-design/ant-design), optimized for back-office business scenarios with high reusability and extensibility.
11
-
12
- </div>
13
-
14
- ---
15
-
16
- ## 📖 Introduction
17
-
18
- dt-design is a React component library internally developed by the **Digital Business Department**, extending Ant Design 5.x. It abstracts and沉淀(consolidates)common business patterns into **out-of-the-box components**, boosting development velocity while reducing redundant code.
19
-
20
- In addition, we provide several framework-agnostic utilities written in vanilla JavaScript:
21
-
22
- * `ContextMenu` right-click context menu
23
- * `KeyEventListener` global keyboard event binder
24
-
25
- ---
26
-
27
- ## 🎯 When to Use
28
-
29
- * ✅ Ant Design's basic components are insufficient for complex business requirements
30
- * ✅ Multiple projects share similar modules and need a unified implementation
31
- * ✅ You want to extract general business logic to avoid duplicate development
32
- * You need consistent UI specification and interaction behavior across products
33
-
34
- ---
35
-
36
- ## 📦 Installation
37
-
38
- ```bash
39
- # npm
40
- npm install dt-design
41
-
42
- # yarn
43
- yarn add dt-design
44
-
45
- # pnpm
46
- pnpm add dt-design
47
- ```
48
-
49
- ---
50
-
51
- ## 🚀 Quick Start
52
-
53
- ```tsx
54
- import React from 'react';
55
- import { BlockHeader } from '@dtjoy/dt-design';
56
-
57
- const App = () => <BlockHeader title="Category Title" background />;
58
- ```
59
-
60
- ---
61
-
62
- ## 📌 Tree-Shaking & On-Demand
63
-
64
- ES modules are fully supported; import only what you need and the bundler will drop the rest automatically:
65
-
66
- ```ts
67
- import { BlockHeader, CustomTable } from '@dtjoy/dt-design';
68
- ```
69
-
70
- ---
71
-
72
- ## 🧩 TypeScript First
73
-
74
- Written entirely in TypeScript with complete type definitions for better IntelliSense and compile-time safety.
75
-
76
- ---
77
-
78
- ## 🛠 Local Development
79
-
80
- ```bash
81
- git clone https://github.com/ZhaoFxxkSky/dt-design
82
- cd dt-design
83
- pnpm install
84
- pnpm dev
85
- ```
86
-
87
- Then open [http://127.0.0.1:8000](http://127.0.0.1:8000).
88
- We use [dumi](https://d.umijs.org/) for docs & component management.
89
-
90
- ---
91
-
92
- ## 📦 Build & Release
93
-
94
- ### Build the library
95
-
96
- ```bash
97
- pnpm build
98
- ```
99
-
100
- ### Bump version (internal npm registry)
101
-
102
- ```bash
103
- pnpm release -- -r x.x.x
104
- npm publish --registry <internal-npm-registry>
105
- ```
106
-
107
- ### Deploy documentation site (optional)
108
-
109
- ```bash
110
- pnpm deploy
111
- ```
112
-
113
- ---
114
-
115
- ## 🤝 Contributing
116
-
117
- We welcome Issues and Pull Requests. Workflow:
118
-
119
- 1. Fork the repository
120
- 2. Create your feature branch (`git checkout -b feature/xxx`)
121
- 3. Commit your changes (`git commit -m 'feat: add xxx'`)
122
- 4. Push to the branch (`git push origin feature/xxx`)
123
- 5. Open a Pull Request
124
-
125
- Please read [CONTRIBUTING.md](./CONTRIBUTING.md) for coding standards and CI rules.
126
-
127
- ---
128
-
129
- ## 👨‍💻 Core Team
130
-
131
- Maintained by the **Digital Business Department**. Thanks to all contributors!
132
-
133
- ---
134
-
135
- ## 📄 License
136
-
137
- Internal use only. Redistribution or publication without explicit permission is strictly prohibited.
138
-
139
- ---
140
-
141
- Need help? Contact us at `wx-zhaog@dtjoy.com`
1
+ <div align="center">
2
+
3
+ # dt-design
4
+
5
+ English | [简体中文](./README-zh_CN.md)
6
+
7
+ An enterprise-class React component library built on [Ant Design](https://github.com/ant-design/ant-design), optimized for back-office business scenarios with high reusability and extensibility.
8
+
9
+ </div>
10
+
11
+ ---
12
+
13
+ ## 📖 Introduction
14
+
15
+ dt-design is a React component library internally developed by the **Digital Business Department**, extending Ant Design. It consolidates common business patterns into **out-of-the-box components**, boosting development velocity while reducing redundant code.
16
+
17
+ ---
18
+
19
+ ## 🎯 When to Use
20
+
21
+ - ✅ Ant Design's basic components are insufficient for complex business requirements
22
+ - Multiple projects share similar modules and need a unified implementation
23
+ - You want to extract general business logic to avoid duplicate development
24
+ - ✅ You need consistent UI specification and interaction behavior across products
25
+
26
+ ---
27
+
28
+ ## 📦 Installation
29
+
30
+ ```bash
31
+ # npm
32
+ npm install @dtjoy/dt-design
33
+
34
+ # yarn
35
+ yarn add @dtjoy/dt-design
36
+
37
+ # pnpm
38
+ pnpm add @dtjoy/dt-design
39
+ ```
40
+
41
+ ---
42
+
43
+ ## 🚀 Quick Start
44
+
45
+ ```tsx
46
+ import React from 'react';
47
+ import { BlockHeader } from '@dtjoy/dt-design';
48
+
49
+ const App = () => <BlockHeader title="Category Title" background />;
50
+ ```
51
+
52
+ ---
53
+
54
+ ## 📌 Tree-Shaking & On-Demand
55
+
56
+ ES modules are fully supported; import only what you need and the bundler will drop the rest automatically:
57
+
58
+ ```ts
59
+ import { BlockHeader, Table } from '@dtjoy/dt-design';
60
+ ```
61
+
62
+ ---
63
+
64
+ ## 🎨 Styles & Bundler Setup
65
+
66
+ Component entries import their own Less sources, so your bundler must be able to compile Less from `node_modules`:
67
+
68
+ - **webpack 4 / 5**: install `less` + `less-loader` — works out of the box.
69
+ - **Vite**: install `less` (`pnpm add -D less`) — no extra config needed.
70
+ - **Jest**: map style files to a mock:
71
+
72
+ ```js
73
+ moduleNameMapper: { '\\.(css|less)$': '<rootDir>/tests/styleMock.js' }
74
+ ```
75
+
76
+ A prebuilt stylesheet is also shipped at `@dtjoy/dt-design/dist/dt-design.min.css`.
77
+
78
+ > **Peer dependencies**: `react >= 17`, `antd >= 4.24.0 < 5.0.0` (Ant Design v4 only). Since entries import Less sources, requiring the package directly in plain Node (SSR, or Jest without the mock above) throws on the `.less` imports — use the style mock or go through your bundler.
79
+
80
+ ---
81
+
82
+ ## 🌐 UMD / CDN
83
+
84
+ `dist/dt-design.min.js` exposes the global `DtDesign`. Load these globals first: `React`, `ReactDOM`, `antd` and `icons` (the UMD build of `@ant-design/icons`), and include `dist/dt-design.min.css` for styles.
85
+
86
+ ---
87
+
88
+ ## 🧩 TypeScript First
89
+
90
+ Written entirely in TypeScript with complete type definitions for better IntelliSense and compile-time safety.
91
+
92
+ ---
93
+
94
+ ## 🛠 Local Development
95
+
96
+ ```bash
97
+ git clone https://github.com/ZhaoFxxkSky/dt-design
98
+ cd dt-design
99
+ pnpm install
100
+ pnpm dev
101
+ ```
102
+
103
+ Then open [http://127.0.0.1:8000](http://127.0.0.1:8000).
104
+ We use [dumi](https://d.umijs.org/) for docs & component management.
105
+
106
+ ---
107
+
108
+ ## 📦 Build & Release
109
+
110
+ ### Build the library
111
+
112
+ ```bash
113
+ pnpm build
114
+ pnpm build:dts
115
+ ```
116
+
117
+ ### Release
118
+
119
+ ```bash
120
+ # Automatically bump version, update CHANGELOG, create tag and push
121
+ pnpm release
122
+
123
+ # Or specify release type
124
+ pnpm release -- --release-as minor
125
+ ```
126
+
127
+ Pushing a `v*` tag will trigger the GitHub Actions release workflow to publish to npm and create a GitHub Release.
128
+
129
+ ### Deploy documentation site
130
+
131
+ Documentation is automatically deployed to GitHub Pages when pushing to `main`. You can also trigger it manually from the Actions tab.
132
+
133
+ ---
134
+
135
+ ## 🤝 Contributing
136
+
137
+ We welcome Issues and Pull Requests. Workflow:
138
+
139
+ 1. Fork the repository
140
+ 2. Create your feature branch (`git checkout -b feature/xxx`)
141
+ 3. Commit your changes (`git commit -m 'feat: add xxx'`)
142
+ 4. Push to the branch (`git push origin feature/xxx`)
143
+ 5. Open a Pull Request
144
+
145
+ Please read [CONTRIBUTING.md](./CONTRIBUTING.md) for coding standards and CI rules.
146
+
147
+ ---
148
+
149
+ ## 👨‍💻 Core Team
150
+
151
+ Maintained by the **Digital Business Department**. Thanks to all contributors!
152
+
153
+ ---
154
+
155
+ ## 📄 License
156
+
157
+ Internal use only. Redistribution or publication without explicit permission is strictly prohibited.
158
+
159
+ ---
160
+
161
+ Need help? Contact us at `wx-zhaog@dtjoy.com`
@@ -0,0 +1 @@
1
+ .ant-block-header__title{align-items:center;border-radius:4px;display:flex;justify-content:space-between}.ant-block-header__title--large .title__box{line-height:24px}.ant-block-header__title--large .title__box .title__text{font-size:16px}.ant-block-header__title--middle .title__box{line-height:22px}.ant-block-header__title--middle .title__box .title__text{font-size:14px}.ant-block-header__title--small .title__box{line-height:20px}.ant-block-header__title--small .title__box .title__text{font-size:12px}.ant-block-header__title--background{background-color:#f9f9fa;padding:0 12px}.ant-block-header__title--background.ant-block-header__title--large,.ant-block-header__title--background.ant-block-header__title--middle{height:40px}.ant-block-header__title--background.ant-block-header__title--small{height:32px}.ant-block-header__title--pointer{cursor:pointer}.ant-block-header__title .title__box{align-items:center;display:flex;flex:1 1}.ant-block-header__title .title__addon-before{color:#1890ff;margin-right:8px}.ant-block-header__title .title__addon-before--middle{font-size:20px}.ant-block-header__title .title__addon-before--middle .addon-before--default{background-color:#1890ff;height:16px;width:4px}.ant-block-header__title .title__addon-before--small{font-size:16px}.ant-block-header__title .title__addon-before--small .addon-before--default{background-color:#1890ff;height:16px;width:4px}.ant-block-header__title .title__addon-before--large{font-size:24px}.ant-block-header__title .title__addon-before--large .addon-before--default{background-color:#1890ff;height:20px;width:4px}.ant-block-header__title .title__tooltip{color:#b1b4c5;cursor:pointer;display:flex;font-size:14px;margin-right:4px}.ant-block-header__title .title__text{color:rgba(0,0,0,.85);font-weight:500;margin-right:4px}.ant-block-header__title .title__description{align-items:center;color:rgba(0,0,0,.85);display:flex;font-size:12px}.ant-block-header__title .title__addon-after{color:rgba(0,0,0,.85)}.ant-block-header__title .title__collapse{align-items:center;color:rgba(0,0,0,.85);cursor:pointer;display:flex;-ms-user-select:none;user-select:none}.ant-block-header__title .title__collapse .collapse__text{font-size:12px;margin:0 4px}.ant-block-header__title .title__collapse .collapse__icon{font-size:16px;transition:transform .4s}.ant-block-header__title .title__collapse .collapse__icon--down{transform:rotate(-180deg)}.ant-block-header__title .title__collapse .collapse__icon--up{transform:rotate(0deg)}.ant-block-header__content{padding:16px 24px}.ant-collapsible-wrapper{box-sizing:border-box}.ant-collapsible-transition{transition:height .25s ease 0ms,opacity .25s cubic-bezier(.55,.055,.675,.19) 0ms}.ant-btn{align-items:center;display:inline-flex;font-size:14px;justify-content:center;padding:4px 16px;transition:all .3s cubic-bezier(.645,.045,.355,1)}.ant-btn .anticon{font-size:16px}.ant-btn .anticon+span{margin-left:8px}.ant-btn-sm{padding:2px 12px}.ant-btn-sm,.ant-btn-sm .anticon{font-size:12px}.ant-btn-sm .anticon+span{margin-left:2px}.ant-btn-lg{font-size:14px;padding:3px 40px}.ant-btn-lg .anticon{font-size:18px}.ant-btn-lg .anticon+span{margin-left:8px}.ant-btn-circle{border-radius:50%;padding-inline:0}.ant-btn-primary:focus,.ant-btn-primary:hover{background:#225fdb;border-color:#225fdb;color:#fff}.ant-btn-primary[disabled],.ant-btn-primary[disabled]:active,.ant-btn-primary[disabled]:focus,.ant-btn-primary[disabled]:hover{background:rgba(0,0,0,.25);border-color:rgba(0,0,0,.25);box-shadow:none;color:#f9f9f9;cursor:not-allowed;opacity:1;text-shadow:none}.ant-btn-default[disabled],.ant-btn-default[disabled]:active,.ant-btn-default[disabled]:focus,.ant-btn-default[disabled]:hover{background:transparent;border-color:#d9d9d9;box-shadow:none;color:rgba(0,0,0,.25);cursor:not-allowed;opacity:1;text-shadow:none}.dt-btn-secondary{border-color:#1890ff;color:#1890ff}.dt-btn-secondary:focus,.dt-btn-secondary:hover{background:rgba(24,144,255,.1);border-color:#1890ff;color:#1890ff}.dt-btn-secondary[disabled],.dt-btn-secondary[disabled]:active,.dt-btn-secondary[disabled]:focus,.dt-btn-secondary[disabled]:hover{background:#f3f3f3;border-color:#d9d9d9;box-shadow:none;color:rgba(0,0,0,.25);cursor:not-allowed;opacity:1;text-shadow:none}.dt-btn-tertiary{background-color:#f3f3f3;border-color:#d9d9d9}.dt-btn-tertiary:focus,.dt-btn-tertiary:hover{background:rgba(24,144,255,.1);border-color:#1890ff;color:#1890ff}.dt-btn-tertiary[disabled],.dt-btn-tertiary[disabled]:active,.dt-btn-tertiary[disabled]:focus,.dt-btn-tertiary[disabled]:hover{background:#f3f3f3;border-color:#d9d9d9;box-shadow:none;color:rgba(0,0,0,.25);cursor:not-allowed;opacity:1;text-shadow:none}.ant-collapsible-action-items__icon{font-size:16px}.ant-flex{display:flex;margin:0;padding:0}.ant-flex-vertical{flex-direction:column}.ant-flex-rtl{direction:rtl}.ant-flex:empty{display:none}.ant-flex-gap-small{gap:8px}.ant-flex-gap-middle{gap:16px}.ant-flex-gap-large{gap:24px}.ant-flex-wrap-nowrap{flex-wrap:nowrap}.ant-flex-wrap-wrap{flex-wrap:wrap}.ant-flex-wrap-wrap-reverse{flex-wrap:wrap-reverse}.ant-flex-align-stretch{align-items:stretch}.ant-flex-align-flex-start{align-items:flex-start}.ant-flex-align-center{align-items:center}.ant-flex-align-flex-end{align-items:flex-end}.ant-flex-align-baseline{align-items:baseline}.ant-flex-justify-flex-start{justify-content:flex-start}.ant-flex-justify-center{justify-content:center}.ant-flex-justify-flex-end{justify-content:flex-end}.ant-flex-justify-space-between{justify-content:space-between}.ant-flex-justify-space-around{justify-content:space-around}.ant-flex-justify-space-evenly{justify-content:space-evenly}.ant-form-list{height:100%}.ant-form-list__column--required{vertical-align:-.1em}.ant-form-list__column--required:before{color:#ff4d4f;content:"*";display:inline-block;font-size:14px;line-height:1;margin-inline-end:4px}.ant-form-list .ant-table,.ant-form-list .ant-table-container{height:100%}.ant-form-list .ant-form-item{margin-bottom:0}.ant-form-list table colgroup>col.ant-table-selection-col{width:48px}.ant-form-list .ant-table-thead>tr>th.ant-table-selection-column{padding:0 16px}.ant-form-list .ant-table-tbody>tr>td.ant-table-selection-column{padding:0 16px}.ant-overflow-list{display:flex;flex-wrap:nowrap;min-width:0}.ant-splitter{align-items:stretch;display:flex;height:100%;width:100%}.ant-splitter>.ant-splitter-bar{flex:none;position:relative;-ms-user-select:none;user-select:none}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger{left:50%;pointer-events:auto;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger:before{background:#f5f5f5;content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger:after{background:rgba(0,0,0,.15);content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger:hover:not(.ant-splitter-bar-dragger-active):before{background:#e6f7ff}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger.ant-splitter-bar-dragger-active{z-index:2}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger.ant-splitter-bar-dragger-active:before{background:#e6f7ff}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger.ant-splitter-bar-dragger-disabled{cursor:default;z-index:0}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger.ant-splitter-bar-dragger-disabled.ant-splitter-bar-dragger-active:before,.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger.ant-splitter-bar-dragger-disabled:before,.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger.ant-splitter-bar-dragger-disabled:hover:before{background:#f5f5f5}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger.ant-splitter-bar-dragger-disabled:after{display:none}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger.ant-splitter-bar-dragger-customize:before{background:transparent}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger.ant-splitter-bar-dragger-customize:after{display:none}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-dragger .ant-splitter-bar-dragger-icon{align-items:center;display:flex;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-collapse-bar{align-items:center;background:#f5f5f5;border-radius:2px;color:rgba(0,0,0,.85);cursor:pointer;display:flex;font-size:14px;justify-content:center;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1030}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-collapse-bar:hover{background:#e6f7ff}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-collapse-bar:active{background:#e6f7ff}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-collapse-bar.ant-splitter-bar-collapse-bar-customize{background:transparent}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-collapse-bar.ant-splitter-bar-collapse-bar-customize:active,.ant-splitter>.ant-splitter-bar .ant-splitter-bar-collapse-bar.ant-splitter-bar-collapse-bar-customize:hover{background:transparent}.ant-splitter>.ant-splitter-bar:focus-visible{outline:none}.ant-splitter>.ant-splitter-bar:focus-visible .ant-splitter-bar-dragger:before{background:#e6f7ff;box-shadow:0 0 0 2px #1890ff}.ant-splitter>.ant-splitter-bar:active .ant-splitter-bar-collapse-bar-hover-only,.ant-splitter>.ant-splitter-bar:hover .ant-splitter-bar-collapse-bar-hover-only{opacity:1}@media (hover:none){.ant-splitter>.ant-splitter-bar .ant-splitter-bar-collapse-bar-hover-only{opacity:1}}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-collapse-bar-always-hidden{display:none}.ant-splitter>.ant-splitter-bar .ant-splitter-bar-collapse-bar-always-visible{opacity:1}.ant-splitter .ant-splitter-mask{background:transparent;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.ant-splitter .ant-splitter-mask.ant-splitter-mask-horizontal{cursor:col-resize}.ant-splitter .ant-splitter-mask.ant-splitter-mask-vertical{cursor:row-resize}.ant-splitter.ant-splitter-horizontal{flex-direction:row}.ant-splitter.ant-splitter-horizontal>.ant-splitter-bar{width:0}.ant-splitter.ant-splitter-horizontal>.ant-splitter-bar .ant-splitter-bar-preview{background:#1890ff;display:none;height:100%;opacity:.2;pointer-events:none;position:absolute;transition:none;width:2px;z-index:1}.ant-splitter.ant-splitter-horizontal>.ant-splitter-bar .ant-splitter-bar-preview.ant-splitter-bar-preview-active{display:block;transform:translateX(var(--ant-splitter-bar-preview-offset))}.ant-splitter.ant-splitter-horizontal>.ant-splitter-bar .ant-splitter-bar-dragger{cursor:col-resize;height:100%;width:6px}.ant-splitter.ant-splitter-horizontal>.ant-splitter-bar .ant-splitter-bar-dragger:before{height:100%;width:2px}.ant-splitter.ant-splitter-horizontal>.ant-splitter-bar .ant-splitter-bar-dragger:after{height:20px;width:2px}.ant-splitter.ant-splitter-horizontal>.ant-splitter-bar .ant-splitter-bar-collapse-bar{height:24px;width:12px}.ant-splitter.ant-splitter-horizontal>.ant-splitter-bar .ant-splitter-bar-collapse-bar.ant-splitter-bar-collapse-bar-start{left:auto;right:3px;transform:translateY(-50%)}.ant-splitter.ant-splitter-horizontal>.ant-splitter-bar .ant-splitter-bar-collapse-bar.ant-splitter-bar-collapse-bar-end{left:3px;right:auto;transform:translateY(-50%)}.ant-splitter.ant-splitter-vertical{flex-direction:column}.ant-splitter.ant-splitter-vertical>.ant-splitter-bar{height:0}.ant-splitter.ant-splitter-vertical>.ant-splitter-bar .ant-splitter-bar-preview{background:#1890ff;display:none;height:2px;opacity:.2;pointer-events:none;position:absolute;transition:none;width:100%;z-index:1}.ant-splitter.ant-splitter-vertical>.ant-splitter-bar .ant-splitter-bar-preview.ant-splitter-bar-preview-active{display:block;transform:translateY(var(--ant-splitter-bar-preview-offset))}.ant-splitter.ant-splitter-vertical>.ant-splitter-bar .ant-splitter-bar-dragger{cursor:row-resize;height:6px;width:100%}.ant-splitter.ant-splitter-vertical>.ant-splitter-bar .ant-splitter-bar-dragger:before{height:2px;width:100%}.ant-splitter.ant-splitter-vertical>.ant-splitter-bar .ant-splitter-bar-dragger:after{height:2px;width:20px}.ant-splitter.ant-splitter-vertical>.ant-splitter-bar .ant-splitter-bar-collapse-bar{height:12px;width:24px}.ant-splitter.ant-splitter-vertical>.ant-splitter-bar .ant-splitter-bar-collapse-bar.ant-splitter-bar-collapse-bar-start{bottom:3px;top:auto;transform:translateX(-50%)}.ant-splitter.ant-splitter-vertical>.ant-splitter-bar .ant-splitter-bar-collapse-bar.ant-splitter-bar-collapse-bar-end{bottom:auto;top:3px;transform:translateX(-50%)}.ant-splitter .ant-splitter-panel{box-sizing:border-box;overflow:auto}.ant-splitter .ant-splitter-panel.ant-splitter-panel-motion{transition:flex-basis .3s ease-in-out}.ant-splitter .ant-splitter-panel::-webkit-scrollbar{height:8px;width:8px}.ant-splitter .ant-splitter-panel::-webkit-scrollbar-thumb{background:rgba(0,0,0,.35);border-radius:4px}.ant-splitter .ant-splitter-panel.ant-splitter-panel-hidden{overflow:hidden}.ant-splitter .ant-splitter-panel:has(.ant-splitter:only-child){overflow:hidden}.ant-splitter.ant-rtl.ant-splitter-horizontal>.ant-splitter-bar .ant-splitter-bar-collapse-previous{left:auto;right:0}.ant-splitter.ant-rtl.ant-splitter-horizontal>.ant-splitter-bar .ant-splitter-bar-collapse-next{left:0;right:auto}.ant-splitter.ant-rtl.ant-splitter-vertical>.ant-splitter-bar .ant-splitter-bar-collapse-previous{left:auto;right:50%}.ant-splitter.ant-rtl.ant-splitter-vertical>.ant-splitter-bar .ant-splitter-bar-collapse-next{left:auto;right:50%}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ant-status-tag{align-items:center;color:#3d446e;display:flex;font-size:12px;height:24px;width:fit-content}.ant-status-tag .ant-spin{font-size:14px}.ant-status-tag--border{background-color:#fff;border:1px solid #d8dae2;padding:2px 12px}.ant-status-tag--fill{padding:2px 12px}.ant-status-tag--rounded{border-radius:14px}.ant-status-tag__icon{align-items:center;display:flex;font-size:16px;margin-right:8px}.ant-status-tag__icon--default{border-radius:50%;display:inline-block;height:6px;width:6px}.ant-status-tag__icon--loading{animation:spin 1s linear infinite}.ant-status-tag__text{font-size:12px;font-weight:400;line-height:22px;white-space:nowrap}.ant-status-tag__yellow--icon{color:#fbb310}.ant-status-tag__yellow--fill{background-color:#fff4d9;color:#fbb310}.ant-status-tag__yellow--iconBg{background:#fbb310}.ant-status-tag__blue--icon{color:#1d78ff}.ant-status-tag__blue--fill{background-color:#e8f1ff;color:#1d78ff}.ant-status-tag__blue--iconBg{background:#1d78ff}.ant-status-tag__green--icon{color:#11d782}.ant-status-tag__green--fill{background-color:#e7fbf7;color:#11d782}.ant-status-tag__green--iconBg{background:#11d782}.ant-status-tag__gray--icon{color:#b1b4c5}.ant-status-tag__gray--fill{background-color:#f5f5f8;color:#b1b4c5}.ant-status-tag__gray--iconBg{background:#b1b4c5}.ant-status-tag__red--icon{color:#f96c5b}.ant-status-tag__red--fill{background-color:#fde9e7;color:#f96c5b}.ant-status-tag__red--iconBg{background:#f96c5b}.ant-status-tag__purple--icon{color:#ac9dff}.ant-status-tag__purple--fill{background-color:#eae6ff;color:#ac9dff}.ant-status-tag__purple--iconBg{background:#ac9dff}.ant-status-tag__cyan--icon{color:#2cccdf}.ant-status-tag__cyan--fill{background-color:#e7f8fa;color:#2cccdf}.ant-status-tag__cyan--iconBg{background:#2cccdf}.ant-status-tag__pink--icon{color:#ff82ae}.ant-status-tag__pink--fill{background-color:#ffe6ef;color:#ff82ae}.ant-status-tag__pink--iconBg{background:#ff82ae}.ant-table-wrapper{--rc-virtual-list-scrollbar-bg:rgba(5,5,5,.06);--ant-table-row-height:54px;clear:both;max-width:100%}.ant-table-wrapper.ant-table-middle{--ant-table-row-height:46px}.ant-table-wrapper.ant-table-small{--ant-table-row-height:38px}.ant-table-wrapper:before{content:"";display:table}.ant-table-wrapper:after{clear:both;content:"";display:table}.ant-table-wrapper .ant-table{background:#fff;border-radius:8px 8px 0 0;box-sizing:border-box;color:rgba(0,0,0,.88);font-family:inherit;font-size:14px;line-height:1.57142857;list-style:none;margin:0;padding:0;scrollbar-color:rgba(0,0,0,.25) rgba(5,5,5,.06)}.ant-table-wrapper table{border-collapse:separate;border-radius:8px 8px 0 0;border-spacing:0;text-align:start;width:100%}.ant-table-wrapper .ant-table-cell,.ant-table-wrapper .ant-table-tbody>tr>td,.ant-table-wrapper .ant-table-tbody>tr>th,.ant-table-wrapper .ant-table-thead>tr>th,.ant-table-wrapper tfoot>tr>td,.ant-table-wrapper tfoot>tr>th{overflow-wrap:break-word;padding:16px;position:relative}.ant-table-wrapper .ant-table-title{padding:16px}.ant-table-wrapper .ant-table-thead>tr>td,.ant-table-wrapper .ant-table-thead>tr>th{background:#fafafa;border-bottom:1px solid #f0f0f0;color:rgba(0,0,0,.88);font-weight:600;position:relative;text-align:start;transition:background-color .2s ease}.ant-table-wrapper .ant-table-thead>tr>td[colspan]:not([colspan="1"]),.ant-table-wrapper .ant-table-thead>tr>th[colspan]:not([colspan="1"]){text-align:center}.ant-table-wrapper .ant-table-thead>tr>td:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]):before,.ant-table-wrapper .ant-table-thead>tr>th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan]):before{background-color:#f0f0f0;content:"";height:1.6em;inset-inline-end:0;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .2s;width:1px}.ant-table-wrapper .ant-table-thead>tr:not(:last-child)>th[colspan]{border-bottom:0}.ant-table-wrapper .ant-table-tbody>tr>td,.ant-table-wrapper .ant-table-tbody>tr>th{border-bottom:1px solid #f0f0f0;transition:background-color .2s,border-color .2s}.ant-table-wrapper .ant-table-tbody>tr>th{background:#fafafa;border-bottom:1px solid #f0f0f0;color:rgba(0,0,0,.88);font-weight:600;position:relative;text-align:start;transition:background-color .2s ease}.ant-table-wrapper .ant-table-tbody>tr>.ant-table-measure-cell{border-block:0!important;padding-block:0!important}.ant-table-wrapper .ant-table-tbody>tr>.ant-table-measure-cell .ant-table-measure-cell-content{height:0;overflow:hidden;pointer-events:none}.ant-table-wrapper .ant-table-footer{background:#fafafa;color:rgba(0,0,0,.88);padding:16px}.ant-table-wrapper .ant-table-header{background:#fafafa;overflow:hidden}.ant-table-wrapper .ant-table-body,.ant-table-wrapper .ant-table-content{overflow:auto}.ant-table-wrapper .ant-table-pagination{display:flex;flex-wrap:wrap;margin:16px 0;row-gap:8px}.ant-table-wrapper .ant-table-pagination>*{flex:none}.ant-table-wrapper .ant-table-pagination-start{justify-content:flex-start}.ant-table-wrapper .ant-table-pagination-center{justify-content:center}.ant-table-wrapper .ant-table-pagination-end{justify-content:flex-end}.ant-table-wrapper .ant-table-summary{background:#fff;position:relative;z-index:2}.ant-table-wrapper .ant-table-summary>tr>td,.ant-table-wrapper .ant-table-summary>tr>th{border-bottom:1px solid #f0f0f0}.ant-table-wrapper div.ant-table-summary{box-shadow:0 -1px 0 #f0f0f0}.ant-table-wrapper .ant-table-thead th.ant-table-column-has-sorters{cursor:pointer;outline:none;transition:all .3s,left 0s}.ant-table-wrapper .ant-table-thead th.ant-table-column-has-sorters:hover{background:#f5f5f5}.ant-table-wrapper .ant-table-thead th.ant-table-column-has-sorters:hover:before{background-color:transparent!important}.ant-table-wrapper .ant-table-thead th.ant-table-column-has-sorters:focus-visible{color:#1677ff}.ant-table-wrapper .ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-left:hover,.ant-table-wrapper .ant-table-thead th.ant-table-column-has-sorters.ant-table-cell-fix-right:hover{background:#fafafa}.ant-table-wrapper .ant-table-thead th.ant-table-column-sort{background:#fafafa}.ant-table-wrapper .ant-table-thead th.ant-table-column-sort:before{background-color:transparent!important}.ant-table-wrapper td.ant-table-column-sort{background:#fafafa}.ant-table-wrapper .ant-table-column-title{flex:1 1;min-width:0;position:relative;z-index:1}.ant-table-wrapper .ant-table-column-sorters{align-items:center;display:flex;flex:auto;justify-content:space-between}.ant-table-wrapper .ant-table-column-sorters:after{content:"";height:100%;inset:0;position:absolute;width:100%}.ant-table-wrapper .ant-table-column-sorters-tooltip-target-sorter:after{content:none}.ant-table-wrapper .ant-table-column-sorter{color:rgba(0,0,0,.29);font-size:0;margin-inline-start:4px;transition:color .3s}.ant-table-wrapper .ant-table-column-sorter-inner{align-items:center;display:inline-flex;flex-direction:column}.ant-table-wrapper .ant-table-column-sorter-down,.ant-table-wrapper .ant-table-column-sorter-up{font-size:12px}.ant-table-wrapper .ant-table-column-sorter-down.active,.ant-table-wrapper .ant-table-column-sorter-up.active{color:#1677ff}.ant-table-wrapper .ant-table-column-sorter .ant-table-column-sorter-up+.ant-table-column-sorter-down{margin-top:-.3em}.ant-table-wrapper .ant-table-column-sorters:hover .ant-table-column-sorter{color:rgba(0,0,0,.57)}.ant-table-wrapper .ant-table-filter-column{display:flex;justify-content:space-between}.ant-table-wrapper .ant-table-filter-trigger{align-items:center;border-radius:6px;color:rgba(0,0,0,.29);cursor:pointer;display:flex;font-size:12px;margin-block:-4px;margin-inline:4px -8px;padding:0 4px;position:relative;transition:all .3s}.ant-table-wrapper .ant-table-filter-trigger:hover{background:#f5f5f5;color:rgba(0,0,0,.88)}.ant-table-wrapper .ant-table-filter-trigger.active{color:#1677ff}.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-title{border:1px solid #f0f0f0;border-bottom:0}.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container{border-inline-start:1px solid #f0f0f0;border-top:1px solid #f0f0f0}.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>td,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>th{border-inline-end:1px solid #f0f0f0}.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr:not(:last-child)>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr:not(:last-child)>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr:not(:last-child)>th,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr:not(:last-child)>th{border-bottom:1px solid #f0f0f0}.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>th:before,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th:before,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th:before,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>th:before{background-color:transparent!important}.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>.ant-table-cell-fix-right-first:not(.ant-table-cell-fix-right-last):after,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>.ant-table-cell-fix-right-first:not(.ant-table-cell-fix-right-last):after,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>.ant-table-cell-fix-right-first:not(.ant-table-cell-fix-right-last):after,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>.ant-table-cell-fix-right-first:not(.ant-table-cell-fix-right-last):after,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>.ant-table-cell-fix-right-first:not(.ant-table-cell-fix-right-last):after,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>.ant-table-cell-fix-right-first:not(.ant-table-cell-fix-right-last):after,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>.ant-table-cell-fix-right-first:not(.ant-table-cell-fix-right-last):after,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>.ant-table-cell-fix-right-first:not(.ant-table-cell-fix-right-last):after,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>.ant-table-cell-fix-right-first:not(.ant-table-cell-fix-right-last):after,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tbody>tr>.ant-table-cell-fix-right-first:not(.ant-table-cell-fix-right-last):after,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>tfoot>tr>.ant-table-cell-fix-right-first:not(.ant-table-cell-fix-right-last):after,.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-container>.ant-table-summary>table>thead>tr>.ant-table-cell-fix-right-first:not(.ant-table-cell-fix-right-last):after{border-inline-end:1px solid #f0f0f0}.ant-table-wrapper .ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-expanded-row>td,.ant-table-wrapper .ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-expanded-row>th,.ant-table-wrapper .ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-placeholder>td,.ant-table-wrapper .ant-table.ant-table-bordered.ant-table-scroll-horizontal>.ant-table-container>.ant-table-body>table>tbody>tr.ant-table-placeholder>th{border-inline-end:0}.ant-table-wrapper .ant-table.ant-table-bordered>.ant-table-footer{border:1px solid #f0f0f0;border-top:0}.ant-table-wrapper .ant-table-cell .ant-table-container:first-child{border-top:0}.ant-table-wrapper .ant-table .ant-table-header,.ant-table-wrapper .ant-table .ant-table-title{border-radius:8px 8px 0 0}.ant-table-wrapper .ant-table .ant-table-title+.ant-table-container{border-start-end-radius:0;border-start-start-radius:0}.ant-table-wrapper .ant-table .ant-table-title+.ant-table-container .ant-table-header,.ant-table-wrapper .ant-table .ant-table-title+.ant-table-container table{border-radius:0}.ant-table-wrapper .ant-table .ant-table-title+.ant-table-container table>thead>tr:first-child td:first-child,.ant-table-wrapper .ant-table .ant-table-title+.ant-table-container table>thead>tr:first-child td:last-child,.ant-table-wrapper .ant-table .ant-table-title+.ant-table-container table>thead>tr:first-child th:first-child,.ant-table-wrapper .ant-table .ant-table-title+.ant-table-container table>thead>tr:first-child th:last-child{border-radius:0}.ant-table-wrapper .ant-table .ant-table-container{border-start-end-radius:8px;border-start-start-radius:8px}.ant-table-wrapper .ant-table .ant-table-container:before{border-start-start-radius:8px}.ant-table-wrapper .ant-table .ant-table-container:after{border-start-end-radius:8px}.ant-table-wrapper .ant-table .ant-table-container>.ant-table-content{border-start-end-radius:8px;border-start-start-radius:8px}.ant-table-wrapper .ant-table .ant-table-container table>thead>tr:first-child>:first-child{border-start-start-radius:8px}.ant-table-wrapper .ant-table .ant-table-container table>thead>tr:first-child>:last-child{border-start-end-radius:8px}.ant-table-wrapper .ant-table .ant-table-footer{border-radius:0 0 8px 8px}.ant-table-wrapper .ant-table-expand-icon-col{width:48px}.ant-table-wrapper .ant-table-row-expand-icon-cell{text-align:center}.ant-table-wrapper .ant-table-row-expand-icon-cell .ant-table-row-expand-icon{display:inline-flex;float:none;vertical-align:sub}.ant-table-wrapper .ant-table-row-indent{float:left;height:1px}.ant-table-wrapper .ant-table-row-expand-icon{background:none;background:#fff;border:1px solid #f0f0f0;border-radius:6px;color:#1677ff;color:inherit;cursor:pointer;float:left;height:17px;line-height:17px;outline:none;padding:0;position:relative;text-decoration:none;transform:scale(.94117647);transition:all .3s;-ms-user-select:none;user-select:none;width:17px}.ant-table-wrapper .ant-table-row-expand-icon:active,.ant-table-wrapper .ant-table-row-expand-icon:focus,.ant-table-wrapper .ant-table-row-expand-icon:hover{border-color:currentcolor}.ant-table-wrapper .ant-table-row-expand-icon:after,.ant-table-wrapper .ant-table-row-expand-icon:before{background:currentcolor;content:"";position:absolute;transition:transform .3s ease-out}.ant-table-wrapper .ant-table-row-expand-icon:before{height:1px;inset-inline-end:3px;inset-inline-start:3px;top:7px}.ant-table-wrapper .ant-table-row-expand-icon:after{bottom:3px;inset-inline-start:7px;top:3px;transform:rotate(90deg);width:1px}.ant-table-wrapper .ant-table-row-expand-icon-collapsed:before{transform:rotate(-180deg)}.ant-table-wrapper .ant-table-row-expand-icon-collapsed:after{transform:rotate(0deg)}.ant-table-wrapper .ant-table-row-expand-icon-spaced{background:transparent;border:0;visibility:hidden}.ant-table-wrapper .ant-table-row-expand-icon-spaced:after,.ant-table-wrapper .ant-table-row-expand-icon-spaced:before{content:none;display:none}.ant-table-wrapper .ant-table-row-indent+.ant-table-row-expand-icon{margin-inline-end:8px;margin-top:2.5px}.ant-table-wrapper tr.ant-table-expanded-row:hover>td,.ant-table-wrapper tr.ant-table-expanded-row:hover>th,.ant-table-wrapper tr.ant-table-expanded-row>td,.ant-table-wrapper tr.ant-table-expanded-row>th{background:#fafafa}.ant-table-wrapper .ant-table-expanded-row-fixed{margin:-16px;padding:16px;position:relative}.ant-table-wrapper .ant-table-tbody>tr.ant-table-placeholder{color:rgba(0,0,0,.25);text-align:center}.ant-table-wrapper .ant-table-tbody>tr.ant-table-placeholder:hover>td,.ant-table-wrapper .ant-table-tbody>tr.ant-table-placeholder:hover>th{background:#fff}.ant-table-wrapper .ant-table-selection-col{width:32px}.ant-table-wrapper .ant-table-selection-column,.ant-table-wrapper table tr td.ant-table-selection-column,.ant-table-wrapper table tr th.ant-table-selection-column{padding-inline-end:8px;padding-inline-start:8px;text-align:center}.ant-table-wrapper table tr th.ant-table-selection-column.ant-table-cell-fix-left{z-index:3}.ant-table-wrapper table tr th.ant-table-selection-column:after{background-color:transparent!important}.ant-table-wrapper .ant-table-selection{display:inline-flex;flex-direction:column;position:relative}.ant-table-wrapper .ant-table-selection-extra{cursor:pointer;margin-inline-start:100%;padding-inline-start:4px;position:absolute;top:0;transition:all .3s;z-index:1}.ant-table-wrapper .ant-table-tbody .ant-table-row.ant-table-row-selected>.ant-table-cell{background:#e6f4ff}.ant-table-wrapper .ant-table-tbody .ant-table-row.ant-table-row-selected>.ant-table-cell-row-hover{background:#bae0ff}.ant-table-wrapper .ant-table-tbody .ant-table-row>.ant-table-cell-row-hover{background:#fafafa}.ant-table-wrapper .ant-table-cell.ant-table-cell-fix{position:sticky}.ant-table-wrapper .ant-table-cell-fix{background:#fff;z-index:calc(var(--z-offset-reverse) + 2)}.ant-table-wrapper .ant-table-cell-fix:after{bottom:-1px;content:"";pointer-events:none;position:absolute;top:0;transition:box-shadow .3s;width:30px}.ant-table-wrapper .ant-table-cell-fix-start:after{inset-inline-start:100%}.ant-table-wrapper .ant-table-cell-fix-end:after{inset-inline-end:100%}.ant-table-wrapper .ant-table-cell-fix-start-shadow-show:after{box-shadow:inset 10px 0 8px -8px rgba(5,5,5,.06)}.ant-table-wrapper .ant-table-cell-fix-end-shadow-show:after{box-shadow:inset -10px 0 8px -8px rgba(5,5,5,.06)}.ant-table-wrapper .ant-table-container{position:relative}.ant-table-wrapper .ant-table-container:after,.ant-table-wrapper .ant-table-container:before{bottom:-1px;content:"";pointer-events:none;position:absolute;top:0;transition:box-shadow .3s;width:30px;z-index:calc(var(--columns-count)*2 + 3)}.ant-table-wrapper .ant-table-container:before{inset-inline-start:0}.ant-table-wrapper .ant-table-container:after{inset-inline-end:0}.ant-table-wrapper .ant-table-has-fix-start .ant-table-container:before{display:none}.ant-table-wrapper .ant-table-has-fix-end .ant-table-container:after{display:none}.ant-table-wrapper .ant-table-fix-start-shadow-show .ant-table-container:before{box-shadow:inset 10px 0 8px -8px rgba(5,5,5,.06)}.ant-table-wrapper .ant-table-fix-end-shadow-show .ant-table-container:after{box-shadow:inset -10px 0 8px -8px rgba(5,5,5,.06)}.ant-table-wrapper .ant-table-sticky-holder{background:#fff;position:sticky;z-index:calc(var(--columns-count)*2 + 3)}.ant-table-wrapper .ant-table-sticky-scroll{align-items:center;background:rgba(5,5,5,.06);border-top:1px solid #f0f0f0;bottom:0;display:flex;height:8px!important;opacity:.35;position:sticky;z-index:calc(var(--columns-count)*2 + 3)}.ant-table-wrapper .ant-table-sticky-scroll:hover{transform-origin:center bottom}.ant-table-wrapper .ant-table-sticky-scroll-bar{background-color:rgba(0,0,0,.25);border-radius:100;bottom:0;height:8px;position:absolute;transition:all .3s,transform 0s}.ant-table-wrapper .ant-table-sticky-scroll-bar-active,.ant-table-wrapper .ant-table-sticky-scroll-bar:hover{background-color:rgba(0,0,0,.88)}.ant-table-wrapper .ant-table-cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}.ant-table-wrapper .ant-table-cell-ellipsis.ant-table-cell-fix-end-shadow,.ant-table-wrapper .ant-table-cell-ellipsis.ant-table-cell-fix-start-shadow{overflow:visible}.ant-table-wrapper .ant-table-cell-ellipsis.ant-table-cell-fix-end-shadow .ant-table-cell-content,.ant-table-wrapper .ant-table-cell-ellipsis.ant-table-cell-fix-start-shadow .ant-table-cell-content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ant-table-wrapper .ant-table-cell-ellipsis .ant-table-column-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all}.ant-table-wrapper .ant-table.ant-table-middle{font-size:14px}.ant-table-wrapper .ant-table.ant-table-middle .ant-table-cell,.ant-table-wrapper .ant-table.ant-table-middle .ant-table-footer,.ant-table-wrapper .ant-table.ant-table-middle .ant-table-tbody>tr>td,.ant-table-wrapper .ant-table.ant-table-middle .ant-table-tbody>tr>th,.ant-table-wrapper .ant-table.ant-table-middle .ant-table-thead>tr>th,.ant-table-wrapper .ant-table.ant-table-middle .ant-table-title,.ant-table-wrapper .ant-table.ant-table-middle tfoot>tr>td,.ant-table-wrapper .ant-table.ant-table-middle tfoot>tr>th{padding:12px 8px}.ant-table-wrapper .ant-table.ant-table-middle .ant-table-filter-trigger{margin-inline-end:-4px}.ant-table-wrapper .ant-table.ant-table-middle .ant-table-expanded-row-fixed{margin:-12px -8px}.ant-table-wrapper .ant-table.ant-table-small{font-size:14px}.ant-table-wrapper .ant-table.ant-table-small .ant-table-cell,.ant-table-wrapper .ant-table.ant-table-small .ant-table-footer,.ant-table-wrapper .ant-table.ant-table-small .ant-table-tbody>tr>td,.ant-table-wrapper .ant-table.ant-table-small .ant-table-tbody>tr>th,.ant-table-wrapper .ant-table.ant-table-small .ant-table-thead>tr>th,.ant-table-wrapper .ant-table.ant-table-small .ant-table-title,.ant-table-wrapper .ant-table.ant-table-small tfoot>tr>td,.ant-table-wrapper .ant-table.ant-table-small tfoot>tr>th{padding:8px}.ant-table-wrapper .ant-table.ant-table-small .ant-table-filter-trigger{margin-inline-end:-4px}.ant-table-wrapper .ant-table.ant-table-small .ant-table-expanded-row-fixed{margin:-8px}.ant-table-wrapper-rtl,.ant-table-wrapper-rtl table{direction:rtl}.ant-table-wrapper-rtl .ant-table-row-expand-icon{float:right}.ant-table-wrapper-rtl .ant-table-row-expand-icon:after{transform:rotate(-90deg)}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed:before{transform:rotate(180deg)}.ant-table-wrapper-rtl .ant-table-row-expand-icon-collapsed:after{transform:rotate(0deg)}.ant-table-wrapper-rtl .ant-table-cell-fix-start-shadow-show:after{box-shadow:inset -10px 0 8px -8px rgba(5,5,5,.06)}.ant-table-wrapper-rtl .ant-table-cell-fix-end-shadow-show:after{box-shadow:inset 10px 0 8px -8px rgba(5,5,5,.06)}.ant-table-wrapper-rtl .ant-table-container .ant-table-row-indent{float:right}.ant-table-wrapper-rtl .ant-table-fix-start-shadow-show .ant-table-container:before{box-shadow:inset -10px 0 8px -8px rgba(5,5,5,.06)}.ant-table-wrapper-rtl .ant-table-fix-end-shadow-show .ant-table-container:after{box-shadow:inset 10px 0 8px -8px rgba(5,5,5,.06)}.ant-table-wrapper{position:relative}.ant-table-thead>tr>th.ant-table-cell-resizable{overflow:visible;position:relative}.ant-table-resize-handle{bottom:0;cursor:col-resize;position:absolute;right:-5px;top:0;-ms-user-select:none;user-select:none;width:10px;z-index:1}.ant-table-resize-handle:after{background-color:transparent;bottom:0;content:"";position:absolute;right:4px;top:0;transition:width .15s ease,background-color .15s ease;width:0}.ant-table-resize-handle:hover:after{background-color:#1677ff;width:3px}.ant-table-thead>tr>th:last-child .ant-table-resize-handle{right:0;width:8px}.ant-table-thead>tr>th:last-child .ant-table-resize-handle:hover:after{right:0}.ant-table-wrapper-resizing .ant-table-resize-handle:after,.ant-table-wrapper-resizing .ant-table-resize-handle:hover:after{background-color:transparent!important;width:0!important}.ant-table-resize-line{background-color:#1677ff;box-shadow:0 0 6px rgba(22,119,255,.4);display:none;margin-left:-1px;pointer-events:none;position:absolute;top:0;width:2px;z-index:10}.ant-table-editable-cell{position:relative;width:100%}.ant-table-editable-cell-error .ant-input,.ant-table-editable-cell-error .ant-input-number,.ant-table-editable-cell-error .ant-picker,.ant-table-editable-cell-error .ant-select-selector{border-color:#ff4d4f}.ant-table-editable-error-popover .ant-popover-inner{background:#fff;border-radius:8px;box-shadow:0 6px 16px 0 rgba(0,0,0,.08),0 3px 6px -4px rgba(0,0,0,.12),0 9px 28px 8px rgba(0,0,0,.05);overflow:hidden;padding:0}.ant-table-editable-error-popover .ant-popover-inner-content{padding:0}.ant-table-editable-error-content{min-width:100px;padding:9px 14px}.ant-table-editable-error-item{align-items:center;color:#ff4d4f;display:flex;font-size:13px;font-weight:500;gap:6px;white-space:nowrap}.ant-table-wrapper .ant-table-tbody-virtual .ant-table-tbody-virtual-holder-inner>.ant-table-row,.ant-table-wrapper .ant-table-tbody-virtual .ant-table-tbody-virtual-holder-inner>div:not(.ant-table-row)>.ant-table-row{box-sizing:border-box;display:flex;width:100%}.ant-table-wrapper .ant-table-tbody-virtual .ant-table-cell{border-bottom:1px solid #f0f0f0;transition:background-color .2s}.ant-table-wrapper .ant-table-bordered .ant-table-tbody-virtual:after{border-bottom:1px solid #f0f0f0;bottom:0;content:"";inset-inline:0;position:absolute}.ant-table-wrapper .ant-table-bordered .ant-table-tbody-virtual .ant-table-cell{border-inline-end:1px solid #f0f0f0}.ant-table-wrapper .ant-table-bordered .ant-table-tbody-virtual .ant-table-cell.ant-table-cell-fix-right-first:before{border-inline-start:1px solid #f0f0f0;content:"";inset-block:0;inset-inline-start:-1px;position:absolute}.ant-table-wrapper .ant-table-bordered.ant-table-virtual .ant-table-placeholder .ant-table-cell{border-bottom:1px solid #f0f0f0;border-inline-end:1px solid #f0f0f0}.ant-table-wrapper .ant-table-virtual-list{position:relative}.ant-table-wrapper .ant-table-virtual-list .ant-table-virtual-row{border-bottom:1px solid #f0f0f0;box-sizing:border-box;display:flex;transition:background .2s;width:100%}.ant-table-wrapper .ant-table-virtual-list .ant-table-virtual-row:hover{background:#fafafa}.ant-table-wrapper .ant-table-virtual-list .ant-table-row-hover{background:#fafafa}.ant-table-wrapper .ant-table-virtual-list .ant-table-virtual-cell{align-items:center;box-sizing:border-box;display:flex;flex-shrink:0;overflow:hidden;padding:16px;text-overflow:ellipsis;white-space:nowrap}.ant-table-wrapper .ant-table.ant-table-bordered .ant-table-virtual-list .ant-table-virtual-cell{border-right:1px solid #f0f0f0}