naive-ui 2.43.2 → 2.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (524) hide show
  1. package/dist/index.js +790 -414
  2. package/dist/index.mjs +790 -414
  3. package/dist/index.prod.js +1 -1
  4. package/dist/index.prod.mjs +1 -1
  5. package/es/_internal/index.d.ts +1 -1
  6. package/es/_internal/loading/index.d.ts +1 -1
  7. package/es/_internal/loading/src/Loading.d.ts +26 -18
  8. package/es/_internal/loading/src/Loading.mjs +9 -9
  9. package/es/_internal/scrollbar/src/Scrollbar.d.ts +8 -3
  10. package/es/_internal/scrollbar/src/Scrollbar.mjs +6 -2
  11. package/es/_internal/select-menu/src/SelectMenu.d.ts +5 -1
  12. package/es/_internal/select-menu/src/SelectMenu.mjs +18 -8
  13. package/es/_mixins/use-form-item.d.ts +1 -2
  14. package/es/auto-complete/src/AutoComplete.d.ts +4 -0
  15. package/es/auto-complete/src/AutoComplete.mjs +3 -1
  16. package/es/breadcrumb/src/BreadcrumbItem.d.ts +13 -0
  17. package/es/breadcrumb/src/BreadcrumbItem.mjs +5 -1
  18. package/es/button/index.d.ts +1 -0
  19. package/es/button/src/Button.d.ts +11 -8
  20. package/es/button/src/Button.mjs +14 -11
  21. package/es/button/src/public-types.d.ts +4 -0
  22. package/es/button-group/src/ButtonGroup.d.ts +5 -15
  23. package/es/button-group/src/ButtonGroup.mjs +1 -4
  24. package/es/card/index.d.ts +1 -0
  25. package/es/card/src/Card.d.ts +11 -18
  26. package/es/card/src/Card.mjs +25 -17
  27. package/es/card/src/public-types.d.ts +1 -0
  28. package/es/card/src/styles/index.cssr.mjs +44 -21
  29. package/es/carousel/src/Carousel.d.ts +1 -1
  30. package/es/carousel/src/CarouselDots.d.ts +1 -1
  31. package/es/cascader/index.d.ts +1 -0
  32. package/es/cascader/src/Cascader.d.ts +8 -1
  33. package/es/cascader/src/Cascader.mjs +4 -0
  34. package/es/cascader/src/CascaderMenu.d.ts +1 -0
  35. package/es/cascader/src/CascaderMenu.mjs +16 -5
  36. package/es/cascader/src/CascaderOption.d.ts +1 -0
  37. package/es/cascader/src/CascaderOption.mjs +4 -2
  38. package/es/cascader/src/CascaderSelectMenu.d.ts +1 -0
  39. package/es/cascader/src/CascaderSelectMenu.mjs +5 -2
  40. package/es/cascader/src/interface.d.ts +4 -0
  41. package/es/cascader/src/public-types.d.ts +2 -0
  42. package/es/cascader/src/public-types.mjs +1 -0
  43. package/es/checkbox/index.d.ts +1 -0
  44. package/es/checkbox/src/Checkbox.d.ts +4 -3
  45. package/es/checkbox/src/Checkbox.mjs +5 -1
  46. package/es/checkbox/src/public-types.d.ts +1 -0
  47. package/es/checkbox/src/public-types.mjs +1 -0
  48. package/es/color-picker/src/ColorPicker.d.ts +7 -2
  49. package/es/color-picker/src/ColorPicker.mjs +34 -17
  50. package/es/color-picker/src/ColorPickerTrigger.mjs +3 -3
  51. package/es/color-picker/src/styles/index.cssr.mjs +11 -14
  52. package/es/config-provider/src/internal-interface.d.ts +95 -5
  53. package/es/countdown/src/Countdown.d.ts +1 -1
  54. package/es/data-table/index.d.ts +1 -1
  55. package/es/data-table/index.mjs +1 -2
  56. package/es/data-table/src/DataTable.d.ts +9 -16
  57. package/es/data-table/src/DataTable.mjs +30 -20
  58. package/es/data-table/src/MainTable.d.ts +1 -0
  59. package/es/data-table/src/MainTable.mjs +4 -2
  60. package/es/data-table/src/TableParts/Body.d.ts +4 -3
  61. package/es/data-table/src/TableParts/Body.mjs +46 -54
  62. package/es/data-table/src/interface.d.ts +5 -7
  63. package/es/data-table/src/interface.mjs +1 -4
  64. package/{lib/data-table/src/publicTypes.d.ts → es/data-table/src/public-types.d.ts} +3 -0
  65. package/es/data-table/src/public-types.mjs +1 -0
  66. package/es/data-table/src/use-scroll.d.ts +5 -1
  67. package/es/data-table/src/use-scroll.mjs +16 -4
  68. package/es/data-table/src/utils.d.ts +1 -1
  69. package/es/date-picker/src/DatePicker.d.ts +6 -0
  70. package/es/date-picker/src/DatePicker.mjs +2 -0
  71. package/es/date-picker/src/panel/date.d.ts +10 -0
  72. package/es/date-picker/src/panel/date.mjs +2 -0
  73. package/es/date-picker/src/panel/daterange.d.ts +10 -0
  74. package/es/date-picker/src/panel/daterange.mjs +4 -0
  75. package/es/date-picker/src/panel/datetime.d.ts +10 -0
  76. package/es/date-picker/src/panel/datetime.mjs +2 -0
  77. package/es/date-picker/src/panel/datetimerange.d.ts +10 -0
  78. package/es/date-picker/src/panel/datetimerange.mjs +4 -0
  79. package/es/date-picker/src/panel/month.d.ts +10 -0
  80. package/es/date-picker/src/panel/month.mjs +6 -0
  81. package/es/date-picker/src/panel/monthrange.d.ts +10 -0
  82. package/es/date-picker/src/panel/panelHeader.d.ts +34 -1
  83. package/es/date-picker/src/panel/panelHeader.mjs +21 -2
  84. package/es/date-picker/src/panel/use-calendar.d.ts +4 -0
  85. package/es/date-picker/src/panel/use-dual-calendar.d.ts +4 -0
  86. package/es/date-picker/src/panel/use-panel-common.d.ts +4 -0
  87. package/es/date-picker/src/panel/use-panel-common.mjs +4 -0
  88. package/es/date-picker/src/props.d.ts +2 -0
  89. package/es/date-picker/src/props.mjs +2 -0
  90. package/es/descriptions/index.d.ts +1 -0
  91. package/es/descriptions/src/Descriptions.d.ts +5 -13
  92. package/es/descriptions/src/Descriptions.mjs +16 -14
  93. package/es/descriptions/src/public-types.d.ts +1 -0
  94. package/es/descriptions/src/public-types.mjs +1 -0
  95. package/es/dialog/src/DialogProvider.d.ts +40 -16
  96. package/es/dialog/src/dialogProps.d.ts +1 -1
  97. package/es/dropdown/index.d.ts +1 -0
  98. package/es/dropdown/src/Dropdown.d.ts +8 -17
  99. package/es/dropdown/src/Dropdown.mjs +9 -7
  100. package/es/dropdown/src/DropdownMenu.d.ts +1 -1
  101. package/es/dropdown/src/DropdownOption.d.ts +1 -1
  102. package/es/dropdown/src/public-types.d.ts +1 -0
  103. package/es/dropdown/src/public-types.mjs +1 -0
  104. package/es/dynamic-input/src/DynamicInput.d.ts +1 -1
  105. package/es/dynamic-tags/index.d.ts +1 -0
  106. package/es/dynamic-tags/src/DynamicTags.d.ts +5 -13
  107. package/es/dynamic-tags/src/DynamicTags.mjs +11 -8
  108. package/es/dynamic-tags/src/public-types.d.ts +1 -0
  109. package/es/dynamic-tags/src/public-types.mjs +1 -0
  110. package/es/float-button/src/FloatButton.d.ts +1 -1
  111. package/es/form/src/Form.d.ts +5 -4
  112. package/es/form/src/Form.mjs +11 -1
  113. package/es/form/src/FormItem.d.ts +5 -4
  114. package/es/form/src/FormItem.mjs +16 -13
  115. package/es/form/src/FormItemCol.d.ts +3 -1
  116. package/es/form/src/FormItemGridItem.d.ts +6 -3
  117. package/es/form/src/FormItemGridItem.mjs +1 -0
  118. package/es/form/src/FormItemRow.d.ts +2 -0
  119. package/es/form/src/interface.d.ts +8 -2
  120. package/es/form/src/public-types.d.ts +2 -0
  121. package/es/form/src/utils.d.ts +3 -2
  122. package/es/form/src/utils.mjs +7 -0
  123. package/es/input/index.d.ts +1 -0
  124. package/es/input/src/Input.d.ts +5 -4
  125. package/es/input/src/InputGroupLabel.d.ts +4 -4
  126. package/es/input/src/InputGroupLabel.mjs +16 -10
  127. package/es/input/src/interface.d.ts +0 -1
  128. package/es/input/src/public-types.d.ts +1 -0
  129. package/es/input/src/public-types.mjs +1 -0
  130. package/es/legacy-transfer/src/TransferList.d.ts +1 -0
  131. package/es/legacy-transfer/src/TransferList.mjs +17 -5
  132. package/es/log/index.d.ts +1 -0
  133. package/es/log/src/Log.d.ts +4 -0
  134. package/es/log/src/Log.mjs +3 -1
  135. package/es/log/src/LogLoader.d.ts +4 -0
  136. package/es/log/src/LogLoader.mjs +4 -3
  137. package/es/log/src/public-types.d.ts +2 -0
  138. package/es/log/src/public-types.mjs +1 -0
  139. package/es/marquee/src/Marquee.mjs +5 -3
  140. package/es/mention/src/Mention.d.ts +5 -1
  141. package/es/mention/src/Mention.mjs +3 -1
  142. package/es/menu/src/MenuOptionContent.d.ts +1 -1
  143. package/es/message/index.d.ts +1 -0
  144. package/es/message/src/Message.d.ts +3 -0
  145. package/es/message/src/Message.mjs +4 -4
  146. package/es/message/src/MessageEnvironment.d.ts +2 -0
  147. package/es/message/src/MessageEnvironment.mjs +1 -0
  148. package/es/message/src/MessageProvider.d.ts +1 -1
  149. package/es/message/src/message-props.d.ts +2 -0
  150. package/es/message/src/message-props.mjs +1 -0
  151. package/es/message/src/public-types.d.ts +2 -0
  152. package/es/message/src/public-types.mjs +1 -0
  153. package/es/message/src/types.d.ts +2 -0
  154. package/es/modal/src/BodyWrapper.d.ts +5 -9
  155. package/es/modal/src/Modal.d.ts +7 -13
  156. package/es/modal/src/ModalEnvironment.d.ts +5 -9
  157. package/es/modal/src/composables.mjs +31 -4
  158. package/es/modal/src/presetProps.d.ts +3 -5
  159. package/es/notification/src/NotificationProvider.d.ts +3 -3
  160. package/es/number-animation/src/NumberAnimation.d.ts +2 -2
  161. package/es/pagination/index.d.ts +1 -0
  162. package/es/pagination/src/Pagination.d.ts +11 -16
  163. package/es/pagination/src/Pagination.mjs +12 -13
  164. package/es/pagination/src/interface.d.ts +0 -1
  165. package/es/pagination/src/public-types.d.ts +1 -0
  166. package/es/pagination/src/public-types.mjs +1 -0
  167. package/es/popconfirm/src/Popconfirm.d.ts +4 -4
  168. package/es/popover/src/Popover.d.ts +4 -4
  169. package/es/popover/src/PopoverBody.d.ts +1 -1
  170. package/es/popselect/index.d.ts +1 -0
  171. package/es/popselect/src/Popselect.d.ts +41 -47
  172. package/es/popselect/src/Popselect.mjs +4 -2
  173. package/es/popselect/src/PopselectPanel.d.ts +8 -16
  174. package/es/popselect/src/PopselectPanel.mjs +12 -7
  175. package/es/popselect/src/interface.d.ts +0 -1
  176. package/es/popselect/src/public-types.d.ts +1 -0
  177. package/es/popselect/src/public-types.mjs +1 -0
  178. package/es/radio/index.d.ts +1 -0
  179. package/es/radio/src/Radio.d.ts +3 -3
  180. package/es/radio/src/RadioButton.d.ts +3 -3
  181. package/es/radio/src/public-types.d.ts +1 -0
  182. package/es/radio/src/public-types.mjs +1 -0
  183. package/es/radio/src/use-radio.d.ts +4 -3
  184. package/es/radio/src/use-radio.mjs +8 -1
  185. package/es/rate/index.d.ts +1 -0
  186. package/es/rate/src/Rate.d.ts +4 -13
  187. package/es/rate/src/Rate.mjs +19 -9
  188. package/es/rate/src/public-types.d.ts +1 -0
  189. package/es/rate/src/public-types.mjs +1 -0
  190. package/es/result/index.d.ts +1 -0
  191. package/es/result/src/Result.d.ts +4 -13
  192. package/es/result/src/Result.mjs +9 -7
  193. package/es/result/src/public-types.d.ts +1 -0
  194. package/es/result/src/public-types.mjs +1 -0
  195. package/es/select/index.d.ts +1 -0
  196. package/es/select/src/Select.d.ts +25 -8
  197. package/es/select/src/Select.mjs +14 -2
  198. package/es/select/src/interface.d.ts +0 -1
  199. package/es/select/src/public-types.d.ts +1 -0
  200. package/es/select/src/public-types.mjs +1 -0
  201. package/es/skeleton/index.d.ts +1 -0
  202. package/es/skeleton/src/Skeleton.d.ts +4 -3
  203. package/es/skeleton/src/Skeleton.mjs +9 -4
  204. package/es/skeleton/src/public-types.d.ts +1 -0
  205. package/es/skeleton/src/public-types.mjs +1 -0
  206. package/es/space/index.d.ts +1 -0
  207. package/es/space/src/Space.d.ts +4 -13
  208. package/es/space/src/Space.mjs +8 -8
  209. package/es/space/src/public-types.d.ts +1 -0
  210. package/es/space/src/public-types.mjs +1 -0
  211. package/es/spin/src/Spin.d.ts +52 -6
  212. package/es/spin/src/Spin.mjs +5 -4
  213. package/es/switch/index.d.ts +1 -0
  214. package/es/switch/src/Switch.d.ts +7 -14
  215. package/es/switch/src/Switch.mjs +18 -8
  216. package/es/switch/src/public-types.d.ts +3 -0
  217. package/es/switch/src/public-types.mjs +1 -0
  218. package/es/table/index.d.ts +1 -0
  219. package/es/table/src/Table.d.ts +4 -13
  220. package/es/table/src/Table.mjs +9 -9
  221. package/es/table/src/public-types.d.ts +1 -0
  222. package/es/table/src/public-types.mjs +1 -0
  223. package/es/tabs/index.d.ts +1 -0
  224. package/es/tabs/src/Tab.d.ts +1 -1
  225. package/es/tabs/src/Tabs.d.ts +9 -18
  226. package/es/tabs/src/Tabs.mjs +13 -8
  227. package/es/tabs/src/public-types.d.ts +1 -0
  228. package/es/tabs/src/public-types.mjs +1 -0
  229. package/es/tag/index.d.ts +1 -0
  230. package/es/tag/src/Tag.d.ts +4 -4
  231. package/es/tag/src/Tag.mjs +8 -4
  232. package/es/tag/src/common-props.d.ts +2 -1
  233. package/es/tag/src/public-types.d.ts +1 -0
  234. package/es/tag/src/public-types.mjs +1 -0
  235. package/es/time-picker/index.d.ts +1 -0
  236. package/es/time-picker/src/TimePicker.d.ts +5 -4
  237. package/es/time-picker/src/interface.d.ts +0 -1
  238. package/es/time-picker/src/public-types.d.ts +1 -0
  239. package/es/time-picker/src/public-types.mjs +1 -0
  240. package/es/tooltip/src/Tooltip.d.ts +4 -4
  241. package/es/transfer/src/TransferList.d.ts +1 -0
  242. package/es/transfer/src/TransferList.mjs +12 -2
  243. package/es/tree/index.d.ts +1 -0
  244. package/es/tree/src/Tree.d.ts +5 -0
  245. package/es/tree/src/Tree.mjs +25 -11
  246. package/es/tree/src/TreeNodeSwitcher.mjs +4 -3
  247. package/es/tree/src/interface.d.ts +2 -0
  248. package/es/tree/src/public-types.d.ts +2 -0
  249. package/es/tree/src/public-types.mjs +1 -0
  250. package/es/tree-select/src/TreeSelect.d.ts +5 -0
  251. package/es/tree-select/src/TreeSelect.mjs +16 -5
  252. package/es/upload/src/Upload.d.ts +4 -1
  253. package/es/upload/src/Upload.mjs +5 -2
  254. package/es/upload/src/UploadFile.mjs +3 -1
  255. package/es/upload/src/interface.d.ts +4 -1
  256. package/es/upload/src/public-types.d.ts +4 -1
  257. package/es/version.d.ts +1 -1
  258. package/es/version.mjs +1 -1
  259. package/es/virtual-list/src/VirtualList.d.ts +1 -1
  260. package/es/watermark/src/Watermark.d.ts +2 -2
  261. package/lib/_internal/index.d.ts +1 -1
  262. package/lib/_internal/loading/index.d.ts +1 -1
  263. package/lib/_internal/loading/src/Loading.d.ts +26 -18
  264. package/lib/_internal/loading/src/Loading.js +11 -8
  265. package/lib/_internal/scrollbar/src/Scrollbar.d.ts +8 -3
  266. package/lib/_internal/scrollbar/src/Scrollbar.js +8 -3
  267. package/lib/_internal/select-menu/src/SelectMenu.d.ts +5 -1
  268. package/lib/_internal/select-menu/src/SelectMenu.js +14 -7
  269. package/lib/_mixins/use-form-item.d.ts +1 -2
  270. package/lib/auto-complete/src/AutoComplete.d.ts +4 -0
  271. package/lib/auto-complete/src/AutoComplete.js +2 -2
  272. package/lib/breadcrumb/src/BreadcrumbItem.d.ts +13 -0
  273. package/lib/breadcrumb/src/BreadcrumbItem.js +6 -2
  274. package/lib/button/index.d.ts +1 -0
  275. package/lib/button/src/Button.d.ts +11 -8
  276. package/lib/button/src/Button.js +8 -5
  277. package/lib/button/src/public-types.d.ts +4 -0
  278. package/lib/button-group/src/ButtonGroup.d.ts +5 -15
  279. package/lib/button-group/src/ButtonGroup.js +1 -4
  280. package/lib/card/index.d.ts +1 -0
  281. package/lib/card/src/Card.d.ts +11 -18
  282. package/lib/card/src/Card.js +17 -10
  283. package/lib/card/src/public-types.d.ts +1 -0
  284. package/lib/card/src/styles/index.cssr.js +44 -21
  285. package/lib/carousel/src/Carousel.d.ts +1 -1
  286. package/lib/carousel/src/CarouselDots.d.ts +1 -1
  287. package/lib/cascader/index.d.ts +1 -0
  288. package/lib/cascader/src/Cascader.d.ts +8 -1
  289. package/lib/cascader/src/Cascader.js +3 -1
  290. package/lib/cascader/src/CascaderMenu.d.ts +1 -0
  291. package/lib/cascader/src/CascaderMenu.js +12 -4
  292. package/lib/cascader/src/CascaderOption.d.ts +1 -0
  293. package/lib/cascader/src/CascaderOption.js +3 -2
  294. package/lib/cascader/src/CascaderSelectMenu.d.ts +1 -0
  295. package/lib/cascader/src/CascaderSelectMenu.js +3 -3
  296. package/lib/cascader/src/interface.d.ts +4 -0
  297. package/lib/cascader/src/public-types.d.ts +2 -0
  298. package/lib/cascader/src/public-types.js +2 -0
  299. package/lib/checkbox/index.d.ts +1 -0
  300. package/lib/checkbox/src/Checkbox.d.ts +4 -3
  301. package/lib/checkbox/src/Checkbox.js +5 -1
  302. package/lib/checkbox/src/public-types.d.ts +1 -0
  303. package/lib/checkbox/src/public-types.js +2 -0
  304. package/lib/color-picker/src/ColorPicker.d.ts +7 -2
  305. package/lib/color-picker/src/ColorPicker.js +46 -26
  306. package/lib/color-picker/src/ColorPickerTrigger.js +4 -4
  307. package/lib/color-picker/src/styles/index.cssr.js +11 -14
  308. package/lib/config-provider/src/internal-interface.d.ts +95 -5
  309. package/lib/countdown/src/Countdown.d.ts +1 -1
  310. package/lib/data-table/index.d.ts +1 -1
  311. package/lib/data-table/index.js +0 -15
  312. package/lib/data-table/src/DataTable.d.ts +9 -16
  313. package/lib/data-table/src/DataTable.js +22 -11
  314. package/lib/data-table/src/MainTable.d.ts +1 -0
  315. package/lib/data-table/src/MainTable.js +2 -2
  316. package/lib/data-table/src/TableParts/Body.d.ts +4 -3
  317. package/lib/data-table/src/TableParts/Body.js +56 -59
  318. package/lib/data-table/src/interface.d.ts +5 -7
  319. package/lib/data-table/src/interface.js +1 -1
  320. package/{es/data-table/src/publicTypes.d.ts → lib/data-table/src/public-types.d.ts} +3 -0
  321. package/lib/data-table/src/public-types.js +2 -0
  322. package/lib/data-table/src/use-scroll.d.ts +5 -1
  323. package/lib/data-table/src/use-scroll.js +16 -5
  324. package/lib/data-table/src/utils.d.ts +1 -1
  325. package/lib/date-picker/src/DatePicker.d.ts +6 -0
  326. package/lib/date-picker/src/DatePicker.js +2 -0
  327. package/lib/date-picker/src/panel/date.d.ts +10 -0
  328. package/lib/date-picker/src/panel/date.js +1 -1
  329. package/lib/date-picker/src/panel/daterange.d.ts +10 -0
  330. package/lib/date-picker/src/panel/daterange.js +2 -2
  331. package/lib/date-picker/src/panel/datetime.d.ts +10 -0
  332. package/lib/date-picker/src/panel/datetime.js +1 -1
  333. package/lib/date-picker/src/panel/datetimerange.d.ts +10 -0
  334. package/lib/date-picker/src/panel/datetimerange.js +2 -2
  335. package/lib/date-picker/src/panel/month.d.ts +10 -0
  336. package/lib/date-picker/src/panel/month.js +7 -0
  337. package/lib/date-picker/src/panel/monthrange.d.ts +10 -0
  338. package/lib/date-picker/src/panel/panelHeader.d.ts +34 -1
  339. package/lib/date-picker/src/panel/panelHeader.js +20 -3
  340. package/lib/date-picker/src/panel/use-calendar.d.ts +4 -0
  341. package/lib/date-picker/src/panel/use-dual-calendar.d.ts +4 -0
  342. package/lib/date-picker/src/panel/use-panel-common.d.ts +4 -0
  343. package/lib/date-picker/src/panel/use-panel-common.js +4 -0
  344. package/lib/date-picker/src/props.d.ts +2 -0
  345. package/lib/date-picker/src/props.js +1 -1
  346. package/lib/descriptions/index.d.ts +1 -0
  347. package/lib/descriptions/src/Descriptions.d.ts +5 -13
  348. package/lib/descriptions/src/Descriptions.js +17 -12
  349. package/lib/descriptions/src/public-types.d.ts +1 -0
  350. package/lib/descriptions/src/public-types.js +2 -0
  351. package/lib/dialog/src/DialogProvider.d.ts +40 -16
  352. package/lib/dialog/src/dialogProps.d.ts +1 -1
  353. package/lib/dropdown/index.d.ts +1 -0
  354. package/lib/dropdown/src/Dropdown.d.ts +8 -17
  355. package/lib/dropdown/src/Dropdown.js +9 -7
  356. package/lib/dropdown/src/DropdownMenu.d.ts +1 -1
  357. package/lib/dropdown/src/DropdownOption.d.ts +1 -1
  358. package/lib/dropdown/src/public-types.d.ts +1 -0
  359. package/lib/dropdown/src/public-types.js +2 -0
  360. package/lib/dynamic-input/src/DynamicInput.d.ts +1 -1
  361. package/lib/dynamic-tags/index.d.ts +1 -0
  362. package/lib/dynamic-tags/src/DynamicTags.d.ts +5 -13
  363. package/lib/dynamic-tags/src/DynamicTags.js +12 -8
  364. package/lib/dynamic-tags/src/public-types.d.ts +1 -0
  365. package/lib/dynamic-tags/src/public-types.js +2 -0
  366. package/lib/float-button/src/FloatButton.d.ts +1 -1
  367. package/lib/form/src/Form.d.ts +5 -4
  368. package/lib/form/src/Form.js +11 -1
  369. package/lib/form/src/FormItem.d.ts +5 -4
  370. package/lib/form/src/FormItem.js +17 -14
  371. package/lib/form/src/FormItemCol.d.ts +3 -1
  372. package/lib/form/src/FormItemGridItem.d.ts +6 -3
  373. package/lib/form/src/FormItemGridItem.js +1 -0
  374. package/lib/form/src/FormItemRow.d.ts +2 -0
  375. package/lib/form/src/interface.d.ts +8 -2
  376. package/lib/form/src/public-types.d.ts +2 -0
  377. package/lib/form/src/utils.d.ts +3 -2
  378. package/lib/form/src/utils.js +6 -0
  379. package/lib/input/index.d.ts +1 -0
  380. package/lib/input/src/Input.d.ts +5 -4
  381. package/lib/input/src/InputGroupLabel.d.ts +4 -4
  382. package/lib/input/src/InputGroupLabel.js +16 -7
  383. package/lib/input/src/interface.d.ts +0 -1
  384. package/lib/input/src/public-types.d.ts +1 -0
  385. package/lib/input/src/public-types.js +2 -0
  386. package/lib/legacy-transfer/src/TransferList.d.ts +1 -0
  387. package/lib/legacy-transfer/src/TransferList.js +13 -1
  388. package/lib/log/index.d.ts +1 -0
  389. package/lib/log/src/Log.d.ts +4 -0
  390. package/lib/log/src/Log.js +2 -2
  391. package/lib/log/src/LogLoader.d.ts +4 -0
  392. package/lib/log/src/LogLoader.js +3 -2
  393. package/lib/log/src/public-types.d.ts +2 -0
  394. package/lib/log/src/public-types.js +2 -0
  395. package/lib/marquee/src/Marquee.js +3 -2
  396. package/lib/mention/src/Mention.d.ts +5 -1
  397. package/lib/mention/src/Mention.js +2 -2
  398. package/lib/menu/src/MenuOptionContent.d.ts +1 -1
  399. package/lib/message/index.d.ts +1 -0
  400. package/lib/message/src/Message.d.ts +3 -0
  401. package/lib/message/src/Message.js +3 -4
  402. package/lib/message/src/MessageEnvironment.d.ts +2 -0
  403. package/lib/message/src/MessageEnvironment.js +1 -1
  404. package/lib/message/src/MessageProvider.d.ts +1 -1
  405. package/lib/message/src/message-props.d.ts +2 -0
  406. package/lib/message/src/message-props.js +1 -0
  407. package/lib/message/src/public-types.d.ts +2 -0
  408. package/lib/message/src/public-types.js +2 -0
  409. package/lib/message/src/types.d.ts +2 -0
  410. package/lib/modal/src/BodyWrapper.d.ts +5 -9
  411. package/lib/modal/src/Modal.d.ts +7 -13
  412. package/lib/modal/src/ModalEnvironment.d.ts +5 -9
  413. package/lib/modal/src/composables.js +28 -4
  414. package/lib/modal/src/presetProps.d.ts +3 -5
  415. package/lib/notification/src/NotificationProvider.d.ts +3 -3
  416. package/lib/number-animation/src/NumberAnimation.d.ts +2 -2
  417. package/lib/pagination/index.d.ts +1 -0
  418. package/lib/pagination/src/Pagination.d.ts +11 -16
  419. package/lib/pagination/src/Pagination.js +14 -12
  420. package/lib/pagination/src/interface.d.ts +0 -1
  421. package/lib/pagination/src/public-types.d.ts +1 -0
  422. package/lib/pagination/src/public-types.js +2 -0
  423. package/lib/popconfirm/src/Popconfirm.d.ts +4 -4
  424. package/lib/popover/src/Popover.d.ts +4 -4
  425. package/lib/popover/src/PopoverBody.d.ts +1 -1
  426. package/lib/popselect/index.d.ts +1 -0
  427. package/lib/popselect/src/Popselect.d.ts +41 -47
  428. package/lib/popselect/src/Popselect.js +2 -2
  429. package/lib/popselect/src/PopselectPanel.d.ts +8 -16
  430. package/lib/popselect/src/PopselectPanel.js +12 -7
  431. package/lib/popselect/src/interface.d.ts +0 -1
  432. package/lib/popselect/src/public-types.d.ts +1 -0
  433. package/lib/popselect/src/public-types.js +2 -0
  434. package/lib/radio/index.d.ts +1 -0
  435. package/lib/radio/src/Radio.d.ts +3 -3
  436. package/lib/radio/src/RadioButton.d.ts +3 -3
  437. package/lib/radio/src/public-types.d.ts +1 -0
  438. package/lib/radio/src/public-types.js +2 -0
  439. package/lib/radio/src/use-radio.d.ts +4 -3
  440. package/lib/radio/src/use-radio.js +6 -1
  441. package/lib/rate/index.d.ts +1 -0
  442. package/lib/rate/src/Rate.d.ts +4 -13
  443. package/lib/rate/src/Rate.js +18 -7
  444. package/lib/rate/src/public-types.d.ts +1 -0
  445. package/lib/rate/src/public-types.js +2 -0
  446. package/lib/result/index.d.ts +1 -0
  447. package/lib/result/src/Result.d.ts +4 -13
  448. package/lib/result/src/Result.js +10 -7
  449. package/lib/result/src/public-types.d.ts +1 -0
  450. package/lib/result/src/public-types.js +2 -0
  451. package/lib/select/index.d.ts +1 -0
  452. package/lib/select/src/Select.d.ts +25 -8
  453. package/lib/select/src/Select.js +10 -4
  454. package/lib/select/src/interface.d.ts +0 -1
  455. package/lib/select/src/public-types.d.ts +1 -0
  456. package/lib/select/src/public-types.js +2 -0
  457. package/lib/skeleton/index.d.ts +1 -0
  458. package/lib/skeleton/src/Skeleton.d.ts +4 -3
  459. package/lib/skeleton/src/Skeleton.js +9 -4
  460. package/lib/skeleton/src/public-types.d.ts +1 -0
  461. package/lib/skeleton/src/public-types.js +2 -0
  462. package/lib/space/index.d.ts +1 -0
  463. package/lib/space/src/Space.d.ts +4 -13
  464. package/lib/space/src/Space.js +7 -6
  465. package/lib/space/src/public-types.d.ts +1 -0
  466. package/lib/space/src/public-types.js +2 -0
  467. package/lib/spin/src/Spin.d.ts +52 -6
  468. package/lib/spin/src/Spin.js +5 -4
  469. package/lib/switch/index.d.ts +1 -0
  470. package/lib/switch/src/Switch.d.ts +7 -14
  471. package/lib/switch/src/Switch.js +18 -8
  472. package/lib/switch/src/public-types.d.ts +3 -0
  473. package/lib/switch/src/public-types.js +2 -0
  474. package/lib/table/index.d.ts +1 -0
  475. package/lib/table/src/Table.d.ts +4 -13
  476. package/lib/table/src/Table.js +8 -7
  477. package/lib/table/src/public-types.d.ts +1 -0
  478. package/lib/table/src/public-types.js +2 -0
  479. package/lib/tabs/index.d.ts +1 -0
  480. package/lib/tabs/src/Tab.d.ts +1 -1
  481. package/lib/tabs/src/Tabs.d.ts +9 -18
  482. package/lib/tabs/src/Tabs.js +14 -8
  483. package/lib/tabs/src/public-types.d.ts +1 -0
  484. package/lib/tabs/src/public-types.js +2 -0
  485. package/lib/tag/index.d.ts +1 -0
  486. package/lib/tag/src/Tag.d.ts +4 -4
  487. package/lib/tag/src/Tag.js +9 -4
  488. package/lib/tag/src/common-props.d.ts +2 -1
  489. package/lib/tag/src/public-types.d.ts +1 -0
  490. package/lib/tag/src/public-types.js +2 -0
  491. package/lib/time-picker/index.d.ts +1 -0
  492. package/lib/time-picker/src/TimePicker.d.ts +5 -4
  493. package/lib/time-picker/src/interface.d.ts +0 -1
  494. package/lib/time-picker/src/public-types.d.ts +1 -0
  495. package/lib/time-picker/src/public-types.js +2 -0
  496. package/lib/tooltip/src/Tooltip.d.ts +4 -4
  497. package/lib/transfer/src/TransferList.d.ts +1 -0
  498. package/lib/transfer/src/TransferList.js +9 -1
  499. package/lib/tree/index.d.ts +1 -0
  500. package/lib/tree/src/Tree.d.ts +5 -0
  501. package/lib/tree/src/Tree.js +20 -9
  502. package/lib/tree/src/TreeNodeSwitcher.js +2 -2
  503. package/lib/tree/src/interface.d.ts +2 -0
  504. package/lib/tree/src/public-types.d.ts +2 -0
  505. package/lib/tree/src/public-types.js +2 -0
  506. package/lib/tree-select/src/TreeSelect.d.ts +5 -0
  507. package/lib/tree-select/src/TreeSelect.js +13 -6
  508. package/lib/upload/src/Upload.d.ts +4 -1
  509. package/lib/upload/src/Upload.js +2 -2
  510. package/lib/upload/src/UploadFile.js +1 -1
  511. package/lib/upload/src/interface.d.ts +4 -1
  512. package/lib/upload/src/public-types.d.ts +4 -1
  513. package/lib/version.d.ts +1 -1
  514. package/lib/version.js +1 -1
  515. package/lib/virtual-list/src/VirtualList.d.ts +1 -1
  516. package/lib/watermark/src/Watermark.d.ts +2 -2
  517. package/package.json +5 -3
  518. package/web-types.json +232 -39
  519. package/es/button/src/interface.d.ts +0 -2
  520. package/lib/button/src/interface.d.ts +0 -2
  521. /package/es/button/src/{interface.mjs → public-types.mjs} +0 -0
  522. /package/es/{data-table/src/publicTypes.mjs → card/src/public-types.mjs} +0 -0
  523. /package/lib/button/src/{interface.js → public-types.js} +0 -0
  524. /package/lib/{data-table/src/publicTypes.js → card/src/public-types.js} +0 -0
@@ -46,9 +46,14 @@ export default defineComponent({
46
46
  mergedBorderedRef,
47
47
  mergedClsPrefixRef,
48
48
  inlineThemeDisabled,
49
- mergedRtlRef
49
+ mergedRtlRef,
50
+ mergedComponentPropsRef
50
51
  } = useConfig(props);
51
52
  const rtlEnabledRef = useRtl('DataTable', mergedRtlRef, mergedClsPrefixRef);
53
+ const mergedSizeRef = computed(() => {
54
+ var _a, _b;
55
+ return props.size || ((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.DataTable) === null || _b === void 0 ? void 0 : _b.size) || 'medium';
56
+ });
52
57
  const mergedBottomBorderedRef = computed(() => {
53
58
  const {
54
59
  bottomBordered
@@ -134,6 +139,16 @@ export default defineComponent({
134
139
  expandableRef,
135
140
  doUpdateExpandedRowKeys
136
141
  } = useExpand(props, treeMateRef);
142
+ const maxHeightRef = toRef(props, 'maxHeight');
143
+ const mergedTableLayoutRef = computed(() => {
144
+ // Layout
145
+ // virtual |descrete header | ellpisis => fixed
146
+ // = virtual | maxHeight | ellpisis => fixed
147
+ if (props.virtualScroll || props.flexHeight || props.maxHeight !== undefined || hasEllipsisRef.value) {
148
+ return 'fixed';
149
+ }
150
+ return props.tableLayout;
151
+ });
137
152
  const {
138
153
  handleTableBodyScroll,
139
154
  handleTableHeaderScroll,
@@ -146,25 +161,22 @@ export default defineComponent({
146
161
  leftFixedColumnsRef,
147
162
  rightFixedColumnsRef,
148
163
  fixedColumnLeftMapRef,
149
- fixedColumnRightMapRef
164
+ fixedColumnRightMapRef,
165
+ xScrollableRef,
166
+ explicitlyScrollableRef
150
167
  } = useScroll(props, {
151
168
  bodyWidthRef,
152
169
  mainTableInstRef,
153
- mergedCurrentPageRef
170
+ mergedCurrentPageRef,
171
+ maxHeightRef,
172
+ mergedTableLayoutRef
154
173
  });
155
174
  const {
156
175
  localeRef
157
176
  } = useLocale('DataTable');
158
- const mergedTableLayoutRef = computed(() => {
159
- // Layout
160
- // virtual |descrete header | ellpisis => fixed
161
- // = virtual | maxHeight | ellpisis => fixed
162
- if (props.virtualScroll || props.flexHeight || props.maxHeight !== undefined || hasEllipsisRef.value) {
163
- return 'fixed';
164
- }
165
- return props.tableLayout;
166
- });
167
177
  provide(dataTableInjectionKey, {
178
+ xScrollableRef,
179
+ explicitlyScrollableRef,
168
180
  props,
169
181
  treeMateRef,
170
182
  renderExpandIconRef: toRef(props, 'renderExpandIcon'),
@@ -236,7 +248,7 @@ export default defineComponent({
236
248
  }),
237
249
  onLoadRef: toRef(props, 'onLoad'),
238
250
  mergedTableLayoutRef,
239
- maxHeightRef: toRef(props, 'maxHeight'),
251
+ maxHeightRef,
240
252
  minHeightRef: toRef(props, 'minHeight'),
241
253
  flexHeightRef: toRef(props, 'flexHeight'),
242
254
  headerCheckboxDisabledRef,
@@ -277,9 +289,7 @@ export default defineComponent({
277
289
  }
278
290
  };
279
291
  const cssVarsRef = computed(() => {
280
- const {
281
- size
282
- } = props;
292
+ const mergedSize = mergedSizeRef.value;
283
293
  const {
284
294
  common: {
285
295
  cubicBezierEaseInOut
@@ -328,9 +338,9 @@ export default defineComponent({
328
338
  tdColorStriped,
329
339
  tdColorStripedModal,
330
340
  tdColorStripedPopover,
331
- [createKey('fontSize', size)]: fontSize,
332
- [createKey('thPadding', size)]: thPadding,
333
- [createKey('tdPadding', size)]: tdPadding
341
+ [createKey('fontSize', mergedSize)]: fontSize,
342
+ [createKey('thPadding', mergedSize)]: thPadding,
343
+ [createKey('tdPadding', mergedSize)]: tdPadding
334
344
  }
335
345
  } = themeRef.value;
336
346
  return {
@@ -383,7 +393,7 @@ export default defineComponent({
383
393
  '--n-th-color-sorting-popover': thColorSortingPopover
384
394
  };
385
395
  });
386
- const themeClassHandle = inlineThemeDisabled ? useThemeClass('data-table', computed(() => props.size[0]), cssVarsRef, props) : undefined;
396
+ const themeClassHandle = inlineThemeDisabled ? useThemeClass('data-table', computed(() => mergedSizeRef.value[0]), cssVarsRef, props) : undefined;
387
397
  const mergedShowPaginationRef = computed(() => {
388
398
  if (!props.pagination) return false;
389
399
  if (props.paginateSinglePage) return true;
@@ -26,5 +26,6 @@ declare const _default: import("vue").DefineComponent<{}, {
26
26
  }>;
27
27
  flexHeight: import("vue").Ref<boolean, boolean>;
28
28
  handleBodyResize: (entry: ResizeObserverEntry) => void;
29
+ scrollX: import("vue").Ref<string | number | undefined, string | number | undefined>;
29
30
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
30
31
  export default _default;
@@ -15,7 +15,8 @@ export default defineComponent({
15
15
  minHeightRef,
16
16
  flexHeightRef,
17
17
  virtualScrollHeaderRef,
18
- syncScrollState
18
+ syncScrollState,
19
+ scrollXRef
19
20
  } = inject(dataTableInjectionKey);
20
21
  const headerInstRef = ref(null);
21
22
  const bodyInstRef = ref(null);
@@ -87,7 +88,8 @@ export default defineComponent({
87
88
  bodyInstRef,
88
89
  bodyStyle: bodyStyleRef,
89
90
  flexHeight: flexHeightRef,
90
- handleBodyResize
91
+ handleBodyResize,
92
+ scrollX: scrollXRef
91
93
  }, exposedMethods);
92
94
  },
93
95
  render() {
@@ -2755,11 +2755,11 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2755
2755
  } | undefined;
2756
2756
  };
2757
2757
  }>;
2758
+ mergedRenderEmpty: import("vue").ComputedRef<(() => VNodeChild) | undefined>;
2758
2759
  scrollX: import("vue").Ref<string | number | undefined, string | number | undefined>;
2759
2760
  cols: import("vue").Ref<ColItem[], ColItem[]>;
2760
2761
  loading: import("vue").Ref<boolean, boolean>;
2761
- bodyShowHeaderOnly: import("vue").ComputedRef<boolean>;
2762
- shouldDisplaySomeTablePart: import("vue").ComputedRef<boolean>;
2762
+ shouldDisplayVirtualList: import("vue").ComputedRef<boolean>;
2763
2763
  empty: import("vue").ComputedRef<boolean>;
2764
2764
  paginatedDataAndInfo: import("vue").ComputedRef<{
2765
2765
  data: {
@@ -2799,7 +2799,6 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2799
2799
  childTriggerColIndex: import("vue").Ref<number, number>;
2800
2800
  indent: import("vue").Ref<number, number>;
2801
2801
  rowProps: import("vue").Ref<import("../interface").CreateRowProps<import("../interface").InternalRowData> | undefined, import("../interface").CreateRowProps<import("../interface").InternalRowData> | undefined>;
2802
- maxHeight: import("vue").Ref<string | number | undefined, string | number | undefined>;
2803
2802
  loadingKeySet: import("vue").Ref<Set<RowKey>, Set<RowKey>>;
2804
2803
  expandable: import("vue").Ref<import("../interface").Expandable<any> | undefined, import("../interface").Expandable<any> | undefined>;
2805
2804
  stickyExpandedRows: import("vue").Ref<boolean, boolean>;
@@ -2820,6 +2819,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2820
2819
  }) => void;
2821
2820
  handleUpdateExpanded: (key: RowKey, tmNode: TmNode | null) => void;
2822
2821
  renderCell: import("vue").Ref<((value: any, rowData: object, column: import("../interface").TableBaseColumn) => VNodeChild) | undefined, ((value: any, rowData: object, column: import("../interface").TableBaseColumn) => VNodeChild) | undefined>;
2822
+ explicitlyScrollable: import("vue").Ref<boolean, boolean>;
2823
+ xScrollable: import("vue").Ref<boolean, boolean>;
2823
2824
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
2824
2825
  onResize: PropType<(e: ResizeObserverEntry) => void>;
2825
2826
  showHeader: BooleanConstructor;
@@ -129,7 +129,6 @@ export default defineComponent({
129
129
  childTriggerColIndexRef,
130
130
  indentRef,
131
131
  rowPropsRef,
132
- maxHeightRef,
133
132
  stripedRef,
134
133
  loadingRef,
135
134
  onLoadRef,
@@ -145,20 +144,20 @@ export default defineComponent({
145
144
  handleTableBodyScroll,
146
145
  doCheck,
147
146
  doUncheck,
148
- renderCell
147
+ renderCell,
148
+ xScrollableRef,
149
+ explicitlyScrollableRef
149
150
  } = inject(dataTableInjectionKey);
150
151
  const NConfigProvider = inject(configProviderInjectionKey);
151
152
  const scrollbarInstRef = ref(null);
152
153
  const virtualListRef = ref(null);
153
154
  const emptyElRef = ref(null);
154
- const emptyRef = useMemo(() => paginatedDataRef.value.length === 0);
155
- // If header is not inside & empty is displayed, no table part would be
156
- // shown. So to collect a body width, we need to put a ref on empty element
157
- const shouldDisplaySomeTablePartRef = useMemo(() => props.showHeader || !emptyRef.value);
158
- // If no body is shown, we shouldn't show scrollbar
159
- const bodyShowHeaderOnlyRef = useMemo(() => {
160
- return props.showHeader || emptyRef.value;
155
+ const mergedRenderEmptyRef = computed(() => {
156
+ var _a, _b;
157
+ return (_b = (_a = NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.DataTable) === null || _b === void 0 ? void 0 : _b.renderEmpty;
161
158
  });
159
+ const emptyRef = useMemo(() => paginatedDataRef.value.length === 0);
160
+ const shouldDisplayVirtualListRef = useMemo(() => virtualScrollRef.value && !emptyRef.value);
162
161
  let lastSelectedKey = '';
163
162
  const mergedExpandedRowKeySetRef = computed(() => {
164
163
  return new Set(mergedExpandedRowKeysRef.value);
@@ -210,17 +209,7 @@ export default defineComponent({
210
209
  doCheck(tmNode.key, true, rowInfo);
211
210
  }
212
211
  function getScrollContainer() {
213
- if (!shouldDisplaySomeTablePartRef.value) {
214
- const {
215
- value: emptyEl
216
- } = emptyElRef;
217
- if (emptyEl) {
218
- return emptyEl;
219
- } else {
220
- return null;
221
- }
222
- }
223
- if (virtualScrollRef.value) {
212
+ if (shouldDisplayVirtualListRef.value) {
224
213
  return virtualListContainer();
225
214
  }
226
215
  const {
@@ -371,11 +360,11 @@ export default defineComponent({
371
360
  summary: summaryRef,
372
361
  mergedClsPrefix: mergedClsPrefixRef,
373
362
  mergedTheme: mergedThemeRef,
363
+ mergedRenderEmpty: mergedRenderEmptyRef,
374
364
  scrollX: scrollXRef,
375
365
  cols: colsRef,
376
366
  loading: loadingRef,
377
- bodyShowHeaderOnly: bodyShowHeaderOnlyRef,
378
- shouldDisplaySomeTablePart: shouldDisplaySomeTablePartRef,
367
+ shouldDisplayVirtualList: shouldDisplayVirtualListRef,
379
368
  empty: emptyRef,
380
369
  paginatedDataAndInfo: computed(() => {
381
370
  const {
@@ -421,7 +410,6 @@ export default defineComponent({
421
410
  childTriggerColIndex: childTriggerColIndexRef,
422
411
  indent: indentRef,
423
412
  rowProps: rowPropsRef,
424
- maxHeight: maxHeightRef,
425
413
  loadingKeySet: loadingKeySetRef,
426
414
  expandable: expandableRef,
427
415
  stickyExpandedRows: stickyExpandedRowsRef,
@@ -437,7 +425,9 @@ export default defineComponent({
437
425
  handleCheckboxUpdateChecked,
438
426
  handleRadioUpdateChecked,
439
427
  handleUpdateExpanded,
440
- renderCell
428
+ renderCell,
429
+ explicitlyScrollable: explicitlyScrollableRef,
430
+ xScrollable: xScrollableRef
441
431
  }, exposedMethods);
442
432
  },
443
433
  render() {
@@ -445,47 +435,56 @@ export default defineComponent({
445
435
  mergedTheme,
446
436
  scrollX,
447
437
  mergedClsPrefix,
448
- virtualScroll,
449
- maxHeight,
450
- mergedTableLayout,
451
- flexHeight,
438
+ explicitlyScrollable,
439
+ xScrollable,
452
440
  loadingKeySet,
453
441
  onResize,
454
- setHeaderScrollLeft
442
+ setHeaderScrollLeft,
443
+ empty,
444
+ shouldDisplayVirtualList
455
445
  } = this;
456
- const scrollable = scrollX !== undefined || maxHeight !== undefined || flexHeight;
457
- // For a basic table with auto layout whose content may overflow we will
458
- // make it scrollable, which differs from browser's native behavior.
459
- // For native behavior, see
460
- // https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout
461
- const isBasicAutoLayout = !scrollable && mergedTableLayout === 'auto';
462
- const xScrollable = scrollX !== undefined || isBasicAutoLayout;
463
446
  const contentStyle = {
464
447
  minWidth: formatLength(scrollX) || '100%'
465
448
  };
466
449
  if (scrollX) contentStyle.width = '100%';
450
+ const createEmptyNode = () => h("div", {
451
+ class: [`${mergedClsPrefix}-data-table-empty`, this.loading && `${mergedClsPrefix}-data-table-empty--hide`],
452
+ style: [this.bodyStyle, xScrollable ? 'position: sticky; left: 0; width: var(--n-scrollbar-current-width);' : undefined],
453
+ ref: "emptyElRef"
454
+ }, resolveSlot(this.dataTableSlots.empty, () => {
455
+ var _a;
456
+ return [((_a = this.mergedRenderEmpty) === null || _a === void 0 ? void 0 : _a.call(this)) || h(NEmpty, {
457
+ theme: this.mergedTheme.peers.Empty,
458
+ themeOverrides: this.mergedTheme.peerOverrides.Empty
459
+ })];
460
+ }));
467
461
  const tableNode = h(NScrollbar, Object.assign({}, this.scrollbarProps, {
468
462
  ref: "scrollbarInstRef",
469
- scrollable: scrollable || isBasicAutoLayout,
463
+ scrollable: explicitlyScrollable || xScrollable,
470
464
  class: `${mergedClsPrefix}-data-table-base-table-body`,
471
- style: !this.empty ? this.bodyStyle : undefined,
465
+ style: !empty ? this.bodyStyle : 'height: initial;',
472
466
  theme: mergedTheme.peers.Scrollbar,
473
467
  themeOverrides: mergedTheme.peerOverrides.Scrollbar,
474
468
  contentStyle: contentStyle,
475
- container: virtualScroll ? this.virtualListContainer : undefined,
476
- content: virtualScroll ? this.virtualListContent : undefined,
469
+ container: shouldDisplayVirtualList ? this.virtualListContainer : undefined,
470
+ content: shouldDisplayVirtualList ? this.virtualListContent : undefined,
477
471
  horizontalRailStyle: {
478
472
  zIndex: 3
479
473
  },
480
474
  verticalRailStyle: {
481
475
  zIndex: 3
482
476
  },
477
+ internalExposeWidthCssVar: xScrollable && empty,
483
478
  xScrollable: xScrollable,
484
- onScroll: virtualScroll ? undefined : this.handleTableBodyScroll,
479
+ onScroll: shouldDisplayVirtualList ? undefined : this.handleTableBodyScroll,
485
480
  internalOnUpdateScrollLeft: setHeaderScrollLeft,
486
481
  onResize: onResize
487
482
  }), {
488
483
  default: () => {
484
+ if (this.empty && !this.showHeader && (this.explicitlyScrollable || this.xScrollable)) {
485
+ // Placeholder for outer header to sync scroll state
486
+ return createEmptyNode();
487
+ }
489
488
  // coordinate to pass if there are cells that cross row & col
490
489
  const cordToPass = {};
491
490
  // coordinate to related hover keys
@@ -799,8 +798,8 @@ export default defineComponent({
799
798
  }), cells);
800
799
  return row;
801
800
  };
802
- if (!virtualScroll) {
803
- return h("table", {
801
+ if (!this.shouldDisplayVirtualList) {
802
+ return h(Fragment, null, h("table", {
804
803
  class: `${mergedClsPrefix}-data-table-table`,
805
804
  onMouseleave: handleMouseleaveTable,
806
805
  style: {
@@ -826,7 +825,7 @@ export default defineComponent({
826
825
  return -1;
827
826
  }
828
827
  });
829
- })) : null);
828
+ })) : null), this.empty && this.xScrollable ? createEmptyNode() : null);
830
829
  } else {
831
830
  return h(VirtualList, {
832
831
  ref: "virtualListRef",
@@ -886,16 +885,9 @@ export default defineComponent({
886
885
  }
887
886
  });
888
887
  if (this.empty) {
889
- const createEmptyNode = () => h("div", {
890
- class: [`${mergedClsPrefix}-data-table-empty`, this.loading && `${mergedClsPrefix}-data-table-empty--hide`],
891
- style: this.bodyStyle,
892
- ref: "emptyElRef"
893
- }, resolveSlot(this.dataTableSlots.empty, () => [h(NEmpty, {
894
- theme: this.mergedTheme.peers.Empty,
895
- themeOverrides: this.mergedTheme.peerOverrides.Empty
896
- })]));
897
- if (this.shouldDisplaySomeTablePart) {
898
- return h(Fragment, null, tableNode, createEmptyNode());
888
+ if (this.explicitlyScrollable || this.xScrollable) {
889
+ // empty node is integrated into table node
890
+ return tableNode;
899
891
  } else {
900
892
  return h(VResizeObserver, {
901
893
  onResize: this.onResize
@@ -1,7 +1,6 @@
1
1
  import type { TreeMate, TreeNode } from 'treemate';
2
2
  import type { CSSProperties, ExtractPropTypes, HTMLAttributes, PropType, Ref, VNode, VNodeChild } from 'vue';
3
3
  import type { VirtualListInst } from 'vueuc';
4
- import type { BaseLoadingExposedProps } from '../../_internal';
5
4
  import type { MergedTheme } from '../../_mixins';
6
5
  import type { ExtractPublicPropTypes, MaybeArray } from '../../_utils';
7
6
  import type { EllipsisProps } from '../../ellipsis/src/Ellipsis';
@@ -10,7 +9,7 @@ import type { PaginationProps } from '../../pagination';
10
9
  import type { PopoverProps } from '../../popover';
11
10
  import type { ScrollbarProps, ScrollTo } from '../../scrollbar/src/Scrollbar';
12
11
  import type { DataTableTheme } from '../styles';
13
- import type { DataTableGetCsvCell, DataTableGetCsvHeader } from './publicTypes';
12
+ import type { DataTableGetCsvCell, DataTableGetCsvHeader, DataTableSize, DataTableSpinProps } from './public-types';
14
13
  import type { ColItem, RowItem } from './use-group-header';
15
14
  export declare const dataTableProps: {
16
15
  readonly onUnstableColumnResize: PropType<(resizedWidth: number, limitedWidth: number, column: TableBaseColumn, getColumnWidth: (key: ColumnKey) => number | undefined) => void>;
@@ -58,7 +57,7 @@ export declare const dataTableProps: {
58
57
  };
59
58
  readonly singleColumn: BooleanConstructor;
60
59
  readonly size: {
61
- readonly type: PropType<"small" | "medium" | "large">;
60
+ readonly type: PropType<DataTableSize>;
62
61
  readonly default: "medium";
63
62
  };
64
63
  readonly remote: BooleanConstructor;
@@ -111,10 +110,7 @@ export declare const dataTableProps: {
111
110
  readonly scrollbarProps: PropType<ScrollbarProps>;
112
111
  readonly renderCell: PropType<(value: any, rowData: object, column: TableBaseColumn) => VNodeChild>;
113
112
  readonly renderExpandIcon: PropType<RenderExpandIcon>;
114
- readonly spinProps: {
115
- readonly type: PropType<BaseLoadingExposedProps>;
116
- readonly default: {};
117
- };
113
+ readonly spinProps: PropType<DataTableSpinProps>;
118
114
  readonly getCsvCell: PropType<DataTableGetCsvCell>;
119
115
  readonly getCsvHeader: PropType<DataTableGetCsvHeader>;
120
116
  readonly onLoad: PropType<DataTableOnLoad>;
@@ -3023,6 +3019,8 @@ export interface DataTableInjection {
3023
3019
  mergedTableLayoutRef: Ref<'auto' | 'fixed'>;
3024
3020
  maxHeightRef: Ref<string | number | undefined>;
3025
3021
  minHeightRef: Ref<string | number | undefined>;
3022
+ xScrollableRef: Ref<boolean>;
3023
+ explicitlyScrollableRef: Ref<boolean>;
3026
3024
  rowPropsRef: Ref<CreateRowProps | undefined>;
3027
3025
  flexHeightRef: Ref<boolean>;
3028
3026
  headerCheckboxDisabledRef: Ref<boolean>;
@@ -100,10 +100,7 @@ export const dataTableProps = Object.assign(Object.assign({}, useTheme.props), {
100
100
  scrollbarProps: Object,
101
101
  renderCell: Function,
102
102
  renderExpandIcon: Function,
103
- spinProps: {
104
- type: Object,
105
- default: {}
106
- },
103
+ spinProps: Object,
107
104
  getCsvCell: Function,
108
105
  getCsvHeader: Function,
109
106
  onLoad: Function,
@@ -1,3 +1,6 @@
1
+ import type { SharedSpinProps } from '../../_internal';
1
2
  import type { TableBaseColumn } from './interface';
2
3
  export type DataTableGetCsvCell = (value: any, rowData: object, column: TableBaseColumn) => string;
3
4
  export type DataTableGetCsvHeader = (column: TableBaseColumn) => string;
5
+ export type DataTableSize = 'small' | 'medium' | 'large';
6
+ export type DataTableSpinProps = SharedSpinProps;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,9 +1,11 @@
1
1
  import type { ComputedRef, Ref } from 'vue';
2
2
  import type { ColumnKey, DataTableSetupProps, MainTableRef, TableColumn } from './interface';
3
- export declare function useScroll(props: DataTableSetupProps, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef }: {
3
+ export declare function useScroll(props: DataTableSetupProps, { mainTableInstRef, mergedCurrentPageRef, bodyWidthRef, maxHeightRef, mergedTableLayoutRef }: {
4
+ maxHeightRef: Ref<string | number | undefined>;
4
5
  bodyWidthRef: Ref<null | number>;
5
6
  mainTableInstRef: Ref<MainTableRef | null>;
6
7
  mergedCurrentPageRef: ComputedRef<number>;
8
+ mergedTableLayoutRef: Ref<'auto' | 'fixed'>;
7
9
  }): {
8
10
  styleScrollXRef: ComputedRef<string | undefined>;
9
11
  fixedColumnLeftMapRef: ComputedRef<Record<ColumnKey, {
@@ -24,4 +26,6 @@ export declare function useScroll(props: DataTableSetupProps, { mainTableInstRef
24
26
  handleTableBodyScroll: (e: Event) => void;
25
27
  handleTableHeaderScroll: () => void;
26
28
  setHeaderScrollLeft: (left: number) => void;
29
+ explicitlyScrollableRef: ComputedRef<boolean>;
30
+ xScrollableRef: ComputedRef<boolean>;
27
31
  };
@@ -5,8 +5,19 @@ import { getColKey, getNumberColWidth } from "./utils.mjs";
5
5
  export function useScroll(props, {
6
6
  mainTableInstRef,
7
7
  mergedCurrentPageRef,
8
- bodyWidthRef
8
+ bodyWidthRef,
9
+ maxHeightRef,
10
+ mergedTableLayoutRef
9
11
  }) {
12
+ const explicitlyScrollableRef = computed(() => props.scrollX !== undefined || maxHeightRef.value !== undefined || props.flexHeight);
13
+ const xScrollableRef = computed(() => {
14
+ // For a basic table with auto layout whose content may overflow we will
15
+ // make it scrollable, which differs from browser's native behavior.
16
+ // For native behavior, see
17
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout
18
+ const isBasicAutoLayout = !explicitlyScrollableRef.value && mergedTableLayoutRef.value === 'auto';
19
+ return props.scrollX !== undefined || isBasicAutoLayout;
20
+ });
10
21
  let lastScrollLeft = 0;
11
22
  const scrollPartRef = ref();
12
23
  const leftActiveFixedColKeyRef = ref(null);
@@ -181,8 +192,7 @@ export function useScroll(props, {
181
192
  value: tableWidth
182
193
  } = bodyWidthRef;
183
194
  if (tableWidth === null) return;
184
- if (props.maxHeight || props.flexHeight) {
185
- if (!header) return;
195
+ if (header) {
186
196
  // we need to deal with overscroll
187
197
  const directionHead = lastScrollLeft - header.scrollLeft;
188
198
  scrollPartRef.value = directionHead !== 0 ? 'head' : 'body';
@@ -225,6 +235,8 @@ export function useScroll(props, {
225
235
  syncScrollState,
226
236
  handleTableBodyScroll,
227
237
  handleTableHeaderScroll,
228
- setHeaderScrollLeft
238
+ setHeaderScrollLeft,
239
+ explicitlyScrollableRef,
240
+ xScrollableRef
229
241
  };
230
242
  }
@@ -1,6 +1,6 @@
1
1
  import type { CSSProperties } from 'vue';
2
2
  import type { CreateRowClassName, InternalRowData, RowData, SortOrder, SortOrderFlag, SortState, TableBaseColumn, TableColumn, TableExpandColumn, TableSelectionColumn } from './interface';
3
- import type { DataTableGetCsvCell, DataTableGetCsvHeader } from './publicTypes';
3
+ import type { DataTableGetCsvCell, DataTableGetCsvHeader } from './public-types';
4
4
  export declare const SELECTION_COL_WIDTH = 40;
5
5
  export declare const EXPAND_COL_WIDTH = 40;
6
6
  export declare function getNumberColWidth(col: TableColumn): number | undefined;
@@ -34,6 +34,8 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
34
34
  readonly default: undefined;
35
35
  };
36
36
  readonly clearable: BooleanConstructor;
37
+ readonly fastYearSelect: BooleanConstructor;
38
+ readonly fastMonthSelect: BooleanConstructor;
37
39
  readonly updateValueOnClose: BooleanConstructor;
38
40
  readonly calendarDayFormat: StringConstructor;
39
41
  readonly calendarHeaderYearFormat: StringConstructor;
@@ -3440,6 +3442,8 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
3440
3442
  readonly default: undefined;
3441
3443
  };
3442
3444
  readonly clearable: BooleanConstructor;
3445
+ readonly fastYearSelect: BooleanConstructor;
3446
+ readonly fastMonthSelect: BooleanConstructor;
3443
3447
  readonly updateValueOnClose: BooleanConstructor;
3444
3448
  readonly calendarDayFormat: StringConstructor;
3445
3449
  readonly calendarHeaderYearFormat: StringConstructor;
@@ -5534,6 +5538,8 @@ declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
5534
5538
  readonly placement: import("vueuc").FollowerPlacement;
5535
5539
  readonly show: boolean | undefined;
5536
5540
  readonly inputReadonly: boolean;
5541
+ readonly fastYearSelect: boolean;
5542
+ readonly fastMonthSelect: boolean;
5537
5543
  readonly updateValueOnClose: boolean;
5538
5544
  readonly calendarHeaderMonthYearSeparator: string;
5539
5545
  readonly calendarHeaderMonthBeforeYear: boolean;
@@ -823,6 +823,8 @@ export default defineComponent({
823
823
  onPrevYear: this.onPrevYear,
824
824
  timePickerFormat: this.timePickerFormat,
825
825
  dateFormat: this.dateFormat,
826
+ fastYearSelect: this.fastYearSelect,
827
+ fastMonthSelect: this.fastMonthSelect,
826
828
  calendarDayFormat: this.calendarDayFormat,
827
829
  calendarHeaderYearFormat: this.calendarHeaderYearFormat,
828
830
  calendarHeaderMonthFormat: this.calendarHeaderMonthFormat,
@@ -17,6 +17,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
17
17
  };
18
18
  active: BooleanConstructor;
19
19
  dateFormat: StringConstructor;
20
+ fastYearSelect: BooleanConstructor;
21
+ fastMonthSelect: BooleanConstructor;
20
22
  calendarDayFormat: StringConstructor;
21
23
  calendarHeaderYearFormat: StringConstructor;
22
24
  calendarHeaderMonthFormat: StringConstructor;
@@ -44,6 +46,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
44
46
  onClose: PropType<import("../interface").OnClose>;
45
47
  onTabOut: FunctionConstructor;
46
48
  onKeydown: FunctionConstructor;
49
+ onSelectYear: FunctionConstructor;
50
+ onSelectMonth: FunctionConstructor;
47
51
  onUpdateValue: {
48
52
  readonly type: PropType<import("../interface").OnPanelUpdateValue>;
49
53
  readonly required: true;
@@ -2181,6 +2185,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2181
2185
  };
2182
2186
  active: BooleanConstructor;
2183
2187
  dateFormat: StringConstructor;
2188
+ fastYearSelect: BooleanConstructor;
2189
+ fastMonthSelect: BooleanConstructor;
2184
2190
  calendarDayFormat: StringConstructor;
2185
2191
  calendarHeaderYearFormat: StringConstructor;
2186
2192
  calendarHeaderMonthFormat: StringConstructor;
@@ -2208,6 +2214,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2208
2214
  onClose: PropType<import("../interface").OnClose>;
2209
2215
  onTabOut: FunctionConstructor;
2210
2216
  onKeydown: FunctionConstructor;
2217
+ onSelectYear: FunctionConstructor;
2218
+ onSelectMonth: FunctionConstructor;
2211
2219
  onUpdateValue: {
2212
2220
  readonly type: PropType<import("../interface").OnPanelUpdateValue>;
2213
2221
  readonly required: true;
@@ -2224,6 +2232,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2224
2232
  active: boolean;
2225
2233
  actions: string[];
2226
2234
  inputReadonly: boolean;
2235
+ fastYearSelect: boolean;
2236
+ fastMonthSelect: boolean;
2227
2237
  calendarHeaderMonthBeforeYear: boolean;
2228
2238
  panel: boolean;
2229
2239
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -58,6 +58,8 @@ export default defineComponent({
58
58
  class: `${mergedClsPrefix}-date-panel-month__prev`,
59
59
  onClick: this.prevMonth
60
60
  }, resolveSlot(datePickerSlots['prev-month'], () => [h(BackwardIcon, null)])), h(PanelHeader, {
61
+ fastYearSelect: this.fastYearSelect,
62
+ fastMonthSelect: this.fastMonthSelect,
61
63
  monthYearSeparator: this.calendarHeaderMonthYearSeparator,
62
64
  monthBeforeYear: this.calendarMonthBeforeYear,
63
65
  value: this.calendarValue,
@@ -8,6 +8,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
8
8
  };
9
9
  readonly active: BooleanConstructor;
10
10
  readonly dateFormat: StringConstructor;
11
+ readonly fastYearSelect: BooleanConstructor;
12
+ readonly fastMonthSelect: BooleanConstructor;
11
13
  readonly calendarDayFormat: StringConstructor;
12
14
  readonly calendarHeaderYearFormat: StringConstructor;
13
15
  readonly calendarHeaderMonthFormat: StringConstructor;
@@ -35,6 +37,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
35
37
  readonly onClose: import("vue").PropType<import("../interface").OnClose>;
36
38
  readonly onTabOut: FunctionConstructor;
37
39
  readonly onKeydown: FunctionConstructor;
40
+ readonly onSelectYear: FunctionConstructor;
41
+ readonly onSelectMonth: FunctionConstructor;
38
42
  readonly onUpdateValue: {
39
43
  readonly type: import("vue").PropType<import("../interface").OnPanelUpdateValue>;
40
44
  readonly required: true;
@@ -2204,6 +2208,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2204
2208
  };
2205
2209
  readonly active: BooleanConstructor;
2206
2210
  readonly dateFormat: StringConstructor;
2211
+ readonly fastYearSelect: BooleanConstructor;
2212
+ readonly fastMonthSelect: BooleanConstructor;
2207
2213
  readonly calendarDayFormat: StringConstructor;
2208
2214
  readonly calendarHeaderYearFormat: StringConstructor;
2209
2215
  readonly calendarHeaderMonthFormat: StringConstructor;
@@ -2231,6 +2237,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2231
2237
  readonly onClose: import("vue").PropType<import("../interface").OnClose>;
2232
2238
  readonly onTabOut: FunctionConstructor;
2233
2239
  readonly onKeydown: FunctionConstructor;
2240
+ readonly onSelectYear: FunctionConstructor;
2241
+ readonly onSelectMonth: FunctionConstructor;
2234
2242
  readonly onUpdateValue: {
2235
2243
  readonly type: import("vue").PropType<import("../interface").OnPanelUpdateValue>;
2236
2244
  readonly required: true;
@@ -2247,6 +2255,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
2247
2255
  readonly active: boolean;
2248
2256
  readonly actions: string[];
2249
2257
  readonly inputReadonly: boolean;
2258
+ readonly fastYearSelect: boolean;
2259
+ readonly fastMonthSelect: boolean;
2250
2260
  readonly calendarHeaderMonthBeforeYear: boolean;
2251
2261
  readonly panel: boolean;
2252
2262
  readonly bindCalendarMonths: boolean;