vxe-pc-ui 3.18.22 → 3.19.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/es/calendar/src/calendar.js +1 -1
- package/es/card/src/card.js +1 -1
- package/es/carousel/src/carousel.js +1 -1
- package/es/countdown/src/countdown.js +1 -1
- package/es/date-range-picker/src/date-range-picker.js +3 -3
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +1 -1
- package/es/layout-aside/src/layout-aside.js +25 -10
- package/es/layout-aside/style.css +2 -4
- package/es/layout-aside/style.min.css +1 -1
- package/es/layout-body/src/layout-body.js +22 -14
- package/es/layout-body/style.css +2 -3
- package/es/layout-body/style.min.css +1 -1
- package/es/list/src/list.js +1 -1
- package/es/menu/src/menu.js +16 -4
- package/es/menu/style.css +10 -2
- package/es/menu/style.min.css +1 -1
- package/es/scrollbar/src/scrollbar.js +72 -10
- package/es/scrollbar/style.css +18 -15
- package/es/scrollbar/style.min.css +1 -1
- package/es/select/src/select.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table-select/src/table-select.js +1 -1
- package/es/tabs/src/tabs.js +1 -1
- package/es/text-ellipsis/style.css +29 -10
- package/es/text-ellipsis/style.min.css +1 -1
- package/es/ui/index.js +8 -2
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +1 -1
- package/es/upload/style.css +5 -3
- package/es/upload/style.min.css +1 -1
- package/es/vxe-layout-aside/style.css +2 -4
- package/es/vxe-layout-aside/style.min.css +1 -1
- package/es/vxe-layout-body/style.css +2 -3
- package/es/vxe-layout-body/style.min.css +1 -1
- package/es/vxe-menu/style.css +10 -2
- package/es/vxe-menu/style.min.css +1 -1
- package/es/vxe-scrollbar/style.css +18 -15
- package/es/vxe-scrollbar/style.min.css +1 -1
- package/es/vxe-text-ellipsis/style.css +29 -10
- package/es/vxe-text-ellipsis/style.min.css +1 -1
- package/es/vxe-upload/style.css +5 -3
- package/es/vxe-upload/style.min.css +1 -1
- package/lib/calendar/src/calendar.js +1 -1
- package/lib/calendar/src/calendar.min.js +1 -1
- package/lib/card/src/card.js +1 -1
- package/lib/card/src/card.min.js +1 -1
- package/lib/carousel/src/carousel.js +1 -1
- package/lib/carousel/src/carousel.min.js +1 -1
- package/lib/countdown/src/countdown.js +1 -1
- package/lib/countdown/src/countdown.min.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +3 -3
- package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +1 -1
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/index.umd.js +1418 -1290
- package/lib/index.umd.min.js +1 -1
- package/lib/layout-aside/src/layout-aside.js +30 -10
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/layout-aside/style/style.css +2 -4
- package/lib/layout-aside/style/style.min.css +1 -1
- package/lib/layout-body/src/layout-body.js +32 -14
- package/lib/layout-body/src/layout-body.min.js +1 -1
- package/lib/layout-body/style/style.css +2 -3
- package/lib/layout-body/style/style.min.css +1 -1
- package/lib/list/src/list.js +1 -1
- package/lib/list/src/list.min.js +1 -1
- package/lib/menu/src/menu.js +20 -6
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/menu/style/style.css +10 -2
- package/lib/menu/style/style.min.css +1 -1
- package/lib/scrollbar/src/scrollbar.js +81 -11
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/scrollbar/style/style.css +18 -15
- package/lib/scrollbar/style/style.min.css +1 -1
- package/lib/select/src/select.js +2 -2
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table-select/src/table-select.js +1 -1
- package/lib/table-select/src/table-select.min.js +1 -1
- package/lib/tabs/src/tabs.js +1 -1
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/text-ellipsis/style/style.css +29 -10
- package/lib/text-ellipsis/style/style.min.css +1 -1
- package/lib/ui/index.js +8 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/upload/src/upload.js +1 -1
- package/lib/upload/src/upload.min.js +1 -1
- package/lib/upload/style/style.css +5 -3
- package/lib/upload/style/style.min.css +1 -1
- package/lib/vxe-layout-aside/style/style.css +2 -4
- package/lib/vxe-layout-aside/style/style.min.css +1 -1
- package/lib/vxe-layout-body/style/style.css +2 -3
- package/lib/vxe-layout-body/style/style.min.css +1 -1
- package/lib/vxe-menu/style/style.css +10 -2
- package/lib/vxe-menu/style/style.min.css +1 -1
- package/lib/vxe-scrollbar/style/style.css +18 -15
- package/lib/vxe-scrollbar/style/style.min.css +1 -1
- package/lib/vxe-text-ellipsis/style/style.css +29 -10
- package/lib/vxe-text-ellipsis/style/style.min.css +1 -1
- package/lib/vxe-upload/style/style.css +5 -3
- package/lib/vxe-upload/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/calendar/src/calendar.ts +1 -1
- package/packages/card/src/card.ts +1 -1
- package/packages/carousel/src/carousel.ts +1 -1
- package/packages/countdown/src/countdown.ts +1 -1
- package/packages/date-range-picker/src/date-range-picker.ts +3 -3
- package/packages/icon-picker/src/icon-picker.ts +1 -1
- package/packages/layout-aside/src/layout-aside.ts +26 -10
- package/packages/layout-body/src/layout-body.ts +26 -14
- package/packages/list/src/list.ts +1 -1
- package/packages/menu/src/menu.ts +17 -4
- package/packages/scrollbar/src/scrollbar.ts +80 -10
- package/packages/select/src/select.ts +2 -2
- package/packages/table-select/src/table-select.ts +1 -1
- package/packages/tabs/src/tabs.ts +1 -1
- package/packages/ui/index.ts +8 -3
- package/packages/upload/src/upload.ts +1 -1
- package/styles/components/layout-aside.scss +2 -4
- package/styles/components/layout-body.scss +2 -3
- package/styles/components/menu.scss +11 -2
- package/styles/components/scrollbar.scss +26 -19
- package/styles/components/text-ellipsis.scss +23 -64
- package/styles/components/upload.scss +5 -3
- package/styles/theme/base.scss +2 -0
- package/types/components/layout-aside.d.ts +3 -0
- package/types/components/layout-body.d.ts +3 -0
- package/types/components/menu.d.ts +3 -0
- package/types/components/scrollbar.d.ts +16 -0
- /package/es/icon/{iconfont.1791471260167.ttf → iconfont.1791539006762.ttf} +0 -0
- /package/es/icon/{iconfont.1791471260167.woff → iconfont.1791539006762.woff} +0 -0
- /package/es/icon/{iconfont.1791471260167.woff2 → iconfont.1791539006762.woff2} +0 -0
- /package/es/{iconfont.1791471260167.ttf → iconfont.1791539006762.ttf} +0 -0
- /package/es/{iconfont.1791471260167.woff → iconfont.1791539006762.woff} +0 -0
- /package/es/{iconfont.1791471260167.woff2 → iconfont.1791539006762.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1791471260167.ttf → iconfont.1791539006762.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1791471260167.woff → iconfont.1791539006762.woff} +0 -0
- /package/lib/icon/style/{iconfont.1791471260167.woff2 → iconfont.1791539006762.woff2} +0 -0
- /package/lib/{iconfont.1791471260167.ttf → iconfont.1791539006762.ttf} +0 -0
- /package/lib/{iconfont.1791471260167.woff → iconfont.1791539006762.woff} +0 -0
- /package/lib/{iconfont.1791471260167.woff2 → iconfont.1791539006762.woff2} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { PropType, CreateElement, VNode } from 'vue'
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp'
|
|
3
3
|
import { getConfig, createEvent, globalMixins, renderEmptyElement } from '../../ui'
|
|
4
|
-
import VxeLoadingComponent from '../../loading'
|
|
5
|
-
import VxeUIBacktopComponent from '../../backtop'
|
|
6
4
|
import XEUtils from 'xe-utils'
|
|
5
|
+
import VxeScrollbarComponent from '../../scrollbar'
|
|
6
|
+
import VxeUIBacktopComponent from '../../backtop'
|
|
7
7
|
|
|
8
8
|
import type { LayoutBodyInternalData, VxeLayoutBodyPropTypes, LayoutBodyReactData, VxeLayoutBodyEmits, VxeComponentSizeType, ValueOf } from '../../../types'
|
|
9
9
|
|
|
@@ -28,6 +28,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
28
28
|
default: () => getConfig().layoutBody.showBacktop
|
|
29
29
|
},
|
|
30
30
|
backtopConfig: Object as PropType<VxeLayoutBodyPropTypes.BacktopConfig>,
|
|
31
|
+
scrollbarConfig: Object as PropType<VxeLayoutBodyPropTypes.ScrollbarConfig>,
|
|
31
32
|
size: {
|
|
32
33
|
type: String as PropType<VxeLayoutBodyPropTypes.Size>,
|
|
33
34
|
default: () => getConfig().layoutBody.size || getConfig().size
|
|
@@ -58,6 +59,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
58
59
|
return Object.assign({}, getConfig().layoutBody.backtopConfig, props.backtopConfig, {
|
|
59
60
|
target: '#' + backtopId
|
|
60
61
|
})
|
|
62
|
+
},
|
|
63
|
+
computeScrollbarOpts () {
|
|
64
|
+
const $xeLayoutBody = this
|
|
65
|
+
const props = $xeLayoutBody
|
|
66
|
+
|
|
67
|
+
return Object.assign({}, getConfig().layoutBody.scrollbarConfig, props.scrollbarConfig)
|
|
61
68
|
}
|
|
62
69
|
},
|
|
63
70
|
methods: {
|
|
@@ -79,6 +86,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
79
86
|
|
|
80
87
|
const { loading, padding, showBacktop } = props
|
|
81
88
|
const backtopOpts = $xeLayoutBody.computeBacktopOpts
|
|
89
|
+
const scrollbarOpts = $xeLayoutBody.computeScrollbarOpts
|
|
90
|
+
const { native, xConfig, yConfig, className, viewAttrs, viewClassName, viewInnerClassName } = scrollbarOpts
|
|
82
91
|
const vSize = $xeLayoutBody.computeSize
|
|
83
92
|
const defaultSlot = slots.default
|
|
84
93
|
const backtopSlot = slots.backtop
|
|
@@ -105,19 +114,22 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
105
114
|
'is--padding': padding
|
|
106
115
|
}]
|
|
107
116
|
}, [
|
|
108
|
-
h(
|
|
109
|
-
attrs: {
|
|
110
|
-
id: showBacktop ? backtopId : ''
|
|
111
|
-
},
|
|
112
|
-
class: 'vxe-layout-body--inner'
|
|
113
|
-
}, defaultSlot ? defaultSlot({}) : []),
|
|
114
|
-
/**
|
|
115
|
-
* 加载中
|
|
116
|
-
*/
|
|
117
|
-
h(VxeLoadingComponent, {
|
|
118
|
-
class: 'vxe-list-view--loading',
|
|
117
|
+
h(VxeScrollbarComponent, {
|
|
119
118
|
props: {
|
|
120
|
-
|
|
119
|
+
loading,
|
|
120
|
+
native,
|
|
121
|
+
xConfig,
|
|
122
|
+
yConfig,
|
|
123
|
+
className: 'vxe-layout-body--scrollbar' + (className ? (' ' + className) : ''),
|
|
124
|
+
viewAttrs: {
|
|
125
|
+
...viewAttrs,
|
|
126
|
+
id: showBacktop ? (backtopId || null) : null
|
|
127
|
+
},
|
|
128
|
+
viewClassName: 'vxe-layout-body--view' + (viewClassName ? (' ' + viewClassName) : ''),
|
|
129
|
+
viewInnerClassName: 'vxe-layout-body--inner' + (viewInnerClassName ? (' ' + viewInnerClassName) : '')
|
|
130
|
+
},
|
|
131
|
+
scopedSlots: {
|
|
132
|
+
default: () => defaultSlot ? defaultSlot({}) : []
|
|
121
133
|
}
|
|
122
134
|
}),
|
|
123
135
|
/**
|
|
@@ -9,7 +9,7 @@ import { getSlotVNs } from '../../ui/src/vn'
|
|
|
9
9
|
import { createComponentLog } from '../../ui/src/log'
|
|
10
10
|
import { moveRowAnimateToTb, clearRowAnimate } from '../../ui/src/anime'
|
|
11
11
|
import { getItemCacheObj } from './util'
|
|
12
|
-
import VxeLoadingComponent from '../../loading
|
|
12
|
+
import VxeLoadingComponent from '../../loading'
|
|
13
13
|
|
|
14
14
|
import type { VxeListPropTypes, VxeListEmits, VxeComponentSizeType, ListReactData, VxeListDefines, ValueOf, ListInternalData, VxeListConstructor, VxeListPrivateMethods, VxeComponentStyleType } from '../../../types'
|
|
15
15
|
|
|
@@ -7,6 +7,7 @@ import { getLastZIndex, nextZIndex, isEnableConf } from '../../ui/src/utils'
|
|
|
7
7
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
8
8
|
import { createComponentLog } from '../../ui/src/log'
|
|
9
9
|
import VxeLoadingComponent from '../../loading'
|
|
10
|
+
import VxeScrollbarComponent from '../../scrollbar'
|
|
10
11
|
|
|
11
12
|
import type { VxeMenuDefines, MenuInternalData, MenuReactData, VxeMenuPropTypes, VxeLayoutAsideConstructor, VxeMenuEmits, VxeLayoutAsidePropTypes, VxeComponentPermissionInfo, VxeComponentSizeType, ValueOf } from '../../../types'
|
|
12
13
|
|
|
@@ -75,6 +76,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
75
76
|
default: () => getConfig().menu.size || getConfig().size
|
|
76
77
|
},
|
|
77
78
|
menuConfig: Object as PropType<VxeMenuPropTypes.MenuConfig>,
|
|
79
|
+
scrollbarConfig: Object as PropType<VxeMenuPropTypes.ScrollbarConfig>,
|
|
78
80
|
appendTo: {
|
|
79
81
|
type: [String, Function] as PropType<VxeMenuPropTypes.AppendTo>,
|
|
80
82
|
default: () => getConfig().menu.appendTo
|
|
@@ -137,6 +139,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
137
139
|
const propsOpts = $xeMenu.computePropsOpts as VxeMenuPropTypes.OptionProps
|
|
138
140
|
return propsOpts.routerLink || 'routerLink'
|
|
139
141
|
},
|
|
142
|
+
computeScrollbarOpts () {
|
|
143
|
+
const $xeMenu = this
|
|
144
|
+
const props = $xeMenu
|
|
145
|
+
|
|
146
|
+
return Object.assign({}, getConfig().menu.scrollbarConfig, props.scrollbarConfig)
|
|
147
|
+
},
|
|
140
148
|
computeCurrBorder () {
|
|
141
149
|
const $xeMenu = this
|
|
142
150
|
const props = $xeMenu
|
|
@@ -773,6 +781,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
773
781
|
const isCollapsed = $xeMenu.computeIsCollapsed
|
|
774
782
|
const currBorder = $xeMenu.computeCurrBorder
|
|
775
783
|
const varStyle = $xeMenu.computeVarStyle
|
|
784
|
+
const scrollbarOpts = $xeMenu.computeScrollbarOpts
|
|
776
785
|
const headerSlot = slots.header
|
|
777
786
|
const footerSlot = slots.footer
|
|
778
787
|
let ons: Record<string, any> = {}
|
|
@@ -823,9 +832,13 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
823
832
|
class: 'vxe-menu--header'
|
|
824
833
|
}, headerSlot(stParams))
|
|
825
834
|
: renderEmptyElement($xeMenu),
|
|
826
|
-
h(
|
|
827
|
-
class: 'vxe-menu--body'
|
|
828
|
-
|
|
835
|
+
h(VxeScrollbarComponent, {
|
|
836
|
+
class: 'vxe-menu--body',
|
|
837
|
+
props: scrollbarOpts,
|
|
838
|
+
scopedSlots: {
|
|
839
|
+
default: () => menuList.map(child => $xeMenu.renderDefaultChildren(h, child, menuList))
|
|
840
|
+
}
|
|
841
|
+
}),
|
|
829
842
|
footerSlot
|
|
830
843
|
? h('div', {
|
|
831
844
|
class: 'vxe-menu--footer'
|
|
@@ -838,7 +851,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
838
851
|
* 加载中
|
|
839
852
|
*/
|
|
840
853
|
h(VxeLoadingComponent, {
|
|
841
|
-
class: 'vxe-
|
|
854
|
+
class: 'vxe-menu-view--loading',
|
|
842
855
|
props: {
|
|
843
856
|
value: loading
|
|
844
857
|
}
|
|
@@ -32,6 +32,7 @@ function createInternalData (): ScrollbarInternalData {
|
|
|
32
32
|
export default /* define-vxe-component start */ defineVxeComponent({
|
|
33
33
|
name: 'VxeScrollbar',
|
|
34
34
|
props: {
|
|
35
|
+
id: [String, Number] as PropType<VxeScrollbarPropTypes.Id>,
|
|
35
36
|
width: [String, Number] as PropType<VxeScrollbarPropTypes.Width>,
|
|
36
37
|
height: [String, Number] as PropType<VxeScrollbarPropTypes.Height>,
|
|
37
38
|
minWidth: [String, Number] as PropType<VxeScrollbarPropTypes.MinWidth>,
|
|
@@ -45,8 +46,22 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
45
46
|
},
|
|
46
47
|
xConfig: Object as PropType<VxeScrollbarPropTypes.XConfig>,
|
|
47
48
|
yConfig: Object as PropType<VxeScrollbarPropTypes.YConfig>,
|
|
48
|
-
className:
|
|
49
|
-
|
|
49
|
+
className: {
|
|
50
|
+
type: String as PropType<VxeScrollbarPropTypes.ClassName>,
|
|
51
|
+
default: () => getConfig().scrollbar.className
|
|
52
|
+
},
|
|
53
|
+
viewAttrs: {
|
|
54
|
+
type: Object as PropType<VxeScrollbarPropTypes.ViewAttrs>,
|
|
55
|
+
default: () => getConfig().scrollbar.viewAttrs
|
|
56
|
+
},
|
|
57
|
+
viewClassName: {
|
|
58
|
+
type: String as PropType<VxeScrollbarPropTypes.ViewClassName>,
|
|
59
|
+
default: () => getConfig().scrollbar.viewClassName
|
|
60
|
+
},
|
|
61
|
+
viewInnerClassName: {
|
|
62
|
+
type: String as PropType<VxeScrollbarPropTypes.ViewInnerClassName>,
|
|
63
|
+
default: () => getConfig().scrollbar.viewInnerClassName
|
|
64
|
+
},
|
|
50
65
|
autoResize: {
|
|
51
66
|
type: Boolean as PropType<VxeScrollbarPropTypes.AutoResize>,
|
|
52
67
|
default: () => getConfig().scrollbar.autoResize
|
|
@@ -105,8 +120,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
105
120
|
computeWrapperClss () {
|
|
106
121
|
const $xeScrollbar = this
|
|
107
122
|
const props = $xeScrollbar
|
|
123
|
+
const reactData = $xeScrollbar.reactData
|
|
108
124
|
|
|
109
125
|
const { native, className } = props
|
|
126
|
+
const { yThumbHeight, xThumbWidth } = reactData
|
|
110
127
|
const xOpts = ($xeScrollbar as any).computeXOpts as VxeScrollbarPropTypes.XConfig
|
|
111
128
|
const yOpts = ($xeScrollbar as any).computeYOpts as VxeScrollbarPropTypes.YConfig
|
|
112
129
|
return domUtils.buildClass([
|
|
@@ -117,7 +134,9 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
117
134
|
className
|
|
118
135
|
], {
|
|
119
136
|
'ov-x--auto-hide': xOpts.autoHide,
|
|
120
|
-
'ov-y--auto-hide': yOpts.autoHide
|
|
137
|
+
'ov-y--auto-hide': yOpts.autoHide,
|
|
138
|
+
'overflow-y': yThumbHeight,
|
|
139
|
+
'overflow-x': xThumbWidth
|
|
121
140
|
})
|
|
122
141
|
},
|
|
123
142
|
computeViewClss () {
|
|
@@ -130,6 +149,16 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
130
149
|
viewClassName
|
|
131
150
|
])
|
|
132
151
|
},
|
|
152
|
+
computeViewInnerClss () {
|
|
153
|
+
const $xeScrollbar = this
|
|
154
|
+
const props = $xeScrollbar
|
|
155
|
+
|
|
156
|
+
const { viewInnerClassName } = props
|
|
157
|
+
return domUtils.buildClass([
|
|
158
|
+
'vxe-scrollbar--view-inner',
|
|
159
|
+
viewInnerClassName
|
|
160
|
+
])
|
|
161
|
+
},
|
|
133
162
|
computeXOpts () {
|
|
134
163
|
const $xeScrollbar = this
|
|
135
164
|
const props = $xeScrollbar
|
|
@@ -441,28 +470,34 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
441
470
|
const props = $xeScrollbar
|
|
442
471
|
const slots = $xeScrollbar.$scopedSlots
|
|
443
472
|
|
|
444
|
-
const { native, loading } = props
|
|
473
|
+
const { id, native, loading, viewAttrs } = props
|
|
445
474
|
const wrapperStyle = $xeScrollbar.computeWrapperStyle
|
|
446
475
|
const wrapperClss = $xeScrollbar.computeWrapperClss
|
|
447
476
|
const viewClss = $xeScrollbar.computeViewClss
|
|
477
|
+
const viewInnerClss = $xeScrollbar.computeViewInnerClss
|
|
448
478
|
const xOpts = $xeScrollbar.computeXOpts
|
|
449
479
|
const yOpts = $xeScrollbar.computeYOpts
|
|
450
480
|
const defaultSlot = slots.default
|
|
451
481
|
return h('div', {
|
|
452
482
|
ref: 'refElem',
|
|
483
|
+
attrs: {
|
|
484
|
+
id: id || null
|
|
485
|
+
},
|
|
453
486
|
class: wrapperClss,
|
|
454
487
|
style: wrapperStyle
|
|
455
488
|
}, [
|
|
456
489
|
h('div', {
|
|
457
490
|
ref: 'refViewElem',
|
|
458
491
|
class: viewClss,
|
|
492
|
+
attrs: viewAttrs,
|
|
459
493
|
on: {
|
|
460
494
|
scroll: $xeScrollbar.scrollEvent
|
|
461
495
|
}
|
|
462
496
|
}, [
|
|
463
497
|
h('div', {
|
|
498
|
+
key: 'vi',
|
|
464
499
|
ref: 'refViewInnerElem',
|
|
465
|
-
class:
|
|
500
|
+
class: viewInnerClss
|
|
466
501
|
}, defaultSlot ? defaultSlot({}) : [])
|
|
467
502
|
]),
|
|
468
503
|
native || xOpts.visible === 'hidden'
|
|
@@ -517,6 +552,36 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
517
552
|
}
|
|
518
553
|
},
|
|
519
554
|
watch: {
|
|
555
|
+
height () {
|
|
556
|
+
const $xeScrollbar = this
|
|
557
|
+
|
|
558
|
+
$xeScrollbar.reFlag++
|
|
559
|
+
},
|
|
560
|
+
width () {
|
|
561
|
+
const $xeScrollbar = this
|
|
562
|
+
|
|
563
|
+
$xeScrollbar.reFlag++
|
|
564
|
+
},
|
|
565
|
+
minHeight () {
|
|
566
|
+
const $xeScrollbar = this
|
|
567
|
+
|
|
568
|
+
$xeScrollbar.reFlag++
|
|
569
|
+
},
|
|
570
|
+
minWidth () {
|
|
571
|
+
const $xeScrollbar = this
|
|
572
|
+
|
|
573
|
+
$xeScrollbar.reFlag++
|
|
574
|
+
},
|
|
575
|
+
maxHeight () {
|
|
576
|
+
const $xeScrollbar = this
|
|
577
|
+
|
|
578
|
+
$xeScrollbar.reFlag++
|
|
579
|
+
},
|
|
580
|
+
maxWidth () {
|
|
581
|
+
const $xeScrollbar = this
|
|
582
|
+
|
|
583
|
+
$xeScrollbar.reFlag++
|
|
584
|
+
},
|
|
520
585
|
native () {
|
|
521
586
|
const $xeScrollbar = this
|
|
522
587
|
|
|
@@ -546,19 +611,24 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
546
611
|
const internalData = $xeScrollbar.internalData
|
|
547
612
|
|
|
548
613
|
const { autoResize } = props
|
|
614
|
+
const viewEl = $xeScrollbar.$refs.refViewElem as HTMLDivElement
|
|
549
615
|
const viewInnerEl = $xeScrollbar.$refs.refViewInnerElem as HTMLDivElement
|
|
550
|
-
if (autoResize
|
|
616
|
+
if (autoResize) {
|
|
551
617
|
const resizeObserver = globalResize.create(() => {
|
|
552
618
|
if (props.autoResize) {
|
|
553
619
|
$xeScrollbar.reFlag++
|
|
554
620
|
}
|
|
555
621
|
})
|
|
556
|
-
|
|
622
|
+
if (viewEl) {
|
|
623
|
+
resizeObserver.observe(viewEl)
|
|
624
|
+
}
|
|
625
|
+
if (viewInnerEl) {
|
|
626
|
+
resizeObserver.observe(viewInnerEl)
|
|
627
|
+
}
|
|
557
628
|
internalData.resizeObserver = resizeObserver
|
|
558
629
|
}
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
})
|
|
630
|
+
|
|
631
|
+
$xeScrollbar.reFlag++
|
|
562
632
|
},
|
|
563
633
|
beforeDestroy () {
|
|
564
634
|
const $xeScrollbar = this
|
|
@@ -6,8 +6,8 @@ import { getEventTargetNode, getPopupAppendElement, toCssUnit, updatePanelPlacem
|
|
|
6
6
|
import { getLastZIndex, nextZIndex, getFuncText, eqEmptyValue } from '../../ui/src/utils'
|
|
7
7
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
8
8
|
import { createComponentLog } from '../../ui/src/log'
|
|
9
|
-
import VxeInputComponent from '../../input
|
|
10
|
-
import VxeButtonComponent from '../../button
|
|
9
|
+
import VxeInputComponent from '../../input'
|
|
10
|
+
import VxeButtonComponent from '../../button'
|
|
11
11
|
|
|
12
12
|
import type { VxeSelectPropTypes, SelectInternalData, ValueOf, VxeComponentSizeType, SelectReactData, VxeSelectEmits, VxeButtonDefines, VxeInputDefines, VxeSelectDefines, VxeOptionProps, VxeDrawerConstructor, VxeDrawerMethods, VxeFormDefines, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods, VxeInputConstructor, VxeComponentSlotType, VxeComponentStyleType, VxeCardConstructor, VxeCardPrivateMethods } from '../../../types'
|
|
13
13
|
import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
|
|
@@ -6,7 +6,7 @@ import { getEventTargetNode, updatePanelPlacement, toCssUnit, getPopupAppendElem
|
|
|
6
6
|
import { getOnName } from '../../ui/src/vn'
|
|
7
7
|
import { getLastZIndex, nextZIndex } from '../../ui/src/utils'
|
|
8
8
|
import { createComponentLog } from '../../ui/src/log'
|
|
9
|
-
import VxeInputComponent from '../../input
|
|
9
|
+
import VxeInputComponent from '../../input'
|
|
10
10
|
|
|
11
11
|
import type { TableSelectReactData, VxeTableSelectPropTypes, TableSelectInternalData, VxeTableSelectEmits, VxeInputConstructor, VxeFormDefines, ValueOf, VxeComponentStyleType, VxeComponentSizeType, VxeModalConstructor, VxeModalMethods, VxeDrawerConstructor, VxeDrawerMethods, VxeFormConstructor, VxeFormPrivateMethods } from '../../../types'
|
|
12
12
|
import type { VxeTableConstructor, VxeTablePrivateMethods, VxeTablePropTypes } from '../../../types/components/table'
|
|
@@ -6,7 +6,7 @@ import { getSlotVNs } from '../../ui/src/vn'
|
|
|
6
6
|
import { toCssUnit, addClass, removeClass } from '../../ui/src/dom'
|
|
7
7
|
import { isEnableConf } from '../../ui/src/utils'
|
|
8
8
|
import { createComponentLog } from '../../ui/src/log'
|
|
9
|
-
import VxeLoadingComponent from '../../loading
|
|
9
|
+
import VxeLoadingComponent from '../../loading'
|
|
10
10
|
|
|
11
11
|
import type { VxeTabsPropTypes, VxeTabPaneProps, VxeTabsEmits, TabsInternalData, TabsReactData, VxeComponentSizeType, VxeTabsConstructor, VxeTabsPrivateMethods, VxeTabPaneDefines, ValueOf, VxeComponentStyleType } from '../../../types'
|
|
12
12
|
|
package/packages/ui/index.ts
CHANGED
|
@@ -221,11 +221,16 @@ setConfig({
|
|
|
221
221
|
digits: 2,
|
|
222
222
|
controls: true
|
|
223
223
|
},
|
|
224
|
-
layoutAside: {
|
|
225
|
-
|
|
226
|
-
|
|
224
|
+
layoutAside: {
|
|
225
|
+
scrollbarConfig: {
|
|
226
|
+
yConfig: {
|
|
227
|
+
autoHide: true
|
|
228
|
+
}
|
|
227
229
|
}
|
|
228
230
|
},
|
|
231
|
+
layoutBody: {
|
|
232
|
+
backtopConfig: {}
|
|
233
|
+
},
|
|
229
234
|
layoutContainer: {},
|
|
230
235
|
layoutFooter: {},
|
|
231
236
|
layoutHeader: {},
|
|
@@ -6,7 +6,7 @@ import { getSlotVNs } from '../../ui/src/vn'
|
|
|
6
6
|
import { createComponentLog } from '../../ui/src/log'
|
|
7
7
|
import { initTpImg, getTpImg, getEventTargetNode, toCssUnit } from '../../ui/src/dom'
|
|
8
8
|
import { readLocalFile } from './util'
|
|
9
|
-
import VxeButtonComponent from '../../button
|
|
9
|
+
import VxeButtonComponent from '../../button'
|
|
10
10
|
|
|
11
11
|
import type { VxeUploadDefines, VxeUploadConstructor, VxeUploadPropTypes, UploadReactData, UploadInternalData, VxeUploadEmits, VxeComponentSizeType, VxeFormDefines, VxeFormConstructor, VxeFormPrivateMethods, ValueOf, VxeComponentEventParams } from '../../../types'
|
|
12
12
|
import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
|
|
@@ -98,11 +98,12 @@
|
|
|
98
98
|
|
|
99
99
|
.vxe-menu--collapse-wrapper {
|
|
100
100
|
display: none;
|
|
101
|
+
flex-direction: column;
|
|
101
102
|
position: absolute;
|
|
102
|
-
overflow:
|
|
103
|
+
overflow: hidden;
|
|
103
104
|
background-color: var(--vxe-ui-layout-background-color);
|
|
104
105
|
&.is--collapsed {
|
|
105
|
-
display:
|
|
106
|
+
display: flex;
|
|
106
107
|
@include baseMixin.createAnimationTransition(all, 0.25s);
|
|
107
108
|
}
|
|
108
109
|
&:not(.is--enter) {
|
|
@@ -117,6 +118,14 @@
|
|
|
117
118
|
width: var(--vxe-ui-layout-aside-default-width);
|
|
118
119
|
box-shadow: var(--vxe-ui-menu-collapse-wrapper-box-shadow);
|
|
119
120
|
}
|
|
121
|
+
& > .vxe-menu--header,
|
|
122
|
+
& > .vxe-menu--footer {
|
|
123
|
+
flex-shrink: 0;
|
|
124
|
+
}
|
|
125
|
+
& > .vxe-menu--body {
|
|
126
|
+
flex-grow: 1;
|
|
127
|
+
overflow: hidden;
|
|
128
|
+
}
|
|
120
129
|
}
|
|
121
130
|
|
|
122
131
|
.vxe-menu--item-link {
|
|
@@ -7,8 +7,6 @@
|
|
|
7
7
|
& > .vxe-scrollbar--view {
|
|
8
8
|
scrollbar-width: none;
|
|
9
9
|
-ms-overflow-style: none;
|
|
10
|
-
overflow-x: auto;
|
|
11
|
-
overflow-y: auto;
|
|
12
10
|
}
|
|
13
11
|
& > .vxe-scrollbar--view::-webkit-scrollbar {
|
|
14
12
|
display: none;
|
|
@@ -21,7 +19,7 @@
|
|
|
21
19
|
}
|
|
22
20
|
& > .vxe-scrollbar--track-x {
|
|
23
21
|
opacity: 0;
|
|
24
|
-
@include baseMixin.createAnimationTransition(opacity, 0.
|
|
22
|
+
@include baseMixin.createAnimationTransition(opacity, 0.8s);
|
|
25
23
|
}
|
|
26
24
|
}
|
|
27
25
|
&.ov-y--auto-hide {
|
|
@@ -32,25 +30,11 @@
|
|
|
32
30
|
}
|
|
33
31
|
& > .vxe-scrollbar--track-y {
|
|
34
32
|
opacity: 0;
|
|
35
|
-
@include baseMixin.createAnimationTransition(opacity, 0.
|
|
33
|
+
@include baseMixin.createAnimationTransition(opacity, 0.8s);
|
|
36
34
|
}
|
|
37
35
|
}
|
|
38
36
|
}
|
|
39
37
|
&.is--native {
|
|
40
|
-
& > .vxe-scrollbar--view {
|
|
41
|
-
overflow-x: auto;
|
|
42
|
-
overflow-y: auto;
|
|
43
|
-
}
|
|
44
|
-
&.ov-x--hidden {
|
|
45
|
-
& > .vxe-scrollbar--view {
|
|
46
|
-
overflow-x: hidden;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
&.ov-y--hidden {
|
|
50
|
-
& > .vxe-scrollbar--view {
|
|
51
|
-
overflow-y: hidden;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
38
|
& > .vxe-scrollbar--view::-webkit-scrollbar {
|
|
55
39
|
width: var(--vxe-ui-scrollbar-y-width);
|
|
56
40
|
height: var(--vxe-ui-scrollbar-x-height);
|
|
@@ -66,25 +50,47 @@
|
|
|
66
50
|
background-color: var(--vxe-ui-scrollbar-thumb-active-background-color);
|
|
67
51
|
}
|
|
68
52
|
}
|
|
53
|
+
&.ov-x--hidden {
|
|
54
|
+
& > .vxe-scrollbar--view {
|
|
55
|
+
overflow-x: hidden;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
&.ov-y--hidden {
|
|
59
|
+
& > .vxe-scrollbar--view {
|
|
60
|
+
overflow-y: hidden;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
69
63
|
}
|
|
70
64
|
|
|
71
65
|
.vxe-scrollbar--view {
|
|
72
66
|
height: 100%;
|
|
73
67
|
width: 100%;
|
|
68
|
+
overflow-x: auto;
|
|
69
|
+
overflow-y: auto;
|
|
74
70
|
}
|
|
75
71
|
|
|
76
72
|
.vxe-scrollbar--track-x,
|
|
77
73
|
.vxe-scrollbar--track-y {
|
|
74
|
+
display: none;
|
|
78
75
|
position: absolute;
|
|
79
76
|
background-color: var(--vxe-ui-scrollbar-track-background-color);
|
|
80
77
|
user-select: none;
|
|
81
78
|
}
|
|
79
|
+
.vxe-scrollbar {
|
|
80
|
+
&.overflow-y {
|
|
81
|
+
& > .vxe-scrollbar--track-x,
|
|
82
|
+
& > .vxe-scrollbar--track-y {
|
|
83
|
+
display: block;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
82
87
|
|
|
83
88
|
.vxe-scrollbar--track-x {
|
|
84
89
|
width: 100%;
|
|
85
90
|
bottom: 0;
|
|
86
91
|
left: 0;
|
|
87
92
|
height: var(--vxe-ui-scrollbar-x-height);
|
|
93
|
+
padding: var(--vxe-ui-scrollbar-track-padding) 0;
|
|
88
94
|
}
|
|
89
95
|
|
|
90
96
|
.vxe-scrollbar--track-y {
|
|
@@ -92,6 +98,7 @@
|
|
|
92
98
|
right: 0;
|
|
93
99
|
top: 0;
|
|
94
100
|
width: var(--vxe-ui-scrollbar-y-width);
|
|
101
|
+
padding: 0 var(--vxe-ui-scrollbar-track-padding);
|
|
95
102
|
}
|
|
96
103
|
|
|
97
104
|
.vxe-scrollbar--thumb-y {
|
|
@@ -103,7 +110,7 @@
|
|
|
103
110
|
|
|
104
111
|
.vxe-scrollbar--thumb-x,
|
|
105
112
|
.vxe-scrollbar--thumb-y {
|
|
106
|
-
border-radius: var(--vxe-ui-
|
|
113
|
+
border-radius: var(--vxe-ui-scrollbar-thumb-border-radius);
|
|
107
114
|
background-color: var(--vxe-ui-scrollbar-thumb-background-color);
|
|
108
115
|
&:hover {
|
|
109
116
|
background-color: var(--vxe-ui-scrollbar-thumb-hover-background-color);
|
|
@@ -1,63 +1,34 @@
|
|
|
1
1
|
@use "sass:map";
|
|
2
2
|
@use "sass:list";
|
|
3
|
+
@use '../helpers/themeStatus.scss';
|
|
3
4
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
textColor: var(--vxe-ui-status-info-color),
|
|
24
|
-
btnColor: #fff,
|
|
25
|
-
btnLightenColor: var(--vxe-ui-status-info-lighten-color),
|
|
26
|
-
btnDarkenColor: var(--vxe-ui-status-info-darken-color),
|
|
27
|
-
btnDisabledColor: var(--vxe-ui-status-info-disabled-color)
|
|
28
|
-
),
|
|
29
|
-
(
|
|
30
|
-
name: "warning",
|
|
31
|
-
textColor: var(--vxe-ui-status-warning-color),
|
|
32
|
-
btnColor: #fff,
|
|
33
|
-
btnLightenColor: var(--vxe-ui-status-warning-lighten-color),
|
|
34
|
-
btnDarkenColor: var(--vxe-ui-status-warning-darken-color),
|
|
35
|
-
btnDisabledColor: var(--vxe-ui-status-warning-disabled-color)
|
|
36
|
-
),
|
|
37
|
-
(
|
|
38
|
-
name: "danger",
|
|
39
|
-
textColor: var(--vxe-ui-status-danger-color),
|
|
40
|
-
btnColor: #fff,
|
|
41
|
-
btnLightenColor: var(--vxe-ui-status-danger-lighten-color),
|
|
42
|
-
btnDarkenColor: var(--vxe-ui-status-danger-darken-color),
|
|
43
|
-
btnDisabledColor: var(--vxe-ui-status-danger-disabled-color)
|
|
44
|
-
),
|
|
45
|
-
(
|
|
46
|
-
name: "error",
|
|
47
|
-
textColor: var(--vxe-ui-status-error-color),
|
|
48
|
-
btnColor: #fff,
|
|
49
|
-
btnLightenColor: var(--vxe-ui-status-error-lighten-color),
|
|
50
|
-
btnDarkenColor: var(--vxe-ui-status-error-darken-color),
|
|
51
|
-
btnDisabledColor: var(--vxe-ui-status-error-disabled-color)
|
|
52
|
-
)
|
|
53
|
-
);
|
|
5
|
+
// 局部变量
|
|
6
|
+
.vxe-text-ellipsis {
|
|
7
|
+
--vxe-ui-text-ellipsis-current-font-size: inherit;
|
|
8
|
+
&.size--xlarge {
|
|
9
|
+
--vxe-ui-text-ellipsis-current-font-size: var(--vxe-ui-font-size-xlarge);
|
|
10
|
+
}
|
|
11
|
+
&.size--large {
|
|
12
|
+
--vxe-ui-text-ellipsis-current-font-size: var(--vxe-ui-font-size-large);
|
|
13
|
+
}
|
|
14
|
+
&.size--medium {
|
|
15
|
+
--vxe-ui-text-ellipsis-current-font-size: var(--vxe-ui-font-size-medium);
|
|
16
|
+
}
|
|
17
|
+
&.size--small {
|
|
18
|
+
--vxe-ui-text-ellipsis-current-font-size: var(--vxe-ui-font-size-small);
|
|
19
|
+
}
|
|
20
|
+
&.size--mini {
|
|
21
|
+
--vxe-ui-text-ellipsis-current-font-size: var(--vxe-ui-font-size-mini);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
54
24
|
|
|
55
25
|
.vxe-text-ellipsis {
|
|
56
26
|
display: block;
|
|
57
27
|
overflow: hidden;
|
|
58
28
|
white-space: normal;
|
|
59
|
-
|
|
60
|
-
|
|
29
|
+
font-size: var(--vxe-ui-text-ellipsis-current-font-size);
|
|
30
|
+
@for $index from 0 to list.length(themeStatus.$btnThemeList) {
|
|
31
|
+
$item: list.nth(themeStatus.$btnThemeList, $index + 1);
|
|
61
32
|
&.theme--#{map.get($item, name)} {
|
|
62
33
|
color: map.get($item, textColor);
|
|
63
34
|
& > .vxe-text-ellipsis--link {
|
|
@@ -117,15 +88,3 @@ $btnThemeList: (
|
|
|
117
88
|
text-decoration: none;
|
|
118
89
|
color: inherit;
|
|
119
90
|
}
|
|
120
|
-
|
|
121
|
-
.vxe-text-ellipsis {
|
|
122
|
-
&.size--medium {
|
|
123
|
-
font-size: var(--vxe-ui-font-size-medium);
|
|
124
|
-
}
|
|
125
|
-
&.size--small {
|
|
126
|
-
font-size: var(--vxe-ui-font-size-small);
|
|
127
|
-
}
|
|
128
|
-
&.size--mini {
|
|
129
|
-
font-size: var(--vxe-ui-font-size-mini);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
@@ -412,9 +412,8 @@
|
|
|
412
412
|
flex-direction: row;
|
|
413
413
|
justify-content: center;
|
|
414
414
|
align-items: center;
|
|
415
|
-
width: 1.
|
|
416
|
-
height: 1.
|
|
417
|
-
font-size: 0.8em;
|
|
415
|
+
width: 1.2em;
|
|
416
|
+
height: 1.2em;
|
|
418
417
|
border-radius: 50%;
|
|
419
418
|
color: #fff;
|
|
420
419
|
background-color: var(--vxe-ui-status-error-color);
|
|
@@ -423,6 +422,9 @@
|
|
|
423
422
|
&:hover {
|
|
424
423
|
background-color: var(--vxe-ui-status-error-lighten-color);
|
|
425
424
|
}
|
|
425
|
+
i {
|
|
426
|
+
font-size: 0.6em;
|
|
427
|
+
}
|
|
426
428
|
}
|
|
427
429
|
|
|
428
430
|
.vxe-upload--file-message-over-error {
|