vxe-pc-ui 3.0.0 → 3.0.1
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/button/src/button.js +3 -0
- package/es/carousel/index.js +12 -0
- package/es/carousel/src/carousel-item.js +100 -0
- package/es/carousel/src/carousel.js +418 -0
- package/es/carousel/src/util.js +17 -0
- package/es/carousel/style.css +185 -0
- package/es/carousel/style.min.css +1 -0
- package/es/carousel-item/index.js +12 -0
- package/es/carousel-item/style.css +0 -0
- package/es/carousel-item/style.min.css +0 -0
- package/es/checkbox/index.js +12 -0
- package/es/checkbox/src/checkbox.js +159 -0
- package/es/checkbox/src/group.js +154 -0
- package/es/checkbox/style.css +117 -0
- package/es/checkbox/style.min.css +1 -0
- package/es/checkbox-group/index.js +12 -0
- package/es/checkbox-group/style.css +0 -0
- package/es/checkbox-group/style.min.css +0 -0
- package/es/components.js +39 -39
- package/es/date-picker/src/date-picker.js +3 -0
- package/es/icon/style.css +1 -1
- package/es/icon-picker/index.js +12 -0
- package/es/icon-picker/src/icon-picker.js +668 -0
- package/es/icon-picker/style.css +207 -0
- package/es/icon-picker/style.min.css +1 -0
- package/es/input/index.js +12 -0
- package/es/input/src/input.js +2892 -0
- package/es/input/style.css +941 -0
- package/es/input/style.min.css +1 -0
- package/es/layout-footer/src/layout-footer.js +2 -1
- package/es/layout-header/src/layout-header.js +2 -1
- package/es/optgroup/index.js +12 -0
- package/es/optgroup/style.css +0 -0
- package/es/optgroup/style.min.css +0 -0
- package/es/option/index.js +12 -0
- package/es/option/style.css +0 -0
- package/es/option/style.min.css +0 -0
- package/es/pager/index.js +12 -0
- package/es/pager/src/pager.js +687 -0
- package/es/password-input/index.js +12 -0
- package/es/password-input/src/password-input.js +388 -0
- package/es/password-input/style.css +604 -0
- package/es/password-input/style.min.css +1 -0
- package/es/pulldown/src/pulldown.js +5 -1
- package/es/select/index.js +12 -0
- package/es/select/src/optgroup.js +90 -0
- package/es/select/src/option-info.js +16 -0
- package/es/select/src/option.js +86 -0
- package/es/select/src/select.js +1269 -0
- package/es/select/src/util.js +35 -0
- package/es/select/style.css +207 -0
- package/es/select/style.min.css +1 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tab-pane/index.js +12 -0
- package/es/tab-pane/style.css +0 -0
- package/es/tab-pane/style.min.css +0 -0
- package/es/tabs/index.js +12 -0
- package/es/tabs/src/tab-pane.js +119 -0
- package/es/tabs/src/tabs.js +593 -0
- package/es/tabs/src/util.js +17 -0
- package/es/tabs/style.css +342 -0
- package/es/tabs/style.min.css +1 -0
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-carousel/index.js +3 -0
- package/es/vxe-carousel/style.css +185 -0
- package/es/vxe-carousel/style.min.css +1 -0
- package/es/vxe-carousel-item/index.js +3 -0
- package/es/vxe-carousel-item/style.css +0 -0
- package/es/vxe-carousel-item/style.min.css +0 -0
- package/es/vxe-checkbox/index.js +3 -0
- package/es/vxe-checkbox/style.css +117 -0
- package/es/vxe-checkbox/style.min.css +1 -0
- package/es/vxe-checkbox-group/index.js +3 -0
- package/es/vxe-checkbox-group/style.css +0 -0
- package/es/vxe-checkbox-group/style.min.css +0 -0
- package/es/vxe-icon-picker/index.js +3 -0
- package/es/vxe-icon-picker/style.css +207 -0
- package/es/vxe-icon-picker/style.min.css +1 -0
- package/es/vxe-input/index.js +3 -0
- package/es/vxe-input/style.css +941 -0
- package/es/vxe-input/style.min.css +1 -0
- package/es/vxe-optgroup/index.js +3 -0
- package/es/vxe-optgroup/style.css +0 -0
- package/es/vxe-optgroup/style.min.css +0 -0
- package/es/vxe-option/index.js +3 -0
- package/es/vxe-option/style.css +0 -0
- package/es/vxe-option/style.min.css +0 -0
- package/es/vxe-password-input/index.js +3 -0
- package/es/vxe-password-input/style.css +604 -0
- package/es/vxe-password-input/style.min.css +1 -0
- package/es/vxe-select/index.js +3 -0
- package/es/vxe-select/style.css +207 -0
- package/es/vxe-select/style.min.css +1 -0
- package/es/vxe-tab-pane/index.js +3 -0
- package/es/vxe-tab-pane/style.css +0 -0
- package/es/vxe-tab-pane/style.min.css +0 -0
- package/es/vxe-tabs/index.js +3 -0
- package/es/vxe-tabs/style.css +342 -0
- package/es/vxe-tabs/style.min.css +1 -0
- package/lib/button/src/button.js +3 -0
- package/lib/button/src/button.min.js +1 -1
- package/lib/carousel/index.js +19 -0
- package/lib/carousel/index.min.js +1 -0
- package/lib/carousel/src/carousel-item.js +107 -0
- package/lib/carousel/src/carousel-item.min.js +1 -0
- package/lib/carousel/src/carousel.js +437 -0
- package/lib/carousel/src/carousel.min.js +1 -0
- package/lib/carousel/src/util.js +27 -0
- package/lib/carousel/src/util.min.js +1 -0
- package/lib/carousel/style/index.js +1 -0
- package/lib/carousel/style/style.css +185 -0
- package/lib/carousel/style/style.min.css +1 -0
- package/lib/carousel-item/index.js +19 -0
- package/lib/carousel-item/index.min.js +1 -0
- package/lib/carousel-item/style/index.js +1 -0
- package/lib/carousel-item/style/style.css +0 -0
- package/lib/carousel-item/style/style.min.css +0 -0
- package/lib/checkbox/index.js +19 -0
- package/lib/checkbox/index.min.js +1 -0
- package/lib/checkbox/src/checkbox.js +169 -0
- package/lib/checkbox/src/checkbox.min.js +1 -0
- package/lib/checkbox/src/group.js +164 -0
- package/lib/checkbox/src/group.min.js +1 -0
- package/lib/checkbox/style/index.js +1 -0
- package/lib/checkbox/style/style.css +117 -0
- package/lib/checkbox/style/style.min.css +1 -0
- package/lib/checkbox-group/index.js +19 -0
- package/lib/checkbox-group/index.min.js +1 -0
- package/lib/checkbox-group/style/index.js +1 -0
- package/lib/checkbox-group/style/style.css +0 -0
- package/lib/checkbox-group/style/style.min.css +0 -0
- package/lib/components.js +159 -60
- package/lib/components.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +3 -0
- package/lib/date-picker/src/date-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/index.js +19 -0
- package/lib/icon-picker/index.min.js +1 -0
- package/lib/icon-picker/src/icon-picker.js +646 -0
- package/lib/icon-picker/src/icon-picker.min.js +1 -0
- package/lib/icon-picker/style/index.js +1 -0
- package/lib/icon-picker/style/style.css +207 -0
- package/lib/icon-picker/style/style.min.css +1 -0
- package/lib/index.umd.js +15870 -7738
- package/lib/index.umd.min.js +1 -1
- package/lib/input/index.js +19 -0
- package/lib/input/index.min.js +1 -0
- package/lib/input/src/input.js +2897 -0
- package/lib/input/src/input.min.js +1 -0
- package/lib/input/style/index.js +1 -0
- package/lib/input/style/style.css +941 -0
- package/lib/input/style/style.min.css +1 -0
- package/lib/layout-footer/src/layout-footer.js +2 -1
- package/lib/layout-header/src/layout-header.js +2 -1
- package/lib/optgroup/index.js +19 -0
- package/lib/optgroup/index.min.js +1 -0
- package/lib/optgroup/style/index.js +1 -0
- package/lib/optgroup/style/style.css +0 -0
- package/lib/optgroup/style/style.min.css +0 -0
- package/lib/option/index.js +19 -0
- package/lib/option/index.min.js +1 -0
- package/lib/option/style/index.js +1 -0
- package/lib/option/style/style.css +0 -0
- package/lib/option/style/style.min.css +0 -0
- package/lib/pager/index.js +19 -0
- package/lib/pager/index.min.js +1 -0
- package/lib/pager/src/pager.js +714 -0
- package/lib/pager/src/pager.min.js +1 -0
- package/lib/password-input/index.js +19 -0
- package/lib/password-input/index.min.js +1 -0
- package/lib/password-input/src/password-input.js +398 -0
- package/lib/password-input/src/password-input.min.js +1 -0
- package/lib/password-input/style/index.js +1 -0
- package/lib/password-input/style/style.css +604 -0
- package/lib/password-input/style/style.min.css +1 -0
- package/lib/pulldown/src/pulldown.js +5 -1
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/select/index.js +19 -0
- package/lib/select/index.min.js +1 -0
- package/lib/select/src/optgroup.js +97 -0
- package/lib/select/src/optgroup.min.js +1 -0
- package/lib/select/src/option-info.js +33 -0
- package/lib/select/src/option-info.min.js +1 -0
- package/lib/select/src/option.js +93 -0
- package/lib/select/src/option.min.js +1 -0
- package/lib/select/src/select.js +1315 -0
- package/lib/select/src/select.min.js +1 -0
- package/lib/select/src/util.js +50 -0
- package/lib/select/src/util.min.js +1 -0
- package/lib/select/style/index.js +1 -0
- package/lib/select/style/style.css +207 -0
- package/lib/select/style/style.min.css +1 -0
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tab-pane/index.js +19 -0
- package/lib/tab-pane/index.min.js +1 -0
- package/lib/tab-pane/style/index.js +1 -0
- package/lib/tab-pane/style/style.css +0 -0
- package/lib/tab-pane/style/style.min.css +0 -0
- package/lib/tabs/index.js +19 -0
- package/lib/tabs/index.min.js +1 -0
- package/lib/tabs/src/tab-pane.js +128 -0
- package/lib/tabs/src/tab-pane.min.js +1 -0
- package/lib/tabs/src/tabs.js +630 -0
- package/lib/tabs/src/tabs.min.js +1 -0
- package/lib/tabs/src/util.js +29 -0
- package/lib/tabs/src/util.min.js +1 -0
- package/lib/tabs/style/index.js +1 -0
- package/lib/tabs/style/style.css +342 -0
- package/lib/tabs/style/style.min.css +1 -0
- package/lib/ui/index.js +1 -1
- 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/vxe-carousel/index.js +23 -0
- package/lib/vxe-carousel/index.min.js +1 -0
- package/lib/vxe-carousel/style/index.js +1 -0
- package/lib/vxe-carousel/style/style.css +185 -0
- package/lib/vxe-carousel/style/style.min.css +1 -0
- package/lib/vxe-carousel-item/index.js +23 -0
- package/lib/vxe-carousel-item/index.min.js +1 -0
- package/lib/vxe-carousel-item/style/index.js +1 -0
- package/lib/vxe-carousel-item/style/style.css +0 -0
- package/lib/vxe-carousel-item/style/style.min.css +0 -0
- package/lib/vxe-checkbox/index.js +23 -0
- package/lib/vxe-checkbox/index.min.js +1 -0
- package/lib/vxe-checkbox/style/index.js +1 -0
- package/lib/vxe-checkbox/style/style.css +117 -0
- package/lib/vxe-checkbox/style/style.min.css +1 -0
- package/lib/vxe-checkbox-group/index.js +23 -0
- package/lib/vxe-checkbox-group/index.min.js +1 -0
- package/lib/vxe-checkbox-group/style/index.js +1 -0
- package/lib/vxe-checkbox-group/style/style.css +0 -0
- package/lib/vxe-checkbox-group/style/style.min.css +0 -0
- package/lib/vxe-icon-picker/index.js +23 -0
- package/lib/vxe-icon-picker/index.min.js +1 -0
- package/lib/vxe-icon-picker/style/index.js +1 -0
- package/lib/vxe-icon-picker/style/style.css +207 -0
- package/lib/vxe-icon-picker/style/style.min.css +1 -0
- package/lib/vxe-input/index.js +23 -0
- package/lib/vxe-input/index.min.js +1 -0
- package/lib/vxe-input/style/index.js +1 -0
- package/lib/vxe-input/style/style.css +941 -0
- package/lib/vxe-input/style/style.min.css +1 -0
- package/lib/vxe-optgroup/index.js +23 -0
- package/lib/vxe-optgroup/index.min.js +1 -0
- package/lib/vxe-optgroup/style/index.js +1 -0
- package/lib/vxe-optgroup/style/style.css +0 -0
- package/lib/vxe-optgroup/style/style.min.css +0 -0
- package/lib/vxe-option/index.js +23 -0
- package/lib/vxe-option/index.min.js +1 -0
- package/lib/vxe-option/style/index.js +1 -0
- package/lib/vxe-option/style/style.css +0 -0
- package/lib/vxe-option/style/style.min.css +0 -0
- package/lib/vxe-password-input/index.js +23 -0
- package/lib/vxe-password-input/index.min.js +1 -0
- package/lib/vxe-password-input/style/index.js +1 -0
- package/lib/vxe-password-input/style/style.css +604 -0
- package/lib/vxe-password-input/style/style.min.css +1 -0
- package/lib/vxe-select/index.js +23 -0
- package/lib/vxe-select/index.min.js +1 -0
- package/lib/vxe-select/style/index.js +1 -0
- package/lib/vxe-select/style/style.css +207 -0
- package/lib/vxe-select/style/style.min.css +1 -0
- package/lib/vxe-tab-pane/index.js +23 -0
- package/lib/vxe-tab-pane/index.min.js +1 -0
- package/lib/vxe-tab-pane/style/index.js +1 -0
- package/lib/vxe-tab-pane/style/style.css +0 -0
- package/lib/vxe-tab-pane/style/style.min.css +0 -0
- package/lib/vxe-tabs/index.js +23 -0
- package/lib/vxe-tabs/index.min.js +1 -0
- package/lib/vxe-tabs/style/index.js +1 -0
- package/lib/vxe-tabs/style/style.css +342 -0
- package/lib/vxe-tabs/style/style.min.css +1 -0
- package/package.json +1 -1
- package/packages/button/src/button.ts +3 -0
- package/packages/carousel/index.ts +16 -0
- package/packages/carousel/src/carousel-item.ts +114 -0
- package/packages/carousel/src/carousel.ts +449 -0
- package/packages/carousel/src/util.ts +21 -0
- package/packages/carousel-item/index.ts +16 -0
- package/packages/checkbox/index.ts +16 -0
- package/packages/checkbox/src/checkbox.ts +176 -0
- package/packages/checkbox/src/group.ts +178 -0
- package/packages/checkbox-group/index.ts +16 -0
- package/packages/components.ts +39 -39
- package/packages/date-picker/src/date-picker.ts +3 -0
- package/packages/icon-picker/index.ts +16 -0
- package/packages/icon-picker/src/icon-picker.ts +711 -0
- package/packages/input/index.ts +16 -0
- package/packages/input/src/input.ts +2995 -0
- package/packages/layout-footer/src/layout-footer.ts +4 -3
- package/packages/layout-header/src/layout-header.ts +2 -1
- package/packages/optgroup/index.ts +16 -0
- package/packages/option/index.ts +16 -0
- package/packages/pager/index.ts +16 -0
- package/packages/pager/src/pager.ts +743 -0
- package/packages/password-input/index.ts +16 -0
- package/packages/password-input/src/password-input.ts +427 -0
- package/packages/pulldown/src/pulldown.ts +5 -1
- package/packages/select/index.ts +16 -0
- package/packages/select/src/optgroup.ts +107 -0
- package/packages/select/src/option-info.ts +20 -0
- package/packages/select/src/option.ts +103 -0
- package/packages/select/src/select.ts +1325 -0
- package/packages/select/src/util.ts +46 -0
- package/packages/tab-pane/index.ts +16 -0
- package/packages/tabs/index.ts +16 -0
- package/packages/tabs/src/tab-pane.ts +136 -0
- package/packages/tabs/src/tabs.ts +630 -0
- package/packages/tabs/src/util.ts +21 -0
- package/types/components/carousel.d.ts +5 -0
- package/types/components/icon-picker.d.ts +4 -0
- package/types/components/input.d.ts +9 -1
- package/types/components/optgroup.d.ts +10 -4
- package/types/components/tabs.d.ts +4 -0
- /package/es/icon/style/{iconfont.1725630285930.ttf → iconfont.1725723159302.ttf} +0 -0
- /package/es/icon/style/{iconfont.1725630285930.woff → iconfont.1725723159302.woff} +0 -0
- /package/es/icon/style/{iconfont.1725630285930.woff2 → iconfont.1725723159302.woff2} +0 -0
- /package/es/{iconfont.1725630285930.ttf → iconfont.1725723159302.ttf} +0 -0
- /package/es/{iconfont.1725630285930.woff → iconfont.1725723159302.woff} +0 -0
- /package/es/{iconfont.1725630285930.woff2 → iconfont.1725723159302.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1725630285930.ttf → iconfont.1725723159302.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1725630285930.woff → iconfont.1725723159302.woff} +0 -0
- /package/lib/icon/style/{iconfont.1725630285930.woff2 → iconfont.1725723159302.woff2} +0 -0
- /package/lib/{iconfont.1725630285930.ttf → iconfont.1725723159302.ttf} +0 -0
- /package/lib/{iconfont.1725630285930.woff → iconfont.1725723159302.woff} +0 -0
- /package/lib/{iconfont.1725630285930.woff2 → iconfont.1725723159302.woff2} +0 -0
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
.vxe-carousel {
|
|
2
|
+
position: relative;
|
|
3
|
+
font-size: var(--vxe-ui-font-size-default);
|
|
4
|
+
color: var(--vxe-ui-font-color);
|
|
5
|
+
font-family: var(--vxe-ui-font-family);
|
|
6
|
+
background-color: var(--vxe-ui-layout-background-color);
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
}
|
|
9
|
+
.vxe-carousel:hover .vxe-carousel--indicators {
|
|
10
|
+
opacity: 1;
|
|
11
|
+
}
|
|
12
|
+
.vxe-carousel:hover .vxe-carousel--previous-btn,
|
|
13
|
+
.vxe-carousel:hover .vxe-carousel--next-btn {
|
|
14
|
+
opacity: 1;
|
|
15
|
+
}
|
|
16
|
+
.vxe-carousel:hover.is--horizontal .vxe-carousel--previous-btn,
|
|
17
|
+
.vxe-carousel:hover.is--horizontal .vxe-carousel--next-btn {
|
|
18
|
+
transform: translate(0, -50%);
|
|
19
|
+
}
|
|
20
|
+
.vxe-carousel:hover.is--vertical .vxe-carousel--previous-btn,
|
|
21
|
+
.vxe-carousel:hover.is--vertical .vxe-carousel--next-btn {
|
|
22
|
+
transform: translate(-50%, 0);
|
|
23
|
+
}
|
|
24
|
+
.vxe-carousel.is--horizontal .vxe-carousel--list {
|
|
25
|
+
height: 100%;
|
|
26
|
+
flex-direction: row;
|
|
27
|
+
}
|
|
28
|
+
.vxe-carousel.is--horizontal .vxe-carousel--indicators {
|
|
29
|
+
flex-direction: row;
|
|
30
|
+
bottom: 0.3em;
|
|
31
|
+
left: 50%;
|
|
32
|
+
padding: 0.15em 0.3em;
|
|
33
|
+
transform: translateX(-50%);
|
|
34
|
+
}
|
|
35
|
+
.vxe-carousel.is--horizontal .vxe-carousel--indicators:hover {
|
|
36
|
+
transform: translateX(-50%) scale(1.1);
|
|
37
|
+
}
|
|
38
|
+
.vxe-carousel.is--horizontal .vxe-carousel--indicators-item {
|
|
39
|
+
margin: 0.2em 0.25em;
|
|
40
|
+
}
|
|
41
|
+
.vxe-carousel.is--horizontal .vxe-carousel--previous-btn,
|
|
42
|
+
.vxe-carousel.is--horizontal .vxe-carousel--next-btn {
|
|
43
|
+
top: 50%;
|
|
44
|
+
transform: translate(0, -50%);
|
|
45
|
+
}
|
|
46
|
+
.vxe-carousel.is--horizontal .vxe-carousel--previous-btn:hover,
|
|
47
|
+
.vxe-carousel.is--horizontal .vxe-carousel--next-btn:hover {
|
|
48
|
+
transform: translate(0, -50%) scale(1.1);
|
|
49
|
+
}
|
|
50
|
+
.vxe-carousel.is--horizontal .vxe-carousel--previous-btn:active,
|
|
51
|
+
.vxe-carousel.is--horizontal .vxe-carousel--next-btn:active {
|
|
52
|
+
transform: translate(0, -50%) scale(0.8);
|
|
53
|
+
}
|
|
54
|
+
.vxe-carousel.is--horizontal .vxe-carousel--previous-btn {
|
|
55
|
+
left: 0.3em;
|
|
56
|
+
transform: translate(-0.8em, -50%);
|
|
57
|
+
}
|
|
58
|
+
.vxe-carousel.is--horizontal .vxe-carousel--next-btn {
|
|
59
|
+
right: 0.3em;
|
|
60
|
+
transform: translate(0.8em, -50%);
|
|
61
|
+
}
|
|
62
|
+
.vxe-carousel.is--vertical .vxe-carousel--list {
|
|
63
|
+
width: 100%;
|
|
64
|
+
flex-direction: column;
|
|
65
|
+
}
|
|
66
|
+
.vxe-carousel.is--vertical .vxe-carousel--indicators {
|
|
67
|
+
display: flex;
|
|
68
|
+
flex-direction: column;
|
|
69
|
+
padding: 0.3em 0.15em;
|
|
70
|
+
top: 50%;
|
|
71
|
+
right: 0.3em;
|
|
72
|
+
transform: translateY(-50%);
|
|
73
|
+
}
|
|
74
|
+
.vxe-carousel.is--vertical .vxe-carousel--indicators:hover {
|
|
75
|
+
transform: translateY(-50%) scale(1.1);
|
|
76
|
+
}
|
|
77
|
+
.vxe-carousel.is--vertical .vxe-carousel--indicators-item {
|
|
78
|
+
margin: 0.25em 0.2em;
|
|
79
|
+
}
|
|
80
|
+
.vxe-carousel.is--vertical .vxe-carousel--previous-btn,
|
|
81
|
+
.vxe-carousel.is--vertical .vxe-carousel--next-btn {
|
|
82
|
+
left: 50%;
|
|
83
|
+
}
|
|
84
|
+
.vxe-carousel.is--vertical .vxe-carousel--previous-btn:hover,
|
|
85
|
+
.vxe-carousel.is--vertical .vxe-carousel--next-btn:hover {
|
|
86
|
+
transform: translate(-50%, 0) scale(1.1);
|
|
87
|
+
}
|
|
88
|
+
.vxe-carousel.is--vertical .vxe-carousel--previous-btn:active,
|
|
89
|
+
.vxe-carousel.is--vertical .vxe-carousel--next-btn:active {
|
|
90
|
+
transform: translate(-50%, 0) scale(0.8);
|
|
91
|
+
}
|
|
92
|
+
.vxe-carousel.is--vertical .vxe-carousel--previous-btn {
|
|
93
|
+
top: 0.3em;
|
|
94
|
+
transform: translate(-50%, -0.8em);
|
|
95
|
+
}
|
|
96
|
+
.vxe-carousel.is--vertical .vxe-carousel--next-btn {
|
|
97
|
+
bottom: 0.3em;
|
|
98
|
+
transform: translate(-50%, 0.8em);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.vxe-carousel--slots {
|
|
102
|
+
display: none;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.vxe-carousel--item-wrapper {
|
|
106
|
+
position: relative;
|
|
107
|
+
width: 100%;
|
|
108
|
+
overflow: hidden;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.vxe-carousel--list {
|
|
112
|
+
position: absolute;
|
|
113
|
+
left: 0;
|
|
114
|
+
top: 0;
|
|
115
|
+
display: flex;
|
|
116
|
+
outline: 0;
|
|
117
|
+
transition: transform 0.2s ease-in-out;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.vxe-carousel--item-inner {
|
|
121
|
+
width: 100%;
|
|
122
|
+
height: 100%;
|
|
123
|
+
text-align: center;
|
|
124
|
+
flex-grow: 1;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.vxe-carousel--item-img {
|
|
128
|
+
max-width: 100%;
|
|
129
|
+
max-height: 100%;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.vxe-carousel--indicators {
|
|
133
|
+
position: absolute;
|
|
134
|
+
display: inline-flex;
|
|
135
|
+
background-color: rgba(0, 0, 0, 0.6);
|
|
136
|
+
border-radius: 0.6em;
|
|
137
|
+
opacity: 0;
|
|
138
|
+
transition: all 0.3s ease-in-out;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.vxe-carousel--indicators-item {
|
|
142
|
+
width: 0.8em;
|
|
143
|
+
height: 0.8em;
|
|
144
|
+
border-radius: 50%;
|
|
145
|
+
background-color: rgba(255, 255, 255, 0.8);
|
|
146
|
+
cursor: pointer;
|
|
147
|
+
transition: all 0.2s ease-in-out;
|
|
148
|
+
}
|
|
149
|
+
.vxe-carousel--indicators-item.is--active {
|
|
150
|
+
background-color: rgb(255, 255, 255);
|
|
151
|
+
}
|
|
152
|
+
.vxe-carousel--indicators-item:hover {
|
|
153
|
+
background-color: rgba(255, 255, 255, 0.9);
|
|
154
|
+
}
|
|
155
|
+
.vxe-carousel--indicators-item:active {
|
|
156
|
+
background-color: var(--vxe-ui-font-primary-color);
|
|
157
|
+
transform: scale(0.8);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.vxe-carousel--previous-btn,
|
|
161
|
+
.vxe-carousel--next-btn {
|
|
162
|
+
display: flex;
|
|
163
|
+
flex-direction: row;
|
|
164
|
+
align-items: center;
|
|
165
|
+
justify-content: center;
|
|
166
|
+
position: absolute;
|
|
167
|
+
width: 1.8em;
|
|
168
|
+
height: 1.8em;
|
|
169
|
+
border-radius: 50%;
|
|
170
|
+
font-size: 1.4em;
|
|
171
|
+
background-color: rgba(0, 0, 0, 0.8);
|
|
172
|
+
opacity: 0;
|
|
173
|
+
color: rgba(255, 255, 255, 0.6);
|
|
174
|
+
cursor: pointer;
|
|
175
|
+
transition: all 0.2s ease-in-out;
|
|
176
|
+
}
|
|
177
|
+
.vxe-carousel--previous-btn:hover,
|
|
178
|
+
.vxe-carousel--next-btn:hover {
|
|
179
|
+
color: rgb(255, 255, 255);
|
|
180
|
+
}
|
|
181
|
+
.vxe-carousel--previous-btn:active,
|
|
182
|
+
.vxe-carousel--next-btn:active {
|
|
183
|
+
color: var(--vxe-ui-font-primary-color);
|
|
184
|
+
background-color: rgba(0, 0, 0, 0.6);
|
|
185
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vxe-carousel{position:relative;font-size:var(--vxe-ui-font-size-default);color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);background-color:var(--vxe-ui-layout-background-color);overflow:hidden}.vxe-carousel:hover .vxe-carousel--indicators{opacity:1}.vxe-carousel:hover .vxe-carousel--next-btn,.vxe-carousel:hover .vxe-carousel--previous-btn{opacity:1}.vxe-carousel:hover.is--horizontal .vxe-carousel--next-btn,.vxe-carousel:hover.is--horizontal .vxe-carousel--previous-btn{transform:translate(0,-50%)}.vxe-carousel:hover.is--vertical .vxe-carousel--next-btn,.vxe-carousel:hover.is--vertical .vxe-carousel--previous-btn{transform:translate(-50%,0)}.vxe-carousel.is--horizontal .vxe-carousel--list{height:100%;flex-direction:row}.vxe-carousel.is--horizontal .vxe-carousel--indicators{flex-direction:row;bottom:.3em;left:50%;padding:.15em .3em;transform:translateX(-50%)}.vxe-carousel.is--horizontal .vxe-carousel--indicators:hover{transform:translateX(-50%) scale(1.1)}.vxe-carousel.is--horizontal .vxe-carousel--indicators-item{margin:.2em .25em}.vxe-carousel.is--horizontal .vxe-carousel--next-btn,.vxe-carousel.is--horizontal .vxe-carousel--previous-btn{top:50%;transform:translate(0,-50%)}.vxe-carousel.is--horizontal .vxe-carousel--next-btn:hover,.vxe-carousel.is--horizontal .vxe-carousel--previous-btn:hover{transform:translate(0,-50%) scale(1.1)}.vxe-carousel.is--horizontal .vxe-carousel--next-btn:active,.vxe-carousel.is--horizontal .vxe-carousel--previous-btn:active{transform:translate(0,-50%) scale(.8)}.vxe-carousel.is--horizontal .vxe-carousel--previous-btn{left:.3em;transform:translate(-.8em,-50%)}.vxe-carousel.is--horizontal .vxe-carousel--next-btn{right:.3em;transform:translate(.8em,-50%)}.vxe-carousel.is--vertical .vxe-carousel--list{width:100%;flex-direction:column}.vxe-carousel.is--vertical .vxe-carousel--indicators{display:flex;flex-direction:column;padding:.3em .15em;top:50%;right:.3em;transform:translateY(-50%)}.vxe-carousel.is--vertical .vxe-carousel--indicators:hover{transform:translateY(-50%) scale(1.1)}.vxe-carousel.is--vertical .vxe-carousel--indicators-item{margin:.25em .2em}.vxe-carousel.is--vertical .vxe-carousel--next-btn,.vxe-carousel.is--vertical .vxe-carousel--previous-btn{left:50%}.vxe-carousel.is--vertical .vxe-carousel--next-btn:hover,.vxe-carousel.is--vertical .vxe-carousel--previous-btn:hover{transform:translate(-50%,0) scale(1.1)}.vxe-carousel.is--vertical .vxe-carousel--next-btn:active,.vxe-carousel.is--vertical .vxe-carousel--previous-btn:active{transform:translate(-50%,0) scale(.8)}.vxe-carousel.is--vertical .vxe-carousel--previous-btn{top:.3em;transform:translate(-50%,-.8em)}.vxe-carousel.is--vertical .vxe-carousel--next-btn{bottom:.3em;transform:translate(-50%,.8em)}.vxe-carousel--slots{display:none}.vxe-carousel--item-wrapper{position:relative;width:100%;overflow:hidden}.vxe-carousel--list{position:absolute;left:0;top:0;display:flex;outline:0;transition:transform .2s ease-in-out}.vxe-carousel--item-inner{width:100%;height:100%;text-align:center;flex-grow:1}.vxe-carousel--item-img{max-width:100%;max-height:100%}.vxe-carousel--indicators{position:absolute;display:inline-flex;background-color:rgba(0,0,0,.6);border-radius:.6em;opacity:0;transition:all .3s ease-in-out}.vxe-carousel--indicators-item{width:.8em;height:.8em;border-radius:50%;background-color:rgba(255,255,255,.8);cursor:pointer;transition:all .2s ease-in-out}.vxe-carousel--indicators-item.is--active{background-color:#fff}.vxe-carousel--indicators-item:hover{background-color:rgba(255,255,255,.9)}.vxe-carousel--indicators-item:active{background-color:var(--vxe-ui-font-primary-color);transform:scale(.8)}.vxe-carousel--next-btn,.vxe-carousel--previous-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;position:absolute;width:1.8em;height:1.8em;border-radius:50%;font-size:1.4em;background-color:rgba(0,0,0,.8);opacity:0;color:rgba(255,255,255,.6);cursor:pointer;transition:all .2s ease-in-out}.vxe-carousel--next-btn:hover,.vxe-carousel--previous-btn:hover{color:#fff}.vxe-carousel--next-btn:active,.vxe-carousel--previous-btn:active{color:var(--vxe-ui-font-primary-color);background-color:rgba(0,0,0,.6)}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VxeUI } from '@vxe-ui/core';
|
|
2
|
+
import VxeCarouselItemComponent from '../carousel/src/carousel-item';
|
|
3
|
+
import { dynamicApp } from '../dynamics';
|
|
4
|
+
export const VxeCarouselItem = Object.assign({}, VxeCarouselItemComponent, {
|
|
5
|
+
install(app) {
|
|
6
|
+
app.component(VxeCarouselItemComponent.name, VxeCarouselItemComponent);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
dynamicApp.use(VxeCarouselItem);
|
|
10
|
+
VxeUI.component(VxeCarouselItemComponent);
|
|
11
|
+
export const CarouselItem = VxeCarouselItem;
|
|
12
|
+
export default VxeCarouselItem;
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VxeUI } from '@vxe-ui/core';
|
|
2
|
+
import VxeCheckboxComponent from './src/checkbox';
|
|
3
|
+
import { dynamicApp } from '../dynamics';
|
|
4
|
+
export const VxeCheckbox = Object.assign(VxeCheckboxComponent, {
|
|
5
|
+
install(app) {
|
|
6
|
+
app.component(VxeCheckboxComponent.name, VxeCheckboxComponent);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
dynamicApp.use(VxeCheckbox);
|
|
10
|
+
VxeUI.component(VxeCheckboxComponent);
|
|
11
|
+
export const Checkbox = VxeCheckbox;
|
|
12
|
+
export default VxeCheckbox;
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { defineVxeComponent } from '../../ui/src/comp';
|
|
2
|
+
import XEUtils from 'xe-utils';
|
|
3
|
+
import { getFuncText } from '../../ui/src/utils';
|
|
4
|
+
import { getConfig, createEvent, globalMixins, getIcon } from '../../ui';
|
|
5
|
+
export default defineVxeComponent({
|
|
6
|
+
name: 'VxeCheckbox',
|
|
7
|
+
mixins: [
|
|
8
|
+
globalMixins.sizeMixin
|
|
9
|
+
],
|
|
10
|
+
props: {
|
|
11
|
+
value: [String, Number, Boolean],
|
|
12
|
+
label: {
|
|
13
|
+
type: [String, Number],
|
|
14
|
+
default: null
|
|
15
|
+
},
|
|
16
|
+
indeterminate: Boolean,
|
|
17
|
+
title: [String, Number],
|
|
18
|
+
checkedValue: {
|
|
19
|
+
type: [String, Number, Boolean],
|
|
20
|
+
default: true
|
|
21
|
+
},
|
|
22
|
+
uncheckedValue: {
|
|
23
|
+
type: [String, Number, Boolean],
|
|
24
|
+
default: false
|
|
25
|
+
},
|
|
26
|
+
content: [String, Number],
|
|
27
|
+
disabled: {
|
|
28
|
+
type: Boolean,
|
|
29
|
+
default: null
|
|
30
|
+
},
|
|
31
|
+
size: {
|
|
32
|
+
type: String,
|
|
33
|
+
default: () => getConfig().checkbox.size || getConfig().size
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
inject: {
|
|
37
|
+
$xeForm: {
|
|
38
|
+
default: null
|
|
39
|
+
},
|
|
40
|
+
formItemInfo: {
|
|
41
|
+
from: 'xeFormItemInfo',
|
|
42
|
+
default: null
|
|
43
|
+
},
|
|
44
|
+
$xeCheckboxGroup: {
|
|
45
|
+
default: null
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
data() {
|
|
49
|
+
const reactData = {};
|
|
50
|
+
return {
|
|
51
|
+
xID: XEUtils.uniqueId(),
|
|
52
|
+
reactData
|
|
53
|
+
};
|
|
54
|
+
},
|
|
55
|
+
computed: Object.assign(Object.assign({}, {}), { computeIsChecked() {
|
|
56
|
+
const $xeCheckbox = this;
|
|
57
|
+
const props = $xeCheckbox;
|
|
58
|
+
const $xeCheckboxGroup = $xeCheckbox.$xeCheckboxGroup;
|
|
59
|
+
if ($xeCheckboxGroup) {
|
|
60
|
+
return XEUtils.includes($xeCheckboxGroup.value, props.label);
|
|
61
|
+
}
|
|
62
|
+
return props.value === props.checkedValue;
|
|
63
|
+
},
|
|
64
|
+
computeIsDisabled() {
|
|
65
|
+
const $xeCheckbox = this;
|
|
66
|
+
const props = $xeCheckbox;
|
|
67
|
+
const $xeCheckboxGroup = $xeCheckbox.$xeCheckboxGroup;
|
|
68
|
+
const { disabled } = props;
|
|
69
|
+
const isChecked = $xeCheckbox.computeIsChecked;
|
|
70
|
+
if (disabled === null) {
|
|
71
|
+
if ($xeCheckboxGroup) {
|
|
72
|
+
const isGroupDisabled = $xeCheckboxGroup.computeIsDisabled;
|
|
73
|
+
const isGroupMaximize = $xeCheckboxGroup.computeIsMaximize;
|
|
74
|
+
return isGroupDisabled || (isGroupMaximize && !isChecked);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return disabled;
|
|
78
|
+
} }),
|
|
79
|
+
methods: {
|
|
80
|
+
//
|
|
81
|
+
// Method
|
|
82
|
+
//
|
|
83
|
+
dispatchEvent(type, params, evnt) {
|
|
84
|
+
const $xeCheckbox = this;
|
|
85
|
+
$xeCheckbox.$emit(type, createEvent(evnt, { $checkbox: $xeCheckbox }, params));
|
|
86
|
+
},
|
|
87
|
+
changeEvent(evnt) {
|
|
88
|
+
const $xeCheckbox = this;
|
|
89
|
+
const props = $xeCheckbox;
|
|
90
|
+
const $xeCheckboxGroup = $xeCheckbox.$xeCheckboxGroup;
|
|
91
|
+
const $xeForm = $xeCheckbox.$xeForm;
|
|
92
|
+
const formItemInfo = $xeCheckbox.formItemInfo;
|
|
93
|
+
const { checkedValue, uncheckedValue } = props;
|
|
94
|
+
const isDisabled = $xeCheckbox.computeIsDisabled;
|
|
95
|
+
if (!isDisabled) {
|
|
96
|
+
const checked = evnt.target.checked;
|
|
97
|
+
const value = checked ? checkedValue : uncheckedValue;
|
|
98
|
+
const params = { checked, value, label: props.label };
|
|
99
|
+
if ($xeCheckboxGroup) {
|
|
100
|
+
$xeCheckboxGroup.handleChecked(params, evnt);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
$xeCheckbox.$emit('input', value);
|
|
104
|
+
$xeCheckbox.dispatchEvent('change', params, evnt);
|
|
105
|
+
// 自动更新校验状态
|
|
106
|
+
if ($xeForm && formItemInfo) {
|
|
107
|
+
$xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
//
|
|
113
|
+
// Render
|
|
114
|
+
//
|
|
115
|
+
renderVN(h) {
|
|
116
|
+
const $xeCheckbox = this;
|
|
117
|
+
const props = $xeCheckbox;
|
|
118
|
+
const slots = $xeCheckbox.$scopedSlots;
|
|
119
|
+
const vSize = $xeCheckbox.computeSize;
|
|
120
|
+
const isDisabled = $xeCheckbox.computeIsDisabled;
|
|
121
|
+
const isChecked = $xeCheckbox.computeIsChecked;
|
|
122
|
+
const indeterminate = !isChecked && props.indeterminate;
|
|
123
|
+
return h('label', {
|
|
124
|
+
class: ['vxe-checkbox', {
|
|
125
|
+
[`size--${vSize}`]: vSize,
|
|
126
|
+
'is--indeterminate': indeterminate,
|
|
127
|
+
'is--disabled': isDisabled,
|
|
128
|
+
'is--checked': isChecked
|
|
129
|
+
}],
|
|
130
|
+
attrs: {
|
|
131
|
+
title: props.title
|
|
132
|
+
}
|
|
133
|
+
}, [
|
|
134
|
+
h('input', {
|
|
135
|
+
class: 'vxe-checkbox--input',
|
|
136
|
+
domProps: {
|
|
137
|
+
checked: isChecked
|
|
138
|
+
},
|
|
139
|
+
attrs: {
|
|
140
|
+
type: 'checkbox',
|
|
141
|
+
disabled: isDisabled
|
|
142
|
+
},
|
|
143
|
+
on: {
|
|
144
|
+
change: $xeCheckbox.changeEvent
|
|
145
|
+
}
|
|
146
|
+
}),
|
|
147
|
+
h('span', {
|
|
148
|
+
class: ['vxe-checkbox--icon', indeterminate ? getIcon().CHECKBOX_INDETERMINATE : (isChecked ? getIcon().CHECKBOX_CHECKED : getIcon().CHECKBOX_UNCHECKED)]
|
|
149
|
+
}),
|
|
150
|
+
h('span', {
|
|
151
|
+
class: 'vxe-checkbox--label'
|
|
152
|
+
}, slots.default ? slots.default({}) : getFuncText(props.content))
|
|
153
|
+
]);
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
render(h) {
|
|
157
|
+
return this.renderVN(h);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { defineVxeComponent } from '../../ui/src/comp';
|
|
2
|
+
import XEUtils from 'xe-utils';
|
|
3
|
+
import { getConfig, createEvent, globalMixins } from '../../ui';
|
|
4
|
+
import VxeCheckboxComponent from './checkbox';
|
|
5
|
+
export default defineVxeComponent({
|
|
6
|
+
name: 'VxeCheckboxGroup',
|
|
7
|
+
mixins: [
|
|
8
|
+
globalMixins.sizeMixin
|
|
9
|
+
],
|
|
10
|
+
props: {
|
|
11
|
+
value: Array,
|
|
12
|
+
options: Array,
|
|
13
|
+
optionProps: Object,
|
|
14
|
+
disabled: {
|
|
15
|
+
type: Boolean,
|
|
16
|
+
default: null
|
|
17
|
+
},
|
|
18
|
+
max: {
|
|
19
|
+
type: [String, Number],
|
|
20
|
+
default: null
|
|
21
|
+
},
|
|
22
|
+
size: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: () => getConfig().checkboxGroup.size || getConfig().size
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
inject: {
|
|
28
|
+
$xeForm: {
|
|
29
|
+
default: null
|
|
30
|
+
},
|
|
31
|
+
formItemInfo: {
|
|
32
|
+
from: 'xeFormItemInfo',
|
|
33
|
+
default: null
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
provide() {
|
|
37
|
+
const $xeCheckboxGroup = this;
|
|
38
|
+
return {
|
|
39
|
+
$xeCheckboxGroup
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
data() {
|
|
43
|
+
const reactData = {};
|
|
44
|
+
return {
|
|
45
|
+
xID: XEUtils.uniqueId(),
|
|
46
|
+
reactData
|
|
47
|
+
};
|
|
48
|
+
},
|
|
49
|
+
computed: Object.assign(Object.assign({}, {}), { computeIsDisabled() {
|
|
50
|
+
const $xeCheckboxGroup = this;
|
|
51
|
+
const props = $xeCheckboxGroup;
|
|
52
|
+
const $xeForm = $xeCheckboxGroup.$xeForm;
|
|
53
|
+
const { disabled } = props;
|
|
54
|
+
if (disabled === null) {
|
|
55
|
+
if ($xeForm) {
|
|
56
|
+
return $xeForm.readonly || $xeForm.disabled;
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
return disabled;
|
|
61
|
+
},
|
|
62
|
+
computeIsMaximize() {
|
|
63
|
+
const $xeCheckboxGroup = this;
|
|
64
|
+
const props = $xeCheckboxGroup;
|
|
65
|
+
const { value, max } = props;
|
|
66
|
+
if (max) {
|
|
67
|
+
return (value ? value.length : 0) >= XEUtils.toNumber(max);
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
},
|
|
71
|
+
computePropsOpts() {
|
|
72
|
+
const $xeCheckboxGroup = this;
|
|
73
|
+
const props = $xeCheckboxGroup;
|
|
74
|
+
return Object.assign({}, props.optionProps);
|
|
75
|
+
},
|
|
76
|
+
computeLabelField() {
|
|
77
|
+
const $xeCheckboxGroup = this;
|
|
78
|
+
const propsOpts = $xeCheckboxGroup.computePropsOpts;
|
|
79
|
+
return propsOpts.label || 'label';
|
|
80
|
+
},
|
|
81
|
+
computeValueField() {
|
|
82
|
+
const $xeCheckboxGroup = this;
|
|
83
|
+
const propsOpts = $xeCheckboxGroup.computePropsOpts;
|
|
84
|
+
return propsOpts.value || 'value';
|
|
85
|
+
},
|
|
86
|
+
computeDisabledField() {
|
|
87
|
+
const $xeCheckboxGroup = this;
|
|
88
|
+
const propsOpts = $xeCheckboxGroup.computePropsOpts;
|
|
89
|
+
return propsOpts.disabled || 'disabled';
|
|
90
|
+
} }),
|
|
91
|
+
methods: {
|
|
92
|
+
//
|
|
93
|
+
// Method
|
|
94
|
+
//
|
|
95
|
+
dispatchEvent(type, params, evnt) {
|
|
96
|
+
const $xeCheckboxGroup = this;
|
|
97
|
+
$xeCheckboxGroup.$emit(type, createEvent(evnt, { $checkboxGroup: $xeCheckboxGroup }, params));
|
|
98
|
+
},
|
|
99
|
+
handleChecked(params, evnt) {
|
|
100
|
+
const $xeCheckboxGroup = this;
|
|
101
|
+
const props = $xeCheckboxGroup;
|
|
102
|
+
const $xeForm = $xeCheckboxGroup.$xeForm;
|
|
103
|
+
const formItemInfo = $xeCheckboxGroup.formItemInfo;
|
|
104
|
+
const { checked, label } = params;
|
|
105
|
+
const checklist = props.value || [];
|
|
106
|
+
const checkIndex = checklist.indexOf(label);
|
|
107
|
+
if (checked) {
|
|
108
|
+
if (checkIndex === -1) {
|
|
109
|
+
checklist.push(label);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
checklist.splice(checkIndex, 1);
|
|
114
|
+
}
|
|
115
|
+
$xeCheckboxGroup.$emit('input', checklist);
|
|
116
|
+
$xeCheckboxGroup.dispatchEvent('change', Object.assign({ checklist }, params), evnt);
|
|
117
|
+
// 自动更新校验状态
|
|
118
|
+
if ($xeForm && formItemInfo) {
|
|
119
|
+
$xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, checklist);
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
//
|
|
123
|
+
// Render
|
|
124
|
+
//
|
|
125
|
+
renderVN(h) {
|
|
126
|
+
const $xeCheckboxGroup = this;
|
|
127
|
+
const props = $xeCheckboxGroup;
|
|
128
|
+
const slots = $xeCheckboxGroup.$scopedSlots;
|
|
129
|
+
const { options } = props;
|
|
130
|
+
const defaultSlot = slots.default;
|
|
131
|
+
const valueField = $xeCheckboxGroup.computeValueField;
|
|
132
|
+
const labelField = $xeCheckboxGroup.computeLabelField;
|
|
133
|
+
const disabledField = $xeCheckboxGroup.computeDisabledField;
|
|
134
|
+
return h('div', {
|
|
135
|
+
class: 'vxe-checkbox-group'
|
|
136
|
+
}, defaultSlot
|
|
137
|
+
? defaultSlot({})
|
|
138
|
+
: (options
|
|
139
|
+
? options.map(item => {
|
|
140
|
+
return h(VxeCheckboxComponent, {
|
|
141
|
+
props: {
|
|
142
|
+
label: item[valueField],
|
|
143
|
+
content: item[labelField],
|
|
144
|
+
disabled: item[disabledField]
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
})
|
|
148
|
+
: []));
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
render(h) {
|
|
152
|
+
return this.renderVN(h);
|
|
153
|
+
}
|
|
154
|
+
});
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/*checkbox-group*/
|
|
2
|
+
.vxe-checkbox-group {
|
|
3
|
+
display: inline-block;
|
|
4
|
+
vertical-align: middle;
|
|
5
|
+
line-height: 1;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.vxe-checkbox-slots {
|
|
9
|
+
display: none;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.vxe-checkbox--readonly {
|
|
13
|
+
color: var(--vxe-ui-font-color);
|
|
14
|
+
display: inline-flex;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/*checkbox*/
|
|
18
|
+
.vxe-checkbox {
|
|
19
|
+
display: inline-block;
|
|
20
|
+
vertical-align: middle;
|
|
21
|
+
white-space: nowrap;
|
|
22
|
+
line-height: 1;
|
|
23
|
+
}
|
|
24
|
+
.vxe-checkbox .vxe-checkbox--icon {
|
|
25
|
+
font-size: 1.22em;
|
|
26
|
+
}
|
|
27
|
+
.vxe-checkbox .vxe-checkbox--icon {
|
|
28
|
+
color: var(--vxe-ui-input-border-color);
|
|
29
|
+
vertical-align: middle;
|
|
30
|
+
font-weight: 700;
|
|
31
|
+
-webkit-user-select: none;
|
|
32
|
+
-moz-user-select: none;
|
|
33
|
+
-ms-user-select: none;
|
|
34
|
+
user-select: none;
|
|
35
|
+
}
|
|
36
|
+
.vxe-checkbox.is--checked, .vxe-checkbox.is--indeterminate {
|
|
37
|
+
color: var(--vxe-ui-font-primary-color);
|
|
38
|
+
}
|
|
39
|
+
.vxe-checkbox.is--checked .vxe-checkbox--icon, .vxe-checkbox.is--indeterminate .vxe-checkbox--icon {
|
|
40
|
+
color: var(--vxe-ui-font-primary-color);
|
|
41
|
+
}
|
|
42
|
+
.vxe-checkbox:not(.is--disabled) {
|
|
43
|
+
cursor: pointer;
|
|
44
|
+
}
|
|
45
|
+
.vxe-checkbox:not(.is--disabled):hover .vxe-checkbox--icon {
|
|
46
|
+
color: var(--vxe-ui-font-primary-color);
|
|
47
|
+
}
|
|
48
|
+
.vxe-checkbox.is--hidden {
|
|
49
|
+
cursor: default;
|
|
50
|
+
}
|
|
51
|
+
.vxe-checkbox.is--disabled {
|
|
52
|
+
color: var(--vxe-ui-font-disabled-color);
|
|
53
|
+
cursor: not-allowed;
|
|
54
|
+
}
|
|
55
|
+
.vxe-checkbox.is--disabled .vxe-checkbox--icon {
|
|
56
|
+
color: var(--vxe-ui-input-disabled-color);
|
|
57
|
+
}
|
|
58
|
+
.vxe-checkbox .vxe-checkbox--label {
|
|
59
|
+
padding-left: 0.5em;
|
|
60
|
+
vertical-align: middle;
|
|
61
|
+
}
|
|
62
|
+
.vxe-checkbox + .vxe-checkbox {
|
|
63
|
+
margin-left: 10px;
|
|
64
|
+
}
|
|
65
|
+
.vxe-checkbox > input[type=checkbox] {
|
|
66
|
+
position: absolute;
|
|
67
|
+
width: 0;
|
|
68
|
+
height: 0;
|
|
69
|
+
border: 0;
|
|
70
|
+
-webkit-appearance: none;
|
|
71
|
+
-moz-appearance: none;
|
|
72
|
+
appearance: none;
|
|
73
|
+
}
|
|
74
|
+
.vxe-checkbox.is--indeterminate > input:not(:checked) + .vxe-checkbox--icon {
|
|
75
|
+
color: var(--vxe-ui-font-primary-color);
|
|
76
|
+
}
|
|
77
|
+
.vxe-checkbox:not(.is--disabled) > input:focus + .vxe-checkbox--icon {
|
|
78
|
+
color: var(--vxe-ui-font-primary-color);
|
|
79
|
+
box-shadow: 0 0 0.2em 0 var(--vxe-ui-font-primary-color);
|
|
80
|
+
}
|
|
81
|
+
.vxe-checkbox:not(.is--disabled):hover > input + .vxe-checkbox--icon {
|
|
82
|
+
border-color: var(--vxe-ui-font-primary-color);
|
|
83
|
+
}
|
|
84
|
+
.vxe-checkbox.is--disabled {
|
|
85
|
+
cursor: not-allowed;
|
|
86
|
+
}
|
|
87
|
+
.vxe-checkbox.is--disabled > input + .vxe-checkbox--icon {
|
|
88
|
+
color: var(--vxe-ui-input-disabled-color);
|
|
89
|
+
}
|
|
90
|
+
.vxe-checkbox.is--disabled > input + .vxe-checkbox--icon + .vxe-checkbox--label {
|
|
91
|
+
color: var(--vxe-ui-font-disabled-color);
|
|
92
|
+
}
|
|
93
|
+
.vxe-checkbox.is--disabled > input:checked + .vxe-checkbox--icon {
|
|
94
|
+
color: var(--vxe-ui-input-disabled-color);
|
|
95
|
+
}
|
|
96
|
+
.vxe-checkbox .vxe-checkbox--label {
|
|
97
|
+
padding-left: 0.5em;
|
|
98
|
+
vertical-align: middle;
|
|
99
|
+
display: inline-block;
|
|
100
|
+
max-width: 50em;
|
|
101
|
+
overflow: hidden;
|
|
102
|
+
text-overflow: ellipsis;
|
|
103
|
+
white-space: nowrap;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.vxe-checkbox {
|
|
107
|
+
font-size: var(--vxe-ui-font-size-default);
|
|
108
|
+
}
|
|
109
|
+
.vxe-checkbox.size--medium {
|
|
110
|
+
font-size: var(--vxe-ui-font-size-medium);
|
|
111
|
+
}
|
|
112
|
+
.vxe-checkbox.size--small {
|
|
113
|
+
font-size: var(--vxe-ui-font-size-small);
|
|
114
|
+
}
|
|
115
|
+
.vxe-checkbox.size--mini {
|
|
116
|
+
font-size: var(--vxe-ui-font-size-mini);
|
|
117
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vxe-checkbox-group{display:inline-block;vertical-align:middle;line-height:1}.vxe-checkbox-slots{display:none}.vxe-checkbox--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-checkbox{display:inline-block;vertical-align:middle;white-space:nowrap;line-height:1}.vxe-checkbox .vxe-checkbox--icon{font-size:1.22em}.vxe-checkbox .vxe-checkbox--icon{color:var(--vxe-ui-input-border-color);vertical-align:middle;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-checkbox.is--checked,.vxe-checkbox.is--indeterminate{color:var(--vxe-ui-font-primary-color)}.vxe-checkbox.is--checked .vxe-checkbox--icon,.vxe-checkbox.is--indeterminate .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-checkbox:not(.is--disabled){cursor:pointer}.vxe-checkbox:not(.is--disabled):hover .vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-checkbox.is--hidden{cursor:default}.vxe-checkbox.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:not-allowed}.vxe-checkbox.is--disabled .vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-checkbox .vxe-checkbox--label{padding-left:.5em;vertical-align:middle}.vxe-checkbox+.vxe-checkbox{margin-left:10px}.vxe-checkbox>input[type=checkbox]{position:absolute;width:0;height:0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vxe-checkbox.is--indeterminate>input:not(:checked)+.vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color)}.vxe-checkbox:not(.is--disabled)>input:focus+.vxe-checkbox--icon{color:var(--vxe-ui-font-primary-color);box-shadow:0 0 .2em 0 var(--vxe-ui-font-primary-color)}.vxe-checkbox:not(.is--disabled):hover>input+.vxe-checkbox--icon{border-color:var(--vxe-ui-font-primary-color)}.vxe-checkbox.is--disabled{cursor:not-allowed}.vxe-checkbox.is--disabled>input+.vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-checkbox.is--disabled>input+.vxe-checkbox--icon+.vxe-checkbox--label{color:var(--vxe-ui-font-disabled-color)}.vxe-checkbox.is--disabled>input:checked+.vxe-checkbox--icon{color:var(--vxe-ui-input-disabled-color)}.vxe-checkbox .vxe-checkbox--label{padding-left:.5em;vertical-align:middle;display:inline-block;max-width:50em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-checkbox{font-size:var(--vxe-ui-font-size-default)}.vxe-checkbox.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-checkbox.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-checkbox.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { VxeUI } from '@vxe-ui/core';
|
|
2
|
+
import VxeCheckboxGroupComponent from '../checkbox/src/group';
|
|
3
|
+
import { dynamicApp } from '../dynamics';
|
|
4
|
+
export const VxeCheckboxGroup = Object.assign(VxeCheckboxGroupComponent, {
|
|
5
|
+
install(app) {
|
|
6
|
+
app.component(VxeCheckboxGroupComponent.name, VxeCheckboxGroupComponent);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
dynamicApp.use(VxeCheckboxGroup);
|
|
10
|
+
VxeUI.component(VxeCheckboxGroupComponent);
|
|
11
|
+
export const CheckboxGroup = VxeCheckboxGroup;
|
|
12
|
+
export default VxeCheckboxGroup;
|
|
File without changes
|
|
File without changes
|