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.
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/es/_internal/icons/Switcher.js +2 -3
- package/es/_internal/selection/src/styles/index.cssr.js +1 -1
- package/es/_internal/selection/styles/_common.js +1 -1
- package/es/auto-complete/src/AutoComplete.d.ts +12 -12
- package/es/auto-complete/src/AutoComplete.js +13 -15
- package/es/back-top/src/BackTop.d.ts +3 -3
- package/es/calendar/src/Calendar.d.ts +5 -1
- package/es/calendar/src/Calendar.js +16 -4
- package/es/calendar/src/interface.d.ts +4 -0
- package/es/carousel/index.d.ts +1 -0
- package/es/carousel/index.js +1 -0
- package/es/carousel/src/Carousel.d.ts +235 -19
- package/es/carousel/src/Carousel.js +683 -229
- package/es/carousel/src/CarouselArrow.d.ts +9 -0
- package/es/carousel/src/CarouselArrow.js +43 -0
- package/es/carousel/src/CarouselDots.d.ts +66 -0
- package/es/carousel/src/CarouselDots.js +118 -0
- package/es/carousel/src/CarouselItem.d.ts +11 -0
- package/es/carousel/src/CarouselItem.js +72 -0
- package/es/carousel/src/interface.d.ts +28 -0
- package/es/carousel/src/interface.js +2 -0
- package/es/carousel/src/styles/index.cssr.js +141 -38
- package/es/carousel/src/utils.d.ts +12 -0
- package/es/carousel/src/utils.js +58 -0
- package/es/carousel/styles/light.d.ts +3 -0
- package/es/carousel/styles/light.js +5 -2
- package/es/cascader/src/Cascader.d.ts +6 -2
- package/es/cascader/src/Cascader.js +2 -1
- package/es/cascader/src/CascaderOption.d.ts +1 -0
- package/es/cascader/src/CascaderOption.js +7 -4
- package/es/cascader/src/interface.d.ts +2 -1
- package/es/checkbox/src/styles/index.cssr.js +1 -1
- package/es/code/src/Code.d.ts +5 -0
- package/es/code/src/Code.js +6 -3
- package/es/code/src/styles/index.cssr.js +2 -2
- package/es/color-picker/src/ColorInputUnit.js +2 -2
- package/es/color-picker/src/ColorPicker.d.ts +13 -5
- package/es/color-picker/src/ColorPicker.js +19 -10
- package/es/color-picker/src/ColorPickerTrigger.d.ts +1 -1
- package/es/color-picker/src/ColorPickerTrigger.js +23 -17
- package/es/color-picker/src/interface.d.ts +2 -0
- package/es/color-picker/src/styles/index.cssr.js +1 -0
- package/es/config-provider/src/ConfigProvider.d.ts +27 -0
- package/es/data-table/src/DataTable.d.ts +10 -55
- package/es/data-table/src/DataTable.js +23 -49
- package/es/data-table/src/interface.d.ts +1 -1
- package/es/data-table/src/styles/index.cssr.js +4 -1
- package/es/data-table/src/utils.js +4 -1
- package/es/date-picker/src/DatePicker.d.ts +26 -22
- package/es/date-picker/src/DatePicker.js +99 -49
- package/es/date-picker/src/interface.d.ts +17 -2
- package/es/date-picker/src/panel/use-calendar.js +2 -2
- package/es/drawer/src/Drawer.d.ts +18 -58
- package/es/drawer/src/Drawer.js +32 -49
- package/es/drawer/src/DrawerBodyWrapper.js +21 -13
- package/es/drawer/src/DrawerContent.js +6 -6
- package/es/dropdown/src/Dropdown.d.ts +5 -0
- package/es/form/src/Feedbacks.js +4 -1
- package/es/form/src/Form.d.ts +7 -7
- package/es/form/src/Form.js +17 -8
- package/es/form/src/FormItem.d.ts +12 -7
- package/es/form/src/FormItem.js +24 -12
- package/es/form/src/FormItemCol.d.ts +8 -4
- package/es/form/src/FormItemGridItem.d.ts +8 -4
- package/es/form/src/FormItemRow.d.ts +7 -3
- package/es/form/src/interface.d.ts +6 -2
- package/es/form/src/styles/form-item.cssr.js +2 -0
- package/es/form/src/utils.d.ts +2 -2
- package/es/form/src/utils.js +29 -18
- package/es/image/src/Image.d.ts +279 -10
- package/es/image/src/Image.js +4 -17
- package/es/image/src/ImageGroup.d.ts +272 -2
- package/es/image/src/ImageGroup.js +5 -8
- package/es/image/src/ImagePreview.d.ts +195 -7
- package/es/image/src/ImagePreview.js +50 -31
- package/es/image/src/interface.d.ts +94 -0
- package/es/image/src/interface.js +2 -1
- package/es/image/src/styles/index.cssr.js +8 -4
- package/es/image/styles/dark.js +8 -1
- package/es/image/styles/light.d.ts +32 -3
- package/es/image/styles/light.js +8 -1
- package/es/input-number/src/utils.js +2 -2
- package/es/locales/common/deDE.js +10 -0
- package/es/locales/common/enUS.d.ts +9 -0
- package/es/locales/common/enUS.js +10 -0
- package/es/locales/common/frFR.js +10 -0
- package/es/locales/common/idID.js +10 -0
- package/es/locales/common/jaJP.js +10 -0
- package/es/locales/common/nbNO.js +10 -0
- package/es/locales/common/ruRU.js +10 -0
- package/es/locales/common/ukUA.js +10 -0
- package/es/locales/common/zhCN.js +9 -0
- package/es/locales/common/zhTW.js +10 -0
- package/es/mention/src/utils.js +0 -1
- package/es/message/index.d.ts +2 -1
- package/es/message/src/Message.d.ts +191 -19
- package/es/message/src/Message.js +13 -11
- package/es/message/src/MessageEnvironment.d.ts +3 -3
- package/es/message/src/MessageProvider.d.ts +5 -10
- package/es/message/src/MessageProvider.js +1 -1
- package/es/message/src/message-props.d.ts +5 -2
- package/es/message/src/types.d.ts +15 -0
- package/es/message/src/types.js +1 -0
- package/es/modal/src/Modal.d.ts +5 -0
- package/es/modal/src/Modal.js +2 -1
- package/es/page-header/index.d.ts +1 -1
- package/es/page-header/src/PageHeader.d.ts +1 -1
- package/es/pagination/index.d.ts +1 -1
- package/es/pagination/src/Pagination.d.ts +8 -4
- package/es/pagination/src/Pagination.js +66 -19
- package/es/pagination/src/interface.d.ts +10 -1
- package/es/pagination/src/utils.d.ts +2 -2
- package/es/pagination/src/utils.js +2 -4
- package/es/popconfirm/src/Popconfirm.d.ts +5 -0
- package/es/popover/src/Popover.d.ts +7 -0
- package/es/popover/src/Popover.js +24 -1
- package/es/popover/src/PopoverBody.d.ts +5 -0
- package/es/popover/src/PopoverBody.js +28 -46
- package/es/popover/src/styles/index.cssr.js +9 -8
- package/es/popselect/src/Popselect.d.ts +62 -73
- package/es/popselect/src/Popselect.js +2 -2
- package/es/progress/src/Circle.d.ts +7 -0
- package/es/progress/src/Circle.js +8 -1
- package/es/progress/src/Line.d.ts +2 -2
- package/es/progress/src/Line.js +4 -1
- package/es/progress/src/Progress.d.ts +6 -2
- package/es/progress/src/Progress.js +2 -2
- package/es/progress/src/styles/index.cssr.js +16 -16
- package/es/radio/src/styles/radio.cssr.js +4 -1
- package/es/result/src/Result.js +9 -10
- package/es/result/src/styles/index.cssr.js +7 -7
- package/es/select/src/Select.d.ts +8 -27
- package/es/select/src/Select.js +16 -24
- package/es/slider/src/Slider.d.ts +2 -4
- package/es/tabs/index.d.ts +1 -0
- package/es/tabs/src/Tabs.d.ts +2 -2
- package/es/tabs/src/Tabs.js +25 -22
- package/es/tabs/src/interface.d.ts +3 -0
- package/es/time-picker/src/TimePicker.d.ts +22 -2
- package/es/time-picker/src/TimePicker.js +59 -29
- package/es/time-picker/src/interface.d.ts +4 -2
- package/es/tooltip/src/Tooltip.d.ts +5 -0
- package/es/tree/src/Tree.d.ts +5 -1
- package/es/tree/src/Tree.js +4 -2
- package/es/tree/src/TreeNodeSwitcher.d.ts +1 -1
- package/es/tree/src/TreeNodeSwitcher.js +25 -14
- package/es/tree/src/interface.d.ts +2 -0
- package/es/tree/src/styles/index.cssr.js +4 -2
- package/es/upload/src/Upload.d.ts +15 -6
- package/es/upload/src/Upload.js +18 -9
- package/es/upload/src/UploadFile.d.ts +5 -5
- package/es/upload/src/UploadFileList.js +2 -2
- package/es/upload/src/interface.d.ts +11 -4
- package/es/version.d.ts +1 -1
- package/es/version.js +1 -1
- package/lib/_internal/icons/Switcher.js +2 -3
- package/lib/_internal/selection/src/styles/index.cssr.js +1 -1
- package/lib/_internal/selection/styles/_common.js +1 -1
- package/lib/auto-complete/src/AutoComplete.d.ts +12 -12
- package/lib/auto-complete/src/AutoComplete.js +14 -16
- package/lib/back-top/src/BackTop.d.ts +3 -3
- package/lib/calendar/src/Calendar.d.ts +5 -1
- package/lib/calendar/src/Calendar.js +15 -3
- package/lib/calendar/src/interface.d.ts +4 -0
- package/lib/carousel/index.d.ts +1 -0
- package/lib/carousel/index.js +3 -1
- package/lib/carousel/src/Carousel.d.ts +235 -19
- package/lib/carousel/src/Carousel.js +681 -227
- package/lib/carousel/src/CarouselArrow.d.ts +9 -0
- package/lib/carousel/src/CarouselArrow.js +45 -0
- package/lib/carousel/src/CarouselDots.d.ts +66 -0
- package/lib/carousel/src/CarouselDots.js +120 -0
- package/lib/carousel/src/CarouselItem.d.ts +11 -0
- package/lib/carousel/src/CarouselItem.js +74 -0
- package/lib/carousel/src/interface.d.ts +28 -0
- package/lib/carousel/src/interface.js +6 -0
- package/lib/carousel/src/styles/index.cssr.js +141 -38
- package/lib/carousel/src/utils.d.ts +12 -0
- package/lib/carousel/src/utils.js +69 -0
- package/lib/carousel/styles/light.d.ts +3 -0
- package/lib/carousel/styles/light.js +5 -2
- package/lib/cascader/src/Cascader.d.ts +6 -2
- package/lib/cascader/src/Cascader.js +2 -1
- package/lib/cascader/src/CascaderOption.d.ts +1 -0
- package/lib/cascader/src/CascaderOption.js +7 -4
- package/lib/cascader/src/interface.d.ts +2 -1
- package/lib/checkbox/src/styles/index.cssr.js +1 -1
- package/lib/code/src/Code.d.ts +5 -0
- package/lib/code/src/Code.js +6 -3
- package/lib/code/src/styles/index.cssr.js +1 -1
- package/lib/color-picker/src/ColorInputUnit.js +1 -1
- package/lib/color-picker/src/ColorPicker.d.ts +13 -5
- package/lib/color-picker/src/ColorPicker.js +19 -10
- package/lib/color-picker/src/ColorPickerTrigger.d.ts +1 -1
- package/lib/color-picker/src/ColorPickerTrigger.js +22 -16
- package/lib/color-picker/src/interface.d.ts +2 -0
- package/lib/color-picker/src/styles/index.cssr.js +1 -0
- package/lib/config-provider/src/ConfigProvider.d.ts +27 -0
- package/lib/data-table/src/DataTable.d.ts +10 -55
- package/lib/data-table/src/DataTable.js +21 -47
- package/lib/data-table/src/interface.d.ts +1 -1
- package/lib/data-table/src/styles/index.cssr.js +4 -1
- package/lib/data-table/src/utils.js +3 -0
- package/lib/date-picker/src/DatePicker.d.ts +26 -22
- package/lib/date-picker/src/DatePicker.js +98 -48
- package/lib/date-picker/src/interface.d.ts +17 -2
- package/lib/date-picker/src/panel/use-calendar.js +2 -2
- package/lib/drawer/src/Drawer.d.ts +18 -58
- package/lib/drawer/src/Drawer.js +30 -47
- package/lib/drawer/src/DrawerBodyWrapper.js +21 -13
- package/lib/drawer/src/DrawerContent.js +6 -6
- package/lib/dropdown/src/Dropdown.d.ts +5 -0
- package/lib/form/src/Feedbacks.js +4 -1
- package/lib/form/src/Form.d.ts +7 -7
- package/lib/form/src/Form.js +16 -7
- package/lib/form/src/FormItem.d.ts +12 -7
- package/lib/form/src/FormItem.js +23 -11
- package/lib/form/src/FormItemCol.d.ts +8 -4
- package/lib/form/src/FormItemGridItem.d.ts +8 -4
- package/lib/form/src/FormItemRow.d.ts +7 -3
- package/lib/form/src/interface.d.ts +6 -2
- package/lib/form/src/styles/form-item.cssr.js +2 -0
- package/lib/form/src/utils.d.ts +2 -2
- package/lib/form/src/utils.js +29 -18
- package/lib/image/src/Image.d.ts +279 -10
- package/lib/image/src/Image.js +4 -17
- package/lib/image/src/ImageGroup.d.ts +272 -2
- package/lib/image/src/ImageGroup.js +4 -7
- package/lib/image/src/ImagePreview.d.ts +195 -7
- package/lib/image/src/ImagePreview.js +49 -30
- package/lib/image/src/interface.d.ts +94 -0
- package/lib/image/src/interface.js +3 -0
- package/lib/image/src/styles/index.cssr.js +8 -4
- package/lib/image/styles/dark.js +8 -1
- package/lib/image/styles/light.d.ts +32 -3
- package/lib/image/styles/light.js +8 -1
- package/lib/input-number/src/utils.js +2 -2
- package/lib/locales/common/deDE.js +10 -0
- package/lib/locales/common/enUS.d.ts +9 -0
- package/lib/locales/common/enUS.js +10 -0
- package/lib/locales/common/frFR.js +10 -0
- package/lib/locales/common/idID.js +10 -0
- package/lib/locales/common/jaJP.js +10 -0
- package/lib/locales/common/nbNO.js +10 -0
- package/lib/locales/common/ruRU.js +10 -0
- package/lib/locales/common/ukUA.js +10 -0
- package/lib/locales/common/zhCN.js +9 -0
- package/lib/locales/common/zhTW.js +10 -0
- package/lib/mention/src/utils.js +0 -1
- package/lib/message/index.d.ts +2 -1
- package/lib/message/src/Message.d.ts +191 -19
- package/lib/message/src/Message.js +13 -11
- package/lib/message/src/MessageEnvironment.d.ts +3 -3
- package/lib/message/src/MessageProvider.d.ts +5 -10
- package/lib/message/src/MessageProvider.js +1 -1
- package/lib/message/src/message-props.d.ts +5 -2
- package/lib/message/src/types.d.ts +15 -0
- package/lib/message/src/types.js +2 -0
- package/lib/modal/src/Modal.d.ts +5 -0
- package/lib/modal/src/Modal.js +2 -1
- package/lib/page-header/index.d.ts +1 -1
- package/lib/page-header/src/PageHeader.d.ts +1 -1
- package/lib/pagination/index.d.ts +1 -1
- package/lib/pagination/src/Pagination.d.ts +8 -4
- package/lib/pagination/src/Pagination.js +65 -18
- package/lib/pagination/src/interface.d.ts +10 -1
- package/lib/pagination/src/utils.d.ts +2 -2
- package/lib/pagination/src/utils.js +2 -4
- package/lib/popconfirm/src/Popconfirm.d.ts +5 -0
- package/lib/popover/src/Popover.d.ts +7 -0
- package/lib/popover/src/Popover.js +23 -0
- package/lib/popover/src/PopoverBody.d.ts +5 -0
- package/lib/popover/src/PopoverBody.js +27 -45
- package/lib/popover/src/styles/index.cssr.js +9 -8
- package/lib/popselect/src/Popselect.d.ts +62 -73
- package/lib/popselect/src/Popselect.js +2 -2
- package/lib/progress/src/Circle.d.ts +7 -0
- package/lib/progress/src/Circle.js +8 -1
- package/lib/progress/src/Line.d.ts +2 -2
- package/lib/progress/src/Line.js +4 -1
- package/lib/progress/src/Progress.d.ts +6 -2
- package/lib/progress/src/Progress.js +2 -2
- package/lib/progress/src/styles/index.cssr.js +16 -16
- package/lib/radio/src/styles/radio.cssr.js +4 -1
- package/lib/result/src/Result.js +8 -9
- package/lib/result/src/styles/index.cssr.js +6 -6
- package/lib/select/src/Select.d.ts +8 -27
- package/lib/select/src/Select.js +14 -22
- package/lib/slider/src/Slider.d.ts +2 -4
- package/lib/tabs/index.d.ts +1 -0
- package/lib/tabs/src/Tabs.d.ts +2 -2
- package/lib/tabs/src/Tabs.js +25 -22
- package/lib/tabs/src/interface.d.ts +3 -0
- package/lib/time-picker/src/TimePicker.d.ts +22 -2
- package/lib/time-picker/src/TimePicker.js +59 -29
- package/lib/time-picker/src/interface.d.ts +4 -2
- package/lib/tooltip/src/Tooltip.d.ts +5 -0
- package/lib/tree/src/Tree.d.ts +5 -1
- package/lib/tree/src/Tree.js +4 -2
- package/lib/tree/src/TreeNodeSwitcher.d.ts +1 -1
- package/lib/tree/src/TreeNodeSwitcher.js +24 -13
- package/lib/tree/src/interface.d.ts +2 -0
- package/lib/tree/src/styles/index.cssr.js +4 -2
- package/lib/upload/src/Upload.d.ts +15 -6
- package/lib/upload/src/Upload.js +18 -9
- package/lib/upload/src/UploadFile.d.ts +5 -5
- package/lib/upload/src/UploadFileList.js +2 -2
- package/lib/upload/src/interface.d.ts +11 -4
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +21 -13
- 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:
|
|
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:
|
|
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;
|
|
@@ -32,7 +32,7 @@ const paginationProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props
|
|
|
32
32
|
}, showQuickJumper: Boolean, disabled: Boolean, pageSlot: {
|
|
33
33
|
type: Number,
|
|
34
34
|
default: 9
|
|
35
|
-
}, prev: Function, next: Function, prefix: Function, suffix: Function, 'onUpdate:page': [Function, Array], onUpdatePage: [Function, Array], 'onUpdate:pageSize': [Function, Array], onUpdatePageSize: [Function, Array],
|
|
35
|
+
}, prev: Function, next: Function, prefix: Function, suffix: Function, label: Function, 'onUpdate:page': [Function, Array], onUpdatePage: [Function, Array], 'onUpdate:pageSize': [Function, Array], onUpdatePageSize: [Function, Array],
|
|
36
36
|
/** @deprecated */
|
|
37
37
|
onPageSizeChange: [Function, Array],
|
|
38
38
|
/** @deprecated */
|
|
@@ -46,6 +46,12 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
46
46
|
if (props.pageCount !== undefined && props.itemCount !== undefined) {
|
|
47
47
|
(0, _utils_1.warn)('pagination', "`page-count` and `item-count` should't be specified together. Only `item-count` will take effect.");
|
|
48
48
|
}
|
|
49
|
+
if (props.onPageSizeChange) {
|
|
50
|
+
(0, _utils_1.warnOnce)('pagination', '`on-page-size-change` is deprecated, please use `on-update:page-size` instead.');
|
|
51
|
+
}
|
|
52
|
+
if (props.onChange) {
|
|
53
|
+
(0, _utils_1.warnOnce)('pagination', '`on-change` is deprecated, please use `on-update:page` instead.');
|
|
54
|
+
}
|
|
49
55
|
});
|
|
50
56
|
}
|
|
51
57
|
const { NConfigProvider, mergedClsPrefixRef } = (0, _mixins_1.useConfig)(props);
|
|
@@ -200,10 +206,10 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
200
206
|
case 'page':
|
|
201
207
|
doUpdatePage(pageItem.label);
|
|
202
208
|
break;
|
|
203
|
-
case '
|
|
209
|
+
case 'fast-backward':
|
|
204
210
|
fastBackward();
|
|
205
211
|
break;
|
|
206
|
-
case '
|
|
212
|
+
case 'fast-forward':
|
|
207
213
|
fastForward();
|
|
208
214
|
break;
|
|
209
215
|
}
|
|
@@ -212,10 +218,10 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
212
218
|
if (props.disabled)
|
|
213
219
|
return;
|
|
214
220
|
switch (pageItem.type) {
|
|
215
|
-
case '
|
|
221
|
+
case 'fast-backward':
|
|
216
222
|
showFastBackwardRef.value = true;
|
|
217
223
|
break;
|
|
218
|
-
case '
|
|
224
|
+
case 'fast-forward':
|
|
219
225
|
showFastForwardRef.value = true;
|
|
220
226
|
break;
|
|
221
227
|
default:
|
|
@@ -227,10 +233,10 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
227
233
|
if (props.disabled)
|
|
228
234
|
return;
|
|
229
235
|
switch (pageItem.type) {
|
|
230
|
-
case '
|
|
236
|
+
case 'fast-backward':
|
|
231
237
|
showFastBackwardRef.value = false;
|
|
232
238
|
break;
|
|
233
|
-
case '
|
|
239
|
+
case 'fast-forward':
|
|
234
240
|
showFastForwardRef.value = false;
|
|
235
241
|
break;
|
|
236
242
|
default:
|
|
@@ -323,16 +329,17 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
323
329
|
},
|
|
324
330
|
render() {
|
|
325
331
|
// it's ok to expand all prop here since no slots' deps
|
|
326
|
-
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;
|
|
332
|
+
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;
|
|
333
|
+
const renderPrefix = $slots.prefix || prefix;
|
|
334
|
+
const renderSuffix = $slots.suffix || suffix;
|
|
327
335
|
const renderPrev = prev || $slots.prev;
|
|
328
336
|
const renderNext = next || $slots.next;
|
|
337
|
+
const renderLabel = label || $slots.label;
|
|
329
338
|
return ((0, vue_1.h)("div", { ref: "selfRef", class: [
|
|
330
339
|
`${mergedClsPrefix}-pagination`,
|
|
331
340
|
disabled && `${mergedClsPrefix}-pagination--disabled`
|
|
332
341
|
], style: cssVars },
|
|
333
|
-
|
|
334
|
-
? $slots.prefix
|
|
335
|
-
: prefix)({
|
|
342
|
+
renderPrefix ? ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-pagination-prefix` }, renderPrefix({
|
|
336
343
|
page: mergedPage,
|
|
337
344
|
pageSize: mergedPageSize,
|
|
338
345
|
pageCount: mergedPageCount,
|
|
@@ -354,16 +361,58 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
354
361
|
itemCount: this.mergedItemCount
|
|
355
362
|
})) : ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.BackwardIcon, null) }))),
|
|
356
363
|
pageItems.map((pageItem, index) => {
|
|
364
|
+
let contentNode;
|
|
365
|
+
switch (pageItem.type) {
|
|
366
|
+
case 'page':
|
|
367
|
+
// eslint-disable-next-line no-case-declarations
|
|
368
|
+
const pageNode = pageItem.label;
|
|
369
|
+
if (renderLabel) {
|
|
370
|
+
contentNode = renderLabel({
|
|
371
|
+
type: 'page',
|
|
372
|
+
node: pageNode,
|
|
373
|
+
active: pageItem.active
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
else {
|
|
377
|
+
contentNode = pageNode;
|
|
378
|
+
}
|
|
379
|
+
break;
|
|
380
|
+
case 'fast-forward':
|
|
381
|
+
// eslint-disable-next-line no-case-declarations
|
|
382
|
+
const fastForwardNode = showFastForward ? ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.FastForwardIcon, null) })) : ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.MoreIcon, null) }));
|
|
383
|
+
if (renderLabel) {
|
|
384
|
+
contentNode = renderLabel({
|
|
385
|
+
type: 'fast-forward',
|
|
386
|
+
node: fastForwardNode,
|
|
387
|
+
active: showFastForward
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
else {
|
|
391
|
+
contentNode = fastForwardNode;
|
|
392
|
+
}
|
|
393
|
+
break;
|
|
394
|
+
case 'fast-backward':
|
|
395
|
+
// eslint-disable-next-line no-case-declarations
|
|
396
|
+
const fastBackwardNode = showFastBackward ? ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.FastBackwardIcon, null) })) : ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.MoreIcon, null) }));
|
|
397
|
+
if (renderLabel) {
|
|
398
|
+
contentNode = renderLabel({
|
|
399
|
+
type: 'fast-backward',
|
|
400
|
+
node: fastBackwardNode,
|
|
401
|
+
active: showFastBackward
|
|
402
|
+
});
|
|
403
|
+
}
|
|
404
|
+
else {
|
|
405
|
+
contentNode = fastBackwardNode;
|
|
406
|
+
}
|
|
407
|
+
break;
|
|
408
|
+
}
|
|
357
409
|
return ((0, vue_1.h)("div", { key: index, class: [
|
|
358
410
|
`${mergedClsPrefix}-pagination-item`,
|
|
359
411
|
{
|
|
360
412
|
[`${mergedClsPrefix}-pagination-item--active`]: pageItem.active,
|
|
361
413
|
[`${mergedClsPrefix}-pagination-item--disabled`]: disabled
|
|
362
414
|
}
|
|
363
|
-
], onClick: () => handlePageItemClick(pageItem), onMouseenter: () => handlePageItemMouseEnter(pageItem), onMouseleave: () => handlePageItemMouseLeave(pageItem) },
|
|
364
|
-
pageItem.type === 'page' ? pageItem.label : null,
|
|
365
|
-
pageItem.type === 'fastBackward' ? (showFastBackward ? ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.FastBackwardIcon, null) })) : ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.MoreIcon, null) }))) : null,
|
|
366
|
-
pageItem.type === 'fastForward' ? (showFastForward ? ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.FastForwardIcon, null) })) : ((0, vue_1.h)(_internal_1.NBaseIcon, { clsPrefix: mergedClsPrefix }, { default: () => (0, vue_1.h)(icons_1.MoreIcon, null) }))) : null));
|
|
415
|
+
], onClick: () => handlePageItemClick(pageItem), onMouseenter: () => handlePageItemMouseEnter(pageItem), onMouseleave: () => handlePageItemMouseLeave(pageItem) }, contentNode));
|
|
367
416
|
}),
|
|
368
417
|
(0, vue_1.h)("div", { class: [
|
|
369
418
|
`${mergedClsPrefix}-pagination-item`,
|
|
@@ -383,9 +432,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
383
432
|
showQuickJumper ? ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-pagination-quick-jumper` },
|
|
384
433
|
locale.goto,
|
|
385
434
|
(0, vue_1.h)(input_1.NInput, { ref: "jumperRef", value: jumperValue, onUpdateValue: handleJumperInput, size: inputSize, placeholder: "", disabled: disabled, theme: mergedTheme.peers.Input, themeOverrides: mergedTheme.peerOverrides.Input, onKeyup: handleQuickJumperKeyUp }))) : null,
|
|
386
|
-
|
|
387
|
-
? $slots.suffix
|
|
388
|
-
: suffix)({
|
|
435
|
+
renderSuffix ? ((0, vue_1.h)("div", { class: `${mergedClsPrefix}-pagination-suffix` }, renderSuffix({
|
|
389
436
|
page: mergedPage,
|
|
390
437
|
pageSize: mergedPageSize,
|
|
391
438
|
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: '
|
|
4
|
-
label
|
|
3
|
+
type: 'fast-backward' | 'fast-forward';
|
|
4
|
+
label?: undefined;
|
|
5
5
|
active: false;
|
|
6
6
|
} | {
|
|
7
7
|
type: 'page';
|
|
@@ -49,14 +49,12 @@ function mapPagesToPageItems(pages, currentPage) {
|
|
|
49
49
|
switch (page) {
|
|
50
50
|
case -2:
|
|
51
51
|
return {
|
|
52
|
-
type: '
|
|
53
|
-
label: 'fastBackward',
|
|
52
|
+
type: 'fast-backward',
|
|
54
53
|
active: false
|
|
55
54
|
};
|
|
56
55
|
case -1:
|
|
57
56
|
return {
|
|
58
|
-
type: '
|
|
59
|
-
label: 'fastForward',
|
|
57
|
+
type: 'fast-forward',
|
|
60
58
|
active: false
|
|
61
59
|
};
|
|
62
60
|
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[];
|
|
@@ -26,6 +26,7 @@ const vooks_1 = require("vooks");
|
|
|
26
26
|
const _utils_1 = require("../../_utils");
|
|
27
27
|
const _mixins_1 = require("../../_mixins");
|
|
28
28
|
const PopoverBody_1 = __importStar(require("./PopoverBody"));
|
|
29
|
+
const vdirs_1 = require("vdirs");
|
|
29
30
|
const bodyPropKeys = Object.keys(PopoverBody_1.popoverBodyProps);
|
|
30
31
|
const triggerEventMap = {
|
|
31
32
|
focus: ['onFocus', 'onBlur'],
|
|
@@ -118,6 +119,7 @@ exports.popoverBaseProps = {
|
|
|
118
119
|
type: Array,
|
|
119
120
|
default: () => []
|
|
120
121
|
},
|
|
122
|
+
internalTrapFocus: Boolean,
|
|
121
123
|
/** @deprecated */
|
|
122
124
|
onShow: [Function, Array],
|
|
123
125
|
/** @deprecated */
|
|
@@ -314,6 +316,15 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
314
316
|
doUpdateShow(nextShow);
|
|
315
317
|
}
|
|
316
318
|
}
|
|
319
|
+
function handleKeydown(e) {
|
|
320
|
+
if (!props.internalTrapFocus)
|
|
321
|
+
return;
|
|
322
|
+
if (e.code === 'Escape') {
|
|
323
|
+
clearShowTimer();
|
|
324
|
+
clearHideTimer();
|
|
325
|
+
doUpdateShow(false);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
317
328
|
function setShow(value) {
|
|
318
329
|
uncontrolledShowRef.value = value;
|
|
319
330
|
}
|
|
@@ -326,6 +337,7 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
326
337
|
}
|
|
327
338
|
(0, vue_1.provide)('NPopover', {
|
|
328
339
|
getTriggerElement,
|
|
340
|
+
handleKeydown,
|
|
329
341
|
handleMouseEnter,
|
|
330
342
|
handleMouseLeave,
|
|
331
343
|
handleClickOutside,
|
|
@@ -448,6 +460,17 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
448
460
|
void this.mergedShowConsideringDisabledProp;
|
|
449
461
|
const mergedShow = this.getMergedShow();
|
|
450
462
|
return [
|
|
463
|
+
this.internalTrapFocus && mergedShow
|
|
464
|
+
? (0, vue_1.withDirectives)((0, vue_1.h)("div", { style: { position: 'fixed', inset: 0 } }), [
|
|
465
|
+
[
|
|
466
|
+
vdirs_1.zindexable,
|
|
467
|
+
{
|
|
468
|
+
enabled: mergedShow,
|
|
469
|
+
zIndex: this.zIndex
|
|
470
|
+
}
|
|
471
|
+
]
|
|
472
|
+
])
|
|
473
|
+
: null,
|
|
451
474
|
positionManually
|
|
452
475
|
? null
|
|
453
476
|
: (0, vue_1.h)(vueuc_1.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;
|
|
@@ -14,7 +14,7 @@ const index_cssr_1 = __importDefault(require("./styles/index.cssr"));
|
|
|
14
14
|
const interface_1 = require("./interface");
|
|
15
15
|
const interface_2 = require("../../drawer/src/interface");
|
|
16
16
|
const interface_3 = require("../../modal/src/interface");
|
|
17
|
-
exports.popoverBodyProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), { to: _utils_1.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],
|
|
17
|
+
exports.popoverBodyProps = Object.assign(Object.assign({}, _mixins_1.useTheme.props), { to: _utils_1.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,
|
|
18
18
|
// private
|
|
19
19
|
animated: Boolean, onClickoutside: Function,
|
|
20
20
|
/** @deprecated */
|
|
@@ -105,7 +105,6 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
105
105
|
});
|
|
106
106
|
function syncPosition() {
|
|
107
107
|
var _a;
|
|
108
|
-
// eslint-disable-next-line no-unused-expressions
|
|
109
108
|
(_a = followerRef.value) === null || _a === void 0 ? void 0 : _a.syncPosition();
|
|
110
109
|
}
|
|
111
110
|
function handleMouseEnter(e) {
|
|
@@ -143,6 +142,18 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
143
142
|
const { value: mergedClsPrefix } = mergedClsPrefixRef;
|
|
144
143
|
if (!renderBody) {
|
|
145
144
|
const { value: extraClass } = NPopover.extraClassRef;
|
|
145
|
+
const { internalTrapFocus } = props;
|
|
146
|
+
const renderContentInnerNode = () => [
|
|
147
|
+
slots.header ? ((0, vue_1.h)(vue_1.Fragment, null,
|
|
148
|
+
(0, vue_1.h)("div", { class: `${mergedClsPrefix}-popover__header` }, slots.header()),
|
|
149
|
+
(0, vue_1.h)("div", { class: `${mergedClsPrefix}-popover__content` }, slots))) : ((0, vue_1.renderSlot)(slots, 'default')),
|
|
150
|
+
props.showArrow
|
|
151
|
+
? (0, exports.renderArrow)({
|
|
152
|
+
arrowStyle: props.arrowStyle,
|
|
153
|
+
clsPrefix: mergedClsPrefix
|
|
154
|
+
})
|
|
155
|
+
: null
|
|
156
|
+
];
|
|
146
157
|
contentNode = (0, vue_1.h)('div', (0, vue_1.mergeProps)({
|
|
147
158
|
class: [
|
|
148
159
|
`${mergedClsPrefix}-popover`,
|
|
@@ -156,19 +167,10 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
156
167
|
],
|
|
157
168
|
ref: bodyRef,
|
|
158
169
|
style: styleRef.value,
|
|
170
|
+
onKeydown: NPopover.handleKeydown,
|
|
159
171
|
onMouseenter: handleMouseEnter,
|
|
160
172
|
onMouseleave: handleMouseLeave
|
|
161
|
-
}, attrs),
|
|
162
|
-
slots.header ? ((0, vue_1.h)(vue_1.Fragment, null,
|
|
163
|
-
(0, vue_1.h)("div", { class: `${mergedClsPrefix}-popover__header` }, slots.header()),
|
|
164
|
-
(0, vue_1.h)("div", { class: `${mergedClsPrefix}-popover__content` }, slots))) : ((0, vue_1.renderSlot)(slots, 'default')),
|
|
165
|
-
props.showArrow
|
|
166
|
-
? (0, exports.renderArrow)({
|
|
167
|
-
arrowStyle: props.arrowStyle,
|
|
168
|
-
clsPrefix: mergedClsPrefix
|
|
169
|
-
})
|
|
170
|
-
: null
|
|
171
|
-
]);
|
|
173
|
+
}, attrs), internalTrapFocus ? ((0, vue_1.h)(vueuc_1.VFocusTrap, { active: props.show, focusFirstDescendant: true }, { default: renderContentInnerNode })) : (renderContentInnerNode()));
|
|
172
174
|
}
|
|
173
175
|
else {
|
|
174
176
|
contentNode = renderBody(
|
|
@@ -195,39 +197,19 @@ exports.default = (0, vue_1.defineComponent)({
|
|
|
195
197
|
};
|
|
196
198
|
},
|
|
197
199
|
render() {
|
|
198
|
-
return (0, vue_1.h)(vueuc_1.VFollower, {
|
|
199
|
-
zIndex: this.zIndex,
|
|
200
|
-
show: this.show,
|
|
201
|
-
enabled: this.followerEnabled,
|
|
202
|
-
to: this.adjustedTo,
|
|
203
|
-
x: this.x,
|
|
204
|
-
y: this.y,
|
|
205
|
-
flip: this.flip,
|
|
206
|
-
placement: this.placement,
|
|
207
|
-
containerClass: this.namespace,
|
|
208
|
-
ref: 'followerRef',
|
|
209
|
-
overlap: this.overlap,
|
|
210
|
-
width: this.width === 'trigger' ? 'target' : undefined,
|
|
211
|
-
teleportDisabled: this.adjustedTo === _utils_1.useAdjustedTo.tdkey
|
|
212
|
-
}, {
|
|
200
|
+
return ((0, vue_1.h)(vueuc_1.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 === _utils_1.useAdjustedTo.tdkey }, {
|
|
213
201
|
default: () => {
|
|
214
|
-
return this.animated
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
this.followerEnabled = false;
|
|
225
|
-
}
|
|
226
|
-
}, {
|
|
227
|
-
default: this.renderContentNode
|
|
228
|
-
})
|
|
229
|
-
: this.renderContentNode();
|
|
202
|
+
return this.animated ? ((0, vue_1.h)(vue_1.Transition, { name: "popover-transition", appear: this.isMounted,
|
|
203
|
+
// Don't use watch to enable follower, since the transition may
|
|
204
|
+
// make position sync timing very subtle and buggy.
|
|
205
|
+
onEnter: () => {
|
|
206
|
+
this.followerEnabled = true;
|
|
207
|
+
}, onAfterLeave: () => {
|
|
208
|
+
this.followerEnabled = false;
|
|
209
|
+
} }, {
|
|
210
|
+
default: this.renderContentNode
|
|
211
|
+
})) : (this.renderContentNode());
|
|
230
212
|
}
|
|
231
|
-
});
|
|
213
|
+
}));
|
|
232
214
|
}
|
|
233
215
|
});
|
|
@@ -77,44 +77,45 @@ exports.default = (0, cssr_1.c)([(0, cssr_1.cB)('popover', `
|
|
|
77
77
|
pointer-events: all;
|
|
78
78
|
`)])]), placementStyle('top-start', `
|
|
79
79
|
top: calc(-0.707 * var(--n-arrow-height));
|
|
80
|
-
left: var(--n-arrow-offset);
|
|
80
|
+
left: calc(var(--n-arrow-offset) - var(--v-offset-left));
|
|
81
81
|
`), placementStyle('top', `
|
|
82
82
|
top: calc(-0.707 * var(--n-arrow-height));
|
|
83
83
|
transform: translateX(calc(-0.707 * var(--n-arrow-height))) rotate(45deg);
|
|
84
84
|
left: 50%;
|
|
85
85
|
`), placementStyle('top-end', `
|
|
86
86
|
top: calc(-0.707 * var(--n-arrow-height));
|
|
87
|
-
right: var(--n-arrow-offset);
|
|
87
|
+
right: calc(var(--n-arrow-offset) + var(--v-offset-left));
|
|
88
88
|
`), placementStyle('bottom-start', `
|
|
89
89
|
bottom: calc(-0.707 * var(--n-arrow-height));
|
|
90
|
-
left: var(--n-arrow-offset);
|
|
90
|
+
left: calc(var(--n-arrow-offset) - var(--v-offset-left));
|
|
91
91
|
`), placementStyle('bottom', `
|
|
92
92
|
bottom: calc(-0.707 * var(--n-arrow-height));
|
|
93
93
|
transform: translateX(calc(-0.707 * var(--n-arrow-height))) rotate(45deg);
|
|
94
94
|
left: 50%;
|
|
95
95
|
`), placementStyle('bottom-end', `
|
|
96
96
|
bottom: calc(-0.707 * var(--n-arrow-height));
|
|
97
|
-
right: var(--n-arrow-offset);
|
|
97
|
+
right: calc(var(--n-arrow-offset) + var(--v-offset-left));
|
|
98
98
|
`), placementStyle('left-start', `
|
|
99
99
|
left: calc(-0.707 * var(--n-arrow-height));
|
|
100
|
-
top: var(--n-arrow-offset-vertical);
|
|
100
|
+
top: calc(var(--n-arrow-offset-vertical) - var(--v-offset-top));
|
|
101
101
|
`), placementStyle('left', `
|
|
102
102
|
left: calc(-0.707 * var(--n-arrow-height));
|
|
103
103
|
transform: translateY(calc(-0.707 * var(--n-arrow-height))) rotate(45deg);
|
|
104
104
|
top: 50%;
|
|
105
105
|
`), placementStyle('left-end', `
|
|
106
106
|
left: calc(-0.707 * var(--n-arrow-height));
|
|
107
|
-
bottom: var(--n-arrow-offset-vertical);
|
|
107
|
+
bottom: calc(var(--n-arrow-offset-vertical) + var(--v-offset-top));
|
|
108
|
+
|
|
108
109
|
`), placementStyle('right-start', `
|
|
109
110
|
right: calc(-0.707 * var(--n-arrow-height));
|
|
110
|
-
top: var(--n-arrow-offset-vertical);
|
|
111
|
+
top: calc(var(--n-arrow-offset-vertical) - var(--v-offset-top));
|
|
111
112
|
`), placementStyle('right', `
|
|
112
113
|
right: calc(-0.707 * var(--n-arrow-height));
|
|
113
114
|
transform: translateY(calc(-0.707 * var(--n-arrow-height))) rotate(45deg);
|
|
114
115
|
top: 50%;
|
|
115
116
|
`), placementStyle('right-end', `
|
|
116
117
|
right: calc(-0.707 * var(--n-arrow-height));
|
|
117
|
-
bottom: var(--n-arrow-offset-vertical);
|
|
118
|
+
bottom: calc(var(--n-arrow-offset-vertical) + var(--v-offset-top));
|
|
118
119
|
`)]);
|
|
119
120
|
|
|
120
121
|
function placementStyle(placement, arrowStyleLiteral) {
|