savor-ui 0.29.0 → 0.30.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/CHANGELOG.md +15 -0
- package/dist/es/components/src/datetime-picker/datetime-picker.vue.mjs +2 -2
- package/dist/es/components/src/form/form-item.d.ts +2 -14
- package/dist/es/components/src/form/form-item.vue.mjs +69 -62
- package/dist/es/components/src/form/index.d.ts +4 -27
- package/dist/es/components/src/form/types.d.ts +10 -0
- package/dist/es/theme/components/datetime-picker.scss +3 -3
- package/dist/es/theme/components/form.scss +6 -0
- package/dist/es/theme/components/input-tag.scss +4 -4
- package/dist/es/theme/components/textarea.scss +7 -7
- package/dist/json/vetur-attributes.json +4 -0
- package/dist/json/vetur-tags.json +2 -1
- package/dist/json/web-types.json +23 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
# [0.30.0](https://gitee.com/mach552/savor-ui/compare/v0.29.0...v0.30.0) (2026-08-31)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **datetime-picker:** 修复禁用样式无效问题 ([19a295b](https://gitee.com/mach552/savor-ui/commits/19a295b6475dc97eb8456a0803c22791a7f299a8))
|
|
11
|
+
* **input-tag:** 修复错误状态样式无效问题 ([1c219ef](https://gitee.com/mach552/savor-ui/commits/1c219efbc6f4211bc02f3f77fa9d2b076f53f6e0))
|
|
12
|
+
* **textarea:** 修复错误状态样式无效问题 ([595dee9](https://gitee.com/mach552/savor-ui/commits/595dee93be93033a7adf058710012d72c7f982ab))
|
|
13
|
+
* **textarea:** 修复禁用样式无效问题 ([86ae468](https://gitee.com/mach552/savor-ui/commits/86ae4689e9a43ad72fbc0d42093f5d89382c3f6f))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* **form:** 新增额外内容属性和插槽 ([bd9534d](https://gitee.com/mach552/savor-ui/commits/bd9534d1ba5d70501c3bd1467fe23b8b3bdfe0d2))
|
|
19
|
+
|
|
5
20
|
# [0.29.0](https://gitee.com/mach552/savor-ui/compare/v0.28.0...v0.29.0) (2026-08-30)
|
|
6
21
|
|
|
7
22
|
|
|
@@ -251,7 +251,7 @@ var k = /*@__PURE__*/ m({
|
|
|
251
251
|
t.is("range", W.value),
|
|
252
252
|
t.is("error", T(j)),
|
|
253
253
|
t.is("filled", xe.value)
|
|
254
|
-
]), C(r, Me.value), S(r, "clearable", m.clearable), S(r, "placeholder", Pe.value), S(r, "disabled", n), b(r, [t.e("
|
|
254
|
+
]), C(r, Me.value), S(r, "clearable", m.clearable), S(r, "placeholder", Pe.value), S(r, "disabled", n), b(r, [t.e("inner")]);
|
|
255
255
|
}), x(e, null, 1), f(() => M.value && !!A.value && m.clearable, () => {
|
|
256
256
|
let e = ge();
|
|
257
257
|
return y(() => b(e, [T(k).e("close")])), x(e, null, 0), d(T(n)), _(e, "click", E(De, ["stop"])), e;
|
|
@@ -264,7 +264,7 @@ var k = /*@__PURE__*/ m({
|
|
|
264
264
|
r.$evtinput = p(Ue), _(r, "blur", We), _(r, "click", E(U, ["stop"]));
|
|
265
265
|
let o = se(i);
|
|
266
266
|
return a.$evtinput = p(Ge), _(a, "blur", Ke), _(a, "click", E(U, ["stop"])), y(() => {
|
|
267
|
-
let t = T(k), n = m.disabled, i = Ne.value, s = m.clearable, c = Fe.value, l = [t.e("
|
|
267
|
+
let t = T(k), n = m.disabled, i = Ne.value, s = m.clearable, c = Fe.value, l = [t.e("inner")];
|
|
268
268
|
b(e, [
|
|
269
269
|
t.e("wrapper"),
|
|
270
270
|
t.is("disabled", n),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FormItemExpose, FormItemProps } from './types';
|
|
1
|
+
import { FormItemExpose, FormItemProps, FormItemSlots } from './types';
|
|
2
2
|
import { PublicProps, ShallowUnwrapRef, VNode } from 'vue';
|
|
3
3
|
declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
4
4
|
props: PublicProps & __VLS_PrettifyLocal<FormItemProps> & (typeof globalThis extends {
|
|
@@ -6,19 +6,7 @@ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup
|
|
|
6
6
|
} ? P : {});
|
|
7
7
|
expose: (exposed: ShallowUnwrapRef<FormItemExpose>) => void;
|
|
8
8
|
attrs: any;
|
|
9
|
-
slots:
|
|
10
|
-
label?: (props: {
|
|
11
|
-
label: string | undefined;
|
|
12
|
-
}) => any;
|
|
13
|
-
} & {
|
|
14
|
-
label?: (props: {
|
|
15
|
-
label: string | undefined;
|
|
16
|
-
}) => any;
|
|
17
|
-
} & {
|
|
18
|
-
default?: (props: {
|
|
19
|
-
validate: (trigger?: string) => Promise<true | void>;
|
|
20
|
-
}) => any;
|
|
21
|
-
};
|
|
9
|
+
slots: FormItemSlots;
|
|
22
10
|
emit: {};
|
|
23
11
|
}>) => VNode & {
|
|
24
12
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
@@ -4,12 +4,12 @@ import { useNamespace as t } from "../../../hooks/src/use-namespace.mjs";
|
|
|
4
4
|
import "../../../hooks/index.mjs";
|
|
5
5
|
import { AsteriskLine as n } from "../../../icons/src/svg/editor/index.mjs";
|
|
6
6
|
import { QuestionLine as r } from "../../../icons/src/svg/system/index.mjs";
|
|
7
|
-
import { formContextKey as i, formItemContextKey as a, formItemStatusContextKey as
|
|
8
|
-
import { STooltip as
|
|
9
|
-
import { child as
|
|
10
|
-
import
|
|
7
|
+
import { formContextKey as i, formItemContextKey as a, formItemStatusContextKey as ee } from "./types.mjs";
|
|
8
|
+
import { STooltip as o } from "../tooltip/index.mjs";
|
|
9
|
+
import { child as s, computed as c, createComponent as l, createIf as u, createSlot as d, defineVaporComponent as f, inject as p, onMounted as m, onUnmounted as h, provide as g, ref as te, renderEffect as _, setClass as v, setInsertionState as y, setStyle as ne, setText as b, template as x, toDisplayString as S, txt as C, unref as w } from "vue";
|
|
10
|
+
import T from "async-validator";
|
|
11
11
|
//#region ../components/src/form/form-item.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
12
|
-
var
|
|
12
|
+
var E = x("<span>"), D = x(" "), O = x("<div><label>"), k = x("<div>"), A = x("<div> "), j = x("<div><div><div></div>", 1), M = /*@__PURE__*/ f({
|
|
13
13
|
name: "SFormItem",
|
|
14
14
|
__name: "form-item",
|
|
15
15
|
props: {
|
|
@@ -24,27 +24,28 @@ var k = w("<span>"), A = w(" "), j = w("<div><label>"), M = w("<div> "), N = w("
|
|
|
24
24
|
type: Boolean,
|
|
25
25
|
default: !0
|
|
26
26
|
},
|
|
27
|
-
requiredAlign: {}
|
|
27
|
+
requiredAlign: {},
|
|
28
|
+
extra: {}
|
|
28
29
|
},
|
|
29
|
-
setup(
|
|
30
|
-
let
|
|
31
|
-
let e =
|
|
32
|
-
return e &&
|
|
33
|
-
}), V =
|
|
34
|
-
let e =
|
|
35
|
-
return e &&
|
|
36
|
-
}), H =
|
|
30
|
+
setup(f, { expose: x, slots: M }) {
|
|
31
|
+
let N = f, P = t("form-item"), F = p(i), I = c(() => N.labelPosition ? N.labelPosition : F?.labelPosition?.value ? F?.labelPosition?.value : "left"), L = c(() => F?.labelPosition?.value === "top" ? "" : N.labelWidth || F?.labelWidth?.value), R = c(() => N.labelAlign ? N.labelAlign : F?.labelAlign?.value ? F?.labelAlign?.value : F?.labelPosition?.value === "top" ? "left" : "right"), z = null, B = c(() => {
|
|
32
|
+
let e = F?.model?.value;
|
|
33
|
+
return e && N.field && e[N.field] !== void 0 ? e[N.field] : null;
|
|
34
|
+
}), V = c(() => {
|
|
35
|
+
let e = F?.rules?.value;
|
|
36
|
+
return e && N.field && e[N.field] ? e[N.field] : N.rules && N.rules.length > 0 ? N.rules : [];
|
|
37
|
+
}), H = te({
|
|
37
38
|
state: "init",
|
|
38
39
|
errorMsg: "",
|
|
39
40
|
loading: !1
|
|
40
|
-
}), U = (e) => V.value ? V.value.filter((t) => !t.trigger || !e ? !0 : t.trigger && t.trigger === e) : [], W =
|
|
41
|
-
let t =
|
|
41
|
+
}), U = (e) => V.value ? V.value.filter((t) => !t.trigger || !e ? !0 : t.trigger && t.trigger === e) : [], W = c(() => V.value.some((e) => e.required) && (N.showRequired || F?.showRequired?.value)), G = c(() => N.requiredAlign ? N.requiredAlign : F?.requiredAlign?.value ? F?.requiredAlign?.value : "left"), K = async (e) => {
|
|
42
|
+
let t = N.field, n = U(e);
|
|
42
43
|
if (n.length === 0) return !0;
|
|
43
44
|
if (t) {
|
|
44
45
|
let e = B.value, r = Array.isArray(e) ? "array" : e != null && typeof e != "string" ? typeof e : void 0, i = r ? n.map((e) => e.type ? e : {
|
|
45
46
|
...e,
|
|
46
47
|
type: r
|
|
47
|
-
}) : n, a = new
|
|
48
|
+
}) : n, a = new T({ [t]: i });
|
|
48
49
|
return H.value.loading = !0, a.validate({ [t]: e }).then(() => {
|
|
49
50
|
H.value.state = "success", H.value.errorMsg = "";
|
|
50
51
|
}).catch((e) => {
|
|
@@ -58,72 +59,78 @@ var k = w("<span>"), A = w(" "), j = w("<div><label>"), M = w("<div> "), N = w("
|
|
|
58
59
|
H.value.state = "init", H.value.errorMsg = "", H.value.loading = !1;
|
|
59
60
|
}, J = () => {
|
|
60
61
|
q();
|
|
61
|
-
let e =
|
|
62
|
-
e &&
|
|
63
|
-
}, Y =
|
|
62
|
+
let e = F?.model?.value;
|
|
63
|
+
e && N.field && (e[N.field] = z);
|
|
64
|
+
}, Y = c(() => H.value.state === "error"), X = {
|
|
64
65
|
validate: K,
|
|
65
|
-
field:
|
|
66
|
+
field: N.field,
|
|
66
67
|
resetField: J,
|
|
67
68
|
clearValidate: q
|
|
68
69
|
};
|
|
69
|
-
|
|
70
|
-
size:
|
|
70
|
+
g(a, X), g(ee, {
|
|
71
|
+
size: F?.size,
|
|
71
72
|
error: Y
|
|
73
|
+
}), m(() => {
|
|
74
|
+
N.field && (F?.addField(X), z = F?.model?.value?.[N.field]);
|
|
72
75
|
}), h(() => {
|
|
73
|
-
|
|
74
|
-
}),
|
|
75
|
-
P.field && I?.removeField(X);
|
|
76
|
-
}), w({
|
|
76
|
+
N.field && F?.removeField(X);
|
|
77
|
+
}), x({
|
|
77
78
|
validate: K,
|
|
78
79
|
resetField: J,
|
|
79
80
|
clearValidate: q,
|
|
80
81
|
validateStatus: H
|
|
81
82
|
});
|
|
82
|
-
let Z =
|
|
83
|
-
return
|
|
84
|
-
let e =
|
|
85
|
-
|
|
83
|
+
let Z = j(), Q = s(Z, 1), $ = s(Q);
|
|
84
|
+
return _(() => {
|
|
85
|
+
let e = w(P), t = H.value, n = t.state;
|
|
86
|
+
v(Z, [
|
|
86
87
|
e.b(),
|
|
87
88
|
e.is("error", n === "error"),
|
|
88
89
|
e.is("success", n === "success"),
|
|
89
90
|
e.is("loading", t.loading),
|
|
90
|
-
e.is("top",
|
|
91
|
-
e.m(
|
|
91
|
+
e.is("top", I.value === "top"),
|
|
92
|
+
e.m(w(F)?.size?.value)
|
|
92
93
|
]);
|
|
93
|
-
}),
|
|
94
|
-
let t =
|
|
95
|
-
return
|
|
96
|
-
let n =
|
|
97
|
-
|
|
98
|
-
}),
|
|
99
|
-
let e =
|
|
100
|
-
return
|
|
101
|
-
}),
|
|
102
|
-
let e =
|
|
103
|
-
return
|
|
104
|
-
})], () =>
|
|
105
|
-
let e =
|
|
106
|
-
return
|
|
107
|
-
}),
|
|
108
|
-
let e =
|
|
109
|
-
return
|
|
110
|
-
})], null, 2), 518),
|
|
111
|
-
content: () =>
|
|
94
|
+
}), y(Z, 0, 0), u(() => W.value || f.label || f.tooltip, () => {
|
|
95
|
+
let t = O(), i = s(t);
|
|
96
|
+
return _(() => {
|
|
97
|
+
let n = w(P);
|
|
98
|
+
v(t, [n.e("label-wrapper")]), v(i, [n.e("label"), n.m("align-" + R.value)]), ne(i, { width: w(e)(L.value) });
|
|
99
|
+
}), y(i, null, 0), u(() => G.value === "left", () => [u(() => W.value, () => {
|
|
100
|
+
let e = E();
|
|
101
|
+
return _(() => v(e, [w(P).e("required")])), y(e, null, 0), l(w(n)), e;
|
|
102
|
+
}), d("label", { label: () => f.label }, () => {
|
|
103
|
+
let e = D();
|
|
104
|
+
return _(() => b(e, S(f.label))), e;
|
|
105
|
+
})], () => u(() => G.value === "right", () => [d("label", { label: () => f.label }, () => {
|
|
106
|
+
let e = D();
|
|
107
|
+
return _(() => b(e, S(f.label))), e;
|
|
108
|
+
}), u(() => W.value, () => {
|
|
109
|
+
let e = E();
|
|
110
|
+
return _(() => v(e, [w(P).e("required")])), y(e, null, 0), l(w(n)), e;
|
|
111
|
+
})], null, 2), 518), y(i, null, 1), u(() => f.tooltip, () => l(w(o), {
|
|
112
|
+
content: () => f.tooltip,
|
|
112
113
|
mini: ""
|
|
113
114
|
}, () => {
|
|
114
|
-
let e =
|
|
115
|
-
return
|
|
115
|
+
let e = E();
|
|
116
|
+
return _(() => v(e, [w(P).e("tooltip")])), y(e, null, 0), l(w(r)), e;
|
|
116
117
|
})), t;
|
|
117
|
-
}),
|
|
118
|
-
let e =
|
|
119
|
-
|
|
120
|
-
}),
|
|
121
|
-
let e =
|
|
122
|
-
return y(() => {
|
|
123
|
-
|
|
118
|
+
}), _(() => {
|
|
119
|
+
let e = w(P);
|
|
120
|
+
v(Q, [e.e("content-wrapper")]), v($, [e.e("content")]);
|
|
121
|
+
}), y($, null, 0), d("default", { validate: () => K }), y(Q, null, 1), u(() => M.extra || f.extra, () => {
|
|
122
|
+
let e = k();
|
|
123
|
+
return _(() => v(e, [w(P).e("extra")])), y(e, null, 0), d("extra", null, () => {
|
|
124
|
+
let e = D();
|
|
125
|
+
return _(() => b(e, S(f.extra))), e;
|
|
126
|
+
}), e;
|
|
127
|
+
}), y(Q, null, 2), u(() => H.value.state === "error", () => {
|
|
128
|
+
let e = A(), t = C(e);
|
|
129
|
+
return _(() => {
|
|
130
|
+
v(e, [w(P).e("error-msg")]), b(t, S(H.value.errorMsg));
|
|
124
131
|
}), e;
|
|
125
132
|
}), Z;
|
|
126
133
|
}
|
|
127
134
|
});
|
|
128
135
|
//#endregion
|
|
129
|
-
export {
|
|
136
|
+
export { M as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PublicProps, ShallowUnwrapRef, VNode, Plugin } from 'vue';
|
|
2
|
-
import { FormItemRule, FormExpose, FormItemExpose } from './types';
|
|
2
|
+
import { FormItemRule, FormExpose, FormItemSlots, FormItemExpose } from './types';
|
|
3
3
|
export declare const SForm: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
|
|
4
4
|
attrs: any;
|
|
5
5
|
slots: {
|
|
@@ -31,19 +31,7 @@ export declare const SForm: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setu
|
|
|
31
31
|
}) & Plugin;
|
|
32
32
|
export declare const SFormItem: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
|
|
33
33
|
attrs: any;
|
|
34
|
-
slots:
|
|
35
|
-
label?: (props: {
|
|
36
|
-
label: string | undefined;
|
|
37
|
-
}) => any;
|
|
38
|
-
} & {
|
|
39
|
-
label?: (props: {
|
|
40
|
-
label: string | undefined;
|
|
41
|
-
}) => any;
|
|
42
|
-
} & {
|
|
43
|
-
default?: (props: {
|
|
44
|
-
validate: (trigger?: string) => Promise<true | void>;
|
|
45
|
-
}) => any;
|
|
46
|
-
};
|
|
34
|
+
slots: FormItemSlots;
|
|
47
35
|
emit: {};
|
|
48
36
|
}, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
49
37
|
props: PublicProps & {
|
|
@@ -56,24 +44,13 @@ export declare const SFormItem: ((__VLS_props: NonNullable<Awaited<typeof __VLS_
|
|
|
56
44
|
labelAlign?: "left" | "right" | undefined;
|
|
57
45
|
showRequired?: boolean | undefined;
|
|
58
46
|
requiredAlign?: "left" | "right" | undefined;
|
|
47
|
+
extra?: string | undefined;
|
|
59
48
|
} & (typeof globalThis extends {
|
|
60
49
|
__VLS_PROPS_FALLBACK: infer P;
|
|
61
50
|
} ? P : {});
|
|
62
51
|
expose: (exposed: ShallowUnwrapRef<FormItemExpose>) => void;
|
|
63
52
|
attrs: any;
|
|
64
|
-
slots:
|
|
65
|
-
label?: (props: {
|
|
66
|
-
label: string | undefined;
|
|
67
|
-
}) => any;
|
|
68
|
-
} & {
|
|
69
|
-
label?: (props: {
|
|
70
|
-
label: string | undefined;
|
|
71
|
-
}) => any;
|
|
72
|
-
} & {
|
|
73
|
-
default?: (props: {
|
|
74
|
-
validate: (trigger?: string) => Promise<true | void>;
|
|
75
|
-
}) => any;
|
|
76
|
-
};
|
|
53
|
+
slots: FormItemSlots;
|
|
77
54
|
emit: {};
|
|
78
55
|
}>) => VNode & {
|
|
79
56
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
@@ -53,6 +53,16 @@ export interface FormItemProps {
|
|
|
53
53
|
showRequired?: boolean;
|
|
54
54
|
/** 必填标识对齐方式 */
|
|
55
55
|
requiredAlign?: "left" | "right";
|
|
56
|
+
/** 表单项额外内容 */
|
|
57
|
+
extra?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface FormItemSlots {
|
|
60
|
+
/** 内容 */
|
|
61
|
+
default: () => any;
|
|
62
|
+
/** 标签 */
|
|
63
|
+
label: () => any;
|
|
64
|
+
/** 额外内容 */
|
|
65
|
+
extra: () => any;
|
|
56
66
|
}
|
|
57
67
|
export interface FormContext {
|
|
58
68
|
/** 表单模型 */
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
}
|
|
22
22
|
@include when(range) {
|
|
23
23
|
&:focus-within {
|
|
24
|
-
@include be(datetime-picker,
|
|
24
|
+
@include be(datetime-picker, inner) {
|
|
25
25
|
&:focus {
|
|
26
26
|
background-color: getCssVar("color", "fill-2");
|
|
27
27
|
}
|
|
@@ -109,13 +109,13 @@
|
|
|
109
109
|
padding: 4px 8px 4px 4px;
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
@include be(datetime-picker,
|
|
112
|
+
@include be(datetime-picker, inner) {
|
|
113
113
|
font-size: getCssVar("font-size", $size);
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
@include e(
|
|
118
|
+
@include e(inner) {
|
|
119
119
|
height: 100%;
|
|
120
120
|
width: 100%;
|
|
121
121
|
padding: 0 8px 0 8px;
|
|
@@ -78,6 +78,12 @@
|
|
|
78
78
|
justify-content: flex-start;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
@include e(extra) {
|
|
82
|
+
margin-top: 4px;
|
|
83
|
+
color: getCssVar("color", "text-3");
|
|
84
|
+
font-size: getCssVar("font-size", "mini");
|
|
85
|
+
}
|
|
86
|
+
|
|
81
87
|
@include e(error-msg) {
|
|
82
88
|
height: 20px;
|
|
83
89
|
font-size: getCssVar("font-size", "small");
|
|
@@ -53,14 +53,14 @@
|
|
|
53
53
|
border-color: getCssVar("color", "danger-6");
|
|
54
54
|
}
|
|
55
55
|
@include when(filled) {
|
|
56
|
-
background-color: getCssVar("color", "
|
|
57
|
-
border-color: getCssVar("color", "
|
|
56
|
+
background-color: getCssVar("color", "danger-1");
|
|
57
|
+
border-color: getCssVar("color", "danger-1");
|
|
58
58
|
&:hover {
|
|
59
|
-
background-color: getCssVar("color", "
|
|
59
|
+
background-color: getCssVar("color", "danger-2");
|
|
60
60
|
}
|
|
61
61
|
&:focus-within {
|
|
62
62
|
background-color: getCssVar("color", "bg-2");
|
|
63
|
-
border-color: getCssVar("color", "
|
|
63
|
+
border-color: getCssVar("color", "danger-5");
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
}
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
}
|
|
30
30
|
@include when(disabled) {
|
|
31
31
|
cursor: not-allowed;
|
|
32
|
-
@include be(
|
|
32
|
+
@include be(textarea, inner) {
|
|
33
33
|
color: getCssVar("color", "text-3");
|
|
34
34
|
}
|
|
35
|
-
@include this-be(
|
|
35
|
+
@include this-be(textarea, wrapper) {
|
|
36
36
|
background-color: getCssVar("color", "bg-2");
|
|
37
37
|
border: 1px solid getCssVar("color", "fill-3");
|
|
38
38
|
&:hover {
|
|
@@ -58,14 +58,14 @@
|
|
|
58
58
|
border-color: getCssVar("color", "danger-6");
|
|
59
59
|
}
|
|
60
60
|
@include when(filled) {
|
|
61
|
-
background-color: getCssVar("color", "
|
|
62
|
-
border-color: getCssVar("color", "
|
|
61
|
+
background-color: getCssVar("color", "danger-1");
|
|
62
|
+
border-color: getCssVar("color", "danger-1");
|
|
63
63
|
&:hover {
|
|
64
|
-
background-color: getCssVar("color", "
|
|
64
|
+
background-color: getCssVar("color", "danger-2");
|
|
65
65
|
}
|
|
66
66
|
&:focus-within {
|
|
67
67
|
background-color: getCssVar("color", "bg-2");
|
|
68
|
-
border-color: getCssVar("color", "
|
|
68
|
+
border-color: getCssVar("color", "danger-5");
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
}
|
|
79
79
|
&:focus-within {
|
|
80
80
|
background-color: getCssVar("color", "bg-2");
|
|
81
|
-
border-color: getCssVar("color", "primary-
|
|
81
|
+
border-color: getCssVar("color", "primary-5");
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -878,6 +878,10 @@
|
|
|
878
878
|
"s-form-item/requiredAlign": {
|
|
879
879
|
"description": "必填标识对齐方式"
|
|
880
880
|
},
|
|
881
|
+
"s-form-item/extra": {
|
|
882
|
+
"description": "表单项额外内容",
|
|
883
|
+
"type": "string"
|
|
884
|
+
},
|
|
881
885
|
"s-galleria/modelValue": {
|
|
882
886
|
"description": "当前选中项索引(v-model)",
|
|
883
887
|
"type": "number"
|
package/dist/json/web-types.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
|
|
3
3
|
"framework": "vue",
|
|
4
4
|
"name": "savor-ui",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.29.0",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
8
8
|
"types-syntax": "typescript",
|
|
@@ -2340,10 +2340,31 @@
|
|
|
2340
2340
|
"type": "left | right",
|
|
2341
2341
|
"kind": "expression"
|
|
2342
2342
|
}
|
|
2343
|
+
},
|
|
2344
|
+
{
|
|
2345
|
+
"name": "extra",
|
|
2346
|
+
"description": "表单项额外内容",
|
|
2347
|
+
"value": {
|
|
2348
|
+
"type": "string",
|
|
2349
|
+
"kind": "expression"
|
|
2350
|
+
}
|
|
2343
2351
|
}
|
|
2344
2352
|
],
|
|
2345
2353
|
"events": [],
|
|
2346
|
-
"slots": [
|
|
2354
|
+
"slots": [
|
|
2355
|
+
{
|
|
2356
|
+
"name": "default",
|
|
2357
|
+
"description": "内容"
|
|
2358
|
+
},
|
|
2359
|
+
{
|
|
2360
|
+
"name": "label",
|
|
2361
|
+
"description": "标签"
|
|
2362
|
+
},
|
|
2363
|
+
{
|
|
2364
|
+
"name": "extra",
|
|
2365
|
+
"description": "额外内容"
|
|
2366
|
+
}
|
|
2367
|
+
]
|
|
2347
2368
|
},
|
|
2348
2369
|
{
|
|
2349
2370
|
"name": "s-galleria",
|