@blueking/bkflow-canvas-editor 1.1.0-beta.1 → 1.1.0-beta.2

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.
@@ -0,0 +1,3214 @@
1
+ import { defineComponent as Wt, h as Mn, createElementBlock as oe, openBlock as Z, normalizeClass as It, createCommentVNode as se, createVNode as Qe, withCtx as ot, withDirectives as St, createElementVNode as Ae, withModifiers as je, normalizeStyle as hn, vModelText as pn, Fragment as Ut, renderList as Dt, mergeProps as er, vShow as tr, createBlock as Yt, createTextVNode as Pr, toDisplayString as gt, ref as te, computed as re, toRef as nr, watch as at, nextTick as me, onBeforeMount as or, onMounted as Rr, onUnmounted as ir, provide as Br, renderSlot as Nr, unref as Lr } from "vue";
2
+ import { provideGlobalConfig as Fr, Tag as lr, Popover as sr, Loading as qr } from "bkui-vue";
3
+ var Gr = Object.create, ur = Object.defineProperty, zr = Object.getOwnPropertyDescriptor, jr = Object.getOwnPropertyNames, Kr = Object.getPrototypeOf, Hr = Object.prototype.hasOwnProperty, Yr = (c, d) => () => (d || c((d = { exports: {} }).exports, d), d.exports), Xr = (c, d, u, o) => {
4
+ if (d && typeof d == "object" || typeof d == "function") for (var l = jr(d), v = 0, f = l.length, w; v < f; v++)
5
+ w = l[v], !Hr.call(c, w) && w !== u && ur(c, w, {
6
+ get: ((b) => d[b]).bind(null, w),
7
+ enumerable: !(o = zr(d, w)) || o.enumerable
8
+ });
9
+ return c;
10
+ }, Wr = (c, d, u) => (u = c != null ? Gr(Kr(c)) : {}, Xr(!c || !c.__esModule ? ur(u, "default", {
11
+ value: c,
12
+ enumerable: !0
13
+ }) : u, c)), Vr = /* @__PURE__ */ Wr((/* @__PURE__ */ Yr(((c, d) => {
14
+ (function(u, o) {
15
+ typeof c == "object" && typeof d < "u" ? d.exports = o() : typeof define == "function" && define.amd ? define(o) : (u = u || self, u.Sortable = o());
16
+ })(c, (function() {
17
+ function u(r, e) {
18
+ var t = Object.keys(r);
19
+ if (Object.getOwnPropertySymbols) {
20
+ var n = Object.getOwnPropertySymbols(r);
21
+ e && (n = n.filter(function(a) {
22
+ return Object.getOwnPropertyDescriptor(r, a).enumerable;
23
+ })), t.push.apply(t, n);
24
+ }
25
+ return t;
26
+ }
27
+ function o(r) {
28
+ for (var e = 1; e < arguments.length; e++) {
29
+ var t = arguments[e] != null ? arguments[e] : {};
30
+ e % 2 ? u(Object(t), !0).forEach(function(n) {
31
+ v(r, n, t[n]);
32
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(r, Object.getOwnPropertyDescriptors(t)) : u(Object(t)).forEach(function(n) {
33
+ Object.defineProperty(r, n, Object.getOwnPropertyDescriptor(t, n));
34
+ });
35
+ }
36
+ return r;
37
+ }
38
+ function l(r) {
39
+ "@babel/helpers - typeof";
40
+ return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? l = function(e) {
41
+ return typeof e;
42
+ } : l = function(e) {
43
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
44
+ }, l(r);
45
+ }
46
+ function v(r, e, t) {
47
+ return e in r ? Object.defineProperty(r, e, {
48
+ value: t,
49
+ enumerable: !0,
50
+ configurable: !0,
51
+ writable: !0
52
+ }) : r[e] = t, r;
53
+ }
54
+ function f() {
55
+ return f = Object.assign || function(r) {
56
+ for (var e = 1; e < arguments.length; e++) {
57
+ var t = arguments[e];
58
+ for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]);
59
+ }
60
+ return r;
61
+ }, f.apply(this, arguments);
62
+ }
63
+ function w(r, e) {
64
+ if (r == null) return {};
65
+ var t = {}, n = Object.keys(r), a, i;
66
+ for (i = 0; i < n.length; i++)
67
+ a = n[i], !(e.indexOf(a) >= 0) && (t[a] = r[a]);
68
+ return t;
69
+ }
70
+ function b(r, e) {
71
+ if (r == null) return {};
72
+ var t = w(r, e), n, a;
73
+ if (Object.getOwnPropertySymbols) {
74
+ var i = Object.getOwnPropertySymbols(r);
75
+ for (a = 0; a < i.length; a++)
76
+ n = i[a], !(e.indexOf(n) >= 0) && Object.prototype.propertyIsEnumerable.call(r, n) && (t[n] = r[n]);
77
+ }
78
+ return t;
79
+ }
80
+ function B(r) {
81
+ return G(r) || H(r) || ye(r) || Le();
82
+ }
83
+ function G(r) {
84
+ if (Array.isArray(r)) return Ne(r);
85
+ }
86
+ function H(r) {
87
+ if (typeof Symbol < "u" && r[Symbol.iterator] != null || r["@@iterator"] != null) return Array.from(r);
88
+ }
89
+ function ye(r, e) {
90
+ if (r) {
91
+ if (typeof r == "string") return Ne(r, e);
92
+ var t = Object.prototype.toString.call(r).slice(8, -1);
93
+ if (t === "Object" && r.constructor && (t = r.constructor.name), t === "Map" || t === "Set") return Array.from(r);
94
+ if (t === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)) return Ne(r, e);
95
+ }
96
+ }
97
+ function Ne(r, e) {
98
+ (e == null || e > r.length) && (e = r.length);
99
+ for (var t = 0, n = new Array(e); t < e; t++) n[t] = r[t];
100
+ return n;
101
+ }
102
+ function Le() {
103
+ throw new TypeError(`Invalid attempt to spread non-iterable instance.
104
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
105
+ }
106
+ var De = "1.15.6";
107
+ function F(r) {
108
+ if (typeof window < "u" && window.navigator) return !!/* @__PURE__ */ navigator.userAgent.match(r);
109
+ }
110
+ var z = F(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i), Se = F(/Edge/i), vt = F(/firefox/i), $ = F(/safari/i) && !F(/chrome/i) && !F(/android/i), X = F(/iP(ad|od|hone)/i), D = F(/chrome/i) && F(/android/i), ue = {
111
+ capture: !1,
112
+ passive: !1
113
+ };
114
+ function x(r, e, t) {
115
+ r.addEventListener(e, t, !z && ue);
116
+ }
117
+ function O(r, e, t) {
118
+ r.removeEventListener(e, t, !z && ue);
119
+ }
120
+ function Y(r, e) {
121
+ if (e) {
122
+ if (e[0] === ">" && (e = e.substring(1)), r) try {
123
+ if (r.matches) return r.matches(e);
124
+ if (r.msMatchesSelector) return r.msMatchesSelector(e);
125
+ if (r.webkitMatchesSelector) return r.webkitMatchesSelector(e);
126
+ } catch {
127
+ return !1;
128
+ }
129
+ return !1;
130
+ }
131
+ }
132
+ function be(r) {
133
+ return r.host && r !== document && r.host.nodeType ? r.host : r.parentNode;
134
+ }
135
+ function ne(r, e, t, n) {
136
+ if (r) {
137
+ t = t || document;
138
+ do {
139
+ if (e != null && (e[0] === ">" ? r.parentNode === t && Y(r, e) : Y(r, e)) || n && r === t) return r;
140
+ if (r === t) break;
141
+ } while (r = be(r));
142
+ }
143
+ return null;
144
+ }
145
+ var Ze = /\s+/g;
146
+ function U(r, e, t) {
147
+ r && e && (r.classList ? r.classList[t ? "add" : "remove"](e) : r.className = ((" " + r.className + " ").replace(Ze, " ").replace(" " + e + " ", " ") + (t ? " " + e : "")).replace(Ze, " "));
148
+ }
149
+ function S(r, e, t) {
150
+ var n = r && r.style;
151
+ if (n) {
152
+ if (t === void 0)
153
+ return document.defaultView && document.defaultView.getComputedStyle ? t = document.defaultView.getComputedStyle(r, "") : r.currentStyle && (t = r.currentStyle), e === void 0 ? t : t[e];
154
+ !(e in n) && e.indexOf("webkit") === -1 && (e = "-webkit-" + e), n[e] = t + (typeof t == "string" ? "" : "px");
155
+ }
156
+ }
157
+ function ke(r, e) {
158
+ var t = "";
159
+ if (typeof r == "string") t = r;
160
+ else do {
161
+ var n = S(r, "transform");
162
+ n && n !== "none" && (t = n + " " + t);
163
+ } while (!e && (r = r.parentNode));
164
+ var a = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;
165
+ return a && new a(t);
166
+ }
167
+ function Vt(r, e, t) {
168
+ if (r) {
169
+ var n = r.getElementsByTagName(e), a = 0, i = n.length;
170
+ if (t) for (; a < i; a++) t(n[a], a);
171
+ return n;
172
+ }
173
+ return [];
174
+ }
175
+ function Te() {
176
+ var r = document.scrollingElement;
177
+ return r || document.documentElement;
178
+ }
179
+ function j(r, e, t, n, a) {
180
+ if (!(!r.getBoundingClientRect && r !== window)) {
181
+ var i, s, h, g, m, I, C;
182
+ if (r !== window && r.parentNode && r !== Te() ? (i = r.getBoundingClientRect(), s = i.top, h = i.left, g = i.bottom, m = i.right, I = i.height, C = i.width) : (s = 0, h = 0, g = window.innerHeight, m = window.innerWidth, I = window.innerHeight, C = window.innerWidth), (e || t) && r !== window && (a = a || r.parentNode, !z))
183
+ do
184
+ if (a && a.getBoundingClientRect && (S(a, "transform") !== "none" || t && S(a, "position") !== "static")) {
185
+ var T = a.getBoundingClientRect();
186
+ s -= T.top + parseInt(S(a, "border-top-width")), h -= T.left + parseInt(S(a, "border-left-width")), g = s + i.height, m = h + i.width;
187
+ break;
188
+ }
189
+ while (a = a.parentNode);
190
+ if (n && r !== window) {
191
+ var L = ke(a || r), P = L && L.a, q = L && L.d;
192
+ L && (s /= q, h /= P, C /= P, I /= q, g = s + I, m = h + C);
193
+ }
194
+ return {
195
+ top: s,
196
+ left: h,
197
+ bottom: g,
198
+ right: m,
199
+ width: C,
200
+ height: I
201
+ };
202
+ }
203
+ }
204
+ function Qt(r, e, t) {
205
+ for (var n = Ee(r, !0), a = j(r)[e]; n; ) {
206
+ var i = j(n)[t], s = void 0;
207
+ if (s = a >= i, !s) return n;
208
+ if (n === Te()) break;
209
+ n = Ee(n, !1);
210
+ }
211
+ return !1;
212
+ }
213
+ function Je(r, e, t, n) {
214
+ for (var a = 0, i = 0, s = r.children; i < s.length; ) {
215
+ if (s[i].style.display !== "none" && s[i] !== A.ghost && (n || s[i] !== A.dragged) && ne(s[i], t.draggable, r, !1)) {
216
+ if (a === e) return s[i];
217
+ a++;
218
+ }
219
+ i++;
220
+ }
221
+ return null;
222
+ }
223
+ function Tt(r, e) {
224
+ for (var t = r.lastElementChild; t && (t === A.ghost || S(t, "display") === "none" || e && !Y(t, e)); ) t = t.previousElementSibling;
225
+ return t || null;
226
+ }
227
+ function ee(r, e) {
228
+ var t = 0;
229
+ if (!r || !r.parentNode) return -1;
230
+ for (; r = r.previousElementSibling; ) r.nodeName.toUpperCase() !== "TEMPLATE" && r !== A.clone && (!e || Y(r, e)) && t++;
231
+ return t;
232
+ }
233
+ function mt(r) {
234
+ var e = 0, t = 0, n = Te();
235
+ if (r) do {
236
+ var a = ke(r), i = a.a, s = a.d;
237
+ e += r.scrollLeft * i, t += r.scrollTop * s;
238
+ } while (r !== n && (r = r.parentNode));
239
+ return [e, t];
240
+ }
241
+ function Zt(r, e) {
242
+ for (var t in r)
243
+ if (r.hasOwnProperty(t)) {
244
+ for (var n in e) if (e.hasOwnProperty(n) && e[n] === r[t][n]) return Number(t);
245
+ }
246
+ return -1;
247
+ }
248
+ function Ee(r, e) {
249
+ if (!r || !r.getBoundingClientRect) return Te();
250
+ var t = r, n = !1;
251
+ do
252
+ if (t.clientWidth < t.scrollWidth || t.clientHeight < t.scrollHeight) {
253
+ var a = S(t);
254
+ if (t.clientWidth < t.scrollWidth && (a.overflowX == "auto" || a.overflowX == "scroll") || t.clientHeight < t.scrollHeight && (a.overflowY == "auto" || a.overflowY == "scroll")) {
255
+ if (!t.getBoundingClientRect || t === document.body) return Te();
256
+ if (n || e) return t;
257
+ n = !0;
258
+ }
259
+ }
260
+ while (t = t.parentNode);
261
+ return Te();
262
+ }
263
+ function yt(r, e) {
264
+ if (r && e)
265
+ for (var t in e) e.hasOwnProperty(t) && (r[t] = e[t]);
266
+ return r;
267
+ }
268
+ function $e(r, e) {
269
+ return Math.round(r.top) === Math.round(e.top) && Math.round(r.left) === Math.round(e.left) && Math.round(r.height) === Math.round(e.height) && Math.round(r.width) === Math.round(e.width);
270
+ }
271
+ var Ke;
272
+ function it(r, e) {
273
+ return function() {
274
+ if (!Ke) {
275
+ var t = arguments, n = this;
276
+ t.length === 1 ? r.call(n, t[0]) : r.apply(n, t), Ke = setTimeout(function() {
277
+ Ke = void 0;
278
+ }, e);
279
+ }
280
+ };
281
+ }
282
+ function _n() {
283
+ clearTimeout(Ke), Ke = void 0;
284
+ }
285
+ function Jt(r, e, t) {
286
+ r.scrollLeft += e, r.scrollTop += t;
287
+ }
288
+ function lt(r) {
289
+ var e = window.Polymer, t = window.jQuery || window.Zepto;
290
+ return e && e.dom ? e.dom(r).cloneNode(!0) : t ? t(r).clone(!0)[0] : r.cloneNode(!0);
291
+ }
292
+ function Ot(r, e) {
293
+ S(r, "position", "absolute"), S(r, "top", e.top), S(r, "left", e.left), S(r, "width", e.width), S(r, "height", e.height);
294
+ }
295
+ function bt(r) {
296
+ S(r, "position", ""), S(r, "top", ""), S(r, "left", ""), S(r, "width", ""), S(r, "height", "");
297
+ }
298
+ function xt(r, e, t) {
299
+ var n = {};
300
+ return Array.from(r.children).forEach(function(a) {
301
+ var i, s, h, g;
302
+ if (!(!ne(a, e.draggable, r, !1) || a.animated || a === t)) {
303
+ var m = j(a);
304
+ n.left = Math.min((i = n.left) !== null && i !== void 0 ? i : 1 / 0, m.left), n.top = Math.min((s = n.top) !== null && s !== void 0 ? s : 1 / 0, m.top), n.right = Math.max((h = n.right) !== null && h !== void 0 ? h : -1 / 0, m.right), n.bottom = Math.max((g = n.bottom) !== null && g !== void 0 ? g : -1 / 0, m.bottom);
305
+ }
306
+ }), n.width = n.right - n.left, n.height = n.bottom - n.top, n.x = n.left, n.y = n.top, n;
307
+ }
308
+ var ae = "Sortable" + (/* @__PURE__ */ new Date()).getTime();
309
+ function $t() {
310
+ var r = [], e;
311
+ return {
312
+ captureAnimationState: function() {
313
+ r = [], this.options.animation && [].slice.call(this.el.children).forEach(function(n) {
314
+ if (!(S(n, "display") === "none" || n === A.ghost)) {
315
+ r.push({
316
+ target: n,
317
+ rect: j(n)
318
+ });
319
+ var a = o({}, r[r.length - 1].rect);
320
+ if (n.thisAnimationDuration) {
321
+ var i = ke(n, !0);
322
+ i && (a.top -= i.f, a.left -= i.e);
323
+ }
324
+ n.fromRect = a;
325
+ }
326
+ });
327
+ },
328
+ addAnimationState: function(n) {
329
+ r.push(n);
330
+ },
331
+ removeAnimationState: function(n) {
332
+ r.splice(Zt(r, { target: n }), 1);
333
+ },
334
+ animateAll: function(n) {
335
+ var a = this;
336
+ if (!this.options.animation) {
337
+ clearTimeout(e), typeof n == "function" && n();
338
+ return;
339
+ }
340
+ var i = !1, s = 0;
341
+ r.forEach(function(h) {
342
+ var g = 0, m = h.target, I = m.fromRect, C = j(m), T = m.prevFromRect, L = m.prevToRect, P = h.rect, q = ke(m, !0);
343
+ q && (C.top -= q.f, C.left -= q.e), m.toRect = C, m.thisAnimationDuration && $e(T, C) && !$e(I, C) && (P.top - C.top) / (P.left - C.left) === (I.top - C.top) / (I.left - C.left) && (g = wt(P, T, L, a.options)), $e(C, I) || (m.prevFromRect = I, m.prevToRect = C, g || (g = a.options.animation), a.animate(m, P, C, g)), g && (i = !0, s = Math.max(s, g), clearTimeout(m.animationResetTimer), m.animationResetTimer = setTimeout(function() {
344
+ m.animationTime = 0, m.prevFromRect = null, m.fromRect = null, m.prevToRect = null, m.thisAnimationDuration = null;
345
+ }, g), m.thisAnimationDuration = g);
346
+ }), clearTimeout(e), i ? e = setTimeout(function() {
347
+ typeof n == "function" && n();
348
+ }, s) : typeof n == "function" && n(), r = [];
349
+ },
350
+ animate: function(n, a, i, s) {
351
+ if (s) {
352
+ S(n, "transition", ""), S(n, "transform", "");
353
+ var h = ke(this.el), g = h && h.a, m = h && h.d, I = (a.left - i.left) / (g || 1), C = (a.top - i.top) / (m || 1);
354
+ n.animatingX = !!I, n.animatingY = !!C, S(n, "transform", "translate3d(" + I + "px," + C + "px,0)"), this.forRepaintDummy = At(n), S(n, "transition", "transform " + s + "ms" + (this.options.easing ? " " + this.options.easing : "")), S(n, "transform", "translate3d(0,0,0)"), typeof n.animated == "number" && clearTimeout(n.animated), n.animated = setTimeout(function() {
355
+ S(n, "transition", ""), S(n, "transform", ""), n.animated = !1, n.animatingX = !1, n.animatingY = !1;
356
+ }, s);
357
+ }
358
+ }
359
+ };
360
+ }
361
+ function At(r) {
362
+ return r.offsetWidth;
363
+ }
364
+ function wt(r, e, t, n) {
365
+ return Math.sqrt(Math.pow(e.top - r.top, 2) + Math.pow(e.left - r.left, 2)) / Math.sqrt(Math.pow(e.top - t.top, 2) + Math.pow(e.left - t.left, 2)) * n.animation;
366
+ }
367
+ var we = [], kt = { initializeByDefault: !0 }, Fe = {
368
+ mount: function(e) {
369
+ for (var t in kt) kt.hasOwnProperty(t) && !(t in e) && (e[t] = kt[t]);
370
+ we.forEach(function(n) {
371
+ if (n.pluginName === e.pluginName) throw "Sortable: Cannot mount plugin ".concat(e.pluginName, " more than once");
372
+ }), we.push(e);
373
+ },
374
+ pluginEvent: function(e, t, n) {
375
+ var a = this;
376
+ this.eventCanceled = !1, n.cancel = function() {
377
+ a.eventCanceled = !0;
378
+ };
379
+ var i = e + "Global";
380
+ we.forEach(function(s) {
381
+ t[s.pluginName] && (t[s.pluginName][i] && t[s.pluginName][i](o({ sortable: t }, n)), t.options[s.pluginName] && t[s.pluginName][e] && t[s.pluginName][e](o({ sortable: t }, n)));
382
+ });
383
+ },
384
+ initializePlugins: function(e, t, n, a) {
385
+ we.forEach(function(h) {
386
+ var g = h.pluginName;
387
+ if (!(!e.options[g] && !h.initializeByDefault)) {
388
+ var m = new h(e, t, e.options);
389
+ m.sortable = e, m.options = e.options, e[g] = m, f(n, m.defaults);
390
+ }
391
+ });
392
+ for (var i in e.options)
393
+ if (e.options.hasOwnProperty(i)) {
394
+ var s = this.modifyOption(e, i, e.options[i]);
395
+ typeof s < "u" && (e.options[i] = s);
396
+ }
397
+ },
398
+ getEventProperties: function(e, t) {
399
+ var n = {};
400
+ return we.forEach(function(a) {
401
+ typeof a.eventProperties == "function" && f(n, a.eventProperties.call(t[a.pluginName], e));
402
+ }), n;
403
+ },
404
+ modifyOption: function(e, t, n) {
405
+ var a;
406
+ return we.forEach(function(i) {
407
+ e[i.pluginName] && i.optionListeners && typeof i.optionListeners[t] == "function" && (a = i.optionListeners[t].call(e[i.pluginName], n));
408
+ }), a;
409
+ }
410
+ };
411
+ function He(r) {
412
+ var e = r.sortable, t = r.rootEl, n = r.name, a = r.targetEl, i = r.cloneEl, s = r.toEl, h = r.fromEl, g = r.oldIndex, m = r.newIndex, I = r.oldDraggableIndex, C = r.newDraggableIndex, T = r.originalEvent, L = r.putSortable, P = r.extraEventProperties;
413
+ if (e = e || t && t[ae], !!e) {
414
+ var q, ve = e.options, xe = "on" + n.charAt(0).toUpperCase() + n.substr(1);
415
+ window.CustomEvent && !z && !Se ? q = new CustomEvent(n, {
416
+ bubbles: !0,
417
+ cancelable: !0
418
+ }) : (q = document.createEvent("Event"), q.initEvent(n, !0, !0)), q.to = s || t, q.from = h || t, q.item = a || t, q.clone = i, q.oldIndex = g, q.newIndex = m, q.oldDraggableIndex = I, q.newDraggableIndex = C, q.originalEvent = T, q.pullMode = L ? L.lastPutMode : void 0;
419
+ var R = o(o({}, P), Fe.getEventProperties(n, e));
420
+ for (var Q in R) q[Q] = R[Q];
421
+ t && t.dispatchEvent(q), ve[xe] && ve[xe].call(e, q);
422
+ }
423
+ }
424
+ var Me = ["evt"], de = function(e, t) {
425
+ var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, a = n.evt, i = b(n, Me);
426
+ Fe.pluginEvent.bind(A)(e, t, o({
427
+ dragEl: y,
428
+ parentEl: K,
429
+ ghostEl: k,
430
+ rootEl: W,
431
+ nextEl: Ye,
432
+ lastDownEl: pe,
433
+ cloneEl: J,
434
+ cloneHidden: qe,
435
+ dragStarted: dt,
436
+ putSortable: ce,
437
+ activeSortable: A.active,
438
+ originalEvent: a,
439
+ oldIndex: et,
440
+ oldDraggableIndex: st,
441
+ newIndex: ge,
442
+ newDraggableIndex: Ge,
443
+ hideGhostForTarget: Wn,
444
+ unhideGhostForTarget: Vn,
445
+ cloneNowHidden: function() {
446
+ qe = !0;
447
+ },
448
+ cloneNowShown: function() {
449
+ qe = !1;
450
+ },
451
+ dispatchSortableEvent: function(h) {
452
+ ie({
453
+ sortable: t,
454
+ name: h,
455
+ originalEvent: a
456
+ });
457
+ }
458
+ }, i));
459
+ };
460
+ function ie(r) {
461
+ He(o({
462
+ putSortable: ce,
463
+ cloneEl: J,
464
+ targetEl: y,
465
+ rootEl: W,
466
+ oldIndex: et,
467
+ oldDraggableIndex: st,
468
+ newIndex: ge,
469
+ newDraggableIndex: Ge
470
+ }, r));
471
+ }
472
+ var y, K, k, W, Ye, pe, J, qe, et, ge, st, Ge, Xe, ce, Pe = !1, ut = !1, p = [], _, E, N, _e, tt, ct, dt, _t, Mt, Pt = !1, en = !1, tn, he, Cn = [], Sn = !1, nn = [], rn = typeof document < "u", an = X, Kn = Se || z ? "cssFloat" : "float", gr = rn && !D && !X && "draggable" in document.createElement("div"), Hn = (function() {
473
+ if (rn) {
474
+ if (z) return !1;
475
+ var r = document.createElement("x");
476
+ return r.style.cssText = "pointer-events:auto", r.style.pointerEvents === "auto";
477
+ }
478
+ })(), Yn = function(e, t) {
479
+ var n = S(e), a = parseInt(n.width) - parseInt(n.paddingLeft) - parseInt(n.paddingRight) - parseInt(n.borderLeftWidth) - parseInt(n.borderRightWidth), i = Je(e, 0, t), s = Je(e, 1, t), h = i && S(i), g = s && S(s), m = h && parseInt(h.marginLeft) + parseInt(h.marginRight) + j(i).width, I = g && parseInt(g.marginLeft) + parseInt(g.marginRight) + j(s).width;
480
+ if (n.display === "flex") return n.flexDirection === "column" || n.flexDirection === "column-reverse" ? "vertical" : "horizontal";
481
+ if (n.display === "grid") return n.gridTemplateColumns.split(" ").length <= 1 ? "vertical" : "horizontal";
482
+ if (i && h.float && h.float !== "none") {
483
+ var C = h.float === "left" ? "left" : "right";
484
+ return s && (g.clear === "both" || g.clear === C) ? "vertical" : "horizontal";
485
+ }
486
+ return i && (h.display === "block" || h.display === "flex" || h.display === "table" || h.display === "grid" || m >= a && n[Kn] === "none" || s && n[Kn] === "none" && m + I > a) ? "vertical" : "horizontal";
487
+ }, vr = function(e, t, n) {
488
+ var a = n ? e.left : e.top, i = n ? e.right : e.bottom, s = n ? e.width : e.height, h = n ? t.left : t.top, g = n ? t.right : t.bottom, m = n ? t.width : t.height;
489
+ return a === h || i === g || a + s / 2 === h + m / 2;
490
+ }, mr = function(e, t) {
491
+ var n;
492
+ return p.some(function(a) {
493
+ var i = a[ae].options.emptyInsertThreshold;
494
+ if (!(!i || Tt(a))) {
495
+ var s = j(a), h = e >= s.left - i && e <= s.right + i, g = t >= s.top - i && t <= s.bottom + i;
496
+ if (h && g) return n = a;
497
+ }
498
+ }), n;
499
+ }, Xn = function(e) {
500
+ function t(i, s) {
501
+ return function(h, g, m, I) {
502
+ var C = h.options.group.name && g.options.group.name && h.options.group.name === g.options.group.name;
503
+ if (i == null && (s || C)) return !0;
504
+ if (i == null || i === !1) return !1;
505
+ if (s && i === "clone") return i;
506
+ if (typeof i == "function") return t(i(h, g, m, I), s)(h, g, m, I);
507
+ var T = (s ? h : g).options.group.name;
508
+ return i === !0 || typeof i == "string" && i === T || i.join && i.indexOf(T) > -1;
509
+ };
510
+ }
511
+ var n = {}, a = e.group;
512
+ (!a || l(a) != "object") && (a = { name: a }), n.name = a.name, n.checkPull = t(a.pull, !0), n.checkPut = t(a.put), n.revertClone = a.revertClone, e.group = n;
513
+ }, Wn = function() {
514
+ !Hn && k && S(k, "display", "none");
515
+ }, Vn = function() {
516
+ !Hn && k && S(k, "display", "");
517
+ };
518
+ rn && !D && document.addEventListener("click", function(r) {
519
+ if (ut)
520
+ return r.preventDefault(), r.stopPropagation && r.stopPropagation(), r.stopImmediatePropagation && r.stopImmediatePropagation(), ut = !1, !1;
521
+ }, !0);
522
+ var ft = function(e) {
523
+ if (y) {
524
+ e = e.touches ? e.touches[0] : e;
525
+ var t = mr(e.clientX, e.clientY);
526
+ if (t) {
527
+ var n = {};
528
+ for (var a in e) e.hasOwnProperty(a) && (n[a] = e[a]);
529
+ n.target = n.rootEl = t, n.preventDefault = void 0, n.stopPropagation = void 0, t[ae]._onDragOver(n);
530
+ }
531
+ }
532
+ }, yr = function(e) {
533
+ y && y.parentNode[ae]._isOutsideThisEl(e.target);
534
+ };
535
+ function A(r, e) {
536
+ if (!(r && r.nodeType && r.nodeType === 1)) throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(r));
537
+ this.el = r, this.options = e = f({}, e), r[ae] = this;
538
+ var t = {
539
+ group: null,
540
+ sort: !0,
541
+ disabled: !1,
542
+ store: null,
543
+ handle: null,
544
+ draggable: /^[uo]l$/i.test(r.nodeName) ? ">li" : ">*",
545
+ swapThreshold: 1,
546
+ invertSwap: !1,
547
+ invertedSwapThreshold: null,
548
+ removeCloneOnHide: !0,
549
+ direction: function() {
550
+ return Yn(r, this.options);
551
+ },
552
+ ghostClass: "sortable-ghost",
553
+ chosenClass: "sortable-chosen",
554
+ dragClass: "sortable-drag",
555
+ ignore: "a, img",
556
+ filter: null,
557
+ preventOnFilter: !0,
558
+ animation: 0,
559
+ easing: null,
560
+ setData: function(s, h) {
561
+ s.setData("Text", h.textContent);
562
+ },
563
+ dropBubble: !1,
564
+ dragoverBubble: !1,
565
+ dataIdAttr: "data-id",
566
+ delay: 0,
567
+ delayOnTouchOnly: !1,
568
+ touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,
569
+ forceFallback: !1,
570
+ fallbackClass: "sortable-fallback",
571
+ fallbackOnBody: !1,
572
+ fallbackTolerance: 0,
573
+ fallbackOffset: {
574
+ x: 0,
575
+ y: 0
576
+ },
577
+ supportPointer: A.supportPointer !== !1 && "PointerEvent" in window && (!$ || X),
578
+ emptyInsertThreshold: 5
579
+ };
580
+ Fe.initializePlugins(this, r, t);
581
+ for (var n in t) !(n in e) && (e[n] = t[n]);
582
+ Xn(e);
583
+ for (var a in this) a.charAt(0) === "_" && typeof this[a] == "function" && (this[a] = this[a].bind(this));
584
+ this.nativeDraggable = e.forceFallback ? !1 : gr, this.nativeDraggable && (this.options.touchStartThreshold = 1), e.supportPointer ? x(r, "pointerdown", this._onTapStart) : (x(r, "mousedown", this._onTapStart), x(r, "touchstart", this._onTapStart)), this.nativeDraggable && (x(r, "dragover", this), x(r, "dragenter", this)), p.push(this.el), e.store && e.store.get && this.sort(e.store.get(this) || []), f(this, $t());
585
+ }
586
+ A.prototype = /** @lends Sortable.prototype */
587
+ {
588
+ constructor: A,
589
+ _isOutsideThisEl: function(e) {
590
+ !this.el.contains(e) && e !== this.el && (_t = null);
591
+ },
592
+ _getDirection: function(e, t) {
593
+ return typeof this.options.direction == "function" ? this.options.direction.call(this, e, t, y) : this.options.direction;
594
+ },
595
+ _onTapStart: function(e) {
596
+ if (e.cancelable) {
597
+ var t = this, n = this.el, a = this.options, i = a.preventOnFilter, s = e.type, h = e.touches && e.touches[0] || e.pointerType && e.pointerType === "touch" && e, g = (h || e).target, m = e.target.shadowRoot && (e.path && e.path[0] || e.composedPath && e.composedPath()[0]) || g, I = a.filter;
598
+ if (Ur(n), !y && !(/mousedown|pointerdown/.test(s) && e.button !== 0 || a.disabled) && !m.isContentEditable && !(!this.nativeDraggable && $ && g && g.tagName.toUpperCase() === "SELECT") && (g = ne(g, a.draggable, n, !1), !(g && g.animated) && pe !== g)) {
599
+ if (et = ee(g), st = ee(g, a.draggable), typeof I == "function") {
600
+ if (I.call(this, e, g, this)) {
601
+ ie({
602
+ sortable: t,
603
+ rootEl: m,
604
+ name: "filter",
605
+ targetEl: g,
606
+ toEl: n,
607
+ fromEl: n
608
+ }), de("filter", t, { evt: e }), i && e.preventDefault();
609
+ return;
610
+ }
611
+ } else if (I && (I = I.split(",").some(function(C) {
612
+ if (C = ne(m, C.trim(), n, !1), C)
613
+ return ie({
614
+ sortable: t,
615
+ rootEl: C,
616
+ name: "filter",
617
+ targetEl: g,
618
+ fromEl: n,
619
+ toEl: n
620
+ }), de("filter", t, { evt: e }), !0;
621
+ }), I)) {
622
+ i && e.preventDefault();
623
+ return;
624
+ }
625
+ a.handle && !ne(m, a.handle, n, !1) || this._prepareDragStart(e, h, g);
626
+ }
627
+ }
628
+ },
629
+ _prepareDragStart: function(e, t, n) {
630
+ var a = this, i = a.el, s = a.options, h = i.ownerDocument, g;
631
+ if (n && !y && n.parentNode === i) {
632
+ var m = j(n);
633
+ if (W = i, y = n, K = y.parentNode, Ye = y.nextSibling, pe = n, Xe = s.group, A.dragged = y, _ = {
634
+ target: y,
635
+ clientX: (t || e).clientX,
636
+ clientY: (t || e).clientY
637
+ }, tt = _.clientX - m.left, ct = _.clientY - m.top, this._lastX = (t || e).clientX, this._lastY = (t || e).clientY, y.style["will-change"] = "all", g = function() {
638
+ if (de("delayEnded", a, { evt: e }), A.eventCanceled) {
639
+ a._onDrop();
640
+ return;
641
+ }
642
+ a._disableDelayedDragEvents(), !vt && a.nativeDraggable && (y.draggable = !0), a._triggerDragStart(e, t), ie({
643
+ sortable: a,
644
+ name: "choose",
645
+ originalEvent: e
646
+ }), U(y, s.chosenClass, !0);
647
+ }, s.ignore.split(",").forEach(function(I) {
648
+ Vt(y, I.trim(), En);
649
+ }), x(h, "dragover", ft), x(h, "mousemove", ft), x(h, "touchmove", ft), s.supportPointer ? (x(h, "pointerup", a._onDrop), !this.nativeDraggable && x(h, "pointercancel", a._onDrop)) : (x(h, "mouseup", a._onDrop), x(h, "touchend", a._onDrop), x(h, "touchcancel", a._onDrop)), vt && this.nativeDraggable && (this.options.touchStartThreshold = 4, y.draggable = !0), de("delayStart", this, { evt: e }), s.delay && (!s.delayOnTouchOnly || t) && (!this.nativeDraggable || !(Se || z))) {
650
+ if (A.eventCanceled) {
651
+ this._onDrop();
652
+ return;
653
+ }
654
+ s.supportPointer ? (x(h, "pointerup", a._disableDelayedDrag), x(h, "pointercancel", a._disableDelayedDrag)) : (x(h, "mouseup", a._disableDelayedDrag), x(h, "touchend", a._disableDelayedDrag), x(h, "touchcancel", a._disableDelayedDrag)), x(h, "mousemove", a._delayedDragTouchMoveHandler), x(h, "touchmove", a._delayedDragTouchMoveHandler), s.supportPointer && x(h, "pointermove", a._delayedDragTouchMoveHandler), a._dragStartTimer = setTimeout(g, s.delay);
655
+ } else g();
656
+ }
657
+ },
658
+ _delayedDragTouchMoveHandler: function(e) {
659
+ var t = e.touches ? e.touches[0] : e;
660
+ Math.max(Math.abs(t.clientX - this._lastX), Math.abs(t.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1)) && this._disableDelayedDrag();
661
+ },
662
+ _disableDelayedDrag: function() {
663
+ y && En(y), clearTimeout(this._dragStartTimer), this._disableDelayedDragEvents();
664
+ },
665
+ _disableDelayedDragEvents: function() {
666
+ var e = this.el.ownerDocument;
667
+ O(e, "mouseup", this._disableDelayedDrag), O(e, "touchend", this._disableDelayedDrag), O(e, "touchcancel", this._disableDelayedDrag), O(e, "pointerup", this._disableDelayedDrag), O(e, "pointercancel", this._disableDelayedDrag), O(e, "mousemove", this._delayedDragTouchMoveHandler), O(e, "touchmove", this._delayedDragTouchMoveHandler), O(e, "pointermove", this._delayedDragTouchMoveHandler);
668
+ },
669
+ _triggerDragStart: function(e, t) {
670
+ t = t || e.pointerType == "touch" && e, !this.nativeDraggable || t ? this.options.supportPointer ? x(document, "pointermove", this._onTouchMove) : t ? x(document, "touchmove", this._onTouchMove) : x(document, "mousemove", this._onTouchMove) : (x(y, "dragend", this), x(W, "dragstart", this._onDragStart));
671
+ try {
672
+ document.selection ? ln(function() {
673
+ document.selection.empty();
674
+ }) : window.getSelection().removeAllRanges();
675
+ } catch {
676
+ }
677
+ },
678
+ _dragStarted: function(e, t) {
679
+ if (Pe = !1, W && y) {
680
+ de("dragStarted", this, { evt: t }), this.nativeDraggable && x(document, "dragover", yr);
681
+ var n = this.options;
682
+ !e && U(y, n.dragClass, !1), U(y, n.ghostClass, !0), A.active = this, e && this._appendGhost(), ie({
683
+ sortable: this,
684
+ name: "start",
685
+ originalEvent: t
686
+ });
687
+ } else this._nulling();
688
+ },
689
+ _emulateDragOver: function() {
690
+ if (E) {
691
+ this._lastX = E.clientX, this._lastY = E.clientY, Wn();
692
+ for (var e = document.elementFromPoint(E.clientX, E.clientY), t = e; e && e.shadowRoot && (e = e.shadowRoot.elementFromPoint(E.clientX, E.clientY), e !== t); )
693
+ t = e;
694
+ if (y.parentNode[ae]._isOutsideThisEl(e), t) do {
695
+ if (t[ae]) {
696
+ var n = void 0;
697
+ if (n = t[ae]._onDragOver({
698
+ clientX: E.clientX,
699
+ clientY: E.clientY,
700
+ target: e,
701
+ rootEl: t
702
+ }), n && !this.options.dragoverBubble) break;
703
+ }
704
+ e = t;
705
+ } while (t = be(t));
706
+ Vn();
707
+ }
708
+ },
709
+ _onTouchMove: function(e) {
710
+ if (_) {
711
+ var t = this.options, n = t.fallbackTolerance, a = t.fallbackOffset, i = e.touches ? e.touches[0] : e, s = k && ke(k, !0), h = k && s && s.a, g = k && s && s.d, m = an && he && mt(he), I = (i.clientX - _.clientX + a.x) / (h || 1) + (m ? m[0] - Cn[0] : 0) / (h || 1), C = (i.clientY - _.clientY + a.y) / (g || 1) + (m ? m[1] - Cn[1] : 0) / (g || 1);
712
+ if (!A.active && !Pe) {
713
+ if (n && Math.max(Math.abs(i.clientX - this._lastX), Math.abs(i.clientY - this._lastY)) < n) return;
714
+ this._onDragStart(e, !0);
715
+ }
716
+ if (k) {
717
+ s ? (s.e += I - (N || 0), s.f += C - (_e || 0)) : s = {
718
+ a: 1,
719
+ b: 0,
720
+ c: 0,
721
+ d: 1,
722
+ e: I,
723
+ f: C
724
+ };
725
+ var T = "matrix(".concat(s.a, ",").concat(s.b, ",").concat(s.c, ",").concat(s.d, ",").concat(s.e, ",").concat(s.f, ")");
726
+ S(k, "webkitTransform", T), S(k, "mozTransform", T), S(k, "msTransform", T), S(k, "transform", T), N = I, _e = C, E = i;
727
+ }
728
+ e.cancelable && e.preventDefault();
729
+ }
730
+ },
731
+ _appendGhost: function() {
732
+ if (!k) {
733
+ var e = this.options.fallbackOnBody ? document.body : W, t = j(y, !0, an, !0, e), n = this.options;
734
+ if (an) {
735
+ for (he = e; S(he, "position") === "static" && S(he, "transform") === "none" && he !== document; ) he = he.parentNode;
736
+ he !== document.body && he !== document.documentElement ? (he === document && (he = Te()), t.top += he.scrollTop, t.left += he.scrollLeft) : he = Te(), Cn = mt(he);
737
+ }
738
+ k = y.cloneNode(!0), U(k, n.ghostClass, !1), U(k, n.fallbackClass, !0), U(k, n.dragClass, !0), S(k, "transition", ""), S(k, "transform", ""), S(k, "box-sizing", "border-box"), S(k, "margin", 0), S(k, "top", t.top), S(k, "left", t.left), S(k, "width", t.width), S(k, "height", t.height), S(k, "opacity", "0.8"), S(k, "position", an ? "absolute" : "fixed"), S(k, "zIndex", "100000"), S(k, "pointerEvents", "none"), A.ghost = k, e.appendChild(k), S(k, "transform-origin", tt / parseInt(k.style.width) * 100 + "% " + ct / parseInt(k.style.height) * 100 + "%");
739
+ }
740
+ },
741
+ _onDragStart: function(e, t) {
742
+ var n = this, a = e.dataTransfer, i = n.options;
743
+ if (de("dragStart", this, { evt: e }), A.eventCanceled) {
744
+ this._onDrop();
745
+ return;
746
+ }
747
+ de("setupClone", this), A.eventCanceled || (J = lt(y), J.removeAttribute("id"), J.draggable = !1, J.style["will-change"] = "", this._hideClone(), U(J, this.options.chosenClass, !1), A.clone = J), n.cloneId = ln(function() {
748
+ de("clone", n), !A.eventCanceled && (n.options.removeCloneOnHide || W.insertBefore(J, y), n._hideClone(), ie({
749
+ sortable: n,
750
+ name: "clone"
751
+ }));
752
+ }), !t && U(y, i.dragClass, !0), t ? (ut = !0, n._loopId = setInterval(n._emulateDragOver, 50)) : (O(document, "mouseup", n._onDrop), O(document, "touchend", n._onDrop), O(document, "touchcancel", n._onDrop), a && (a.effectAllowed = "move", i.setData && i.setData.call(n, a, y)), x(document, "drop", n), S(y, "transform", "translateZ(0)")), Pe = !0, n._dragStartId = ln(n._dragStarted.bind(n, t, e)), x(document, "selectstart", n), dt = !0, window.getSelection().removeAllRanges(), $ && S(document.body, "user-select", "none");
753
+ },
754
+ _onDragOver: function(e) {
755
+ var t = this.el, n = e.target, a, i, s, h = this.options, g = h.group, m = A.active, I = Xe === g, C = h.sort, T = ce || m, L, P = this, q = !1;
756
+ if (Sn) return;
757
+ function ve(Kt, kr) {
758
+ de(Kt, P, o({
759
+ evt: e,
760
+ isOwner: I,
761
+ axis: L ? "vertical" : "horizontal",
762
+ revert: s,
763
+ dragRect: a,
764
+ targetRect: i,
765
+ canSort: C,
766
+ fromSortable: T,
767
+ target: n,
768
+ completed: R,
769
+ onMove: function($n, Mr) {
770
+ return on(W, t, y, a, $n, j($n), e, Mr);
771
+ },
772
+ changed: Q
773
+ }, kr));
774
+ }
775
+ function xe() {
776
+ ve("dragOverAnimationCapture"), P.captureAnimationState(), P !== T && T.captureAnimationState();
777
+ }
778
+ function R(Kt) {
779
+ return ve("dragOverCompleted", { insertion: Kt }), Kt && (I ? m._hideClone() : m._showClone(P), P !== T && (U(y, ce ? ce.options.ghostClass : m.options.ghostClass, !1), U(y, h.ghostClass, !0)), ce !== P && P !== A.active ? ce = P : P === A.active && ce && (ce = null), T === P && (P._ignoreWhileAnimating = n), P.animateAll(function() {
780
+ ve("dragOverAnimationComplete"), P._ignoreWhileAnimating = null;
781
+ }), P !== T && (T.animateAll(), T._ignoreWhileAnimating = null)), (n === y && !y.animated || n === t && !n.animated) && (_t = null), !h.dragoverBubble && !e.rootEl && n !== document && (y.parentNode[ae]._isOutsideThisEl(e.target), !Kt && ft(e)), !h.dragoverBubble && e.stopPropagation && e.stopPropagation(), q = !0;
782
+ }
783
+ function Q() {
784
+ ge = ee(y), Ge = ee(y, h.draggable), ie({
785
+ sortable: P,
786
+ name: "change",
787
+ toEl: t,
788
+ newIndex: ge,
789
+ newDraggableIndex: Ge,
790
+ originalEvent: e
791
+ });
792
+ }
793
+ if (e.preventDefault !== void 0 && e.cancelable && e.preventDefault(), n = ne(n, h.draggable, t, !0), ve("dragOver"), A.eventCanceled) return q;
794
+ if (y.contains(e.target) || n.animated && n.animatingX && n.animatingY || P._ignoreWhileAnimating === n) return R(!1);
795
+ if (ut = !1, m && !h.disabled && (I ? C || (s = K !== W) : ce === this || (this.lastPutMode = Xe.checkPull(this, m, y, e)) && g.checkPut(this, m, y, e))) {
796
+ if (L = this._getDirection(e, n) === "vertical", a = j(y), ve("dragOverValid"), A.eventCanceled) return q;
797
+ if (s)
798
+ return K = W, xe(), this._hideClone(), ve("revert"), A.eventCanceled || (Ye ? W.insertBefore(y, Ye) : W.appendChild(y)), R(!0);
799
+ var fe = Tt(t, h.draggable);
800
+ if (!fe || Cr(e, L, this) && !fe.animated) {
801
+ if (fe === y) return R(!1);
802
+ if (fe && t === e.target && (n = fe), n && (i = j(n)), on(W, t, y, a, n, i, e, !!n) !== !1)
803
+ return xe(), fe && fe.nextSibling ? t.insertBefore(y, fe.nextSibling) : t.appendChild(y), K = t, Q(), R(!0);
804
+ } else if (fe && _r(e, L, this)) {
805
+ var We = Je(t, 0, h, !0);
806
+ if (We === y) return R(!1);
807
+ if (n = We, i = j(n), on(W, t, y, a, n, i, e, !1) !== !1)
808
+ return xe(), t.insertBefore(y, We), K = t, Q(), R(!0);
809
+ } else if (n.parentNode === t) {
810
+ i = j(n);
811
+ var ze = 0, ht, qt = y.parentNode !== t, Ue = !vr(y.animated && y.toRect || a, n.animated && n.toRect || i, L), Gt = L ? "top" : "left", nt = Qt(n, "top", "top") || Qt(y, "top", "top"), zt = nt ? nt.scrollTop : void 0;
812
+ _t !== n && (ht = i[Gt], Pt = !1, en = !Ue && h.invertSwap || qt), ze = Sr(e, n, i, L, Ue ? 1 : h.swapThreshold, h.invertedSwapThreshold == null ? h.swapThreshold : h.invertedSwapThreshold, en, _t === n);
813
+ var Ve;
814
+ if (ze !== 0) {
815
+ var pt = ee(y);
816
+ do
817
+ pt -= ze, Ve = K.children[pt];
818
+ while (Ve && (S(Ve, "display") === "none" || Ve === k));
819
+ }
820
+ if (ze === 0 || Ve === n) return R(!1);
821
+ _t = n, Mt = ze;
822
+ var jt = n.nextElementSibling, rt = !1;
823
+ rt = ze === 1;
824
+ var fn = on(W, t, y, a, n, i, e, rt);
825
+ if (fn !== !1)
826
+ return (fn === 1 || fn === -1) && (rt = fn === 1), Sn = !0, setTimeout(wr, 30), xe(), rt && !jt ? t.appendChild(y) : n.parentNode.insertBefore(y, rt ? jt : n), nt && Jt(nt, 0, zt - nt.scrollTop), K = y.parentNode, ht !== void 0 && !en && (tn = Math.abs(ht - j(n)[Gt])), Q(), R(!0);
827
+ }
828
+ if (t.contains(y)) return R(!1);
829
+ }
830
+ return !1;
831
+ },
832
+ _ignoreWhileAnimating: null,
833
+ _offMoveEvents: function() {
834
+ O(document, "mousemove", this._onTouchMove), O(document, "touchmove", this._onTouchMove), O(document, "pointermove", this._onTouchMove), O(document, "dragover", ft), O(document, "mousemove", ft), O(document, "touchmove", ft);
835
+ },
836
+ _offUpEvents: function() {
837
+ var e = this.el.ownerDocument;
838
+ O(e, "mouseup", this._onDrop), O(e, "touchend", this._onDrop), O(e, "pointerup", this._onDrop), O(e, "pointercancel", this._onDrop), O(e, "touchcancel", this._onDrop), O(document, "selectstart", this);
839
+ },
840
+ _onDrop: function(e) {
841
+ var t = this.el, n = this.options;
842
+ if (ge = ee(y), Ge = ee(y, n.draggable), de("drop", this, { evt: e }), K = y && y.parentNode, ge = ee(y), Ge = ee(y, n.draggable), A.eventCanceled) {
843
+ this._nulling();
844
+ return;
845
+ }
846
+ Pe = !1, en = !1, Pt = !1, clearInterval(this._loopId), clearTimeout(this._dragStartTimer), In(this.cloneId), In(this._dragStartId), this.nativeDraggable && (O(document, "drop", this), O(t, "dragstart", this._onDragStart)), this._offMoveEvents(), this._offUpEvents(), $ && S(document.body, "user-select", ""), S(y, "transform", ""), e && (dt && (e.cancelable && e.preventDefault(), !n.dropBubble && e.stopPropagation()), k && k.parentNode && k.parentNode.removeChild(k), (W === K || ce && ce.lastPutMode !== "clone") && J && J.parentNode && J.parentNode.removeChild(J), y && (this.nativeDraggable && O(y, "dragend", this), En(y), y.style["will-change"] = "", dt && !Pe && U(y, ce ? ce.options.ghostClass : this.options.ghostClass, !1), U(y, this.options.chosenClass, !1), ie({
847
+ sortable: this,
848
+ name: "unchoose",
849
+ toEl: K,
850
+ newIndex: null,
851
+ newDraggableIndex: null,
852
+ originalEvent: e
853
+ }), W !== K ? (ge >= 0 && (ie({
854
+ rootEl: K,
855
+ name: "add",
856
+ toEl: K,
857
+ fromEl: W,
858
+ originalEvent: e
859
+ }), ie({
860
+ sortable: this,
861
+ name: "remove",
862
+ toEl: K,
863
+ originalEvent: e
864
+ }), ie({
865
+ rootEl: K,
866
+ name: "sort",
867
+ toEl: K,
868
+ fromEl: W,
869
+ originalEvent: e
870
+ }), ie({
871
+ sortable: this,
872
+ name: "sort",
873
+ toEl: K,
874
+ originalEvent: e
875
+ })), ce && ce.save()) : ge !== et && ge >= 0 && (ie({
876
+ sortable: this,
877
+ name: "update",
878
+ toEl: K,
879
+ originalEvent: e
880
+ }), ie({
881
+ sortable: this,
882
+ name: "sort",
883
+ toEl: K,
884
+ originalEvent: e
885
+ })), A.active && ((ge == null || ge === -1) && (ge = et, Ge = st), ie({
886
+ sortable: this,
887
+ name: "end",
888
+ toEl: K,
889
+ originalEvent: e
890
+ }), this.save()))), this._nulling();
891
+ },
892
+ _nulling: function() {
893
+ de("nulling", this), W = y = K = k = Ye = J = pe = qe = _ = E = dt = ge = Ge = et = st = _t = Mt = ce = Xe = A.dragged = A.ghost = A.clone = A.active = null, nn.forEach(function(e) {
894
+ e.checked = !0;
895
+ }), nn.length = N = _e = 0;
896
+ },
897
+ handleEvent: function(e) {
898
+ switch (e.type) {
899
+ case "drop":
900
+ case "dragend":
901
+ this._onDrop(e);
902
+ break;
903
+ case "dragenter":
904
+ case "dragover":
905
+ y && (this._onDragOver(e), br(e));
906
+ break;
907
+ case "selectstart":
908
+ e.preventDefault();
909
+ break;
910
+ }
911
+ },
912
+ toArray: function() {
913
+ for (var e = [], t, n = this.el.children, a = 0, i = n.length, s = this.options; a < i; a++)
914
+ t = n[a], ne(t, s.draggable, this.el, !1) && e.push(t.getAttribute(s.dataIdAttr) || Ir(t));
915
+ return e;
916
+ },
917
+ sort: function(e, t) {
918
+ var n = {}, a = this.el;
919
+ this.toArray().forEach(function(i, s) {
920
+ var h = a.children[s];
921
+ ne(h, this.options.draggable, a, !1) && (n[i] = h);
922
+ }, this), t && this.captureAnimationState(), e.forEach(function(i) {
923
+ n[i] && (a.removeChild(n[i]), a.appendChild(n[i]));
924
+ }), t && this.animateAll();
925
+ },
926
+ save: function() {
927
+ var e = this.options.store;
928
+ e && e.set && e.set(this);
929
+ },
930
+ closest: function(e, t) {
931
+ return ne(e, t || this.options.draggable, this.el, !1);
932
+ },
933
+ option: function(e, t) {
934
+ var n = this.options;
935
+ if (t === void 0) return n[e];
936
+ var a = Fe.modifyOption(this, e, t);
937
+ typeof a < "u" ? n[e] = a : n[e] = t, e === "group" && Xn(n);
938
+ },
939
+ destroy: function() {
940
+ de("destroy", this);
941
+ var e = this.el;
942
+ e[ae] = null, O(e, "mousedown", this._onTapStart), O(e, "touchstart", this._onTapStart), O(e, "pointerdown", this._onTapStart), this.nativeDraggable && (O(e, "dragover", this), O(e, "dragenter", this)), Array.prototype.forEach.call(e.querySelectorAll("[draggable]"), function(t) {
943
+ t.removeAttribute("draggable");
944
+ }), this._onDrop(), this._disableDelayedDragEvents(), p.splice(p.indexOf(this.el), 1), this.el = e = null;
945
+ },
946
+ _hideClone: function() {
947
+ if (!qe) {
948
+ if (de("hideClone", this), A.eventCanceled) return;
949
+ S(J, "display", "none"), this.options.removeCloneOnHide && J.parentNode && J.parentNode.removeChild(J), qe = !0;
950
+ }
951
+ },
952
+ _showClone: function(e) {
953
+ if (e.lastPutMode !== "clone") {
954
+ this._hideClone();
955
+ return;
956
+ }
957
+ if (qe) {
958
+ if (de("showClone", this), A.eventCanceled) return;
959
+ y.parentNode == W && !this.options.group.revertClone ? W.insertBefore(J, y) : Ye ? W.insertBefore(J, Ye) : W.appendChild(J), this.options.group.revertClone && this.animate(y, J), S(J, "display", ""), qe = !1;
960
+ }
961
+ }
962
+ };
963
+ function br(r) {
964
+ r.dataTransfer && (r.dataTransfer.dropEffect = "move"), r.cancelable && r.preventDefault();
965
+ }
966
+ function on(r, e, t, n, a, i, s, h) {
967
+ var g, m = r[ae], I = m.options.onMove, C;
968
+ return window.CustomEvent && !z && !Se ? g = new CustomEvent("move", {
969
+ bubbles: !0,
970
+ cancelable: !0
971
+ }) : (g = document.createEvent("Event"), g.initEvent("move", !0, !0)), g.to = e, g.from = r, g.dragged = t, g.draggedRect = n, g.related = a || e, g.relatedRect = i || j(e), g.willInsertAfter = h, g.originalEvent = s, r.dispatchEvent(g), I && (C = I.call(m, g, s)), C;
972
+ }
973
+ function En(r) {
974
+ r.draggable = !1;
975
+ }
976
+ function wr() {
977
+ Sn = !1;
978
+ }
979
+ function _r(r, e, t) {
980
+ var n = j(Je(t.el, 0, t.options, !0)), a = xt(t.el, t.options, k), i = 10;
981
+ return e ? r.clientX < a.left - i || r.clientY < n.top && r.clientX < n.right : r.clientY < a.top - i || r.clientY < n.bottom && r.clientX < n.left;
982
+ }
983
+ function Cr(r, e, t) {
984
+ var n = j(Tt(t.el, t.options.draggable)), a = xt(t.el, t.options, k), i = 10;
985
+ return e ? r.clientX > a.right + i || r.clientY > n.bottom && r.clientX > n.left : r.clientY > a.bottom + i || r.clientX > n.right && r.clientY > n.top;
986
+ }
987
+ function Sr(r, e, t, n, a, i, s, h) {
988
+ var g = n ? r.clientY : r.clientX, m = n ? t.height : t.width, I = n ? t.top : t.left, C = n ? t.bottom : t.right, T = !1;
989
+ if (!s) {
990
+ if (h && tn < m * a) {
991
+ if (!Pt && (Mt === 1 ? g > I + m * i / 2 : g < C - m * i / 2) && (Pt = !0), Pt)
992
+ T = !0;
993
+ else if (Mt === 1 ? g < I + tn : g > C - tn) return -Mt;
994
+ } else if (g > I + m * (1 - a) / 2 && g < C - m * (1 - a) / 2) return Er(e);
995
+ }
996
+ return T = T || s, T && (g < I + m * i / 2 || g > C - m * i / 2) ? g > I + m / 2 ? 1 : -1 : 0;
997
+ }
998
+ function Er(r) {
999
+ return ee(y) < ee(r) ? 1 : -1;
1000
+ }
1001
+ function Ir(r) {
1002
+ for (var e = r.tagName + r.className + r.src + r.href + r.textContent, t = e.length, n = 0; t--; ) n += e.charCodeAt(t);
1003
+ return n.toString(36);
1004
+ }
1005
+ function Ur(r) {
1006
+ nn.length = 0;
1007
+ for (var e = r.getElementsByTagName("input"), t = e.length; t--; ) {
1008
+ var n = e[t];
1009
+ n.checked && nn.push(n);
1010
+ }
1011
+ }
1012
+ function ln(r) {
1013
+ return setTimeout(r, 0);
1014
+ }
1015
+ function In(r) {
1016
+ return clearTimeout(r);
1017
+ }
1018
+ rn && x(document, "touchmove", function(r) {
1019
+ (A.active || Pe) && r.cancelable && r.preventDefault();
1020
+ }), A.utils = {
1021
+ on: x,
1022
+ off: O,
1023
+ css: S,
1024
+ find: Vt,
1025
+ is: function(e, t) {
1026
+ return !!ne(e, t, e, !1);
1027
+ },
1028
+ extend: yt,
1029
+ throttle: it,
1030
+ closest: ne,
1031
+ toggleClass: U,
1032
+ clone: lt,
1033
+ index: ee,
1034
+ nextTick: ln,
1035
+ cancelNextTick: In,
1036
+ detectDirection: Yn,
1037
+ getChild: Je,
1038
+ expando: ae
1039
+ }, A.get = function(r) {
1040
+ return r[ae];
1041
+ }, A.mount = function() {
1042
+ for (var r = arguments.length, e = new Array(r), t = 0; t < r; t++) e[t] = arguments[t];
1043
+ e[0].constructor === Array && (e = e[0]), e.forEach(function(n) {
1044
+ if (!n.prototype || !n.prototype.constructor) throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(n));
1045
+ n.utils && (A.utils = o(o({}, A.utils), n.utils)), Fe.mount(n);
1046
+ });
1047
+ }, A.create = function(r, e) {
1048
+ return new A(r, e);
1049
+ }, A.version = De;
1050
+ var le = [], Rt, Un, Dn = !1, Tn, On, sn, Bt;
1051
+ function Dr() {
1052
+ function r() {
1053
+ this.defaults = {
1054
+ scroll: !0,
1055
+ forceAutoScrollFallback: !1,
1056
+ scrollSensitivity: 30,
1057
+ scrollSpeed: 10,
1058
+ bubbleScroll: !0
1059
+ };
1060
+ for (var e in this) e.charAt(0) === "_" && typeof this[e] == "function" && (this[e] = this[e].bind(this));
1061
+ }
1062
+ return r.prototype = {
1063
+ dragStarted: function(t) {
1064
+ var n = t.originalEvent;
1065
+ this.sortable.nativeDraggable ? x(document, "dragover", this._handleAutoScroll) : this.options.supportPointer ? x(document, "pointermove", this._handleFallbackAutoScroll) : n.touches ? x(document, "touchmove", this._handleFallbackAutoScroll) : x(document, "mousemove", this._handleFallbackAutoScroll);
1066
+ },
1067
+ dragOverCompleted: function(t) {
1068
+ var n = t.originalEvent;
1069
+ !this.options.dragOverBubble && !n.rootEl && this._handleAutoScroll(n);
1070
+ },
1071
+ drop: function() {
1072
+ this.sortable.nativeDraggable ? O(document, "dragover", this._handleAutoScroll) : (O(document, "pointermove", this._handleFallbackAutoScroll), O(document, "touchmove", this._handleFallbackAutoScroll), O(document, "mousemove", this._handleFallbackAutoScroll)), Qn(), un(), _n();
1073
+ },
1074
+ nulling: function() {
1075
+ sn = Un = Rt = Dn = Bt = Tn = On = null, le.length = 0;
1076
+ },
1077
+ _handleFallbackAutoScroll: function(t) {
1078
+ this._handleAutoScroll(t, !0);
1079
+ },
1080
+ _handleAutoScroll: function(t, n) {
1081
+ var a = this, i = (t.touches ? t.touches[0] : t).clientX, s = (t.touches ? t.touches[0] : t).clientY, h = document.elementFromPoint(i, s);
1082
+ if (sn = t, n || this.options.forceAutoScrollFallback || Se || z || $) {
1083
+ xn(t, this.options, h, n);
1084
+ var g = Ee(h, !0);
1085
+ Dn && (!Bt || i !== Tn || s !== On) && (Bt && Qn(), Bt = setInterval(function() {
1086
+ var m = Ee(document.elementFromPoint(i, s), !0);
1087
+ m !== g && (g = m, un()), xn(t, a.options, m, n);
1088
+ }, 10), Tn = i, On = s);
1089
+ } else {
1090
+ if (!this.options.bubbleScroll || Ee(h, !0) === Te()) {
1091
+ un();
1092
+ return;
1093
+ }
1094
+ xn(t, this.options, Ee(h, !1), !1);
1095
+ }
1096
+ }
1097
+ }, f(r, {
1098
+ pluginName: "scroll",
1099
+ initializeByDefault: !0
1100
+ });
1101
+ }
1102
+ function un() {
1103
+ le.forEach(function(r) {
1104
+ clearInterval(r.pid);
1105
+ }), le = [];
1106
+ }
1107
+ function Qn() {
1108
+ clearInterval(Bt);
1109
+ }
1110
+ var xn = it(function(r, e, t, n) {
1111
+ if (e.scroll) {
1112
+ var a = (r.touches ? r.touches[0] : r).clientX, i = (r.touches ? r.touches[0] : r).clientY, s = e.scrollSensitivity, h = e.scrollSpeed, g = Te(), m = !1, I;
1113
+ Un !== t && (Un = t, un(), Rt = e.scroll, I = e.scrollFn, Rt === !0 && (Rt = Ee(t, !0)));
1114
+ var C = 0, T = Rt;
1115
+ do {
1116
+ var L = T, P = j(L), q = P.top, ve = P.bottom, xe = P.left, R = P.right, Q = P.width, fe = P.height, We = void 0, ze = void 0, ht = L.scrollWidth, qt = L.scrollHeight, Ue = S(L), Gt = L.scrollLeft, nt = L.scrollTop;
1117
+ L === g ? (We = Q < ht && (Ue.overflowX === "auto" || Ue.overflowX === "scroll" || Ue.overflowX === "visible"), ze = fe < qt && (Ue.overflowY === "auto" || Ue.overflowY === "scroll" || Ue.overflowY === "visible")) : (We = Q < ht && (Ue.overflowX === "auto" || Ue.overflowX === "scroll"), ze = fe < qt && (Ue.overflowY === "auto" || Ue.overflowY === "scroll"));
1118
+ var zt = We && (Math.abs(R - a) <= s && Gt + Q < ht) - (Math.abs(xe - a) <= s && !!Gt), Ve = ze && (Math.abs(ve - i) <= s && nt + fe < qt) - (Math.abs(q - i) <= s && !!nt);
1119
+ if (!le[C])
1120
+ for (var pt = 0; pt <= C; pt++) le[pt] || (le[pt] = {});
1121
+ (le[C].vx != zt || le[C].vy != Ve || le[C].el !== L) && (le[C].el = L, le[C].vx = zt, le[C].vy = Ve, clearInterval(le[C].pid), (zt != 0 || Ve != 0) && (m = !0, le[C].pid = setInterval((function() {
1122
+ n && this.layer === 0 && A.active._onTouchMove(sn);
1123
+ var jt = le[this.layer].vy ? le[this.layer].vy * h : 0, rt = le[this.layer].vx ? le[this.layer].vx * h : 0;
1124
+ typeof I == "function" && I.call(A.dragged.parentNode[ae], rt, jt, r, sn, le[this.layer].el) !== "continue" || Jt(le[this.layer].el, rt, jt);
1125
+ }).bind({ layer: C }), 24))), C++;
1126
+ } while (e.bubbleScroll && T !== g && (T = Ee(T, !1)));
1127
+ Dn = m;
1128
+ }
1129
+ }, 30), Zn = function(e) {
1130
+ var t = e.originalEvent, n = e.putSortable, a = e.dragEl, i = e.activeSortable, s = e.dispatchSortableEvent, h = e.hideGhostForTarget, g = e.unhideGhostForTarget;
1131
+ if (t) {
1132
+ var m = n || i;
1133
+ h();
1134
+ var I = t.changedTouches && t.changedTouches.length ? t.changedTouches[0] : t, C = document.elementFromPoint(I.clientX, I.clientY);
1135
+ g(), m && !m.el.contains(C) && (s("spill"), this.onSpill({
1136
+ dragEl: a,
1137
+ putSortable: n
1138
+ }));
1139
+ }
1140
+ };
1141
+ function An() {
1142
+ }
1143
+ An.prototype = {
1144
+ startIndex: null,
1145
+ dragStart: function(e) {
1146
+ this.startIndex = e.oldDraggableIndex;
1147
+ },
1148
+ onSpill: function(e) {
1149
+ var t = e.dragEl, n = e.putSortable;
1150
+ this.sortable.captureAnimationState(), n && n.captureAnimationState();
1151
+ var a = Je(this.sortable.el, this.startIndex, this.options);
1152
+ a ? this.sortable.el.insertBefore(t, a) : this.sortable.el.appendChild(t), this.sortable.animateAll(), n && n.animateAll();
1153
+ },
1154
+ drop: Zn
1155
+ }, f(An, { pluginName: "revertOnSpill" });
1156
+ function kn() {
1157
+ }
1158
+ kn.prototype = {
1159
+ onSpill: function(e) {
1160
+ var t = e.dragEl, n = e.putSortable || this.sortable;
1161
+ n.captureAnimationState(), t.parentNode && t.parentNode.removeChild(t), n.animateAll();
1162
+ },
1163
+ drop: Zn
1164
+ }, f(kn, { pluginName: "removeOnSpill" });
1165
+ var Oe;
1166
+ function Tr() {
1167
+ function r() {
1168
+ this.defaults = { swapClass: "sortable-swap-highlight" };
1169
+ }
1170
+ return r.prototype = {
1171
+ dragStart: function(t) {
1172
+ Oe = t.dragEl;
1173
+ },
1174
+ dragOverValid: function(t) {
1175
+ var n = t.completed, a = t.target, i = t.onMove, s = t.activeSortable, h = t.changed, g = t.cancel;
1176
+ if (s.options.swap) {
1177
+ var m = this.sortable.el, I = this.options;
1178
+ if (a && a !== m) {
1179
+ var C = Oe;
1180
+ i(a) !== !1 ? (U(a, I.swapClass, !0), Oe = a) : Oe = null, C && C !== Oe && U(C, I.swapClass, !1);
1181
+ }
1182
+ h(), n(!0), g();
1183
+ }
1184
+ },
1185
+ drop: function(t) {
1186
+ var n = t.activeSortable, a = t.putSortable, i = t.dragEl, s = a || this.sortable, h = this.options;
1187
+ Oe && U(Oe, h.swapClass, !1), Oe && (h.swap || a && a.options.swap) && i !== Oe && (s.captureAnimationState(), s !== n && n.captureAnimationState(), Or(i, Oe), s.animateAll(), s !== n && n.animateAll());
1188
+ },
1189
+ nulling: function() {
1190
+ Oe = null;
1191
+ }
1192
+ }, f(r, {
1193
+ pluginName: "swap",
1194
+ eventProperties: function() {
1195
+ return { swapItem: Oe };
1196
+ }
1197
+ });
1198
+ }
1199
+ function Or(r, e) {
1200
+ var t = r.parentNode, n = e.parentNode, a, i;
1201
+ !t || !n || t.isEqualNode(e) || n.isEqualNode(r) || (a = ee(r), i = ee(e), t.isEqualNode(n) && a < i && i++, t.insertBefore(e, t.children[a]), n.insertBefore(r, n.children[i]));
1202
+ }
1203
+ var M = [], Ie = [], Nt, Re, Lt = !1, Ce = !1, Ct = !1, V, Ft, cn;
1204
+ function xr() {
1205
+ function r(e) {
1206
+ for (var t in this) t.charAt(0) === "_" && typeof this[t] == "function" && (this[t] = this[t].bind(this));
1207
+ e.options.avoidImplicitDeselect || (e.options.supportPointer ? x(document, "pointerup", this._deselectMultiDrag) : (x(document, "mouseup", this._deselectMultiDrag), x(document, "touchend", this._deselectMultiDrag))), x(document, "keydown", this._checkKeyDown), x(document, "keyup", this._checkKeyUp), this.defaults = {
1208
+ selectedClass: "sortable-selected",
1209
+ multiDragKey: null,
1210
+ avoidImplicitDeselect: !1,
1211
+ setData: function(a, i) {
1212
+ var s = "";
1213
+ M.length && Re === e ? M.forEach(function(h, g) {
1214
+ s += (g ? ", " : "") + h.textContent;
1215
+ }) : s = i.textContent, a.setData("Text", s);
1216
+ }
1217
+ };
1218
+ }
1219
+ return r.prototype = {
1220
+ multiDragKeyDown: !1,
1221
+ isMultiDrag: !1,
1222
+ delayStartGlobal: function(t) {
1223
+ V = t.dragEl;
1224
+ },
1225
+ delayEnded: function() {
1226
+ this.isMultiDrag = ~M.indexOf(V);
1227
+ },
1228
+ setupClone: function(t) {
1229
+ var n = t.sortable, a = t.cancel;
1230
+ if (this.isMultiDrag) {
1231
+ for (var i = 0; i < M.length; i++)
1232
+ Ie.push(lt(M[i])), Ie[i].sortableIndex = M[i].sortableIndex, Ie[i].draggable = !1, Ie[i].style["will-change"] = "", U(Ie[i], this.options.selectedClass, !1), M[i] === V && U(Ie[i], this.options.chosenClass, !1);
1233
+ n._hideClone(), a();
1234
+ }
1235
+ },
1236
+ clone: function(t) {
1237
+ var n = t.sortable, a = t.rootEl, i = t.dispatchSortableEvent, s = t.cancel;
1238
+ this.isMultiDrag && (this.options.removeCloneOnHide || M.length && Re === n && (Jn(!0, a), i("clone"), s()));
1239
+ },
1240
+ showClone: function(t) {
1241
+ var n = t.cloneNowShown, a = t.rootEl, i = t.cancel;
1242
+ this.isMultiDrag && (Jn(!1, a), Ie.forEach(function(s) {
1243
+ S(s, "display", "");
1244
+ }), n(), cn = !1, i());
1245
+ },
1246
+ hideClone: function(t) {
1247
+ var n = this;
1248
+ t.sortable;
1249
+ var a = t.cloneNowHidden, i = t.cancel;
1250
+ this.isMultiDrag && (Ie.forEach(function(s) {
1251
+ S(s, "display", "none"), n.options.removeCloneOnHide && s.parentNode && s.parentNode.removeChild(s);
1252
+ }), a(), cn = !0, i());
1253
+ },
1254
+ dragStartGlobal: function(t) {
1255
+ t.sortable, !this.isMultiDrag && Re && Re.multiDrag._deselectMultiDrag(), M.forEach(function(n) {
1256
+ n.sortableIndex = ee(n);
1257
+ }), M = M.sort(function(n, a) {
1258
+ return n.sortableIndex - a.sortableIndex;
1259
+ }), Ct = !0;
1260
+ },
1261
+ dragStarted: function(t) {
1262
+ var n = this, a = t.sortable;
1263
+ if (this.isMultiDrag) {
1264
+ if (this.options.sort && (a.captureAnimationState(), this.options.animation)) {
1265
+ M.forEach(function(s) {
1266
+ s !== V && S(s, "position", "absolute");
1267
+ });
1268
+ var i = j(V, !1, !0, !0);
1269
+ M.forEach(function(s) {
1270
+ s !== V && Ot(s, i);
1271
+ }), Ce = !0, Lt = !0;
1272
+ }
1273
+ a.animateAll(function() {
1274
+ Ce = !1, Lt = !1, n.options.animation && M.forEach(function(s) {
1275
+ bt(s);
1276
+ }), n.options.sort && dn();
1277
+ });
1278
+ }
1279
+ },
1280
+ dragOver: function(t) {
1281
+ var n = t.target, a = t.completed, i = t.cancel;
1282
+ Ce && ~M.indexOf(n) && (a(!1), i());
1283
+ },
1284
+ revert: function(t) {
1285
+ var n = t.fromSortable, a = t.rootEl, i = t.sortable, s = t.dragRect;
1286
+ M.length > 1 && (M.forEach(function(h) {
1287
+ i.addAnimationState({
1288
+ target: h,
1289
+ rect: Ce ? j(h) : s
1290
+ }), bt(h), h.fromRect = s, n.removeAnimationState(h);
1291
+ }), Ce = !1, Ar(!this.options.removeCloneOnHide, a));
1292
+ },
1293
+ dragOverCompleted: function(t) {
1294
+ var n = t.sortable, a = t.isOwner, i = t.insertion, s = t.activeSortable, h = t.parentEl, g = t.putSortable, m = this.options;
1295
+ if (i) {
1296
+ if (a && s._hideClone(), Lt = !1, m.animation && M.length > 1 && (Ce || !a && !s.options.sort && !g)) {
1297
+ var I = j(V, !1, !0, !0);
1298
+ M.forEach(function(T) {
1299
+ T !== V && (Ot(T, I), h.appendChild(T));
1300
+ }), Ce = !0;
1301
+ }
1302
+ if (!a)
1303
+ if (Ce || dn(), M.length > 1) {
1304
+ var C = cn;
1305
+ s._showClone(n), s.options.animation && !cn && C && Ie.forEach(function(T) {
1306
+ s.addAnimationState({
1307
+ target: T,
1308
+ rect: Ft
1309
+ }), T.fromRect = Ft, T.thisAnimationDuration = null;
1310
+ });
1311
+ } else s._showClone(n);
1312
+ }
1313
+ },
1314
+ dragOverAnimationCapture: function(t) {
1315
+ var n = t.dragRect, a = t.isOwner, i = t.activeSortable;
1316
+ if (M.forEach(function(h) {
1317
+ h.thisAnimationDuration = null;
1318
+ }), i.options.animation && !a && i.multiDrag.isMultiDrag) {
1319
+ Ft = f({}, n);
1320
+ var s = ke(V, !0);
1321
+ Ft.top -= s.f, Ft.left -= s.e;
1322
+ }
1323
+ },
1324
+ dragOverAnimationComplete: function() {
1325
+ Ce && (Ce = !1, dn());
1326
+ },
1327
+ drop: function(t) {
1328
+ var n = t.originalEvent, a = t.rootEl, i = t.parentEl, s = t.sortable, h = t.dispatchSortableEvent, g = t.oldIndex, m = t.putSortable, I = m || this.sortable;
1329
+ if (n) {
1330
+ var C = this.options, T = i.children;
1331
+ if (!Ct)
1332
+ if (C.multiDragKey && !this.multiDragKeyDown && this._deselectMultiDrag(), U(V, C.selectedClass, !~M.indexOf(V)), ~M.indexOf(V))
1333
+ M.splice(M.indexOf(V), 1), Nt = null, He({
1334
+ sortable: s,
1335
+ rootEl: a,
1336
+ name: "deselect",
1337
+ targetEl: V,
1338
+ originalEvent: n
1339
+ });
1340
+ else {
1341
+ if (M.push(V), He({
1342
+ sortable: s,
1343
+ rootEl: a,
1344
+ name: "select",
1345
+ targetEl: V,
1346
+ originalEvent: n
1347
+ }), n.shiftKey && Nt && s.el.contains(Nt)) {
1348
+ var L = ee(Nt), P = ee(V);
1349
+ ~L && ~P && L !== P && (function() {
1350
+ var R, Q;
1351
+ P > L ? (Q = L, R = P) : (Q = P, R = L + 1);
1352
+ for (var fe = C.filter; Q < R; Q++)
1353
+ ~M.indexOf(T[Q]) || ne(T[Q], C.draggable, i, !1) && (fe && (typeof fe == "function" ? fe.call(s, n, T[Q], s) : fe.split(",").some(function(We) {
1354
+ return ne(T[Q], We.trim(), i, !1);
1355
+ })) || (U(T[Q], C.selectedClass, !0), M.push(T[Q]), He({
1356
+ sortable: s,
1357
+ rootEl: a,
1358
+ name: "select",
1359
+ targetEl: T[Q],
1360
+ originalEvent: n
1361
+ })));
1362
+ })();
1363
+ } else Nt = V;
1364
+ Re = I;
1365
+ }
1366
+ if (Ct && this.isMultiDrag) {
1367
+ if (Ce = !1, (i[ae].options.sort || i !== a) && M.length > 1) {
1368
+ var q = j(V), ve = ee(V, ":not(." + this.options.selectedClass + ")");
1369
+ if (!Lt && C.animation && (V.thisAnimationDuration = null), I.captureAnimationState(), !Lt && (C.animation && (V.fromRect = q, M.forEach(function(R) {
1370
+ if (R.thisAnimationDuration = null, R !== V) {
1371
+ var Q = Ce ? j(R) : q;
1372
+ R.fromRect = Q, I.addAnimationState({
1373
+ target: R,
1374
+ rect: Q
1375
+ });
1376
+ }
1377
+ })), dn(), M.forEach(function(R) {
1378
+ T[ve] ? i.insertBefore(R, T[ve]) : i.appendChild(R), ve++;
1379
+ }), g === ee(V))) {
1380
+ var xe = !1;
1381
+ M.forEach(function(R) {
1382
+ if (R.sortableIndex !== ee(R)) {
1383
+ xe = !0;
1384
+ return;
1385
+ }
1386
+ }), xe && (h("update"), h("sort"));
1387
+ }
1388
+ M.forEach(function(R) {
1389
+ bt(R);
1390
+ }), I.animateAll();
1391
+ }
1392
+ Re = I;
1393
+ }
1394
+ (a === i || m && m.lastPutMode !== "clone") && Ie.forEach(function(R) {
1395
+ R.parentNode && R.parentNode.removeChild(R);
1396
+ });
1397
+ }
1398
+ },
1399
+ nullingGlobal: function() {
1400
+ this.isMultiDrag = Ct = !1, Ie.length = 0;
1401
+ },
1402
+ destroyGlobal: function() {
1403
+ this._deselectMultiDrag(), O(document, "pointerup", this._deselectMultiDrag), O(document, "mouseup", this._deselectMultiDrag), O(document, "touchend", this._deselectMultiDrag), O(document, "keydown", this._checkKeyDown), O(document, "keyup", this._checkKeyUp);
1404
+ },
1405
+ _deselectMultiDrag: function(t) {
1406
+ if (!(typeof Ct < "u" && Ct) && Re === this.sortable && !(t && ne(t.target, this.options.draggable, this.sortable.el, !1)) && !(t && t.button !== 0))
1407
+ for (; M.length; ) {
1408
+ var n = M[0];
1409
+ U(n, this.options.selectedClass, !1), M.shift(), He({
1410
+ sortable: this.sortable,
1411
+ rootEl: this.sortable.el,
1412
+ name: "deselect",
1413
+ targetEl: n,
1414
+ originalEvent: t
1415
+ });
1416
+ }
1417
+ },
1418
+ _checkKeyDown: function(t) {
1419
+ t.key === this.options.multiDragKey && (this.multiDragKeyDown = !0);
1420
+ },
1421
+ _checkKeyUp: function(t) {
1422
+ t.key === this.options.multiDragKey && (this.multiDragKeyDown = !1);
1423
+ }
1424
+ }, f(r, {
1425
+ pluginName: "multiDrag",
1426
+ utils: {
1427
+ select: function(t) {
1428
+ var n = t.parentNode[ae];
1429
+ !n || !n.options.multiDrag || ~M.indexOf(t) || (Re && Re !== n && (Re.multiDrag._deselectMultiDrag(), Re = n), U(t, n.options.selectedClass, !0), M.push(t));
1430
+ },
1431
+ deselect: function(t) {
1432
+ var n = t.parentNode[ae], a = M.indexOf(t);
1433
+ !n || !n.options.multiDrag || !~a || (U(t, n.options.selectedClass, !1), M.splice(a, 1));
1434
+ }
1435
+ },
1436
+ eventProperties: function() {
1437
+ var t = this, n = [], a = [];
1438
+ return M.forEach(function(i) {
1439
+ n.push({
1440
+ multiDragElement: i,
1441
+ index: i.sortableIndex
1442
+ });
1443
+ var s;
1444
+ Ce && i !== V ? s = -1 : Ce ? s = ee(i, ":not(." + t.options.selectedClass + ")") : s = ee(i), a.push({
1445
+ multiDragElement: i,
1446
+ index: s
1447
+ });
1448
+ }), {
1449
+ items: B(M),
1450
+ clones: [].concat(Ie),
1451
+ oldIndicies: n,
1452
+ newIndicies: a
1453
+ };
1454
+ },
1455
+ optionListeners: { multiDragKey: function(t) {
1456
+ return t = t.toLowerCase(), t === "ctrl" ? t = "Control" : t.length > 1 && (t = t.charAt(0).toUpperCase() + t.substr(1)), t;
1457
+ } }
1458
+ });
1459
+ }
1460
+ function Ar(r, e) {
1461
+ M.forEach(function(t, n) {
1462
+ var a = e.children[t.sortableIndex + (r ? Number(n) : 0)];
1463
+ a ? e.insertBefore(t, a) : e.appendChild(t);
1464
+ });
1465
+ }
1466
+ function Jn(r, e) {
1467
+ Ie.forEach(function(t, n) {
1468
+ var a = e.children[t.sortableIndex + (r ? Number(n) : 0)];
1469
+ a ? e.insertBefore(t, a) : e.appendChild(t);
1470
+ });
1471
+ }
1472
+ function dn() {
1473
+ M.forEach(function(r) {
1474
+ r !== V && r.parentNode && r.parentNode.removeChild(r);
1475
+ });
1476
+ }
1477
+ return A.mount(new Dr()), A.mount(kn, An), A.mount(new Tr()), A.mount(new xr()), A;
1478
+ }));
1479
+ })))()), Et = "bk_username", Be = {
1480
+ USER: "user",
1481
+ VIRTUAL: "virtual",
1482
+ CUSTOM: "custom",
1483
+ USER_GROUP: "userGroup"
1484
+ }, Qr = /* @__PURE__ */ Symbol("bkUserSelectorApiConfig"), Zr = /^[A-Za-z0-9_-]{1,64}$/, Pn = {
1485
+ apiBaseUrl: "",
1486
+ tenantId: "",
1487
+ allowedApiOrigins: [],
1488
+ allowPrivateApiHost: !1,
1489
+ allowCrossOriginCredentials: !1
1490
+ }, cr = () => typeof window > "u" || !window.location?.origin ? "http://localhost" : window.location.origin, Jr = (c) => {
1491
+ const d = c.split(".").map(Number);
1492
+ if (d.length !== 4 || d.some(Number.isNaN)) return !1;
1493
+ const [u, o] = d;
1494
+ return u === 10 || u === 127 || u === 172 && o >= 16 && o <= 31 || u === 192 && o === 168 || u === 169 && o === 254 || u === 100 && o >= 64 && o <= 127;
1495
+ }, $r = (c) => {
1496
+ const d = c.toLowerCase();
1497
+ return !!(d === "localhost" || d === "[::1]" || d === "::1" || Jr(d) || d.startsWith("fc") || d.startsWith("fd"));
1498
+ }, dr = (c = []) => {
1499
+ const d = cr();
1500
+ return Array.from(new Set(c.map((u) => {
1501
+ try {
1502
+ const o = new URL(u, d);
1503
+ return ["http:", "https:"].includes(o.protocol) ? o.origin : "";
1504
+ } catch {
1505
+ return "";
1506
+ }
1507
+ }).filter(Boolean)));
1508
+ }, fr = (c, d = [], u = !1) => {
1509
+ if (!c) return "";
1510
+ try {
1511
+ const o = new URL(c, cr());
1512
+ if (!["http:", "https:"].includes(o.protocol))
1513
+ return console.warn("[bk-user-selector] apiBaseUrl 仅支持 http/https 协议"), "";
1514
+ if (!u && $r(o.hostname))
1515
+ return console.warn("[bk-user-selector] apiBaseUrl 指向私网或 localhost,已被安全策略拦截"), "";
1516
+ const l = dr(d);
1517
+ if (l.length > 0 && !l.includes(o.origin))
1518
+ return console.warn("[bk-user-selector] apiBaseUrl 未命中 allowedApiOrigins 白名单,已被安全策略拦截"), "";
1519
+ const v = o.pathname.replace(/\/+$/, "");
1520
+ return `${o.origin}${v}`;
1521
+ } catch {
1522
+ return console.warn("[bk-user-selector] apiBaseUrl 格式非法,已被安全策略拦截"), "";
1523
+ }
1524
+ }, hr = (c) => {
1525
+ const d = String(c || "").trim();
1526
+ return d ? Zr.test(d) ? d : (console.warn("[bk-user-selector] tenantId 格式非法,已被安全策略拦截"), "") : "";
1527
+ }, ea = () => Pn, ta = (c, d, u = [], o = !1, l = !1, v = {}) => {
1528
+ const f = dr(u);
1529
+ Pn = {
1530
+ apiBaseUrl: fr(c, f, o),
1531
+ tenantId: hr(d),
1532
+ allowedApiOrigins: f,
1533
+ allowPrivateApiHost: o,
1534
+ allowCrossOriginCredentials: l,
1535
+ onError: v.onError,
1536
+ onUnauthorized: v.onUnauthorized
1537
+ }, Br(Qr, Pn);
1538
+ }, na = () => `__jsonp_callback_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`, ra = (c, d = {}) => new Promise((u, o) => {
1539
+ const l = Lr(c), { timeout: v = 1e3 * 60 * 2, params: f } = d, w = na(), b = document.createElement("script");
1540
+ let B = null;
1541
+ b.setAttribute("type", "text/javascript");
1542
+ const G = () => {
1543
+ B && clearTimeout(B), b.parentNode && b.parentNode.removeChild(b), window[w] && delete window[w];
1544
+ };
1545
+ window[w] = (H) => {
1546
+ G(), u(H.data || H);
1547
+ }, B = setTimeout(() => {
1548
+ G(), o(/* @__PURE__ */ new Error(`JSONP request timeout: ${l}`));
1549
+ }, v), b.onerror = () => {
1550
+ G(), o(/* @__PURE__ */ new Error(`JSONP request failed: ${l}`));
1551
+ }, b.src = `${l}${l.includes("?") ? "&" : "?"}callback=${w}${f ? `&${Object.entries(f).map(([H, ye]) => ye ? `${H}=${ye}` : "").filter(Boolean).join("&")}` : ""}`, document.head.appendChild(b);
1552
+ }), Ht = "[BkUserSelector]", rr = {
1553
+ debug: 0,
1554
+ info: 1,
1555
+ warn: 2,
1556
+ error: 3
1557
+ }, aa = {
1558
+ level: "warn"
1559
+ }, gn = (c) => rr[c] >= rr[aa.level], Rn = {
1560
+ debug: (c, ...d) => {
1561
+ gn("debug") && console.debug(`${Ht} ${c}`, ...d);
1562
+ },
1563
+ info: (c, ...d) => {
1564
+ gn("info") && console.info(`${Ht} ${c}`, ...d);
1565
+ },
1566
+ warn: (c, ...d) => {
1567
+ gn("warn") && console.warn(`${Ht} ${c}`, ...d);
1568
+ },
1569
+ error: (c, d) => {
1570
+ gn("error") && console.error(`${Ht} ${c}`, d);
1571
+ }
1572
+ }, ar = (c, d) => {
1573
+ if (c)
1574
+ try {
1575
+ c(d);
1576
+ } catch (u) {
1577
+ console.error(`${Ht} error handler threw:`, u);
1578
+ }
1579
+ }, oa = (c, d, u, o = !1) => ({
1580
+ scene: c,
1581
+ cause: d,
1582
+ status: u,
1583
+ isUnauthorized: o
1584
+ }), yn = (c, d, u, o, l = !1) => {
1585
+ l ? Rn.warn(`${c}: 登录态已失效,请重新登录`) : Rn.error(`${c}失败:`, d);
1586
+ const v = oa(c, d, o, l);
1587
+ l && ar(u?.onUnauthorized, v), ar(u?.onError, v);
1588
+ }, Nn = (c, d) => {
1589
+ Rn.warn(`${c}需要提供有效的参数: ${d.join(", ")}`);
1590
+ }, bn = 401, Ln = (c, d) => {
1591
+ if (typeof window > "u" || !window.location?.origin) return "same-origin";
1592
+ try {
1593
+ return new URL(c, window.location.origin).origin === window.location.origin || d ? "include" : "omit";
1594
+ } catch {
1595
+ return "same-origin";
1596
+ }
1597
+ }, Fn = (c, d) => {
1598
+ const u = ea(), o = u.allowPrivateApiHost, l = u.allowedApiOrigins;
1599
+ return {
1600
+ allowCrossOriginCredentials: u.allowCrossOriginCredentials,
1601
+ apiBaseUrl: fr(u.apiBaseUrl || c, l, o),
1602
+ tenantId: hr(u.tenantId || d),
1603
+ apiConfig: u
1604
+ };
1605
+ }, qn = (c, d, u) => {
1606
+ if (!c.ok) {
1607
+ if (c.status === bn) {
1608
+ const o = /* @__PURE__ */ new Error(`${d}失败: 登录态已失效`);
1609
+ throw yn(d, o, u, c.status, !0), o;
1610
+ }
1611
+ throw new Error(`${c.status} ${c.statusText}`);
1612
+ }
1613
+ }, Gn = (c) => {
1614
+ if (typeof c == "object" && c !== null && "status" in c) {
1615
+ const d = c.status;
1616
+ return typeof d == "number" ? d : void 0;
1617
+ }
1618
+ if (c instanceof Error) {
1619
+ const d = /^(\d{3})\s/.exec(c.message);
1620
+ if (d) return Number(d[1]);
1621
+ }
1622
+ }, ia = async (c, d) => {
1623
+ const u = Fn(c, d);
1624
+ if (!u.apiBaseUrl || !u.tenantId)
1625
+ return Nn("获取租户信息", ["apiBaseUrl", "tenantId"]), [];
1626
+ try {
1627
+ const o = `${u.apiBaseUrl}/api/v3/open-web/tenant/data-source-owner-tenants/`, l = Ln(o, u.allowCrossOriginCredentials), v = await fetch(o, {
1628
+ method: "GET",
1629
+ headers: { "x-bk-tenant-id": u.tenantId },
1630
+ credentials: l
1631
+ });
1632
+ return qn(v, "获取租户信息", u.apiConfig), (await v.json()).data || [];
1633
+ } catch (o) {
1634
+ const l = Gn(o);
1635
+ return l !== bn && yn("获取租户信息", o, u.apiConfig, l, !1), [];
1636
+ }
1637
+ }, la = async (c) => {
1638
+ const { apiBaseUrl: d, tenantId: u, keyword: o, enableMultiTenantMode: l = !0 } = c;
1639
+ if (!l) try {
1640
+ return await pr(d, {
1641
+ keyword: o,
1642
+ pageSize: 100,
1643
+ page: 1
1644
+ });
1645
+ } catch {
1646
+ return [];
1647
+ }
1648
+ const v = Fn(d, u);
1649
+ if (!o || !v.apiBaseUrl || !v.tenantId)
1650
+ return Nn("搜索用户", [
1651
+ "apiBaseUrl",
1652
+ "tenantId",
1653
+ "keyword"
1654
+ ]), [];
1655
+ try {
1656
+ const f = `${v.apiBaseUrl}/api/v3/open-web/tenant/users/-/search/?keyword=${encodeURIComponent(o)}`, w = Ln(f, v.allowCrossOriginCredentials), b = await fetch(f, {
1657
+ method: "GET",
1658
+ headers: { "x-bk-tenant-id": v.tenantId },
1659
+ credentials: w
1660
+ });
1661
+ return qn(b, "搜索用户", v.apiConfig), (await b.json()).data || [];
1662
+ } catch (f) {
1663
+ const w = Gn(f);
1664
+ return w !== bn && yn("搜索用户", f, v.apiConfig, w, !1), [];
1665
+ }
1666
+ }, mn = async (c) => {
1667
+ const { apiBaseUrl: d, tenantId: u, exactSearchKey: o = "bk_username", usersList: l = [], enableMultiTenantMode: v = !0 } = c, f = l.filter(Boolean).map((b) => typeof b == "string" ? b.trim() : String(b).trim());
1668
+ if (!v) try {
1669
+ const b = await pr(d, { userIds: f });
1670
+ return f.map((B) => b.find((G) => G.username === B)).filter(Boolean);
1671
+ } catch {
1672
+ return [];
1673
+ }
1674
+ const w = Fn(d, u);
1675
+ if (f.length === 0 || !w.apiBaseUrl || !w.tenantId)
1676
+ return Nn("批量查找用户", [
1677
+ "apiBaseUrl",
1678
+ "tenantId",
1679
+ "usersList"
1680
+ ]), [];
1681
+ try {
1682
+ const b = `${w.apiBaseUrl}/api/v3/open-web/tenant/users/-/lookup/?lookups=${f.join(",")}&lookup_fields=${o}`, B = Ln(b, w.allowCrossOriginCredentials), G = await fetch(b, {
1683
+ method: "GET",
1684
+ headers: { "x-bk-tenant-id": w.tenantId },
1685
+ credentials: B
1686
+ });
1687
+ return qn(G, "批量查找用户", w.apiConfig), (await G.json()).data || [];
1688
+ } catch (b) {
1689
+ const B = Gn(b);
1690
+ return B !== bn && yn("批量查找用户", b, w.apiConfig, B, !1), [];
1691
+ }
1692
+ }, Xt = (c, d = !0) => !c || !Array.isArray(c) ? [] : d ? c.map((u) => ({
1693
+ id: u.bk_username,
1694
+ name: u.display_name,
1695
+ type: u.data_source_type,
1696
+ tenantId: u.owner_tenant_id,
1697
+ ...u
1698
+ })) : c.map((u) => ({
1699
+ ...u,
1700
+ id: u.username,
1701
+ name: `${u.display_name}(${u.username})`,
1702
+ type: u.data_source_type,
1703
+ tenantId: u.owner_tenant_id
1704
+ })), pr = async (c, d) => {
1705
+ const { userIds: u, keyword: o, pageSize: l = 20, page: v = 1, appCode: f = "bk-magicbox" } = d;
1706
+ return (await ra(c, { params: {
1707
+ exact_lookups: u?.join(",") || void 0,
1708
+ fuzzy_lookups: o || void 0,
1709
+ page_size: Math.max(u?.length || 0, 20, Number(l)).toString(),
1710
+ page: v.toString(),
1711
+ app_code: f
1712
+ } }))?.results || [];
1713
+ }, sa = (c) => {
1714
+ const { apiBaseUrl: d, tenantId: u, currentUserId: o, exactSearchKey: l = Et, enableMultiTenantMode: v = !0 } = c, f = te(!1);
1715
+ return {
1716
+ loading: f,
1717
+ fetchCurrentUser: async () => {
1718
+ if (!o) return null;
1719
+ f.value = !0;
1720
+ try {
1721
+ const b = Xt(await mn({
1722
+ apiBaseUrl: d,
1723
+ tenantId: u,
1724
+ exactSearchKey: l,
1725
+ usersList: [o],
1726
+ enableMultiTenantMode: v
1727
+ }), v);
1728
+ return b.length > 0 ? b[0] : null;
1729
+ } catch (b) {
1730
+ return console.error("获取当前用户信息失败:", b), null;
1731
+ } finally {
1732
+ f.value = !1;
1733
+ }
1734
+ }
1735
+ };
1736
+ };
1737
+ function vn(c) {
1738
+ for (var d = 1; d < arguments.length; d++) {
1739
+ var u = arguments[d];
1740
+ for (var o in u) c[o] = u[o];
1741
+ }
1742
+ return c;
1743
+ }
1744
+ var ua = {
1745
+ read: function(c) {
1746
+ return c[0] === '"' && (c = c.slice(1, -1)), c.replace(/(%[\dA-F]{2})+/gi, decodeURIComponent);
1747
+ },
1748
+ write: function(c) {
1749
+ return encodeURIComponent(c).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent);
1750
+ }
1751
+ };
1752
+ function Bn(c, d) {
1753
+ function u(l, v, f) {
1754
+ if (!(typeof document > "u")) {
1755
+ f = vn({}, d, f), typeof f.expires == "number" && (f.expires = new Date(Date.now() + f.expires * 864e5)), f.expires && (f.expires = f.expires.toUTCString()), l = encodeURIComponent(l).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape);
1756
+ var w = "";
1757
+ for (var b in f)
1758
+ f[b] && (w += "; " + b, f[b] !== !0 && (w += "=" + f[b].split(";")[0]));
1759
+ return document.cookie = l + "=" + c.write(v, l) + w;
1760
+ }
1761
+ }
1762
+ function o(l) {
1763
+ if (!(typeof document > "u" || arguments.length && !l)) {
1764
+ for (var v = document.cookie ? document.cookie.split("; ") : [], f = {}, w = 0; w < v.length; w++) {
1765
+ var b = v[w].split("="), B = b.slice(1).join("=");
1766
+ try {
1767
+ var G = decodeURIComponent(b[0]);
1768
+ if (f[G] = c.read(B, G), l === G) break;
1769
+ } catch {
1770
+ }
1771
+ }
1772
+ return l ? f[l] : f;
1773
+ }
1774
+ }
1775
+ return Object.create({
1776
+ set: u,
1777
+ get: o,
1778
+ remove: function(l, v) {
1779
+ u(l, "", vn({}, v, { expires: -1 }));
1780
+ },
1781
+ withAttributes: function(l) {
1782
+ return Bn(this.converter, vn({}, this.attributes, l));
1783
+ },
1784
+ withConverter: function(l) {
1785
+ return Bn(vn({}, this.converter, l), this.attributes);
1786
+ }
1787
+ }, {
1788
+ attributes: { value: Object.freeze(d) },
1789
+ converter: { value: Object.freeze(c) }
1790
+ });
1791
+ }
1792
+ var ca = Bn(ua, { path: "/" }), da = {
1793
+ 我: "Me",
1794
+ 请输入人员名称搜索: "Please enter the name of the user to search",
1795
+ 最近选择: "Recent selections",
1796
+ 用户群组: "User Group",
1797
+ 无匹配人员: "No matching users",
1798
+ 虚拟账号: "Virtual Account",
1799
+ 用户: "User"
1800
+ }, fa = {
1801
+ 我: "我",
1802
+ 请输入人员名称搜索: "请输入人员名称搜索",
1803
+ 最近选择: "最近选择",
1804
+ 用户群组: "用户群组",
1805
+ 无匹配人员: "无匹配人员",
1806
+ 虚拟账号: "虚拟账号",
1807
+ 用户: "用户"
1808
+ }, ha = "blueking_language", pa = {
1809
+ "en-US": da,
1810
+ "zh-CN": fa
1811
+ }, ga = (c, d, u) => {
1812
+ const o = /^\w/.test(d) ? d.split(".") : [d], { length: l } = o;
1813
+ let v = c, f = 0;
1814
+ for (; f <= l && v; )
1815
+ if (typeof v == "string" || (u ? (v = v[o[f]], typeof v == "string" && Object.keys(u).forEach((w) => {
1816
+ v = v.replace(`{${w}}`, u[w]);
1817
+ })) : v = v[o[f]], f = f + 1, !v)) return v;
1818
+ return v;
1819
+ }, zn = () => {
1820
+ let c = "zh-CN";
1821
+ const d = ca.get(ha);
1822
+ d && d.toLowerCase() === "en" && (c = "en-US");
1823
+ const u = pa[c];
1824
+ return {
1825
+ local: c,
1826
+ t: (l, v) => {
1827
+ const f = ga(u, l, v);
1828
+ return f === void 0 && console.warn(`缺少索引 * ${l} *`), f;
1829
+ }
1830
+ };
1831
+ }, va = (c) => {
1832
+ const { apiBaseUrl: d, tenantId: u, searchQuery: o, selectedUsers: l, allowCreate: v = !1, freePaste: f = !1, enableMultiTenantMode: w = !0, maxCount: b = 0, onAddUser: B, onBatchAddUsers: G } = c, H = te(!1), ye = 100, Ne = 100, Le = ($) => ({
1833
+ id: $,
1834
+ name: $,
1835
+ type: Be.CUSTOM,
1836
+ tenantId: "",
1837
+ login_name: $
1838
+ }), De = ($) => {
1839
+ const X = $.split(/[,,;\n\s]+/).filter(Boolean).map((D) => D.trim().replace(/\s*\(.*?\)\s*/, "")).filter(Boolean);
1840
+ return Array.from(new Set(X)).slice(0, ye);
1841
+ }, F = ($, X) => {
1842
+ const D = [];
1843
+ for (let ue = 0; ue < $.length; ue += X) D.push($.slice(ue, ue + X));
1844
+ return D;
1845
+ }, z = ($, X) => {
1846
+ const D = /* @__PURE__ */ new Map();
1847
+ for (const ue of [...$, ...X]) D.has(ue.id) || D.set(ue.id, ue);
1848
+ return Array.from(D.values());
1849
+ };
1850
+ return {
1851
+ isPasting: H,
1852
+ parsePastedText: De,
1853
+ handleEnterCreate: ($) => {
1854
+ if ($.key !== "Enter" || !v || !o.value.trim()) return;
1855
+ const X = Le(o.value.trim());
1856
+ l.value.some((D) => D.id === X.id) || B(X);
1857
+ },
1858
+ handlePaste: async ($) => {
1859
+ $.preventDefault();
1860
+ const X = $.clipboardData?.getData("text")?.trim();
1861
+ if (X) {
1862
+ H.value = !0;
1863
+ try {
1864
+ const D = De(X);
1865
+ if (D.length === 0) return;
1866
+ const ue = F(D, Ne), x = [];
1867
+ for (const Y of ue) {
1868
+ const be = await mn({
1869
+ apiBaseUrl: d,
1870
+ tenantId: u,
1871
+ exactSearchKey: "login_name",
1872
+ usersList: Y,
1873
+ enableMultiTenantMode: w
1874
+ });
1875
+ x.push(...be);
1876
+ }
1877
+ const O = Xt(x, w);
1878
+ if (G) {
1879
+ let Y = z(l.value, O);
1880
+ if (f)
1881
+ for (const be of D) Y.some((ne) => ne.login_name === be || ne.id === be) || Y.push(Le(be));
1882
+ b > 0 && Y.length > b && (Y = Y.slice(0, b)), G(Y);
1883
+ } else O.length > 0 ? B(O[0]) : f && D.length > 0 && B(Le(D[0]));
1884
+ } catch (D) {
1885
+ console.error("精准查找用户失败:", D);
1886
+ } finally {
1887
+ H.value = !1;
1888
+ }
1889
+ }
1890
+ }
1891
+ };
1892
+ }, ma = (c, d, u = {}) => {
1893
+ const { immediate: o = !0 } = u;
1894
+ let l = null;
1895
+ const v = () => {
1896
+ l && (l.disconnect(), l = null);
1897
+ };
1898
+ return at(c, () => {
1899
+ if (v(), !!c.value && (l = new ResizeObserver((w) => {
1900
+ for (const b of w) d(b);
1901
+ }), l.observe(c.value), o && c.value)) {
1902
+ const w = c.value.getBoundingClientRect();
1903
+ d({
1904
+ target: c.value,
1905
+ contentRect: w,
1906
+ borderBoxSize: [{
1907
+ blockSize: w.height,
1908
+ inlineSize: w.width
1909
+ }],
1910
+ contentBoxSize: [{
1911
+ blockSize: w.height,
1912
+ inlineSize: w.width
1913
+ }],
1914
+ devicePixelContentBoxSize: [{
1915
+ blockSize: w.height,
1916
+ inlineSize: w.width
1917
+ }]
1918
+ });
1919
+ }
1920
+ }, { immediate: !0 }), ir(v), v;
1921
+ }, ya = (c, d, u = !0) => {
1922
+ const o = te({}), l = te(!1), v = async () => {
1923
+ if (!c || !d) {
1924
+ console.warn("获取租户需要提供有效的API基础URL和租户ID");
1925
+ return;
1926
+ }
1927
+ l.value = !0;
1928
+ try {
1929
+ const f = await ia(c, d), w = {};
1930
+ f.forEach((b) => {
1931
+ b.id && b.name && (w[b.id] = b.name);
1932
+ }), o.value = w;
1933
+ } catch (f) {
1934
+ console.error("获取租户数据失败:", f);
1935
+ } finally {
1936
+ l.value = !1;
1937
+ }
1938
+ };
1939
+ return or(() => {
1940
+ u && v();
1941
+ }), {
1942
+ tenants: o,
1943
+ loading: l,
1944
+ fetchTenants: v
1945
+ };
1946
+ }, ba = (c, d) => {
1947
+ let u = null;
1948
+ return function(...o) {
1949
+ u && clearTimeout(u), u = window.setTimeout(() => {
1950
+ c(...o), u = null;
1951
+ }, d);
1952
+ };
1953
+ }, wa = (c, d, u) => {
1954
+ if (!c || !d.length) return 0;
1955
+ let o = 0, l = 0;
1956
+ for (const v of Array.from(d)) {
1957
+ const f = v;
1958
+ if (!f) continue;
1959
+ const w = window.getComputedStyle(f), b = f.offsetWidth, B = parseInt(w.marginLeft, 10) || 0, G = parseInt(w.marginRight, 10) || 0;
1960
+ if (o += b + B + G, o > u) break;
1961
+ l++;
1962
+ }
1963
+ return Math.max(1, l);
1964
+ }, _a = (c, d, u = !0) => {
1965
+ const o = te([]), l = te(!1), v = te(""), f = async (G) => {
1966
+ if (!G?.length) {
1967
+ o.value = [], l.value = !1;
1968
+ return;
1969
+ }
1970
+ if (u && (!c || !d)) {
1971
+ console.warn("执行用户搜索需要提供有效的API基础URL和租户ID"), l.value = !1;
1972
+ return;
1973
+ }
1974
+ l.value = !0;
1975
+ try {
1976
+ o.value = Xt(await la({
1977
+ apiBaseUrl: c,
1978
+ tenantId: d,
1979
+ keyword: G,
1980
+ enableMultiTenantMode: u
1981
+ }), u);
1982
+ } catch (H) {
1983
+ console.error("用户搜索失败:", H), o.value = [];
1984
+ } finally {
1985
+ l.value = !1;
1986
+ }
1987
+ }, w = ba(f, 300);
1988
+ return {
1989
+ searchResults: o,
1990
+ loading: l,
1991
+ searchQuery: v,
1992
+ performSearch: f,
1993
+ handleSearchInput: (G) => {
1994
+ l.value = !0, v.value = G.trim(), w(v.value);
1995
+ },
1996
+ clearSearch: () => {
1997
+ v.value = "", o.value = [], l.value = !1;
1998
+ }
1999
+ };
2000
+ }, Ca = (c) => {
2001
+ const { selectedUserIds: d, excludeUserIds: u, userGroup: o, searchQuery: l } = c, v = (b) => ({
2002
+ id: b,
2003
+ name: b,
2004
+ type: Be.CUSTOM,
2005
+ tenantId: "",
2006
+ login_name: b
2007
+ }), f = (b) => d.value.includes(b);
2008
+ return {
2009
+ createCustomUser: v,
2010
+ isUserSelected: f,
2011
+ filterOptions: (b) => b.filter((B) => !f(B.id)).filter((B) => !u?.value?.includes(B.id)),
2012
+ filteredUserGroup: re(() => o?.value?.length ? o.value.filter((b) => {
2013
+ if (!(!f(b.id) && !b.hidden)) return !1;
2014
+ const B = l.value.trim();
2015
+ return B ? b.id?.includes(B) || b.name?.includes(B) : !0;
2016
+ }) : [])
2017
+ };
2018
+ }, Sa = /* @__PURE__ */ Wt({
2019
+ name: "MeTag",
2020
+ __name: "me-tag",
2021
+ props: {
2022
+ currentUserId: {
2023
+ type: String,
2024
+ required: !1,
2025
+ default: ""
2026
+ },
2027
+ isDisabled: {
2028
+ type: Boolean,
2029
+ required: !1,
2030
+ default: !1
2031
+ }
2032
+ },
2033
+ emits: ["click"],
2034
+ setup(c, { expose: d, emit: u }) {
2035
+ d();
2036
+ const { t: o } = zn(), l = c, v = u, w = {
2037
+ t: o,
2038
+ props: l,
2039
+ emit: v,
2040
+ handleClick: () => {
2041
+ l.isDisabled || v("click");
2042
+ }
2043
+ };
2044
+ return Object.defineProperty(w, "__isScriptSetup", {
2045
+ enumerable: !1,
2046
+ value: !0
2047
+ }), w;
2048
+ }
2049
+ }), wn = (c, d) => {
2050
+ const u = c.__vccOpts || c;
2051
+ for (const [o, l] of d) u[o] = l;
2052
+ return u;
2053
+ };
2054
+ function Ea(c, d, u, o, l, v) {
2055
+ return u.currentUserId ? (Z(), oe("div", {
2056
+ key: 0,
2057
+ class: It(["me-tag", { disabled: u.isDisabled }]),
2058
+ onClick: je(o.handleClick, ["stop"])
2059
+ }, gt(o.t("我")), 3)) : se("v-if", !0);
2060
+ }
2061
+ var Ia = /* @__PURE__ */ wn(Sa, [
2062
+ ["render", Ea],
2063
+ ["__scopeId", "data-v-a1054364"],
2064
+ ["__file", "/Users/brooklin/project/bkui-monorepo/packages/bk-user-selector/src/components/me-tag.vue"]
2065
+ ]), Ua = "data:image/svg+xml,%3csvg%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20style='fill:%20%23A3C5FD;'%3e%3cpath%20fill-rule='evenodd'%20d='M405.7858816%20162.66256256C416.4461344%20160.6535248%20439.8986944%20159.44810208%20457.3815104%20160.25171712%20484.2453504%20161.05533248%20494.052784%20163.4661776%20516.226112%20174.7167888%20567.8217376%20200.43247136%20597.670448%20242.22045568%20606.6250624%20301.28616416%20617.711728%20374.415136%20593.4063488%20443.5260352%20535.8409792%20500.180896%20509.8299584%20525.8965792%20505.565856%20537.5489984%20514.0940608%20557.237568%20521.3430336%20572.9080608%20546.0748224%20586.5695168%20629.2248%20620.3213504%20691.054272%20645.2334208%20760.985536%20687.4232096%20767.8080992%20703.8973216%20774.6306624%20720.3714304%20784.8645056%20752.114224%20791.6870688%20777.4280992%20799.7888608%20807.1618592%20793.3927072%20818.8142784%20761.8383584%20832.4757344%20720.4765728%20850.155264%20669.3073536%20857.3878016%20546.9276416%20862.2094912%20392.9935776%20868.2366048%20227.12002944%20858.5932224%20162.30568672%20840.1100768%20134.5890272%20832.4757344%20108.15159776%20815.1980096%20100.47621504%20799.5275136%2093.6536528%20786.2678656%2094.08006304%20784.2588288%20105.59313696%20746.4889184%20116.67980096%20709.924432%20119.23826176%20705.5045504%20141.41158944%20685.4141728%20143.84821888%20683.2001312%20146.05397248%20681.2036448%20148.2232096%20679.3252416L152.13038144%20676.0501632C159.5946992%20670.0236288%20167.98497088%20664.6722176%20184.94031712%20656.0863296L191.29263904%20652.915344C215.97973152%20640.7492736%20256.51622304%20622.3959904%20329.458464%20589.3821696%20359.7335872%20575.3189056%20371.2466592%20563.6664896%20375.084352%20542.772496%20377.2164032%20530.316464%20374.6579424%20526.7001952%20345.2356416%20496.9664352%20295.34565344%20446.338688%20274.02514592%20396.9163584%20273.59873568%20331.0199232%20273.59873568%20291.24097568%20282.12693888%20265.52529312%20307.71154784%20228.15719168%20332.8697472%20191.19089792%20365.703328%20169.49329056%20405.7858816%20162.66256256ZM668.7713728%20226.60405184C756.683056%20211.50282816%20820.4190272%20263.09867616%20827.0124032%20354.9644544%20831.8475456%20416.6277856%20815.1443264%20461.931456%20770.3093664%20510.1714752%20752.287472%20529.4674848%20747.891888%20536.5986176%20748.3314464%20548.344016%20748.7710048%20555.8946272%20751.4083552%20565.123152%20754.485264%20568.8984576%20757.5621728%20572.2542848%20788.331264%20588.1944672%20823.0563776%20604.1346464%20944.3745024%20659.92528%20966.791984%20682.996592%20958.4403712%20744.6599232%20954.923904%20771.9260224%20956.6821376%20771.0870656%20890.308816%20787.0272448%20867.4517792%20792.8999456%20845.0343008%20798.3531648%20841.0782752%20799.6116%20835.3640128%20801.2895136%20833.1662208%20797.9336864%20830.5288704%20781.5740256%20824.3750528%20739.6261824%20812.0674176%20710.6821696%20790.0894976%20687.6108576%20752.287472%20647.3409248%20703.9360448%20619.6553504%20624.3759712%20593.6476864%20597.5629088%20584.4191616%20560.64%20550.8608864%20560.64%20534.920704%20560.64%20527.7895712%20569.8707264%20514.7857408%20589.6508544%20494.6507744%20620.859504%20461.931456%20639.7605152%20429.631616%20648.5516832%20394.8149056%20655.5846208%20366.7098496%20652.0681504%20283.23364096%20642.837424%20254.7091072%20635.3649312%20231.63779328%20634.4858144%20232.47675008%20668.7713728%20226.60405184Z'%3e%3c/path%3e%3c/svg%3e", Da = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='32px'%20height='32px'%20viewBox='0%200%2032%2032'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3eIcon/用户%3c/title%3e%3cg%20id='Icon/用户'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cg%20id='user-(1)'%20transform='translate(3,%202)'%20fill='%23A3C5FD'%20fill-rule='nonzero'%3e%3cpath%20d='M13.0077612,27.9989067%20C10.3002732,27.9989067%207.59285518,28.0018792%204.88515705,27.997455%20C3.95018807,27.9959342%203.05044678,27.8282323%202.22816433,27.3628696%20C0.998627601,26.6672451%200.29953695,25.6114692%200.0864200465,24.2387462%20C-0.0656962495,23.259079%200.0147040645,22.4675755%200.0874005263,21.4879775%20C0.187970957,20.13461%200.423078914,19.3321844%200.863249688,18.0430358%20C1.22365046,16.9873982%201.73014453,16.0067633%202.49702917,15.175719%20C3.42254341,14.1726178%204.6014447,13.7297906%205.9255989,13.6440041%20C6.33292322,13.6073668%206.66741099,13.712025%206.9979768,13.9263185%20C7.58886318,14.3094892%208.17393665,14.7060014%208.79220674,15.0421658%20C10.1097776,15.758321%2011.5447274,16.1099698%2013.0616182,16.0930337%20C14.6806203,16.0750607%2016.2142496,15.63963%2017.592821,14.8169502%20C18.0555431,14.5407189%2018.5150436,14.256538%2018.9569652,13.9491996%20C19.3610679,13.6681294%2019.7808585,13.5749462%2020.274326,13.6337733%20C21.462472,13.7340074%2022.3872158,14.1103345%2023.2340106,14.8851094%20C23.902636,15.496952%2024.3685096,16.2520257%2024.7518119,17.0611566%20C25.272453,18.1598604%2025.5462904,18.7976948%2025.7441396,19.9861253%20C25.9499728,21.2233595%2026.0256808,22.2792045%2025.9924842,23.5308171%20C25.9627193,24.6543374%2025.6405577,25.6840525%2024.8535729,26.5307194%20C24.1686994,27.2671979%2023.3129402,27.7090574%2022.3211027,27.8808379%20C21.9232331,27.9495501%2021.5154185,27.9922014%2021.1120162,27.9935148%20C18.4104811,28.0036073%2015.7090862,27.9989067%2013.0077612,27.9989067%20L13.0077612,27.9989067%20Z%20M5.91775495,6.98479749%20C5.84814002,3.25685016%209.08684454,-0.00255470186%2013.0162355,1.5025268e-06%20C16.9117994,0.00256071584%2020.1304739,3.23452217%2020.1095656,7.04113598%20C20.0884528,10.8082092%2016.8998935,14.015354%2013.0058002,14.0149393%20C9.10134181,14.0145245%205.83322254,10.7695672%205.91775495,6.98479749%20Z'%20id='形状'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3c/svg%3e", Ta = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='32px'%20height='32px'%20viewBox='0%200%2032%2032'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3eIcon/虚拟icon%3c/title%3e%3cg%20id='Icon/虚拟icon'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20d='M27.4705882,3%20C28.315259,3%2029,3.68474098%2029,4.52941178%20L29,22.4623054%20C29,23.3069762%2028.315259,23.9917172%2027.4705882,23.9917172%20L20.5882353,23.9917172%20L20.5882353,27.0244081%20L24.0294118,27.0244081%20C24.2405794,27.0244081%2024.4117647,27.1955933%2024.4117647,27.406761%20L24.4117647,28.617647%20C24.4117647,28.8288148%2024.2405795,29%2024.0294118,29%20L7.97058824,29%20C7.75942054,29%207.58823529,28.8288148%207.58823529,28.617647%20L7.58823529,27.406761%20C7.58823531,27.1955933%207.75942055,27.0244081%207.97058824,27.0244081%20L11.4117647,27.0244081%20L11.4117647,23.9917172%20L4.52941178,23.9917172%20C3.68474098,23.9917172%203,23.3069762%203,22.4623054%20L3,4.52941178%20C3,3.68474098%203.68474098,3%204.52941178,3%20L27.4705882,3%20Z%20M19,24%20L13,24%20L13,27%20L19,27%20L19,24%20Z%20M23.4117647,7%20L8.58823529,7%20C8.03595054,7%207.58823529,7.44771525%207.58823529,8%20L7.58823529,19%20C7.58823529,19.5522847%208.03595054,20%208.58823529,20%20L23.4117647,20%20C23.9640495,20%2024.4117647,19.5522847%2024.4117647,19%20L24.4117647,8%20C24.4117647,7.44771525%2023.9640495,7%2023.4117647,7%20Z%20M12,10%20C12.5522847,10%2013,10.4477153%2013,11%20L13,13%20C13,13.5522847%2012.5522847,14%2012,14%20C11.4477153,14%2011,13.5522847%2011,13%20L11,11%20C11,10.4477153%2011.4477153,10%2012,10%20Z%20M20,10%20C20.5522847,10%2021,10.4477153%2021,11%20L21,13%20C21,13.5522847%2020.5522847,14%2020,14%20C19.4477153,14%2019,13.5522847%2019,13%20L19,11%20C19,10.4477153%2019.4477153,10%2020,10%20Z%20M26,5%20C25.4477153,5%2025,5.44771525%2025,6%20C25,6.55228475%2025.4477153,7%2026,7%20C26.5522847,7%2027,6.55228475%2027,6%20C27,5.44771525%2026.5522847,5%2026,5%20Z'%20id='蒙版'%20fill='%23A3C5FD'%20fill-rule='nonzero'%3e%3c/path%3e%3c/g%3e%3c/svg%3e", jn = Wt({
2066
+ name: "UserRender",
2067
+ props: {
2068
+ user: {
2069
+ type: Object,
2070
+ required: !0
2071
+ },
2072
+ tenantId: {
2073
+ type: String,
2074
+ default: "default"
2075
+ },
2076
+ tenants: {
2077
+ type: Object,
2078
+ required: !0
2079
+ },
2080
+ render: {
2081
+ type: Function,
2082
+ required: !1
2083
+ },
2084
+ hasAvatar: {
2085
+ type: Boolean,
2086
+ default: !1
2087
+ },
2088
+ avatarBaseUrl: {
2089
+ type: String,
2090
+ default: ""
2091
+ }
2092
+ },
2093
+ setup(c) {
2094
+ const d = (o) => {
2095
+ if (o.type === "virtual") return Ta;
2096
+ if (o.type === "userGroup") return Ua;
2097
+ if (!c.avatarBaseUrl) return Da;
2098
+ const l = o.login_name || o.bk_username || o.id;
2099
+ return `${c.avatarBaseUrl}${l}.png?default_when_absent=true`;
2100
+ }, u = (o, l) => o("div", { style: {
2101
+ display: "flex",
2102
+ alignItems: "center"
2103
+ } }, [
2104
+ l.hasAvatar ? o("img", {
2105
+ src: d(l.user),
2106
+ style: {
2107
+ width: "20px",
2108
+ height: "20px",
2109
+ borderRadius: "50%",
2110
+ marginRight: "6px",
2111
+ flexShrink: 0
2112
+ }
2113
+ }) : null,
2114
+ o("span", l.user.name),
2115
+ l.user.tenantId !== l.tenantId && l.user.tenantId ? o("span", { style: {
2116
+ color: "#f59500",
2117
+ marginLeft: "4px"
2118
+ } }, `@${l.tenants[l.user.tenantId] || l.user.tenantId}`) : null
2119
+ ]);
2120
+ return () => {
2121
+ try {
2122
+ return c.render ? c.render(Mn, c.user) : u(Mn, c);
2123
+ } catch (o) {
2124
+ return console.error("Error rendering tag:", o), u(Mn, c);
2125
+ }
2126
+ };
2127
+ }
2128
+ }), Oa = /* @__PURE__ */ Wt({
2129
+ name: "SelectionPopover",
2130
+ __name: "selection-popover",
2131
+ props: {
2132
+ avatarBaseUrl: {
2133
+ type: String,
2134
+ required: !1,
2135
+ default: ""
2136
+ },
2137
+ containerWidth: {
2138
+ type: [Number, String],
2139
+ required: !1,
2140
+ default: "auto"
2141
+ },
2142
+ emptyText: {
2143
+ type: String,
2144
+ required: !1,
2145
+ default: ""
2146
+ },
2147
+ flatOptions: {
2148
+ type: Array,
2149
+ required: !1,
2150
+ default: () => []
2151
+ },
2152
+ hasAvatar: {
2153
+ type: Boolean,
2154
+ required: !1,
2155
+ default: !1
2156
+ },
2157
+ highlightedIndex: {
2158
+ type: Number,
2159
+ required: !1,
2160
+ default: -1
2161
+ },
2162
+ isShow: {
2163
+ type: Boolean,
2164
+ required: !1,
2165
+ default: !1
2166
+ },
2167
+ loading: {
2168
+ type: Boolean,
2169
+ required: !1,
2170
+ default: !1
2171
+ },
2172
+ options: {
2173
+ type: Array,
2174
+ required: !1,
2175
+ default: () => []
2176
+ },
2177
+ recentUsers: {
2178
+ type: Array,
2179
+ required: !1,
2180
+ default: () => []
2181
+ },
2182
+ recentUsersName: {
2183
+ type: String,
2184
+ required: !1,
2185
+ default: ""
2186
+ },
2187
+ renderListItem: {
2188
+ type: Function,
2189
+ required: !1
2190
+ },
2191
+ searchQuery: {
2192
+ type: String,
2193
+ required: !1,
2194
+ default: ""
2195
+ },
2196
+ tenantId: {
2197
+ type: String,
2198
+ required: !1,
2199
+ default: "default"
2200
+ },
2201
+ tenants: {
2202
+ type: Object,
2203
+ required: !1,
2204
+ default: () => ({})
2205
+ },
2206
+ userGroup: {
2207
+ type: Array,
2208
+ required: !1,
2209
+ default: () => []
2210
+ },
2211
+ userGroupName: {
2212
+ type: String,
2213
+ required: !1,
2214
+ default: ""
2215
+ }
2216
+ },
2217
+ emits: ["click-outside", "select-user"],
2218
+ setup(c, { expose: d, emit: u }) {
2219
+ d();
2220
+ const { t: o } = zn(), l = te(null), v = te(null), f = c, w = u, b = re(() => {
2221
+ const F = {};
2222
+ return Array.isArray(f.userGroup) && f.userGroup.length > 0 && (F[f.userGroupName] = f.userGroup.map((z) => ({
2223
+ ...z,
2224
+ tenantId: "",
2225
+ type: Be.USER_GROUP
2226
+ }))), f.options.forEach((z) => {
2227
+ const Se = z.data_source_type === Be.VIRTUAL ? o("虚拟账号") : o("用户");
2228
+ F[Se] || (F[Se] = []), F[Se].push(z);
2229
+ }), F;
2230
+ }), B = re(() => Object.values(b.value).some((F) => F.length > 0)), G = re(() => f.recentUsers.length > 0), H = re(() => B.value || G.value), ye = (F) => f.highlightedIndex < 0 || !f.flatOptions.length ? !1 : f.flatOptions[f.highlightedIndex] === F, Ne = (F) => {
2231
+ w("select-user", F);
2232
+ }, Le = ({ event: F }) => {
2233
+ const z = F.target;
2234
+ l.value?.contains(z) || v.value?.contains(z) || w("click-outside", F);
2235
+ };
2236
+ at(() => f.highlightedIndex, (F) => {
2237
+ F < 0 || !v.value || me(() => {
2238
+ const z = v.value?.querySelector(".user-option.is-highlighted");
2239
+ z && z.scrollIntoView({
2240
+ block: "nearest",
2241
+ inline: "nearest",
2242
+ behavior: "auto"
2243
+ });
2244
+ });
2245
+ });
2246
+ const De = {
2247
+ t: o,
2248
+ slotContainerRef: l,
2249
+ contentContainerRef: v,
2250
+ props: f,
2251
+ emit: w,
2252
+ groupedUsers: b,
2253
+ hasMainOptions: B,
2254
+ hasRecentUsers: G,
2255
+ hasDropdownOptions: H,
2256
+ isHighlighted: ye,
2257
+ selectUser: Ne,
2258
+ handleClickOutside: Le,
2259
+ get Loading() {
2260
+ return qr;
2261
+ },
2262
+ get Popover() {
2263
+ return sr;
2264
+ },
2265
+ get UserRender() {
2266
+ return jn;
2267
+ }
2268
+ };
2269
+ return Object.defineProperty(De, "__isScriptSetup", {
2270
+ enumerable: !1,
2271
+ value: !0
2272
+ }), De;
2273
+ }
2274
+ }), xa = { ref: "contentContainerRef" }, Aa = {
2275
+ key: 0,
2276
+ class: "no-data"
2277
+ }, ka = {
2278
+ key: 0,
2279
+ class: "dropdown-panel dropdown-panel-main"
2280
+ }, Ma = { class: "group-name" }, Pa = { class: "group-count" }, Ra = ["onClick"], Ba = {
2281
+ key: 1,
2282
+ class: "dropdown-panel dropdown-panel-recent"
2283
+ }, Na = { class: "group-name" }, La = { class: "group-count" }, Fa = ["onClick"], qa = { ref: "slotContainerRef" };
2284
+ function Ga(c, d, u, o, l, v) {
2285
+ return Z(), Yt(o.Popover, {
2286
+ arrow: !1,
2287
+ "ext-cls": "bk-user-selector-popover",
2288
+ "is-show": u.isShow,
2289
+ offset: { mainAxis: 4 },
2290
+ placement: "bottom-start",
2291
+ theme: "light",
2292
+ trigger: "manual",
2293
+ width: u.containerWidth,
2294
+ onClickoutside: o.handleClickOutside
2295
+ }, {
2296
+ content: ot(() => [Ae("div", xa, [Qe(o.Loading, {
2297
+ class: "dropdown-content",
2298
+ loading: u.loading,
2299
+ mode: "spin",
2300
+ size: "mini"
2301
+ }, {
2302
+ default: ot(() => [o.hasDropdownOptions ? (Z(), oe("div", {
2303
+ key: 1,
2304
+ class: It(["dropdown-panels", { "is-two-column": o.hasMainOptions && o.hasRecentUsers }])
2305
+ }, [o.hasMainOptions ? (Z(), oe("div", ka, [(Z(!0), oe(Ut, null, Dt(o.groupedUsers, (f, w) => (Z(), oe("div", {
2306
+ key: w,
2307
+ class: "user-group"
2308
+ }, [Object.keys(o.groupedUsers).length > 1 || f.some((b) => b.type === "userGroup") ? (Z(), oe("div", {
2309
+ key: 0,
2310
+ class: "group-header",
2311
+ onClick: d[0] || (d[0] = je(() => {
2312
+ }, ["prevent"]))
2313
+ }, [Ae("span", Ma, gt(w), 1), Ae("span", Pa, "(" + gt(f.length) + ")", 1)])) : se("v-if", !0), (Z(!0), oe(Ut, null, Dt(f, (b) => (Z(), oe("div", {
2314
+ key: b.id,
2315
+ class: It(["user-option", { "is-highlighted": o.isHighlighted(b) }]),
2316
+ onClick: je((B) => o.selectUser(b), ["prevent"]),
2317
+ onMousedown: d[1] || (d[1] = je(() => {
2318
+ }, ["prevent"]))
2319
+ }, [Qe(o.UserRender, {
2320
+ "avatar-base-url": u.avatarBaseUrl,
2321
+ "has-avatar": u.hasAvatar,
2322
+ render: u.renderListItem,
2323
+ "tenant-id": u.tenantId,
2324
+ tenants: u.tenants,
2325
+ user: b
2326
+ }, null, 8, [
2327
+ "avatar-base-url",
2328
+ "has-avatar",
2329
+ "render",
2330
+ "tenant-id",
2331
+ "tenants",
2332
+ "user"
2333
+ ])], 42, Ra))), 128))]))), 128))])) : se("v-if", !0), o.hasRecentUsers ? (Z(), oe("div", Ba, [u.recentUsersName ? (Z(), oe("div", {
2334
+ key: 0,
2335
+ class: "group-header",
2336
+ onClick: d[2] || (d[2] = je(() => {
2337
+ }, ["prevent"]))
2338
+ }, [Ae("span", Na, gt(u.recentUsersName), 1), Ae("span", La, "(" + gt(u.recentUsers.length) + ")", 1)])) : se("v-if", !0), (Z(!0), oe(Ut, null, Dt(u.recentUsers, (f) => (Z(), oe("div", {
2339
+ key: f.id,
2340
+ class: It(["user-option", { "is-highlighted": o.isHighlighted(f) }]),
2341
+ onClick: je((w) => o.selectUser(f), ["prevent"]),
2342
+ onMousedown: d[3] || (d[3] = je(() => {
2343
+ }, ["prevent"]))
2344
+ }, [Qe(o.UserRender, {
2345
+ "avatar-base-url": u.avatarBaseUrl,
2346
+ "has-avatar": u.hasAvatar,
2347
+ render: u.renderListItem,
2348
+ "tenant-id": u.tenantId,
2349
+ tenants: u.tenants,
2350
+ user: f
2351
+ }, null, 8, [
2352
+ "avatar-base-url",
2353
+ "has-avatar",
2354
+ "render",
2355
+ "tenant-id",
2356
+ "tenants",
2357
+ "user"
2358
+ ])], 42, Fa))), 128))])) : se("v-if", !0)], 2)) : (Z(), oe("div", Aa, [Ae("span", null, gt(u.emptyText), 1)]))]),
2359
+ _: 1
2360
+ }, 8, ["loading"])], 512)]),
2361
+ default: ot(() => [Ae("div", qa, [Nr(c.$slots, "default", {}, void 0, !0)], 512)]),
2362
+ _: 3
2363
+ }, 8, ["is-show", "width"]);
2364
+ }
2365
+ var za = /* @__PURE__ */ wn(Oa, [
2366
+ ["render", Ga],
2367
+ ["__scopeId", "data-v-9173accf"],
2368
+ ["__file", "/Users/brooklin/project/bkui-monorepo/packages/bk-user-selector/src/components/selection-popover.vue"]
2369
+ ]), ja = /* @__PURE__ */ Wt({
2370
+ name: "UserTag",
2371
+ __name: "user-tag",
2372
+ props: {
2373
+ active: {
2374
+ type: Boolean,
2375
+ required: !1
2376
+ },
2377
+ avatarBaseUrl: {
2378
+ type: String,
2379
+ required: !1
2380
+ },
2381
+ currentTenantId: {
2382
+ type: String,
2383
+ required: !0
2384
+ },
2385
+ draggable: {
2386
+ type: Boolean,
2387
+ required: !1
2388
+ },
2389
+ hasAvatar: {
2390
+ type: Boolean,
2391
+ required: !1
2392
+ },
2393
+ renderTag: {
2394
+ type: Function,
2395
+ required: !1
2396
+ },
2397
+ showTenant: {
2398
+ type: Boolean,
2399
+ required: !1
2400
+ },
2401
+ tenants: {
2402
+ type: Object,
2403
+ required: !0
2404
+ },
2405
+ user: {
2406
+ type: Object,
2407
+ required: !0
2408
+ }
2409
+ },
2410
+ emits: ["click", "close"],
2411
+ setup(c, { expose: d, emit: u }) {
2412
+ d();
2413
+ const o = u, f = {
2414
+ emit: o,
2415
+ handleClick: () => {
2416
+ o("click");
2417
+ },
2418
+ handleClose: () => {
2419
+ o("close");
2420
+ },
2421
+ get Tag() {
2422
+ return lr;
2423
+ },
2424
+ get UserRender() {
2425
+ return jn;
2426
+ }
2427
+ };
2428
+ return Object.defineProperty(f, "__isScriptSetup", {
2429
+ enumerable: !1,
2430
+ value: !0
2431
+ }), f;
2432
+ }
2433
+ });
2434
+ function Ka(c, d, u, o, l, v) {
2435
+ return Z(), Yt(o.Tag, {
2436
+ class: It(["user-tag", {
2437
+ draggable: u.draggable,
2438
+ active: u.active,
2439
+ "is-custom": u.user.type === "custom"
2440
+ }]),
2441
+ closable: "",
2442
+ disabled: "",
2443
+ onClick: je(o.handleClick, ["stop"]),
2444
+ onClose: o.handleClose
2445
+ }, {
2446
+ default: ot(() => [Qe(o.UserRender, {
2447
+ "avatar-base-url": u.avatarBaseUrl,
2448
+ "has-avatar": u.hasAvatar,
2449
+ render: u.renderTag,
2450
+ "tenant-id": u.currentTenantId,
2451
+ tenants: u.tenants,
2452
+ user: u.user
2453
+ }, null, 8, [
2454
+ "avatar-base-url",
2455
+ "has-avatar",
2456
+ "render",
2457
+ "tenant-id",
2458
+ "tenants",
2459
+ "user"
2460
+ ])]),
2461
+ _: 1
2462
+ }, 8, ["class"]);
2463
+ }
2464
+ var Ha = /* @__PURE__ */ wn(ja, [
2465
+ ["render", Ka],
2466
+ ["__scopeId", "data-v-d1173d20"],
2467
+ ["__file", "/Users/brooklin/project/bkui-monorepo/packages/bk-user-selector/src/components/user-tag.vue"]
2468
+ ]), Ya = /* @__PURE__ */ Wt({
2469
+ name: "BkUserSelector",
2470
+ __name: "user-selector",
2471
+ props: {
2472
+ autoFocus: {
2473
+ type: Boolean,
2474
+ required: !1,
2475
+ default: !1
2476
+ },
2477
+ draggable: {
2478
+ type: Boolean,
2479
+ required: !1,
2480
+ default: !1
2481
+ },
2482
+ maxCount: {
2483
+ type: Number,
2484
+ required: !1,
2485
+ default: 0
2486
+ },
2487
+ modelValue: {
2488
+ type: [String, Array],
2489
+ required: !1,
2490
+ default: ""
2491
+ },
2492
+ multiple: {
2493
+ type: Boolean,
2494
+ required: !1,
2495
+ default: !1
2496
+ },
2497
+ resize: {
2498
+ type: Boolean,
2499
+ required: !1,
2500
+ default: !0
2501
+ },
2502
+ rows: {
2503
+ type: Number,
2504
+ required: !1,
2505
+ default: 4
2506
+ },
2507
+ type: {
2508
+ type: String,
2509
+ required: !1,
2510
+ default: "input"
2511
+ },
2512
+ allowCreate: {
2513
+ type: Boolean,
2514
+ required: !1,
2515
+ default: !1
2516
+ },
2517
+ allowCrossOriginCredentials: {
2518
+ type: Boolean,
2519
+ required: !1,
2520
+ default: !0
2521
+ },
2522
+ allowedApiOrigins: {
2523
+ type: Array,
2524
+ required: !1,
2525
+ default: () => []
2526
+ },
2527
+ allowPrivateApiHost: {
2528
+ type: Boolean,
2529
+ required: !1,
2530
+ default: !0
2531
+ },
2532
+ apiBaseUrl: {
2533
+ type: String,
2534
+ required: !0,
2535
+ default: ""
2536
+ },
2537
+ avatarBaseUrl: {
2538
+ type: String,
2539
+ required: !1,
2540
+ default: ""
2541
+ },
2542
+ currentUserId: {
2543
+ type: String,
2544
+ required: !1,
2545
+ default: ""
2546
+ },
2547
+ disabled: {
2548
+ type: Boolean,
2549
+ required: !1,
2550
+ default: !1
2551
+ },
2552
+ emptyText: {
2553
+ type: String,
2554
+ required: !1,
2555
+ default: ""
2556
+ },
2557
+ enableMultiTenantMode: {
2558
+ type: Boolean,
2559
+ required: !1,
2560
+ default: !0
2561
+ },
2562
+ exactSearchKey: {
2563
+ type: String,
2564
+ required: !1,
2565
+ default: Et
2566
+ },
2567
+ excludeUserIds: {
2568
+ type: Array,
2569
+ required: !1,
2570
+ default: () => []
2571
+ },
2572
+ freePaste: {
2573
+ type: Boolean,
2574
+ required: !1,
2575
+ default: !1
2576
+ },
2577
+ hasAvatar: {
2578
+ type: Boolean,
2579
+ required: !1,
2580
+ default: !1
2581
+ },
2582
+ placeholder: {
2583
+ type: String,
2584
+ required: !1,
2585
+ default: ""
2586
+ },
2587
+ recentUserIds: {
2588
+ type: Array,
2589
+ required: !1,
2590
+ default: () => []
2591
+ },
2592
+ renderListItem: {
2593
+ type: Function,
2594
+ required: !1
2595
+ },
2596
+ renderTag: {
2597
+ type: Function,
2598
+ required: !1
2599
+ },
2600
+ tenantId: {
2601
+ type: String,
2602
+ required: !1,
2603
+ default: "default"
2604
+ },
2605
+ userGroup: {
2606
+ type: Array,
2607
+ required: !1,
2608
+ default: () => []
2609
+ },
2610
+ userGroupName: {
2611
+ type: String,
2612
+ required: !1,
2613
+ default: ""
2614
+ }
2615
+ },
2616
+ emits: [
2617
+ "blur",
2618
+ "change",
2619
+ "dragEnd",
2620
+ "dragStart",
2621
+ "error",
2622
+ "focus",
2623
+ "unauthorized",
2624
+ "update:modelValue"
2625
+ ],
2626
+ setup(c, { expose: d, emit: u }) {
2627
+ const { t: o } = zn();
2628
+ Fr({ prefix: "bk" });
2629
+ const l = c, v = u, f = (p) => {
2630
+ v("error", p);
2631
+ }, w = (p) => {
2632
+ v("unauthorized", p);
2633
+ };
2634
+ ta(l.apiBaseUrl, l.tenantId, l.allowedApiOrigins, l.allowPrivateApiHost, l.allowCrossOriginCredentials, {
2635
+ onError: f,
2636
+ onUnauthorized: w
2637
+ });
2638
+ const { tenants: b } = ya(l.apiBaseUrl, l.tenantId, l.enableMultiTenantMode), { searchResults: B, loading: G, searchQuery: H, clearSearch: ye, handleSearchInput: Ne } = _a(l.apiBaseUrl, l.tenantId, l.enableMultiTenantMode), { fetchCurrentUser: Le } = sa({
2639
+ apiBaseUrl: l.apiBaseUrl,
2640
+ tenantId: l.tenantId,
2641
+ currentUserId: l.currentUserId || "",
2642
+ exactSearchKey: l.exactSearchKey,
2643
+ enableMultiTenantMode: l.enableMultiTenantMode
2644
+ }), De = te(null), F = te(null), z = te(null), Se = te(null), vt = te(null), $ = te(null), X = te(!1), D = te(-1), ue = te(null), x = te([]), O = te(0), Y = te(-1), be = te([]);
2645
+ let ne = 0, Ze = [];
2646
+ const U = te([]), S = re(() => l.type === "textarea"), ke = te(l.rows * 32), Vt = re(() => {
2647
+ if (S.value)
2648
+ return {
2649
+ height: `${ke.value}px`,
2650
+ resize: l.resize ? "vertical" : "none",
2651
+ overflowY: "auto"
2652
+ };
2653
+ }), Te = re(() => S.value ? U.value : x.value), j = re(() => l.multiple ? Array.isArray(l.modelValue) ? l.modelValue : [] : l.modelValue ? [l.modelValue] : []), Qt = re(() => l.placeholder || o("请输入人员名称搜索")), Je = re(() => l.userGroupName || o("用户群组")), Tt = re(() => l.emptyText || o("无匹配人员")), ee = re(() => o("最近选择")), mt = re(() => U.value.map((p) => p.id)), Zt = (p, _) => _ ? [
2654
+ p.id,
2655
+ p.name,
2656
+ p.bk_username,
2657
+ p.username,
2658
+ p.login_name,
2659
+ p.display_name,
2660
+ p.full_name
2661
+ ].some((E) => String(E || "").includes(_)) : !0, Ee = (p) => p.split(",").map((_) => _.trim()).filter(Boolean), yt = (p, _, E) => p.find((N) => {
2662
+ if (N.id === _) return !0;
2663
+ const _e = N;
2664
+ return E.some((tt) => String(_e[tt] || "") === _);
2665
+ }), $e = (p, _, E) => _.map((N) => yt(p, N, E)).filter(Boolean), Ke = async (p) => {
2666
+ const _ = Ee(l.exactSearchKey), E = Xt(await mn({
2667
+ apiBaseUrl: l.apiBaseUrl,
2668
+ tenantId: l.tenantId,
2669
+ exactSearchKey: l.exactSearchKey,
2670
+ usersList: p,
2671
+ enableMultiTenantMode: l.enableMultiTenantMode
2672
+ }), l.enableMultiTenantMode), N = p.filter((ct) => !yt(E, ct, _));
2673
+ if (N.length === 0 || l.exactSearchKey === "bk_username") return $e(E, p, _);
2674
+ const _e = Xt(await mn({
2675
+ apiBaseUrl: l.apiBaseUrl,
2676
+ tenantId: l.tenantId,
2677
+ exactSearchKey: Et,
2678
+ usersList: N,
2679
+ enableMultiTenantMode: l.enableMultiTenantMode
2680
+ }), l.enableMultiTenantMode), tt = [...E];
2681
+ return _e.forEach((ct) => {
2682
+ tt.some((dt) => dt.id === ct.id) || tt.push(ct);
2683
+ }), $e(tt, p, [.../* @__PURE__ */ new Set([..._, Et])]);
2684
+ }, it = re(() => !l.maxCount || l.maxCount <= 0 ? !1 : U.value.length >= l.maxCount), _n = re(() => it.value || !!l.currentUserId && U.value.some((p) => p[l.exactSearchKey] === l.currentUserId)), Jt = re(() => ({
2685
+ avatarBaseUrl: l.avatarBaseUrl,
2686
+ currentTenantId: l.tenantId,
2687
+ hasAvatar: l.hasAvatar,
2688
+ renderTag: l.renderTag,
2689
+ tenants: b.value
2690
+ })), { filteredUserGroup: lt, filterOptions: Ot, createCustomUser: bt } = Ca({
2691
+ selectedUserIds: mt,
2692
+ excludeUserIds: nr(l, "excludeUserIds"),
2693
+ userGroup: nr(l, "userGroup"),
2694
+ searchQuery: H
2695
+ }), { handlePaste: xt } = va({
2696
+ apiBaseUrl: l.apiBaseUrl,
2697
+ tenantId: l.tenantId,
2698
+ searchQuery: H,
2699
+ selectedUsers: U,
2700
+ allowCreate: l.allowCreate,
2701
+ freePaste: l.freePaste,
2702
+ enableMultiTenantMode: l.enableMultiTenantMode,
2703
+ maxCount: l.maxCount,
2704
+ onAddUser: Xe,
2705
+ onBatchAddUsers: l.multiple ? Me : void 0
2706
+ }), ae = re(() => Ot(B.value)), $t = re(() => {
2707
+ const p = lt.value.map((N) => ({
2708
+ ...N,
2709
+ tenantId: "",
2710
+ type: Be.USER_GROUP
2711
+ })), _ = ae.value.filter((N) => N.data_source_type !== Be.VIRTUAL), E = ae.value.filter((N) => N.data_source_type === Be.VIRTUAL);
2712
+ return [
2713
+ ...p,
2714
+ ..._,
2715
+ ...E
2716
+ ];
2717
+ }), At = re(() => {
2718
+ const p = H.value.trim();
2719
+ return be.value.filter((_) => !mt.value.includes(_.id)).filter((_) => !l.excludeUserIds.includes(_.id)).filter((_) => Zt(_, p));
2720
+ }), wt = re(() => X.value && (lt.value.length > 0 || At.value.length > 0 || H.value.trim() !== "")), we = re(() => [...$t.value, ...At.value]), kt = re(() => {
2721
+ const p = H.value;
2722
+ if (!p) return "20px";
2723
+ const _ = p.split("").reduce((E, N) => E + (/[\u4e00-\u9fa5]/.test(N) ? 12 : 8), 0);
2724
+ return `${Math.max(20, _ + 4)}px`;
2725
+ }), Fe = async () => {
2726
+ const p = j.value;
2727
+ if (p.length === 0) {
2728
+ U.value = [];
2729
+ return;
2730
+ }
2731
+ let _ = [];
2732
+ l.userGroup.length > 0 && (_ = l.userGroup.filter((E) => p.includes(E.id)).map((E) => ({
2733
+ ...E,
2734
+ tenantId: "",
2735
+ type: Be.USER_GROUP
2736
+ })));
2737
+ try {
2738
+ const E = [..._, ...await Ke(p)];
2739
+ if (l.allowCreate) {
2740
+ const N = [.../* @__PURE__ */ new Set([...Ee(l.exactSearchKey), Et])];
2741
+ E.push(...p.filter((_e) => !yt(E, _e, N)).map((_e) => ({
2742
+ id: _e,
2743
+ name: _e,
2744
+ type: Be.CUSTOM,
2745
+ tenantId: ""
2746
+ })));
2747
+ }
2748
+ U.value = $e(E, p, [.../* @__PURE__ */ new Set([...Ee(l.exactSearchKey), Et])]);
2749
+ } catch (E) {
2750
+ console.error("获取选中用户信息失败:", E), U.value = [];
2751
+ }
2752
+ }, He = async () => {
2753
+ const p = l.recentUserIds.filter(Boolean), _ = ++ne;
2754
+ if (Ze = [...p], p.length === 0) {
2755
+ be.value = [];
2756
+ return;
2757
+ }
2758
+ try {
2759
+ const E = (await Ke(p)).filter((N) => N.data_source_type !== Be.VIRTUAL && N.type !== Be.USER_GROUP);
2760
+ if (_ !== ne) return;
2761
+ be.value = E;
2762
+ } catch (E) {
2763
+ if (_ !== ne) return;
2764
+ console.error("获取最近选择用户信息失败:", E), be.value = [];
2765
+ }
2766
+ };
2767
+ function Me(p) {
2768
+ if (U.value = p, l.multiple)
2769
+ v("update:modelValue", p.map((_) => _.id)), v("change", p);
2770
+ else {
2771
+ const _ = p.length > 0 ? p[0] : null;
2772
+ v("update:modelValue", _ ? _.id : ""), v("change", _);
2773
+ }
2774
+ }
2775
+ const de = () => {
2776
+ !l.draggable || !l.multiple || !F.value || (ue.value && ue.value.destroy(), ue.value = new Vr.default(F.value, {
2777
+ animation: 150,
2778
+ draggable: ".tag-wrapper",
2779
+ onStart: (p) => {
2780
+ v("dragStart", p);
2781
+ },
2782
+ onEnd: (p) => {
2783
+ const { oldIndex: _, newIndex: E } = p;
2784
+ if (_ === E || _ === void 0 || E === void 0) return;
2785
+ const N = [...U.value], [_e] = N.splice(_, 1);
2786
+ N.splice(E, 0, _e), Me(N), v("dragEnd", p);
2787
+ }
2788
+ }));
2789
+ }, ie = () => {
2790
+ if (!U.value.length) {
2791
+ x.value = [], O.value = 0;
2792
+ return;
2793
+ }
2794
+ if (!z.value) {
2795
+ x.value = [...U.value], O.value = 0;
2796
+ return;
2797
+ }
2798
+ const p = z.value.offsetWidth, _ = z.value.querySelectorAll(".user-tag");
2799
+ if (_.length !== U.value.length) {
2800
+ x.value = [...U.value], O.value = 0, me(ie);
2801
+ return;
2802
+ }
2803
+ const E = wa(z.value, _, p - 100);
2804
+ x.value = U.value.slice(0, E), O.value = Math.max(0, U.value.length - E);
2805
+ }, y = () => {
2806
+ X.value = !0, D.value = U.value.length - 1, me(() => pe());
2807
+ }, K = () => {
2808
+ X.value || me(ie);
2809
+ }, k = () => {
2810
+ X.value && v("blur"), X.value = !1, D.value = U.value.length - 1, ye(), Y.value = -1, K();
2811
+ }, W = (p) => {
2812
+ const _ = p.target, E = De.value;
2813
+ E?.contains(_) || E === _ || k();
2814
+ }, Ye = () => {
2815
+ D.value = U.value.length - 1, me(() => pe());
2816
+ }, pe = () => {
2817
+ D.value === -1 && U.value.length > 0 ? Se.value?.focus() : D.value >= U.value.length - 1 ? $.value?.focus() : vt.value?.[0]?.focus();
2818
+ }, J = (p) => {
2819
+ D.value = p, me(() => pe());
2820
+ }, qe = () => {
2821
+ v("focus"), X.value = !0;
2822
+ }, et = () => {
2823
+ Ne(H.value);
2824
+ }, ge = async () => {
2825
+ if (!l.currentUserId || U.value.some((_) => _[l.exactSearchKey] === l.currentUserId) || l.multiple && it.value) return;
2826
+ const p = await Le();
2827
+ p && (l.multiple ? U.value.some((_) => _.id === p.id) || Me([...U.value, p]) : Me([p]), ye(), Y.value = -1, X.value = !0, D.value = U.value.length - 1, me(() => pe()));
2828
+ }, st = async (p) => {
2829
+ await xt(p), D.value = U.value.length - 1, me(() => pe());
2830
+ }, Ge = (p) => {
2831
+ if (p.key === "Backspace" && !H.value && U.value.length > 0) {
2832
+ if (D.value >= 0) {
2833
+ const _ = U.value[D.value], E = D.value > 0 ? D.value - 1 : -1;
2834
+ Me(U.value.filter((N) => N.id !== _.id)), D.value = E, K(), me(() => pe());
2835
+ }
2836
+ return;
2837
+ }
2838
+ if (p.key === "ArrowDown" && wt.value && we.value.length > 0) {
2839
+ p.preventDefault();
2840
+ const _ = we.value.length - 1;
2841
+ Y.value = Math.min(Y.value + 1, _);
2842
+ return;
2843
+ }
2844
+ if (p.key === "ArrowUp" && wt.value && we.value.length > 0) {
2845
+ p.preventDefault(), Y.value = Math.max(Y.value - 1, 0);
2846
+ return;
2847
+ }
2848
+ if (p.key === "Enter") {
2849
+ l.allowCreate && H.value ? Xe(bt(H.value)) : Y.value >= 0 && we.value[Y.value] && Xe(we.value[Y.value]);
2850
+ return;
2851
+ }
2852
+ if (p.key === "ArrowLeft" && !H.value && U.value.length > 0) {
2853
+ p.preventDefault(), D.value === 0 ? D.value = -1 : D.value > 0 && D.value--, me(() => pe());
2854
+ return;
2855
+ }
2856
+ if (p.key === "ArrowRight" && !H.value && U.value.length > 0) {
2857
+ p.preventDefault(), D.value === -1 ? D.value = 0 : D.value < U.value.length - 1 && D.value++, me(() => pe());
2858
+ return;
2859
+ }
2860
+ };
2861
+ function Xe(p) {
2862
+ if (p?.id) {
2863
+ if (l.multiple && it.value) {
2864
+ ye(), Y.value = -1;
2865
+ return;
2866
+ }
2867
+ if (!l.multiple)
2868
+ Me([p]), D.value = 0;
2869
+ else if (!U.value.some((_) => _.id === p.id)) {
2870
+ let _, E;
2871
+ D.value === -1 ? (_ = [p, ...U.value], E = 0) : (_ = [
2872
+ ...U.value.slice(0, D.value + 1),
2873
+ p,
2874
+ ...U.value.slice(D.value + 1)
2875
+ ], E = D.value + 1), Me(_), D.value = E;
2876
+ }
2877
+ ye(), Y.value = -1, X.value = !0, me(() => pe());
2878
+ }
2879
+ }
2880
+ const ce = (p) => {
2881
+ if (!p?.id) return;
2882
+ const _ = U.value.findIndex((N) => N.id === p.id), E = U.value.filter((N) => N.id !== p.id);
2883
+ Me(E), E.length === 0 ? D.value = -1 : D.value > _ ? D.value-- : D.value >= E.length && (D.value = E.length - 1), K();
2884
+ };
2885
+ at(U, () => {
2886
+ K();
2887
+ }, { deep: !0 }), at(X, (p) => {
2888
+ if (S.value) {
2889
+ const _ = p ? z.value : De.value?.querySelector(".tags-container.focused");
2890
+ _ && _.offsetHeight > 0 && (ke.value = _.offsetHeight);
2891
+ }
2892
+ p && me(() => de());
2893
+ }), at(we, (p) => {
2894
+ p.length > 0 && wt.value ? Y.value = 0 : Y.value = -1;
2895
+ }), at(() => l.userGroup, () => {
2896
+ Fe();
2897
+ }), at(() => l.recentUserIds, () => {
2898
+ const p = l.recentUserIds.filter(Boolean);
2899
+ Ze.length === p.length && Ze.every((_, E) => _ === p[E]) || He();
2900
+ }, { deep: !0 }), at(() => l.modelValue, () => {
2901
+ const p = U.value.map((E) => E.id), _ = j.value;
2902
+ (p.length !== _.length || !p.every((E, N) => E === _[N])) && Fe();
2903
+ }, { deep: !0 }), ma(De, () => {
2904
+ K();
2905
+ });
2906
+ let Pe;
2907
+ or(() => {
2908
+ Pe = Promise.all([Fe(), He()]).then(() => {
2909
+ });
2910
+ }), Rr(async () => {
2911
+ de(), me(ie), l.autoFocus && !l.disabled && (await Pe, await me(), y());
2912
+ }), ir(() => {
2913
+ ue.value?.destroy();
2914
+ }), d({
2915
+ focus: y,
2916
+ blur: k
2917
+ });
2918
+ const ut = {
2919
+ t: o,
2920
+ props: l,
2921
+ emit: v,
2922
+ handleApiError: f,
2923
+ handleApiUnauthorized: w,
2924
+ tenants: b,
2925
+ searchResults: B,
2926
+ searchLoading: G,
2927
+ searchQuery: H,
2928
+ clearSearch: ye,
2929
+ handleSearchInput: Ne,
2930
+ fetchCurrentUser: Le,
2931
+ containerRef: De,
2932
+ sortableContainerRef: F,
2933
+ collapsedContainerRef: z,
2934
+ frontInputRef: Se,
2935
+ inlineInputRef: vt,
2936
+ lastInputRef: $,
2937
+ isFocused: X,
2938
+ activeTagIndex: D,
2939
+ sortableInstance: ue,
2940
+ visibleUsers: x,
2941
+ hiddenCount: O,
2942
+ highlightedIndex: Y,
2943
+ recentUsers: be,
2944
+ get recentUsersRequestId() {
2945
+ return ne;
2946
+ },
2947
+ set recentUsersRequestId(p) {
2948
+ ne = p;
2949
+ },
2950
+ get recentUserIdsSnapshot() {
2951
+ return Ze;
2952
+ },
2953
+ set recentUserIdsSnapshot(p) {
2954
+ Ze = p;
2955
+ },
2956
+ selectedUsers: U,
2957
+ isTextareaMode: S,
2958
+ textareaHeight: ke,
2959
+ textareaStyle: Vt,
2960
+ collapsedDisplayUsers: Te,
2961
+ modelValueIds: j,
2962
+ computedPlaceholder: Qt,
2963
+ computedUserGroupName: Je,
2964
+ computedEmptyText: Tt,
2965
+ computedRecentUsersName: ee,
2966
+ selectedUserIds: mt,
2967
+ isUserMatchedByQuery: Zt,
2968
+ getLookupFields: Ee,
2969
+ findUserByLookupId: yt,
2970
+ sortUsersByLookupIds: $e,
2971
+ lookupFormattedUsersByIds: Ke,
2972
+ isMaxCountReached: it,
2973
+ isMeTagDisabled: _n,
2974
+ userTagCommonProps: Jt,
2975
+ filteredUserGroup: lt,
2976
+ filterOptions: Ot,
2977
+ createCustomUser: bt,
2978
+ handlePaste: xt,
2979
+ displayOptions: ae,
2980
+ mainNavigableUsers: $t,
2981
+ filteredRecentUsers: At,
2982
+ showDropdown: wt,
2983
+ flatOptions: we,
2984
+ inputWidth: kt,
2985
+ initSelectedUsers: Fe,
2986
+ initRecentUsers: He,
2987
+ updateSelectedUsers: Me,
2988
+ initSortable: de,
2989
+ calculateVisibleUsers: ie,
2990
+ handleFocus: y,
2991
+ scheduleVisibleUsersCalculation: K,
2992
+ blur: k,
2993
+ handleClickOutside: W,
2994
+ handleContainerClick: Ye,
2995
+ focusCurrentInput: pe,
2996
+ handleTagClick: J,
2997
+ handleInputFocus: qe,
2998
+ handleInput: et,
2999
+ addCurrentUser: ge,
3000
+ onPaste: st,
3001
+ handleKeyDown: Ge,
3002
+ addUser: Xe,
3003
+ removeUser: ce,
3004
+ get initPromise() {
3005
+ return Pe;
3006
+ },
3007
+ set initPromise(p) {
3008
+ Pe = p;
3009
+ },
3010
+ get Popover() {
3011
+ return sr;
3012
+ },
3013
+ get Tag() {
3014
+ return lr;
3015
+ },
3016
+ MeTag: Ia,
3017
+ SelectionPopover: za,
3018
+ get UserRender() {
3019
+ return jn;
3020
+ },
3021
+ UserTag: Ha
3022
+ };
3023
+ return Object.defineProperty(ut, "__isScriptSetup", {
3024
+ enumerable: !1,
3025
+ value: !0
3026
+ }), ut;
3027
+ }
3028
+ }), Xa = {
3029
+ ref: "sortableContainerRef",
3030
+ class: "tag-list"
3031
+ }, Wa = ["placeholder"], Va = { class: "hidden-users" }, Qa = ["placeholder"];
3032
+ function Za(c, d, u, o, l, v) {
3033
+ return Z(), oe("div", {
3034
+ ref: "containerRef",
3035
+ class: It(["bk-user-selector", {
3036
+ "is-disabled": u.disabled,
3037
+ "is-textarea": o.isTextareaMode
3038
+ }])
3039
+ }, [se(" 下拉选项列表 "), Qe(o.SelectionPopover, {
3040
+ "avatar-base-url": u.avatarBaseUrl,
3041
+ "container-width": o.containerRef ? o.containerRef.offsetWidth : "auto",
3042
+ "empty-text": o.computedEmptyText,
3043
+ "flat-options": o.flatOptions,
3044
+ "has-avatar": u.hasAvatar,
3045
+ "highlighted-index": o.highlightedIndex,
3046
+ "is-show": o.showDropdown,
3047
+ loading: o.searchLoading,
3048
+ options: o.displayOptions,
3049
+ "recent-users": o.filteredRecentUsers,
3050
+ "recent-users-name": o.computedRecentUsersName,
3051
+ "render-list-item": u.renderListItem,
3052
+ "search-query": o.searchQuery,
3053
+ "tenant-id": u.tenantId,
3054
+ tenants: o.tenants,
3055
+ "user-group": o.filteredUserGroup,
3056
+ "user-group-name": o.computedUserGroupName,
3057
+ onClickOutside: o.handleClickOutside,
3058
+ onSelectUser: o.addUser
3059
+ }, {
3060
+ default: ot(() => [
3061
+ se(" 聚焦状态 - 可编辑模式 "),
3062
+ St(Ae("div", {
3063
+ class: "tags-container focused",
3064
+ style: hn(o.textareaStyle),
3065
+ onClick: je(o.handleContainerClick, ["stop"])
3066
+ }, [se(" 用户标签列表 "), Ae("div", Xa, [
3067
+ se(" 在第一个标签之前的输入框 "),
3068
+ o.activeTagIndex === -1 && o.selectedUsers.length > 0 ? St((Z(), oe("input", {
3069
+ key: 0,
3070
+ ref: "frontInputRef",
3071
+ "onUpdate:modelValue": d[0] || (d[0] = (f) => o.searchQuery = f),
3072
+ autofocus: "",
3073
+ class: "search-input input-inline",
3074
+ style: hn({ width: o.inputWidth }),
3075
+ onFocus: o.handleInputFocus,
3076
+ onInput: o.handleInput,
3077
+ onKeydown: o.handleKeyDown,
3078
+ onPaste: o.onPaste
3079
+ }, null, 36)), [[pn, o.searchQuery]]) : se("v-if", !0),
3080
+ (Z(!0), oe(Ut, null, Dt(o.selectedUsers, (f, w) => (Z(), oe("div", {
3081
+ key: f.id,
3082
+ class: "tag-wrapper"
3083
+ }, [
3084
+ Qe(o.UserTag, er({ ref_for: !0 }, o.userTagCommonProps, {
3085
+ active: w === o.activeTagIndex,
3086
+ draggable: u.draggable && u.multiple,
3087
+ user: f,
3088
+ onClick: (b) => o.handleTagClick(w),
3089
+ onClose: (b) => o.removeUser(f)
3090
+ }), null, 16, [
3091
+ "active",
3092
+ "draggable",
3093
+ "user",
3094
+ "onClick",
3095
+ "onClose"
3096
+ ]),
3097
+ se(" 在当前激活标签后插入输入框 "),
3098
+ w === o.activeTagIndex && o.activeTagIndex !== o.selectedUsers.length - 1 ? St((Z(), oe("input", {
3099
+ key: 0,
3100
+ ref_for: !0,
3101
+ ref: "inlineInputRef",
3102
+ "onUpdate:modelValue": d[1] || (d[1] = (b) => o.searchQuery = b),
3103
+ autofocus: "",
3104
+ class: "search-input input-inline",
3105
+ style: hn({ width: o.inputWidth }),
3106
+ onFocus: o.handleInputFocus,
3107
+ onInput: o.handleInput,
3108
+ onKeydown: o.handleKeyDown,
3109
+ onPaste: o.onPaste
3110
+ }, null, 36)), [[pn, o.searchQuery]]) : se("v-if", !0)
3111
+ ]))), 128)),
3112
+ se(" 最后一个输入框(末尾位置或无用户时显示) "),
3113
+ o.activeTagIndex >= o.selectedUsers.length - 1 ? St((Z(), oe("input", {
3114
+ key: 1,
3115
+ ref: "lastInputRef",
3116
+ "onUpdate:modelValue": d[2] || (d[2] = (f) => o.searchQuery = f),
3117
+ autofocus: "",
3118
+ class: "search-input input-last",
3119
+ placeholder: o.selectedUsers.length ? "" : o.computedPlaceholder,
3120
+ onFocus: o.handleInputFocus,
3121
+ onInput: o.handleInput,
3122
+ onKeydown: o.handleKeyDown,
3123
+ onPaste: o.onPaste
3124
+ }, null, 40, Wa)), [[pn, o.searchQuery]]) : se("v-if", !0),
3125
+ se(' "我"标签 '),
3126
+ Qe(o.MeTag, {
3127
+ "current-user-id": u.currentUserId,
3128
+ "is-disabled": o.isMeTagDisabled,
3129
+ onClick: o.addCurrentUser
3130
+ }, null, 8, ["current-user-id", "is-disabled"])
3131
+ ], 512)], 4), [[tr, o.isFocused]]),
3132
+ se(" 未聚焦状态 - 只读展示模式 "),
3133
+ St(Ae("div", {
3134
+ ref: "collapsedContainerRef",
3135
+ class: "tags-container tags-container-collapsed",
3136
+ style: hn(o.textareaStyle),
3137
+ onClick: je(o.handleFocus, ["stop"])
3138
+ }, [
3139
+ (Z(!0), oe(Ut, null, Dt(o.collapsedDisplayUsers, (f) => (Z(), Yt(o.UserTag, er({ key: f.id }, { ref_for: !0 }, o.userTagCommonProps, {
3140
+ "show-tenant": !0,
3141
+ user: f,
3142
+ onClick: o.handleFocus,
3143
+ onClose: (w) => o.removeUser(f)
3144
+ }), null, 16, ["user", "onClose"]))), 128)),
3145
+ se(" 显示折叠标签数量(textarea 模式下不折叠) "),
3146
+ o.hiddenCount > 0 && !o.isTextareaMode ? (Z(), Yt(o.Popover, {
3147
+ key: 0,
3148
+ placement: "top"
3149
+ }, {
3150
+ content: ot(() => [Ae("div", Va, [(Z(!0), oe(Ut, null, Dt(o.selectedUsers.slice(o.visibleUsers.length), (f) => (Z(), Yt(o.UserRender, {
3151
+ key: f.id,
3152
+ "avatar-base-url": u.avatarBaseUrl,
3153
+ "has-avatar": u.hasAvatar,
3154
+ "tenant-id": u.tenantId,
3155
+ tenants: o.tenants,
3156
+ user: f
3157
+ }, null, 8, [
3158
+ "avatar-base-url",
3159
+ "has-avatar",
3160
+ "tenant-id",
3161
+ "tenants",
3162
+ "user"
3163
+ ]))), 128))])]),
3164
+ default: ot(() => [Qe(o.Tag, null, {
3165
+ default: ot(() => [Pr(" +" + gt(o.hiddenCount), 1)]),
3166
+ _: 1
3167
+ })]),
3168
+ _: 1
3169
+ })) : se("v-if", !0),
3170
+ se(" 搜索输入框 "),
3171
+ St(Ae("input", {
3172
+ "onUpdate:modelValue": d[3] || (d[3] = (f) => o.searchQuery = f),
3173
+ class: "search-input search-input-collapsed",
3174
+ placeholder: o.selectedUsers.length ? "" : o.computedPlaceholder,
3175
+ onFocus: o.handleFocus
3176
+ }, null, 40, Qa), [[pn, o.searchQuery]]),
3177
+ se(' 未聚焦状态下的"我"标签 '),
3178
+ Qe(o.MeTag, {
3179
+ "current-user-id": u.currentUserId,
3180
+ "is-disabled": o.isMeTagDisabled,
3181
+ onClick: o.addCurrentUser
3182
+ }, null, 8, ["current-user-id", "is-disabled"])
3183
+ ], 4), [[tr, !o.isFocused]])
3184
+ ]),
3185
+ _: 1
3186
+ }, 8, [
3187
+ "avatar-base-url",
3188
+ "container-width",
3189
+ "empty-text",
3190
+ "flat-options",
3191
+ "has-avatar",
3192
+ "highlighted-index",
3193
+ "is-show",
3194
+ "loading",
3195
+ "options",
3196
+ "recent-users",
3197
+ "recent-users-name",
3198
+ "render-list-item",
3199
+ "search-query",
3200
+ "tenant-id",
3201
+ "tenants",
3202
+ "user-group",
3203
+ "user-group-name"
3204
+ ])], 2);
3205
+ }
3206
+ var Ja = /* @__PURE__ */ wn(Ya, [
3207
+ ["render", Za],
3208
+ ["__scopeId", "data-v-089550be"],
3209
+ ["__file", "/Users/brooklin/project/bkui-monorepo/packages/bk-user-selector/src/components/user-selector.vue"]
3210
+ ]), no = Ja;
3211
+ export {
3212
+ Ja as BkUserSelector,
3213
+ no as default
3214
+ };