savor-ui 0.14.0 → 0.14.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/CHANGELOG.md +8 -0
- package/dist/es/components/src/form/form-item.vue_vue_type_script_setup_true_vapor_true_lang.mjs +8 -7
- package/dist/es/components/src/form/index.d.ts +1 -0
- package/dist/es/components/src/form/types.d.ts +2 -0
- package/dist/es/components/src/radio/index.d.ts +1 -1
- package/dist/es/components/src/radio/radio-group.vue_vue_type_script_setup_true_vapor_true_lang.mjs +26 -23
- package/dist/es/components/src/radio/radio.vue_vue_type_script_setup_true_vapor_true_lang.mjs +0 -2
- package/dist/es/components/src/radio/types.d.ts +2 -2
- package/dist/es/theme/components/radio.scss +14 -1
- package/dist/json/vetur-attributes.json +6 -3
- package/dist/json/vetur-tags.json +3 -2
- package/dist/json/web-types.json +17 -9
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
## [0.14.1](https://gitee.com/mach552/savor-ui/compare/v0.14.0...v0.14.1) (2026-07-26)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **form:** 修复子组件`labelPosition`无效问题 ([ff76534](https://gitee.com/mach552/savor-ui/commits/ff7653461d61cd7a2e116917dd3960dd05ede902))
|
|
11
|
+
* **radio-group:** 修复大小无效问题 ([a9a9a12](https://gitee.com/mach552/savor-ui/commits/a9a9a1222e9db825b2222ba99b04266dfbd07383))
|
|
12
|
+
|
|
5
13
|
# [0.14.0](https://gitee.com/mach552/savor-ui/compare/v0.13.1...v0.14.0) (2026-07-26)
|
|
6
14
|
|
|
7
15
|
|
package/dist/es/components/src/form/form-item.vue_vue_type_script_setup_true_vapor_true_lang.mjs
CHANGED
|
@@ -19,6 +19,7 @@ var k = w("<span>"), A = w(" "), j = w("<div><label>"), M = w("<div> "), N = w("
|
|
|
19
19
|
rules: {},
|
|
20
20
|
labelWidth: {},
|
|
21
21
|
tooltip: {},
|
|
22
|
+
labelPosition: {},
|
|
22
23
|
labelAlign: {},
|
|
23
24
|
showRequired: {
|
|
24
25
|
type: Boolean,
|
|
@@ -27,7 +28,7 @@ var k = w("<span>"), A = w(" "), j = w("<div><label>"), M = w("<div> "), N = w("
|
|
|
27
28
|
requiredAlign: {}
|
|
28
29
|
},
|
|
29
30
|
setup(p, { expose: w }) {
|
|
30
|
-
let P = p, F = t("form-item"), I = m(i), L = l(() => I?.labelPosition?.value === "top" ? "" : P.labelWidth || I?.labelWidth?.value), R = l(() => P.labelAlign ? P.labelAlign : I?.labelAlign?.value ? I?.labelAlign?.value : I?.labelPosition?.value === "top" ? "left" : "right"), z = null, B = l(() => {
|
|
31
|
+
let P = p, F = t("form-item"), I = m(i), L = l(() => P.labelPosition ? P.labelPosition : I?.labelPosition?.value ? I?.labelPosition?.value : "left"), ee = l(() => I?.labelPosition?.value === "top" ? "" : P.labelWidth || I?.labelWidth?.value), R = l(() => P.labelAlign ? P.labelAlign : I?.labelAlign?.value ? I?.labelAlign?.value : I?.labelPosition?.value === "top" ? "left" : "right"), z = null, B = l(() => {
|
|
31
32
|
let e = I?.model?.value;
|
|
32
33
|
return e && P.field && e[P.field] !== void 0 ? e[P.field] : null;
|
|
33
34
|
}), V = l(() => {
|
|
@@ -81,20 +82,20 @@ var k = w("<span>"), A = w(" "), j = w("<div><label>"), M = w("<div> "), N = w("
|
|
|
81
82
|
});
|
|
82
83
|
let Z = N(), Q = c(Z, 1), $ = c(Q);
|
|
83
84
|
return y(() => {
|
|
84
|
-
let e = D(F), t = H.value, n =
|
|
85
|
+
let e = D(F), t = H.value, n = t.state;
|
|
85
86
|
b(Z, [
|
|
86
87
|
e.b(),
|
|
87
|
-
e.is("error",
|
|
88
|
-
e.is("success",
|
|
88
|
+
e.is("error", n === "error"),
|
|
89
|
+
e.is("success", n === "success"),
|
|
89
90
|
e.is("loading", t.loading),
|
|
90
|
-
e.is("top",
|
|
91
|
-
e.m(
|
|
91
|
+
e.is("top", L.value === "top"),
|
|
92
|
+
e.m(D(I)?.size?.value)
|
|
92
93
|
]);
|
|
93
94
|
}), x(Z, 0, 0), d(() => W.value || p.label || p.tooltip, () => {
|
|
94
95
|
let t = j(), i = c(t);
|
|
95
96
|
return y(() => {
|
|
96
97
|
let n = D(F);
|
|
97
|
-
b(t, [n.e("label-wrapper")]), b(i, [n.e("label"), n.m("align-" + R.value)]), S(i, { width: D(e)(
|
|
98
|
+
b(t, [n.e("label-wrapper")]), b(i, [n.e("label"), n.m("align-" + R.value)]), S(i, { width: D(e)(ee.value) });
|
|
98
99
|
}), x(i, null, 0), d(() => G.value === "left", () => [d(() => W.value, () => {
|
|
99
100
|
let e = k();
|
|
100
101
|
return y(() => b(e, [D(F).e("required")])), x(e, null, 0), u(D(n)), e;
|
|
@@ -52,6 +52,7 @@ export declare const SFormItem: ((__VLS_props: NonNullable<Awaited<typeof __VLS_
|
|
|
52
52
|
rules?: FormItemRule[] | undefined;
|
|
53
53
|
labelWidth?: string | number | undefined;
|
|
54
54
|
tooltip?: string | undefined;
|
|
55
|
+
labelPosition?: "left" | "top" | undefined;
|
|
55
56
|
labelAlign?: "left" | "right" | undefined;
|
|
56
57
|
showRequired?: boolean | undefined;
|
|
57
58
|
requiredAlign?: "left" | "right" | undefined;
|
|
@@ -8,7 +8,6 @@ export declare const SRadio: ((__VLS_props: NonNullable<Awaited<typeof __VLS_set
|
|
|
8
8
|
props: PublicProps & {
|
|
9
9
|
label?: string | undefined;
|
|
10
10
|
value: string | number | boolean;
|
|
11
|
-
size?: "mini" | "small" | "medium" | "large" | undefined;
|
|
12
11
|
disabled?: boolean | undefined;
|
|
13
12
|
modelValue?: string | number | boolean | undefined;
|
|
14
13
|
onChange?: ((value: string | number | boolean, e: Event) => any) | undefined;
|
|
@@ -34,6 +33,7 @@ export declare const SRadioGroup: ((__VLS_props: NonNullable<Awaited<typeof __VL
|
|
|
34
33
|
vertical?: boolean | undefined;
|
|
35
34
|
button?: boolean | undefined;
|
|
36
35
|
block?: boolean | undefined;
|
|
36
|
+
size?: "mini" | "small" | "medium" | "large" | undefined;
|
|
37
37
|
modelValue?: string | number | boolean | undefined;
|
|
38
38
|
onChange?: ((value: string | number | boolean) => any) | undefined;
|
|
39
39
|
"onUpdate:modelValue"?: ((value: string | number | boolean) => any) | undefined;
|
package/dist/es/components/src/radio/radio-group.vue_vue_type_script_setup_true_vapor_true_lang.mjs
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { useNamespace as e } from "../../../hooks/src/use-namespace.mjs";
|
|
2
2
|
import "../../../hooks/index.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useFormItem as t } from "../form/use-form-item.mjs";
|
|
4
|
+
import { radioGroupContextKey as n } from "./types.mjs";
|
|
5
|
+
import { createSlot as r, defineVaporComponent as i, mergeModels as a, provide as o, renderEffect as s, setClass as c, setInsertionState as l, template as u, toRefs as d, unref as f, useModel as p } from "vue";
|
|
5
6
|
//#region ../components/src/radio/radio-group.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
6
|
-
var
|
|
7
|
+
var m = u("<div>", 1), h = /*@__PURE__*/ i({
|
|
7
8
|
name: "SRadioGroup",
|
|
8
9
|
__name: "radio-group",
|
|
9
|
-
props: /*@__PURE__*/
|
|
10
|
+
props: /*@__PURE__*/ a({
|
|
10
11
|
vertical: { type: Boolean },
|
|
11
12
|
button: { type: Boolean },
|
|
12
|
-
block: { type: Boolean }
|
|
13
|
+
block: { type: Boolean },
|
|
14
|
+
size: { default: "medium" }
|
|
13
15
|
}, {
|
|
14
16
|
modelValue: {
|
|
15
17
|
type: [
|
|
@@ -21,27 +23,28 @@ var p = l("<div>", 1), m = /*@__PURE__*/ r({
|
|
|
21
23
|
},
|
|
22
24
|
modelModifiers: {}
|
|
23
25
|
}),
|
|
24
|
-
emits: /*@__PURE__*/
|
|
25
|
-
setup(
|
|
26
|
-
let
|
|
27
|
-
|
|
28
|
-
}, { button:
|
|
29
|
-
|
|
30
|
-
checked:
|
|
31
|
-
checkedValue:
|
|
32
|
-
button:
|
|
26
|
+
emits: /*@__PURE__*/ a(["change"], ["update:modelValue"]),
|
|
27
|
+
setup(i, { emit: a }) {
|
|
28
|
+
let u = i, h = a, g = e("radio-group"), _ = p(i, "modelValue"), { size: v } = d(u), { mergedSize: y } = t({ size: v }), b = (e) => {
|
|
29
|
+
_.value = e, h("change", _.value);
|
|
30
|
+
}, { button: x } = d(u);
|
|
31
|
+
o(n, {
|
|
32
|
+
checked: b,
|
|
33
|
+
checkedValue: _,
|
|
34
|
+
button: x
|
|
33
35
|
});
|
|
34
|
-
let
|
|
35
|
-
return
|
|
36
|
-
let e =
|
|
37
|
-
|
|
36
|
+
let S = m();
|
|
37
|
+
return s(() => {
|
|
38
|
+
let e = f(g);
|
|
39
|
+
c(S, [
|
|
38
40
|
e.b(),
|
|
39
|
-
e.is("vertical",
|
|
40
|
-
e.is("button",
|
|
41
|
-
e.is("block",
|
|
41
|
+
e.is("vertical", i.vertical),
|
|
42
|
+
e.is("button", f(x)),
|
|
43
|
+
e.is("block", i.block),
|
|
44
|
+
e.m(f(y))
|
|
42
45
|
]);
|
|
43
|
-
}),
|
|
46
|
+
}), l(S, null, 0), r(), S;
|
|
44
47
|
}
|
|
45
48
|
});
|
|
46
49
|
//#endregion
|
|
47
|
-
export {
|
|
50
|
+
export { h as default };
|
package/dist/es/components/src/radio/radio.vue_vue_type_script_setup_true_vapor_true_lang.mjs
CHANGED
|
@@ -13,7 +13,6 @@ var b = g("<span></span>"), x = g(" "), S = g("<span>"), C = g("<label><input ty
|
|
|
13
13
|
Number,
|
|
14
14
|
Boolean
|
|
15
15
|
] },
|
|
16
|
-
size: { default: "medium" },
|
|
17
16
|
disabled: { type: Boolean }
|
|
18
17
|
}, {
|
|
19
18
|
modelValue: {
|
|
@@ -35,7 +34,6 @@ var b = g("<span></span>"), x = g(" "), S = g("<span>"), C = g("<label><input ty
|
|
|
35
34
|
let e = v(E), t = A.value, n = o.disabled;
|
|
36
35
|
d(M, [
|
|
37
36
|
e.b(),
|
|
38
|
-
e.m(o.size),
|
|
39
37
|
e.is("checked", t),
|
|
40
38
|
e.is("button", O.value),
|
|
41
39
|
e.is("disabled", n)
|
|
@@ -4,8 +4,6 @@ export interface RadioProps {
|
|
|
4
4
|
label?: string;
|
|
5
5
|
/** 单选框值 */
|
|
6
6
|
value: string | number | boolean;
|
|
7
|
-
/** 大小 */
|
|
8
|
-
size?: "mini" | "small" | "medium" | "large";
|
|
9
7
|
/** 是否禁用 */
|
|
10
8
|
disabled?: boolean;
|
|
11
9
|
}
|
|
@@ -28,6 +26,8 @@ export interface RadioGroupProps {
|
|
|
28
26
|
button?: boolean;
|
|
29
27
|
/** 是否块级元素,占满父元素宽度 */
|
|
30
28
|
block?: boolean;
|
|
29
|
+
/** 大小 */
|
|
30
|
+
size?: "mini" | "small" | "medium" | "large";
|
|
31
31
|
}
|
|
32
32
|
export interface RadioGroupEmits {
|
|
33
33
|
/** 选中状态变化时触发 */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
@use "../mixins/function.scss" as *;
|
|
2
2
|
@use "../mixins/mixins.scss" as *;
|
|
3
|
+
@use "../common/var.scss" as *;
|
|
3
4
|
|
|
4
5
|
@include b(radio) {
|
|
5
6
|
position: relative;
|
|
@@ -122,7 +123,6 @@
|
|
|
122
123
|
@include when(button) {
|
|
123
124
|
background-color: getCssVar("color", "fill-2");
|
|
124
125
|
padding: 3px;
|
|
125
|
-
height: getCssVar("size", "medium");
|
|
126
126
|
gap: 3px;
|
|
127
127
|
border-radius: getCssVar("radius", "medium");
|
|
128
128
|
}
|
|
@@ -138,4 +138,17 @@
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
+
|
|
142
|
+
@each $size in $size-list {
|
|
143
|
+
@include m(#{$size}) {
|
|
144
|
+
@include when(button) {
|
|
145
|
+
height: getCssVar("size", $size);
|
|
146
|
+
@include child-b(radio) {
|
|
147
|
+
@include be(radio, label) {
|
|
148
|
+
font-size: getCssVar("font-size", $size);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
141
154
|
}
|
|
@@ -814,6 +814,9 @@
|
|
|
814
814
|
"description": "表单项提示",
|
|
815
815
|
"type": "string"
|
|
816
816
|
},
|
|
817
|
+
"s-form-item/labelPosition": {
|
|
818
|
+
"description": "表单项标签位置"
|
|
819
|
+
},
|
|
817
820
|
"s-form-item/labelAlign": {
|
|
818
821
|
"description": "表单项标签对齐方式"
|
|
819
822
|
},
|
|
@@ -1741,9 +1744,6 @@
|
|
|
1741
1744
|
"description": "单选框值",
|
|
1742
1745
|
"type": "string | number | boolean"
|
|
1743
1746
|
},
|
|
1744
|
-
"s-radio/size": {
|
|
1745
|
-
"description": "大小"
|
|
1746
|
-
},
|
|
1747
1747
|
"s-radio/disabled": {
|
|
1748
1748
|
"description": "是否禁用",
|
|
1749
1749
|
"type": "boolean"
|
|
@@ -1763,6 +1763,9 @@
|
|
|
1763
1763
|
"description": "是否块级元素,占满父元素宽度",
|
|
1764
1764
|
"type": "boolean"
|
|
1765
1765
|
},
|
|
1766
|
+
"s-radio-group/size": {
|
|
1767
|
+
"description": "大小"
|
|
1768
|
+
},
|
|
1766
1769
|
"s-scrollbar/scroll": {
|
|
1767
1770
|
"description": "滚动事件"
|
|
1768
1771
|
},
|
|
@@ -361,6 +361,7 @@
|
|
|
361
361
|
"rules",
|
|
362
362
|
"labelWidth",
|
|
363
363
|
"tooltip",
|
|
364
|
+
"labelPosition",
|
|
364
365
|
"labelAlign",
|
|
365
366
|
"showRequired",
|
|
366
367
|
"requiredAlign"
|
|
@@ -738,7 +739,6 @@
|
|
|
738
739
|
"change",
|
|
739
740
|
"label",
|
|
740
741
|
"value",
|
|
741
|
-
"size",
|
|
742
742
|
"disabled"
|
|
743
743
|
]
|
|
744
744
|
},
|
|
@@ -747,7 +747,8 @@
|
|
|
747
747
|
"change",
|
|
748
748
|
"vertical",
|
|
749
749
|
"button",
|
|
750
|
-
"block"
|
|
750
|
+
"block",
|
|
751
|
+
"size"
|
|
751
752
|
]
|
|
752
753
|
},
|
|
753
754
|
"s-scrollbar": {
|
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.14.0",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
8
8
|
"types-syntax": "typescript",
|
|
@@ -2198,6 +2198,14 @@
|
|
|
2198
2198
|
"kind": "expression"
|
|
2199
2199
|
}
|
|
2200
2200
|
},
|
|
2201
|
+
{
|
|
2202
|
+
"name": "labelPosition",
|
|
2203
|
+
"description": "表单项标签位置",
|
|
2204
|
+
"value": {
|
|
2205
|
+
"type": "left | top",
|
|
2206
|
+
"kind": "expression"
|
|
2207
|
+
}
|
|
2208
|
+
},
|
|
2201
2209
|
{
|
|
2202
2210
|
"name": "labelAlign",
|
|
2203
2211
|
"description": "表单项标签对齐方式",
|
|
@@ -4558,14 +4566,6 @@
|
|
|
4558
4566
|
"kind": "expression"
|
|
4559
4567
|
}
|
|
4560
4568
|
},
|
|
4561
|
-
{
|
|
4562
|
-
"name": "size",
|
|
4563
|
-
"description": "大小",
|
|
4564
|
-
"value": {
|
|
4565
|
-
"type": "mini | small | medium | large",
|
|
4566
|
-
"kind": "expression"
|
|
4567
|
-
}
|
|
4568
|
-
},
|
|
4569
4569
|
{
|
|
4570
4570
|
"name": "disabled",
|
|
4571
4571
|
"description": "是否禁用",
|
|
@@ -4618,6 +4618,14 @@
|
|
|
4618
4618
|
"type": "boolean",
|
|
4619
4619
|
"kind": "expression"
|
|
4620
4620
|
}
|
|
4621
|
+
},
|
|
4622
|
+
{
|
|
4623
|
+
"name": "size",
|
|
4624
|
+
"description": "大小",
|
|
4625
|
+
"value": {
|
|
4626
|
+
"type": "mini | small | medium | large",
|
|
4627
|
+
"kind": "expression"
|
|
4628
|
+
}
|
|
4621
4629
|
}
|
|
4622
4630
|
],
|
|
4623
4631
|
"events": [
|