naive-ui 2.23.2 → 2.24.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 (314) hide show
  1. package/README.md +1 -1
  2. package/README.zh-CN.md +1 -1
  3. package/es/_internal/icons/Switcher.js +2 -3
  4. package/es/_internal/selection/src/styles/index.cssr.js +1 -1
  5. package/es/_internal/selection/styles/_common.js +1 -1
  6. package/es/auto-complete/src/AutoComplete.d.ts +12 -12
  7. package/es/auto-complete/src/AutoComplete.js +13 -15
  8. package/es/back-top/src/BackTop.d.ts +3 -3
  9. package/es/calendar/src/Calendar.d.ts +5 -1
  10. package/es/calendar/src/Calendar.js +16 -4
  11. package/es/calendar/src/interface.d.ts +4 -0
  12. package/es/carousel/index.d.ts +1 -0
  13. package/es/carousel/index.js +1 -0
  14. package/es/carousel/src/Carousel.d.ts +235 -19
  15. package/es/carousel/src/Carousel.js +683 -229
  16. package/es/carousel/src/CarouselArrow.d.ts +9 -0
  17. package/es/carousel/src/CarouselArrow.js +43 -0
  18. package/es/carousel/src/CarouselDots.d.ts +66 -0
  19. package/es/carousel/src/CarouselDots.js +118 -0
  20. package/es/carousel/src/CarouselItem.d.ts +11 -0
  21. package/es/carousel/src/CarouselItem.js +72 -0
  22. package/es/carousel/src/interface.d.ts +28 -0
  23. package/es/carousel/src/interface.js +2 -0
  24. package/es/carousel/src/styles/index.cssr.js +141 -38
  25. package/es/carousel/src/utils.d.ts +12 -0
  26. package/es/carousel/src/utils.js +58 -0
  27. package/es/carousel/styles/light.d.ts +3 -0
  28. package/es/carousel/styles/light.js +5 -2
  29. package/es/cascader/src/Cascader.d.ts +6 -2
  30. package/es/cascader/src/Cascader.js +2 -1
  31. package/es/cascader/src/CascaderOption.d.ts +1 -0
  32. package/es/cascader/src/CascaderOption.js +7 -4
  33. package/es/cascader/src/interface.d.ts +2 -1
  34. package/es/checkbox/src/styles/index.cssr.js +1 -1
  35. package/es/code/src/Code.d.ts +5 -0
  36. package/es/code/src/Code.js +6 -3
  37. package/es/code/src/styles/index.cssr.js +2 -2
  38. package/es/color-picker/src/ColorInputUnit.js +2 -2
  39. package/es/color-picker/src/ColorPicker.d.ts +13 -5
  40. package/es/color-picker/src/ColorPicker.js +19 -10
  41. package/es/color-picker/src/ColorPickerTrigger.d.ts +1 -1
  42. package/es/color-picker/src/ColorPickerTrigger.js +23 -17
  43. package/es/color-picker/src/interface.d.ts +2 -0
  44. package/es/color-picker/src/styles/index.cssr.js +1 -0
  45. package/es/config-provider/src/ConfigProvider.d.ts +27 -0
  46. package/es/data-table/src/DataTable.d.ts +10 -55
  47. package/es/data-table/src/DataTable.js +23 -49
  48. package/es/data-table/src/interface.d.ts +1 -1
  49. package/es/data-table/src/styles/index.cssr.js +4 -1
  50. package/es/data-table/src/utils.js +4 -1
  51. package/es/date-picker/src/DatePicker.d.ts +26 -22
  52. package/es/date-picker/src/DatePicker.js +99 -49
  53. package/es/date-picker/src/interface.d.ts +17 -2
  54. package/es/date-picker/src/panel/use-calendar.js +2 -2
  55. package/es/drawer/src/Drawer.d.ts +18 -58
  56. package/es/drawer/src/Drawer.js +32 -49
  57. package/es/drawer/src/DrawerBodyWrapper.js +21 -13
  58. package/es/drawer/src/DrawerContent.js +6 -6
  59. package/es/dropdown/src/Dropdown.d.ts +5 -0
  60. package/es/form/src/Feedbacks.js +4 -1
  61. package/es/form/src/Form.d.ts +7 -7
  62. package/es/form/src/Form.js +17 -8
  63. package/es/form/src/FormItem.d.ts +12 -7
  64. package/es/form/src/FormItem.js +24 -12
  65. package/es/form/src/FormItemCol.d.ts +8 -4
  66. package/es/form/src/FormItemGridItem.d.ts +8 -4
  67. package/es/form/src/FormItemRow.d.ts +7 -3
  68. package/es/form/src/interface.d.ts +6 -2
  69. package/es/form/src/styles/form-item.cssr.js +2 -0
  70. package/es/form/src/utils.d.ts +2 -2
  71. package/es/form/src/utils.js +29 -18
  72. package/es/image/src/Image.d.ts +279 -10
  73. package/es/image/src/Image.js +4 -17
  74. package/es/image/src/ImageGroup.d.ts +272 -2
  75. package/es/image/src/ImageGroup.js +5 -8
  76. package/es/image/src/ImagePreview.d.ts +195 -7
  77. package/es/image/src/ImagePreview.js +50 -31
  78. package/es/image/src/interface.d.ts +94 -0
  79. package/es/image/src/interface.js +2 -1
  80. package/es/image/src/styles/index.cssr.js +8 -4
  81. package/es/image/styles/dark.js +8 -1
  82. package/es/image/styles/light.d.ts +32 -3
  83. package/es/image/styles/light.js +8 -1
  84. package/es/input-number/src/utils.js +2 -2
  85. package/es/locales/common/deDE.js +10 -0
  86. package/es/locales/common/enUS.d.ts +9 -0
  87. package/es/locales/common/enUS.js +10 -0
  88. package/es/locales/common/frFR.js +10 -0
  89. package/es/locales/common/idID.js +10 -0
  90. package/es/locales/common/jaJP.js +10 -0
  91. package/es/locales/common/nbNO.js +10 -0
  92. package/es/locales/common/ruRU.js +10 -0
  93. package/es/locales/common/ukUA.js +10 -0
  94. package/es/locales/common/zhCN.js +9 -0
  95. package/es/locales/common/zhTW.js +10 -0
  96. package/es/mention/src/utils.js +0 -1
  97. package/es/message/index.d.ts +2 -1
  98. package/es/message/src/Message.d.ts +191 -19
  99. package/es/message/src/Message.js +13 -11
  100. package/es/message/src/MessageEnvironment.d.ts +3 -3
  101. package/es/message/src/MessageProvider.d.ts +5 -10
  102. package/es/message/src/MessageProvider.js +1 -1
  103. package/es/message/src/message-props.d.ts +5 -2
  104. package/es/message/src/types.d.ts +15 -0
  105. package/es/message/src/types.js +1 -0
  106. package/es/modal/src/Modal.d.ts +5 -0
  107. package/es/modal/src/Modal.js +2 -1
  108. package/es/page-header/index.d.ts +1 -1
  109. package/es/page-header/src/PageHeader.d.ts +1 -1
  110. package/es/pagination/index.d.ts +1 -1
  111. package/es/pagination/src/Pagination.d.ts +8 -4
  112. package/es/pagination/src/Pagination.js +66 -19
  113. package/es/pagination/src/interface.d.ts +10 -1
  114. package/es/pagination/src/utils.d.ts +2 -2
  115. package/es/pagination/src/utils.js +2 -4
  116. package/es/popconfirm/src/Popconfirm.d.ts +5 -0
  117. package/es/popover/src/Popover.d.ts +7 -0
  118. package/es/popover/src/Popover.js +24 -1
  119. package/es/popover/src/PopoverBody.d.ts +5 -0
  120. package/es/popover/src/PopoverBody.js +28 -46
  121. package/es/popover/src/styles/index.cssr.js +9 -8
  122. package/es/popselect/src/Popselect.d.ts +62 -73
  123. package/es/popselect/src/Popselect.js +2 -2
  124. package/es/progress/src/Circle.d.ts +7 -0
  125. package/es/progress/src/Circle.js +8 -1
  126. package/es/progress/src/Line.d.ts +2 -2
  127. package/es/progress/src/Line.js +4 -1
  128. package/es/progress/src/Progress.d.ts +6 -2
  129. package/es/progress/src/Progress.js +2 -2
  130. package/es/progress/src/styles/index.cssr.js +16 -16
  131. package/es/radio/src/styles/radio.cssr.js +4 -1
  132. package/es/result/src/Result.js +9 -10
  133. package/es/result/src/styles/index.cssr.js +7 -7
  134. package/es/select/src/Select.d.ts +8 -27
  135. package/es/select/src/Select.js +16 -24
  136. package/es/slider/src/Slider.d.ts +2 -4
  137. package/es/tabs/index.d.ts +1 -0
  138. package/es/tabs/src/Tabs.d.ts +2 -2
  139. package/es/tabs/src/Tabs.js +25 -22
  140. package/es/tabs/src/interface.d.ts +3 -0
  141. package/es/time-picker/src/TimePicker.d.ts +22 -2
  142. package/es/time-picker/src/TimePicker.js +59 -29
  143. package/es/time-picker/src/interface.d.ts +4 -2
  144. package/es/tooltip/src/Tooltip.d.ts +5 -0
  145. package/es/tree/src/Tree.d.ts +5 -1
  146. package/es/tree/src/Tree.js +4 -2
  147. package/es/tree/src/TreeNodeSwitcher.d.ts +1 -1
  148. package/es/tree/src/TreeNodeSwitcher.js +25 -14
  149. package/es/tree/src/interface.d.ts +2 -0
  150. package/es/tree/src/styles/index.cssr.js +4 -2
  151. package/es/upload/src/Upload.d.ts +15 -6
  152. package/es/upload/src/Upload.js +18 -9
  153. package/es/upload/src/UploadFile.d.ts +5 -5
  154. package/es/upload/src/UploadFileList.js +2 -2
  155. package/es/upload/src/interface.d.ts +11 -4
  156. package/es/version.d.ts +1 -1
  157. package/es/version.js +1 -1
  158. package/lib/_internal/icons/Switcher.js +2 -3
  159. package/lib/_internal/selection/src/styles/index.cssr.js +1 -1
  160. package/lib/_internal/selection/styles/_common.js +1 -1
  161. package/lib/auto-complete/src/AutoComplete.d.ts +12 -12
  162. package/lib/auto-complete/src/AutoComplete.js +14 -16
  163. package/lib/back-top/src/BackTop.d.ts +3 -3
  164. package/lib/calendar/src/Calendar.d.ts +5 -1
  165. package/lib/calendar/src/Calendar.js +15 -3
  166. package/lib/calendar/src/interface.d.ts +4 -0
  167. package/lib/carousel/index.d.ts +1 -0
  168. package/lib/carousel/index.js +3 -1
  169. package/lib/carousel/src/Carousel.d.ts +235 -19
  170. package/lib/carousel/src/Carousel.js +681 -227
  171. package/lib/carousel/src/CarouselArrow.d.ts +9 -0
  172. package/lib/carousel/src/CarouselArrow.js +45 -0
  173. package/lib/carousel/src/CarouselDots.d.ts +66 -0
  174. package/lib/carousel/src/CarouselDots.js +120 -0
  175. package/lib/carousel/src/CarouselItem.d.ts +11 -0
  176. package/lib/carousel/src/CarouselItem.js +74 -0
  177. package/lib/carousel/src/interface.d.ts +28 -0
  178. package/lib/carousel/src/interface.js +6 -0
  179. package/lib/carousel/src/styles/index.cssr.js +141 -38
  180. package/lib/carousel/src/utils.d.ts +12 -0
  181. package/lib/carousel/src/utils.js +69 -0
  182. package/lib/carousel/styles/light.d.ts +3 -0
  183. package/lib/carousel/styles/light.js +5 -2
  184. package/lib/cascader/src/Cascader.d.ts +6 -2
  185. package/lib/cascader/src/Cascader.js +2 -1
  186. package/lib/cascader/src/CascaderOption.d.ts +1 -0
  187. package/lib/cascader/src/CascaderOption.js +7 -4
  188. package/lib/cascader/src/interface.d.ts +2 -1
  189. package/lib/checkbox/src/styles/index.cssr.js +1 -1
  190. package/lib/code/src/Code.d.ts +5 -0
  191. package/lib/code/src/Code.js +6 -3
  192. package/lib/code/src/styles/index.cssr.js +1 -1
  193. package/lib/color-picker/src/ColorInputUnit.js +1 -1
  194. package/lib/color-picker/src/ColorPicker.d.ts +13 -5
  195. package/lib/color-picker/src/ColorPicker.js +19 -10
  196. package/lib/color-picker/src/ColorPickerTrigger.d.ts +1 -1
  197. package/lib/color-picker/src/ColorPickerTrigger.js +22 -16
  198. package/lib/color-picker/src/interface.d.ts +2 -0
  199. package/lib/color-picker/src/styles/index.cssr.js +1 -0
  200. package/lib/config-provider/src/ConfigProvider.d.ts +27 -0
  201. package/lib/data-table/src/DataTable.d.ts +10 -55
  202. package/lib/data-table/src/DataTable.js +21 -47
  203. package/lib/data-table/src/interface.d.ts +1 -1
  204. package/lib/data-table/src/styles/index.cssr.js +4 -1
  205. package/lib/data-table/src/utils.js +3 -0
  206. package/lib/date-picker/src/DatePicker.d.ts +26 -22
  207. package/lib/date-picker/src/DatePicker.js +98 -48
  208. package/lib/date-picker/src/interface.d.ts +17 -2
  209. package/lib/date-picker/src/panel/use-calendar.js +2 -2
  210. package/lib/drawer/src/Drawer.d.ts +18 -58
  211. package/lib/drawer/src/Drawer.js +30 -47
  212. package/lib/drawer/src/DrawerBodyWrapper.js +21 -13
  213. package/lib/drawer/src/DrawerContent.js +6 -6
  214. package/lib/dropdown/src/Dropdown.d.ts +5 -0
  215. package/lib/form/src/Feedbacks.js +4 -1
  216. package/lib/form/src/Form.d.ts +7 -7
  217. package/lib/form/src/Form.js +16 -7
  218. package/lib/form/src/FormItem.d.ts +12 -7
  219. package/lib/form/src/FormItem.js +23 -11
  220. package/lib/form/src/FormItemCol.d.ts +8 -4
  221. package/lib/form/src/FormItemGridItem.d.ts +8 -4
  222. package/lib/form/src/FormItemRow.d.ts +7 -3
  223. package/lib/form/src/interface.d.ts +6 -2
  224. package/lib/form/src/styles/form-item.cssr.js +2 -0
  225. package/lib/form/src/utils.d.ts +2 -2
  226. package/lib/form/src/utils.js +29 -18
  227. package/lib/image/src/Image.d.ts +279 -10
  228. package/lib/image/src/Image.js +4 -17
  229. package/lib/image/src/ImageGroup.d.ts +272 -2
  230. package/lib/image/src/ImageGroup.js +4 -7
  231. package/lib/image/src/ImagePreview.d.ts +195 -7
  232. package/lib/image/src/ImagePreview.js +49 -30
  233. package/lib/image/src/interface.d.ts +94 -0
  234. package/lib/image/src/interface.js +3 -0
  235. package/lib/image/src/styles/index.cssr.js +8 -4
  236. package/lib/image/styles/dark.js +8 -1
  237. package/lib/image/styles/light.d.ts +32 -3
  238. package/lib/image/styles/light.js +8 -1
  239. package/lib/input-number/src/utils.js +2 -2
  240. package/lib/locales/common/deDE.js +10 -0
  241. package/lib/locales/common/enUS.d.ts +9 -0
  242. package/lib/locales/common/enUS.js +10 -0
  243. package/lib/locales/common/frFR.js +10 -0
  244. package/lib/locales/common/idID.js +10 -0
  245. package/lib/locales/common/jaJP.js +10 -0
  246. package/lib/locales/common/nbNO.js +10 -0
  247. package/lib/locales/common/ruRU.js +10 -0
  248. package/lib/locales/common/ukUA.js +10 -0
  249. package/lib/locales/common/zhCN.js +9 -0
  250. package/lib/locales/common/zhTW.js +10 -0
  251. package/lib/mention/src/utils.js +0 -1
  252. package/lib/message/index.d.ts +2 -1
  253. package/lib/message/src/Message.d.ts +191 -19
  254. package/lib/message/src/Message.js +13 -11
  255. package/lib/message/src/MessageEnvironment.d.ts +3 -3
  256. package/lib/message/src/MessageProvider.d.ts +5 -10
  257. package/lib/message/src/MessageProvider.js +1 -1
  258. package/lib/message/src/message-props.d.ts +5 -2
  259. package/lib/message/src/types.d.ts +15 -0
  260. package/lib/message/src/types.js +2 -0
  261. package/lib/modal/src/Modal.d.ts +5 -0
  262. package/lib/modal/src/Modal.js +2 -1
  263. package/lib/page-header/index.d.ts +1 -1
  264. package/lib/page-header/src/PageHeader.d.ts +1 -1
  265. package/lib/pagination/index.d.ts +1 -1
  266. package/lib/pagination/src/Pagination.d.ts +8 -4
  267. package/lib/pagination/src/Pagination.js +65 -18
  268. package/lib/pagination/src/interface.d.ts +10 -1
  269. package/lib/pagination/src/utils.d.ts +2 -2
  270. package/lib/pagination/src/utils.js +2 -4
  271. package/lib/popconfirm/src/Popconfirm.d.ts +5 -0
  272. package/lib/popover/src/Popover.d.ts +7 -0
  273. package/lib/popover/src/Popover.js +23 -0
  274. package/lib/popover/src/PopoverBody.d.ts +5 -0
  275. package/lib/popover/src/PopoverBody.js +27 -45
  276. package/lib/popover/src/styles/index.cssr.js +9 -8
  277. package/lib/popselect/src/Popselect.d.ts +62 -73
  278. package/lib/popselect/src/Popselect.js +2 -2
  279. package/lib/progress/src/Circle.d.ts +7 -0
  280. package/lib/progress/src/Circle.js +8 -1
  281. package/lib/progress/src/Line.d.ts +2 -2
  282. package/lib/progress/src/Line.js +4 -1
  283. package/lib/progress/src/Progress.d.ts +6 -2
  284. package/lib/progress/src/Progress.js +2 -2
  285. package/lib/progress/src/styles/index.cssr.js +16 -16
  286. package/lib/radio/src/styles/radio.cssr.js +4 -1
  287. package/lib/result/src/Result.js +8 -9
  288. package/lib/result/src/styles/index.cssr.js +6 -6
  289. package/lib/select/src/Select.d.ts +8 -27
  290. package/lib/select/src/Select.js +14 -22
  291. package/lib/slider/src/Slider.d.ts +2 -4
  292. package/lib/tabs/index.d.ts +1 -0
  293. package/lib/tabs/src/Tabs.d.ts +2 -2
  294. package/lib/tabs/src/Tabs.js +25 -22
  295. package/lib/tabs/src/interface.d.ts +3 -0
  296. package/lib/time-picker/src/TimePicker.d.ts +22 -2
  297. package/lib/time-picker/src/TimePicker.js +59 -29
  298. package/lib/time-picker/src/interface.d.ts +4 -2
  299. package/lib/tooltip/src/Tooltip.d.ts +5 -0
  300. package/lib/tree/src/Tree.d.ts +5 -1
  301. package/lib/tree/src/Tree.js +4 -2
  302. package/lib/tree/src/TreeNodeSwitcher.d.ts +1 -1
  303. package/lib/tree/src/TreeNodeSwitcher.js +24 -13
  304. package/lib/tree/src/interface.d.ts +2 -0
  305. package/lib/tree/src/styles/index.cssr.js +4 -2
  306. package/lib/upload/src/Upload.d.ts +15 -6
  307. package/lib/upload/src/Upload.js +18 -9
  308. package/lib/upload/src/UploadFile.d.ts +5 -5
  309. package/lib/upload/src/UploadFileList.js +2 -2
  310. package/lib/upload/src/interface.d.ts +11 -4
  311. package/lib/version.d.ts +1 -1
  312. package/lib/version.js +1 -1
  313. package/package.json +21 -13
  314. package/web-types.json +413 -31
@@ -1,9 +1,9 @@
1
1
  import { PropType } from 'vue';
2
2
  import type { PageItem } from './utils';
3
- import { ExtractPublicPropTypes, MaybeArray } from '../../_utils';
3
+ import type { ExtractPublicPropTypes, MaybeArray } from '../../_utils';
4
4
  import type { Size as InputSize } from '../../input/src/interface';
5
5
  import type { Size as SelectSize } from '../../select/src/interface';
6
- import { RenderPrefix, PaginationSizeOption } from './interface';
6
+ import { RenderPrefix, PaginationRenderLabel, PaginationSizeOption } from './interface';
7
7
  declare const paginationProps: {
8
8
  readonly page: NumberConstructor;
9
9
  readonly defaultPage: {
@@ -17,7 +17,7 @@ declare const paginationProps: {
17
17
  readonly default: 1;
18
18
  };
19
19
  readonly showSizePicker: BooleanConstructor;
20
- readonly pageSize: PropType<number>;
20
+ readonly pageSize: NumberConstructor;
21
21
  readonly defaultPageSize: {
22
22
  readonly type: NumberConstructor;
23
23
  readonly default: 10;
@@ -36,6 +36,7 @@ declare const paginationProps: {
36
36
  readonly next: PropType<RenderPrefix>;
37
37
  readonly prefix: PropType<RenderPrefix>;
38
38
  readonly suffix: PropType<RenderPrefix>;
39
+ readonly label: PropType<PaginationRenderLabel>;
39
40
  readonly 'onUpdate:page': PropType<MaybeArray<(page: number) => void>>;
40
41
  readonly onUpdatePage: PropType<MaybeArray<(page: number) => void>>;
41
42
  readonly 'onUpdate:pageSize': PropType<MaybeArray<(pageSize: number) => void>>;
@@ -740,7 +741,7 @@ declare const _default: import("vue").DefineComponent<{
740
741
  readonly default: 1;
741
742
  };
742
743
  readonly showSizePicker: BooleanConstructor;
743
- readonly pageSize: PropType<number>;
744
+ readonly pageSize: NumberConstructor;
744
745
  readonly defaultPageSize: {
745
746
  readonly type: NumberConstructor;
746
747
  readonly default: 10;
@@ -759,6 +760,7 @@ declare const _default: import("vue").DefineComponent<{
759
760
  readonly next: PropType<RenderPrefix>;
760
761
  readonly prefix: PropType<RenderPrefix>;
761
762
  readonly suffix: PropType<RenderPrefix>;
763
+ readonly label: PropType<PaginationRenderLabel>;
762
764
  readonly 'onUpdate:page': PropType<MaybeArray<(page: number) => void>>;
763
765
  readonly onUpdatePage: PropType<MaybeArray<(page: number) => void>>;
764
766
  readonly 'onUpdate:pageSize': PropType<MaybeArray<(pageSize: number) => void>>;
@@ -2011,6 +2013,7 @@ declare const _default: import("vue").DefineComponent<{
2011
2013
  readonly next?: unknown;
2012
2014
  readonly prefix?: unknown;
2013
2015
  readonly suffix?: unknown;
2016
+ readonly label?: unknown;
2014
2017
  readonly 'onUpdate:page'?: unknown;
2015
2018
  readonly onUpdatePage?: unknown;
2016
2019
  readonly 'onUpdate:pageSize'?: unknown;
@@ -2030,6 +2033,7 @@ declare const _default: import("vue").DefineComponent<{
2030
2033
  showQuickJumper: boolean;
2031
2034
  pageSlot: number;
2032
2035
  } & {
2036
+ label?: PaginationRenderLabel | undefined;
2033
2037
  prefix?: RenderPrefix | undefined;
2034
2038
  page?: number | undefined;
2035
2039
  onChange?: MaybeArray<(page: number) => void> | undefined;
@@ -9,7 +9,7 @@ import { useConfig, useLocale, useTheme } from '../../_mixins';
9
9
  import { paginationLight } from '../styles';
10
10
  import { pageItems } from './utils';
11
11
  import style from './styles/index.cssr';
12
- import { call, warn } from '../../_utils';
12
+ import { call, warn, warnOnce } from '../../_utils';
13
13
  const paginationProps = Object.assign(Object.assign({}, useTheme.props), { page: Number, defaultPage: {
14
14
  type: Number,
15
15
  default: 1
@@ -27,7 +27,7 @@ const paginationProps = Object.assign(Object.assign({}, useTheme.props), { page:
27
27
  }, showQuickJumper: Boolean, disabled: Boolean, pageSlot: {
28
28
  type: Number,
29
29
  default: 9
30
- }, prev: Function, next: Function, prefix: Function, suffix: Function, 'onUpdate:page': [Function, Array], onUpdatePage: [Function, Array], 'onUpdate:pageSize': [Function, Array], onUpdatePageSize: [Function, Array],
30
+ }, prev: Function, next: Function, prefix: Function, suffix: Function, label: Function, 'onUpdate:page': [Function, Array], onUpdatePage: [Function, Array], 'onUpdate:pageSize': [Function, Array], onUpdatePageSize: [Function, Array],
31
31
  /** @deprecated */
32
32
  onPageSizeChange: [Function, Array],
33
33
  /** @deprecated */
@@ -41,6 +41,12 @@ export default defineComponent({
41
41
  if (props.pageCount !== undefined && props.itemCount !== undefined) {
42
42
  warn('pagination', "`page-count` and `item-count` should't be specified together. Only `item-count` will take effect.");
43
43
  }
44
+ if (props.onPageSizeChange) {
45
+ warnOnce('pagination', '`on-page-size-change` is deprecated, please use `on-update:page-size` instead.');
46
+ }
47
+ if (props.onChange) {
48
+ warnOnce('pagination', '`on-change` is deprecated, please use `on-update:page` instead.');
49
+ }
44
50
  });
45
51
  }
46
52
  const { NConfigProvider, mergedClsPrefixRef } = useConfig(props);
@@ -195,10 +201,10 @@ export default defineComponent({
195
201
  case 'page':
196
202
  doUpdatePage(pageItem.label);
197
203
  break;
198
- case 'fastBackward':
204
+ case 'fast-backward':
199
205
  fastBackward();
200
206
  break;
201
- case 'fastForward':
207
+ case 'fast-forward':
202
208
  fastForward();
203
209
  break;
204
210
  }
@@ -207,10 +213,10 @@ export default defineComponent({
207
213
  if (props.disabled)
208
214
  return;
209
215
  switch (pageItem.type) {
210
- case 'fastBackward':
216
+ case 'fast-backward':
211
217
  showFastBackwardRef.value = true;
212
218
  break;
213
- case 'fastForward':
219
+ case 'fast-forward':
214
220
  showFastForwardRef.value = true;
215
221
  break;
216
222
  default:
@@ -222,10 +228,10 @@ export default defineComponent({
222
228
  if (props.disabled)
223
229
  return;
224
230
  switch (pageItem.type) {
225
- case 'fastBackward':
231
+ case 'fast-backward':
226
232
  showFastBackwardRef.value = false;
227
233
  break;
228
- case 'fastForward':
234
+ case 'fast-forward':
229
235
  showFastForwardRef.value = false;
230
236
  break;
231
237
  default:
@@ -318,16 +324,17 @@ export default defineComponent({
318
324
  },
319
325
  render() {
320
326
  // it's ok to expand all prop here since no slots' deps
321
- const { $slots, mergedClsPrefix, disabled, cssVars, mergedPage, mergedPageCount, pageItems, showFastBackward, showFastForward, showSizePicker, showQuickJumper, mergedTheme, locale, inputSize, selectSize, mergedPageSize, pageSizeOptions, jumperValue, prev, next, prefix, suffix, handleJumperInput, handleSizePickerChange, handleBackwardClick, handlePageItemClick, handlePageItemMouseEnter, handlePageItemMouseLeave, handleForwardClick, handleQuickJumperKeyUp } = this;
327
+ const { $slots, mergedClsPrefix, disabled, cssVars, mergedPage, mergedPageCount, pageItems, showFastBackward, showFastForward, showSizePicker, showQuickJumper, mergedTheme, locale, inputSize, selectSize, mergedPageSize, pageSizeOptions, jumperValue, prev, next, prefix, suffix, label, handleJumperInput, handleSizePickerChange, handleBackwardClick, handlePageItemClick, handlePageItemMouseEnter, handlePageItemMouseLeave, handleForwardClick, handleQuickJumperKeyUp } = this;
328
+ const renderPrefix = $slots.prefix || prefix;
329
+ const renderSuffix = $slots.suffix || suffix;
322
330
  const renderPrev = prev || $slots.prev;
323
331
  const renderNext = next || $slots.next;
332
+ const renderLabel = label || $slots.label;
324
333
  return (h("div", { ref: "selfRef", class: [
325
334
  `${mergedClsPrefix}-pagination`,
326
335
  disabled && `${mergedClsPrefix}-pagination--disabled`
327
336
  ], style: cssVars },
328
- prefix || $slots.prefix ? (h("div", { class: `${mergedClsPrefix}-pagination-prefix` }, ($slots.prefix
329
- ? $slots.prefix
330
- : prefix)({
337
+ renderPrefix ? (h("div", { class: `${mergedClsPrefix}-pagination-prefix` }, renderPrefix({
331
338
  page: mergedPage,
332
339
  pageSize: mergedPageSize,
333
340
  pageCount: mergedPageCount,
@@ -349,16 +356,58 @@ export default defineComponent({
349
356
  itemCount: this.mergedItemCount
350
357
  })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(BackwardIcon, null) }))),
351
358
  pageItems.map((pageItem, index) => {
359
+ let contentNode;
360
+ switch (pageItem.type) {
361
+ case 'page':
362
+ // eslint-disable-next-line no-case-declarations
363
+ const pageNode = pageItem.label;
364
+ if (renderLabel) {
365
+ contentNode = renderLabel({
366
+ type: 'page',
367
+ node: pageNode,
368
+ active: pageItem.active
369
+ });
370
+ }
371
+ else {
372
+ contentNode = pageNode;
373
+ }
374
+ break;
375
+ case 'fast-forward':
376
+ // eslint-disable-next-line no-case-declarations
377
+ const fastForwardNode = showFastForward ? (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(FastForwardIcon, null) })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(MoreIcon, null) }));
378
+ if (renderLabel) {
379
+ contentNode = renderLabel({
380
+ type: 'fast-forward',
381
+ node: fastForwardNode,
382
+ active: showFastForward
383
+ });
384
+ }
385
+ else {
386
+ contentNode = fastForwardNode;
387
+ }
388
+ break;
389
+ case 'fast-backward':
390
+ // eslint-disable-next-line no-case-declarations
391
+ const fastBackwardNode = showFastBackward ? (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(FastBackwardIcon, null) })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(MoreIcon, null) }));
392
+ if (renderLabel) {
393
+ contentNode = renderLabel({
394
+ type: 'fast-backward',
395
+ node: fastBackwardNode,
396
+ active: showFastBackward
397
+ });
398
+ }
399
+ else {
400
+ contentNode = fastBackwardNode;
401
+ }
402
+ break;
403
+ }
352
404
  return (h("div", { key: index, class: [
353
405
  `${mergedClsPrefix}-pagination-item`,
354
406
  {
355
407
  [`${mergedClsPrefix}-pagination-item--active`]: pageItem.active,
356
408
  [`${mergedClsPrefix}-pagination-item--disabled`]: disabled
357
409
  }
358
- ], onClick: () => handlePageItemClick(pageItem), onMouseenter: () => handlePageItemMouseEnter(pageItem), onMouseleave: () => handlePageItemMouseLeave(pageItem) },
359
- pageItem.type === 'page' ? pageItem.label : null,
360
- pageItem.type === 'fastBackward' ? (showFastBackward ? (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(FastBackwardIcon, null) })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(MoreIcon, null) }))) : null,
361
- pageItem.type === 'fastForward' ? (showFastForward ? (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(FastForwardIcon, null) })) : (h(NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => h(MoreIcon, null) }))) : null));
410
+ ], onClick: () => handlePageItemClick(pageItem), onMouseenter: () => handlePageItemMouseEnter(pageItem), onMouseleave: () => handlePageItemMouseLeave(pageItem) }, contentNode));
362
411
  }),
363
412
  h("div", { class: [
364
413
  `${mergedClsPrefix}-pagination-item`,
@@ -378,9 +427,7 @@ export default defineComponent({
378
427
  showQuickJumper ? (h("div", { class: `${mergedClsPrefix}-pagination-quick-jumper` },
379
428
  locale.goto,
380
429
  h(NInput, { ref: "jumperRef", value: jumperValue, onUpdateValue: handleJumperInput, size: inputSize, placeholder: "", disabled: disabled, theme: mergedTheme.peers.Input, themeOverrides: mergedTheme.peerOverrides.Input, onKeyup: handleQuickJumperKeyUp }))) : null,
381
- suffix || $slots.suffix ? (h("div", { class: `${mergedClsPrefix}-pagination-suffix` }, ($slots.suffix
382
- ? $slots.suffix
383
- : suffix)({
430
+ renderSuffix ? (h("div", { class: `${mergedClsPrefix}-pagination-suffix` }, renderSuffix({
384
431
  page: mergedPage,
385
432
  pageSize: mergedPageSize,
386
433
  pageCount: mergedPageCount,
@@ -1,4 +1,4 @@
1
- import { VNodeChild } from 'vue';
1
+ import { VNode, VNodeChild } from 'vue';
2
2
  import { SelectBaseOption } from '../../select/src/interface';
3
3
  export declare type PaginationInfo = Parameters<RenderPrefix>[0];
4
4
  export declare type RenderPrefix = (info: {
@@ -13,3 +13,12 @@ export declare type PaginationSizeOption = SelectBaseOption<number, string>;
13
13
  export declare type RenderSuffix = RenderPrefix;
14
14
  export declare type RenderNext = RenderPrefix;
15
15
  export declare type RenderPrev = RenderPrefix;
16
+ export declare type PaginationRenderLabel = (info: {
17
+ type: 'fast-backward' | 'fast-forward';
18
+ node: VNode;
19
+ active: boolean;
20
+ } | {
21
+ type: 'page';
22
+ node: number;
23
+ active: boolean;
24
+ }) => VNodeChild;
@@ -1,7 +1,7 @@
1
1
  declare function pagesToShow(currentPage: number, pageCount: number, pageSlot?: number): number[];
2
2
  export declare type PageItem = {
3
- type: 'fastBackward' | 'fastForward';
4
- label: string;
3
+ type: 'fast-backward' | 'fast-forward';
4
+ label?: undefined;
5
5
  active: false;
6
6
  } | {
7
7
  type: 'page';
@@ -45,14 +45,12 @@ function mapPagesToPageItems(pages, currentPage) {
45
45
  switch (page) {
46
46
  case -2:
47
47
  return {
48
- type: 'fastBackward',
49
- label: 'fastBackward',
48
+ type: 'fast-backward',
50
49
  active: false
51
50
  };
52
51
  case -1:
53
52
  return {
54
- type: 'fastForward',
55
- label: 'fastForward',
53
+ type: 'fast-forward',
56
54
  active: false
57
55
  };
58
56
  default:
@@ -75,6 +75,7 @@ declare const popconfirmProps: {
75
75
  type: PropType<import("../../popover/src/Popover").TriggerEventHandlers[]>;
76
76
  default: () => never[];
77
77
  };
78
+ internalTrapFocus: BooleanConstructor;
78
79
  onShow: PropType<import("../../_utils").MaybeArray<(value: boolean) => void> | undefined>;
79
80
  onHide: PropType<import("../../_utils").MaybeArray<(value: boolean) => void> | undefined>;
80
81
  arrow: {
@@ -831,6 +832,7 @@ declare const _default: import("vue").DefineComponent<{
831
832
  type: PropType<import("../../popover/src/Popover").TriggerEventHandlers[]>;
832
833
  default: () => never[];
833
834
  };
835
+ internalTrapFocus: BooleanConstructor;
834
836
  onShow: PropType<import("../../_utils").MaybeArray<(value: boolean) => void> | undefined>;
835
837
  onHide: PropType<import("../../_utils").MaybeArray<(value: boolean) => void> | undefined>;
836
838
  arrow: {
@@ -1892,6 +1894,7 @@ declare const _default: import("vue").DefineComponent<{
1892
1894
  to?: unknown;
1893
1895
  internalSyncTargetWithParent?: unknown;
1894
1896
  internalInheritedEventHandlers?: unknown;
1897
+ internalTrapFocus?: unknown;
1895
1898
  onShow?: unknown;
1896
1899
  onHide?: unknown;
1897
1900
  arrow?: unknown;
@@ -1912,6 +1915,7 @@ declare const _default: import("vue").DefineComponent<{
1912
1915
  showArrow: boolean;
1913
1916
  delay: number;
1914
1917
  displayDirective: "show" | "if";
1918
+ internalTrapFocus: boolean;
1915
1919
  animated: boolean;
1916
1920
  defaultShow: boolean;
1917
1921
  internalExtraClass: string[];
@@ -2625,6 +2629,7 @@ declare const _default: import("vue").DefineComponent<{
2625
2629
  showArrow: boolean;
2626
2630
  delay: number;
2627
2631
  displayDirective: "show" | "if";
2632
+ internalTrapFocus: boolean;
2628
2633
  animated: boolean;
2629
2634
  defaultShow: boolean;
2630
2635
  internalExtraClass: string[];
@@ -18,6 +18,7 @@ export interface PopoverInjection {
18
18
  handleMouseEnter: (e: MouseEvent) => void;
19
19
  handleMouseMoveOutside: (e: MouseEvent) => void;
20
20
  handleClickOutside: (e: MouseEvent) => void;
21
+ handleKeydown: (e: KeyboardEvent) => void;
21
22
  getTriggerElement: () => HTMLElement;
22
23
  setBodyInstance: (value: BodyInstance | null) => void;
23
24
  zIndexRef: Ref<number | undefined>;
@@ -92,6 +93,7 @@ export declare const popoverBaseProps: {
92
93
  type: PropType<TriggerEventHandlers[]>;
93
94
  default: () => never[];
94
95
  };
96
+ internalTrapFocus: BooleanConstructor;
95
97
  /** @deprecated */
96
98
  onShow: PropType<MaybeArray<(value: boolean) => void> | undefined>;
97
99
  /** @deprecated */
@@ -173,6 +175,7 @@ declare const popoverProps: {
173
175
  type: PropType<TriggerEventHandlers[]>;
174
176
  default: () => never[];
175
177
  };
178
+ internalTrapFocus: BooleanConstructor;
176
179
  /** @deprecated */
177
180
  onShow: PropType<MaybeArray<(value: boolean) => void> | undefined>;
178
181
  /** @deprecated */
@@ -298,6 +301,7 @@ declare const _default: import("vue").DefineComponent<{
298
301
  type: PropType<TriggerEventHandlers[]>;
299
302
  default: () => never[];
300
303
  };
304
+ internalTrapFocus: BooleanConstructor;
301
305
  /** @deprecated */
302
306
  onShow: PropType<MaybeArray<(value: boolean) => void> | undefined>;
303
307
  /** @deprecated */
@@ -397,6 +401,7 @@ declare const _default: import("vue").DefineComponent<{
397
401
  to?: unknown;
398
402
  internalSyncTargetWithParent?: unknown;
399
403
  internalInheritedEventHandlers?: unknown;
404
+ internalTrapFocus?: unknown;
400
405
  onShow?: unknown;
401
406
  onHide?: unknown;
402
407
  arrow?: unknown;
@@ -416,6 +421,7 @@ declare const _default: import("vue").DefineComponent<{
416
421
  showArrow: boolean;
417
422
  delay: number;
418
423
  displayDirective: "show" | "if";
424
+ internalTrapFocus: boolean;
419
425
  animated: boolean;
420
426
  defaultShow: boolean;
421
427
  internalExtraClass: string[];
@@ -495,6 +501,7 @@ declare const _default: import("vue").DefineComponent<{
495
501
  showArrow: boolean;
496
502
  delay: number;
497
503
  displayDirective: "show" | "if";
504
+ internalTrapFocus: boolean;
498
505
  animated: boolean;
499
506
  defaultShow: boolean;
500
507
  internalExtraClass: string[];
@@ -1,9 +1,10 @@
1
- import { h, ref, computed, createTextVNode, defineComponent, provide, toRef, cloneVNode, watchEffect } from 'vue';
1
+ import { h, ref, computed, createTextVNode, defineComponent, provide, toRef, cloneVNode, watchEffect, withDirectives } from 'vue';
2
2
  import { VBinder, VTarget } from 'vueuc';
3
3
  import { useMergedState, useCompitable, useIsMounted, useMemo } from 'vooks';
4
4
  import { call, keep, getFirstSlotVNode, warnOnce, useAdjustedTo } from '../../_utils';
5
5
  import { useTheme } from '../../_mixins';
6
6
  import NPopoverBody, { popoverBodyProps } from './PopoverBody';
7
+ import { zindexable } from 'vdirs';
7
8
  const bodyPropKeys = Object.keys(popoverBodyProps);
8
9
  const triggerEventMap = {
9
10
  focus: ['onFocus', 'onBlur'],
@@ -96,6 +97,7 @@ export const popoverBaseProps = {
96
97
  type: Array,
97
98
  default: () => []
98
99
  },
100
+ internalTrapFocus: Boolean,
99
101
  /** @deprecated */
100
102
  onShow: [Function, Array],
101
103
  /** @deprecated */
@@ -292,6 +294,15 @@ export default defineComponent({
292
294
  doUpdateShow(nextShow);
293
295
  }
294
296
  }
297
+ function handleKeydown(e) {
298
+ if (!props.internalTrapFocus)
299
+ return;
300
+ if (e.code === 'Escape') {
301
+ clearShowTimer();
302
+ clearHideTimer();
303
+ doUpdateShow(false);
304
+ }
305
+ }
295
306
  function setShow(value) {
296
307
  uncontrolledShowRef.value = value;
297
308
  }
@@ -304,6 +315,7 @@ export default defineComponent({
304
315
  }
305
316
  provide('NPopover', {
306
317
  getTriggerElement,
318
+ handleKeydown,
307
319
  handleMouseEnter,
308
320
  handleMouseLeave,
309
321
  handleClickOutside,
@@ -426,6 +438,17 @@ export default defineComponent({
426
438
  void this.mergedShowConsideringDisabledProp;
427
439
  const mergedShow = this.getMergedShow();
428
440
  return [
441
+ this.internalTrapFocus && mergedShow
442
+ ? withDirectives(h("div", { style: { position: 'fixed', inset: 0 } }), [
443
+ [
444
+ zindexable,
445
+ {
446
+ enabled: mergedShow,
447
+ zIndex: this.zIndex
448
+ }
449
+ ]
450
+ ])
451
+ : null,
429
452
  positionManually
430
453
  ? null
431
454
  : h(VTarget, null, {
@@ -20,6 +20,7 @@ export declare const popoverBodyProps: {
20
20
  overlap: BooleanConstructor;
21
21
  placement: PropType<FollowerPlacement>;
22
22
  width: PropType<number | "trigger">;
23
+ internalTrapFocus: BooleanConstructor;
23
24
  animated: BooleanConstructor;
24
25
  onClickoutside: PropType<(e: MouseEvent) => void>;
25
26
  /** @deprecated */
@@ -92,6 +93,7 @@ declare const _default: import("vue").DefineComponent<{
92
93
  overlap: BooleanConstructor;
93
94
  placement: PropType<FollowerPlacement>;
94
95
  width: PropType<number | "trigger">;
96
+ internalTrapFocus: BooleanConstructor;
95
97
  animated: BooleanConstructor;
96
98
  onClickoutside: PropType<(e: MouseEvent) => void>;
97
99
  /** @deprecated */
@@ -165,6 +167,7 @@ declare const _default: import("vue").DefineComponent<{
165
167
  overlap?: unknown;
166
168
  placement?: unknown;
167
169
  width?: unknown;
170
+ internalTrapFocus?: unknown;
168
171
  animated?: unknown;
169
172
  onClickoutside?: unknown;
170
173
  minWidth?: unknown;
@@ -178,6 +181,7 @@ declare const _default: import("vue").DefineComponent<{
178
181
  raw: boolean;
179
182
  overlap: boolean;
180
183
  showArrow: boolean;
184
+ internalTrapFocus: boolean;
181
185
  animated: boolean;
182
186
  } & {
183
187
  x?: number | undefined;
@@ -242,6 +246,7 @@ declare const _default: import("vue").DefineComponent<{
242
246
  raw: boolean;
243
247
  overlap: boolean;
244
248
  showArrow: boolean;
249
+ internalTrapFocus: boolean;
245
250
  animated: boolean;
246
251
  }>;
247
252
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import { h, vShow, withDirectives, Transition, ref, defineComponent, computed, mergeProps, inject, onBeforeUnmount, watch, toRef, provide, renderSlot, Fragment } from 'vue';
2
- import { VFollower } from 'vueuc';
2
+ import { VFollower, VFocusTrap } from 'vueuc';
3
3
  import { clickoutside, mousemoveoutside } from 'vdirs';
4
4
  import { useTheme, useConfig } from '../../_mixins';
5
5
  import { formatLength, useAdjustedTo } from '../../_utils';
@@ -8,7 +8,7 @@ import style from './styles/index.cssr';
8
8
  import { popoverBodyInjectionKey } from './interface';
9
9
  import { drawerBodyInjectionKey } from '../../drawer/src/interface';
10
10
  import { modalBodyInjectionKey } from '../../modal/src/interface';
11
- export const popoverBodyProps = Object.assign(Object.assign({}, useTheme.props), { to: useAdjustedTo.propTo, show: Boolean, trigger: String, showArrow: Boolean, delay: Number, duration: Number, raw: Boolean, arrowStyle: [String, Object], displayDirective: String, x: Number, y: Number, flip: Boolean, overlap: Boolean, placement: String, width: [Number, String],
11
+ export const popoverBodyProps = Object.assign(Object.assign({}, useTheme.props), { to: useAdjustedTo.propTo, show: Boolean, trigger: String, showArrow: Boolean, delay: Number, duration: Number, raw: Boolean, arrowStyle: [String, Object], displayDirective: String, x: Number, y: Number, flip: Boolean, overlap: Boolean, placement: String, width: [Number, String], internalTrapFocus: Boolean,
12
12
  // private
13
13
  animated: Boolean, onClickoutside: Function,
14
14
  /** @deprecated */
@@ -98,7 +98,6 @@ export default defineComponent({
98
98
  });
99
99
  function syncPosition() {
100
100
  var _a;
101
- // eslint-disable-next-line no-unused-expressions
102
101
  (_a = followerRef.value) === null || _a === void 0 ? void 0 : _a.syncPosition();
103
102
  }
104
103
  function handleMouseEnter(e) {
@@ -136,6 +135,18 @@ export default defineComponent({
136
135
  const { value: mergedClsPrefix } = mergedClsPrefixRef;
137
136
  if (!renderBody) {
138
137
  const { value: extraClass } = NPopover.extraClassRef;
138
+ const { internalTrapFocus } = props;
139
+ const renderContentInnerNode = () => [
140
+ slots.header ? (h(Fragment, null,
141
+ h("div", { class: `${mergedClsPrefix}-popover__header` }, slots.header()),
142
+ h("div", { class: `${mergedClsPrefix}-popover__content` }, slots))) : (renderSlot(slots, 'default')),
143
+ props.showArrow
144
+ ? renderArrow({
145
+ arrowStyle: props.arrowStyle,
146
+ clsPrefix: mergedClsPrefix
147
+ })
148
+ : null
149
+ ];
139
150
  contentNode = h('div', mergeProps({
140
151
  class: [
141
152
  `${mergedClsPrefix}-popover`,
@@ -149,19 +160,10 @@ export default defineComponent({
149
160
  ],
150
161
  ref: bodyRef,
151
162
  style: styleRef.value,
163
+ onKeydown: NPopover.handleKeydown,
152
164
  onMouseenter: handleMouseEnter,
153
165
  onMouseleave: handleMouseLeave
154
- }, attrs), [
155
- slots.header ? (h(Fragment, null,
156
- h("div", { class: `${mergedClsPrefix}-popover__header` }, slots.header()),
157
- h("div", { class: `${mergedClsPrefix}-popover__content` }, slots))) : (renderSlot(slots, 'default')),
158
- props.showArrow
159
- ? renderArrow({
160
- arrowStyle: props.arrowStyle,
161
- clsPrefix: mergedClsPrefix
162
- })
163
- : null
164
- ]);
166
+ }, attrs), internalTrapFocus ? (h(VFocusTrap, { active: props.show, focusFirstDescendant: true }, { default: renderContentInnerNode })) : (renderContentInnerNode()));
165
167
  }
166
168
  else {
167
169
  contentNode = renderBody(
@@ -188,39 +190,19 @@ export default defineComponent({
188
190
  };
189
191
  },
190
192
  render() {
191
- return h(VFollower, {
192
- zIndex: this.zIndex,
193
- show: this.show,
194
- enabled: this.followerEnabled,
195
- to: this.adjustedTo,
196
- x: this.x,
197
- y: this.y,
198
- flip: this.flip,
199
- placement: this.placement,
200
- containerClass: this.namespace,
201
- ref: 'followerRef',
202
- overlap: this.overlap,
203
- width: this.width === 'trigger' ? 'target' : undefined,
204
- teleportDisabled: this.adjustedTo === useAdjustedTo.tdkey
205
- }, {
193
+ return (h(VFollower, { zIndex: this.zIndex, show: this.show, enabled: this.followerEnabled, to: this.adjustedTo, x: this.x, y: this.y, flip: this.flip, placement: this.placement, containerClass: this.namespace, ref: "followerRef", overlap: this.overlap, width: this.width === 'trigger' ? 'target' : undefined, teleportDisabled: this.adjustedTo === useAdjustedTo.tdkey }, {
206
194
  default: () => {
207
- return this.animated
208
- ? h(Transition, {
209
- name: 'popover-transition',
210
- appear: this.isMounted,
211
- // Don't use watch to enable follower, since the transition may
212
- // make position sync timing very subtle and buggy.
213
- onEnter: () => {
214
- this.followerEnabled = true;
215
- },
216
- onAfterLeave: () => {
217
- this.followerEnabled = false;
218
- }
219
- }, {
220
- default: this.renderContentNode
221
- })
222
- : this.renderContentNode();
195
+ return this.animated ? (h(Transition, { name: "popover-transition", appear: this.isMounted,
196
+ // Don't use watch to enable follower, since the transition may
197
+ // make position sync timing very subtle and buggy.
198
+ onEnter: () => {
199
+ this.followerEnabled = true;
200
+ }, onAfterLeave: () => {
201
+ this.followerEnabled = false;
202
+ } }, {
203
+ default: this.renderContentNode
204
+ })) : (this.renderContentNode());
223
205
  }
224
- });
206
+ }));
225
207
  }
226
208
  });
@@ -70,44 +70,45 @@ c('&.popover-transition-enter-from, &.popover-transition-leave-to', `
70
70
  pointer-events: all;
71
71
  `)])]), placementStyle('top-start', `
72
72
  top: calc(-0.707 * var(--n-arrow-height));
73
- left: var(--n-arrow-offset);
73
+ left: calc(var(--n-arrow-offset) - var(--v-offset-left));
74
74
  `), placementStyle('top', `
75
75
  top: calc(-0.707 * var(--n-arrow-height));
76
76
  transform: translateX(calc(-0.707 * var(--n-arrow-height))) rotate(45deg);
77
77
  left: 50%;
78
78
  `), placementStyle('top-end', `
79
79
  top: calc(-0.707 * var(--n-arrow-height));
80
- right: var(--n-arrow-offset);
80
+ right: calc(var(--n-arrow-offset) + var(--v-offset-left));
81
81
  `), placementStyle('bottom-start', `
82
82
  bottom: calc(-0.707 * var(--n-arrow-height));
83
- left: var(--n-arrow-offset);
83
+ left: calc(var(--n-arrow-offset) - var(--v-offset-left));
84
84
  `), placementStyle('bottom', `
85
85
  bottom: calc(-0.707 * var(--n-arrow-height));
86
86
  transform: translateX(calc(-0.707 * var(--n-arrow-height))) rotate(45deg);
87
87
  left: 50%;
88
88
  `), placementStyle('bottom-end', `
89
89
  bottom: calc(-0.707 * var(--n-arrow-height));
90
- right: var(--n-arrow-offset);
90
+ right: calc(var(--n-arrow-offset) + var(--v-offset-left));
91
91
  `), placementStyle('left-start', `
92
92
  left: calc(-0.707 * var(--n-arrow-height));
93
- top: var(--n-arrow-offset-vertical);
93
+ top: calc(var(--n-arrow-offset-vertical) - var(--v-offset-top));
94
94
  `), placementStyle('left', `
95
95
  left: calc(-0.707 * var(--n-arrow-height));
96
96
  transform: translateY(calc(-0.707 * var(--n-arrow-height))) rotate(45deg);
97
97
  top: 50%;
98
98
  `), placementStyle('left-end', `
99
99
  left: calc(-0.707 * var(--n-arrow-height));
100
- bottom: var(--n-arrow-offset-vertical);
100
+ bottom: calc(var(--n-arrow-offset-vertical) + var(--v-offset-top));
101
+
101
102
  `), placementStyle('right-start', `
102
103
  right: calc(-0.707 * var(--n-arrow-height));
103
- top: var(--n-arrow-offset-vertical);
104
+ top: calc(var(--n-arrow-offset-vertical) - var(--v-offset-top));
104
105
  `), placementStyle('right', `
105
106
  right: calc(-0.707 * var(--n-arrow-height));
106
107
  transform: translateY(calc(-0.707 * var(--n-arrow-height))) rotate(45deg);
107
108
  top: 50%;
108
109
  `), placementStyle('right-end', `
109
110
  right: calc(-0.707 * var(--n-arrow-height));
110
- bottom: var(--n-arrow-offset-vertical);
111
+ bottom: calc(var(--n-arrow-offset-vertical) + var(--v-offset-top));
111
112
  `)]);
112
113
 
113
114
  function placementStyle(placement, arrowStyleLiteral) {