naive-ui 2.21.4 → 2.23.1

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 (388) hide show
  1. package/es/_internal/close/src/styles/index.cssr.js +6 -5
  2. package/es/_internal/scrollbar/src/ScrollBar.d.ts +4 -0
  3. package/es/_internal/scrollbar/src/ScrollBar.js +5 -2
  4. package/es/_internal/selection/src/Selection.js +11 -9
  5. package/es/_internal/selection/src/styles/index.cssr.js +6 -2
  6. package/es/_utils/composable/use-houdini.js +10 -7
  7. package/es/alert/src/Alert.d.ts +20 -20
  8. package/es/alert/src/Alert.js +22 -22
  9. package/es/alert/src/styles/index.cssr.js +45 -45
  10. package/es/anchor/src/AnchorAdapter.js +12 -12
  11. package/es/anchor/src/styles/index.cssr.js +41 -41
  12. package/es/auto-complete/src/AutoComplete.d.ts +2 -2
  13. package/es/auto-complete/src/AutoComplete.js +2 -2
  14. package/es/auto-complete/src/styles/index.cssr.js +4 -4
  15. package/es/avatar/src/Avatar.d.ts +10 -8
  16. package/es/avatar/src/Avatar.js +11 -9
  17. package/es/avatar/src/styles/index.cssr.js +14 -16
  18. package/es/back-top/src/BackTop.d.ts +13 -13
  19. package/es/back-top/src/BackTop.js +13 -13
  20. package/es/back-top/src/styles/index.cssr.js +29 -29
  21. package/es/badge/src/Badge.d.ts +6 -6
  22. package/es/badge/src/Badge.js +6 -6
  23. package/es/badge/src/styles/index.cssr.js +15 -15
  24. package/es/button/src/Button.d.ts +43 -38
  25. package/es/button/src/Button.js +124 -116
  26. package/es/button/src/styles/button.cssr.js +83 -80
  27. package/es/button/styles/light.js +1 -1
  28. package/es/calendar/src/Calendar.d.ts +6 -0
  29. package/es/cascader/src/Cascader.d.ts +135 -0
  30. package/es/cascader/src/Cascader.js +2 -4
  31. package/es/cascader/src/CascaderMenu.d.ts +345 -0
  32. package/es/cascader/src/CascaderMenu.js +6 -5
  33. package/es/cascader/src/CascaderOption.d.ts +18 -0
  34. package/es/cascader/src/CascaderSelectMenu.d.ts +18 -0
  35. package/es/cascader/src/CascaderSubmenu.d.ts +18 -0
  36. package/es/cascader/styles/dark.js +3 -1
  37. package/es/cascader/styles/light.d.ts +13 -0
  38. package/es/cascader/styles/light.js +3 -1
  39. package/es/config-provider/src/ConfigProvider.d.ts +18 -0
  40. package/es/data-table/src/DataTable.js +7 -13
  41. package/es/data-table/src/MainTable.js +2 -3
  42. package/es/data-table/src/TableParts/Body.d.ts +15 -4
  43. package/es/data-table/src/TableParts/Body.js +80 -28
  44. package/es/data-table/src/TableParts/Cell.js +2 -3
  45. package/es/data-table/src/TableParts/Header.js +2 -2
  46. package/es/data-table/src/interface.d.ts +4 -1
  47. package/es/data-table/src/styles/index.cssr.js +4 -3
  48. package/es/data-table/src/use-check.js +6 -2
  49. package/es/data-table/src/use-scroll.d.ts +2 -0
  50. package/es/data-table/src/use-scroll.js +34 -4
  51. package/es/data-table/src/use-table-data.js +3 -1
  52. package/es/data-table/styles/_common.js +1 -1
  53. package/es/date-picker/src/DatePicker.d.ts +30 -5
  54. package/es/date-picker/src/DatePicker.js +32 -9
  55. package/es/date-picker/src/config.d.ts +1 -9
  56. package/es/date-picker/src/config.js +0 -8
  57. package/es/date-picker/src/interface.d.ts +2 -1
  58. package/es/date-picker/src/panel/date.d.ts +17 -10
  59. package/es/date-picker/src/panel/date.js +2 -2
  60. package/es/date-picker/src/panel/daterange.d.ts +15 -9
  61. package/es/date-picker/src/panel/daterange.js +2 -2
  62. package/es/date-picker/src/panel/datetime.d.ts +17 -16
  63. package/es/date-picker/src/panel/datetime.js +2 -2
  64. package/es/date-picker/src/panel/datetimerange.d.ts +15 -9
  65. package/es/date-picker/src/panel/datetimerange.js +2 -2
  66. package/es/date-picker/src/panel/month.d.ts +21 -20
  67. package/es/date-picker/src/panel/month.js +23 -12
  68. package/es/date-picker/src/panel/use-calendar.d.ts +17 -39
  69. package/es/date-picker/src/panel/use-calendar.js +41 -23
  70. package/es/date-picker/src/panel/use-dual-calendar.d.ts +13 -36
  71. package/es/date-picker/src/panel/use-dual-calendar.js +35 -21
  72. package/es/date-picker/src/panel/use-panel-common.d.ts +13 -32
  73. package/es/date-picker/src/panel/use-panel-common.js +4 -8
  74. package/es/date-picker/src/utils.d.ts +19 -3
  75. package/es/date-picker/src/utils.js +40 -5
  76. package/es/date-picker/styles/_common.d.ts +2 -0
  77. package/es/date-picker/styles/_common.js +3 -1
  78. package/es/date-picker/styles/light.d.ts +4 -0
  79. package/es/dialog/src/Dialog.d.ts +21 -21
  80. package/es/dialog/src/Dialog.js +23 -23
  81. package/es/dialog/src/styles/index.cssr.js +45 -45
  82. package/es/divider/src/Divider.d.ts +4 -4
  83. package/es/divider/src/Divider.js +4 -4
  84. package/es/divider/src/styles/index.cssr.js +12 -12
  85. package/es/dynamic-tags/src/DynamicTags.d.ts +1 -1
  86. package/es/dynamic-tags/src/DynamicTags.js +1 -1
  87. package/es/dynamic-tags/src/styles/index.cssr.js +1 -1
  88. package/es/form/src/Form.d.ts +27 -27
  89. package/es/form/src/FormItem.d.ts +27 -27
  90. package/es/form/src/FormItemCol.d.ts +27 -27
  91. package/es/form/src/FormItemGridItem.d.ts +27 -27
  92. package/es/form/src/FormItemRow.d.ts +27 -27
  93. package/es/form/styles/_common.d.ts +0 -3
  94. package/es/form/styles/_common.js +0 -3
  95. package/es/form/styles/light.d.ts +3 -3
  96. package/es/form/styles/light.js +2 -2
  97. package/es/image/src/Image.js +8 -12
  98. package/es/input/src/Input.js +2 -0
  99. package/es/input-number/src/InputNumber.js +2 -0
  100. package/es/input-number/src/utils.js +1 -1
  101. package/es/locales/common/deDE.js +6 -0
  102. package/es/locales/common/enUS.d.ts +6 -0
  103. package/es/locales/common/enUS.js +7 -1
  104. package/es/locales/common/frFR.d.ts +3 -0
  105. package/es/locales/common/frFR.js +101 -0
  106. package/es/locales/common/idID.d.ts +2 -94
  107. package/es/locales/common/idID.js +6 -0
  108. package/es/locales/common/jaJP.js +6 -0
  109. package/es/locales/common/nbNO.js +6 -0
  110. package/es/locales/common/ruRU.js +6 -0
  111. package/es/locales/common/ukUA.js +6 -0
  112. package/es/locales/common/zhCN.js +6 -0
  113. package/es/locales/common/zhTW.d.ts +3 -0
  114. package/es/locales/common/zhTW.js +100 -0
  115. package/es/locales/date/frFR.d.ts +3 -0
  116. package/es/locales/date/frFR.js +6 -0
  117. package/es/locales/date/idID.d.ts +1 -6
  118. package/es/locales/date/zhTW.d.ts +3 -0
  119. package/es/locales/date/zhTW.js +6 -0
  120. package/es/locales/index.d.ts +4 -0
  121. package/es/locales/index.js +4 -0
  122. package/es/log/src/Log.d.ts +6 -6
  123. package/es/log/src/Log.js +6 -6
  124. package/es/log/src/styles/index.cssr.js +16 -18
  125. package/es/page-header/src/PageHeader.js +3 -3
  126. package/es/page-header/src/styles/index.cssr.js +2 -4
  127. package/es/popover/src/Popover.js +4 -1
  128. package/es/popover/src/PopoverBody.js +3 -3
  129. package/es/popselect/src/Popselect.d.ts +2 -11
  130. package/es/popselect/src/Popselect.js +2 -2
  131. package/es/popselect/src/PopselectPanel.d.ts +3 -11
  132. package/es/popselect/src/PopselectPanel.js +17 -11
  133. package/es/radio/src/Radio.js +3 -3
  134. package/es/radio/src/RadioButton.js +4 -5
  135. package/es/radio/src/styles/radio-group.cssr.js +8 -4
  136. package/es/radio/src/styles/radio.cssr.js +8 -4
  137. package/es/radio/src/use-radio.d.ts +0 -3
  138. package/es/radio/src/use-radio.js +1 -26
  139. package/es/steps/src/Step.d.ts +12 -12
  140. package/es/steps/src/Step.js +12 -12
  141. package/es/steps/src/styles/index.cssr.js +46 -46
  142. package/es/switch/src/Switch.d.ts +19 -19
  143. package/es/switch/src/Switch.js +26 -19
  144. package/es/switch/src/styles/index.cssr.js +59 -57
  145. package/es/tabs/src/styles/index.cssr.js +1 -0
  146. package/es/tag/src/Tag.d.ts +26 -26
  147. package/es/tag/src/Tag.js +26 -26
  148. package/es/tag/src/styles/index.cssr.js +55 -55
  149. package/es/tag/src/styles/rtl.cssr.js +1 -1
  150. package/es/time-picker/src/TimePicker.d.ts +17 -17
  151. package/es/time-picker/src/TimePicker.js +17 -17
  152. package/es/time-picker/src/styles/index.cssr.js +47 -47
  153. package/es/timeline/src/TimelineItem.d.ts +12 -12
  154. package/es/timeline/src/TimelineItem.js +12 -12
  155. package/es/timeline/src/styles/index.cssr.js +44 -44
  156. package/es/transfer/src/styles/index.cssr.js +9 -4
  157. package/es/tree/src/Tree.d.ts +11 -11
  158. package/es/tree/src/Tree.js +11 -11
  159. package/es/tree/src/dnd.js +2 -2
  160. package/es/tree/src/styles/index.cssr.js +33 -33
  161. package/es/tree-select/src/TreeSelect.d.ts +43 -6
  162. package/es/tree-select/src/TreeSelect.js +29 -14
  163. package/es/tree-select/src/styles/index.cssr.js +20 -11
  164. package/es/tree-select/styles/light.d.ts +6 -0
  165. package/es/tree-select/styles/light.js +5 -2
  166. package/es/typography/src/a.d.ts +2 -2
  167. package/es/typography/src/a.js +2 -2
  168. package/es/typography/src/blockquote.d.ts +5 -5
  169. package/es/typography/src/blockquote.js +5 -5
  170. package/es/typography/src/create-header.d.ts +8 -8
  171. package/es/typography/src/create-header.js +8 -8
  172. package/es/typography/src/headers.d.ts +48 -48
  173. package/es/typography/src/hr.d.ts +2 -1
  174. package/es/typography/src/hr.js +3 -1
  175. package/es/typography/src/ol.d.ts +7 -7
  176. package/es/typography/src/ol.js +7 -7
  177. package/es/typography/src/p.d.ts +5 -5
  178. package/es/typography/src/p.js +5 -5
  179. package/es/typography/src/styles/a.cssr.js +6 -6
  180. package/es/typography/src/styles/blockquote.cssr.js +11 -11
  181. package/es/typography/src/styles/header.cssr.js +19 -19
  182. package/es/typography/src/styles/hr.cssr.js +3 -3
  183. package/es/typography/src/styles/list.cssr.js +15 -15
  184. package/es/typography/src/styles/p.cssr.js +10 -10
  185. package/es/typography/src/styles/text.cssr.js +18 -18
  186. package/es/typography/src/text.d.ts +8 -7
  187. package/es/typography/src/text.js +9 -8
  188. package/es/typography/src/ul.d.ts +7 -7
  189. package/es/typography/src/ul.js +7 -7
  190. package/es/upload/src/Upload.js +16 -16
  191. package/es/upload/src/styles/index.cssr.js +36 -36
  192. package/es/version.d.ts +1 -1
  193. package/es/version.js +1 -1
  194. package/lib/_internal/close/src/styles/index.cssr.js +6 -5
  195. package/lib/_internal/scrollbar/src/ScrollBar.d.ts +4 -0
  196. package/lib/_internal/scrollbar/src/ScrollBar.js +5 -2
  197. package/lib/_internal/selection/src/Selection.js +11 -9
  198. package/lib/_internal/selection/src/styles/index.cssr.js +6 -2
  199. package/lib/_utils/composable/use-houdini.js +10 -7
  200. package/lib/alert/src/Alert.d.ts +20 -20
  201. package/lib/alert/src/Alert.js +22 -22
  202. package/lib/alert/src/styles/index.cssr.js +45 -45
  203. package/lib/anchor/src/AnchorAdapter.js +12 -12
  204. package/lib/anchor/src/styles/index.cssr.js +41 -41
  205. package/lib/auto-complete/src/AutoComplete.d.ts +2 -2
  206. package/lib/auto-complete/src/AutoComplete.js +2 -2
  207. package/lib/auto-complete/src/styles/index.cssr.js +4 -4
  208. package/lib/avatar/src/Avatar.d.ts +10 -8
  209. package/lib/avatar/src/Avatar.js +11 -9
  210. package/lib/avatar/src/styles/index.cssr.js +14 -16
  211. package/lib/back-top/src/BackTop.d.ts +13 -13
  212. package/lib/back-top/src/BackTop.js +13 -13
  213. package/lib/back-top/src/styles/index.cssr.js +29 -29
  214. package/lib/badge/src/Badge.d.ts +6 -6
  215. package/lib/badge/src/Badge.js +6 -6
  216. package/lib/badge/src/styles/index.cssr.js +15 -15
  217. package/lib/button/src/Button.d.ts +43 -38
  218. package/lib/button/src/Button.js +123 -115
  219. package/lib/button/src/styles/button.cssr.js +83 -80
  220. package/lib/button/styles/light.js +1 -1
  221. package/lib/calendar/src/Calendar.d.ts +6 -0
  222. package/lib/cascader/src/Cascader.d.ts +135 -0
  223. package/lib/cascader/src/Cascader.js +2 -4
  224. package/lib/cascader/src/CascaderMenu.d.ts +345 -0
  225. package/lib/cascader/src/CascaderMenu.js +6 -5
  226. package/lib/cascader/src/CascaderOption.d.ts +18 -0
  227. package/lib/cascader/src/CascaderSelectMenu.d.ts +18 -0
  228. package/lib/cascader/src/CascaderSubmenu.d.ts +18 -0
  229. package/lib/cascader/styles/dark.js +3 -1
  230. package/lib/cascader/styles/light.d.ts +13 -0
  231. package/lib/cascader/styles/light.js +3 -1
  232. package/lib/config-provider/src/ConfigProvider.d.ts +18 -0
  233. package/lib/data-table/src/DataTable.js +6 -12
  234. package/lib/data-table/src/MainTable.js +1 -2
  235. package/lib/data-table/src/TableParts/Body.d.ts +15 -4
  236. package/lib/data-table/src/TableParts/Body.js +78 -26
  237. package/lib/data-table/src/TableParts/Cell.js +2 -3
  238. package/lib/data-table/src/TableParts/Header.js +2 -2
  239. package/lib/data-table/src/interface.d.ts +4 -1
  240. package/lib/data-table/src/styles/index.cssr.js +4 -3
  241. package/lib/data-table/src/use-check.js +6 -2
  242. package/lib/data-table/src/use-scroll.d.ts +2 -0
  243. package/lib/data-table/src/use-scroll.js +34 -4
  244. package/lib/data-table/src/use-table-data.js +3 -1
  245. package/lib/data-table/styles/_common.js +1 -1
  246. package/lib/date-picker/src/DatePicker.d.ts +30 -5
  247. package/lib/date-picker/src/DatePicker.js +31 -8
  248. package/lib/date-picker/src/config.d.ts +1 -9
  249. package/lib/date-picker/src/config.js +1 -9
  250. package/lib/date-picker/src/interface.d.ts +2 -1
  251. package/lib/date-picker/src/panel/date.d.ts +17 -10
  252. package/lib/date-picker/src/panel/date.js +1 -1
  253. package/lib/date-picker/src/panel/daterange.d.ts +15 -9
  254. package/lib/date-picker/src/panel/daterange.js +1 -1
  255. package/lib/date-picker/src/panel/datetime.d.ts +17 -16
  256. package/lib/date-picker/src/panel/datetime.js +1 -1
  257. package/lib/date-picker/src/panel/datetimerange.d.ts +15 -9
  258. package/lib/date-picker/src/panel/datetimerange.js +2 -2
  259. package/lib/date-picker/src/panel/month.d.ts +21 -20
  260. package/lib/date-picker/src/panel/month.js +23 -12
  261. package/lib/date-picker/src/panel/use-calendar.d.ts +17 -39
  262. package/lib/date-picker/src/panel/use-calendar.js +40 -21
  263. package/lib/date-picker/src/panel/use-dual-calendar.d.ts +13 -36
  264. package/lib/date-picker/src/panel/use-dual-calendar.js +34 -19
  265. package/lib/date-picker/src/panel/use-panel-common.d.ts +13 -32
  266. package/lib/date-picker/src/panel/use-panel-common.js +5 -8
  267. package/lib/date-picker/src/utils.d.ts +19 -3
  268. package/lib/date-picker/src/utils.js +41 -4
  269. package/lib/date-picker/styles/_common.d.ts +2 -0
  270. package/lib/date-picker/styles/_common.js +3 -1
  271. package/lib/date-picker/styles/light.d.ts +4 -0
  272. package/lib/dialog/src/Dialog.d.ts +21 -21
  273. package/lib/dialog/src/Dialog.js +23 -23
  274. package/lib/dialog/src/styles/index.cssr.js +45 -45
  275. package/lib/divider/src/Divider.d.ts +4 -4
  276. package/lib/divider/src/Divider.js +4 -4
  277. package/lib/divider/src/styles/index.cssr.js +12 -12
  278. package/lib/dynamic-tags/src/DynamicTags.d.ts +1 -1
  279. package/lib/dynamic-tags/src/DynamicTags.js +1 -1
  280. package/lib/dynamic-tags/src/styles/index.cssr.js +1 -1
  281. package/lib/form/src/Form.d.ts +27 -27
  282. package/lib/form/src/FormItem.d.ts +27 -27
  283. package/lib/form/src/FormItemCol.d.ts +27 -27
  284. package/lib/form/src/FormItemGridItem.d.ts +27 -27
  285. package/lib/form/src/FormItemRow.d.ts +27 -27
  286. package/lib/form/styles/_common.d.ts +0 -3
  287. package/lib/form/styles/_common.js +0 -3
  288. package/lib/form/styles/light.d.ts +3 -3
  289. package/lib/form/styles/light.js +2 -2
  290. package/lib/image/src/Image.js +7 -11
  291. package/lib/input/src/Input.js +2 -0
  292. package/lib/input-number/src/InputNumber.js +2 -0
  293. package/lib/input-number/src/utils.js +1 -1
  294. package/lib/locales/common/deDE.js +6 -0
  295. package/lib/locales/common/enUS.d.ts +6 -0
  296. package/lib/locales/common/enUS.js +7 -1
  297. package/lib/locales/common/frFR.d.ts +3 -0
  298. package/lib/locales/common/frFR.js +103 -0
  299. package/lib/locales/common/idID.d.ts +2 -94
  300. package/lib/locales/common/idID.js +6 -0
  301. package/lib/locales/common/jaJP.js +6 -0
  302. package/lib/locales/common/nbNO.js +6 -0
  303. package/lib/locales/common/ruRU.js +6 -0
  304. package/lib/locales/common/ukUA.js +6 -0
  305. package/lib/locales/common/zhCN.js +6 -0
  306. package/lib/locales/common/zhTW.d.ts +3 -0
  307. package/lib/locales/common/zhTW.js +102 -0
  308. package/lib/locales/date/frFR.d.ts +3 -0
  309. package/lib/locales/date/frFR.js +11 -0
  310. package/lib/locales/date/idID.d.ts +1 -6
  311. package/lib/locales/date/zhTW.d.ts +3 -0
  312. package/lib/locales/date/zhTW.js +11 -0
  313. package/lib/locales/index.d.ts +4 -0
  314. package/lib/locales/index.js +9 -1
  315. package/lib/log/src/Log.d.ts +6 -6
  316. package/lib/log/src/Log.js +6 -6
  317. package/lib/log/src/styles/index.cssr.js +16 -18
  318. package/lib/page-header/src/PageHeader.js +3 -3
  319. package/lib/page-header/src/styles/index.cssr.js +2 -4
  320. package/lib/popover/src/Popover.js +4 -1
  321. package/lib/popover/src/PopoverBody.js +3 -3
  322. package/lib/popselect/src/Popselect.d.ts +2 -11
  323. package/lib/popselect/src/Popselect.js +2 -2
  324. package/lib/popselect/src/PopselectPanel.d.ts +3 -11
  325. package/lib/popselect/src/PopselectPanel.js +16 -10
  326. package/lib/radio/src/Radio.js +3 -3
  327. package/lib/radio/src/RadioButton.js +4 -5
  328. package/lib/radio/src/styles/radio-group.cssr.js +8 -4
  329. package/lib/radio/src/styles/radio.cssr.js +8 -4
  330. package/lib/radio/src/use-radio.d.ts +0 -3
  331. package/lib/radio/src/use-radio.js +1 -26
  332. package/lib/steps/src/Step.d.ts +12 -12
  333. package/lib/steps/src/Step.js +12 -12
  334. package/lib/steps/src/styles/index.cssr.js +46 -46
  335. package/lib/switch/src/Switch.d.ts +19 -19
  336. package/lib/switch/src/Switch.js +26 -19
  337. package/lib/switch/src/styles/index.cssr.js +59 -57
  338. package/lib/tabs/src/styles/index.cssr.js +1 -0
  339. package/lib/tag/src/Tag.d.ts +26 -26
  340. package/lib/tag/src/Tag.js +26 -26
  341. package/lib/tag/src/styles/index.cssr.js +55 -55
  342. package/lib/tag/src/styles/rtl.cssr.js +1 -1
  343. package/lib/time-picker/src/TimePicker.d.ts +17 -17
  344. package/lib/time-picker/src/TimePicker.js +17 -17
  345. package/lib/time-picker/src/styles/index.cssr.js +47 -47
  346. package/lib/timeline/src/TimelineItem.d.ts +12 -12
  347. package/lib/timeline/src/TimelineItem.js +12 -12
  348. package/lib/timeline/src/styles/index.cssr.js +44 -44
  349. package/lib/transfer/src/styles/index.cssr.js +9 -4
  350. package/lib/tree/src/Tree.d.ts +11 -11
  351. package/lib/tree/src/Tree.js +11 -11
  352. package/lib/tree/src/dnd.js +2 -2
  353. package/lib/tree/src/styles/index.cssr.js +33 -33
  354. package/lib/tree-select/src/TreeSelect.d.ts +43 -6
  355. package/lib/tree-select/src/TreeSelect.js +28 -13
  356. package/lib/tree-select/src/styles/index.cssr.js +20 -11
  357. package/lib/tree-select/styles/light.d.ts +6 -0
  358. package/lib/tree-select/styles/light.js +5 -2
  359. package/lib/typography/src/a.d.ts +2 -2
  360. package/lib/typography/src/a.js +2 -2
  361. package/lib/typography/src/blockquote.d.ts +5 -5
  362. package/lib/typography/src/blockquote.js +5 -5
  363. package/lib/typography/src/create-header.d.ts +8 -8
  364. package/lib/typography/src/create-header.js +8 -8
  365. package/lib/typography/src/headers.d.ts +48 -48
  366. package/lib/typography/src/hr.d.ts +2 -1
  367. package/lib/typography/src/hr.js +3 -1
  368. package/lib/typography/src/ol.d.ts +7 -7
  369. package/lib/typography/src/ol.js +7 -7
  370. package/lib/typography/src/p.d.ts +5 -5
  371. package/lib/typography/src/p.js +5 -5
  372. package/lib/typography/src/styles/a.cssr.js +6 -6
  373. package/lib/typography/src/styles/blockquote.cssr.js +11 -11
  374. package/lib/typography/src/styles/header.cssr.js +19 -19
  375. package/lib/typography/src/styles/hr.cssr.js +3 -3
  376. package/lib/typography/src/styles/list.cssr.js +15 -15
  377. package/lib/typography/src/styles/p.cssr.js +10 -10
  378. package/lib/typography/src/styles/text.cssr.js +18 -18
  379. package/lib/typography/src/text.d.ts +8 -7
  380. package/lib/typography/src/text.js +9 -8
  381. package/lib/typography/src/ul.d.ts +7 -7
  382. package/lib/typography/src/ul.js +7 -7
  383. package/lib/upload/src/Upload.js +16 -16
  384. package/lib/upload/src/styles/index.cssr.js +36 -36
  385. package/lib/version.d.ts +1 -1
  386. package/lib/version.js +1 -1
  387. package/package.json +29 -28
  388. package/web-types.json +25 -7
@@ -1,12 +1,16 @@
1
- import { PropType } from 'vue';
2
- import { RowKey, TmNode } from '../interface';
1
+ import { PropType, CSSProperties } from 'vue';
2
+ import { RowKey, ColumnKey, TmNode } from '../interface';
3
3
  import type { ColItem } from '../use-group-header';
4
4
  declare const _default: import("vue").DefineComponent<{
5
5
  onResize: PropType<(e: ResizeObserverEntry) => void>;
6
6
  showHeader: BooleanConstructor;
7
7
  flexHeight: BooleanConstructor;
8
+ bodyStyle: PropType<CSSProperties>;
8
9
  }, {
9
10
  getScrollContainer: () => HTMLElement | null;
11
+ dataTableSlots: Readonly<{
12
+ [name: string]: import("vue").Slot | undefined;
13
+ }>;
10
14
  componentId: string;
11
15
  scrollbarInstRef: import("vue").Ref<{
12
16
  scrollTo: import("../../../_internal/scrollbar/src/ScrollBar").ScrollTo;
@@ -20,6 +24,7 @@ declare const _default: import("vue").DefineComponent<{
20
24
  itemsElRef: HTMLElement | null;
21
25
  scrollTo: import("vueuc/lib/virtual-list/src/VirtualList").ScrollTo;
22
26
  } | null>;
27
+ emptyElRef: import("vue").Ref<HTMLElement | null>;
23
28
  summary: import("vue").Ref<import("../interface").CreateSummary<import("../interface").InternalRowData> | undefined>;
24
29
  mergedClsPrefix: import("vue").Ref<string>;
25
30
  mergedTheme: import("vue").Ref<{
@@ -976,17 +981,21 @@ declare const _default: import("vue").DefineComponent<{
976
981
  }>;
977
982
  scrollX: import("vue").Ref<string | number | undefined>;
978
983
  cols: import("vue").Ref<ColItem[]>;
984
+ loading: import("vue").Ref<boolean>;
985
+ bodyShowHeaderOnly: import("vue").ComputedRef<boolean>;
986
+ shouldDisplaySomeTablePart: import("vue").ComputedRef<boolean>;
987
+ empty: import("vue").ComputedRef<boolean>;
979
988
  paginatedData: import("vue").ComputedRef<{
980
989
  tmNode: TmNode;
981
990
  key: import("treemate").Key;
982
991
  striped: boolean;
983
992
  }[]>;
984
993
  rawPaginatedData: import("vue").Ref<import("../interface").InternalRowData[]>;
985
- fixedColumnLeftMap: import("vue").Ref<Record<import("../interface").ColumnKey, {
994
+ fixedColumnLeftMap: import("vue").Ref<Record<ColumnKey, {
986
995
  start: number;
987
996
  end: number;
988
997
  } | undefined>>;
989
- fixedColumnRightMap: import("vue").Ref<Record<import("../interface").ColumnKey, {
998
+ fixedColumnRightMap: import("vue").Ref<Record<ColumnKey, {
990
999
  start: number;
991
1000
  end: number;
992
1001
  } | undefined>>;
@@ -1019,11 +1028,13 @@ declare const _default: import("vue").DefineComponent<{
1019
1028
  onResize?: unknown;
1020
1029
  showHeader?: unknown;
1021
1030
  flexHeight?: unknown;
1031
+ bodyStyle?: unknown;
1022
1032
  } & {
1023
1033
  flexHeight: boolean;
1024
1034
  showHeader: boolean;
1025
1035
  } & {
1026
1036
  onResize?: ((e: ResizeObserverEntry) => void) | undefined;
1037
+ bodyStyle?: CSSProperties | undefined;
1027
1038
  }>, {
1028
1039
  flexHeight: boolean;
1029
1040
  showHeader: boolean;
@@ -1,16 +1,18 @@
1
1
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
- import { h, ref, defineComponent, inject, watchEffect, onUnmounted, computed } from 'vue';
2
+ import { h, ref, defineComponent, inject, watchEffect, onUnmounted, computed, renderSlot, Fragment } from 'vue';
3
3
  import { pxfy, repeat } from 'seemly';
4
- import { VirtualList } from 'vueuc';
4
+ import { VirtualList, VResizeObserver } from 'vueuc';
5
5
  import { c } from '../../../_utils/cssr';
6
6
  import { NScrollbar } from '../../../_internal';
7
7
  import { formatLength } from '../../../_utils';
8
+ import { NEmpty } from '../../../empty';
8
9
  import { dataTableInjectionKey } from '../interface';
9
10
  import { createRowClassName, getColKey, isColumnSorting } from '../utils';
10
11
  import Cell from './Cell';
11
12
  import ExpandTrigger from './ExpandTrigger';
12
13
  import RenderSafeCheckbox from './BodyCheckbox';
13
14
  import TableHeader from './Header';
15
+ import { useMemo } from 'vooks';
14
16
  function flatten(rowInfos, expandedRowKeys) {
15
17
  const fRows = [];
16
18
  function traverse(rs) {
@@ -70,14 +72,24 @@ export default defineComponent({
70
72
  props: {
71
73
  onResize: Function,
72
74
  showHeader: Boolean,
73
- flexHeight: Boolean
75
+ flexHeight: Boolean,
76
+ bodyStyle: Object
74
77
  },
75
78
  setup(props) {
76
- const { mergedExpandedRowKeysRef, mergedClsPrefixRef, mergedThemeRef, scrollXRef, colsRef, paginatedDataRef, rawPaginatedDataRef, fixedColumnLeftMapRef, fixedColumnRightMapRef, mergedCurrentPageRef, rowClassNameRef, leftActiveFixedColKeyRef, rightActiveFixedColKeyRef, renderExpandRef, hoverKeyRef, summaryRef, mergedSortStateRef, virtualScrollRef, componentId, scrollPartRef, mergedTableLayoutRef, hasChildrenRef, firstContentfulColIndexRef, indentRef, rowPropsRef, maxHeightRef, stripedRef, setHeaderScrollLeft, doUpdateExpandedRowKeys, handleTableBodyScroll, doCheck, doUncheck
79
+ const { slots: dataTableSlots, mergedExpandedRowKeysRef, mergedClsPrefixRef, mergedThemeRef, scrollXRef, colsRef, paginatedDataRef, rawPaginatedDataRef, fixedColumnLeftMapRef, fixedColumnRightMapRef, mergedCurrentPageRef, rowClassNameRef, leftActiveFixedColKeyRef, leftActiveFixedChildrenColKeysRef, rightActiveFixedColKeyRef, rightActiveFixedChildrenColKeysRef, renderExpandRef, hoverKeyRef, summaryRef, mergedSortStateRef, virtualScrollRef, componentId, scrollPartRef, mergedTableLayoutRef, hasChildrenRef, firstContentfulColIndexRef, indentRef, rowPropsRef, maxHeightRef, stripedRef, loadingRef, setHeaderScrollLeft, doUpdateExpandedRowKeys, handleTableBodyScroll, doCheck, doUncheck
77
80
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
78
81
  } = inject(dataTableInjectionKey);
79
82
  const scrollbarInstRef = ref(null);
80
83
  const virtualListRef = ref(null);
84
+ const emptyElRef = ref(null);
85
+ const emptyRef = useMemo(() => paginatedDataRef.value.length === 0);
86
+ // If header is not inside & empty is displayed, no table part would be
87
+ // shown. So to collect a body width, we need to put a ref on empty element
88
+ const shouldDisplaySomeTablePartRef = useMemo(() => props.showHeader || !emptyRef.value);
89
+ // If no body is shown, we shouldn't show scrollbar
90
+ const bodyShowHeaderOnlyRef = useMemo(() => {
91
+ return props.showHeader || emptyRef.value;
92
+ });
81
93
  let lastSelectedKey = '';
82
94
  const mergedExpandedRowKeySetRef = computed(() => {
83
95
  return new Set(mergedExpandedRowKeysRef.value);
@@ -114,6 +126,15 @@ export default defineComponent({
114
126
  lastSelectedKey = tmNode.key;
115
127
  }
116
128
  function getScrollContainer() {
129
+ if (!shouldDisplaySomeTablePartRef.value) {
130
+ const { value: emptyEl } = emptyElRef;
131
+ if (emptyEl) {
132
+ return emptyEl;
133
+ }
134
+ else {
135
+ return null;
136
+ }
137
+ }
117
138
  if (virtualScrollRef.value) {
118
139
  return virtualListContainer();
119
140
  }
@@ -165,36 +186,47 @@ export default defineComponent({
165
186
  };
166
187
  // manually control shadow style to avoid rerender
167
188
  const style = c([
168
- ({ props: cProps }) => c([
169
- cProps.leftActiveFixedColKey === null
170
- ? null
171
- : c(`[data-n-id="${cProps.componentId}"] [data-col-key="${cProps.leftActiveFixedColKey}"]::after`, {
172
- boxShadow: 'var(--box-shadow-after)'
173
- }),
174
- cProps.rightActiveFixedColKey === null
175
- ? null
176
- : c(`[data-n-id="${cProps.componentId}"] [data-col-key="${cProps.rightActiveFixedColKey}"]::before`, {
177
- boxShadow: 'var(--box-shadow-before)'
178
- })
179
- ])
189
+ ({ props: cProps }) => {
190
+ const createActiveLeftFixedStyle = (leftActiveFixedColKey) => {
191
+ if (leftActiveFixedColKey === null)
192
+ return null;
193
+ return c(`[data-n-id="${cProps.componentId}"] [data-col-key="${leftActiveFixedColKey}"]::after`, { boxShadow: 'var(--box-shadow-after)' });
194
+ };
195
+ const createActiveRightFixedStyle = (rightActiveFixedColKey) => {
196
+ if (rightActiveFixedColKey === null)
197
+ return null;
198
+ return c(`[data-n-id="${cProps.componentId}"] [data-col-key="${rightActiveFixedColKey}"]::before`, { boxShadow: 'var(--box-shadow-before)' });
199
+ };
200
+ return c([
201
+ createActiveLeftFixedStyle(cProps.leftActiveFixedColKey),
202
+ createActiveRightFixedStyle(cProps.rightActiveFixedColKey),
203
+ cProps.leftActiveFixedChildrenColKeys.map((leftActiveFixedColKey) => createActiveLeftFixedStyle(leftActiveFixedColKey)),
204
+ cProps.rightActiveFixedChildrenColKeys.map((rightActiveFixedColKey) => createActiveRightFixedStyle(rightActiveFixedColKey))
205
+ ]);
206
+ }
180
207
  ]);
181
208
  let fixedStyleMounted = false;
182
209
  watchEffect(() => {
183
210
  const { value: leftActiveFixedColKey } = leftActiveFixedColKeyRef;
211
+ const { value: leftActiveFixedChildrenColKeys } = leftActiveFixedChildrenColKeysRef;
184
212
  const { value: rightActiveFixedColKey } = rightActiveFixedColKeyRef;
213
+ const { value: rightActiveFixedChildrenColKeys } = rightActiveFixedChildrenColKeysRef;
185
214
  if (!fixedStyleMounted &&
186
215
  leftActiveFixedColKey === null &&
187
216
  rightActiveFixedColKey === null) {
188
217
  return;
189
218
  }
219
+ const cProps = {
220
+ leftActiveFixedColKey,
221
+ leftActiveFixedChildrenColKeys,
222
+ rightActiveFixedColKey,
223
+ rightActiveFixedChildrenColKeys,
224
+ componentId
225
+ };
190
226
  style.mount({
191
227
  id: `n-${componentId}`,
192
228
  force: true,
193
- props: {
194
- leftActiveFixedColKey,
195
- rightActiveFixedColKey,
196
- componentId
197
- }
229
+ props: cProps
198
230
  });
199
231
  fixedStyleMounted = true;
200
232
  });
@@ -203,9 +235,11 @@ export default defineComponent({
203
235
  id: `n-${componentId}`
204
236
  });
205
237
  });
206
- return Object.assign({ componentId,
238
+ return Object.assign({ dataTableSlots,
239
+ componentId,
207
240
  scrollbarInstRef,
208
- virtualListRef, summary: summaryRef, mergedClsPrefix: mergedClsPrefixRef, mergedTheme: mergedThemeRef, scrollX: scrollXRef, cols: colsRef, paginatedData: computed(() => {
241
+ virtualListRef,
242
+ emptyElRef, summary: summaryRef, mergedClsPrefix: mergedClsPrefixRef, mergedTheme: mergedThemeRef, scrollX: scrollXRef, cols: colsRef, loading: loadingRef, bodyShowHeaderOnly: bodyShowHeaderOnlyRef, shouldDisplaySomeTablePart: shouldDisplaySomeTablePartRef, empty: emptyRef, paginatedData: computed(() => {
209
243
  const { value: striped } = stripedRef;
210
244
  return paginatedDataRef.value.map(striped
211
245
  ? (tmNode, index) => {
@@ -247,13 +281,13 @@ export default defineComponent({
247
281
  };
248
282
  if (scrollX)
249
283
  contentStyle.width = '100%';
250
- return (h(NScrollbar, { ref: "scrollbarInstRef", scrollable: scrollable || isBasicAutoLayout, class: `${mergedClsPrefix}-data-table-base-table-body`, theme: mergedTheme.peers.Scrollbar, themeOverrides: mergedTheme.peerOverrides.Scrollbar, contentStyle: contentStyle, container: virtualScroll ? this.virtualListContainer : undefined, content: virtualScroll ? this.virtualListContent : undefined, horizontalRailStyle: { zIndex: 3 }, verticalRailStyle: { zIndex: 3 }, xScrollable: xScrollable, onScroll: virtualScroll ? undefined : this.handleTableBodyScroll, internalOnUpdateScrollLeft: setHeaderScrollLeft, onResize: onResize }, {
284
+ const tableNode = (h(NScrollbar, { ref: "scrollbarInstRef", scrollable: scrollable || isBasicAutoLayout, class: `${mergedClsPrefix}-data-table-base-table-body`, style: this.bodyStyle, theme: mergedTheme.peers.Scrollbar, themeOverrides: mergedTheme.peerOverrides.Scrollbar, contentStyle: contentStyle, container: virtualScroll ? this.virtualListContainer : undefined, content: virtualScroll ? this.virtualListContent : undefined, horizontalRailStyle: { zIndex: 3 }, verticalRailStyle: { zIndex: 3 }, xScrollable: xScrollable, onScroll: virtualScroll ? undefined : this.handleTableBodyScroll, internalOnUpdateScrollLeft: setHeaderScrollLeft, onResize: onResize }, {
251
285
  default: () => {
252
286
  // coordinate to pass if there are cells that cross row & col
253
287
  const cordToPass = {};
254
288
  // coordinate to related hover keys
255
289
  const cordKey = {};
256
- const { cols, paginatedData, mergedTheme, fixedColumnLeftMap, fixedColumnRightMap, currentPage, rowClassName, mergedSortState, mergedExpandedRowKeySet, componentId, showHeader, hasChildren, firstContentfulColIndex, rowProps, handleMouseenterTable, handleMouseleaveTable, renderExpand, summary, handleCheckboxUpdateChecked, handleUpdateExpanded } = this;
290
+ const { cols, paginatedData, mergedTheme, fixedColumnLeftMap, fixedColumnRightMap, currentPage, rowClassName, mergedSortState, mergedExpandedRowKeySet, componentId, hasChildren, firstContentfulColIndex, rowProps, handleMouseenterTable, handleMouseleaveTable, renderExpand, summary, handleCheckboxUpdateChecked, handleUpdateExpanded } = this;
257
291
  const { length: colCount } = cols;
258
292
  let mergedData;
259
293
  // if there is children in data, we should expand mergedData first
@@ -338,6 +372,7 @@ export default defineComponent({
338
372
  this.hoverKey = rowKey;
339
373
  }, key: rowKey, class: [
340
374
  `${mergedClsPrefix}-data-table-tr`,
375
+ isSummary && `${mergedClsPrefix}-data-table-tr--summary`,
341
376
  striped && `${mergedClsPrefix}-data-table-tr--striped`,
342
377
  mergedRowClassName
343
378
  ] }, props), cols.map((col, colIndex) => {
@@ -436,10 +471,10 @@ export default defineComponent({
436
471
  tableLayout: this.mergedTableLayout
437
472
  } },
438
473
  h("colgroup", null, cols.map((col) => (h("col", { key: col.key, style: col.style })))),
439
- showHeader ? h(TableHeader, { discrete: false }) : null,
440
- h("tbody", { "data-n-id": componentId, class: `${mergedClsPrefix}-data-table-tbody` }, displayedData.map((rowInfo, rowIndex) => {
474
+ this.showHeader ? h(TableHeader, { discrete: false }) : null,
475
+ !this.empty ? (h("tbody", { "data-n-id": componentId, class: `${mergedClsPrefix}-data-table-tbody` }, displayedData.map((rowInfo, rowIndex) => {
441
476
  return renderRow(rowInfo, rowIndex, false);
442
- }))));
477
+ }))) : null));
443
478
  }
444
479
  else {
445
480
  return (h(VirtualList, { ref: "virtualListRef", items: displayedData, itemSize: 28, visibleItemsTag: VirtualListItemWrapper, visibleItemsProps: {
@@ -454,5 +489,22 @@ export default defineComponent({
454
489
  }
455
490
  }
456
491
  }));
492
+ if (this.empty) {
493
+ const createEmptyNode = () => (h("div", { class: [
494
+ `${mergedClsPrefix}-data-table-empty`,
495
+ this.loading && `${mergedClsPrefix}-data-table-empty--hide`
496
+ ], style: this.bodyStyle, ref: "emptyElRef" }, renderSlot(this.dataTableSlots, 'empty', undefined, () => [
497
+ h(NEmpty, { theme: this.mergedTheme.peers.Empty, themeOverrides: this.mergedTheme.peerOverrides.Empty })
498
+ ])));
499
+ if (this.shouldDisplaySomeTablePart) {
500
+ return (h(Fragment, null,
501
+ tableNode,
502
+ createEmptyNode()));
503
+ }
504
+ else {
505
+ return (h(VResizeObserver, { onResize: this.onResize }, { default: createEmptyNode }));
506
+ }
507
+ }
508
+ return tableNode;
457
509
  }
458
510
  });
@@ -36,10 +36,9 @@ export default defineComponent({
36
36
  cell = get(row, key);
37
37
  }
38
38
  }
39
- const tooltip = typeof ellipsis === 'object' ? ellipsis.tooltip : undefined;
40
- if (tooltip) {
39
+ if (ellipsis && typeof ellipsis === 'object') {
41
40
  const { mergedTheme } = this;
42
- return (h(NEllipsis, { tooltip: tooltip, theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }, { default: () => cell }));
41
+ return (h(NEllipsis, Object.assign({}, ellipsis, { theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }), { default: () => cell }));
43
42
  }
44
43
  return cell;
45
44
  }
@@ -26,7 +26,7 @@ export default defineComponent({
26
26
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
27
27
  } = inject(dataTableInjectionKey);
28
28
  function handleCheckboxUpdateChecked() {
29
- if (someRowsCheckedRef.value || allRowsCheckedRef.value) {
29
+ if (allRowsCheckedRef.value) {
30
30
  doUncheckAll();
31
31
  }
32
32
  else {
@@ -105,7 +105,7 @@ export default defineComponent({
105
105
  column.type === 'selection' ? (h(Fragment, null,
106
106
  h(NCheckbox, { key: currentPage, privateInsideTable: true, checked: allRowsChecked, indeterminate: someRowsChecked, disabled: headerCheckboxDisabled, onUpdateChecked: handleCheckboxUpdateChecked }),
107
107
  checkOptions ? (h(SelectionMenu, { clsPrefix: mergedClsPrefix })) : null)) : ellipsis === true || (ellipsis && !ellipsis.tooltip) ? (h("div", { class: `${mergedClsPrefix}-data-table-th__ellipsis` }, renderTitle(column))) // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
108
- : ellipsis && ellipsis.tooltip ? (h(NEllipsis, { tooltip: ellipsis.tooltip, theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }, {
108
+ : ellipsis && typeof ellipsis === 'object' ? (h(NEllipsis, Object.assign({}, ellipsis, { theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }), {
109
109
  default: () => renderTitle(column)
110
110
  })) : (renderTitle(column)),
111
111
  isColumnSortable(column) ? (h(SortButton, { column: column })) : null,
@@ -1,5 +1,5 @@
1
1
  import { TreeNode } from 'treemate';
2
- import { CSSProperties, InjectionKey, Ref, VNodeChild, HTMLAttributes } from 'vue';
2
+ import { CSSProperties, InjectionKey, Ref, VNodeChild, HTMLAttributes, Slots } from 'vue';
3
3
  import { EllipsisProps } from '../../ellipsis/src/Ellipsis';
4
4
  import { NLocale } from '../../locales';
5
5
  import { MergedTheme } from '../../_mixins';
@@ -100,6 +100,7 @@ export declare type DataTableSelectionOptions = Array<DataTableSelectionOption |
100
100
  onSelect: () => void;
101
101
  }>;
102
102
  export interface DataTableInjection {
103
+ slots: Slots;
103
104
  indentRef: Ref<number>;
104
105
  hasChildrenRef: Ref<boolean>;
105
106
  firstContentfulColIndexRef: Ref<number>;
@@ -115,7 +116,9 @@ export interface DataTableInjection {
115
116
  leftFixedColumnsRef: Ref<TableColumns>;
116
117
  rightFixedColumnsRef: Ref<TableColumns>;
117
118
  leftActiveFixedColKeyRef: Ref<ColumnKey | null>;
119
+ leftActiveFixedChildrenColKeysRef: Ref<ColumnKey[]>;
118
120
  rightActiveFixedColKeyRef: Ref<ColumnKey | null>;
121
+ rightActiveFixedChildrenColKeysRef: Ref<ColumnKey[]>;
119
122
  fixedColumnLeftMapRef: Ref<Record<ColumnKey, {
120
123
  start: number;
121
124
  end: number;
@@ -53,11 +53,11 @@ export default c([cB('data-table', `
53
53
  --merged-th-color-hover: var(--th-color-hover);
54
54
  --merged-td-color-hover: var(--td-color-hover);
55
55
  --merged-td-color-striped: var(--td-color-striped);
56
- `, [cM('flex-height', [c('>', [cB('data-table-wrapper', `
56
+ `, [cB('data-table-wrapper', `
57
57
  flex-grow: 1;
58
58
  display: flex;
59
59
  flex-direction: column;
60
- `, [c('>', [cB('data-table-base-table', `
60
+ `), cM('flex-height', [c('>', [cB('data-table-wrapper', [c('>', [cB('data-table-base-table', `
61
61
  display: flex;
62
62
  flex-direction: column;
63
63
  flex-grow: 1;
@@ -93,7 +93,7 @@ c('&:last-child', 'flex-grow: 1;')])])])])])])]), c('>', [cB('base-loading', `
93
93
  box-sizing: border-box;
94
94
  background-clip: padding-box;
95
95
  transition: background-color .3s var(--bezier);
96
- `, [cM('striped', 'background-color: var(--merged-td-color-striped);', [cB('data-table-td', 'background-color: var(--merged-td-color-striped);')]), c('&:hover', 'background-color: var(--merged-td-color-hover);', [cB('data-table-td', 'background-color: var(--merged-td-color-hover);')])]), cB('data-table-th', `
96
+ `, [cM('striped', 'background-color: var(--merged-td-color-striped);', [cB('data-table-td', 'background-color: var(--merged-td-color-striped);')]), cNotM('summary', [c('&:hover', 'background-color: var(--merged-td-color-hover);', [cB('data-table-td', 'background-color: var(--merged-td-color-hover);')])])]), cB('data-table-th', `
97
97
  padding: var(--th-padding);
98
98
  position: relative;
99
99
  text-align: start;
@@ -203,6 +203,7 @@ c('&::after', {
203
203
  padding: 0;
204
204
  line-height: 0;
205
205
  `), fixedColumnStyle]), cB('data-table-empty', `
206
+ box-sizing: border-box;
206
207
  padding: var(--empty-padding);
207
208
  flex-grow: 1;
208
209
  flex-shrink: 0;
@@ -58,18 +58,22 @@ export function useCheck(props, data) {
58
58
  uncontrolledCheckedRowKeysRef.value = keys;
59
59
  }
60
60
  function doCheck(rowKey) {
61
+ if (props.loading)
62
+ return;
61
63
  doUpdateCheckedRowKeys(treeMateRef.value.check(rowKey, mergedCheckedRowKeysRef.value, {
62
64
  cascade: props.cascade
63
65
  }).checkedKeys);
64
66
  }
65
67
  function doUncheck(rowKey) {
68
+ if (props.loading)
69
+ return;
66
70
  doUpdateCheckedRowKeys(treeMateRef.value.uncheck(rowKey, mergedCheckedRowKeysRef.value, {
67
71
  cascade: props.cascade
68
72
  }).checkedKeys);
69
73
  }
70
74
  function doCheckAll(checkWholeTable = false) {
71
75
  const { value: column } = selectionColumnRef;
72
- if (!column)
76
+ if (!column || props.loading)
73
77
  return;
74
78
  const rowKeysToCheck = [];
75
79
  (checkWholeTable
@@ -86,7 +90,7 @@ export function useCheck(props, data) {
86
90
  }
87
91
  function doUncheckAll(checkWholeTable = false) {
88
92
  const { value: column } = selectionColumnRef;
89
- if (!column)
93
+ if (!column || props.loading)
90
94
  return;
91
95
  const rowKeysToUncheck = [];
92
96
  (checkWholeTable
@@ -19,7 +19,9 @@ export declare function useScroll(props: DataTableSetupProps, { mainTableInstRef
19
19
  leftFixedColumnsRef: ComputedRef<TableColumn<any>[]>;
20
20
  rightFixedColumnsRef: ComputedRef<TableColumn<any>[]>;
21
21
  leftActiveFixedColKeyRef: Ref<ColumnKey | null>;
22
+ leftActiveFixedChildrenColKeysRef: Ref<ColumnKey[]>;
22
23
  rightActiveFixedColKeyRef: Ref<ColumnKey | null>;
24
+ rightActiveFixedChildrenColKeysRef: Ref<ColumnKey[]>;
23
25
  syncScrollState: () => void;
24
26
  handleTableBodyScroll: () => void;
25
27
  handleTableHeaderScroll: () => void;
@@ -6,7 +6,9 @@ import { getColWidth, getColKey } from './utils';
6
6
  export function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef, scrollPartRef }) {
7
7
  let scrollLeft = 0;
8
8
  const leftActiveFixedColKeyRef = ref(null);
9
+ const leftActiveFixedChildrenColKeysRef = ref([]);
9
10
  const rightActiveFixedColKeyRef = ref(null);
11
+ const rightActiveFixedChildrenColKeysRef = ref([]);
10
12
  const styleScrollXRef = computed(() => {
11
13
  return formatLength(props.scrollX);
12
14
  });
@@ -40,7 +42,8 @@ export function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyW
40
42
  const columns = {};
41
43
  let right = 0;
42
44
  function traverse(cols) {
43
- cols.forEach((col) => {
45
+ for (let i = cols.length - 1; i >= 0; --i) {
46
+ const col = cols[i];
44
47
  const positionInfo = { start: right, end: 0 };
45
48
  columns[getColKey(col)] = positionInfo;
46
49
  if ('children' in col) {
@@ -51,9 +54,9 @@ export function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyW
51
54
  right += getColWidth(col) || 0;
52
55
  positionInfo.end = right;
53
56
  }
54
- });
57
+ }
55
58
  }
56
- traverse(rightFixedColumnsRef.value.reverse());
59
+ traverse(rightFixedColumnsRef.value);
57
60
  return columns;
58
61
  });
59
62
  function deriveActiveLeftFixedColumn() {
@@ -75,6 +78,18 @@ export function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyW
75
78
  }
76
79
  leftActiveFixedColKeyRef.value = leftActiveFixedColKey;
77
80
  }
81
+ function deriveActiveLeftFixedChildrenColumns() {
82
+ leftActiveFixedChildrenColKeysRef.value = [];
83
+ let activeLeftFixedColumn = props.columns.find((col) => getColKey(col) === leftActiveFixedColKeyRef.value);
84
+ while (activeLeftFixedColumn && 'children' in activeLeftFixedColumn) {
85
+ const length = activeLeftFixedColumn.children.length;
86
+ if (length === 0)
87
+ break;
88
+ const nextActiveLeftFixedColumn = activeLeftFixedColumn.children[length - 1];
89
+ leftActiveFixedChildrenColKeysRef.value.push(getColKey(nextActiveLeftFixedColumn));
90
+ activeLeftFixedColumn = nextActiveLeftFixedColumn;
91
+ }
92
+ }
78
93
  function deriveActiveRightFixedColumn() {
79
94
  var _a, _b;
80
95
  // target is header element
@@ -86,7 +101,7 @@ export function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyW
86
101
  let rightWidth = 0;
87
102
  let rightActiveFixedColKey = null;
88
103
  const { value: fixedColumnRightMap } = fixedColumnRightMapRef;
89
- for (let i = 0; i < rightFixedColumns.length; ++i) {
104
+ for (let i = rightFixedColumns.length - 1; i >= 0; --i) {
90
105
  const key = getColKey(rightFixedColumns[i]);
91
106
  if (Math.round(scrollLeft +
92
107
  (((_a = fixedColumnRightMap[key]) === null || _a === void 0 ? void 0 : _a.start) || 0) +
@@ -101,6 +116,17 @@ export function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyW
101
116
  }
102
117
  rightActiveFixedColKeyRef.value = rightActiveFixedColKey;
103
118
  }
119
+ function deriveActiveRightFixedChildrenColumns() {
120
+ rightActiveFixedChildrenColKeysRef.value = [];
121
+ let activeRightFixedColumn = props.columns.find((col) => getColKey(col) === rightActiveFixedColKeyRef.value);
122
+ while (activeRightFixedColumn &&
123
+ 'children' in activeRightFixedColumn &&
124
+ activeRightFixedColumn.children.length) {
125
+ const nextActiveRightFixedColumn = activeRightFixedColumn.children[0];
126
+ rightActiveFixedChildrenColKeysRef.value.push(getColKey(nextActiveRightFixedColumn));
127
+ activeRightFixedColumn = nextActiveRightFixedColumn;
128
+ }
129
+ }
104
130
  function getScrollElements() {
105
131
  const header = mainTableInstRef.value
106
132
  ? mainTableInstRef.value.getHeaderElement()
@@ -157,7 +183,9 @@ export function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyW
157
183
  scrollLeft = body.scrollLeft;
158
184
  }
159
185
  deriveActiveLeftFixedColumn();
186
+ deriveActiveLeftFixedChildrenColumns();
160
187
  deriveActiveRightFixedColumn();
188
+ deriveActiveRightFixedChildrenColumns();
161
189
  }
162
190
  function setHeaderScrollLeft(left) {
163
191
  const { header } = getScrollElements();
@@ -176,7 +204,9 @@ export function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyW
176
204
  leftFixedColumnsRef,
177
205
  rightFixedColumnsRef,
178
206
  leftActiveFixedColKeyRef,
207
+ leftActiveFixedChildrenColKeysRef,
179
208
  rightActiveFixedColKeyRef,
209
+ rightActiveFixedChildrenColKeysRef,
180
210
  syncScrollState,
181
211
  handleTableBodyScroll,
182
212
  handleTableHeaderScroll,
@@ -186,11 +186,13 @@ export function useTableData(props, { dataRelatedColsRef }) {
186
186
  function mergedOnUpdatePageSize(pageSize) {
187
187
  const { pagination } = props;
188
188
  if (pagination) {
189
- const { onPageSizeChange, 'onUpdate:pageSize': onUpdatePageSize } = pagination;
189
+ const { onPageSizeChange, 'onUpdate:pageSize': _onUpdatePageSize, onUpdatePageSize } = pagination;
190
190
  if (onPageSizeChange)
191
191
  call(onPageSizeChange, pageSize);
192
192
  if (onUpdatePageSize)
193
193
  call(onUpdatePageSize, pageSize);
194
+ if (_onUpdatePageSize)
195
+ call(_onUpdatePageSize, pageSize);
194
196
  doUpdatePageSize(pageSize);
195
197
  }
196
198
  }
@@ -8,7 +8,7 @@ export default {
8
8
  sorterSize: '15px',
9
9
  filterSize: '15px',
10
10
  paginationMargin: '12px 0 0 0',
11
- emptyPadding: '16px 0',
11
+ emptyPadding: '48px 0',
12
12
  actionPadding: '8px 12px',
13
13
  actionButtonMargin: '0 8px 0 0'
14
14
  };