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;
@@ -10,12 +10,14 @@ const vueuc_1 = require("vueuc");
10
10
  const cssr_1 = require("../../../_utils/cssr");
11
11
  const _internal_1 = require("../../../_internal");
12
12
  const _utils_1 = require("../../../_utils");
13
+ const empty_1 = require("../../../empty");
13
14
  const interface_1 = require("../interface");
14
15
  const utils_1 = require("../utils");
15
16
  const Cell_1 = __importDefault(require("./Cell"));
16
17
  const ExpandTrigger_1 = __importDefault(require("./ExpandTrigger"));
17
18
  const BodyCheckbox_1 = __importDefault(require("./BodyCheckbox"));
18
19
  const Header_1 = __importDefault(require("./Header"));
20
+ const vooks_1 = require("vooks");
19
21
  function flatten(rowInfos, expandedRowKeys) {
20
22
  const fRows = [];
21
23
  function traverse(rs) {
@@ -75,14 +77,24 @@ exports.default = (0, vue_1.defineComponent)({
75
77
  props: {
76
78
  onResize: Function,
77
79
  showHeader: Boolean,
78
- flexHeight: Boolean
80
+ flexHeight: Boolean,
81
+ bodyStyle: Object
79
82
  },
80
83
  setup(props) {
81
- 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
84
+ 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
82
85
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
83
86
  } = (0, vue_1.inject)(interface_1.dataTableInjectionKey);
84
87
  const scrollbarInstRef = (0, vue_1.ref)(null);
85
88
  const virtualListRef = (0, vue_1.ref)(null);
89
+ const emptyElRef = (0, vue_1.ref)(null);
90
+ const emptyRef = (0, vooks_1.useMemo)(() => paginatedDataRef.value.length === 0);
91
+ // If header is not inside & empty is displayed, no table part would be
92
+ // shown. So to collect a body width, we need to put a ref on empty element
93
+ const shouldDisplaySomeTablePartRef = (0, vooks_1.useMemo)(() => props.showHeader || !emptyRef.value);
94
+ // If no body is shown, we shouldn't show scrollbar
95
+ const bodyShowHeaderOnlyRef = (0, vooks_1.useMemo)(() => {
96
+ return props.showHeader || emptyRef.value;
97
+ });
86
98
  let lastSelectedKey = '';
87
99
  const mergedExpandedRowKeySetRef = (0, vue_1.computed)(() => {
88
100
  return new Set(mergedExpandedRowKeysRef.value);
@@ -119,6 +131,15 @@ exports.default = (0, vue_1.defineComponent)({
119
131
  lastSelectedKey = tmNode.key;
120
132
  }
121
133
  function getScrollContainer() {
134
+ if (!shouldDisplaySomeTablePartRef.value) {
135
+ const { value: emptyEl } = emptyElRef;
136
+ if (emptyEl) {
137
+ return emptyEl;
138
+ }
139
+ else {
140
+ return null;
141
+ }
142
+ }
122
143
  if (virtualScrollRef.value) {
123
144
  return virtualListContainer();
124
145
  }
@@ -170,36 +191,47 @@ exports.default = (0, vue_1.defineComponent)({
170
191
  };
171
192
  // manually control shadow style to avoid rerender
172
193
  const style = (0, cssr_1.c)([
173
- ({ props: cProps }) => (0, cssr_1.c)([
174
- cProps.leftActiveFixedColKey === null
175
- ? null
176
- : (0, cssr_1.c)(`[data-n-id="${cProps.componentId}"] [data-col-key="${cProps.leftActiveFixedColKey}"]::after`, {
177
- boxShadow: 'var(--box-shadow-after)'
178
- }),
179
- cProps.rightActiveFixedColKey === null
180
- ? null
181
- : (0, cssr_1.c)(`[data-n-id="${cProps.componentId}"] [data-col-key="${cProps.rightActiveFixedColKey}"]::before`, {
182
- boxShadow: 'var(--box-shadow-before)'
183
- })
184
- ])
194
+ ({ props: cProps }) => {
195
+ const createActiveLeftFixedStyle = (leftActiveFixedColKey) => {
196
+ if (leftActiveFixedColKey === null)
197
+ return null;
198
+ return (0, cssr_1.c)(`[data-n-id="${cProps.componentId}"] [data-col-key="${leftActiveFixedColKey}"]::after`, { boxShadow: 'var(--box-shadow-after)' });
199
+ };
200
+ const createActiveRightFixedStyle = (rightActiveFixedColKey) => {
201
+ if (rightActiveFixedColKey === null)
202
+ return null;
203
+ return (0, cssr_1.c)(`[data-n-id="${cProps.componentId}"] [data-col-key="${rightActiveFixedColKey}"]::before`, { boxShadow: 'var(--box-shadow-before)' });
204
+ };
205
+ return (0, cssr_1.c)([
206
+ createActiveLeftFixedStyle(cProps.leftActiveFixedColKey),
207
+ createActiveRightFixedStyle(cProps.rightActiveFixedColKey),
208
+ cProps.leftActiveFixedChildrenColKeys.map((leftActiveFixedColKey) => createActiveLeftFixedStyle(leftActiveFixedColKey)),
209
+ cProps.rightActiveFixedChildrenColKeys.map((rightActiveFixedColKey) => createActiveRightFixedStyle(rightActiveFixedColKey))
210
+ ]);
211
+ }
185
212
  ]);
186
213
  let fixedStyleMounted = false;
187
214
  (0, vue_1.watchEffect)(() => {
188
215
  const { value: leftActiveFixedColKey } = leftActiveFixedColKeyRef;
216
+ const { value: leftActiveFixedChildrenColKeys } = leftActiveFixedChildrenColKeysRef;
189
217
  const { value: rightActiveFixedColKey } = rightActiveFixedColKeyRef;
218
+ const { value: rightActiveFixedChildrenColKeys } = rightActiveFixedChildrenColKeysRef;
190
219
  if (!fixedStyleMounted &&
191
220
  leftActiveFixedColKey === null &&
192
221
  rightActiveFixedColKey === null) {
193
222
  return;
194
223
  }
224
+ const cProps = {
225
+ leftActiveFixedColKey,
226
+ leftActiveFixedChildrenColKeys,
227
+ rightActiveFixedColKey,
228
+ rightActiveFixedChildrenColKeys,
229
+ componentId
230
+ };
195
231
  style.mount({
196
232
  id: `n-${componentId}`,
197
233
  force: true,
198
- props: {
199
- leftActiveFixedColKey,
200
- rightActiveFixedColKey,
201
- componentId
202
- }
234
+ props: cProps
203
235
  });
204
236
  fixedStyleMounted = true;
205
237
  });
@@ -208,9 +240,11 @@ exports.default = (0, vue_1.defineComponent)({
208
240
  id: `n-${componentId}`
209
241
  });
210
242
  });
211
- return Object.assign({ componentId,
243
+ return Object.assign({ dataTableSlots,
244
+ componentId,
212
245
  scrollbarInstRef,
213
- virtualListRef, summary: summaryRef, mergedClsPrefix: mergedClsPrefixRef, mergedTheme: mergedThemeRef, scrollX: scrollXRef, cols: colsRef, paginatedData: (0, vue_1.computed)(() => {
246
+ virtualListRef,
247
+ emptyElRef, summary: summaryRef, mergedClsPrefix: mergedClsPrefixRef, mergedTheme: mergedThemeRef, scrollX: scrollXRef, cols: colsRef, loading: loadingRef, bodyShowHeaderOnly: bodyShowHeaderOnlyRef, shouldDisplaySomeTablePart: shouldDisplaySomeTablePartRef, empty: emptyRef, paginatedData: (0, vue_1.computed)(() => {
214
248
  const { value: striped } = stripedRef;
215
249
  return paginatedDataRef.value.map(striped
216
250
  ? (tmNode, index) => {
@@ -252,13 +286,13 @@ exports.default = (0, vue_1.defineComponent)({
252
286
  };
253
287
  if (scrollX)
254
288
  contentStyle.width = '100%';
255
- return ((0, vue_1.h)(_internal_1.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 }, {
289
+ const tableNode = ((0, vue_1.h)(_internal_1.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 }, {
256
290
  default: () => {
257
291
  // coordinate to pass if there are cells that cross row & col
258
292
  const cordToPass = {};
259
293
  // coordinate to related hover keys
260
294
  const cordKey = {};
261
- const { cols, paginatedData, mergedTheme, fixedColumnLeftMap, fixedColumnRightMap, currentPage, rowClassName, mergedSortState, mergedExpandedRowKeySet, componentId, showHeader, hasChildren, firstContentfulColIndex, rowProps, handleMouseenterTable, handleMouseleaveTable, renderExpand, summary, handleCheckboxUpdateChecked, handleUpdateExpanded } = this;
295
+ const { cols, paginatedData, mergedTheme, fixedColumnLeftMap, fixedColumnRightMap, currentPage, rowClassName, mergedSortState, mergedExpandedRowKeySet, componentId, hasChildren, firstContentfulColIndex, rowProps, handleMouseenterTable, handleMouseleaveTable, renderExpand, summary, handleCheckboxUpdateChecked, handleUpdateExpanded } = this;
262
296
  const { length: colCount } = cols;
263
297
  let mergedData;
264
298
  // if there is children in data, we should expand mergedData first
@@ -343,6 +377,7 @@ exports.default = (0, vue_1.defineComponent)({
343
377
  this.hoverKey = rowKey;
344
378
  }, key: rowKey, class: [
345
379
  `${mergedClsPrefix}-data-table-tr`,
380
+ isSummary && `${mergedClsPrefix}-data-table-tr--summary`,
346
381
  striped && `${mergedClsPrefix}-data-table-tr--striped`,
347
382
  mergedRowClassName
348
383
  ] }, props), cols.map((col, colIndex) => {
@@ -441,10 +476,10 @@ exports.default = (0, vue_1.defineComponent)({
441
476
  tableLayout: this.mergedTableLayout
442
477
  } },
443
478
  (0, vue_1.h)("colgroup", null, cols.map((col) => ((0, vue_1.h)("col", { key: col.key, style: col.style })))),
444
- showHeader ? (0, vue_1.h)(Header_1.default, { discrete: false }) : null,
445
- (0, vue_1.h)("tbody", { "data-n-id": componentId, class: `${mergedClsPrefix}-data-table-tbody` }, displayedData.map((rowInfo, rowIndex) => {
479
+ this.showHeader ? (0, vue_1.h)(Header_1.default, { discrete: false }) : null,
480
+ !this.empty ? ((0, vue_1.h)("tbody", { "data-n-id": componentId, class: `${mergedClsPrefix}-data-table-tbody` }, displayedData.map((rowInfo, rowIndex) => {
446
481
  return renderRow(rowInfo, rowIndex, false);
447
- }))));
482
+ }))) : null));
448
483
  }
449
484
  else {
450
485
  return ((0, vue_1.h)(vueuc_1.VirtualList, { ref: "virtualListRef", items: displayedData, itemSize: 28, visibleItemsTag: VirtualListItemWrapper, visibleItemsProps: {
@@ -459,5 +494,22 @@ exports.default = (0, vue_1.defineComponent)({
459
494
  }
460
495
  }
461
496
  }));
497
+ if (this.empty) {
498
+ const createEmptyNode = () => ((0, vue_1.h)("div", { class: [
499
+ `${mergedClsPrefix}-data-table-empty`,
500
+ this.loading && `${mergedClsPrefix}-data-table-empty--hide`
501
+ ], style: this.bodyStyle, ref: "emptyElRef" }, (0, vue_1.renderSlot)(this.dataTableSlots, 'empty', undefined, () => [
502
+ (0, vue_1.h)(empty_1.NEmpty, { theme: this.mergedTheme.peers.Empty, themeOverrides: this.mergedTheme.peerOverrides.Empty })
503
+ ])));
504
+ if (this.shouldDisplaySomeTablePart) {
505
+ return ((0, vue_1.h)(vue_1.Fragment, null,
506
+ tableNode,
507
+ createEmptyNode()));
508
+ }
509
+ else {
510
+ return ((0, vue_1.h)(vueuc_1.VResizeObserver, { onResize: this.onResize }, { default: createEmptyNode }));
511
+ }
512
+ }
513
+ return tableNode;
462
514
  }
463
515
  });
@@ -38,10 +38,9 @@ exports.default = (0, vue_1.defineComponent)({
38
38
  cell = (0, lodash_1.get)(row, key);
39
39
  }
40
40
  }
41
- const tooltip = typeof ellipsis === 'object' ? ellipsis.tooltip : undefined;
42
- if (tooltip) {
41
+ if (ellipsis && typeof ellipsis === 'object') {
43
42
  const { mergedTheme } = this;
44
- return ((0, vue_1.h)(ellipsis_1.NEllipsis, { tooltip: tooltip, theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }, { default: () => cell }));
43
+ return ((0, vue_1.h)(ellipsis_1.NEllipsis, Object.assign({}, ellipsis, { theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }), { default: () => cell }));
45
44
  }
46
45
  return cell;
47
46
  }
@@ -31,7 +31,7 @@ exports.default = (0, vue_1.defineComponent)({
31
31
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
32
32
  } = (0, vue_1.inject)(interface_1.dataTableInjectionKey);
33
33
  function handleCheckboxUpdateChecked() {
34
- if (someRowsCheckedRef.value || allRowsCheckedRef.value) {
34
+ if (allRowsCheckedRef.value) {
35
35
  doUncheckAll();
36
36
  }
37
37
  else {
@@ -110,7 +110,7 @@ exports.default = (0, vue_1.defineComponent)({
110
110
  column.type === 'selection' ? ((0, vue_1.h)(vue_1.Fragment, null,
111
111
  (0, vue_1.h)(checkbox_1.NCheckbox, { key: currentPage, privateInsideTable: true, checked: allRowsChecked, indeterminate: someRowsChecked, disabled: headerCheckboxDisabled, onUpdateChecked: handleCheckboxUpdateChecked }),
112
112
  checkOptions ? ((0, vue_1.h)(SelectionMenu_1.default, { clsPrefix: mergedClsPrefix })) : null)) : ellipsis === true || (ellipsis && !ellipsis.tooltip) ? ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-data-table-th__ellipsis` }, renderTitle(column))) // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
113
- : ellipsis && ellipsis.tooltip ? ((0, vue_1.h)(ellipsis_1.NEllipsis, { tooltip: ellipsis.tooltip, theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }, {
113
+ : ellipsis && typeof ellipsis === 'object' ? ((0, vue_1.h)(ellipsis_1.NEllipsis, Object.assign({}, ellipsis, { theme: mergedTheme.peers.Ellipsis, themeOverrides: mergedTheme.peerOverrides.Ellipsis }), {
114
114
  default: () => renderTitle(column)
115
115
  })) : (renderTitle(column)),
116
116
  (0, utils_1.isColumnSortable)(column) ? ((0, vue_1.h)(SortButton_1.default, { 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;
@@ -67,11 +67,11 @@ exports.default = (0, cssr_1.c)([(0, cssr_1.cB)('data-table', `
67
67
  --merged-th-color-hover: var(--th-color-hover);
68
68
  --merged-td-color-hover: var(--td-color-hover);
69
69
  --merged-td-color-striped: var(--td-color-striped);
70
- `, [(0, cssr_1.cM)('flex-height', [(0, cssr_1.c)('>', [(0, cssr_1.cB)('data-table-wrapper', `
70
+ `, [(0, cssr_1.cB)('data-table-wrapper', `
71
71
  flex-grow: 1;
72
72
  display: flex;
73
73
  flex-direction: column;
74
- `, [(0, cssr_1.c)('>', [(0, cssr_1.cB)('data-table-base-table', `
74
+ `), (0, cssr_1.cM)('flex-height', [(0, cssr_1.c)('>', [(0, cssr_1.cB)('data-table-wrapper', [(0, cssr_1.c)('>', [(0, cssr_1.cB)('data-table-base-table', `
75
75
  display: flex;
76
76
  flex-direction: column;
77
77
  flex-grow: 1;
@@ -107,7 +107,7 @@ exports.default = (0, cssr_1.c)([(0, cssr_1.cB)('data-table', `
107
107
  box-sizing: border-box;
108
108
  background-clip: padding-box;
109
109
  transition: background-color .3s var(--bezier);
110
- `, [(0, cssr_1.cM)('striped', 'background-color: var(--merged-td-color-striped);', [(0, cssr_1.cB)('data-table-td', 'background-color: var(--merged-td-color-striped);')]), (0, cssr_1.c)('&:hover', 'background-color: var(--merged-td-color-hover);', [(0, cssr_1.cB)('data-table-td', 'background-color: var(--merged-td-color-hover);')])]), (0, cssr_1.cB)('data-table-th', `
110
+ `, [(0, cssr_1.cM)('striped', 'background-color: var(--merged-td-color-striped);', [(0, cssr_1.cB)('data-table-td', 'background-color: var(--merged-td-color-striped);')]), (0, cssr_1.cNotM)('summary', [(0, cssr_1.c)('&:hover', 'background-color: var(--merged-td-color-hover);', [(0, cssr_1.cB)('data-table-td', 'background-color: var(--merged-td-color-hover);')])])]), (0, cssr_1.cB)('data-table-th', `
111
111
  padding: var(--th-padding);
112
112
  position: relative;
113
113
  text-align: start;
@@ -217,6 +217,7 @@ exports.default = (0, cssr_1.c)([(0, cssr_1.cB)('data-table', `
217
217
  padding: 0;
218
218
  line-height: 0;
219
219
  `), fixedColumnStyle]), (0, cssr_1.cB)('data-table-empty', `
220
+ box-sizing: border-box;
220
221
  padding: var(--empty-padding);
221
222
  flex-grow: 1;
222
223
  flex-shrink: 0;
@@ -61,18 +61,22 @@ function useCheck(props, data) {
61
61
  uncontrolledCheckedRowKeysRef.value = keys;
62
62
  }
63
63
  function doCheck(rowKey) {
64
+ if (props.loading)
65
+ return;
64
66
  doUpdateCheckedRowKeys(treeMateRef.value.check(rowKey, mergedCheckedRowKeysRef.value, {
65
67
  cascade: props.cascade
66
68
  }).checkedKeys);
67
69
  }
68
70
  function doUncheck(rowKey) {
71
+ if (props.loading)
72
+ return;
69
73
  doUpdateCheckedRowKeys(treeMateRef.value.uncheck(rowKey, mergedCheckedRowKeysRef.value, {
70
74
  cascade: props.cascade
71
75
  }).checkedKeys);
72
76
  }
73
77
  function doCheckAll(checkWholeTable = false) {
74
78
  const { value: column } = selectionColumnRef;
75
- if (!column)
79
+ if (!column || props.loading)
76
80
  return;
77
81
  const rowKeysToCheck = [];
78
82
  (checkWholeTable
@@ -89,7 +93,7 @@ function useCheck(props, data) {
89
93
  }
90
94
  function doUncheckAll(checkWholeTable = false) {
91
95
  const { value: column } = selectionColumnRef;
92
- if (!column)
96
+ if (!column || props.loading)
93
97
  return;
94
98
  const rowKeysToUncheck = [];
95
99
  (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;
@@ -9,7 +9,9 @@ const utils_1 = require("./utils");
9
9
  function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef, scrollPartRef }) {
10
10
  let scrollLeft = 0;
11
11
  const leftActiveFixedColKeyRef = (0, vue_1.ref)(null);
12
+ const leftActiveFixedChildrenColKeysRef = (0, vue_1.ref)([]);
12
13
  const rightActiveFixedColKeyRef = (0, vue_1.ref)(null);
14
+ const rightActiveFixedChildrenColKeysRef = (0, vue_1.ref)([]);
13
15
  const styleScrollXRef = (0, vue_1.computed)(() => {
14
16
  return (0, _utils_1.formatLength)(props.scrollX);
15
17
  });
@@ -43,7 +45,8 @@ function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef
43
45
  const columns = {};
44
46
  let right = 0;
45
47
  function traverse(cols) {
46
- cols.forEach((col) => {
48
+ for (let i = cols.length - 1; i >= 0; --i) {
49
+ const col = cols[i];
47
50
  const positionInfo = { start: right, end: 0 };
48
51
  columns[(0, utils_1.getColKey)(col)] = positionInfo;
49
52
  if ('children' in col) {
@@ -54,9 +57,9 @@ function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef
54
57
  right += (0, utils_1.getColWidth)(col) || 0;
55
58
  positionInfo.end = right;
56
59
  }
57
- });
60
+ }
58
61
  }
59
- traverse(rightFixedColumnsRef.value.reverse());
62
+ traverse(rightFixedColumnsRef.value);
60
63
  return columns;
61
64
  });
62
65
  function deriveActiveLeftFixedColumn() {
@@ -78,6 +81,18 @@ function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef
78
81
  }
79
82
  leftActiveFixedColKeyRef.value = leftActiveFixedColKey;
80
83
  }
84
+ function deriveActiveLeftFixedChildrenColumns() {
85
+ leftActiveFixedChildrenColKeysRef.value = [];
86
+ let activeLeftFixedColumn = props.columns.find((col) => (0, utils_1.getColKey)(col) === leftActiveFixedColKeyRef.value);
87
+ while (activeLeftFixedColumn && 'children' in activeLeftFixedColumn) {
88
+ const length = activeLeftFixedColumn.children.length;
89
+ if (length === 0)
90
+ break;
91
+ const nextActiveLeftFixedColumn = activeLeftFixedColumn.children[length - 1];
92
+ leftActiveFixedChildrenColKeysRef.value.push((0, utils_1.getColKey)(nextActiveLeftFixedColumn));
93
+ activeLeftFixedColumn = nextActiveLeftFixedColumn;
94
+ }
95
+ }
81
96
  function deriveActiveRightFixedColumn() {
82
97
  var _a, _b;
83
98
  // target is header element
@@ -89,7 +104,7 @@ function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef
89
104
  let rightWidth = 0;
90
105
  let rightActiveFixedColKey = null;
91
106
  const { value: fixedColumnRightMap } = fixedColumnRightMapRef;
92
- for (let i = 0; i < rightFixedColumns.length; ++i) {
107
+ for (let i = rightFixedColumns.length - 1; i >= 0; --i) {
93
108
  const key = (0, utils_1.getColKey)(rightFixedColumns[i]);
94
109
  if (Math.round(scrollLeft +
95
110
  (((_a = fixedColumnRightMap[key]) === null || _a === void 0 ? void 0 : _a.start) || 0) +
@@ -104,6 +119,17 @@ function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef
104
119
  }
105
120
  rightActiveFixedColKeyRef.value = rightActiveFixedColKey;
106
121
  }
122
+ function deriveActiveRightFixedChildrenColumns() {
123
+ rightActiveFixedChildrenColKeysRef.value = [];
124
+ let activeRightFixedColumn = props.columns.find((col) => (0, utils_1.getColKey)(col) === rightActiveFixedColKeyRef.value);
125
+ while (activeRightFixedColumn &&
126
+ 'children' in activeRightFixedColumn &&
127
+ activeRightFixedColumn.children.length) {
128
+ const nextActiveRightFixedColumn = activeRightFixedColumn.children[0];
129
+ rightActiveFixedChildrenColKeysRef.value.push((0, utils_1.getColKey)(nextActiveRightFixedColumn));
130
+ activeRightFixedColumn = nextActiveRightFixedColumn;
131
+ }
132
+ }
107
133
  function getScrollElements() {
108
134
  const header = mainTableInstRef.value
109
135
  ? mainTableInstRef.value.getHeaderElement()
@@ -160,7 +186,9 @@ function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef
160
186
  scrollLeft = body.scrollLeft;
161
187
  }
162
188
  deriveActiveLeftFixedColumn();
189
+ deriveActiveLeftFixedChildrenColumns();
163
190
  deriveActiveRightFixedColumn();
191
+ deriveActiveRightFixedChildrenColumns();
164
192
  }
165
193
  function setHeaderScrollLeft(left) {
166
194
  const { header } = getScrollElements();
@@ -179,7 +207,9 @@ function useScroll(props, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef
179
207
  leftFixedColumnsRef,
180
208
  rightFixedColumnsRef,
181
209
  leftActiveFixedColKeyRef,
210
+ leftActiveFixedChildrenColKeysRef,
182
211
  rightActiveFixedColKeyRef,
212
+ rightActiveFixedChildrenColKeysRef,
183
213
  syncScrollState,
184
214
  handleTableBodyScroll,
185
215
  handleTableHeaderScroll,
@@ -189,11 +189,13 @@ function useTableData(props, { dataRelatedColsRef }) {
189
189
  function mergedOnUpdatePageSize(pageSize) {
190
190
  const { pagination } = props;
191
191
  if (pagination) {
192
- const { onPageSizeChange, 'onUpdate:pageSize': onUpdatePageSize } = pagination;
192
+ const { onPageSizeChange, 'onUpdate:pageSize': _onUpdatePageSize, onUpdatePageSize } = pagination;
193
193
  if (onPageSizeChange)
194
194
  (0, _utils_1.call)(onPageSizeChange, pageSize);
195
195
  if (onUpdatePageSize)
196
196
  (0, _utils_1.call)(onUpdatePageSize, pageSize);
197
+ if (_onUpdatePageSize)
198
+ (0, _utils_1.call)(_onUpdatePageSize, pageSize);
197
199
  doUpdatePageSize(pageSize);
198
200
  }
199
201
  }
@@ -10,7 +10,7 @@ exports.default = {
10
10
  sorterSize: '15px',
11
11
  filterSize: '15px',
12
12
  paginationMargin: '12px 0 0 0',
13
- emptyPadding: '16px 0',
13
+ emptyPadding: '48px 0',
14
14
  actionPadding: '8px 12px',
15
15
  actionButtonMargin: '0 8px 0 0'
16
16
  };