@veltra/desktop 1.2.34 → 1.3.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/dist/components/action/action-group.vue.d.ts +2 -2
- package/dist/components/action/action.vue.d.ts +2 -2
- package/dist/components/batch-edit/style2.css +0 -3
- package/dist/components/button/style2.css +23 -7
- package/dist/components/calendar/style2.css +3 -0
- package/dist/components/card/style2.css +12 -10
- package/dist/components/cascade/cascade.vue.d.ts +3 -3
- package/dist/components/check-tag/style2.css +6 -1
- package/dist/components/checkbox/checkbox-button.vue.d.ts +1 -1
- package/dist/components/checkbox/checkbox.js +10 -10
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/checkbox/style2.css +20 -3
- package/dist/components/checkbox-group/checkbox-group.vue.d.ts +1 -1
- package/dist/components/code-editor/style2.css +2 -2
- package/dist/components/contextmenu/style2.css +2 -2
- package/dist/components/date-panel/date-panel.vue.d.ts +1 -1
- package/dist/components/date-picker/date-picker.vue.d.ts +1 -1
- package/dist/components/date-range-picker/date-range-picker.vue.d.ts +1 -1
- package/dist/components/dialog/style2.css +3 -3
- package/dist/components/drawer/style2.css +1 -1
- package/dist/components/dropdown/style2.css +1 -1
- package/dist/components/empty/empty.vue.d.ts +1 -1
- package/dist/components/float-button/style2.css +1 -1
- package/dist/components/group-nav/style2.css +1 -1
- package/dist/components/input/style2.css +5 -4
- package/dist/components/message/style2.css +7 -7
- package/dist/components/message-confirm/style2.css +1 -1
- package/dist/components/multi-select/multi-select.vue.d.ts +1 -1
- package/dist/components/multi-tree-select/multi-tree-select.vue.d.ts +2 -2
- package/dist/components/nav/style2.css +2 -2
- package/dist/components/notification/style2.css +1 -1
- package/dist/components/number/number.vue.d.ts +1 -1
- package/dist/components/pop-confirm/pop-confirm.vue.d.ts +1 -1
- package/dist/components/progress-nodes/progress-nodes.vue.d.ts +1 -1
- package/dist/components/radio/radio.js +5 -5
- package/dist/components/radio/radio.js.map +1 -1
- package/dist/components/radio/style2.css +12 -0
- package/dist/components/radio-group/radio-group.vue.d.ts +1 -1
- package/dist/components/rich-text-editor/style2.css +1 -1
- package/dist/components/scroll/style2.css +3 -3
- package/dist/components/select/select.vue.d.ts +1 -1
- package/dist/components/slider/slider-thumb.js +4 -2
- package/dist/components/slider/slider-thumb.js.map +1 -1
- package/dist/components/slider/style2.css +7 -0
- package/dist/components/switch/style2.css +15 -1
- package/dist/components/switch/switch.js +0 -1
- package/dist/components/switch/switch.js.map +1 -1
- package/dist/components/tabs/style2.css +7 -4
- package/dist/components/text/style2.css +5 -5
- package/dist/components/tip/style2.css +2 -2
- package/dist/components/tree/tree.vue.d.ts +3 -3
- package/dist/components/tree-select/tree-select.vue.d.ts +2 -2
- package/package.json +6 -6
- package/src/components/batch-edit/style.scss +0 -5
- package/src/components/button/style.scss +16 -9
- package/src/components/calendar/style.scss +4 -0
- package/src/components/card/style.scss +4 -2
- package/src/components/check-tag/style.scss +7 -1
- package/src/components/checkbox/checkbox.vue +8 -2
- package/src/components/checkbox/style.scss +32 -3
- package/src/components/code-editor/style.scss +2 -2
- package/src/components/contextmenu/style.scss +1 -3
- package/src/components/dialog/style.scss +3 -3
- package/src/components/drawer/style.scss +1 -1
- package/src/components/dropdown/style.scss +1 -1
- package/src/components/float-button/style.scss +1 -1
- package/src/components/group-nav/style.scss +1 -3
- package/src/components/input/style.scss +4 -3
- package/src/components/message/style.scss +2 -2
- package/src/components/message-confirm/style.scss +1 -1
- package/src/components/nav/style.scss +2 -6
- package/src/components/notification/style.scss +1 -1
- package/src/components/radio/radio.vue +8 -9
- package/src/components/radio/style.scss +21 -0
- package/src/components/rich-text-editor/style.scss +1 -1
- package/src/components/scroll/style.scss +3 -3
- package/src/components/slider/slider-thumb.vue +1 -1
- package/src/components/slider/style.scss +10 -0
- package/src/components/switch/style.scss +25 -1
- package/src/components/switch/switch.vue +0 -1
- package/src/components/tabs/style.scss +7 -5
- package/src/components/text/style.scss +5 -5
- package/src/components/tip/style.scss +2 -2
|
@@ -264,7 +264,7 @@
|
|
|
264
264
|
background-repeat: no-repeat;
|
|
265
265
|
border: 1px solid var(--u-border-color);
|
|
266
266
|
border-radius: calc(var(--u-radius-large) + 6px);
|
|
267
|
-
box-shadow:
|
|
267
|
+
box-shadow: var(--u-shadow-lg);
|
|
268
268
|
}
|
|
269
269
|
.u-nav__container {
|
|
270
270
|
padding: 8px;
|
|
@@ -344,7 +344,7 @@
|
|
|
344
344
|
-webkit-backdrop-filter: var(--u-bg-filter);
|
|
345
345
|
border: 1px solid var(--u-border-color);
|
|
346
346
|
border-radius: calc(var(--u-radius-large) + 4px);
|
|
347
|
-
box-shadow:
|
|
347
|
+
box-shadow: var(--u-shadow-lg);
|
|
348
348
|
}
|
|
349
349
|
.u-collapsed-nav__panel .u-tip__arrow {
|
|
350
350
|
display: none;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { NumberProps } from "../../types/number.js";
|
|
2
2
|
//#region src/components/number/number.vue.d.ts
|
|
3
3
|
declare const __VLS_export: import("vue").DefineComponent<NumberProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<NumberProps> & Readonly<{}>, {
|
|
4
|
-
duration: number;
|
|
5
4
|
format: "currency" | "percent" | "decimal";
|
|
5
|
+
duration: number;
|
|
6
6
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
7
|
declare const _default: typeof __VLS_export;
|
|
8
8
|
//#endregion
|
|
@@ -13,8 +13,8 @@ declare const __VLS_base: import("vue").DefineComponent<PopConfirmProps, {}, {},
|
|
|
13
13
|
onCancel?: (() => any) | undefined;
|
|
14
14
|
}>, {
|
|
15
15
|
trigger: "hover" | "click";
|
|
16
|
-
icon: import("vue").Component;
|
|
17
16
|
direction: TipDirection;
|
|
17
|
+
icon: import("vue").Component;
|
|
18
18
|
iconColor: string;
|
|
19
19
|
confirmText: string;
|
|
20
20
|
cancelText: string;
|
|
@@ -19,8 +19,8 @@ declare const __VLS_base: import("vue").DefineComponent<ProgressNodesProps, {},
|
|
|
19
19
|
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
|
|
20
20
|
onClick?: ((node: Record<string, any>, index: number) => any) | undefined;
|
|
21
21
|
}>, {
|
|
22
|
-
valueKey: string;
|
|
23
22
|
labelKey: string;
|
|
23
|
+
valueKey: string;
|
|
24
24
|
colorType: import("@veltra/utils").ColorType;
|
|
25
25
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
26
26
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -45,15 +45,15 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
45
45
|
});
|
|
46
46
|
return (_ctx, _cache) => {
|
|
47
47
|
return openBlock(), createElementBlock("label", { class: normalizeClass(classList.value) }, [
|
|
48
|
-
|
|
49
|
-
createElementVNode("section", { class: normalizeClass(unref(cls).e("button")) }, [withDirectives(createElementVNode("input", {
|
|
48
|
+
withDirectives(createElementVNode("input", {
|
|
50
49
|
type: "radio",
|
|
51
50
|
class: normalizeClass(unref(cls).e("native")),
|
|
52
51
|
value: __props.value,
|
|
53
52
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
|
|
54
|
-
disabled: unref(disabled)
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
disabled: unref(disabled)
|
|
54
|
+
}, null, 10, _hoisted_1), [[vModelRadio, model.value]]),
|
|
55
|
+
createCommentVNode(" radio框 "),
|
|
56
|
+
createElementVNode("section", { class: normalizeClass(unref(cls).e("button")) }, [createVNode(Transition, { name: "zoom-in" }, {
|
|
57
57
|
default: withCtx(() => [radioChecked.value ? (openBlock(), createElementBlock("span", {
|
|
58
58
|
key: 0,
|
|
59
59
|
class: normalizeClass(unref(cls).e("inner"))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.js","names":[],"sources":["../../../src/components/radio/radio.vue"],"sourcesContent":["<template>\n <label :class=\"classList\">\n
|
|
1
|
+
{"version":3,"file":"radio.js","names":[],"sources":["../../../src/components/radio/radio.vue"],"sourcesContent":["<template>\n <label :class=\"classList\">\n <input\n type=\"radio\"\n :class=\"cls.e('native')\"\n :value=\"value\"\n v-model=\"model\"\n :disabled=\"disabled\"\n />\n\n <!-- radio框 -->\n <section :class=\"cls.e('button')\">\n <transition name=\"zoom-in\">\n <span :class=\"cls.e('inner')\" v-if=\"radioChecked\"></span>\n </transition>\n </section>\n\n <span :class=\"cls.e('label')\">\n <slot>{{ label }}</slot>\n </span>\n </label>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useFormFallbackProps } from '@veltra/compositions'\nimport { bem } from '@veltra/utils'\nimport { injectFormContext } from '@veltra/utils'\nimport { computed } from 'vue'\n\nimport type { RadioProps, RadioEmits } from '../../types'\n\ndefineOptions({ name: 'URadio' })\n\nconst model = defineModel<any>()\n\nconst props = withDefaults(defineProps<RadioProps>(), { disabled: undefined })\n\ndefineEmits<RadioEmits>()\n\nconst cls = bem('radio')\n\nconst { formProps } = injectFormContext()\n\nconst { size, disabled } = useFormFallbackProps([formProps ?? {}, props], {\n size: 'default',\n disabled: false\n})\n\nconst radioChecked = computed(() => model.value === props.value)\n\nconst classList = computed(() => {\n return [\n cls.b,\n cls.m(size.value),\n bem.is('disabled', disabled.value),\n bem.is('checked', radioChecked.value)\n ]\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCA,MAAM,QAAQ,SAAgB,SAAA,YAAC;EAE/B,MAAM,QAAQ;EAId,MAAM,MAAM,IAAI,OAAO;EAEvB,MAAM,EAAE,cAAc,kBAAkB;EAExC,MAAM,EAAE,MAAM,aAAa,qBAAqB,CAAC,aAAa,CAAC,GAAG,KAAK,GAAG;GACxE,MAAM;GACN,UAAU;EACZ,CAAC;EAED,MAAM,eAAe,eAAe,MAAM,UAAU,MAAM,KAAK;EAE/D,MAAM,YAAY,eAAe;GAC/B,OAAO;IACL,IAAI;IACJ,IAAI,EAAE,KAAK,KAAK;IAChB,IAAI,GAAG,YAAY,SAAS,KAAK;IACjC,IAAI,GAAG,WAAW,aAAa,KAAK;GACtC;EACF,CAAC;;uBAxDC,mBAmBQ,SAAA,EAnBA,OAAK,eAAE,UAAA,KAAS,EAAA,GAAA;mBACtB,mBAME,SAAA;KALA,MAAK;KACJ,OAAK,eAAE,MAAA,GAAA,CAAG,CAAC,EAAC,QAAA,CAAA;KACZ,OAAO,QAAA;kEACC,MAAK,QAAA;KACb,UAAU,MAAA,QAAA;6CADF,MAAA,KAAK,CAAA,CAAA;IAIhB,mBAAA,UAAA;IACA,mBAIU,WAAA,EAJA,OAAK,eAAE,MAAA,GAAA,CAAG,CAAC,EAAC,QAAA,CAAA,EAAA,GAAA,CACpB,YAEa,YAAA,EAFD,MAAK,UAAS,GAAA;4BACiC,CAArB,aAAA,SAAA,UAAA,GAApC,mBAAyD,QAAA;;MAAlD,OAAK,eAAE,MAAA,GAAA,CAAG,CAAC,EAAC,OAAA,CAAA;;;;IAIvB,mBAEO,QAAA,EAFA,OAAK,eAAE,MAAA,GAAA,CAAG,CAAC,EAAC,OAAA,CAAA,EAAA,GAAA,CACjB,WAAwB,KAAA,QAAA,WAAA,CAAA,SAAA,CAAA,gBAAA,gBAAf,QAAA,KAAK,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA"}
|
|
@@ -71,12 +71,18 @@
|
|
|
71
71
|
border-radius: 50%;
|
|
72
72
|
border: var(--u-border-width) var(--u-border-style) var(--u-radio-border, #ccc);
|
|
73
73
|
overflow: hidden;
|
|
74
|
+
transition: border-color var(--u-transition-fast) var(--u-transition-ease), box-shadow var(--u-transition-fast) var(--u-transition-ease);
|
|
74
75
|
}
|
|
75
76
|
.u-radio.is-checked .u-radio__button {
|
|
76
77
|
border-color: var(--u-color-primary);
|
|
77
78
|
}
|
|
78
79
|
.u-radio__native {
|
|
80
|
+
position: absolute;
|
|
81
|
+
width: 0;
|
|
82
|
+
height: 0;
|
|
79
83
|
opacity: 0;
|
|
84
|
+
margin: 0;
|
|
85
|
+
pointer-events: none;
|
|
80
86
|
}
|
|
81
87
|
.u-radio__label {
|
|
82
88
|
padding-left: var(--u-gap-small);
|
|
@@ -87,6 +93,12 @@
|
|
|
87
93
|
display: block;
|
|
88
94
|
height: 100%;
|
|
89
95
|
}
|
|
96
|
+
.u-radio:not(.is-disabled):hover .u-radio__button {
|
|
97
|
+
border-color: var(--u-color-primary);
|
|
98
|
+
}
|
|
99
|
+
.u-radio:not(.is-disabled) .u-radio__native:focus-visible + .u-radio__button {
|
|
100
|
+
box-shadow: var(--u-focus-ring);
|
|
101
|
+
}
|
|
90
102
|
.u-radio.is-disabled {
|
|
91
103
|
color: var(--u-text-color-disabled);
|
|
92
104
|
cursor: not-allowed;
|
|
@@ -14,8 +14,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
|
|
|
14
14
|
"onUpdate:modelValue"?: ((value: any) => any) | undefined;
|
|
15
15
|
onChange?: ((item: Record<string, any>) => any) | undefined;
|
|
16
16
|
}>, {
|
|
17
|
-
valueKey: string;
|
|
18
17
|
labelKey: string;
|
|
18
|
+
valueKey: string;
|
|
19
19
|
disabled: boolean;
|
|
20
20
|
readonly: boolean;
|
|
21
21
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
}
|
|
31
31
|
.u-rich-text-editor:focus-within {
|
|
32
32
|
border-color: var(--u-color-primary);
|
|
33
|
-
box-shadow: 0 0 0 2px
|
|
33
|
+
box-shadow: 0 0 0 2px var(--u-color-primary-a-22);
|
|
34
34
|
}
|
|
35
35
|
.u-rich-text-editor--small {
|
|
36
36
|
border-radius: var(--u-radius-small);
|
|
@@ -46,18 +46,18 @@
|
|
|
46
46
|
cursor: default;
|
|
47
47
|
position: absolute;
|
|
48
48
|
border-radius: 6px;
|
|
49
|
-
background-color:
|
|
49
|
+
background-color: var(--u-text-color-assist-a-40);
|
|
50
50
|
will-change: transform;
|
|
51
51
|
transition: opacity 0.3s ease-in, background-color 0.3s ease-in, height 0.15s ease-in, width 0.15s ease-in;
|
|
52
52
|
z-index: 1;
|
|
53
53
|
}
|
|
54
54
|
.u-scroll__bar-x:hover, .u-scroll__bar-y:hover {
|
|
55
|
-
background-color:
|
|
55
|
+
background-color: var(--u-text-color-assist-a-60);
|
|
56
56
|
border-radius: 10px;
|
|
57
57
|
}
|
|
58
58
|
.u-scroll__bar-x.is-active, .u-scroll__bar-y.is-active {
|
|
59
59
|
opacity: 1;
|
|
60
|
-
background-color:
|
|
60
|
+
background-color: var(--u-text-color-assist);
|
|
61
61
|
border-radius: 10px;
|
|
62
62
|
}
|
|
63
63
|
.u-scroll.is-always .u-scroll__bar-y {
|
|
@@ -24,8 +24,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
|
|
|
24
24
|
"onUpdate:text"?: ((value: any) => any) | undefined;
|
|
25
25
|
"onUpdate:label"?: ((label?: string | undefined) => any) | undefined;
|
|
26
26
|
}>, {
|
|
27
|
-
valueKey: string;
|
|
28
27
|
labelKey: string;
|
|
28
|
+
valueKey: string;
|
|
29
29
|
clearable: boolean;
|
|
30
30
|
placeholder: string;
|
|
31
31
|
disabled: boolean;
|
|
@@ -2,6 +2,7 @@ import { sliderContextKey } from "./di.js";
|
|
|
2
2
|
import { computed, createElementBlock, defineComponent, inject, normalizeClass, normalizeStyle, openBlock, unref, useTemplateRef, watch } from "vue";
|
|
3
3
|
import { useDrag, useUserAction } from "@veltra/compositions";
|
|
4
4
|
//#region src/components/slider/slider-thumb.vue
|
|
5
|
+
const _hoisted_1 = ["tabindex"];
|
|
5
6
|
const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
6
7
|
__name: "slider-thumb",
|
|
7
8
|
props: { modelValue: {} },
|
|
@@ -44,8 +45,9 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
44
45
|
return openBlock(), createElementBlock("div", {
|
|
45
46
|
ref: "thumb",
|
|
46
47
|
class: normalizeClass(unref(cls).e("thumb")),
|
|
47
|
-
style: normalizeStyle(style.value)
|
|
48
|
-
|
|
48
|
+
style: normalizeStyle(style.value),
|
|
49
|
+
tabindex: unref(disabled) ? -1 : 0
|
|
50
|
+
}, null, 14, _hoisted_1);
|
|
49
51
|
};
|
|
50
52
|
}
|
|
51
53
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-thumb.js","names":[],"sources":["../../../src/components/slider/slider-thumb.vue"],"sourcesContent":["<template>\n <div ref=\"thumb\" :class=\"cls.e('thumb')\" :style></div>\n</template>\n<script lang=\"ts\" setup>\nimport { useDrag, useUserAction } from '@veltra/compositions'\nimport { computed, inject, useTemplateRef, watch } from 'vue'\n\nimport { sliderContextKey } from './di'\n\nconst props = defineProps<{ modelValue: number }>()\n\nconst emit = defineEmits<{ (e: 'update:modelValue', value: number): void }>()\n\nconst { cls, range, disabled, sliderProps, getOffsetByStep } = inject(sliderContextKey)!\n\nconst thumbRef = useTemplateRef('thumb')\n\nconst style = computed(() => {\n if (sliderProps.vertical) {\n return { transform: `translate(0, ${props.modelValue}px)` }\n }\n return { transform: `translate(${props.modelValue}px, 0)` }\n})\n\nconst { userAction, isUserActive } = useUserAction()\n\nfunction updateModel(offset: number) {\n offset = getOffsetByStep(offset)\n emit('update:modelValue', offset)\n return offset\n}\n\nconst dragger = useDrag({\n target: computed(() => (disabled.value ? null : thumbRef.value)),\n\n onDrag: userAction(({ offsetX, offsetY }) => {\n updateModel(sliderProps.vertical ? offsetY : offsetX)\n }),\n rangeX: range,\n rangeY: range,\n onDragEnd: userAction(({ offsetX, offsetY }) => {\n const offset = updateModel(sliderProps.vertical ? offsetY : offsetX)\n updateDragger(offset)\n })\n})\n\nfunction updateDragger(offset: number) {\n if (sliderProps.vertical) {\n dragger.update({ offsetY: offset })\n } else {\n dragger.update({ offsetX: offset })\n }\n}\n\nwatch(\n () => props.modelValue,\n (offset) => {\n if (isUserActive()) return\n updateDragger(offset)\n }\n)\n</script>\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"slider-thumb.js","names":[],"sources":["../../../src/components/slider/slider-thumb.vue"],"sourcesContent":["<template>\n <div ref=\"thumb\" :class=\"cls.e('thumb')\" :style :tabindex=\"disabled ? -1 : 0\"></div>\n</template>\n<script lang=\"ts\" setup>\nimport { useDrag, useUserAction } from '@veltra/compositions'\nimport { computed, inject, useTemplateRef, watch } from 'vue'\n\nimport { sliderContextKey } from './di'\n\nconst props = defineProps<{ modelValue: number }>()\n\nconst emit = defineEmits<{ (e: 'update:modelValue', value: number): void }>()\n\nconst { cls, range, disabled, sliderProps, getOffsetByStep } = inject(sliderContextKey)!\n\nconst thumbRef = useTemplateRef('thumb')\n\nconst style = computed(() => {\n if (sliderProps.vertical) {\n return { transform: `translate(0, ${props.modelValue}px)` }\n }\n return { transform: `translate(${props.modelValue}px, 0)` }\n})\n\nconst { userAction, isUserActive } = useUserAction()\n\nfunction updateModel(offset: number) {\n offset = getOffsetByStep(offset)\n emit('update:modelValue', offset)\n return offset\n}\n\nconst dragger = useDrag({\n target: computed(() => (disabled.value ? null : thumbRef.value)),\n\n onDrag: userAction(({ offsetX, offsetY }) => {\n updateModel(sliderProps.vertical ? offsetY : offsetX)\n }),\n rangeX: range,\n rangeY: range,\n onDragEnd: userAction(({ offsetX, offsetY }) => {\n const offset = updateModel(sliderProps.vertical ? offsetY : offsetX)\n updateDragger(offset)\n })\n})\n\nfunction updateDragger(offset: number) {\n if (sliderProps.vertical) {\n dragger.update({ offsetY: offset })\n } else {\n dragger.update({ offsetX: offset })\n }\n}\n\nwatch(\n () => props.modelValue,\n (offset) => {\n if (isUserActive()) return\n updateDragger(offset)\n }\n)\n</script>\n"],"mappings":";;;;;;;;;;EASA,MAAM,QAAQ;EAEd,MAAM,OAAO;EAEb,MAAM,EAAE,KAAK,OAAO,UAAU,aAAa,oBAAoB,OAAO,gBAAgB;EAEtF,MAAM,WAAW,eAAe,OAAO;EAEvC,MAAM,QAAQ,eAAe;GAC3B,IAAI,YAAY,UACd,OAAO,EAAE,WAAW,gBAAgB,MAAM,WAAW,KAAK;GAE5D,OAAO,EAAE,WAAW,aAAa,MAAM,WAAW,QAAQ;EAC5D,CAAC;EAED,MAAM,EAAE,YAAY,iBAAiB,cAAc;EAEnD,SAAS,YAAY,QAAgB;GACnC,SAAS,gBAAgB,MAAM;GAC/B,KAAK,qBAAqB,MAAM;GAChC,OAAO;EACT;EAEA,MAAM,UAAU,QAAQ;GACtB,QAAQ,eAAgB,SAAS,QAAQ,OAAO,SAAS,KAAM;GAE/D,QAAQ,YAAY,EAAE,SAAS,cAAc;IAC3C,YAAY,YAAY,WAAW,UAAU,OAAO;GACtD,CAAC;GACD,QAAQ;GACR,QAAQ;GACR,WAAW,YAAY,EAAE,SAAS,cAAc;IAE9C,cADe,YAAY,YAAY,WAAW,UAAU,OAC9C,CAAM;GACtB,CAAC;EACH,CAAC;EAED,SAAS,cAAc,QAAgB;GACrC,IAAI,YAAY,UACd,QAAQ,OAAO,EAAE,SAAS,OAAO,CAAC;QAElC,QAAQ,OAAO,EAAE,SAAS,OAAO,CAAC;EAEtC;EAEA,YACQ,MAAM,aACX,WAAW;GACV,IAAI,aAAa,GAAG;GACpB,cAAc,MAAM;EACtB,CACF;;uBA3DE,mBAAoF,OAAA;IAA/E,KAAI;IAAS,OAAK,eAAE,MAAA,GAAA,CAAG,CAAC,EAAC,OAAA,CAAA;IAAY,OAAK,eAAL,MAAA,KAAK;IAAE,UAAU,MAAA,QAAA,IAAQ,KAAA"}
|
|
@@ -163,7 +163,14 @@
|
|
|
163
163
|
cursor: grab;
|
|
164
164
|
z-index: 1;
|
|
165
165
|
border: 4px solid var(--u-color-primary);
|
|
166
|
+
transition: box-shadow var(--u-transition-fast) var(--u-transition-ease);
|
|
167
|
+
}
|
|
168
|
+
.u-slider__thumb:hover {
|
|
169
|
+
box-shadow: 0 0 0 3px var(--u-color-primary-a-8);
|
|
166
170
|
}
|
|
167
171
|
.u-slider__thumb:active {
|
|
168
172
|
cursor: grabbing;
|
|
169
173
|
}
|
|
174
|
+
.u-slider__thumb:focus-visible {
|
|
175
|
+
box-shadow: var(--u-focus-ring);
|
|
176
|
+
}
|
|
@@ -38,6 +38,16 @@
|
|
|
38
38
|
.u-switch.is-readonly {
|
|
39
39
|
cursor: default;
|
|
40
40
|
}
|
|
41
|
+
.u-switch:not(.is-disabled):not(.is-readonly):hover .u-switch__button {
|
|
42
|
+
background-color: var(--u-color-primary-light-7);
|
|
43
|
+
border-color: var(--u-color-primary-light-5);
|
|
44
|
+
}
|
|
45
|
+
.u-switch:not(.is-disabled):not(.is-readonly):hover.is-checked .u-switch__button {
|
|
46
|
+
background-color: var(--u-color-primary-dark-1);
|
|
47
|
+
}
|
|
48
|
+
.u-switch:not(.is-disabled):not(.is-readonly) .u-switch__native:focus-visible ~ .u-switch__button {
|
|
49
|
+
box-shadow: var(--u-focus-ring);
|
|
50
|
+
}
|
|
41
51
|
.u-switch--small .u-switch__button {
|
|
42
52
|
height: var(--u-switch-height-small);
|
|
43
53
|
width: calc(var(--u-switch-height-small) * 2 - 4px);
|
|
@@ -63,8 +73,12 @@
|
|
|
63
73
|
height: calc(var(--u-switch-height-large) - 4px);
|
|
64
74
|
}
|
|
65
75
|
.u-switch__native {
|
|
76
|
+
position: absolute;
|
|
77
|
+
width: 0;
|
|
78
|
+
height: 0;
|
|
66
79
|
opacity: 0;
|
|
67
|
-
|
|
80
|
+
margin: 0;
|
|
81
|
+
pointer-events: none;
|
|
68
82
|
}
|
|
69
83
|
.u-switch__button {
|
|
70
84
|
display: flex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.js","names":[],"sources":["../../../src/components/switch/switch.vue"],"sourcesContent":["<template>\n <label :class=\"switchClass\" @click.stop>\n <input\n type=\"checkbox\"\n :class=\"cls.e('native')\"\n
|
|
1
|
+
{"version":3,"file":"switch.js","names":[],"sources":["../../../src/components/switch/switch.vue"],"sourcesContent":["<template>\n <label :class=\"switchClass\" @click.stop>\n <input\n type=\"checkbox\"\n :class=\"cls.e('native')\"\n :checked=\"model\"\n :disabled=\"disabled\"\n @input=\"handleInput\"\n />\n <span :class=\"[cls.e('text'), bem.is('selected', !model)]\" v-if=\"inactiveText\">\n {{ inactiveText }}\n </span>\n\n <div :class=\"cls.e('button')\">\n <span :class=\"cls.e('thumb')\"></span>\n </div>\n\n <span v-if=\"activeText\" :class=\"[cls.e('text'), bem.is('selected', model)]\">\n {{ activeText }}\n </span>\n </label>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useFormFallbackProps } from '@veltra/compositions'\nimport { bem } from '@veltra/utils'\nimport { injectFormContext } from '@veltra/utils'\nimport { computed } from 'vue'\n\nimport type { SwitchEmits, SwitchProps, _SwitchExposed } from '../../types'\n\ndefineOptions({ name: 'USwitch' })\n\nconst props = withDefaults(defineProps<SwitchProps>(), { disabled: undefined, readonly: undefined })\n\nconst emit = defineEmits<SwitchEmits>()\n\nconst model = defineModel<boolean>()\n\nconst cls = bem('switch')\n\nconst { formProps } = injectFormContext()\n\nconst { size, disabled, readonly } = useFormFallbackProps([formProps ?? {}, props])\n\nconst switchClass = computed(() => {\n return [\n cls.b,\n cls.m(size.value),\n bem.is('disabled', disabled.value),\n bem.is('readonly', readonly.value),\n bem.is('checked', model.value)\n ]\n})\n\nconst handleInput = (e: Event) => {\n if (disabled.value || readonly.value) return\n\n const newValue = (e.target as HTMLInputElement).checked\n model.value = newValue\n emit('change', newValue)\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCA,MAAM,QAAQ;EAEd,MAAM,OAAO;EAEb,MAAM,QAAQ,SAAoB,SAAA,YAAC;EAEnC,MAAM,MAAM,IAAI,QAAQ;EAExB,MAAM,EAAE,cAAc,kBAAkB;EAExC,MAAM,EAAE,MAAM,UAAU,aAAa,qBAAqB,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;EAElF,MAAM,cAAc,eAAe;GACjC,OAAO;IACL,IAAI;IACJ,IAAI,EAAE,KAAK,KAAK;IAChB,IAAI,GAAG,YAAY,SAAS,KAAK;IACjC,IAAI,GAAG,YAAY,SAAS,KAAK;IACjC,IAAI,GAAG,WAAW,MAAM,KAAK;GAC/B;EACF,CAAC;EAED,MAAM,eAAe,MAAa;GAChC,IAAI,SAAS,SAAS,SAAS,OAAO;GAEtC,MAAM,WAAY,EAAE,OAA4B;GAChD,MAAM,QAAQ;GACd,KAAK,UAAU,QAAQ;EACzB;;uBA5DE,mBAmBQ,SAAA;IAnBA,OAAK,eAAE,YAAA,KAAW;IAAG,SAAK,OAAA,OAAA,OAAA,KAAA,oBAAN,CAAA,GAAW,CAAA,MAAA,CAAA;;IACrC,mBAME,SAAA;KALA,MAAK;KACJ,OAAK,eAAE,MAAA,GAAA,CAAG,CAAC,EAAC,QAAA,CAAA;KACZ,SAAS,MAAA;KACT,UAAU,MAAA,QAAA;KACV,SAAO;;IAEuD,QAAA,gBAAA,UAAA,GAAjE,mBAEO,QAAA;;KAFA,OAAK,eAAA,CAAG,MAAA,GAAA,CAAG,CAAC,EAAC,MAAA,GAAU,MAAA,GAAA,CAAG,CAAC,GAAE,YAAA,CAAc,MAAA,KAAK,CAAA,CAAA;uBAClD,QAAA,YAAY,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA;IAGjB,mBAEM,OAAA,EAFA,OAAK,eAAE,MAAA,GAAA,CAAG,CAAC,EAAC,QAAA,CAAA,EAAA,GAAA,CAChB,mBAAqC,QAAA,EAA9B,OAAK,eAAE,MAAA,GAAA,CAAG,CAAC,EAAC,OAAA,CAAA,EAAA,GAAA,MAAA,CAAA,CAAA,GAAA,CAAA;IAGT,QAAA,cAAA,UAAA,GAAZ,mBAEO,QAAA;;KAFkB,OAAK,eAAA,CAAG,MAAA,GAAA,CAAG,CAAC,EAAC,MAAA,GAAU,MAAA,GAAA,CAAG,CAAC,GAAE,YAAa,MAAA,KAAK,CAAA,CAAA;uBACnE,QAAA,UAAU,GAAA,CAAA,KAAA,mBAAA,QAAA,IAAA"}
|
|
@@ -115,7 +115,10 @@
|
|
|
115
115
|
.u-tabs-bar__item.is-active {
|
|
116
116
|
color: var(--u-color-primary);
|
|
117
117
|
background-color: var(--u-tabs-active-bg, var(--u-bg-color-top));
|
|
118
|
-
box-shadow:
|
|
118
|
+
box-shadow: var(--u-shadow-sm);
|
|
119
|
+
}
|
|
120
|
+
.u-tabs-bar__item:focus-visible {
|
|
121
|
+
box-shadow: var(--u-focus-ring);
|
|
119
122
|
}
|
|
120
123
|
.u-tabs-bar__item-label {
|
|
121
124
|
display: inline-flex;
|
|
@@ -143,10 +146,10 @@
|
|
|
143
146
|
}
|
|
144
147
|
.u-tabs-bar__close:hover {
|
|
145
148
|
color: var(--u-text-color-title);
|
|
146
|
-
background-color:
|
|
149
|
+
background-color: var(--u-text-color-title-a-8);
|
|
147
150
|
}
|
|
148
151
|
.u-tabs-bar__close:active {
|
|
149
|
-
background-color:
|
|
152
|
+
background-color: var(--u-text-color-title-a-11);
|
|
150
153
|
}
|
|
151
154
|
.u-tabs-bar--horizontal .u-tabs-bar__item .u-tabs-bar__close {
|
|
152
155
|
width: 0;
|
|
@@ -182,7 +185,7 @@
|
|
|
182
185
|
.u-tabs-bar__nav:hover:not(:disabled) {
|
|
183
186
|
color: var(--u-text-color-title);
|
|
184
187
|
background-color: var(--u-tabs-active-bg, var(--u-bg-color-top));
|
|
185
|
-
box-shadow:
|
|
188
|
+
box-shadow: var(--u-shadow-sm);
|
|
186
189
|
}
|
|
187
190
|
.u-tabs-bar__nav:disabled {
|
|
188
191
|
cursor: not-allowed;
|
|
@@ -24,27 +24,27 @@
|
|
|
24
24
|
.u-text.is-main-title {
|
|
25
25
|
font-size: 18px;
|
|
26
26
|
font-weight: 600;
|
|
27
|
-
color:
|
|
27
|
+
color: var(--u-text-color-title);
|
|
28
28
|
}
|
|
29
29
|
.u-text.is-title {
|
|
30
30
|
font-size: 16px;
|
|
31
31
|
font-weight: 600;
|
|
32
|
-
color:
|
|
32
|
+
color: var(--u-text-color-main);
|
|
33
33
|
}
|
|
34
34
|
.u-text.is-sub-title {
|
|
35
35
|
font-size: 16px;
|
|
36
36
|
font-weight: 500;
|
|
37
|
-
color:
|
|
37
|
+
color: var(--u-text-color-placeholder);
|
|
38
38
|
}
|
|
39
39
|
.u-text.is-content {
|
|
40
40
|
font-size: 14px;
|
|
41
41
|
font-weight: 300;
|
|
42
|
-
color:
|
|
42
|
+
color: var(--u-text-color-second);
|
|
43
43
|
}
|
|
44
44
|
.u-text.is-additional {
|
|
45
45
|
font-size: 12px;
|
|
46
46
|
font-weight: 300;
|
|
47
|
-
color:
|
|
47
|
+
color: var(--u-text-color-assist);
|
|
48
48
|
}
|
|
49
49
|
.u-text.is-italic {
|
|
50
50
|
font-style: italic;
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
position: absolute;
|
|
23
23
|
left: 0;
|
|
24
24
|
top: 0;
|
|
25
|
-
box-shadow: var(--u-shadow);
|
|
25
|
+
box-shadow: var(--u-shadow-lg);
|
|
26
26
|
border-radius: var(--u-radius-default);
|
|
27
27
|
color: var(--u-text-color-main);
|
|
28
28
|
}
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
.u-tip__arrow {
|
|
41
41
|
position: absolute;
|
|
42
42
|
z-index: -1;
|
|
43
|
-
box-shadow: var(--u-shadow);
|
|
43
|
+
box-shadow: var(--u-shadow-lg);
|
|
44
44
|
background-color: var(--u-bg-color-top);
|
|
45
45
|
transform: rotate(45deg);
|
|
46
46
|
}
|
|
@@ -19,11 +19,11 @@ declare const __VLS_base: import("vue").DefineComponent<TreeProps, _TreeExposed,
|
|
|
19
19
|
"onNode-contextmenu"?: ((event: MouseEvent, node: TreeNode<Record<string, any>>) => any) | undefined;
|
|
20
20
|
"onSelected-synced"?: ((selected?: Record<string, any> | undefined) => any) | undefined;
|
|
21
21
|
}>, {
|
|
22
|
-
valueKey: string;
|
|
23
|
-
labelKey: string;
|
|
24
|
-
data: Record<string, any>[];
|
|
25
22
|
expandOnClickNode: boolean;
|
|
23
|
+
labelKey: string;
|
|
24
|
+
valueKey: string;
|
|
26
25
|
childrenKey: string;
|
|
26
|
+
data: Record<string, any>[];
|
|
27
27
|
checkStrictly: boolean;
|
|
28
28
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
29
29
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -24,15 +24,15 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
|
|
|
24
24
|
onClear?: (() => any) | undefined;
|
|
25
25
|
"onUpdate:text"?: ((text?: string | undefined) => any) | undefined;
|
|
26
26
|
}>, {
|
|
27
|
-
|
|
27
|
+
expandAll: boolean;
|
|
28
28
|
labelKey: string;
|
|
29
|
+
valueKey: string;
|
|
29
30
|
clearable: boolean;
|
|
30
31
|
placeholder: string;
|
|
31
32
|
filterable: boolean;
|
|
32
33
|
minWidth: string;
|
|
33
34
|
disabled: boolean;
|
|
34
35
|
readonly: boolean;
|
|
35
|
-
expandAll: boolean;
|
|
36
36
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
37
37
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
38
38
|
declare const _default: typeof __VLS_export;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veltra/desktop",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"src"
|
|
@@ -57,11 +57,11 @@
|
|
|
57
57
|
"@cat-kit/core": ">=1.1.8",
|
|
58
58
|
"@cat-kit/excel": ">=1.0.0",
|
|
59
59
|
"@cat-kit/fe": "^1.1.8",
|
|
60
|
-
"@veltra/compositions": "1.
|
|
61
|
-
"@veltra/directives": "1.
|
|
62
|
-
"@veltra/icons": "1.
|
|
63
|
-
"@veltra/styles": "1.
|
|
64
|
-
"@veltra/utils": "1.
|
|
60
|
+
"@veltra/compositions": "1.3.0",
|
|
61
|
+
"@veltra/directives": "1.3.0",
|
|
62
|
+
"@veltra/icons": "1.3.0",
|
|
63
|
+
"@veltra/styles": "1.3.0",
|
|
64
|
+
"@veltra/utils": "1.3.0",
|
|
65
65
|
"vue": ">=3.5.39"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
@@ -8,7 +8,6 @@ $root-name: button;
|
|
|
8
8
|
@include m.b($root-name) {
|
|
9
9
|
color: fn.component-var(button, default-color, fn.use-var(text-color, main));
|
|
10
10
|
box-sizing: border-box;
|
|
11
|
-
border-radius: 9999px;
|
|
12
11
|
line-height: 1;
|
|
13
12
|
outline: none;
|
|
14
13
|
text-decoration: none;
|
|
@@ -21,9 +20,10 @@ $root-name: button;
|
|
|
21
20
|
background-color: fn.component-var(button, default-bg, fn.use-var(color, default));
|
|
22
21
|
box-shadow: fn.use-var(shadow, emboss);
|
|
23
22
|
transition:
|
|
24
|
-
background-color
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
background-color fn.use-var(transition, fast) fn.use-var(transition, ease),
|
|
24
|
+
border-color fn.use-var(transition, fast) fn.use-var(transition, ease),
|
|
25
|
+
color fn.use-var(transition, fast) fn.use-var(transition, ease),
|
|
26
|
+
box-shadow fn.use-var(transition, fast) fn.use-var(transition, ease);
|
|
27
27
|
-webkit-tap-highlight-color: transparent; /* For some Androids */
|
|
28
28
|
gap: fn.use-var(gap-small);
|
|
29
29
|
|
|
@@ -42,6 +42,10 @@ $root-name: button;
|
|
|
42
42
|
box-shadow: none;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
&:focus-visible {
|
|
46
|
+
box-shadow: fn.use-var(focus-ring);
|
|
47
|
+
}
|
|
48
|
+
|
|
45
49
|
@include m.is(disabled, loading) {
|
|
46
50
|
box-shadow: none !important;
|
|
47
51
|
}
|
|
@@ -65,6 +69,7 @@ $root-name: button;
|
|
|
65
69
|
height: fn.use-var(form-component-height, $size);
|
|
66
70
|
line-height: fn.use-var(form-component-height, $size);
|
|
67
71
|
font-size: fn.use-var(font-size-main, $size);
|
|
72
|
+
border-radius: fn.use-var(radius, $size);
|
|
68
73
|
|
|
69
74
|
@include m.is(circle) {
|
|
70
75
|
width: fn.use-var(form-component-height, $size);
|
|
@@ -197,11 +202,13 @@ $root-name: button;
|
|
|
197
202
|
@include m.b($root-name) {
|
|
198
203
|
border-radius: 0;
|
|
199
204
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
+
@include m.size using ($size) {
|
|
206
|
+
&:first-child {
|
|
207
|
+
border-radius: fn.use-var(radius, $size) 0 0 fn.use-var(radius, $size);
|
|
208
|
+
}
|
|
209
|
+
&:last-child {
|
|
210
|
+
border-radius: 0 fn.use-var(radius, $size) fn.use-var(radius, $size) 0;
|
|
211
|
+
}
|
|
205
212
|
}
|
|
206
213
|
}
|
|
207
214
|
}
|
|
@@ -7,12 +7,14 @@ $root-name: card;
|
|
|
7
7
|
@include m.b($root-name) {
|
|
8
8
|
border-radius: fn.use-var(radius, default);
|
|
9
9
|
background-color: fn.use-var(bg-color, top);
|
|
10
|
-
|
|
10
|
+
border: fn.use-var(border-muted);
|
|
11
|
+
box-shadow: fn.use-var(shadow, sm);
|
|
11
12
|
backdrop-filter: fn.use-var(bg-filter);
|
|
12
13
|
-webkit-backdrop-filter: fn.use-var(bg-filter);
|
|
13
14
|
overflow: hidden;
|
|
14
15
|
|
|
15
16
|
@include m.is(integrate) {
|
|
17
|
+
border: none;
|
|
16
18
|
box-shadow: none;
|
|
17
19
|
--u-card-header-bg: transparent;
|
|
18
20
|
--u-card-action-bg: transparent;
|
|
@@ -27,7 +29,7 @@ $root-name: card;
|
|
|
27
29
|
font-size: fn.use-var(font-size-main, $size);
|
|
28
30
|
|
|
29
31
|
@include m.b(card__header, card__content, card__action) {
|
|
30
|
-
padding: fn.use-var(gap, $size);
|
|
32
|
+
padding: fn.component-var(card, padding-#{$size}, fn.use-var(gap, $size));
|
|
31
33
|
}
|
|
32
34
|
|
|
33
35
|
@include m.bem($root-name, header) {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
vertical-align: middle;
|
|
11
11
|
height: 24px;
|
|
12
12
|
padding: 0 9px;
|
|
13
|
-
color:
|
|
13
|
+
color: fn.use-var(text-color, main);
|
|
14
14
|
border: 1px solid fn.use-var(color-primary);
|
|
15
15
|
border-radius: fn.use-var(radius-default);
|
|
16
16
|
background: fn.use-var(color-primary-light-9);
|
|
@@ -24,4 +24,10 @@
|
|
|
24
24
|
border: 1px solid fn.use-var(color-primary-dark-3);
|
|
25
25
|
background-color: fn.use-var(color-primary-dark-3);
|
|
26
26
|
}
|
|
27
|
+
|
|
28
|
+
@include m.is(disabled) {
|
|
29
|
+
cursor: not-allowed;
|
|
30
|
+
color: fn.use-var(text-color, disabled);
|
|
31
|
+
background-color: fn.use-var(color, disabled);
|
|
32
|
+
}
|
|
27
33
|
}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<label :class="className">
|
|
3
|
+
<input
|
|
4
|
+
type="checkbox"
|
|
5
|
+
:class="cls.e('native')"
|
|
6
|
+
:checked="checked"
|
|
7
|
+
:disabled="disabled"
|
|
8
|
+
@click="handleInput"
|
|
9
|
+
/>
|
|
10
|
+
|
|
3
11
|
<span :class="cls.e('wrap')">
|
|
4
12
|
<transition name="zoom-in" mode="out-in">
|
|
5
13
|
<svg viewBox="0 0 64 64" v-if="checked" fill="currentColor">
|
|
@@ -11,8 +19,6 @@
|
|
|
11
19
|
</transition>
|
|
12
20
|
</span>
|
|
13
21
|
|
|
14
|
-
<input type="checkbox" :checked="checked" :disabled="disabled" hidden @click="handleInput" />
|
|
15
|
-
|
|
16
22
|
<span :class="cls.e('label')" v-if="$slots.default"><slot /> </span>
|
|
17
23
|
</label>
|
|
18
24
|
</template>
|