vue-select-sides
Version:
select sides component for vue
1,629 lines • 151 kB
JavaScript
import { openBlock as W, createElementBlock as ne, toDisplayString as Fe, withDirectives as Oe, vModelText as rr, createElementVNode as Q, resolveComponent as fe, Fragment as Dt, renderList as Nn, normalizeClass as Ln, createTextVNode as sr, createCommentVNode as re, vShow as Ce, createVNode as Se, createBlock as ue, resolveDynamicComponent as ar, defineComponent as on, h as al, getCurrentInstance as Lt, effectScope as or, inject as ir, onMounted as cr, onUnmounted as ur, shallowRef as ol, ref as Ze, computed as Te, onBeforeMount as fr, watch as Xt, isRef as _r, Text as dr } from "vue";
var mr = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
function pr(e) {
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
}
var il = { exports: {} };
(function(e) {
(function(t, n) {
e.exports = n();
})(mr, function() {
var t = Object.prototype.toString, n = Object.prototype.hasOwnProperty;
function r(d) {
if (!d || i(d) && d.length === 0)
return !0;
for (var E in d)
if (n.call(d, E))
return !1;
return !0;
}
function s(d) {
return t.call(d);
}
function l(d) {
return typeof d == "number" || s(d) === "[object Number]";
}
function a(d) {
return typeof d == "string" || s(d) === "[object String]";
}
function o(d) {
return typeof d == "object" && s(d) === "[object Object]";
}
function i(d) {
return typeof d == "object" && typeof d.length == "number" && s(d) === "[object Array]";
}
function f(d) {
return typeof d == "boolean" || s(d) === "[object Boolean]";
}
function h(d) {
var E = parseInt(d);
return E.toString() === d ? E : d;
}
function v(d, E, N, y) {
if (l(E) && (E = [E]), r(E))
return d;
if (a(E))
return v(d, E.split("."), N, y);
var R = h(E[0]);
if (E.length === 1) {
var _ = d[R];
return (_ === void 0 || !y) && (d[R] = N), _;
}
return d[R] === void 0 && (l(R) ? d[R] = [] : d[R] = {}), v(d[R], E.slice(1), N, y);
}
function m(d, E) {
if (l(E) && (E = [E]), !r(d)) {
if (r(E))
return d;
if (a(E))
return m(d, E.split("."));
var N = h(E[0]), y = d[N];
if (E.length === 1)
y !== void 0 && (i(d) ? d.splice(N, 1) : delete d[N]);
else if (d[N] !== void 0)
return m(d[N], E.slice(1));
return d;
}
}
var T = {};
return T.ensureExists = function(d, E, N) {
return v(d, E, N, !0);
}, T.set = function(d, E, N, y) {
return v(d, E, N, y);
}, T.insert = function(d, E, N, y) {
var R = T.get(d, E);
y = ~~y, i(R) || (R = [], T.set(d, E, R)), R.splice(y, 0, N);
}, T.empty = function(d, E) {
if (r(E))
return d;
if (!r(d)) {
var N, y;
if (!(N = T.get(d, E)))
return d;
if (a(N))
return T.set(d, E, "");
if (f(N))
return T.set(d, E, !1);
if (l(N))
return T.set(d, E, 0);
if (i(N))
N.length = 0;
else if (o(N))
for (y in N)
n.call(N, y) && delete N[y];
else
return T.set(d, E, null);
}
}, T.push = function(d, E) {
var N = T.get(d, E);
i(N) || (N = [], T.set(d, E, N)), N.push.apply(N, Array.prototype.slice.call(arguments, 2));
}, T.coalesce = function(d, E, N) {
for (var y, R = 0, _ = E.length; R < _; R++)
if ((y = T.get(d, E[R])) !== void 0)
return y;
return N;
}, T.get = function(d, E, N) {
if (l(E) && (E = [E]), r(E))
return d;
if (r(d))
return N;
if (a(E))
return T.get(d, E.split("."), N);
var y = h(E[0]);
return E.length === 1 ? d[y] === void 0 ? N : d[y] : T.get(d[y], E.slice(1), N);
}, T.del = function(d, E) {
return m(d, E);
}, T;
});
})(il);
var hr = il.exports, On = hr, cl, ul, Jt;
Jt = function(e) {
return function(t) {
return typeof t === e;
};
};
ul = function(t, n) {
var r = 1, s = n || function(l, a) {
return a;
};
return t[0] === "-" && (r = -1, t = t.substr(1)), function(a, o) {
var i, f = s(t, On.get(a, t)), h = s(t, On.get(o, t));
return f < h && (i = -1), f > h && (i = 1), f === h && (i = 0), i * r;
};
};
cl = function() {
var t = Array.prototype.slice.call(arguments), n = t.filter(Jt("string")), r = t.filter(Jt("function"))[0];
return function(l, a) {
for (var o = n.length, i = 0, f = 0; i === 0 && f < o; )
i = ul(n[f], r)(l, a), f++;
return i;
};
};
var Er = cl;
const Tn = /* @__PURE__ */ pr(Er), be = (e) => JSON.parse(JSON.stringify(e)), Me = (e) => e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase(), kt = (e, t) => {
let n = [];
return e.sortSelectedUp && n.push("-selectedDefault"), e.orderBy && (e.orderBy.toLowerCase() === "asc" && n.push("label"), e.orderBy.toLowerCase() === "desc" && n.push("-label")), t.sort(Tn(...n)).map((r) => (r.children && r.children.sort(Tn(...n)), r)), t;
}, fl = (e, t) => e.filter((n) => String(n) !== String(t)), Ne = (e, t) => {
const n = e.__vccOpts || e;
for (const [r, s] of t)
n[r] = s;
return n;
}, gr = {
name: "v-select-all",
display: "Select all",
emits: ["update-select-all"],
props: {
items: Array
}
};
function vr(e, t, n, r, s, l) {
return W(), ne("a", {
href: "javascript:void(0)",
onClick: t[0] || (t[0] = (a) => e.$emit("update-select-all"))
}, Fe(e.$t("selectAll")), 1);
}
const _l = /* @__PURE__ */ Ne(gr, [["render", vr]]), Nr = {
name: "v-deselect-all",
display: "Deselect all",
emits: ["update-deselect-all"],
props: {
click: Function,
items: Array
}
};
function Lr(e, t, n, r, s, l) {
return W(), ne("a", {
href: "javascript:void(0)",
onClick: t[0] || (t[0] = (a) => e.$emit("update-deselect-all"))
}, Fe(e.$t("deselectAll")), 1);
}
const dl = /* @__PURE__ */ Ne(Nr, [["render", Lr]]), Or = {
name: "v-search",
display: "Search",
props: ["modelValue", "placeholder"],
emits: ["update:modelValue"],
beforeMount() {
this.placeholder ? this.thePlaceholder = this.placeholder : this.thePlaceholder = this.$t("searchPlaceholder");
},
watch: {
inputVal(e) {
this.$emit("update:modelValue", e);
}
},
data() {
return {
inputVal: this.value,
thePlaceholder: ""
};
}
}, Tr = ["placeholder"];
function br(e, t, n, r, s, l) {
return Oe((W(), ne("input", {
type: "text",
"onUpdate:modelValue": t[0] || (t[0] = (a) => s.inputVal = a),
placeholder: s.thePlaceholder
}, null, 8, Tr)), [
[rr, s.inputVal]
]);
}
const ml = /* @__PURE__ */ Ne(Or, [["render", br]]), Ir = {
name: "v-no-results",
display: "No results",
methods: {}
}, Sr = { class: "no-results" };
function Ar(e, t, n, r, s, l) {
return W(), ne("li", Sr, [
Q("span", null, Fe(e.$t("searchNoResult")), 1)
]);
}
const yr = /* @__PURE__ */ Ne(Ir, [["render", Ar]]), Pr = {
name: "v-no-selection",
display: "No selection",
methods: {}
}, Cr = { class: "no-selection" };
function Rr(e, t, n, r, s, l) {
return W(), ne("li", Cr, [
Q("span", null, Fe(e.$t("searchParentSelected")), 1)
]);
}
const Dr = /* @__PURE__ */ Ne(Pr, [["render", Rr]]), kr = {
name: "v-list",
display: "List",
mounted() {
},
components: {
"v-no-results": yr,
"v-no-selection": Dr
},
props: {
hasChildren: {
type: Boolean
},
items: {
type: Array
},
enableCounter: {
type: Boolean,
default: !0
},
type: {
type: String
},
side: {
type: String
}
},
emits: ["updated-item"],
methods: {
showNoResultParent(e) {
if (this.type === "grouped")
return this.totalItems(e) === 0 && !this.hasChildren;
if (this.side === "left")
return e.length === 0 || this.totalParentSelected(e) === e.length || e.length > 0 && this.totalItems(e) === 0;
if (this.side === "right")
return e.length === 0 || this.totalParentSelected(e) !== 0 && e.length > 0 && this.totalItems(e) === 0;
},
showNoSelection(e) {
if (this.type === "grouped")
return this.totalParentSelected(e) === 0 && this.hasChildren || e.length === 0;
if (this.side === "left")
return !1;
if (this.side === "right")
return e.length !== 0 && this.totalParentSelected(e) === 0;
},
showCounter(e) {
return this.enableCounter ? !this.hasChildren && e.totalChildrenSelected !== 0 : !1;
},
showParent(e) {
return this.hasChildren ? e.selected : e.visible;
},
liClass(e, t) {
let n = [];
return t && n.push("is-parent"), e.selected && n.push("active"), e.disabled && n.push("is-disabled"), n;
},
totalItems(e) {
return e.filter(function(t) {
return t.visible === !0;
}).length;
},
totalParentSelected(e) {
return e.filter(function(t) {
return t.selected === !0;
}).length;
},
toggleItem(e, t, n) {
if (e.disabled == !0)
return !1;
this.$emit("updated-item", e, t, !n);
}
},
data() {
return {};
}
}, Mr = { class: "vss-list-ul" }, Fr = ["onClick"], Ur = { style: {} }, wr = {
key: 0,
class: "vss-list-badge"
}, Vr = { key: 0 }, $r = ["onClick"];
function Wr(e, t, n, r, s, l) {
const a = fe("v-no-results"), o = fe("v-no-selection");
return W(), ne("ul", Mr, [
(W(!0), ne(Dt, null, Nn(n.items, (i, f) => Oe((W(), ne("li", {
key: f,
onClick: (h) => n.hasChildren ? !1 : l.toggleItem(i, {}, i.selected),
class: Ln(l.liClass(i, n.hasChildren))
}, [
Q("span", Ur, [
sr(Fe(i.label) + " ", 1),
l.showCounter(i) ? (W(), ne("small", wr, Fe(i.totalChildrenSelected), 1)) : re("", !0)
]),
n.hasChildren ? (W(), ne("ul", Vr, [
(W(!0), ne(Dt, null, Nn(i.children, (h, v) => Oe((W(), ne("li", {
key: `${f}-${v}`,
onClick: (m) => l.toggleItem(h, i, h.selected),
class: Ln(l.liClass(h, !1))
}, [
Q("span", null, Fe(h.label), 1)
], 10, $r)), [
[Ce, h.visible]
])), 128)),
Oe(Se(a, null, null, 512), [
[Ce, l.totalItems(i.children) === 0]
])
])) : re("", !0)
], 10, Fr)), [
[Ce, l.showParent(i)]
])), 128)),
Oe(Se(o, null, null, 512), [
[Ce, l.showNoSelection(n.items)]
]),
Oe(Se(a, null, null, 512), [
[Ce, l.showNoResultParent(n.items)]
])
]);
}
const pl = /* @__PURE__ */ Ne(kr, [["render", Wr]]), Gr = {
name: "v-separator",
display: "Separator"
}, Hr = { class: "vss-span" };
function Br(e, t, n, r, s, l) {
return W(), ne("div", Hr, " ‹ › ");
}
const hl = /* @__PURE__ */ Ne(Gr, [["render", Br]]), Yr = {
name: "v-total",
display: "Total",
props: {
value: {
type: Number
}
}
}, xr = ["title"];
function jr(e, t, n, r, s, l) {
return W(), ne("span", {
title: e.$t("totalSelected")
}, Fe(n.value), 9, xr);
}
const El = /* @__PURE__ */ Ne(Yr, [["render", jr]]), gl = {
emits: ["update-selected"],
watch: {
modelValue(e, t) {
JSON.stringify(e) !== JSON.stringify(t) && (this.dataSelected = e);
},
dataSelected(e, t) {
this.$emit("update-selected", e, t);
},
orderBy() {
this.listLeft = kt(this, this.dataList), this.listRight = kt(this, this.dataList);
},
list(e) {
JSON.stringify(e) !== JSON.stringify(this.dataListOriginal) && (this.prepareList(), this.prepareListLeft());
}
},
props: {
placeholderSearchLeft: {
type: [String, Boolean]
},
placeholderSearchRight: {
type: [String, Boolean]
},
type: {
type: String
},
search: {
type: Boolean
},
total: {
type: Boolean
},
toggleAll: {
type: Boolean
},
orderBy: {
type: String
},
sortSelectedUp: {
type: Boolean
}
}
}, Kr = {
name: "grouped-select-sides",
display: "Grouped select sides",
mixins: [gl],
components: {
"v-select-all": _l,
"v-deselect-all": dl,
"v-search": ml,
"v-separator": hl,
"v-list": pl,
"v-total": El
},
props: {
list: {
required: !0,
type: [Array, Object]
},
modelValue: {
type: Object,
default: () => ({})
}
},
methods: {
updateLeftSelectAll() {
let e = this;
e.listLeft.map((t) => {
t.visible === !0 && !t.disabled && e.updateItem(t, {}, !0);
});
},
updateLeftDeselectAll() {
let e = this;
e.listLeft.map((t) => {
t.visible === !0 && !t.disabled && e.updateItem(t, {}, !1);
});
},
updateRightSelectAll() {
let e = this;
e.listRight.map((t) => {
t.children.map((n) => {
t.selected === !0 && !t.disabled && e.updateItem(n, t, !0);
});
});
},
updateRightDeselectAll() {
let e = this;
e.listRight.map((t) => {
t.children.map((n) => {
t.selected === !0 && !t.disabled && e.updateItem(n, t, !1);
});
});
},
updateItem(e, t, n) {
let r = be(this.dataSelected);
Object.keys(t).length > 0 ? (r[t.value] === void 0 && t.visible && (r[t.value] = []), n ? e.visible && r[t.value].indexOf(e.value) === -1 && r[t.value].push(e.value) : e.visible && (r[t.value] = fl(
r[t.value],
e.value
))) : n ? r[e.value] === void 0 && (r[e.value] = []) : delete r[e.value], this.dataSelected = r;
},
prepareList() {
let e = this, t = {};
e.dataListOriginal = be(e.list);
let n = Object.keys(e.modelValue), r = e.list.filter((s) => {
let l = s.value, a = n.indexOf(l) >= 0;
return a ? (s.selectedDefault = !0, t[l] = []) : s.selectedDefault = !1, s.children && s.children.filter((o) => {
let i = o.value;
a && (e.modelValue[l].indexOf(i) >= 0 ? (o.selectedDefault = !0, t[l].push(i)) : o.selectedDefault = !1);
}), s;
});
e.dataSelected = t, e.dataList = kt(e, r);
},
prepareListLeft() {
let e = this;
this.listLeft = this.dataList.filter((t) => (t.visible = !0, t.children ? (t.children = t.children.map((n) => (e.dataSelected[t.value] !== void 0 && (e.dataSelected[t.value].indexOf(n.value) >= 0 ? n.selected = !0 : n.selected = !1), n)), t.children) : t));
}
},
beforeMount() {
this.prepareList();
},
mounted() {
this.prepareListLeft();
},
computed: {
totalChildrenSelected() {
return Object.keys(this.dataSelected).map((e) => this.dataSelected[e].length).reduce((e, t) => e + t, 0);
},
filteredListL() {
let e = this, t = Me(this.searchL), n = Object.keys(this.dataSelected), r = be(this.listLeft);
return r = r.filter((s) => {
let l = Me(s.label);
return n.indexOf(s.value) >= 0 ? s.selected = !0 : s.selected = !1, l.includes(t) ? s.visible = !0 : s.visible = !1, s.children ? (s.children = s.children.map((a) => (a.selected = !1, e.dataSelected[s.value] !== void 0 && (e.dataSelected[s.value].indexOf(a.value) >= 0 ? a.selected = !0 : a.selected = !1), a)), s.totalChildrenSelected = s.children.filter(function(a) {
return a.selected === !0;
}).length, s.children) : s;
}), r;
},
filteredListR() {
let e = this, t = Me(e.searchR), n = be(this.listLeft);
return n = e.listRight.filter(function(s) {
return s.children ? (s.children = s.children.map((l) => (Me(l.label).includes(t) ? l.visible = !0 : l.visible = !1, e.dataSelected[s.value] !== void 0 && (e.dataSelected[s.value].indexOf(l.value) >= 0 ? l.selected = !0 : l.selected = !1), l)), s.children) : s;
}), n;
}
},
watch: {
filteredListL(e) {
this.listRight = e;
}
},
data() {
return {
dataList: [],
dataListOriginal: [],
dataSelected: {},
listLeft: [],
listRight: [],
searchL: "",
searchR: ""
};
}
}, Xr = { class: "vss-list" }, Jr = { class: "vss-inner-list" }, Qr = { class: "vss-footer" }, qr = { class: "vss-footer-bg" }, Zr = {
key: 1,
class: "vss-footer-separator"
}, zr = { class: "vss-list" }, es = { class: "vss-inner-list" }, ts = { class: "vss-footer" }, ns = { class: "vss-footer-bg" }, ls = {
key: 1,
class: "vss-footer-separator"
};
function rs(e, t, n, r, s, l) {
const a = fe("v-search"), o = fe("v-list"), i = fe("v-select-all"), f = fe("v-deselect-all"), h = fe("v-total"), v = fe("v-separator");
return W(), ne("div", null, [
Q("div", Xr, [
Q("div", Jr, [
e.search ? (W(), ue(a, {
key: 0,
placeholder: e.placeholderSearchLeft,
class: "vss-list-search",
modelValue: s.searchL,
"onUpdate:modelValue": t[0] || (t[0] = (m) => s.searchL = m)
}, null, 8, ["placeholder", "modelValue"])) : re("", !0),
Se(o, {
"has-children": !1,
type: e.type,
items: l.filteredListL,
onUpdatedItem: l.updateItem
}, null, 8, ["type", "items", "onUpdatedItem"]),
Oe(Q("div", Qr, [
Q("div", qr, [
Q("div", null, [
e.toggleAll ? (W(), ue(i, {
key: 0,
items: s.listLeft,
onUpdateSelectAll: l.updateLeftSelectAll
}, null, 8, ["items", "onUpdateSelectAll"])) : re("", !0),
e.toggleAll ? (W(), ne("div", Zr, "/")) : re("", !0),
e.toggleAll ? (W(), ue(f, {
key: 2,
items: s.listLeft,
onUpdateDeselectAll: l.updateLeftDeselectAll
}, null, 8, ["items", "onUpdateDeselectAll"])) : re("", !0)
]),
e.total ? (W(), ue(h, {
key: 0,
value: Object.keys(s.dataSelected).length
}, null, 8, ["value"])) : re("", !0)
])
], 512), [
[Ce, e.toggleAll || e.total]
])
])
]),
Se(v),
Q("div", zr, [
Q("div", es, [
e.search ? (W(), ue(a, {
key: 0,
placeholder: e.placeholderSearchRight,
class: "vss-list-search",
modelValue: s.searchR,
"onUpdate:modelValue": t[1] || (t[1] = (m) => s.searchR = m)
}, null, 8, ["placeholder", "modelValue"])) : re("", !0),
Se(o, {
"has-children": !0,
type: e.type,
items: l.filteredListR,
onUpdatedItem: l.updateItem
}, null, 8, ["type", "items", "onUpdatedItem"]),
Oe(Q("div", ts, [
Q("div", ns, [
Q("div", null, [
e.toggleAll ? (W(), ue(i, {
key: 0,
items: s.listRight,
onUpdateSelectAll: l.updateRightSelectAll
}, null, 8, ["items", "onUpdateSelectAll"])) : re("", !0),
e.toggleAll ? (W(), ne("div", ls, "/")) : re("", !0),
e.toggleAll ? (W(), ue(f, {
key: 2,
items: s.listRight,
onUpdateDeselectAll: l.updateRightDeselectAll
}, null, 8, ["items", "onUpdateDeselectAll"])) : re("", !0)
]),
e.total ? (W(), ue(h, {
key: 0,
value: l.totalChildrenSelected
}, null, 8, ["value"])) : re("", !0)
])
], 512), [
[Ce, e.toggleAll || e.total]
])
])
])
]);
}
const ss = /* @__PURE__ */ Ne(Kr, [["render", rs]]), as = {
name: "mirror-select-sides",
display: "Mirror select sides",
mixins: [gl],
components: {
"v-select-all": _l,
"v-deselect-all": dl,
"v-search": ml,
"v-separator": hl,
"v-list": pl,
"v-total": El
},
props: {
list: {
required: !0,
type: [Array, Object]
},
modelValue: {
type: Array,
default: () => []
}
},
methods: {
updateLeftSelectAll() {
let e = this;
e.listLeft.map((t) => {
t.visible === !0 && !t.disabled && e.updateItem(t, {}, !0);
});
},
updateRightDeselectAll() {
let e = this;
this.dataSelected = [], e.listRight.map((t) => {
t.visible === !0 && !t.disabled && e.updateItem(t, {}, !1);
});
},
updateItem(e, t, n) {
let r = be(this.dataSelected);
n ? r.push(e.value) : r = fl(r, e.value), this.dataSelected = r;
},
prepareList() {
this.dataListOriginal = be(this.list);
let e = this, t = [], n = e.list.filter((r) => {
let s = r.value;
return e.modelValue.indexOf(s) >= 0 ? (r.selectedDefault = !0, t.push(s)) : r.selectedDefault = !1, r;
});
e.dataSelected = t, e.dataList = kt(e, n);
},
prepareListLeft() {
this.listLeft = this.dataList.filter((e) => (e.visible = !0, e));
}
},
beforeMount() {
this.prepareList();
},
mounted() {
this.prepareListLeft();
},
computed: {
filteredListL() {
let e = Me(this.searchL), t = this.dataSelected, n = be(this.listLeft);
return n = n.filter((r) => {
let s = Me(r.label);
return t.indexOf(r.value) >= 0 ? (r.selected = !0, r.visible = !1) : (r.selected = !1, r.visible = !0), s.includes(e) && r.visible === !0 ? r.visible = !0 : r.visible = !1, r;
}), n;
},
filteredListR() {
let e = this, t = Me(e.searchR), n = this.dataSelected, r = be(e.listLeft);
return r = r.filter((s) => {
let l = Me(s.label);
return n.indexOf(s.value) >= 0 ? (s.selected = !0, s.visible = !0) : (s.selected = !1, s.visible = !1), l.includes(t) && s.visible === !0 ? s.visible = !0 : s.visible = !1, s;
}), r;
}
},
data() {
return {
dataList: [],
dataListOriginal: [],
dataSelected: [],
listLeft: [],
listRight: [],
searchL: "",
searchR: ""
};
}
}, os = { class: "vss-list" }, is = { class: "vss-inner-list" }, cs = { class: "vss-footer" }, us = { class: "vss-footer-bg" }, fs = { class: "vss-list" }, _s = { class: "vss-inner-list" }, ds = { class: "vss-footer" }, ms = { class: "vss-footer-bg" };
function ps(e, t, n, r, s, l) {
const a = fe("v-search"), o = fe("v-list"), i = fe("v-select-all"), f = fe("v-total"), h = fe("v-separator"), v = fe("v-deselect-all");
return W(), ne("div", null, [
Q("div", os, [
Q("div", is, [
e.search ? (W(), ue(a, {
key: 0,
placeholder: e.placeholderSearchLeft,
class: "vss-list-search",
modelValue: s.searchL,
"onUpdate:modelValue": t[0] || (t[0] = (m) => s.searchL = m)
}, null, 8, ["placeholder", "modelValue"])) : re("", !0),
Se(o, {
"enable-counter": !1,
"has-children": !1,
type: e.type,
side: "left",
items: l.filteredListL,
onUpdatedItem: l.updateItem
}, null, 8, ["type", "items", "onUpdatedItem"]),
Oe(Q("div", cs, [
Q("div", us, [
Q("div", null, [
e.toggleAll ? (W(), ue(i, {
key: 0,
items: s.listLeft,
onUpdateSelectAll: l.updateLeftSelectAll
}, null, 8, ["items", "onUpdateSelectAll"])) : re("", !0)
]),
e.total ? (W(), ue(f, {
key: 0,
value: s.dataSelected.length
}, null, 8, ["value"])) : re("", !0)
])
], 512), [
[Ce, e.toggleAll || e.total]
])
])
]),
Se(h),
Q("div", fs, [
Q("div", _s, [
e.search ? (W(), ue(a, {
key: 0,
placeholder: e.placeholderSearchRight,
class: "vss-list-search",
modelValue: s.searchR,
"onUpdate:modelValue": t[1] || (t[1] = (m) => s.searchR = m)
}, null, 8, ["placeholder", "modelValue"])) : re("", !0),
Se(o, {
"enable-counter": !1,
"has-children": !1,
type: e.type,
side: "right",
items: l.filteredListR,
onUpdatedItem: l.updateItem
}, null, 8, ["type", "items", "onUpdatedItem"]),
Oe(Q("div", ds, [
Q("div", ms, [
Q("div", null, [
e.toggleAll ? (W(), ue(v, {
key: 0,
items: s.listRight,
onUpdateDeselectAll: l.updateRightDeselectAll
}, null, 8, ["items", "onUpdateDeselectAll"])) : re("", !0)
])
])
], 512), [
[Ce, e.toggleAll || e.total]
])
])
])
]);
}
const hs = /* @__PURE__ */ Ne(as, [["render", ps]]), Es = {
// i18n,
name: "vue-select-sides",
display: "Core select sides",
components: {
"mirror-select-sides": hs,
"grouped-select-sides": ss
},
props: {
list: {
required: !0,
type: [Array, Object]
},
type: {
type: String,
default: void 0
// "grouped"
},
orderBy: {
type: String,
default: void 0
},
placeholderSearchLeft: {
type: [String, Boolean],
default: void 0
// false
},
placeholderSearchRight: {
type: [String, Boolean],
default: void 0
// false
},
sortSelectedUp: {
type: Boolean,
default: void 0
// false
},
search: {
type: Boolean,
default: void 0
// true
},
total: {
type: Boolean,
default: void 0
// true
},
toggleAll: {
type: Boolean,
default: void 0
// true
},
modelValue: {
type: [Object, Array],
default: void 0
}
},
emits: ["update:model-value"],
watch: {
list(e) {
this.listClone = be(e);
},
type(e) {
this.params.type = e;
},
search(e) {
this.params.search = e;
},
total(e) {
this.params.total = e;
},
toggleAll(e) {
this.params.toggleAll = e;
},
orderBy(e) {
this.params.orderBy = e;
},
placeholderSearchLeft(e) {
this.params.placeholderSearchLeft = e;
},
placeholderSearchRight(e) {
this.params.placeholderSearchRight = e;
},
sortSelectedUp(e) {
this.params.sortSelectedUp = e;
}
},
methods: {
updateSelected(e) {
this.$emit("update:model-value", e);
},
getComponent() {
return this.params.type == "mirror" ? "mirror-select-sides" : "grouped-select-sides";
},
selectLocale(e) {
this.enabledLocales.indexOf(e) >= 0 && (this.$i18n.locale = e);
},
setDefaultParams() {
let e = this, t = {
type: e.type,
orderBy: e.orderBy,
placeholderSearchLeft: e.placeholderSearchLeft,
placeholderSearchRight: e.placeholderSearchRight,
sortSelectedUp: e.sortSelectedUp,
search: e.search,
total: e.total,
toggleAll: e.toggleAll
};
Object.keys(t).forEach((n) => {
let r = t[n];
r === void 0 ? e.defaultOptions[n] !== void 0 && (e.params[n] = e.defaultOptions[n]) : e.params[n] = r;
}), e.defaultOptions.locale !== void 0 && e.selectLocale(e.defaultOptions.locale);
}
},
computed: {
modelProp: {
get() {
return this.modelValue;
},
set(e) {
this.$emit("update:model-value", e);
}
}
},
beforeMount() {
this.setDefaultParams(), this.listClone = be(this.list);
},
data() {
return {
listClone: [],
locale: "en_US",
enabledLocales: [
"pt_BR",
"en_US",
"es_ES",
"fr_FR",
"tr_TR",
"pl_PL",
"cz_CZ",
"sk_SK"
],
params: {
type: "mirror",
orderBy: void 0,
placeholderSearchLeft: !1,
placeholderSearchRight: !1,
sortSelectedUp: !1,
search: !0,
total: !0,
toggleAll: !0
}
};
}
};
function gs(e, t, n, r, s, l) {
return W(), ue(ar(l.getComponent()), {
class: "vss",
type: s.params.type,
list: s.listClone,
search: s.params.search,
total: s.params.total,
"toggle-all": s.params.toggleAll,
"order-by": s.params.orderBy,
"placeholder-search-left": s.params.placeholderSearchLeft,
"placeholder-search-right": s.params.placeholderSearchRight,
"sort-selected-up": s.params.sortSelectedUp,
modelValue: l.modelProp,
"onUpdate:modelValue": t[0] || (t[0] = (a) => l.modelProp = a),
onUpdateSelected: l.updateSelected
}, null, 40, ["type", "list", "search", "total", "toggle-all", "order-by", "placeholder-search-left", "placeholder-search-right", "sort-selected-up", "modelValue", "onUpdateSelected"]);
}
const vl = /* @__PURE__ */ Ne(Es, [["render", gs]]), vs = "Vybrat vše ", Ns = "Odebrat vše ", Ls = "Hledej...", Os = "Žádný výsledek...", Ts = "Nic není vybráno...", bs = "Spolu vybrané", Is = {
selectAll: vs,
deselectAll: Ns,
searchPlaceholder: Ls,
searchNoResult: Os,
searchParentSelected: Ts,
totalSelected: bs
}, Ss = "Select all", As = "Deselect all", ys = "Search...", Ps = "No result...", Cs = "No items selected...", Rs = "Total items selected", Ds = {
selectAll: Ss,
deselectAll: As,
searchPlaceholder: ys,
searchNoResult: Ps,
searchParentSelected: Cs,
totalSelected: Rs
}, ks = "Seleccionar todos", Ms = "Deseleccionar todos", Fs = "Buscar...", Us = "Sin resultados...", ws = "Ningún elemento seleccionado...", Vs = "Elementos seleccionados", $s = {
selectAll: ks,
deselectAll: Ms,
searchPlaceholder: Fs,
searchNoResult: Us,
searchParentSelected: ws,
totalSelected: Vs
}, Ws = "Ajouter tout", Gs = "Supprimer tout", Hs = "Recherche...", Bs = "Pas de résultat...", Ys = "Sélection vide...", xs = "Éléments sélectionnés", js = {
selectAll: Ws,
deselectAll: Gs,
searchPlaceholder: Hs,
searchNoResult: Bs,
searchParentSelected: Ys,
totalSelected: xs
}, Ks = "Wybierz wszystko", Xs = "Wyczyść zaznaczenie", Js = "Szukaj...", Qs = "Brak wyników...", qs = "Nie wybrano żadnych elementów...", Zs = "Liczba wybranych elementów", zs = {
selectAll: Ks,
deselectAll: Xs,
searchPlaceholder: Js,
searchNoResult: Qs,
searchParentSelected: qs,
totalSelected: Zs
}, ea = "Selecionar todos", ta = "Remover todos", na = "Pesquisar...", la = "Sem nenhum resultado...", ra = "Nenhum item selecionado...", sa = "Total de itens selecionados", aa = {
selectAll: ea,
deselectAll: ta,
searchPlaceholder: na,
searchNoResult: la,
searchParentSelected: ra,
totalSelected: sa
}, oa = "Vybrať všetko", ia = "Odobrať všetko", ca = "Hľadaj...", ua = "Žiadny výsledok...", fa = "Nič nie je vybrané...", _a = "Spolu vybrané", da = {
selectAll: oa,
deselectAll: ia,
searchPlaceholder: ca,
searchNoResult: ua,
searchParentSelected: fa,
totalSelected: _a
}, ma = "Hepsini Seç", pa = "Hepsini Çıkar", ha = "Ara...", Ea = "Sonuç Bulunamadı...", ga = "Hiçbiri Seçilmedi...", va = "Hepsi Seçildi", Na = {
selectAll: ma,
deselectAll: pa,
searchPlaceholder: ha,
searchNoResult: Ea,
searchParentSelected: ga,
totalSelected: va
};
/*!
* shared v9.14.2
* (c) 2024 kazuya kawaguchi
* Released under the MIT License.
*/
const ve = typeof window < "u";
let me, Ye;
if (process.env.NODE_ENV !== "production") {
const e = ve && window.performance;
e && e.mark && e.measure && e.clearMarks && // @ts-ignore browser compat
e.clearMeasures && (me = (t) => {
e.mark(t);
}, Ye = (t, n, r) => {
e.measure(t, n, r), e.clearMarks(n), e.clearMarks(r);
});
}
const La = /\{([0-9a-zA-Z]+)\}/g;
function cn(e, ...t) {
return t.length === 1 && w(t[0]) && (t = t[0]), (!t || !t.hasOwnProperty) && (t = {}), e.replace(La, (n, r) => t.hasOwnProperty(r) ? t[r] : "");
}
const Ae = (e, t = !1) => t ? Symbol.for(e) : Symbol(e), Oa = (e, t, n) => Ta({ l: e, k: t, s: n }), Ta = (e) => JSON.stringify(e).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029").replace(/\u0027/g, "\\u0027"), z = (e) => typeof e == "number" && isFinite(e), ba = (e) => Ll(e) === "[object Date]", Ue = (e) => Ll(e) === "[object RegExp]", Ut = (e) => F(e) && Object.keys(e).length === 0, se = Object.assign, Ia = Object.create, x = (e = null) => Ia(e);
let bn;
const Re = () => bn || (bn = typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : typeof window < "u" ? window : typeof global < "u" ? global : x());
function In(e) {
return e.replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
}
const Sa = Object.prototype.hasOwnProperty;
function ge(e, t) {
return Sa.call(e, t);
}
const X = Array.isArray, Y = (e) => typeof e == "function", C = (e) => typeof e == "string", U = (e) => typeof e == "boolean", w = (e) => e !== null && typeof e == "object", Aa = (e) => w(e) && Y(e.then) && Y(e.catch), Nl = Object.prototype.toString, Ll = (e) => Nl.call(e), F = (e) => {
if (!w(e))
return !1;
const t = Object.getPrototypeOf(e);
return t === null || t.constructor === Object;
}, ya = (e) => e == null ? "" : X(e) || F(e) && e.toString === Nl ? JSON.stringify(e, null, 2) : String(e);
function Pa(e, t = "") {
return e.reduce((n, r, s) => s === 0 ? n + r : n + t + r, "");
}
const Sn = 2;
function Ca(e, t = 0, n = e.length) {
const r = e.split(/\r?\n/);
let s = 0;
const l = [];
for (let a = 0; a < r.length; a++)
if (s += r[a].length + 1, s >= t) {
for (let o = a - Sn; o <= a + Sn || n > s; o++) {
if (o < 0 || o >= r.length)
continue;
const i = o + 1;
l.push(`${i}${" ".repeat(3 - String(i).length)}| ${r[o]}`);
const f = r[o].length;
if (o === a) {
const h = t - (s - f) + 1, v = Math.max(1, n > s ? f - h : n - t);
l.push(" | " + " ".repeat(h) + "^".repeat(v));
} else if (o > a) {
if (n > s) {
const h = Math.max(Math.min(n - s, f), 1);
l.push(" | " + "^".repeat(h));
}
s += f + 1;
}
}
break;
}
return l.join(`
`);
}
function wt(e) {
let t = e;
return () => ++t;
}
function ee(e, t) {
typeof console < "u" && (console.warn("[intlify] " + e), t && console.warn(t.stack));
}
const An = {};
function Ol(e) {
An[e] || (An[e] = !0, ee(e));
}
function un() {
const e = /* @__PURE__ */ new Map();
return {
events: e,
on(n, r) {
const s = e.get(n);
s && s.push(r) || e.set(n, [r]);
},
off(n, r) {
const s = e.get(n);
s && s.splice(s.indexOf(r) >>> 0, 1);
},
emit(n, r) {
(e.get(n) || []).slice().map((s) => s(r)), (e.get("*") || []).slice().map((s) => s(n, r));
}
};
}
const Pt = (e) => !w(e) || X(e);
function Rt(e, t) {
if (Pt(e) || Pt(t))
throw new Error("Invalid value");
const n = [{ src: e, des: t }];
for (; n.length; ) {
const { src: r, des: s } = n.pop();
Object.keys(r).forEach((l) => {
l !== "__proto__" && (w(r[l]) && !w(s[l]) && (s[l] = Array.isArray(r[l]) ? [] : x()), Pt(s[l]) || Pt(r[l]) ? s[l] = r[l] : n.push({ src: r[l], des: s[l] }));
});
}
}
/*!
* message-compiler v9.14.2
* (c) 2024 kazuya kawaguchi
* Released under the MIT License.
*/
function Ra(e, t, n) {
return { line: e, column: t, offset: n };
}
function Mt(e, t, n) {
return { start: e, end: t };
}
const Da = /\{([0-9a-zA-Z]+)\}/g;
function Tl(e, ...t) {
return t.length === 1 && ka(t[0]) && (t = t[0]), (!t || !t.hasOwnProperty) && (t = {}), e.replace(Da, (n, r) => t.hasOwnProperty(r) ? t[r] : "");
}
const bl = Object.assign, yn = (e) => typeof e == "string", ka = (e) => e !== null && typeof e == "object";
function Il(e, t = "") {
return e.reduce((n, r, s) => s === 0 ? n + r : n + t + r, "");
}
const Vt = {
USE_MODULO_SYNTAX: 1,
__EXTEND_POINT__: 2
}, Ma = {
[Vt.USE_MODULO_SYNTAX]: "Use modulo before '{{0}}'."
};
function Fa(e, t, ...n) {
const r = Tl(Ma[e], ...n || []), s = { message: String(r), code: e };
return t && (s.location = t), s;
}
const M = {
// tokenizer error codes
EXPECTED_TOKEN: 1,
INVALID_TOKEN_IN_PLACEHOLDER: 2,
UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,
UNKNOWN_ESCAPE_SEQUENCE: 4,
INVALID_UNICODE_ESCAPE_SEQUENCE: 5,
UNBALANCED_CLOSING_BRACE: 6,
UNTERMINATED_CLOSING_BRACE: 7,
EMPTY_PLACEHOLDER: 8,
NOT_ALLOW_NEST_PLACEHOLDER: 9,
INVALID_LINKED_FORMAT: 10,
// parser error codes
MUST_HAVE_MESSAGES_IN_PLURAL: 11,
UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,
UNEXPECTED_EMPTY_LINKED_KEY: 13,
UNEXPECTED_LEXICAL_ANALYSIS: 14,
// generator error codes
UNHANDLED_CODEGEN_NODE_TYPE: 15,
// minifier error codes
UNHANDLED_MINIFIER_NODE_TYPE: 16,
// Special value for higher-order compilers to pick up the last code
// to avoid collision of error codes. This should always be kept as the last
// item.
__EXTEND_POINT__: 17
}, Ua = {
// tokenizer error messages
[M.EXPECTED_TOKEN]: "Expected token: '{0}'",
[M.INVALID_TOKEN_IN_PLACEHOLDER]: "Invalid token in placeholder: '{0}'",
[M.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: "Unterminated single quote in placeholder",
[M.UNKNOWN_ESCAPE_SEQUENCE]: "Unknown escape sequence: \\{0}",
[M.INVALID_UNICODE_ESCAPE_SEQUENCE]: "Invalid unicode escape sequence: {0}",
[M.UNBALANCED_CLOSING_BRACE]: "Unbalanced closing brace",
[M.UNTERMINATED_CLOSING_BRACE]: "Unterminated closing brace",
[M.EMPTY_PLACEHOLDER]: "Empty placeholder",
[M.NOT_ALLOW_NEST_PLACEHOLDER]: "Not allowed nest placeholder",
[M.INVALID_LINKED_FORMAT]: "Invalid linked format",
// parser error messages
[M.MUST_HAVE_MESSAGES_IN_PLURAL]: "Plural must have messages",
[M.UNEXPECTED_EMPTY_LINKED_MODIFIER]: "Unexpected empty linked modifier",
[M.UNEXPECTED_EMPTY_LINKED_KEY]: "Unexpected empty linked key",
[M.UNEXPECTED_LEXICAL_ANALYSIS]: "Unexpected lexical analysis in token: '{0}'",
// generator error messages
[M.UNHANDLED_CODEGEN_NODE_TYPE]: "unhandled codegen node type: '{0}'",
// minimizer error messages
[M.UNHANDLED_MINIFIER_NODE_TYPE]: "unhandled mimifier node type: '{0}'"
};
function lt(e, t, n = {}) {
const { domain: r, messages: s, args: l } = n, a = Tl((s || Ua)[e] || "", ...l || []), o = new SyntaxError(String(a));
return o.code = e, t && (o.location = t), o.domain = r, o;
}
function wa(e) {
throw e;
}
const Va = /<\/?[\w\s="/.':;#-\/]+>/, $a = (e) => Va.test(e), ye = " ", Wa = "\r", oe = `
`, Ga = "\u2028", Ha = "\u2029";
function Ba(e) {
const t = e;
let n = 0, r = 1, s = 1, l = 0;
const a = (S) => t[S] === Wa && t[S + 1] === oe, o = (S) => t[S] === oe, i = (S) => t[S] === Ha, f = (S) => t[S] === Ga, h = (S) => a(S) || o(S) || i(S) || f(S), v = () => n, m = () => r, T = () => s, d = () => l, E = (S) => a(S) || i(S) || f(S) ? oe : t[S], N = () => E(n), y = () => E(n + l);
function R() {
return l = 0, h(n) && (r++, s = 0), a(n) && n++, n++, s++, t[n];
}
function _() {
return a(n + l) && l++, l++, t[n + l];
}
function g() {
n = 0, r = 1, s = 1, l = 0;
}
function I(S = 0) {
l = S;
}
function L() {
const S = n + l;
for (; S !== n; )
R();
l = 0;
}
return {
index: v,
line: m,
column: T,
peekOffset: d,
charAt: E,
currentChar: N,
currentPeek: y,
next: R,
peek: _,
reset: g,
resetPeek: I,
skipToPeek: L
};
}
const ke = void 0, Ya = ".", Pn = "'", xa = "tokenizer";
function ja(e, t = {}) {
const n = t.location !== !1, r = Ba(e), s = () => r.index(), l = () => Ra(r.line(), r.column(), r.index()), a = l(), o = s(), i = {
currentType: 14,
offset: o,
startLoc: a,
endLoc: a,
lastType: 14,
lastOffset: o,
lastStartLoc: a,
lastEndLoc: a,
braceNest: 0,
inLinked: !1,
text: ""
}, f = () => i, { onError: h } = t;
function v(c, u, O, ...k) {
const J = f();
if (u.column += O, u.offset += O, h) {
const j = n ? Mt(J.startLoc, u) : null, B = lt(c, j, {
domain: xa,
args: k
});
h(B);
}
}
function m(c, u, O) {
c.endLoc = l(), c.currentType = u;
const k = { type: u };
return n && (k.loc = Mt(c.startLoc, c.endLoc)), O != null && (k.value = O), k;
}
const T = (c) => m(
c,
14
/* TokenTypes.EOF */
);
function d(c, u) {
return c.currentChar() === u ? (c.next(), u) : (v(M.EXPECTED_TOKEN, l(), 0, u), "");
}
function E(c) {
let u = "";
for (; c.currentPeek() === ye || c.currentPeek() === oe; )
u += c.currentPeek(), c.peek();
return u;
}
function N(c) {
const u = E(c);
return c.skipToPeek(), u;
}
function y(c) {
if (c === ke)
return !1;
const u = c.charCodeAt(0);
return u >= 97 && u <= 122 || // a-z
u >= 65 && u <= 90 || // A-Z
u === 95;
}
function R(c) {
if (c === ke)
return !1;
const u = c.charCodeAt(0);
return u >= 48 && u <= 57;
}
function _(c, u) {
const { currentType: O } = u;
if (O !== 2)
return !1;
E(c);
const k = y(c.currentPeek());
return c.resetPeek(), k;
}
function g(c, u) {
const { currentType: O } = u;
if (O !== 2)
return !1;
E(c);
const k = c.currentPeek() === "-" ? c.peek() : c.currentPeek(), J = R(k);
return c.resetPeek(), J;
}
function I(c, u) {
const { currentType: O } = u;
if (O !== 2)
return !1;
E(c);
const k = c.currentPeek() === Pn;
return c.resetPeek(), k;
}
function L(c, u) {
const { currentType: O } = u;
if (O !== 8)
return !1;
E(c);
const k = c.currentPeek() === ".";
return c.resetPeek(), k;
}
function S(c, u) {
const { currentType: O } = u;
if (O !== 9)
return !1;
E(c);
const k = y(c.currentPeek());
return c.resetPeek(), k;
}
function D(c, u) {
const { currentType: O } = u;
if (!(O === 8 || O === 12))
return !1;
E(c);
const k = c.currentPeek() === ":";
return c.resetPeek(), k;
}
function A(c, u) {
const { currentType: O } = u;
if (O !== 10)
return !1;
const k = () => {
const j = c.currentPeek();
return j === "{" ? y(c.peek()) : j === "@" || j === "%" || j === "|" || j === ":" || j === "." || j === ye || !j ? !1 : j === oe ? (c.peek(), k()) : V(c, !1);
}, J = k();
return c.resetPeek(), J;
}
function K(c) {
E(c);
const u = c.currentPeek() === "|";
return c.resetPeek(), u;
}
function de(c) {
const u = E(c), O = c.currentPeek() === "%" && c.peek() === "{";
return c.resetPeek(), {
isModulo: O,
hasSpace: u.length > 0
};
}
function V(c, u = !0) {
const O = (J = !1, j = "", B = !1) => {
const p = c.currentPeek();
return p === "{" ? j === "%" ? !1 : J : p === "@" || !p ? j === "%" ? !0 : J : p === "%" ? (c.peek(), O(J, "%", !0)) : p === "|" ? j === "%" || B ? !0 : !(j === ye || j === oe) : p === ye ? (c.peek(), O(!0, ye, B)) : p === oe ? (c.peek(), O(!0, oe, B)) : !0;
}, k = O();
return u && c.resetPeek(), k;
}
function ae(c, u) {
const O = c.currentChar();
return O === ke ? ke : u(O) ? (c.next(), O) : null;
}
function rt(c) {
const u = c.charCodeAt(0);
return u >= 97 && u <= 122 || // a-z
u >= 65 && u <= 90 || // A-Z
u >= 48 && u <= 57 || // 0-9
u === 95 || // _
u === 36;
}
function st(c) {
return ae(c, rt);
}
function Le(c) {
const u = c.charCodeAt(0);
return u >= 97 && u <= 122 || // a-z
u >= 65 && u <= 90 || // A-Z
u >= 48 && u <= 57 || // 0-9
u === 95 || // _
u === 36 || // $
u === 45;
}
function at(c) {
return ae(c, Le);
}
function ot(c) {
const u = c.charCodeAt(0);
return u >= 48 && u <= 57;
}
function it(c) {
return ae(c, ot);
}
function ct(c) {
const u = c.charCodeAt(0);
return u >= 48 && u <= 57 || // 0-9
u >= 65 && u <= 70 || // A-F
u >= 97 && u <= 102;
}
function ut(c) {
return ae(c, ct);
}
function pe(c) {
let u = "", O = "";
for (; u = it(c); )
O += u;
return O;
}
function Ke(c) {
N(c);
const u = c.currentChar();
return u !== "%" && v(M.EXPECTED_TOKEN, l(), 0, u), c.next(), "%";
}
function Xe(c) {
let u = "";
for (; ; ) {
const O = c.currentChar();
if (O === "{" || O === "}" || O === "@" || O === "|" || !O)
break;
if (O === "%")
if (V(c))
u += O, c.next();
else
break;
else if (O === ye || O === oe)
if (V(c))
u += O, c.next();
else {
if (K(c))
break;
u += O, c.next();
}
else
u += O, c.next();
}
return u;
}
function ft(c) {
N(c);
let u = "", O = "";
for (; u = at(c); )
O += u;
return c.currentChar() === ke && v(M.UNTERMINATED_CLOSING_BRACE, l(), 0), O;
}
function _t(c) {
N(c);
let u = "";
return c.currentChar() === "-" ? (c.next(), u += `-${pe(c)}`) : u += pe(c), c.currentChar() === ke && v(M.UNTERMINATED_CLOSING_BRACE, l(), 0), u;
}
function dt(c) {
return c !== Pn && c !== oe;
}
function At(c) {
N(c), d(c, "'");
let u = "", O = "";
for (; u = ae(c, dt); )
u === "\\" ? O += mt(c) : O += u;
const k = c.currentChar();
return k === oe || k === ke ? (v(M.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, l(), 0), k === oe && (c.next(), d(c, "'")), O) : (d(c, "'"), O);
}
function mt(c) {
const u = c.currentChar();
switch (u) {
case "\\":
case "'":
return c.next(), `\\${u}`;
case "u":
return Je(c, u, 4);
case "U":
return Je(c, u, 6);
default:
return v(M.UNKNOWN_ESCAPE_SEQUENCE, l(), 0, u), "";
}
}
function Je(c, u, O) {
d(c, u);
let k = "";
for (let J = 0; J < O; J++) {
const j = ut(c);
if (!j) {
v(M.INVALID_UNICODE_ESCAPE_SEQUENCE, l(), 0, `\\${u}${k}${c.currentChar()}`);
break;
}
k += j;
}
return `\\${u}${k}`;
}
function pt(c) {
return c !== "{" && c !== "}" && c !== ye && c !== oe;
}
function ht(c) {
N(c);
let u = "", O = "";
for (; u = ae(c, pt); )
O += u;
return O;
}
function Et(c) {
let u = "", O = "";
for (; u = st(c); )
O += u;
return O;
}
function P(c) {
const u = (O) => {
const k = c.currentChar();
return k === "{" || k === "%" || k === "@" || k === "|" || k === "(" || k === ")" || !k || k === ye ? O : (O += k, c.next(), u(O));
};
return u("");
}
function G(c) {
N(c);
const u = d(
c,
"|"
/* TokenChars.Pipe */
);
return N(c), u;
}
function gt(c, u) {
let O = null;
switch (c.currentChar()) {
case "{":
return u.braceNest >= 1 && v(M.NOT_ALLOW_NEST_PLACEHOLDER, l(), 0), c.next(), O = m(
u,
2,
"{"
/* TokenChars.BraceLeft */
), N(c), u.braceNest++, O;
case "}":
return u.braceNest > 0 && u.currentType === 2 && v(M.EMPTY_PLACEHOLDER, l(), 0), c.next(), O = m(
u,
3,
"}"
/* TokenChars.BraceRight */
), u.braceNest--, u.braceNest > 0 && N(c), u.inLinked && u.braceNest === 0 && (u.inLinked = !1), O;
case "@":
return u.braceNest > 0 && v(M.UNTERMINATED_CLOSING_BRACE, l(), 0), O = We(c, u) || T(u), u.braceNest = 0, O;
default: {
let J = !0, j = !0, B = !0;
if (K(c))
return u.braceNest > 0 && v(M.UNTERMINATED_CLOSING_BRACE, l(), 0), O = m(u, 1, G(c)), u.braceNest = 0, u.inLinked = !1, O;
if (u.braceNest > 0 && (u.currentType === 5 || u.currentType === 6 || u.currentType === 7))
return v(M.UNTERMINATED_CLOSING_BRACE, l(), 0), u.braceNest = 0, vt(c, u);
if (J = _(c, u))
return O = m(u, 5, ft(c)), N(c), O;
if (j = g(c, u))
return O = m(u, 6, _t(c)), N(c), O;
if (B = I(c, u))
return O = m(u, 7, At(c)), N(c), O;
if (!J && !j && !B)
return O = m(u, 13, ht(c)), v(M.INVALID_TOKEN_IN_PLACEHOLDER, l(), 0, O.value), N(c), O;
break;
}
}
return O;
}
function We(c, u) {
const { currentType: O } = u;
let k = null;
const J = c.currentChar();
switch ((O === 8 || O === 9 || O === 12 || O === 10) && (J === oe || J === ye) && v(M.INVALID_LINKED_FORMAT, l(), 0), J) {
case "@":
return c.next(), k = m(
u,
8,
"@"
/* TokenChars.LinkedAlias */
), u.inLinked = !0, k;
case ".":
return N(c), c.next(), m(
u,
9,
"."
/* TokenChars.LinkedDot */
);
case ":":
return N(c), c.next(), m(
u,
10,
":"
/* TokenChars.LinkedDelimiter */
);
default:
return K(c) ? (k = m(u, 1, G(c)), u.braceNest = 0, u.inLinked = !1, k) : L(c, u) || D(c, u) ? (N(c), We(c, u)) : S(c, u) ? (N(c), m(u, 12, Et(c))) : A(c, u) ? (N(c), J === "{" ? gt(c, u) || k : m(u, 11, P(c))) : (O === 8 && v(M.INVALID_LINKED_FORMAT, l(), 0), u.braceNest = 0, u.inLinked = !1, vt(c, u));
}
}
function vt(c, u) {
let O = {
type: 14
/* TokenTypes.EOF */
};
if (u.braceNest > 0)
return gt(c, u) || T(u);
if (u.inLinked)
return We(c, u) || T(u);
switch (c.currentChar()) {
case "{":
return gt(c, u) || T(u);
case "}":
return v(M.UNBALANCED_CLOSING_BRACE, l(), 0), c.next(), m(
u,
3,
"}"
/* TokenChars.BraceRight */
);
case "@":
return We(c, u) || T(u);
default: {
if (K(c))
return O = m(u, 1, G(c)), u.braceNest = 0, u.inLinked = !1, O;
const { isModulo: J, hasSpace: j } = de(c);
if (J)
return j ? m(u, 0, Xe(c)) : m(u, 4, Ke(c));
if (V(c))
return