savor-ui 0.27.0 → 0.28.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 +13 -0
- package/dist/es/components/index.d.ts +1 -0
- package/dist/es/components/index.mjs +3 -2
- package/dist/es/components/src/select/select.vue.mjs +126 -124
- package/dist/es/components/src/transfer/index.d.ts +33 -0
- package/dist/es/components/src/transfer/index.mjs +7 -0
- package/dist/es/components/src/transfer/transfer.d.ts +25 -0
- package/dist/es/components/src/transfer/transfer.vue.mjs +228 -0
- package/dist/es/components/src/transfer/types.d.ts +61 -0
- package/dist/es/components/src/tree/node.d.ts +4 -0
- package/dist/es/components/src/tree/node.vue.mjs +13 -14
- package/dist/es/components/src/tree/tree.vue.mjs +14 -7
- package/dist/es/components/src/tree/types.d.ts +4 -0
- package/dist/es/core/components.mjs +17 -15
- package/dist/es/core/global.d.ts +1 -0
- package/dist/es/core/index.mjs +15 -14
- package/dist/es/theme/components/checkbox.scss +3 -0
- package/dist/es/theme/components/index.scss +1 -0
- package/dist/es/theme/components/transfer.scss +205 -0
- package/dist/es/theme/components/tree.scss +2 -2
- package/dist/json/vetur-attributes.json +42 -0
- package/dist/json/vetur-tags.json +16 -0
- package/dist/json/web-types.json +114 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
# [0.28.0](https://gitee.com/mach552/savor-ui/compare/v0.27.0...v0.28.0) (2026-08-29)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **select:** 修复标签背景和输入框背景同色问题 ([1d79224](https://gitee.com/mach552/savor-ui/commits/1d792247ec47bf0d403791212889bd478bbb68b4))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* **transfer:** 新增穿梭框组件 ([b0f1371](https://gitee.com/mach552/savor-ui/commits/b0f137168c1ccb0b89c3265cee79020d027d6786))
|
|
16
|
+
* **tree:** 新增节点默认插槽 ([565dd84](https://gitee.com/mach552/savor-ui/commits/565dd847d2e0b0ad8fb17477058f1f50ccfda85f))
|
|
17
|
+
|
|
5
18
|
# [0.27.0](https://gitee.com/mach552/savor-ui/compare/v0.26.1...v0.27.0) (2026-08-29)
|
|
6
19
|
|
|
7
20
|
|
|
@@ -63,6 +63,7 @@ export * from './src/tabs';
|
|
|
63
63
|
export * from './src/tag';
|
|
64
64
|
export * from './src/text';
|
|
65
65
|
export * from './src/textarea';
|
|
66
|
+
export * from './src/transfer';
|
|
66
67
|
export * from './src/timeline';
|
|
67
68
|
export * from './src/tooltip';
|
|
68
69
|
export * from './src/transition';
|
|
@@ -85,10 +85,11 @@ import "./src/switch/index.mjs";
|
|
|
85
85
|
import "./src/table/types.mjs";
|
|
86
86
|
import "./src/table/index.mjs";
|
|
87
87
|
import "./src/textarea/index.mjs";
|
|
88
|
-
import "./src/timeline/types.mjs";
|
|
89
|
-
import "./src/timeline/index.mjs";
|
|
90
88
|
import "./src/tree/types.mjs";
|
|
91
89
|
import "./src/tree/index.mjs";
|
|
90
|
+
import "./src/transfer/index.mjs";
|
|
91
|
+
import "./src/timeline/types.mjs";
|
|
92
|
+
import "./src/timeline/index.mjs";
|
|
92
93
|
import "./src/tree-select/index.mjs";
|
|
93
94
|
import "./src/upload/index.mjs";
|
|
94
95
|
import "./src/virtual-list/index.mjs";
|
|
@@ -13,11 +13,11 @@ import { SIcon as c } from "../icon/index.mjs";
|
|
|
13
13
|
import { SScrollbar as ee } from "../scrollbar/index.mjs";
|
|
14
14
|
import { SEmpty as te } from "../empty/index.mjs";
|
|
15
15
|
import { STag as ne } from "../tag/index.mjs";
|
|
16
|
-
import { child as re, computed as l, createComponent as u, createFor as ie, createIf as d, createInvoker as f, createSlot as ae, createTemplateRefSetter as oe, defineVaporComponent as p, delegateEvents as m, inject as se, mergeModels as h, on as g, reactive as ce, ref as _, renderEffect as v, setAttr as le, setClass as y, setInsertionState as b, setProp as ue, setText as x, setValue as de, template as S, toDisplayString as C, toRefs as fe, txt as w, unref as T, useModel as pe, useTemplateRef as E, watch as me, withModifiers as he, withVaporModifiers as
|
|
16
|
+
import { child as re, computed as l, createComponent as u, createFor as ie, createIf as d, createInvoker as f, createSlot as ae, createTemplateRefSetter as oe, defineVaporComponent as p, delegateEvents as m, inject as se, mergeModels as h, on as g, reactive as ce, ref as _, renderEffect as v, setAttr as le, setClass as y, setInsertionState as b, setProp as ue, setText as x, setValue as de, template as S, toDisplayString as C, toRefs as fe, txt as w, unref as T, useModel as pe, useTemplateRef as E, watch as me, withModifiers as he, withVaporModifiers as ge } from "vue";
|
|
17
17
|
//#region ../components/src/select/select.vue?vue&type=script&setup=true&vapor=true&lang.ts
|
|
18
|
-
var
|
|
18
|
+
var _e = S(" "), ve = S("<input>"), ye = S("<span> "), be = S("<span>"), xe = S("<div><div></div>"), D = S("<div>"), Se = S("<li> "), Ce = S("<ul>"), we = S("<div>", 1);
|
|
19
19
|
m("mousedown", "input", "keydown", "click");
|
|
20
|
-
var
|
|
20
|
+
var O = /*@__PURE__*/ p({
|
|
21
21
|
name: "SSelect",
|
|
22
22
|
__name: "select",
|
|
23
23
|
props: /*@__PURE__*/ h({
|
|
@@ -59,137 +59,137 @@ var k = /*@__PURE__*/ p({
|
|
|
59
59
|
"remove"
|
|
60
60
|
], ["update:modelValue"]),
|
|
61
61
|
setup(p, { expose: m, emit: h }) {
|
|
62
|
-
let S = p,
|
|
63
|
-
size:
|
|
64
|
-
error:
|
|
65
|
-
}),
|
|
62
|
+
let S = p, O = h, k = t("select"), { size: A, error: Te } = fe(S), { mergedSize: j, mergedError: Ee } = i({
|
|
63
|
+
size: A,
|
|
64
|
+
error: Te
|
|
65
|
+
}), De = se(a, void 0), M = l(() => De?.inputFilled?.value || S.filled), N = pe(p, "modelValue"), P = l(() => ({
|
|
66
66
|
label: "label",
|
|
67
67
|
value: "value",
|
|
68
68
|
disabled: "disabled",
|
|
69
69
|
...S.fieldNames
|
|
70
|
-
})),
|
|
71
|
-
|
|
72
|
-
},
|
|
73
|
-
|
|
74
|
-
},
|
|
70
|
+
})), F = _(!1), Oe = () => {
|
|
71
|
+
F.value = !0;
|
|
72
|
+
}, ke = () => {
|
|
73
|
+
F.value = !1;
|
|
74
|
+
}, I = _(!1), L = ce({
|
|
75
75
|
label: "",
|
|
76
76
|
option: null
|
|
77
|
-
}),
|
|
77
|
+
}), R = E("popoverRef"), z = E("scrollbarRef"), Ae = E("listRef"), B = E("multipleInputRef"), V = _(!1), H = _(""), je = l(() => ({
|
|
78
78
|
mini: "tiny",
|
|
79
79
|
small: "tiny",
|
|
80
80
|
medium: "mini",
|
|
81
81
|
large: "small"
|
|
82
|
-
})[S.size] || "medium"),
|
|
83
|
-
e ? (S.multiple && S.filterable ? (
|
|
84
|
-
}, Me = () => {
|
|
85
|
-
S.disabled || (H.value ? G(!1) : G(!0));
|
|
82
|
+
})[S.size] || "medium"), U = l(() => S.multiple ? (Array.isArray(N.value) ? N.value : []).map((e) => S.options.find((t) => t[P.value.value] === e)).filter(Boolean) : []), Me = (e) => S.multiple ? (Array.isArray(N.value) ? N.value : []).includes(e[P.value.value]) : !1, W = (e) => {
|
|
83
|
+
e ? (S.multiple && S.filterable ? (H.value = "", J("")) : S.filterable && L.label && (L.label = ""), S.filterable && !S.multiple && J(L.label), R.value?.show(), S.multiple && S.filterable && setTimeout(() => B.value?.focus(), 0)) : (S.filterable && !S.multiple && (L.label = L.option ? L.option[P.value.label] : ""), S.multiple && S.filterable && (H.value = "", q.value = S.options), R.value?.hide(), Y.value = -1), V.value = e;
|
|
86
84
|
}, Ne = () => {
|
|
87
|
-
|
|
88
|
-
},
|
|
85
|
+
S.disabled || (V.value ? W(!1) : W(!0));
|
|
86
|
+
}, Pe = () => {
|
|
87
|
+
W(!1);
|
|
88
|
+
}, G = (e) => S.options.find((t) => t[P.value.value] === e), K = (e) => {
|
|
89
89
|
if (!e.disabled) if (S.multiple) {
|
|
90
|
-
let t = Array.isArray(
|
|
91
|
-
r > -1 ? t.splice(r, 1) : t.push(n),
|
|
92
|
-
} else
|
|
93
|
-
},
|
|
90
|
+
let t = Array.isArray(N.value) ? [...N.value] : [], n = e[P.value.value], r = t.indexOf(n);
|
|
91
|
+
r > -1 ? t.splice(r, 1) : t.push(n), N.value = t, S.filterable && (H.value = "", J(""), setTimeout(() => B.value?.focus(), 0));
|
|
92
|
+
} else N.value = e[P.value.value];
|
|
93
|
+
}, q = _(S.options);
|
|
94
94
|
me(() => S.options, (e) => {
|
|
95
|
-
|
|
95
|
+
q.value = e;
|
|
96
96
|
});
|
|
97
|
-
let
|
|
97
|
+
let Fe = l(() => S.remote ? 500 : 0), Ie = l(() => S.filterable && L.option && V.value ? L.option[P.value.label] : S.placeholder), J = async (e) => {
|
|
98
98
|
if (S.filterable) {
|
|
99
|
-
if (S.filterMethod && typeof S.filterMethod == "function")
|
|
99
|
+
if (S.filterMethod && typeof S.filterMethod == "function") q.value = S.filterMethod(e);
|
|
100
100
|
else if (S.remote && typeof S.remoteMethod == "function") {
|
|
101
|
-
|
|
101
|
+
I.value = !0;
|
|
102
102
|
try {
|
|
103
|
-
|
|
103
|
+
q.value = await S.remoteMethod(e);
|
|
104
104
|
} catch (e) {
|
|
105
|
-
console.error("远程筛选出错", e),
|
|
105
|
+
console.error("远程筛选出错", e), q.value = [];
|
|
106
106
|
} finally {
|
|
107
|
-
|
|
107
|
+
I.value = !1;
|
|
108
108
|
}
|
|
109
|
-
} else
|
|
110
|
-
|
|
109
|
+
} else q.value = S.options.filter((t) => t[P.value.label].includes(e));
|
|
110
|
+
Y.value = -1;
|
|
111
111
|
}
|
|
112
|
-
},
|
|
113
|
-
|
|
114
|
-
},
|
|
115
|
-
let n =
|
|
112
|
+
}, Le = e((e) => {
|
|
113
|
+
J(e);
|
|
114
|
+
}, Fe.value), Y = _(-1), X = (e, t) => {
|
|
115
|
+
let n = q.value;
|
|
116
116
|
if (n.length === 0) return -1;
|
|
117
117
|
let r = e, i = t === "down" ? 1 : -1, a = n.length;
|
|
118
|
-
for (let e = 0; e < a; e++) if (r = (r + i + a) % a, !n[r][
|
|
118
|
+
for (let e = 0; e < a; e++) if (r = (r + i + a) % a, !n[r][P.value.disabled]) return r;
|
|
119
119
|
return -1;
|
|
120
|
-
},
|
|
121
|
-
if (
|
|
122
|
-
let e =
|
|
120
|
+
}, Re = () => {
|
|
121
|
+
if (Y.value === -1) return;
|
|
122
|
+
let e = Ae.value;
|
|
123
123
|
if (!e) return;
|
|
124
|
-
let t = e.querySelectorAll("li")[
|
|
124
|
+
let t = e.querySelectorAll("li")[Y.value];
|
|
125
125
|
if (!t) return;
|
|
126
|
-
let n =
|
|
126
|
+
let n = z.value, r = null;
|
|
127
127
|
if (n && n.contentRef ? r = n.contentRef : e.parentElement && (r = e.parentElement), r) {
|
|
128
128
|
let e = t.offsetTop, n = e + t.offsetHeight, i = r.scrollTop, a = i + r.clientHeight;
|
|
129
129
|
e < i ? r.scrollTop = e : n > a && (r.scrollTop = n - r.clientHeight);
|
|
130
130
|
}
|
|
131
|
-
},
|
|
131
|
+
}, ze = (e) => {
|
|
132
132
|
switch (e.key) {
|
|
133
133
|
case "Enter":
|
|
134
|
-
e.preventDefault(),
|
|
134
|
+
e.preventDefault(), V.value ? Y.value > -1 && q.value[Y.value] ? K(q.value[Y.value]) : W(!1) : W(!0);
|
|
135
135
|
break;
|
|
136
136
|
case "Escape":
|
|
137
|
-
e.preventDefault(),
|
|
137
|
+
e.preventDefault(), V.value && W(!1);
|
|
138
138
|
break;
|
|
139
139
|
case "ArrowUp":
|
|
140
|
-
if (e.preventDefault(),
|
|
141
|
-
let e =
|
|
142
|
-
e !== -1 && (
|
|
140
|
+
if (e.preventDefault(), V.value && q.value.length > 0) {
|
|
141
|
+
let e = X(Y.value === -1 ? 0 : Y.value, "up");
|
|
142
|
+
e !== -1 && (Y.value = e, Re());
|
|
143
143
|
}
|
|
144
144
|
break;
|
|
145
145
|
case "ArrowDown":
|
|
146
|
-
if (e.preventDefault(),
|
|
147
|
-
let e =
|
|
148
|
-
e !== -1 && (
|
|
146
|
+
if (e.preventDefault(), V.value && q.value.length > 0) {
|
|
147
|
+
let e = X(Y.value === -1 ? -1 : Y.value, "down");
|
|
148
|
+
e !== -1 && (Y.value = e, Re());
|
|
149
149
|
}
|
|
150
150
|
break;
|
|
151
151
|
case "Backspace":
|
|
152
|
-
if (S.multiple && !
|
|
153
|
-
let e = Array.isArray(
|
|
152
|
+
if (S.multiple && !H.value) {
|
|
153
|
+
let e = Array.isArray(N.value) ? [...N.value] : [];
|
|
154
154
|
if (e.length > 0) {
|
|
155
155
|
let t = e.pop();
|
|
156
|
-
|
|
156
|
+
N.value = e, O("remove", t);
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
break;
|
|
160
160
|
default: break;
|
|
161
161
|
}
|
|
162
|
-
},
|
|
163
|
-
S.multiple ?
|
|
162
|
+
}, Z = () => {
|
|
163
|
+
S.multiple ? N.value = [] : N.value = "", O("clear");
|
|
164
164
|
}, Be = (e, t) => {
|
|
165
165
|
t.stopPropagation();
|
|
166
|
-
let n = Array.isArray(
|
|
167
|
-
i > -1 && (n.splice(i, 1),
|
|
166
|
+
let n = Array.isArray(N.value) ? [...N.value] : [], r = e[P.value.value], i = n.indexOf(r);
|
|
167
|
+
i > -1 && (n.splice(i, 1), N.value = n, O("remove", r));
|
|
168
168
|
}, Ve = (e) => {
|
|
169
169
|
let t = e.target;
|
|
170
|
-
|
|
170
|
+
H.value = t.value, J(t.value);
|
|
171
171
|
};
|
|
172
|
-
me(
|
|
172
|
+
me(N, (e) => {
|
|
173
173
|
if (S.multiple) {
|
|
174
174
|
let t = Array.isArray(e) ? e : [];
|
|
175
|
-
t.map((e) =>
|
|
175
|
+
t.map((e) => G(e)).filter(Boolean), O("change", t);
|
|
176
176
|
} else if (e && !Array.isArray(e)) {
|
|
177
|
-
let t =
|
|
178
|
-
t ? (
|
|
179
|
-
} else
|
|
177
|
+
let t = G(e);
|
|
178
|
+
t ? (L.label = t[P.value.label], L.option = t, O("change", t[P.value.value]), W(!1)) : (L.label = "", L.option = null, O("change", ""));
|
|
179
|
+
} else L.label = "", L.option = null, O("change", "");
|
|
180
180
|
}, { immediate: !0 }), m({
|
|
181
|
-
open: () =>
|
|
182
|
-
close: () =>
|
|
181
|
+
open: () => W(!0),
|
|
182
|
+
close: () => W(!1)
|
|
183
183
|
});
|
|
184
|
-
let Q = oe(), $ =
|
|
184
|
+
let Q = oe(), $ = we();
|
|
185
185
|
return v(() => {
|
|
186
|
-
let e = T(
|
|
186
|
+
let e = T(k);
|
|
187
187
|
y($, [
|
|
188
188
|
e.b(),
|
|
189
|
-
e.is("readonly", !p.filterable || !
|
|
189
|
+
e.is("readonly", !p.filterable || !V.value),
|
|
190
190
|
e.is("multiple", p.multiple),
|
|
191
191
|
e.is("disabled", p.disabled),
|
|
192
|
-
e.m(T(
|
|
192
|
+
e.m(T(j))
|
|
193
193
|
]);
|
|
194
194
|
}), b($, null, 0), Q(u(T(o), { $: [() => ({
|
|
195
195
|
offset: [0, 4],
|
|
@@ -197,92 +197,94 @@ var k = /*@__PURE__*/ p({
|
|
|
197
197
|
width: "sameWidth",
|
|
198
198
|
manual: !0,
|
|
199
199
|
...p.popoverProps
|
|
200
|
-
}), { onClickOutside: () =>
|
|
200
|
+
}), { onClickOutside: () => Pe }] }, {
|
|
201
201
|
content: () => {
|
|
202
|
-
let e =
|
|
203
|
-
return v(() => y(e, [T(
|
|
204
|
-
let e =
|
|
205
|
-
return v(() => y(e, [T(
|
|
206
|
-
}, () => d(() =>
|
|
207
|
-
let e =
|
|
208
|
-
return v(() => y(e, [T(
|
|
202
|
+
let e = D();
|
|
203
|
+
return v(() => y(e, [T(k).e("wrapper")])), b(e, null, 0), d(() => I.value, () => {
|
|
204
|
+
let e = D();
|
|
205
|
+
return v(() => y(e, [T(k).e("loading")])), b(e, null, 0), u(T(c), { loading: "" }), e;
|
|
206
|
+
}, () => d(() => q.value.length === 0, () => {
|
|
207
|
+
let e = D();
|
|
208
|
+
return v(() => y(e, [T(k).e("empty")])), b(e, null, 0), ae("empty", null, () => u(T(te))), e;
|
|
209
209
|
}, () => {
|
|
210
210
|
let e = u(T(ee), { maxHeight: () => p.maxHeight }, () => {
|
|
211
|
-
let e =
|
|
211
|
+
let e = Ce();
|
|
212
212
|
return v(() => {
|
|
213
|
-
let t = T(
|
|
214
|
-
y(e, [t.e("list"), t.m("list-" + T(
|
|
215
|
-
}), b(e, null, 0), ie(() =>
|
|
216
|
-
let n =
|
|
217
|
-
return g(n, "click", he(() =>
|
|
218
|
-
let i = T(
|
|
213
|
+
let t = T(k);
|
|
214
|
+
y(e, [t.e("list"), t.m("list-" + T(A))]);
|
|
215
|
+
}), b(e, null, 0), ie(() => q.value, (e, t) => {
|
|
216
|
+
let n = Se(), r = w(n);
|
|
217
|
+
return g(n, "click", he(() => K(e.value), ["stop"])), v(() => {
|
|
218
|
+
let i = T(k), a = e.value, o = P.value, s = a[o.label], c = o.label;
|
|
219
219
|
y(n, [
|
|
220
220
|
i.e("item"),
|
|
221
221
|
i.is("disabled", a[o.disabled]),
|
|
222
|
-
i.is("active", p.multiple ?
|
|
223
|
-
i.is("highlight", s ===
|
|
222
|
+
i.is("active", p.multiple ? Me(a) : s === L.label),
|
|
223
|
+
i.is("highlight", s === q.value[Y.value]?.[c])
|
|
224
224
|
]), le(n, "data-index", t.value), x(r, C(s));
|
|
225
225
|
}), n;
|
|
226
|
-
}, (e, t) => e[
|
|
226
|
+
}, (e, t) => e[P.value.value], 9), Q(e, Ae, null, "listRef"), e;
|
|
227
227
|
});
|
|
228
|
-
return Q(e,
|
|
229
|
-
}, 1541), 1285), e.$evtmousedown =
|
|
228
|
+
return Q(e, z, null, "scrollbarRef"), e;
|
|
229
|
+
}, 1541), 1285), e.$evtmousedown = ge(() => {}, ["prevent"]), e;
|
|
230
230
|
},
|
|
231
231
|
default: () => d(() => p.multiple, () => {
|
|
232
|
-
let e =
|
|
232
|
+
let e = xe(), t = re(e);
|
|
233
233
|
return v(() => {
|
|
234
|
-
let n = T(
|
|
235
|
-
y(e, [n.e("tags-wrapper"), n.is("filled",
|
|
236
|
-
}), b(t, null, 0), ie(() =>
|
|
234
|
+
let n = T(k);
|
|
235
|
+
y(e, [n.e("tags-wrapper"), n.is("filled", M.value)]), y(t, [n.e("tags")]);
|
|
236
|
+
}), b(t, null, 0), ie(() => U.value, (e) => {
|
|
237
237
|
let t = (t) => Be(e.value, t);
|
|
238
238
|
return u(T(ne), {
|
|
239
|
-
size: () =>
|
|
239
|
+
size: () => je.value,
|
|
240
240
|
closable: "",
|
|
241
|
+
color: () => M.value ? "var(--s-color-bg-2)" : "",
|
|
242
|
+
style: () => ({ color: M.value ? "var(--s-color-text-1)" : "" }),
|
|
241
243
|
onClose: () => t
|
|
242
244
|
}, () => {
|
|
243
|
-
let t =
|
|
245
|
+
let t = _e();
|
|
244
246
|
return v(() => {
|
|
245
|
-
let n =
|
|
247
|
+
let n = P.value;
|
|
246
248
|
x(t, C(e.value[n.label]));
|
|
247
249
|
}), t;
|
|
248
250
|
});
|
|
249
|
-
}, (e) => e[
|
|
250
|
-
let e =
|
|
251
|
-
return e.$evtinput = f(Ve), e.$evtkeydown = f(
|
|
252
|
-
y(e, [T(
|
|
251
|
+
}, (e) => e[P.value.value], 2), b(t, null, 1), d(() => p.filterable, () => {
|
|
252
|
+
let e = ve();
|
|
253
|
+
return e.$evtinput = f(Ve), e.$evtkeydown = f(ze), Q(e, B, null, "multipleInputRef"), v(() => {
|
|
254
|
+
y(e, [T(k).e("inner")]), ue(e, "placeholder", U.value.length === 0 ? p.placeholder : ""), de(e, H.value);
|
|
253
255
|
}), e;
|
|
254
|
-
}, () => d(() =>
|
|
255
|
-
let e =
|
|
256
|
+
}, () => d(() => U.value.length === 0, () => {
|
|
257
|
+
let e = ye(), t = w(e);
|
|
256
258
|
return v(() => {
|
|
257
|
-
y(e, [T(
|
|
259
|
+
y(e, [T(k).e("placeholder")]), x(t, C(p.placeholder));
|
|
258
260
|
}), e;
|
|
259
|
-
}), 261), b(e, null, 1), d(() =>
|
|
260
|
-
let e =
|
|
261
|
-
return v(() => y(e, T(
|
|
261
|
+
}), 261), b(e, null, 1), d(() => F.value && Array.isArray(N.value) && N.value.length > 0 && p.clearable, () => {
|
|
262
|
+
let e = be();
|
|
263
|
+
return v(() => y(e, T(k).e("close"))), b(e, null, 0), u(T(r)), g(e, "click", he(Z, ["stop"])), e.$evtmousedown = ge(() => {}, ["prevent"]), e;
|
|
262
264
|
}), b(e, null, 2), u(T(c), {
|
|
263
|
-
class: () => [T(
|
|
264
|
-
style: () => ({ transform:
|
|
265
|
-
}, () => u(T(n))), g(e, "mouseenter",
|
|
265
|
+
class: () => [T(k).e("suffix-icon")],
|
|
266
|
+
style: () => ({ transform: V.value ? "rotate(180deg)" : "" })
|
|
267
|
+
}, () => u(T(n))), g(e, "mouseenter", Oe), g(e, "mouseleave", ke), e;
|
|
266
268
|
}, () => u(T(s), {
|
|
267
|
-
modelValue: () =>
|
|
268
|
-
"onUpdate:modelValue": () => (e) =>
|
|
269
|
+
modelValue: () => L.label,
|
|
270
|
+
"onUpdate:modelValue": () => (e) => L.label = e,
|
|
269
271
|
disabled: () => p.disabled,
|
|
270
|
-
placeholder: () =>
|
|
271
|
-
readonly: () => !p.filterable || !
|
|
272
|
+
placeholder: () => Ie.value,
|
|
273
|
+
readonly: () => !p.filterable || !V.value,
|
|
272
274
|
clearable: () => p.clearable,
|
|
273
275
|
style: "width: 100%",
|
|
274
|
-
error: () => T(
|
|
275
|
-
size: () => T(
|
|
276
|
-
filled: () =>
|
|
277
|
-
onInput: () => T(
|
|
278
|
-
onKeydown: () =>
|
|
279
|
-
onClear: () =>
|
|
276
|
+
error: () => T(Ee),
|
|
277
|
+
size: () => T(j),
|
|
278
|
+
filled: () => M.value,
|
|
279
|
+
onInput: () => T(Le),
|
|
280
|
+
onKeydown: () => ze,
|
|
281
|
+
onClear: () => Z
|
|
280
282
|
}, { suffix: () => u(T(c), {
|
|
281
|
-
class: () => [T(
|
|
282
|
-
style: () => ({ transform:
|
|
283
|
+
class: () => [T(k).e("suffix-icon")],
|
|
284
|
+
style: () => ({ transform: V.value ? "rotate(180deg)" : "" })
|
|
283
285
|
}, () => u(T(n))) }), 1157)
|
|
284
|
-
}),
|
|
286
|
+
}), R, null, "popoverRef"), $.$evtclick = f(Ne), $;
|
|
285
287
|
}
|
|
286
288
|
});
|
|
287
289
|
//#endregion
|
|
288
|
-
export {
|
|
290
|
+
export { O as default };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { TransferSlots, TransferValue, TransferFieldNames } from './types';
|
|
2
|
+
import { PublicProps, VNode, Plugin } from 'vue';
|
|
3
|
+
export declare const STransfer: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: {
|
|
4
|
+
attrs: any;
|
|
5
|
+
slots: TransferSlots;
|
|
6
|
+
emit: ((evt: "change", value: TransferValue[], direction: "left" | "right", movedValues: TransferValue[]) => void) & ((event: "update:modelValue", value: TransferValue[]) => void);
|
|
7
|
+
}, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
8
|
+
props: PublicProps & {
|
|
9
|
+
size?: "mini" | "small" | "medium" | "large" | "larger" | undefined;
|
|
10
|
+
options: any[];
|
|
11
|
+
titles?: [string, string] | undefined;
|
|
12
|
+
fieldNames?: TransferFieldNames | undefined;
|
|
13
|
+
filterable?: boolean | undefined;
|
|
14
|
+
filterPlaceholder?: string | undefined;
|
|
15
|
+
filterMethod?: ((query: string, option: any) => boolean) | undefined;
|
|
16
|
+
height?: string | undefined;
|
|
17
|
+
removeOnSelect?: boolean | undefined;
|
|
18
|
+
disabled?: boolean | undefined;
|
|
19
|
+
block?: boolean | undefined;
|
|
20
|
+
modelValue?: TransferValue[] | undefined;
|
|
21
|
+
onChange?: ((value: TransferValue[], direction: "left" | "right", movedValues: TransferValue[]) => any) | undefined;
|
|
22
|
+
"onUpdate:modelValue"?: ((value: TransferValue[]) => any) | undefined;
|
|
23
|
+
} & (typeof globalThis extends {
|
|
24
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
25
|
+
} ? P : {});
|
|
26
|
+
expose: (exposed: {}) => void;
|
|
27
|
+
attrs: any;
|
|
28
|
+
slots: TransferSlots;
|
|
29
|
+
emit: ((evt: "change", value: TransferValue[], direction: "left" | "right", movedValues: TransferValue[]) => void) & ((event: "update:modelValue", value: TransferValue[]) => void);
|
|
30
|
+
}>) => VNode & {
|
|
31
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
32
|
+
}) & Plugin;
|
|
33
|
+
export * from './types';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { TransferProps, TransferSlots, TransferValue } from './types';
|
|
2
|
+
import { PublicProps, VNode } from 'vue';
|
|
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
|
+
props: PublicProps & __VLS_PrettifyLocal<(TransferProps & {
|
|
5
|
+
modelValue?: TransferValue[];
|
|
6
|
+
}) & {
|
|
7
|
+
onChange?: ((value: TransferValue[], direction: "left" | "right", movedValues: TransferValue[]) => any) | undefined;
|
|
8
|
+
"onUpdate:modelValue"?: ((value: TransferValue[]) => any) | undefined;
|
|
9
|
+
}> & (typeof globalThis extends {
|
|
10
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
11
|
+
} ? P : {});
|
|
12
|
+
expose: (exposed: {}) => void;
|
|
13
|
+
attrs: any;
|
|
14
|
+
slots: TransferSlots;
|
|
15
|
+
emit: ((evt: "change", value: TransferValue[], direction: "left" | "right", movedValues: TransferValue[]) => void) & ((event: "update:modelValue", value: TransferValue[]) => void);
|
|
16
|
+
}>) => VNode & {
|
|
17
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
18
|
+
};
|
|
19
|
+
declare const _default: typeof __VLS_export;
|
|
20
|
+
export default _default;
|
|
21
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
22
|
+
[K in keyof T]: T[K];
|
|
23
|
+
} : {
|
|
24
|
+
[K in keyof T as K]: T[K];
|
|
25
|
+
}) & {};
|