vxe-pc-ui 4.11.28 → 4.11.29

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 (233) hide show
  1. package/README.md +6 -0
  2. package/es/backtop/index.js +12 -0
  3. package/es/backtop/src/backtop.js +231 -0
  4. package/es/backtop/style.css +90 -0
  5. package/es/backtop/style.min.css +1 -0
  6. package/es/cascader/index.js +12 -0
  7. package/es/cascader/src/cascader.js +669 -0
  8. package/es/cascader/style.css +168 -0
  9. package/es/cascader/style.min.css +1 -0
  10. package/es/components.js +18 -0
  11. package/es/icon/{iconfont.1767178201934.ttf → iconfont.1767441272505.ttf} +0 -0
  12. package/es/icon/iconfont.1767441272505.woff +0 -0
  13. package/es/icon/iconfont.1767441272505.woff2 +0 -0
  14. package/es/icon/style.css +9 -1
  15. package/es/icon/style.min.css +1 -1
  16. package/{lib/icon/style/iconfont.1767178201934.ttf → es/iconfont.1767441272505.ttf} +0 -0
  17. package/es/iconfont.1767441272505.woff +0 -0
  18. package/es/iconfont.1767441272505.woff2 +0 -0
  19. package/es/layout-body/src/layout-body.js +39 -6
  20. package/es/mention/index.js +12 -0
  21. package/es/mention/src/mention.js +51 -0
  22. package/es/mention/style.css +0 -0
  23. package/es/mention/style.min.css +0 -0
  24. package/es/segmented/index.js +12 -0
  25. package/es/segmented/src/segmented.js +218 -0
  26. package/es/segmented/style.css +195 -0
  27. package/es/segmented/style.min.css +1 -0
  28. package/es/style.css +1 -1
  29. package/es/style.min.css +1 -1
  30. package/es/tabs/src/tabs.js +1 -4
  31. package/es/timeline/index.js +12 -0
  32. package/es/timeline/src/timeline-item.js +46 -0
  33. package/es/timeline/src/timeline.js +51 -0
  34. package/es/timeline/style.css +0 -0
  35. package/es/timeline/style.min.css +0 -0
  36. package/es/timeline-item/index.js +12 -0
  37. package/es/timeline-item/style.css +0 -0
  38. package/es/timeline-item/style.min.css +0 -0
  39. package/es/tour/index.js +12 -0
  40. package/es/tour/src/tour.js +51 -0
  41. package/es/tour/style.css +0 -0
  42. package/es/tour/style.min.css +0 -0
  43. package/es/ui/index.js +15 -2
  44. package/es/ui/src/log.js +1 -1
  45. package/es/vxe-backtop/index.js +3 -0
  46. package/es/vxe-backtop/style.css +90 -0
  47. package/es/vxe-backtop/style.min.css +1 -0
  48. package/es/vxe-cascader/index.js +3 -0
  49. package/es/vxe-cascader/style.css +168 -0
  50. package/es/vxe-cascader/style.min.css +1 -0
  51. package/es/vxe-icon/style.css +9 -1
  52. package/es/vxe-icon/style.min.css +1 -1
  53. package/es/vxe-mention/index.js +3 -0
  54. package/es/vxe-mention/style.css +0 -0
  55. package/es/vxe-mention/style.min.css +0 -0
  56. package/es/vxe-segmented/index.js +3 -0
  57. package/es/vxe-segmented/style.css +195 -0
  58. package/es/vxe-segmented/style.min.css +1 -0
  59. package/es/vxe-timeline/index.js +3 -0
  60. package/es/vxe-timeline/style.css +0 -0
  61. package/es/vxe-timeline/style.min.css +0 -0
  62. package/es/vxe-timeline-item/index.js +3 -0
  63. package/es/vxe-timeline-item/style.css +0 -0
  64. package/es/vxe-timeline-item/style.min.css +0 -0
  65. package/es/vxe-tour/index.js +3 -0
  66. package/es/vxe-tour/style.css +0 -0
  67. package/es/vxe-tour/style.min.css +0 -0
  68. package/lib/backtop/index.js +19 -0
  69. package/lib/backtop/index.min.js +1 -0
  70. package/lib/backtop/src/backtop.js +256 -0
  71. package/lib/backtop/src/backtop.min.js +1 -0
  72. package/lib/backtop/style/index.js +1 -0
  73. package/lib/backtop/style/style.css +90 -0
  74. package/lib/backtop/style/style.min.css +1 -0
  75. package/lib/cascader/index.js +19 -0
  76. package/lib/cascader/index.min.js +1 -0
  77. package/lib/cascader/src/cascader.js +723 -0
  78. package/lib/cascader/src/cascader.min.js +1 -0
  79. package/lib/cascader/style/index.js +1 -0
  80. package/lib/cascader/style/style.css +168 -0
  81. package/lib/cascader/style/style.min.css +1 -0
  82. package/lib/components.js +73 -1
  83. package/lib/components.min.js +1 -1
  84. package/lib/{iconfont.1767178201934.ttf → icon/style/iconfont.1767441272505.ttf} +0 -0
  85. package/lib/icon/style/iconfont.1767441272505.woff +0 -0
  86. package/lib/icon/style/iconfont.1767441272505.woff2 +0 -0
  87. package/lib/icon/style/style.css +9 -1
  88. package/lib/icon/style/style.min.css +9 -1
  89. package/{es/iconfont.1767178201934.ttf → lib/iconfont.1767441272505.ttf} +0 -0
  90. package/lib/iconfont.1767441272505.woff +0 -0
  91. package/lib/iconfont.1767441272505.woff2 +0 -0
  92. package/lib/index.umd.js +5255 -3740
  93. package/lib/index.umd.min.js +1 -1
  94. package/lib/layout-body/src/layout-body.js +34 -4
  95. package/lib/layout-body/src/layout-body.min.js +1 -1
  96. package/lib/mention/index.js +19 -0
  97. package/lib/mention/index.min.js +1 -0
  98. package/lib/mention/src/mention.js +62 -0
  99. package/lib/mention/src/mention.min.js +1 -0
  100. package/lib/mention/style/index.js +1 -0
  101. package/lib/mention/style/style.css +0 -0
  102. package/lib/mention/style/style.min.css +0 -0
  103. package/lib/segmented/index.js +19 -0
  104. package/lib/segmented/index.min.js +1 -0
  105. package/lib/segmented/src/segmented.js +237 -0
  106. package/lib/segmented/src/segmented.min.js +1 -0
  107. package/lib/segmented/style/index.js +1 -0
  108. package/lib/segmented/style/style.css +195 -0
  109. package/lib/segmented/style/style.min.css +1 -0
  110. package/lib/style.css +1 -1
  111. package/lib/style.min.css +1 -1
  112. package/lib/tabs/src/tabs.js +1 -5
  113. package/lib/tabs/src/tabs.min.js +1 -1
  114. package/lib/timeline/index.js +19 -0
  115. package/lib/timeline/index.min.js +1 -0
  116. package/lib/timeline/src/timeline-item.js +57 -0
  117. package/lib/timeline/src/timeline-item.min.js +1 -0
  118. package/lib/timeline/src/timeline.js +62 -0
  119. package/lib/timeline/src/timeline.min.js +1 -0
  120. package/lib/timeline/style/index.js +1 -0
  121. package/lib/timeline/style/style.css +0 -0
  122. package/lib/timeline/style/style.min.css +0 -0
  123. package/lib/timeline-item/index.js +19 -0
  124. package/lib/timeline-item/index.min.js +1 -0
  125. package/lib/timeline-item/style/index.js +1 -0
  126. package/lib/timeline-item/style/style.css +0 -0
  127. package/lib/timeline-item/style/style.min.css +0 -0
  128. package/lib/tour/index.js +19 -0
  129. package/lib/tour/index.min.js +1 -0
  130. package/lib/tour/src/tour.js +62 -0
  131. package/lib/tour/src/tour.min.js +1 -0
  132. package/lib/tour/style/index.js +1 -0
  133. package/lib/tour/style/style.css +0 -0
  134. package/lib/tour/style/style.min.css +0 -0
  135. package/lib/ui/index.js +15 -2
  136. package/lib/ui/index.min.js +1 -1
  137. package/lib/ui/src/log.js +1 -1
  138. package/lib/ui/src/log.min.js +1 -1
  139. package/lib/vxe-backtop/index.js +22 -0
  140. package/lib/vxe-backtop/index.min.js +1 -0
  141. package/lib/vxe-backtop/style/index.js +1 -0
  142. package/lib/vxe-backtop/style/style.css +90 -0
  143. package/lib/vxe-backtop/style/style.min.css +1 -0
  144. package/lib/vxe-cascader/index.js +22 -0
  145. package/lib/vxe-cascader/index.min.js +1 -0
  146. package/lib/vxe-cascader/style/index.js +1 -0
  147. package/lib/vxe-cascader/style/style.css +168 -0
  148. package/lib/vxe-cascader/style/style.min.css +1 -0
  149. package/lib/vxe-icon/style/style.css +9 -1
  150. package/lib/vxe-icon/style/style.min.css +1 -1
  151. package/lib/vxe-mention/index.js +22 -0
  152. package/lib/vxe-mention/index.min.js +1 -0
  153. package/lib/vxe-mention/style/index.js +1 -0
  154. package/lib/vxe-mention/style/style.css +0 -0
  155. package/lib/vxe-mention/style/style.min.css +0 -0
  156. package/lib/vxe-segmented/index.js +22 -0
  157. package/lib/vxe-segmented/index.min.js +1 -0
  158. package/lib/vxe-segmented/style/index.js +1 -0
  159. package/lib/vxe-segmented/style/style.css +195 -0
  160. package/lib/vxe-segmented/style/style.min.css +1 -0
  161. package/lib/vxe-timeline/index.js +22 -0
  162. package/lib/vxe-timeline/index.min.js +1 -0
  163. package/lib/vxe-timeline/style/index.js +1 -0
  164. package/lib/vxe-timeline/style/style.css +0 -0
  165. package/lib/vxe-timeline/style/style.min.css +0 -0
  166. package/lib/vxe-timeline-item/index.js +22 -0
  167. package/lib/vxe-timeline-item/index.min.js +1 -0
  168. package/lib/vxe-timeline-item/style/index.js +1 -0
  169. package/lib/vxe-timeline-item/style/style.css +0 -0
  170. package/lib/vxe-timeline-item/style/style.min.css +0 -0
  171. package/lib/vxe-tour/index.js +22 -0
  172. package/lib/vxe-tour/index.min.js +1 -0
  173. package/lib/vxe-tour/style/index.js +1 -0
  174. package/lib/vxe-tour/style/style.css +0 -0
  175. package/lib/vxe-tour/style/style.min.css +0 -0
  176. package/package.json +1 -1
  177. package/packages/backtop/index.ts +16 -0
  178. package/packages/backtop/src/backtop.ts +264 -0
  179. package/packages/cascader/index.ts +16 -0
  180. package/packages/cascader/src/cascader.ts +739 -0
  181. package/packages/components.ts +18 -0
  182. package/packages/layout-body/src/layout-body.ts +43 -9
  183. package/packages/mention/index.ts +16 -0
  184. package/packages/mention/src/mention.ts +71 -0
  185. package/packages/segmented/index.ts +16 -0
  186. package/packages/segmented/src/segmented.ts +254 -0
  187. package/packages/tabs/src/tabs.ts +1 -4
  188. package/packages/timeline/index.ts +16 -0
  189. package/packages/timeline/src/timeline-item.ts +67 -0
  190. package/packages/timeline/src/timeline.ts +71 -0
  191. package/packages/timeline-item/index.ts +16 -0
  192. package/packages/tour/index.ts +16 -0
  193. package/packages/tour/src/tour.ts +71 -0
  194. package/packages/ui/index.ts +15 -1
  195. package/styles/all.scss +7 -0
  196. package/styles/components/backtop.scss +111 -0
  197. package/styles/components/cascader.scss +140 -0
  198. package/styles/components/icon.scss +9 -2
  199. package/styles/components/mention.scss +0 -0
  200. package/styles/components/segmented.scss +214 -0
  201. package/styles/components/timeline-item.scss +0 -0
  202. package/styles/components/timeline.scss +0 -0
  203. package/styles/components/tour.scss +0 -0
  204. package/styles/icon/iconfont.ttf +0 -0
  205. package/styles/icon/iconfont.woff +0 -0
  206. package/styles/icon/iconfont.woff2 +0 -0
  207. package/styles/theme/base.scss +4 -0
  208. package/types/all.d.ts +21 -0
  209. package/types/components/backtop.d.ts +111 -0
  210. package/types/components/cascader.d.ts +255 -0
  211. package/types/components/icon.d.ts +2 -2
  212. package/types/components/layout-body.d.ts +9 -0
  213. package/types/components/list.d.ts +2 -2
  214. package/types/components/mention.d.ts +77 -0
  215. package/types/components/rate.d.ts +1 -1
  216. package/types/components/segmented.d.ts +123 -0
  217. package/types/components/select.d.ts +1 -1
  218. package/types/components/table.d.ts +4 -4
  219. package/types/components/timeline-item.d.ts +75 -0
  220. package/types/components/timeline.d.ts +77 -0
  221. package/types/components/tour.d.ts +77 -0
  222. package/types/components/tree-select.d.ts +1 -1
  223. package/types/components/tree.d.ts +1 -1
  224. package/types/ui/global-config.d.ts +14 -0
  225. package/types/ui/global-icon.d.ts +3 -0
  226. package/es/icon/iconfont.1767178201934.woff +0 -0
  227. package/es/icon/iconfont.1767178201934.woff2 +0 -0
  228. package/es/iconfont.1767178201934.woff +0 -0
  229. package/es/iconfont.1767178201934.woff2 +0 -0
  230. package/lib/icon/style/iconfont.1767178201934.woff +0 -0
  231. package/lib/icon/style/iconfont.1767178201934.woff2 +0 -0
  232. package/lib/iconfont.1767178201934.woff +0 -0
  233. package/lib/iconfont.1767178201934.woff2 +0 -0
@@ -0,0 +1,71 @@
1
+ import { ref, h, reactive, PropType } from 'vue'
2
+ import { defineVxeComponent } from '../../ui/src/comp'
3
+ import XEUtils from 'xe-utils'
4
+ import { getConfig, createEvent } from '../../ui'
5
+
6
+ import type { TimelineReactData, VxeTimelinePropTypes, TimelinePrivateRef, VxeTimelineEmits, VxeTimelinePrivateComputed, TimelineMethods, TimelinePrivateMethods, VxeTimelineConstructor, VxeTimelinePrivateMethods, ValueOf } from '../../../types'
7
+
8
+ export default defineVxeComponent({
9
+ name: 'VxeTimeline',
10
+ props: {
11
+ size: {
12
+ type: String as PropType<VxeTimelinePropTypes.Size>,
13
+ default: () => getConfig().timeline.size || getConfig().size
14
+ }
15
+ },
16
+ emits: [
17
+ ] as VxeTimelineEmits,
18
+ setup (props, context) {
19
+ const { emit } = context
20
+
21
+ const xID = XEUtils.uniqueId()
22
+
23
+ const refElem = ref<HTMLDivElement>()
24
+
25
+ const reactData = reactive<TimelineReactData>({})
26
+
27
+ const refMaps: TimelinePrivateRef = {
28
+ refElem
29
+ }
30
+
31
+ const computeMaps: VxeTimelinePrivateComputed = {
32
+ }
33
+
34
+ const $xeTimeline = {
35
+ xID,
36
+ props,
37
+ context,
38
+ reactData,
39
+
40
+ getRefMaps: () => refMaps,
41
+ getComputeMaps: () => computeMaps
42
+ } as unknown as VxeTimelineConstructor & VxeTimelinePrivateMethods
43
+
44
+ const dispatchEvent = (type: ValueOf<VxeTimelineEmits>, params: Record<string, any>, evnt: Event | null) => {
45
+ emit(type, createEvent(evnt, { $timeline: $xeTimeline }, params))
46
+ }
47
+
48
+ const tagMethods: TimelineMethods = {
49
+ dispatchEvent
50
+ }
51
+
52
+ const tagPrivateMethods: TimelinePrivateMethods = {
53
+ }
54
+
55
+ Object.assign($xeTimeline, tagMethods, tagPrivateMethods)
56
+
57
+ const renderVN = () => {
58
+ return h('div', {
59
+ ref: refElem,
60
+ class: 'vxe-timeline'
61
+ })
62
+ }
63
+
64
+ $xeTimeline.renderVN = renderVN
65
+
66
+ return $xeTimeline
67
+ },
68
+ render () {
69
+ return this.renderVN()
70
+ }
71
+ })
@@ -0,0 +1,16 @@
1
+ import { App } from 'vue'
2
+ import { VxeUI } from '@vxe-ui/core'
3
+ import VxeTimelineItemComponent from '../timeline/src/timeline-item'
4
+ import { dynamicApp } from '../dynamics'
5
+
6
+ export const VxeTimelineItem = Object.assign({}, VxeTimelineItemComponent, {
7
+ install (app: App) {
8
+ app.component(VxeTimelineItemComponent.name as string, VxeTimelineItemComponent)
9
+ }
10
+ })
11
+
12
+ dynamicApp.use(VxeTimelineItem)
13
+ VxeUI.component(VxeTimelineItemComponent)
14
+
15
+ export const TimelineItem = VxeTimelineItem
16
+ export default VxeTimelineItem
@@ -0,0 +1,16 @@
1
+ import { App } from 'vue'
2
+ import { VxeUI } from '@vxe-ui/core'
3
+ import VxeTourComponent from './src/tour'
4
+ import { dynamicApp } from '../dynamics'
5
+
6
+ export const VxeTour = Object.assign({}, VxeTourComponent, {
7
+ install (app: App) {
8
+ app.component(VxeTourComponent.name as string, VxeTourComponent)
9
+ }
10
+ })
11
+
12
+ dynamicApp.use(VxeTour)
13
+ VxeUI.component(VxeTourComponent)
14
+
15
+ export const Tour = VxeTour
16
+ export default VxeTour
@@ -0,0 +1,71 @@
1
+ import { ref, h, reactive, PropType } from 'vue'
2
+ import { defineVxeComponent } from '../../ui/src/comp'
3
+ import XEUtils from 'xe-utils'
4
+ import { getConfig, createEvent } from '../../ui'
5
+
6
+ import type { TourReactData, VxeTourPropTypes, TourPrivateRef, VxeTourEmits, VxeTourPrivateComputed, TourMethods, TourPrivateMethods, VxeTourConstructor, VxeTourPrivateMethods, ValueOf } from '../../../types'
7
+
8
+ export default defineVxeComponent({
9
+ name: 'VxeTour',
10
+ props: {
11
+ size: {
12
+ type: String as PropType<VxeTourPropTypes.Size>,
13
+ default: () => getConfig().tour.size || getConfig().size
14
+ }
15
+ },
16
+ emits: [
17
+ ] as VxeTourEmits,
18
+ setup (props, context) {
19
+ const { emit } = context
20
+
21
+ const xID = XEUtils.uniqueId()
22
+
23
+ const refElem = ref<HTMLDivElement>()
24
+
25
+ const reactData = reactive<TourReactData>({})
26
+
27
+ const refMaps: TourPrivateRef = {
28
+ refElem
29
+ }
30
+
31
+ const computeMaps: VxeTourPrivateComputed = {
32
+ }
33
+
34
+ const $xeTour = {
35
+ xID,
36
+ props,
37
+ context,
38
+ reactData,
39
+
40
+ getRefMaps: () => refMaps,
41
+ getComputeMaps: () => computeMaps
42
+ } as unknown as VxeTourConstructor & VxeTourPrivateMethods
43
+
44
+ const dispatchEvent = (type: ValueOf<VxeTourEmits>, params: Record<string, any>, evnt: Event | null) => {
45
+ emit(type, createEvent(evnt, { $tour: $xeTour }, params))
46
+ }
47
+
48
+ const tagMethods: TourMethods = {
49
+ dispatchEvent
50
+ }
51
+
52
+ const tagPrivateMethods: TourPrivateMethods = {
53
+ }
54
+
55
+ Object.assign($xeTour, tagMethods, tagPrivateMethods)
56
+
57
+ const renderVN = () => {
58
+ return h('div', {
59
+ ref: refElem,
60
+ class: 'vxe-tour'
61
+ })
62
+ }
63
+
64
+ $xeTour.renderVN = renderVN
65
+
66
+ return $xeTour
67
+ },
68
+ render () {
69
+ return this.renderVN()
70
+ }
71
+ })
@@ -28,6 +28,11 @@ setConfig({
28
28
  anchor: {},
29
29
  anchorLink: {},
30
30
  avatar: {},
31
+ backtop: {
32
+ showIcon: true,
33
+ showContent: true,
34
+ threshold: 20
35
+ },
31
36
  badge: {},
32
37
  breadcrumb: {
33
38
  separator: '/'
@@ -60,6 +65,9 @@ setConfig({
60
65
  interval: 5000
61
66
  },
62
67
  carouselItem: {},
68
+ cascader: {
69
+ autoClose: true
70
+ },
63
71
  checkbox: {},
64
72
  checkboxButton: {},
65
73
  checkboxGroup: {},
@@ -297,6 +305,7 @@ setConfig({
297
305
  rate: {},
298
306
  result: {},
299
307
  row: {},
308
+ segmented: {},
300
309
  select: {
301
310
  multiCharOverflow: 8,
302
311
  remoteConfig: {
@@ -361,6 +370,8 @@ setConfig({
361
370
  textarea: {
362
371
  resize: 'none'
363
372
  },
373
+ timeline: {},
374
+ timelineItem: {},
364
375
  tip: {},
365
376
  tooltip: {
366
377
  // size: null,
@@ -658,7 +669,10 @@ setIcon({
658
669
  SPLIT_TOP_ACTION: iconPrefix + 'arrow-up',
659
670
  SPLIT_BOTTOM_ACTION: iconPrefix + 'arrow-down',
660
671
  SPLIT_LEFT_ACTION: iconPrefix + 'arrow-left',
661
- SPLIT_RIGHT_ACTION: iconPrefix + 'arrow-right'
672
+ SPLIT_RIGHT_ACTION: iconPrefix + 'arrow-right',
673
+
674
+ // backtop
675
+ BACKTOP_TOP: iconPrefix + 'top'
662
676
  })
663
677
 
664
678
  export * from '@vxe-ui/core'
package/styles/all.scss CHANGED
@@ -4,6 +4,7 @@
4
4
  @use './components/anchor.scss';
5
5
  @use './components/anchor-link.scss';
6
6
  @use './components/avatar.scss';
7
+ @use './components/backtop.scss';
7
8
  @use './components/badge.scss';
8
9
  @use './components/breadcrumb.scss';
9
10
  @use './components/breadcrumb-item.scss';
@@ -13,6 +14,7 @@
13
14
  @use './components/card.scss';
14
15
  @use './components/carousel.scss';
15
16
  @use './components/carousel-item.scss';
17
+ @use './components/cascader.scss';
16
18
  @use './components/checkbox.scss';
17
19
  @use './components/checkbox-button.scss';
18
20
  @use './components/checkbox-group.scss';
@@ -44,6 +46,7 @@
44
46
  @use './components/link.scss';
45
47
  @use './components/list.scss';
46
48
  @use './components/loading.scss';
49
+ @use './components/mention.scss';
47
50
  @use './components/menu.scss';
48
51
  @use './components/modal.scss';
49
52
  @use './components/notice-bar.scss';
@@ -61,6 +64,7 @@
61
64
  @use './components/rate.scss';
62
65
  @use './components/result.scss';
63
66
  @use './components/row.scss';
67
+ @use './components/segmented.scss';
64
68
  @use './components/select.scss';
65
69
  @use './components/split.scss';
66
70
  @use './components/split-pane.scss';
@@ -74,8 +78,11 @@
74
78
  @use './components/text-ellipsis.scss';
75
79
  @use './components/text.scss';
76
80
  @use './components/textarea.scss';
81
+ @use './components/timeline.scss';
82
+ @use './components/timeline-item.scss';
77
83
  @use './components/tip.scss';
78
84
  @use './components/tooltip.scss';
85
+ @use './components/tour.scss';
79
86
  @use './components/tree.scss';
80
87
  @use './components/tree-select.scss';
81
88
  @use './components/upload.scss';
@@ -0,0 +1,111 @@
1
+ @use "sass:map";
2
+ @use "sass:list";
3
+
4
+ $backtopThemeList: (
5
+ (
6
+ name: "primary",
7
+ fontColot: #fff,
8
+ bgColor: var(--vxe-ui-font-primary-color)
9
+ ),
10
+ (
11
+ name: "success",
12
+ fontColot: #fff,
13
+ bgColor: var(--vxe-ui-status-success-color)
14
+ ),
15
+ (
16
+ name: "info",
17
+ fontColot: #fff,
18
+ bgColor: var(--vxe-ui-status-info-color)
19
+ ),
20
+ (
21
+ name: "warning",
22
+ fontColot: #fff,
23
+ bgColor: var(--vxe-ui-status-warning-color)
24
+ ),
25
+ (
26
+ name: "danger",
27
+ fontColot: #fff,
28
+ bgColor: var(--vxe-ui-status-danger-color)
29
+ ),
30
+ (
31
+ name: "error",
32
+ fontColot: #fff,
33
+ bgColor: var(--vxe-ui-status-error-color)
34
+ )
35
+ );
36
+
37
+ .vxe-backtop {
38
+ display: inline-flex;
39
+ position: absolute;
40
+ opacity: 0;
41
+ right: 1.6em;
42
+ bottom: 1.6em;
43
+ color: var(--vxe-ui-font-color);
44
+ font-family: var(--vxe-ui-font-family);
45
+ background-color: var(--vxe-ui-layout-background-color);
46
+ border-radius: var(--vxe-ui-base-border-radius);;
47
+ transition: all 0.3s;
48
+ cursor: pointer;
49
+ box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
50
+ z-index: 9;
51
+ &.is--visible {
52
+ opacity: 1;
53
+ }
54
+ &.is--circle {
55
+ border-radius: 50%;
56
+ .vxe-backtop--inner {
57
+ border-radius: 50%;
58
+ }
59
+ }
60
+ &.is--fixed {
61
+ position: fixed;
62
+ }
63
+ &.is--absolute {
64
+ position: absolute;
65
+ }
66
+ }
67
+
68
+ .vxe-backtop--inner {
69
+ min-width: 3em;
70
+ min-height: 3em;
71
+ padding: 0.4em;
72
+ display: flex;
73
+ text-align: center;
74
+ flex-direction: column;
75
+ align-items: center;
76
+ justify-content: center;
77
+ border-radius: var(--vxe-ui-base-border-radius);;
78
+ }
79
+
80
+ .vxe-backtop {
81
+ &:hover {
82
+ color: var(--vxe-ui-font-primary-color);
83
+ .vxe-backtop--inner {
84
+ background-color: rgba(0, 0, 0, 0.1);
85
+ }
86
+ }
87
+ @for $index from 0 to list.length($backtopThemeList) {
88
+ $item: list.nth($backtopThemeList, $index + 1);
89
+ &.theme--#{map.get($item, name)} {
90
+ color: map.get($item, fontColot);
91
+ background-color: map.get($item, bgColor);
92
+ }
93
+ }
94
+ }
95
+
96
+ .vxe-backtop--icon {
97
+ font-size: 1.4em;
98
+ }
99
+
100
+ .vxe-backtop {
101
+ font-size: var(--vxe-ui-font-size-default);
102
+ &.size--medium {
103
+ font-size: var(--vxe-ui-font-size-medium);
104
+ }
105
+ &.size--small {
106
+ font-size: var(--vxe-ui-font-size-small);
107
+ }
108
+ &.size--mini {
109
+ font-size: var(--vxe-ui-font-size-mini);
110
+ }
111
+ }
@@ -0,0 +1,140 @@
1
+ @use '../helpers/baseMixin.scss';
2
+ @use '../helpers/placement.scss';
3
+
4
+ .vxe-cascader {
5
+ position: relative;
6
+ display: inline-block;
7
+ width: 180px;
8
+ color: var(--vxe-ui-font-color);
9
+ text-align: left;
10
+ & > .vxe-input {
11
+ .vxe-input--inner {
12
+ cursor: pointer;
13
+ }
14
+ }
15
+ &.is--filterable {
16
+ .vxe-cascader-tree--wrapper {
17
+ padding-top: 0;
18
+ }
19
+ .vxe-cascader--panel-header {
20
+ border-top: 1px solid var(--vxe-ui-base-popup-border-color);
21
+ }
22
+ }
23
+ &.is--disabled {
24
+ & > .vxe-input {
25
+ .vxe-input--inner {
26
+ cursor: no-drop;
27
+ }
28
+ }
29
+ }
30
+ &.is--loading {
31
+ & > .vxe-input {
32
+ .vxe-input--inner {
33
+ cursor: progress;
34
+ }
35
+ }
36
+ }
37
+ & > .vxe-input {
38
+ width: 100%;
39
+ .vxe-input--suffix-icon > i {
40
+ display: inline-block;
41
+ @include baseMixin.createAnimationTransition(transform, .2s);
42
+ }
43
+ }
44
+ &.is--active {
45
+ &:not(.is--filter) {
46
+ & > .vxe-input {
47
+ border-color: var(--vxe-ui-font-primary-color);
48
+ }
49
+ }
50
+ }
51
+ }
52
+ .vxe-cascader--readonly {
53
+ color: var(--vxe-ui-font-color);
54
+ display: inline-flex;
55
+ }
56
+
57
+ .vxe-cascader--panel {
58
+ pointer-events: none;
59
+ @include placement.createPlacementPanel();
60
+ }
61
+
62
+ .vxe-cascader--panel-search {
63
+ display: block;
64
+ .vxe-cascader-search--input {
65
+ width: 100%;
66
+ }
67
+ }
68
+
69
+ .vxe-cascader--header-button {
70
+ display: flex;
71
+ flex-direction: row;
72
+ white-space: nowrap;
73
+ }
74
+ .vxe-cascader--header-total {
75
+ display: flex;
76
+ flex-direction: row;
77
+ align-items: center;
78
+ justify-content: center;
79
+ flex-shrink: 0;
80
+ padding-left: 0.8em;
81
+ }
82
+ .vxe-cascader--header-btns {
83
+ display: flex;
84
+ flex-direction: row;
85
+ flex-grow: 1;
86
+ justify-content: right;
87
+ }
88
+
89
+ .vxe-cascader--panel-wrapper {
90
+ display: flex;
91
+ flex-direction: column;
92
+ position: relative;
93
+ border-radius: var(--vxe-ui-base-border-radius);
94
+ border: 1px solid var(--vxe-ui-base-popup-border-color);
95
+ box-shadow: var(--vxe-ui-base-popup-box-shadow);
96
+ background-color: var(--vxe-ui-layout-background-color);
97
+ pointer-events: auto;
98
+ }
99
+
100
+ .vxe-cascader--panel-search {
101
+ display: block;
102
+ padding: var(--vxe-ui-layout-padding-default);
103
+ .vxe-cascader-search--input {
104
+ width: 100%;
105
+ }
106
+ }
107
+
108
+ .vxe-cascader--panel-header {
109
+ border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
110
+ }
111
+
112
+ .vxe-cascader--panel-footer {
113
+ border-top: 1px solid var(--vxe-ui-base-popup-border-color);
114
+ }
115
+
116
+ .vxe-cascader--panel-header,
117
+ .vxe-cascader--panel-footer {
118
+ padding: 4px 0;
119
+ }
120
+
121
+ .vxe-cascader-tree--wrapper {
122
+ position: relative;
123
+ overflow: auto;
124
+ padding: var(--vxe-ui-layout-padding-default);
125
+ outline: 0;
126
+ }
127
+
128
+ .vxe-cascader,
129
+ .vxe-cascader--panel {
130
+ font-size: var(--vxe-ui-font-size-default);
131
+ &.size--medium {
132
+ font-size: var(--vxe-ui-font-size-medium);
133
+ }
134
+ &.size--small {
135
+ font-size: var(--vxe-ui-font-size-small);
136
+ }
137
+ &.size--mini {
138
+ font-size: var(--vxe-ui-font-size-mini);
139
+ }
140
+ }