@sheinx/base 3.7.0-beta.8 → 3.7.0

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 (347) hide show
  1. package/cjs/alert/alert.d.ts.map +1 -1
  2. package/cjs/alert/alert.js +1 -1
  3. package/cjs/alert/alert.type.d.ts +1 -0
  4. package/cjs/alert/alert.type.d.ts.map +1 -1
  5. package/cjs/animation-list/animation-list.js +1 -1
  6. package/cjs/carousel/carousel.d.ts.map +1 -1
  7. package/cjs/carousel/carousel.js +6 -3
  8. package/cjs/carousel/carousel.type.d.ts +13 -0
  9. package/cjs/carousel/carousel.type.d.ts.map +1 -1
  10. package/cjs/cascader/cascader.d.ts.map +1 -1
  11. package/cjs/cascader/cascader.js +53 -35
  12. package/cjs/cascader/cascader.type.d.ts +14 -2
  13. package/cjs/cascader/cascader.type.d.ts.map +1 -1
  14. package/cjs/cascader/filter-list.type.d.ts +1 -1
  15. package/cjs/cascader/filter-list.type.d.ts.map +1 -1
  16. package/cjs/cascader/filter-node.d.ts.map +1 -1
  17. package/cjs/cascader/filter-node.js +16 -6
  18. package/cjs/cascader/node.d.ts.map +1 -1
  19. package/cjs/cascader/node.js +11 -2
  20. package/cjs/common/common.type.d.ts +2 -0
  21. package/cjs/common/common.type.d.ts.map +1 -0
  22. package/cjs/common/common.type.js +12 -0
  23. package/cjs/common/index.d.ts +2 -0
  24. package/cjs/common/index.d.ts.map +1 -0
  25. package/cjs/common/index.js +6 -0
  26. package/cjs/common/type.d.ts +3 -0
  27. package/cjs/common/type.d.ts.map +1 -1
  28. package/cjs/date-picker/date-picker.js +1 -1
  29. package/cjs/date-picker/date-picker.type.d.ts +0 -1
  30. package/cjs/date-picker/date-picker.type.d.ts.map +1 -1
  31. package/cjs/date-picker/day.d.ts.map +1 -1
  32. package/cjs/date-picker/day.js +3 -4
  33. package/cjs/form/form-footer-context.d.ts +2 -1
  34. package/cjs/form/form-footer-context.d.ts.map +1 -1
  35. package/cjs/form/form-item.d.ts.map +1 -1
  36. package/cjs/form/form-item.js +4 -3
  37. package/cjs/form/form.d.ts.map +1 -1
  38. package/cjs/form/form.js +4 -2
  39. package/cjs/form/form.type.d.ts +3 -0
  40. package/cjs/form/form.type.d.ts.map +1 -1
  41. package/cjs/grid/grid.d.ts +2 -2
  42. package/cjs/grid/grid.d.ts.map +1 -1
  43. package/cjs/grid/grid.js +8 -5
  44. package/cjs/grid/grid.type.d.ts +8 -0
  45. package/cjs/grid/grid.type.d.ts.map +1 -1
  46. package/cjs/grid/index.d.ts +1 -1
  47. package/cjs/grid/index.d.ts.map +1 -1
  48. package/cjs/grid/util.d.ts.map +1 -1
  49. package/cjs/grid/util.js +4 -12
  50. package/cjs/icons/config.d.ts +1 -0
  51. package/cjs/icons/config.d.ts.map +1 -1
  52. package/cjs/icons/config.js +2 -1
  53. package/cjs/icons/icons.js +1 -1
  54. package/cjs/image/image.d.ts.map +1 -1
  55. package/cjs/image/image.js +3 -2
  56. package/cjs/index.d.ts +2 -0
  57. package/cjs/index.d.ts.map +1 -1
  58. package/cjs/index.js +24 -0
  59. package/cjs/input/use-input-common.d.ts +1 -1
  60. package/cjs/list/list.d.ts.map +1 -1
  61. package/cjs/list/list.js +16 -5
  62. package/cjs/list/list.type.d.ts +8 -0
  63. package/cjs/list/list.type.d.ts.map +1 -1
  64. package/cjs/modal/modal-content.d.ts.map +1 -1
  65. package/cjs/modal/modal-content.js +12 -3
  66. package/cjs/modal/modal-submit.d.ts.map +1 -1
  67. package/cjs/modal/modal-submit.js +10 -3
  68. package/cjs/modal/modal.d.ts.map +1 -1
  69. package/cjs/modal/modal.js +3 -0
  70. package/cjs/popover/confirm.type.d.ts +1 -1
  71. package/cjs/popover/confirm.type.d.ts.map +1 -1
  72. package/cjs/popover/popover.d.ts.map +1 -1
  73. package/cjs/popover/popover.js +8 -8
  74. package/cjs/select/list-option.d.ts.map +1 -1
  75. package/cjs/select/list-option.js +11 -2
  76. package/cjs/select/result-more.d.ts.map +1 -1
  77. package/cjs/select/result-more.js +1 -1
  78. package/cjs/select/result.d.ts.map +1 -1
  79. package/cjs/select/result.js +9 -0
  80. package/cjs/select/select.d.ts.map +1 -1
  81. package/cjs/select/select.js +48 -38
  82. package/cjs/select/select.type.d.ts +9 -2
  83. package/cjs/select/select.type.d.ts.map +1 -1
  84. package/cjs/skeleton/button.d.ts +8 -0
  85. package/cjs/skeleton/button.d.ts.map +1 -0
  86. package/cjs/skeleton/button.js +34 -0
  87. package/cjs/skeleton/image.d.ts +8 -0
  88. package/cjs/skeleton/image.d.ts.map +1 -0
  89. package/cjs/skeleton/image.js +27 -0
  90. package/cjs/skeleton/index.d.ts +3 -0
  91. package/cjs/skeleton/index.d.ts.map +1 -0
  92. package/cjs/skeleton/index.js +20 -0
  93. package/cjs/skeleton/skeleton.d.ts +5 -0
  94. package/cjs/skeleton/skeleton.d.ts.map +1 -0
  95. package/cjs/skeleton/skeleton.js +58 -0
  96. package/cjs/skeleton/skeleton.type.d.ts +125 -0
  97. package/cjs/skeleton/skeleton.type.d.ts.map +1 -0
  98. package/cjs/skeleton/skeleton.type.js +5 -0
  99. package/cjs/skeleton/text.d.ts +8 -0
  100. package/cjs/skeleton/text.d.ts.map +1 -0
  101. package/cjs/skeleton/text.js +53 -0
  102. package/cjs/table/table.d.ts.map +1 -1
  103. package/cjs/table/table.js +103 -52
  104. package/cjs/table/table.type.d.ts +6 -3
  105. package/cjs/table/table.type.d.ts.map +1 -1
  106. package/cjs/table/tbody.d.ts +1 -1
  107. package/cjs/table/tbody.d.ts.map +1 -1
  108. package/cjs/table/tbody.js +14 -6
  109. package/cjs/table/tbody.type.d.ts +2 -1
  110. package/cjs/table/tbody.type.d.ts.map +1 -1
  111. package/cjs/table/td.d.ts +4 -4
  112. package/cjs/table/td.d.ts.map +1 -1
  113. package/cjs/table/td.js +4 -13
  114. package/cjs/table/thead-filter.d.ts.map +1 -1
  115. package/cjs/table/thead-filter.js +20 -19
  116. package/cjs/table/thead.d.ts.map +1 -1
  117. package/cjs/table/thead.js +5 -1
  118. package/cjs/table/tr.d.ts +2 -1
  119. package/cjs/table/tr.d.ts.map +1 -1
  120. package/cjs/table/tr.js +6 -2
  121. package/cjs/tabs/tabs-panel.js +4 -3
  122. package/cjs/tag/tag.d.ts.map +1 -1
  123. package/cjs/tag/tag.js +3 -1
  124. package/cjs/tag/tag.type.d.ts +6 -0
  125. package/cjs/tag/tag.type.d.ts.map +1 -1
  126. package/cjs/tooltip/tooltip.d.ts.map +1 -1
  127. package/cjs/tooltip/tooltip.js +2 -10
  128. package/cjs/transfer/transfer-list.type.d.ts +1 -1
  129. package/cjs/transfer/transfer-list.type.d.ts.map +1 -1
  130. package/cjs/transfer/transfer.d.ts.map +1 -1
  131. package/cjs/transfer/transfer.js +16 -2
  132. package/cjs/transfer/transfer.type.d.ts +1 -1
  133. package/cjs/transfer/transfer.type.d.ts.map +1 -1
  134. package/cjs/tree/tree-checkbox.d.ts.map +1 -1
  135. package/cjs/tree/tree-checkbox.js +4 -2
  136. package/cjs/tree/tree-checkbox.type.d.ts +1 -0
  137. package/cjs/tree/tree-checkbox.type.d.ts.map +1 -1
  138. package/cjs/tree/tree-content.d.ts.map +1 -1
  139. package/cjs/tree/tree-content.js +36 -3
  140. package/cjs/tree/tree-content.type.d.ts +1 -2
  141. package/cjs/tree/tree-content.type.d.ts.map +1 -1
  142. package/cjs/tree/tree-context.d.ts +3 -3
  143. package/cjs/tree/tree-context.d.ts.map +1 -1
  144. package/cjs/tree/tree-context.type.d.ts +2 -1
  145. package/cjs/tree/tree-context.type.d.ts.map +1 -1
  146. package/cjs/tree/tree-list.type.d.ts +1 -2
  147. package/cjs/tree/tree-list.type.d.ts.map +1 -1
  148. package/cjs/tree/tree-node.type.d.ts +2 -4
  149. package/cjs/tree/tree-node.type.d.ts.map +1 -1
  150. package/cjs/tree/tree-root.type.d.ts +1 -2
  151. package/cjs/tree/tree-root.type.d.ts.map +1 -1
  152. package/cjs/tree/tree-virtual-node.d.ts.map +1 -1
  153. package/cjs/tree/tree-virtual-node.js +20 -5
  154. package/cjs/tree/tree-virtual.d.ts.map +1 -1
  155. package/cjs/tree/tree-virtual.js +9 -3
  156. package/cjs/tree/tree.d.ts.map +1 -1
  157. package/cjs/tree/tree.js +8 -14
  158. package/cjs/tree/tree.type.d.ts +24 -5
  159. package/cjs/tree/tree.type.d.ts.map +1 -1
  160. package/cjs/tree-select/tree-select.d.ts.map +1 -1
  161. package/cjs/tree-select/tree-select.js +47 -35
  162. package/cjs/tree-select/tree-select.type.d.ts +30 -1
  163. package/cjs/tree-select/tree-select.type.d.ts.map +1 -1
  164. package/cjs/upload/drop.d.ts +1 -0
  165. package/cjs/upload/drop.d.ts.map +1 -1
  166. package/cjs/upload/drop.js +43 -12
  167. package/cjs/upload/upload.d.ts.map +1 -1
  168. package/cjs/upload/upload.js +3 -1
  169. package/cjs/upload/upload.type.d.ts +6 -0
  170. package/cjs/upload/upload.type.d.ts.map +1 -1
  171. package/cjs/virtual-scroll/scroll-table.d.ts +6 -3
  172. package/cjs/virtual-scroll/scroll-table.d.ts.map +1 -1
  173. package/cjs/virtual-scroll/scroll-table.js +51 -24
  174. package/esm/alert/alert.d.ts.map +1 -1
  175. package/esm/alert/alert.js +1 -1
  176. package/esm/alert/alert.type.d.ts +1 -0
  177. package/esm/alert/alert.type.d.ts.map +1 -1
  178. package/esm/animation-list/animation-list.js +1 -1
  179. package/esm/carousel/carousel.d.ts.map +1 -1
  180. package/esm/carousel/carousel.js +6 -3
  181. package/esm/carousel/carousel.type.d.ts +13 -0
  182. package/esm/carousel/carousel.type.d.ts.map +1 -1
  183. package/esm/cascader/cascader.d.ts.map +1 -1
  184. package/esm/cascader/cascader.js +53 -35
  185. package/esm/cascader/cascader.type.d.ts +14 -2
  186. package/esm/cascader/cascader.type.d.ts.map +1 -1
  187. package/esm/cascader/filter-list.type.d.ts +1 -1
  188. package/esm/cascader/filter-list.type.d.ts.map +1 -1
  189. package/esm/cascader/filter-node.d.ts.map +1 -1
  190. package/esm/cascader/filter-node.js +17 -7
  191. package/esm/cascader/node.d.ts.map +1 -1
  192. package/esm/cascader/node.js +13 -4
  193. package/esm/common/common.type.d.ts +2 -0
  194. package/esm/common/common.type.d.ts.map +1 -0
  195. package/esm/common/common.type.js +1 -0
  196. package/esm/common/index.d.ts +2 -0
  197. package/esm/common/index.d.ts.map +1 -0
  198. package/esm/common/index.js +2 -0
  199. package/esm/common/type.d.ts +3 -0
  200. package/esm/common/type.d.ts.map +1 -1
  201. package/esm/date-picker/date-picker.js +1 -1
  202. package/esm/date-picker/date-picker.type.d.ts +0 -1
  203. package/esm/date-picker/date-picker.type.d.ts.map +1 -1
  204. package/esm/date-picker/day.d.ts.map +1 -1
  205. package/esm/date-picker/day.js +3 -4
  206. package/esm/form/form-footer-context.d.ts +2 -1
  207. package/esm/form/form-footer-context.d.ts.map +1 -1
  208. package/esm/form/form-item.d.ts.map +1 -1
  209. package/esm/form/form-item.js +4 -3
  210. package/esm/form/form.d.ts.map +1 -1
  211. package/esm/form/form.js +4 -2
  212. package/esm/form/form.type.d.ts +3 -0
  213. package/esm/form/form.type.d.ts.map +1 -1
  214. package/esm/grid/grid.d.ts +2 -2
  215. package/esm/grid/grid.d.ts.map +1 -1
  216. package/esm/grid/grid.js +8 -5
  217. package/esm/grid/grid.type.d.ts +8 -0
  218. package/esm/grid/grid.type.d.ts.map +1 -1
  219. package/esm/grid/index.d.ts +1 -1
  220. package/esm/grid/index.d.ts.map +1 -1
  221. package/esm/grid/util.d.ts.map +1 -1
  222. package/esm/grid/util.js +4 -12
  223. package/esm/icons/config.d.ts +1 -0
  224. package/esm/icons/config.d.ts.map +1 -1
  225. package/esm/icons/config.js +2 -1
  226. package/esm/icons/icons.js +1 -1
  227. package/esm/image/image.d.ts.map +1 -1
  228. package/esm/image/image.js +3 -2
  229. package/esm/index.d.ts +2 -0
  230. package/esm/index.d.ts.map +1 -1
  231. package/esm/index.js +2 -0
  232. package/esm/input/use-input-common.d.ts +1 -1
  233. package/esm/list/list.d.ts.map +1 -1
  234. package/esm/list/list.js +16 -5
  235. package/esm/list/list.type.d.ts +8 -0
  236. package/esm/list/list.type.d.ts.map +1 -1
  237. package/esm/modal/modal-content.d.ts.map +1 -1
  238. package/esm/modal/modal-content.js +12 -3
  239. package/esm/modal/modal-submit.d.ts.map +1 -1
  240. package/esm/modal/modal-submit.js +10 -3
  241. package/esm/modal/modal.d.ts.map +1 -1
  242. package/esm/modal/modal.js +3 -0
  243. package/esm/popover/confirm.type.d.ts +1 -1
  244. package/esm/popover/confirm.type.d.ts.map +1 -1
  245. package/esm/popover/popover.d.ts.map +1 -1
  246. package/esm/popover/popover.js +8 -8
  247. package/esm/select/list-option.d.ts.map +1 -1
  248. package/esm/select/list-option.js +13 -4
  249. package/esm/select/result-more.d.ts.map +1 -1
  250. package/esm/select/result-more.js +1 -1
  251. package/esm/select/result.d.ts.map +1 -1
  252. package/esm/select/result.js +9 -0
  253. package/esm/select/select.d.ts.map +1 -1
  254. package/esm/select/select.js +48 -38
  255. package/esm/select/select.type.d.ts +9 -2
  256. package/esm/select/select.type.d.ts.map +1 -1
  257. package/esm/skeleton/button.d.ts +8 -0
  258. package/esm/skeleton/button.d.ts.map +1 -0
  259. package/esm/skeleton/button.js +27 -0
  260. package/esm/skeleton/image.d.ts +8 -0
  261. package/esm/skeleton/image.d.ts.map +1 -0
  262. package/esm/skeleton/image.js +20 -0
  263. package/esm/skeleton/index.d.ts +3 -0
  264. package/esm/skeleton/index.d.ts.map +1 -0
  265. package/esm/skeleton/index.js +2 -0
  266. package/esm/skeleton/skeleton.d.ts +5 -0
  267. package/esm/skeleton/skeleton.d.ts.map +1 -0
  268. package/esm/skeleton/skeleton.js +52 -0
  269. package/esm/skeleton/skeleton.type.d.ts +125 -0
  270. package/esm/skeleton/skeleton.type.d.ts.map +1 -0
  271. package/esm/skeleton/skeleton.type.js +1 -0
  272. package/esm/skeleton/text.d.ts +8 -0
  273. package/esm/skeleton/text.d.ts.map +1 -0
  274. package/esm/skeleton/text.js +46 -0
  275. package/esm/table/table.d.ts.map +1 -1
  276. package/esm/table/table.js +104 -53
  277. package/esm/table/table.type.d.ts +6 -3
  278. package/esm/table/table.type.d.ts.map +1 -1
  279. package/esm/table/tbody.d.ts +1 -1
  280. package/esm/table/tbody.d.ts.map +1 -1
  281. package/esm/table/tbody.js +15 -7
  282. package/esm/table/tbody.type.d.ts +2 -1
  283. package/esm/table/tbody.type.d.ts.map +1 -1
  284. package/esm/table/td.d.ts +4 -4
  285. package/esm/table/td.d.ts.map +1 -1
  286. package/esm/table/td.js +3 -13
  287. package/esm/table/thead-filter.d.ts.map +1 -1
  288. package/esm/table/thead-filter.js +20 -19
  289. package/esm/table/thead.d.ts.map +1 -1
  290. package/esm/table/thead.js +5 -1
  291. package/esm/table/tr.d.ts +2 -1
  292. package/esm/table/tr.d.ts.map +1 -1
  293. package/esm/table/tr.js +6 -2
  294. package/esm/tabs/tabs-panel.js +4 -3
  295. package/esm/tag/tag.d.ts.map +1 -1
  296. package/esm/tag/tag.js +3 -1
  297. package/esm/tag/tag.type.d.ts +6 -0
  298. package/esm/tag/tag.type.d.ts.map +1 -1
  299. package/esm/tooltip/tooltip.d.ts.map +1 -1
  300. package/esm/tooltip/tooltip.js +3 -11
  301. package/esm/transfer/transfer-list.type.d.ts +1 -1
  302. package/esm/transfer/transfer-list.type.d.ts.map +1 -1
  303. package/esm/transfer/transfer.d.ts.map +1 -1
  304. package/esm/transfer/transfer.js +16 -2
  305. package/esm/transfer/transfer.type.d.ts +1 -1
  306. package/esm/transfer/transfer.type.d.ts.map +1 -1
  307. package/esm/tree/tree-checkbox.d.ts.map +1 -1
  308. package/esm/tree/tree-checkbox.js +4 -2
  309. package/esm/tree/tree-checkbox.type.d.ts +1 -0
  310. package/esm/tree/tree-checkbox.type.d.ts.map +1 -1
  311. package/esm/tree/tree-content.d.ts.map +1 -1
  312. package/esm/tree/tree-content.js +37 -3
  313. package/esm/tree/tree-content.type.d.ts +1 -2
  314. package/esm/tree/tree-content.type.d.ts.map +1 -1
  315. package/esm/tree/tree-context.d.ts +3 -3
  316. package/esm/tree/tree-context.d.ts.map +1 -1
  317. package/esm/tree/tree-context.type.d.ts +2 -1
  318. package/esm/tree/tree-context.type.d.ts.map +1 -1
  319. package/esm/tree/tree-list.type.d.ts +1 -2
  320. package/esm/tree/tree-list.type.d.ts.map +1 -1
  321. package/esm/tree/tree-node.type.d.ts +2 -4
  322. package/esm/tree/tree-node.type.d.ts.map +1 -1
  323. package/esm/tree/tree-root.type.d.ts +1 -2
  324. package/esm/tree/tree-root.type.d.ts.map +1 -1
  325. package/esm/tree/tree-virtual-node.d.ts.map +1 -1
  326. package/esm/tree/tree-virtual-node.js +21 -5
  327. package/esm/tree/tree-virtual.d.ts.map +1 -1
  328. package/esm/tree/tree-virtual.js +9 -3
  329. package/esm/tree/tree.d.ts.map +1 -1
  330. package/esm/tree/tree.js +8 -14
  331. package/esm/tree/tree.type.d.ts +24 -5
  332. package/esm/tree/tree.type.d.ts.map +1 -1
  333. package/esm/tree-select/tree-select.d.ts.map +1 -1
  334. package/esm/tree-select/tree-select.js +47 -35
  335. package/esm/tree-select/tree-select.type.d.ts +30 -1
  336. package/esm/tree-select/tree-select.type.d.ts.map +1 -1
  337. package/esm/upload/drop.d.ts +1 -0
  338. package/esm/upload/drop.d.ts.map +1 -1
  339. package/esm/upload/drop.js +43 -12
  340. package/esm/upload/upload.d.ts.map +1 -1
  341. package/esm/upload/upload.js +3 -1
  342. package/esm/upload/upload.type.d.ts +6 -0
  343. package/esm/upload/upload.type.d.ts.map +1 -1
  344. package/esm/virtual-scroll/scroll-table.d.ts +6 -3
  345. package/esm/virtual-scroll/scroll-table.d.ts.map +1 -1
  346. package/esm/virtual-scroll/scroll-table.js +52 -25
  347. package/package.json +2 -2
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { SkeletonClasses, SkeletonTextProps } from './skeleton.type';
3
+ interface TextProps extends SkeletonTextProps {
4
+ classes: SkeletonClasses;
5
+ }
6
+ export default function Text({ classes, className, rows, width, height, style }: TextProps): JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["text.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGrE,UAAU,SAAU,SAAQ,iBAAiB;IAC3C,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,OAAO,CA8B3G"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = Text;
7
+ var _classnames = _interopRequireDefault(require("classnames"));
8
+ var _hooks = require("@sheinx/hooks");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function Text(_ref) {
12
+ var classes = _ref.classes,
13
+ className = _ref.className,
14
+ _ref$rows = _ref.rows,
15
+ rows = _ref$rows === void 0 ? 3 : _ref$rows,
16
+ width = _ref.width,
17
+ height = _ref.height,
18
+ style = _ref.style;
19
+ var cls = (0, _classnames.default)(classes.text, className);
20
+ var nodes = [];
21
+ function getTextWidth(index) {
22
+ if (_hooks.util.isArray(width)) {
23
+ return width[index];
24
+ }
25
+ if (rows - 1 === index) {
26
+ return width;
27
+ }
28
+ return undefined;
29
+ }
30
+ function getTextHeight(index) {
31
+ if (_hooks.util.isArray(height)) {
32
+ return height[index];
33
+ }
34
+ if (rows - 1 === index) {
35
+ return height;
36
+ }
37
+ return undefined;
38
+ }
39
+ for (var i = 0; i < rows; i++) {
40
+ nodes.push( /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
41
+ className: classes.textItem,
42
+ style: {
43
+ width: getTextWidth(i),
44
+ height: getTextHeight(i)
45
+ }
46
+ }, i));
47
+ }
48
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
49
+ className: cls,
50
+ style: style,
51
+ children: nodes
52
+ });
53
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;;AAexD,wBAunBE"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["table.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAAgB,UAAU,EAAE,MAAM,cAAc,CAAC;;AAexD,wBAmqBE"}
@@ -33,13 +33,19 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
33
33
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
34
34
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
35
35
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
36
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
37
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
38
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
39
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
40
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
41
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
36
42
  var devUseWarning = _hooks.util.devUseWarning;
37
43
  var emptyArr = [];
38
44
  var emptyRef = {
39
45
  current: null
40
46
  };
41
47
  var _default = exports.default = function _default(props) {
42
- var _props$jssStyle, _props$jssStyle$table, _props$data, _columns$find;
48
+ var _props$jssStyle, _props$jssStyle$table, _columns$find;
43
49
  var _props$verticalAlign = props.verticalAlign,
44
50
  verticalAlign = _props$verticalAlign === void 0 ? 'top' : _props$verticalAlign,
45
51
  _props$size = props.size,
@@ -51,11 +57,20 @@ var _default = exports.default = function _default(props) {
51
57
  var tableClasses = props === null || props === void 0 || (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 || (_props$jssStyle$table = _props$jssStyle.table) === null || _props$jssStyle$table === void 0 ? void 0 : _props$jssStyle$table.call(_props$jssStyle);
52
58
  var tbodyRef = (0, _react.useRef)(null);
53
59
  var theadRef = (0, _react.useRef)(null);
60
+ var theadIdRef = (0, _react.useRef)("thead-container-".concat(_hooks.util.generateUUID()));
54
61
  var tfootRef = (0, _react.useRef)(null);
55
62
  var scrollRef = (0, _react.useRef)(null);
56
63
  var headMirrorScrollRef = (0, _react.useRef)(null);
57
64
  var bottomMirrorScrollRef = (0, _react.useRef)(null);
58
65
  var tableRef = (0, _react.useRef)(null);
66
+ var _useState = (0, _react.useState)(false),
67
+ _useState2 = _slicedToArray(_useState, 2),
68
+ scrolling = _useState2[0],
69
+ setScrolling = _useState2[1];
70
+ var _useState3 = (0, _react.useState)(false),
71
+ _useState4 = _slicedToArray(_useState3, 2),
72
+ fakeVirtual = _useState4[0],
73
+ setFakeVirtual = _useState4[1];
59
74
  var browserScrollbarWidth = (0, _hooks.useScrollbarWidth)();
60
75
  if (props.fixed) {
61
76
  devUseWarning.deprecated('fixed', 'virtual', 'Table');
@@ -78,10 +93,11 @@ var _default = exports.default = function _default(props) {
78
93
  };
79
94
  var _useRef = (0, _react.useRef)({
80
95
  emptyHeight: 0,
81
- theadAndTfootHeight: 0
96
+ theadAndTfootHeight: 0,
97
+ scrollingTimer: null
82
98
  }),
83
99
  context = _useRef.current;
84
- var virtual = ((_props$data = props.data) === null || _props$data === void 0 ? void 0 : _props$data.length) && props.rowsInView !== 0 && (!!props.virtual || props.fixed === 'both' || props.fixed === 'y' || props.fixed === 'auto');
100
+ var virtual = !fakeVirtual && props.rowsInView !== 0 && (!!props.virtual || props.fixed === 'both' || props.fixed === 'y' || props.fixed === 'auto');
85
101
 
86
102
  // 虚拟列表高度另外计算
87
103
  var _useResize = (0, _hooks.useResize)({
@@ -212,7 +228,13 @@ var _default = exports.default = function _default(props) {
212
228
  });
213
229
  (0, _react.useEffect)(function () {
214
230
  var _theadRef$current, _tfootRef$current;
215
- context.theadAndTfootHeight = ((theadRef === null || theadRef === void 0 || (_theadRef$current = theadRef.current) === null || _theadRef$current === void 0 ? void 0 : _theadRef$current.clientHeight) || 0) + (((_tfootRef$current = tfootRef.current) === null || _tfootRef$current === void 0 ? void 0 : _tfootRef$current.clientHeight) || 0);
231
+ var theadHeight = (theadRef === null || theadRef === void 0 || (_theadRef$current = theadRef.current) === null || _theadRef$current === void 0 ? void 0 : _theadRef$current.clientHeight) || 0;
232
+ var tfootHeight = ((_tfootRef$current = tfootRef.current) === null || _tfootRef$current === void 0 ? void 0 : _tfootRef$current.clientHeight) || 0;
233
+ if (props.sticky) {
234
+ context.theadAndTfootHeight = tfootHeight;
235
+ } else {
236
+ context.theadAndTfootHeight = theadHeight + tfootHeight;
237
+ }
216
238
  }, [theadRef.current, tfootRef.current]);
217
239
  var virtualInfo = (0, _hooks.useTableVirtual)({
218
240
  disabled: !virtual,
@@ -228,10 +250,14 @@ var _default = exports.default = function _default(props) {
228
250
  theadAndTfootHeight: context.theadAndTfootHeight
229
251
  });
230
252
  var syncHeaderScroll = (0, _hooks.usePersistFn)(function (left) {
231
- var _theadRef$current2;
253
+ var _tableRef$current;
232
254
  if (props.hideHeader || !props.sticky) return;
233
- if (!(theadRef !== null && theadRef !== void 0 && (_theadRef$current2 = theadRef.current) !== null && _theadRef$current2 !== void 0 && _theadRef$current2.parentElement)) return;
234
- theadRef.current.parentElement.scrollLeft = left;
255
+
256
+ // why use querySelectorAll: thead经历了Sticky组件的渲染再回来时,theadRef就丢失了
257
+ var theads = tableRef === null || tableRef === void 0 || (_tableRef$current = tableRef.current) === null || _tableRef$current === void 0 ? void 0 : _tableRef$current.querySelectorAll("[data-soui-role=".concat(theadIdRef.current, "]"));
258
+ theads === null || theads === void 0 || theads.forEach(function (item) {
259
+ item.scrollLeft = left;
260
+ });
235
261
  });
236
262
 
237
263
  // 简单表格的滚动事件
@@ -269,30 +295,42 @@ var _default = exports.default = function _default(props) {
269
295
  props.onScroll(info.x, info.y, info.scrollLeft, info.scrollTop);
270
296
  }
271
297
  syncHeaderScroll(info.scrollLeft);
298
+ if (context.scrollingTimer) {
299
+ clearTimeout(context.scrollingTimer);
300
+ }
301
+ setScrolling(true);
302
+ context.scrollingTimer = setTimeout(function () {
303
+ setScrolling(false);
304
+ }, 100);
272
305
  });
273
306
  var renderEmpty = function renderEmpty() {
274
- var _props$data2;
275
- if (!((_props$data2 = props.data) !== null && _props$data2 !== void 0 && _props$data2.length) || filteredData !== undefined && filteredData.length === 0) {
307
+ var _props$data;
308
+ if (!((_props$data = props.data) !== null && _props$data !== void 0 && _props$data.length) || filteredData !== undefined && filteredData.length === 0) {
309
+ var empty = props.empty !== undefined ? /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
310
+ children: props.empty
311
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_empty.default, {
312
+ jssStyle: props.jssStyle
313
+ });
276
314
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
277
315
  className: (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyWrapper, isScrollX && (tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.emptyNoBorder)),
278
316
  ref: function ref(el) {
279
317
  context.emptyHeight = (el === null || el === void 0 ? void 0 : el.clientHeight) || 0;
280
318
  },
281
- children: props.empty || /*#__PURE__*/(0, _jsxRuntime.jsx)(_empty.default, {
282
- jssStyle: props.jssStyle
283
- })
319
+ children: empty
284
320
  });
285
321
  }
286
322
  return null;
287
323
  };
324
+ var $empty = renderEmpty();
288
325
  var renderTable = function renderTable() {
289
- var _props$summary, _sticky$top, _props$data3;
326
+ var _props$summary, _sticky$top, _props$data2;
290
327
  var Group = /*#__PURE__*/(0, _jsxRuntime.jsx)(_colgroup.default, {
291
328
  colgroup: colgroup,
292
329
  columns: columns,
293
330
  shouldLastColAuto: !!shouldLastColAuto
294
331
  });
295
332
  var bodyCommonProps = {
333
+ virtual: props.virtual,
296
334
  hover: props.hover,
297
335
  disabled: props.disabled,
298
336
  rowClickAttr: props.rowClickAttr,
@@ -321,8 +359,7 @@ var _default = exports.default = function _default(props) {
321
359
  bodyScrollWidth: scrollWidth,
322
360
  resizeFlag: resizeFlag,
323
361
  treeCheckAll: props.treeCheckAll,
324
- onCellClick: props.onCellClick,
325
- shouldCellUpdate: props.shouldCellUpdate
362
+ onCellClick: props.onCellClick
326
363
  };
327
364
  var headCommonProps = {
328
365
  disabled: props.disabled,
@@ -362,16 +399,22 @@ var _default = exports.default = function _default(props) {
362
399
  target: sticky === null || sticky === void 0 ? void 0 : sticky.target,
363
400
  top: (_sticky$top = sticky === null || sticky === void 0 ? void 0 : sticky.top) !== null && _sticky$top !== void 0 ? _sticky$top : 0,
364
401
  css: sticky === null || sticky === void 0 ? void 0 : sticky.css,
365
- parent: tableRef === null || tableRef === void 0 ? void 0 : tableRef.current
402
+ parent: tableRef === null || tableRef === void 0 ? void 0 : tableRef.current,
403
+ onChange: function onChange(isSticky) {
404
+ if (isSticky) {
405
+ var _scrollRef$current;
406
+ syncHeaderScroll(((_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.scrollLeft) || 0);
407
+ }
408
+ }
366
409
  };
367
- var isRenderVirtualTable = virtual || props.sticky || !((_props$data3 = props.data) !== null && _props$data3 !== void 0 && _props$data3.length);
368
- var headWrapperClass = (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headWrapper);
410
+ var isRenderVirtualTable = virtual || props.sticky || !((_props$data2 = props.data) !== null && _props$data2 !== void 0 && _props$data2.length);
411
+ var headWrapperClass = (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.headWrapper, !!$empty && tableClasses.emptyHeader, props.sticky && isScrollY && tableClasses.scrollY, props.sticky && !isScrollY && tableClasses.scrollX);
369
412
  var footWrapperClass = (0, _classnames.default)(tableClasses === null || tableClasses === void 0 ? void 0 : tableClasses.footWrapper);
370
413
  var renderHeadMirrorScroller = function renderHeadMirrorScroller() {
371
- var _scrollRef$current, _scrollRef$current2, _scrollRef$current3;
414
+ var _scrollRef$current2, _scrollRef$current3, _scrollRef$current4;
372
415
  if (!props.showTopScrollbar) return null;
373
- var scrollRefWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.clientWidth) || 0;
374
- var scrollRefScrollWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.scrollWidth) || 0;
416
+ var scrollRefWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 ? void 0 : _scrollRef$current2.clientWidth) || 0;
417
+ var scrollRefScrollWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current3 = scrollRef.current) === null || _scrollRef$current3 === void 0 ? void 0 : _scrollRef$current3.scrollWidth) || 0;
375
418
  var mirrorScrollRefWidth = scrollRefWidth + scrollBarWidth;
376
419
  var showScroll = scrollRefScrollWidth > scrollRefWidth;
377
420
  // 开启了双滚,但是没有滚动条,不显示
@@ -396,7 +439,7 @@ var _default = exports.default = function _default(props) {
396
439
  ref: headMirrorScrollRef,
397
440
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
398
441
  style: {
399
- width: scrollRef === null || scrollRef === void 0 || (_scrollRef$current3 = scrollRef.current) === null || _scrollRef$current3 === void 0 ? void 0 : _scrollRef$current3.scrollWidth,
442
+ width: scrollRef === null || scrollRef === void 0 || (_scrollRef$current4 = scrollRef.current) === null || _scrollRef$current4 === void 0 ? void 0 : _scrollRef$current4.scrollWidth,
400
443
  height: 1
401
444
  }
402
445
  })
@@ -404,17 +447,16 @@ var _default = exports.default = function _default(props) {
404
447
  }));
405
448
  };
406
449
  var renderBottomMirrorScroller = function renderBottomMirrorScroller() {
407
- var _scrollRef$current4, _scrollRef$current5, _scrollRef$current6;
450
+ var _scrollRef$current5, _scrollRef$current6, _scrollRef$current7;
408
451
  if (!props.showBottomScrollbar) return null;
409
- var scrollRefWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current4 = scrollRef.current) === null || _scrollRef$current4 === void 0 ? void 0 : _scrollRef$current4.clientWidth) || 0;
410
- var scrollRefScrollWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current5 = scrollRef.current) === null || _scrollRef$current5 === void 0 ? void 0 : _scrollRef$current5.scrollWidth) || 0;
452
+ var scrollRefWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current5 = scrollRef.current) === null || _scrollRef$current5 === void 0 ? void 0 : _scrollRef$current5.clientWidth) || 0;
453
+ var scrollRefScrollWidth = (scrollRef === null || scrollRef === void 0 || (_scrollRef$current6 = scrollRef.current) === null || _scrollRef$current6 === void 0 ? void 0 : _scrollRef$current6.scrollWidth) || 0;
411
454
  var mirrorScrollRefWidth = scrollRefWidth + scrollBarWidth;
412
455
  var showScroll = scrollRefScrollWidth > scrollRefWidth;
413
456
  // 开启了双滚,但是没有滚动条,不显示
414
457
  if (!scrollRefWidth || !mirrorScrollRefWidth || !showScroll) return null;
415
458
  var options = props.showBottomScrollbar === true ? {} : props.showBottomScrollbar;
416
459
  var scrollerStickyProps = {
417
- scrollContainer: options.scrollContainer || document.body,
418
460
  bottom: options.bottom || 0,
419
461
  zIndex: options.zIndex || _sticky.defaultZIndex + 1,
420
462
  parent: tableRef === null || tableRef === void 0 ? void 0 : tableRef.current
@@ -436,31 +478,32 @@ var _default = exports.default = function _default(props) {
436
478
  ref: bottomMirrorScrollRef,
437
479
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
438
480
  style: {
439
- width: scrollRef === null || scrollRef === void 0 || (_scrollRef$current6 = scrollRef.current) === null || _scrollRef$current6 === void 0 ? void 0 : _scrollRef$current6.scrollWidth,
481
+ width: scrollRef === null || scrollRef === void 0 || (_scrollRef$current7 = scrollRef.current) === null || _scrollRef$current7 === void 0 ? void 0 : _scrollRef$current7.scrollWidth,
440
482
  height: 1
441
483
  }
442
484
  })
443
485
  })
444
486
  }));
445
487
  };
446
- var $headTable = /*#__PURE__*/(0, _jsxRuntime.jsxs)("table", {
447
- style: {
448
- width: width
449
- },
450
- ref: theadRef,
451
- children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_thead.default, _objectSpread({}, headCommonProps))]
452
- });
488
+ var $headTable = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({
489
+ className: headWrapperClass
490
+ }, _hooks.util.getDataAttribute({
491
+ role: theadIdRef.current
492
+ })), {}, {
493
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("table", {
494
+ style: {
495
+ width: width
496
+ },
497
+ ref: theadRef,
498
+ children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_thead.default, _objectSpread({}, headCommonProps))]
499
+ })
500
+ }));
453
501
  if (isRenderVirtualTable) {
454
- var _props$data4;
502
+ var _props$data3;
503
+ var showStickyHeader = !props.hideHeader && props.sticky;
455
504
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
456
- children: [renderHeadMirrorScroller(), !props.hideHeader && props.sticky && /*#__PURE__*/(0, _jsxRuntime.jsx)(StickyWrapper, _objectSpread(_objectSpread({}, stickyProps), {}, {
457
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
458
- className: headWrapperClass,
459
- style: {
460
- overflow: 'hidden'
461
- },
462
- children: $headTable
463
- })
505
+ children: [renderHeadMirrorScroller(), showStickyHeader && /*#__PURE__*/(0, _jsxRuntime.jsx)(StickyWrapper, _objectSpread(_objectSpread({}, stickyProps), {}, {
506
+ children: $headTable
464
507
  })), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_scrollTable.default, {
465
508
  style: {
466
509
  display: 'flex',
@@ -474,10 +517,11 @@ var _default = exports.default = function _default(props) {
474
517
  onScroll: handleVirtualScroll,
475
518
  defaultHeight: context.emptyHeight,
476
519
  isScrollY: isScrollY,
477
- children: [!props.hideHeader && !props.sticky && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
478
- className: headWrapperClass,
479
- children: $headTable
480
- }), !!((_props$data4 = props.data) !== null && _props$data4 !== void 0 && _props$data4.length) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("table", {
520
+ isScrollX: isScrollX,
521
+ isEmpty: !!$empty,
522
+ tableRef: tableRef,
523
+ setFakeVirtual: setFakeVirtual,
524
+ children: [!props.hideHeader && !props.sticky && $headTable, !!((_props$data3 = props.data) !== null && _props$data3 !== void 0 && _props$data3.length) && /*#__PURE__*/(0, _jsxRuntime.jsxs)("table", {
481
525
  style: {
482
526
  width: width,
483
527
  transform: virtualInfo.translateStyle
@@ -486,7 +530,8 @@ var _default = exports.default = function _default(props) {
486
530
  children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_tbody.default, _objectSpread(_objectSpread({}, bodyCommonProps), {}, {
487
531
  currentIndex: virtualInfo.startIndex,
488
532
  data: virtualInfo.data,
489
- setRowHeight: virtualInfo.setRowHeight
533
+ setRowHeight: virtualInfo.setRowHeight,
534
+ scrolling: scrolling
490
535
  }))]
491
536
  }), showFoot ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
492
537
  className: footWrapperClass,
@@ -497,7 +542,7 @@ var _default = exports.default = function _default(props) {
497
542
  ref: tfootRef,
498
543
  children: [Group, /*#__PURE__*/(0, _jsxRuntime.jsx)(_tfoot.default, _objectSpread({}, footCommonProps))]
499
544
  })
500
- }) : null, renderEmpty()]
545
+ }) : null, $empty]
501
546
  }), renderBottomMirrorScroller()]
502
547
  });
503
548
  }
@@ -513,7 +558,7 @@ var _default = exports.default = function _default(props) {
513
558
  ref: tbodyRef,
514
559
  children: [Group, !props.hideHeader && /*#__PURE__*/(0, _jsxRuntime.jsx)(_thead.default, _objectSpread({}, headCommonProps)), bodyCommonProps.data.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_tbodyEmpty.default, {
515
560
  children: renderEmpty()
516
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tbody.default, _objectSpread({}, bodyCommonProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_tfoot.default, _objectSpread({}, footCommonProps))]
561
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_tbody.default, _objectSpread({}, bodyCommonProps)), showFoot && /*#__PURE__*/(0, _jsxRuntime.jsx)(_tfoot.default, _objectSpread({}, footCommonProps))]
517
562
  })
518
563
  }), renderBottomMirrorScroller()]
519
564
  });
@@ -538,10 +583,10 @@ var _default = exports.default = function _default(props) {
538
583
 
539
584
  // handle head and foot scroll
540
585
  var handleHeaderWheel = (0, _hooks.usePersistFn)(function (e) {
541
- var _theadRef$current3;
586
+ var _theadRef$current2;
542
587
  var scrollEl = scrollRef.current;
543
588
  if (!scrollEl) return;
544
- if (!(theadRef !== null && theadRef !== void 0 && (_theadRef$current3 = theadRef.current) !== null && _theadRef$current3 !== void 0 && _theadRef$current3.parentElement)) return;
589
+ if (!(theadRef !== null && theadRef !== void 0 && (_theadRef$current2 = theadRef.current) !== null && _theadRef$current2 !== void 0 && _theadRef$current2.parentElement)) return;
545
590
  var max = scrollEl.scrollWidth - scrollEl.clientWidth;
546
591
  var scrollLeft = scrollEl.scrollLeft + e.deltaX;
547
592
  if (scrollLeft === scrollEl.scrollLeft) {
@@ -552,6 +597,12 @@ var _default = exports.default = function _default(props) {
552
597
  scrollEl.scrollLeft = left;
553
598
  theadRef.current.parentElement.scrollLeft = left;
554
599
  });
600
+ (0, _react.useEffect)(function () {
601
+ var _scrollRef$current8;
602
+ if (!props.sticky || !scrollRef.current || !isScrollX) return;
603
+ // sticky场景下,从空数据到有数据切换时,同步一次滚动条的位置
604
+ syncHeaderScroll(((_scrollRef$current8 = scrollRef.current) === null || _scrollRef$current8 === void 0 ? void 0 : _scrollRef$current8.scrollLeft) || 0);
605
+ }, [isScrollX, props.sticky, $empty]);
555
606
  (0, _react.useEffect)(function () {
556
607
  // 绑定 wheel 事件
557
608
  if (props.sticky && theadRef.current && theadRef.current.parentElement) {
@@ -42,6 +42,9 @@ export interface TableClasses {
42
42
  footWrapper: string;
43
43
  emptyWrapper: string;
44
44
  emptyNoBorder: string;
45
+ emptyHeader: string;
46
+ scrollY: string;
47
+ scrollX: string;
45
48
  cellAlignLeft: string;
46
49
  cellAlignRight: string;
47
50
  cellAlignCenter: string;
@@ -203,9 +206,9 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
203
206
  fixed?: TableFix | 'auto';
204
207
  /**
205
208
  * @en Whether to use virtual list
206
- * @cn 是否使用虚拟列表
209
+ * @cn 是否使用虚拟列表,设置为 lazy 时,表示在滚动时不触发 rerender
207
210
  */
208
- virtual?: boolean;
211
+ virtual?: boolean | 'lazy';
209
212
  /**
210
213
  * @en The maximum number of rows for a single render. Table uses lazy render to optimize performance under large amounts of data. If your table displays more than 20 rows, you can change the value of rowsInView. Value of 0 render all data.
211
214
  * @cn 单次 render的 最大行数。Table 采用了 lazy render 的方式来优化在大量数据下的性能,如果你的表格显示的高度超出了20条,可以调整 rowsInView 的值。为 0 表示单次 render 所有数据。
@@ -361,7 +364,7 @@ export interface TableProps<DataItem, Value> extends Pick<CommonType, 'className
361
364
  */
362
365
  onRowSelect?: (rows: Value) => void;
363
366
  }
364
- interface BottomScrollbarOption extends Pick<StickyProps, 'scrollContainer' | 'bottom'> {
367
+ interface BottomScrollbarOption extends Pick<StickyProps, 'bottom'> {
365
368
  zIndex?: number;
366
369
  }
367
370
  export interface SorterInfo {
@@ -1 +1 @@
1
- {"version":3,"file":"table.type.d.ts","sourceRoot":"","sources":["table.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.type.d.ts","sourceRoot":"","sources":["table.type.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { TbodyProps } from './tbody.type';
2
- declare const _default: (props: TbodyProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const _default: (props: TbodyProps) => import("react/jsx-runtime").JSX.Element | undefined;
3
3
  export default _default;
4
4
  //# sourceMappingURL=tbody.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tbody.d.ts","sourceRoot":"","sources":["tbody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;gCAEnB,UAAU;AAAjC,wBAuEE"}
1
+ {"version":3,"file":"tbody.d.ts","sourceRoot":"","sources":["tbody.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;gCAEnB,UAAU;AAAjC,wBAsFE"}
@@ -81,12 +81,20 @@ var _default = exports.default = function _default(props) {
81
81
  resizeFlag: props.resizeFlag,
82
82
  treeCheckAll: props.treeCheckAll,
83
83
  onCellClick: props.onCellClick,
84
- shouldCellUpdate: props.shouldCellUpdate
84
+ virtual: props.virtual,
85
+ scrolling: props.scrolling
85
86
  }, trRenderKey);
86
87
  };
87
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
88
- children: (props.data || []).map(function (item, index) {
89
- return renderRow(item, index);
90
- })
91
- });
88
+ var $tbody = (0, _hooks.useComponentMemo)(function () {
89
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("tbody", {
90
+ children: (props.data || []).map(function (item, index) {
91
+ return renderRow(item, index);
92
+ })
93
+ });
94
+ }, [props.data, currentIndex], props.virtual === 'lazy' ? function (prev, next) {
95
+ return prev.some(function (_, index) {
96
+ return !_hooks.util.shallowEqual(prev === null || prev === void 0 ? void 0 : prev[index], next === null || next === void 0 ? void 0 : next[index]);
97
+ }) || !props.scrolling;
98
+ } : undefined);
99
+ return $tbody;
92
100
  };
@@ -3,7 +3,7 @@ import { TableProps, ListDatum, UseTreeResult } from './table.type';
3
3
  import type { TableFormatColumn, OptionalToRequired } from '@sheinx/hooks';
4
4
  export type UseColumnsResult = ReturnType<typeof useTableColumns>;
5
5
  export type UseTableRowResult = ReturnType<typeof useTableRow>;
6
- export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'rowClassName' | 'expandKeys' | 'keygen' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'striped' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'disabled' | 'hover' | 'treeCheckAll' | 'onCellClick' | 'shouldCellUpdate'> {
6
+ export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>>, 'data' | 'jssStyle' | 'rowClassName' | 'expandKeys' | 'keygen' | 'treeEmptyExpand' | 'expandIcon' | 'treeExpandIcon' | 'loader' | 'striped' | 'radio' | 'onRowClick' | 'rowClickAttr' | 'rowEvents' | 'disabled' | 'hover' | 'treeCheckAll' | 'onCellClick' | 'virtual'> {
7
7
  columns: TableFormatColumn<any>[];
8
8
  data: any[];
9
9
  colgroup: (number | string | undefined)[];
@@ -18,5 +18,6 @@ export interface TbodyProps extends Pick<OptionalToRequired<TableProps<any, any>
18
18
  setRowHeight?: (index: number, height: number) => void;
19
19
  bodyScrollWidth?: number;
20
20
  resizeFlag?: number;
21
+ scrolling?: boolean;
21
22
  }
22
23
  //# sourceMappingURL=tbody.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tbody.type.d.ts","sourceRoot":"","sources":["tbody.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/D,MAAM,WAAW,UACf,SAAQ,IAAI,CACV,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACtC,MAAM,GACN,UAAU,GACV,cAAc,GACd,YAAY,GACZ,QAAQ,GACR,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,GACX,UAAU,GACV,OAAO,GACP,cAAc,GACd,aAAa,GACb,kBAAkB,CACrB;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACjD,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,eAAe,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAClD,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"tbody.type.d.ts","sourceRoot":"","sources":["tbody.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE3E,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/D,MAAM,WAAW,UACf,SAAQ,IAAI,CACV,kBAAkB,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EACtC,MAAM,GACN,UAAU,GACV,cAAc,GACd,YAAY,GACZ,QAAQ,GACR,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,QAAQ,GACR,SAAS,GACT,OAAO,GACP,YAAY,GACZ,cAAc,GACd,WAAW,GACX,UAAU,GACV,OAAO,GACP,cAAc,GACd,aAAa,GACb,SAAS,CACZ;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC1C,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACjD,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,eAAe,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAClD,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
package/cjs/table/td.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { shouldCellUpdate } from '@sheinx/hooks';
3
2
  import type { TableFormatColumn } from '@sheinx/hooks';
4
- interface TdProps<T> {
3
+ import { TbodyProps } from './tbody.type';
4
+ interface TdProps extends Pick<TbodyProps, 'virtual'> {
5
5
  col: TableFormatColumn<any>;
6
6
  data: any[];
7
7
  colSpan: number;
@@ -13,9 +13,9 @@ interface TdProps<T> {
13
13
  onMouseEnter?: () => void;
14
14
  onMouseLeave?: () => void;
15
15
  onClick?: () => void;
16
- shouldCellUpdate?: shouldCellUpdate<T>;
17
16
  renderContent: (col: TableFormatColumn<any>, data: any[]) => React.ReactNode;
17
+ scrolling?: boolean;
18
18
  }
19
- export default function Td<T>(props: TdProps<T>): JSX.Element;
19
+ export default function Td(props: TdProps): JSX.Element;
20
20
  export {};
21
21
  //# sourceMappingURL=td.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"td.d.ts","sourceRoot":"","sources":["td.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAA0B,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,UAAU,OAAO,CAAC,CAAC;IACjB,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACvC,aAAa,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC;CAC9E;AAED,MAAM,CAAC,OAAO,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAiF5D"}
1
+ {"version":3,"file":"td.d.ts","sourceRoot":"","sources":["td.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,UAAU,OAAQ,SAAQ,IAAI,CAAC,UAAU,EAAI,SAAS,CAAC;IACrD,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAiEtD"}
package/cjs/table/td.js CHANGED
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -9,11 +10,6 @@ var _hooks = require("@sheinx/hooks");
9
10
  var _jsxRuntime = require("react/jsx-runtime");
10
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
13
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
15
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
16
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
17
13
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
18
14
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
19
15
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -43,8 +39,6 @@ function Td(props) {
43
39
  onMouseEnter = props.onMouseEnter,
44
40
  onMouseLeave = props.onMouseLeave,
45
41
  renderContent = props.renderContent;
46
- var externalDependencies = _typeof(props.shouldCellUpdate) === 'object' && props.shouldCellUpdate.dependencies ? props.shouldCellUpdate.dependencies : [];
47
- var updateFn = _typeof(props.shouldCellUpdate) === 'object' && 'update' in props.shouldCellUpdate ? props.shouldCellUpdate.update : props.shouldCellUpdate;
48
42
  var $td = (0, _hooks.useComponentMemo)(function () {
49
43
  var content = renderContent(props.col, props.data);
50
44
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
@@ -59,16 +53,13 @@ function Td(props) {
59
53
  onClick: onClick,
60
54
  children: content
61
55
  }, col.key);
62
- }, [data, className, style, col.type, col.treeColumnsName].concat(_toConsumableArray(externalDependencies)), updateFn ? function (prev, next) {
56
+ }, [data, className, style, col.type, col.treeColumnsName], props.virtual === 'lazy' ? function (prev, next) {
63
57
  if (col.type || col.treeColumnsName) {
64
58
  return true;
65
59
  }
66
60
  return prev.some(function (_, index) {
67
- if (index === 0) {
68
- return updateFn(prev[index], next[index]);
69
- }
70
- return !_hooks.util.shallowEqual(prev[index], next[index]);
71
- });
61
+ return !_hooks.util.shallowEqual(prev === null || prev === void 0 ? void 0 : prev[index], next === null || next === void 0 ? void 0 : next[index]);
62
+ }) || !props.scrolling;
72
63
  } : undefined);
73
64
  return $td;
74
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"thead-filter.d.ts","sourceRoot":"","sources":["thead-filter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAoC,MAAM,eAAe,CAAC;AAOlG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA8B5C,UAAU,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,GAAG,gBAAgB,CAAC;IAC/F,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC/B,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,eAAO,MAAM,YAAY,UAAW,gBAAgB,4CA8HnD,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,gBAAgB,4CAuFnD,CAAC"}
1
+ {"version":3,"file":"thead-filter.d.ts","sourceRoot":"","sources":["thead-filter.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAoC,MAAM,eAAe,CAAC;AAOlG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AA8B5C,UAAU,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY,GAAG,gBAAgB,CAAC;IAC/F,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC/B,SAAS,EAAE,YAAY,CAAC;CACzB;AAED,eAAO,MAAM,YAAY,UAAW,gBAAgB,4CA+HnD,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,gBAAgB,4CAuFnD,CAAC"}