UNPKG

mobile-table-pagination

Version:

A mobile-friendly table component for dynamic data display.

1,444 lines (1,439 loc) 81.4 kB
import { computed as s, markRaw as ct, defineComponent as dt, getCurrentInstance as Z, h as p, Transition as je, ref as L, onBeforeUnmount as de, withDirectives as St, reactive as _t, onMounted as fe, watch as H, onBeforeUpdate as qt, inject as Mt, nextTick as G, onDeactivated as Bt, onActivated as Et, resolveComponent as De, openBlock as Y, createElementBlock as X, Fragment as ve, renderList as Ne, createBlock as Rt, unref as ge, mergeProps as Ke, withCtx as Ee, createVNode as ue, normalizeStyle as $t, createElementVNode as He, toDisplayString as Re, createTextVNode as Pt, renderSlot as Vt, createCommentVNode as me } from "vue"; const qe = { dark: { type: Boolean, default: null } }; function Me(e, t) { return s(() => e.dark === null ? t.dark.isActive : e.dark); } function Ie(e, t, l, a) { return Object.defineProperty(e, t, { get: l, set: a, enumerable: !0 }), e; } function ee(e) { return ct(dt(e)); } function Tt(e) { return ct(e); } function ne(e, t) { return e !== void 0 && e() || t; } function se(e, t) { return e !== void 0 ? t.concat(e()) : t; } const Ft = ee({ name: "QCard", props: { ...qe, tag: { type: String, default: "div" }, square: Boolean, flat: Boolean, bordered: Boolean }, setup(e, { slots: t }) { const { proxy: { $q: l } } = Z(), a = Me(e, l), n = s( () => "q-card" + (a.value === !0 ? " q-card--dark q-dark" : "") + (e.bordered === !0 ? " q-card--bordered" : "") + (e.square === !0 ? " q-card--square no-border-radius" : "") + (e.flat === !0 ? " q-card--flat no-shadow" : "") ); return () => p(e.tag, { class: n.value }, ne(t.default)); } }), Ot = ee({ name: "QCardSection", props: { tag: { type: String, default: "div" }, horizontal: Boolean }, setup(e, { slots: t }) { const l = s( () => `q-card__section q-card__section--${e.horizontal === !0 ? "horiz row no-wrap" : "vert"}` ); return () => p(e.tag, { class: l.value }, ne(t.default)); } }), Te = { xs: 18, sm: 24, md: 32, lg: 38, xl: 46 }, ft = { size: String }; function vt(e, t = Te) { return s(() => e.size !== void 0 ? { fontSize: e.size in t ? `${t[e.size]}px` : e.size } : null); } const At = { size: { type: [String, Number], default: "1em" }, color: String }; function Lt(e) { return { cSize: s(() => e.size in Te ? `${Te[e.size]}px` : e.size), classes: s( () => "q-spinner" + (e.color ? ` text-${e.color}` : "") ) }; } const ze = ee({ name: "QSpinner", props: { ...At, thickness: { type: Number, default: 5 } }, setup(e) { const { cSize: t, classes: l } = Lt(e); return () => p("svg", { class: l.value + " q-spinner-mat", width: t.value, height: t.value, viewBox: "25 25 50 50" }, [ p("circle", { class: "path", cx: "50", cy: "50", r: "20", fill: "none", stroke: "currentColor", "stroke-width": e.thickness, "stroke-miterlimit": "10" }) ]); } }), jt = { transitionShow: { type: String, default: "fade" }, transitionHide: { type: String, default: "fade" }, transitionDuration: { type: [String, Number], default: 300 } }; function It(e, t = () => { }, l = () => { }) { return { transitionProps: s(() => { const a = `q-transition--${e.transitionShow || t()}`, n = `q-transition--${e.transitionHide || l()}`; return { appear: !0, enterFromClass: `${a}-enter-from`, enterActiveClass: `${a}-enter-active`, enterToClass: `${a}-enter-to`, leaveFromClass: `${n}-leave-from`, leaveActiveClass: `${n}-leave-active`, leaveToClass: `${n}-leave-to` }; }), transitionStyle: s(() => `--q-transition-duration: ${e.transitionDuration}ms`) }; } const zt = ee({ name: "QInnerLoading", props: { ...qe, ...jt, showing: Boolean, color: String, size: { type: [String, Number], default: "42px" }, label: String, labelClass: String, labelStyle: [String, Array, Object] }, setup(e, { slots: t }) { const l = Z(), a = Me(e, l.proxy.$q), { transitionProps: n, transitionStyle: i } = It(e), r = s( () => "q-inner-loading q--avoid-card-border absolute-full column flex-center" + (a.value === !0 ? " q-inner-loading--dark" : "") ), c = s( () => "q-inner-loading__label" + (e.labelClass !== void 0 ? ` ${e.labelClass}` : "") ); function q() { const m = [ p(ze, { size: e.size, color: e.color }) ]; return e.label !== void 0 && m.push( p("div", { class: c.value, style: e.labelStyle }, [e.label]) ), m; } function C() { return e.showing === !0 ? p( "div", { class: r.value, style: i.value }, t.default !== void 0 ? t.default() : q() ) : null; } return () => p(je, n.value, C); } }), Ue = "0 0 24 24", Qe = (e) => e, $e = (e) => `ionicons ${e}`, gt = { "mdi-": (e) => `mdi ${e}`, "icon-": Qe, // fontawesome equiv "bt-": (e) => `bt ${e}`, "eva-": (e) => `eva ${e}`, "ion-md": $e, "ion-ios": $e, "ion-logo": $e, "iconfont ": Qe, "ti-": (e) => `themify-icon ${e}`, "bi-": (e) => `bootstrap-icons ${e}` }, mt = { o_: "-outlined", r_: "-round", s_: "-sharp" }, ht = { sym_o_: "-outlined", sym_r_: "-rounded", sym_s_: "-sharp" }, Dt = new RegExp("^(" + Object.keys(gt).join("|") + ")"), Nt = new RegExp("^(" + Object.keys(mt).join("|") + ")"), Ze = new RegExp("^(" + Object.keys(ht).join("|") + ")"), Kt = /^[Mm]\s?[-+]?\.?\d/, Ht = /^img:/, Ut = /^svguse:/, Qt = /^ion-/, Zt = /^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /, ke = ee({ name: "QIcon", props: { ...ft, tag: { type: String, default: "i" }, name: String, color: String, left: Boolean, right: Boolean }, setup(e, { slots: t }) { const { proxy: { $q: l } } = Z(), a = vt(e), n = s( () => "q-icon" + (e.left === !0 ? " on-left" : "") + (e.right === !0 ? " on-right" : "") + (e.color !== void 0 ? ` text-${e.color}` : "") ), i = s(() => { let r, c = e.name; if (c === "none" || !c) return { none: !0 }; if (l.iconMapFn !== null) { const m = l.iconMapFn(c); if (m !== void 0) if (m.icon !== void 0) { if (c = m.icon, c === "none" || !c) return { none: !0 }; } else return { cls: m.cls, content: m.content !== void 0 ? m.content : " " }; } if (Kt.test(c) === !0) { const [m, k = Ue] = c.split("|"); return { svg: !0, viewBox: k, nodes: m.split("&&").map((y) => { const [M, B, T] = y.split("@@"); return p("path", { style: B, d: M, transform: T }); }) }; } if (Ht.test(c) === !0) return { img: !0, src: c.substring(4) }; if (Ut.test(c) === !0) { const [m, k = Ue] = c.split("|"); return { svguse: !0, src: m.substring(7), viewBox: k }; } let q = " "; const C = c.match(Dt); if (C !== null) r = gt[C[1]](c); else if (Zt.test(c) === !0) r = c; else if (Qt.test(c) === !0) r = `ionicons ion-${l.platform.is.ios === !0 ? "ios" : "md"}${c.substring(3)}`; else if (Ze.test(c) === !0) { r = "notranslate material-symbols"; const m = c.match(Ze); m !== null && (c = c.substring(6), r += ht[m[1]]), q = c; } else { r = "notranslate material-icons"; const m = c.match(Nt); m !== null && (c = c.substring(2), r += mt[m[1]]), q = c; } return { cls: r, content: q }; }); return () => { const r = { class: n.value, style: a.value, "aria-hidden": "true", role: "presentation" }; return i.value.none === !0 ? p(e.tag, r, ne(t.default)) : i.value.img === !0 ? p(e.tag, r, se(t.default, [ p("img", { src: i.value.src }) ])) : i.value.svg === !0 ? p(e.tag, r, se(t.default, [ p("svg", { viewBox: i.value.viewBox || "0 0 24 24" }, i.value.nodes) ])) : i.value.svguse === !0 ? p(e.tag, r, se(t.default, [ p("svg", { viewBox: i.value.viewBox }, [ p("use", { "xlink:href": i.value.src }) ]) ])) : (i.value.cls !== void 0 && (r.class += " " + i.value.cls), p(e.tag, r, se(t.default, [ i.value.content ]))); }; } }); function Wt(e, t) { const l = e.style; for (const a in t) l[a] = t[a]; } const Be = { hasPassive: !1, passiveCapture: !0, notPassiveCapture: !0 }; try { const e = Object.defineProperty({}, "passive", { get() { Object.assign(Be, { hasPassive: !0, passive: { passive: !0 }, notPassive: { passive: !1 }, passiveCapture: { passive: !0, capture: !0 }, notPassiveCapture: { passive: !1, capture: !0 } }); } }); window.addEventListener("qtest", null, e), window.removeEventListener("qtest", null, e); } catch { } function Yt(e) { return e.touches && e.touches[0] ? e = e.touches[0] : e.changedTouches && e.changedTouches[0] ? e = e.changedTouches[0] : e.targetTouches && e.targetTouches[0] && (e = e.targetTouches[0]), { top: e.clientY, left: e.clientX }; } function we(e) { e.stopPropagation(); } function ie(e) { e.cancelable !== !1 && e.preventDefault(); } function te(e) { e.cancelable !== !1 && e.preventDefault(), e.stopPropagation(); } function Xt(e, t, l) { const a = `__q_${t}_evt`; e[a] = e[a] !== void 0 ? e[a].concat(l) : l, l.forEach((n) => { n[0].addEventListener(n[1], e[n[2]], Be[n[3]]); }); } function Jt(e, t) { const l = `__q_${t}_evt`; e[l] !== void 0 && (e[l].forEach((a) => { a[0].removeEventListener(a[1], e[a[2]], Be[a[3]]); }), e[l] = void 0); } function bt(e) { return e !== Object(e) || e.isComposing === !0 || e.qKeyEvent === !0; } function xe(e, t) { return bt(e) === !0 ? !1 : [].concat(t).includes(e.keyCode); } function Gt(e, t = 250) { let l = !1, a; return function() { return l === !1 && (l = !0, setTimeout(() => { l = !1; }, t), a = e.apply(this, arguments)), a; }; } function We(e, t, l, a) { l.modifiers.stop === !0 && we(e); const n = l.modifiers.color; let i = l.modifiers.center; i = i === !0 || a === !0; const r = document.createElement("span"), c = document.createElement("span"), q = Yt(e), { left: C, top: m, width: k, height: y } = t.getBoundingClientRect(), M = Math.sqrt(k * k + y * y), B = M / 2, T = `${(k - M) / 2}px`, w = i ? T : `${q.left - C - B}px`, O = `${(y - M) / 2}px`, E = i ? O : `${q.top - m - B}px`; c.className = "q-ripple__inner", Wt(c, { height: `${M}px`, width: `${M}px`, transform: `translate3d(${w},${E},0) scale3d(.2,.2,1)`, opacity: 0 }), r.className = `q-ripple${n ? " text-" + n : ""}`, r.setAttribute("dir", "ltr"), r.appendChild(c), t.appendChild(r); const N = () => { r.remove(), clearTimeout(j); }; l.abort.push(N); let j = setTimeout(() => { c.classList.add("q-ripple__inner--enter"), c.style.transform = `translate3d(${T},${O},0) scale3d(1,1,1)`, c.style.opacity = 0.2, j = setTimeout(() => { c.classList.remove("q-ripple__inner--enter"), c.classList.add("q-ripple__inner--leave"), c.style.opacity = 0, j = setTimeout(() => { r.remove(), l.abort.splice(l.abort.indexOf(N), 1); }, 275); }, 250); }, 50); } function Ye(e, { modifiers: t, value: l, arg: a }) { const n = Object.assign({}, e.cfg.ripple, t, l); e.modifiers = { early: n.early === !0, stop: n.stop === !0, center: n.center === !0, color: n.color || a, keyCodes: [].concat(n.keyCodes || 13) }; } const en = Tt( { name: "ripple", beforeMount(e, t) { const l = t.instance.$.appContext.config.globalProperties.$q.config || {}; if (l.ripple === !1) return; const a = { cfg: l, enabled: t.value !== !1, modifiers: {}, abort: [], start(n) { a.enabled === !0 && n.qSkipRipple !== !0 && n.type === (a.modifiers.early === !0 ? "pointerdown" : "click") && We(n, e, a, n.qKeyEvent === !0); }, keystart: Gt((n) => { a.enabled === !0 && n.qSkipRipple !== !0 && xe(n, a.modifiers.keyCodes) === !0 && n.type === `key${a.modifiers.early === !0 ? "down" : "up"}` && We(n, e, a, !0); }, 300) }; Ye(a, t), e.__qripple = a, Xt(a, "main", [ [e, "pointerdown", "start", "passive"], [e, "click", "start", "passive"], [e, "keydown", "keystart", "passive"], [e, "keyup", "keystart", "passive"] ]); }, updated(e, t) { if (t.oldValue !== t.value) { const l = e.__qripple; l !== void 0 && (l.enabled = t.value !== !1, l.enabled === !0 && Object(t.value) === t.value && Ye(l, t)); } }, beforeUnmount(e) { const t = e.__qripple; t !== void 0 && (t.abort.forEach((l) => { l(); }), Jt(t, "main"), delete e._qripple); } } ), yt = { left: "start", center: "center", right: "end", between: "between", around: "around", evenly: "evenly", stretch: "stretch" }, tn = Object.keys(yt), nn = { align: { type: String, validator: (e) => tn.includes(e) } }; function an(e) { return s(() => { const t = e.align === void 0 ? e.vertical === !0 ? "stretch" : "left" : e.align; return `${e.vertical === !0 ? "items" : "justify"}-${yt[t]}`; }); } function ln(e) { return e.appContext.config.globalProperties.$router !== void 0; } function Xe(e) { return e ? e.aliasOf ? e.aliasOf.path : e.path : ""; } function Je(e, t) { return (e.aliasOf || e) === (t.aliasOf || t); } function on(e, t) { for (const l in t) { const a = t[l], n = e[l]; if (typeof a == "string") { if (a !== n) return !1; } else if (Array.isArray(n) === !1 || n.length !== a.length || a.some((i, r) => i !== n[r])) return !1; } return !0; } function Ge(e, t) { return Array.isArray(t) === !0 ? e.length === t.length && e.every((l, a) => l === t[a]) : e.length === 1 && e[0] === t; } function rn(e, t) { return Array.isArray(e) === !0 ? Ge(e, t) : Array.isArray(t) === !0 ? Ge(t, e) : e === t; } function un(e, t) { if (Object.keys(e).length !== Object.keys(t).length) return !1; for (const l in e) if (rn(e[l], t[l]) === !1) return !1; return !0; } const sn = { // router-link to: [String, Object], replace: Boolean, // regular <a> link href: String, target: String, // state disable: Boolean }; function cn({ fallbackTag: e, useDisableForRouterLinkProps: t = !0 } = {}) { const l = Z(), { props: a, proxy: n, emit: i } = l, r = ln(l), c = s(() => a.disable !== !0 && a.href !== void 0), q = t === !0 ? s( () => r === !0 && a.disable !== !0 && c.value !== !0 && a.to !== void 0 && a.to !== null && a.to !== "" ) : s( () => r === !0 && c.value !== !0 && a.to !== void 0 && a.to !== null && a.to !== "" ), C = s(() => q.value === !0 ? E(a.to) : null), m = s(() => C.value !== null), k = s(() => c.value === !0 || m.value === !0), y = s(() => a.type === "a" || k.value === !0 ? "a" : a.tag || e || "div"), M = s(() => c.value === !0 ? { href: a.href, target: a.target } : m.value === !0 ? { href: C.value.href, target: a.target } : {}), B = s(() => { if (m.value === !1) return -1; const { matched: P } = C.value, { length: R } = P, $ = P[R - 1]; if ($ === void 0) return -1; const V = n.$route.matched; if (V.length === 0) return -1; const d = V.findIndex( Je.bind(null, $) ); if (d !== -1) return d; const f = Xe(P[R - 2]); return ( // we are dealing with nested routes R > 1 && Xe($) === f && V[V.length - 1].path !== f ? V.findIndex( Je.bind(null, P[R - 2]) ) : d ); }), T = s( () => m.value === !0 && B.value !== -1 && on(n.$route.params, C.value.params) ), w = s( () => T.value === !0 && B.value === n.$route.matched.length - 1 && un(n.$route.params, C.value.params) ), O = s(() => m.value === !0 ? w.value === !0 ? ` ${a.exactActiveClass} ${a.activeClass}` : a.exact === !0 ? "" : T.value === !0 ? ` ${a.activeClass}` : "" : ""); function E(P) { try { return n.$router.resolve(P); } catch { } return null; } function N(P, { returnRouterError: R, to: $ = a.to, replace: V = a.replace } = {}) { if (a.disable === !0) return P.preventDefault(), Promise.resolve(!1); if ( // don't redirect with control keys; // should match RouterLink from Vue Router P.metaKey || P.altKey || P.ctrlKey || P.shiftKey || P.button !== void 0 && P.button !== 0 || a.target === "_blank" ) return Promise.resolve(!1); P.preventDefault(); const d = n.$router[V === !0 ? "replace" : "push"]($); return R === !0 ? d : d.then(() => { }).catch(() => { }); } function j(P) { if (m.value === !0) { const R = ($) => N(P, $); i("click", P, R), P.defaultPrevented !== !0 && R(); } else i("click", P); } return { hasRouterLink: m, hasHrefLink: c, hasLink: k, linkTag: y, resolvedLink: C, linkIsActive: T, linkIsExactActive: w, linkClass: O, linkAttrs: M, getLink: E, navigateToRouterLink: N, navigateOnClick: j }; } const Ce = { none: 0, xs: 4, sm: 8, md: 16, lg: 24, xl: 32 }, dn = { xs: 8, sm: 10, md: 14, lg: 20, xl: 24 }, fn = ["button", "submit", "reset"], vn = /[^\s]\/[^\s]/, pt = ["flat", "outline", "push", "unelevated"]; function kt(e, t) { return e.flat === !0 ? "flat" : e.outline === !0 ? "outline" : e.push === !0 ? "push" : e.unelevated === !0 ? "unelevated" : t; } const gn = { ...ft, ...sn, type: { type: String, default: "button" }, label: [Number, String], icon: String, iconRight: String, ...pt.reduce( (e, t) => (e[t] = Boolean) && e, {} ), square: Boolean, rounded: Boolean, glossy: Boolean, size: String, fab: Boolean, fabMini: Boolean, padding: String, color: String, textColor: String, noCaps: Boolean, noWrap: Boolean, dense: Boolean, tabindex: [Number, String], ripple: { type: [Boolean, Object], default: !0 }, align: { ...nn.align, default: "center" }, stack: Boolean, stretch: Boolean, loading: { type: Boolean, default: null }, disable: Boolean }, mn = { ...gn, round: Boolean }; function hn(e) { const t = vt(e, dn), l = an(e), { hasRouterLink: a, hasLink: n, linkTag: i, linkAttrs: r, navigateOnClick: c } = cn({ fallbackTag: "button" }), q = s(() => { const w = e.fab === !1 && e.fabMini === !1 ? t.value : {}; return e.padding !== void 0 ? Object.assign({}, w, { padding: e.padding.split(/\s+/).map((O) => O in Ce ? Ce[O] + "px" : O).join(" "), minWidth: "0", minHeight: "0" }) : w; }), C = s( () => e.rounded === !0 || e.fab === !0 || e.fabMini === !0 ), m = s( () => e.disable !== !0 && e.loading !== !0 ), k = s(() => m.value === !0 ? e.tabindex || 0 : -1), y = s(() => kt(e, "standard")), M = s(() => { const w = { tabindex: k.value }; return n.value === !0 ? Object.assign(w, r.value) : fn.includes(e.type) === !0 && (w.type = e.type), i.value === "a" ? (e.disable === !0 ? w["aria-disabled"] = "true" : w.href === void 0 && (w.role = "button"), a.value !== !0 && vn.test(e.type) === !0 && (w.type = e.type)) : e.disable === !0 && (w.disabled = "", w["aria-disabled"] = "true"), e.loading === !0 && e.percentage !== void 0 && Object.assign(w, { role: "progressbar", "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": e.percentage }), w; }), B = s(() => { let w; e.color !== void 0 ? e.flat === !0 || e.outline === !0 ? w = `text-${e.textColor || e.color}` : w = `bg-${e.color} text-${e.textColor || "white"}` : e.textColor && (w = `text-${e.textColor}`); const O = e.round === !0 ? "round" : `rectangle${C.value === !0 ? " q-btn--rounded" : e.square === !0 ? " q-btn--square" : ""}`; return `q-btn--${y.value} q-btn--${O}` + (w !== void 0 ? " " + w : "") + (m.value === !0 ? " q-btn--actionable q-focusable q-hoverable" : e.disable === !0 ? " disabled" : "") + (e.fab === !0 ? " q-btn--fab" : e.fabMini === !0 ? " q-btn--fab-mini" : "") + (e.noCaps === !0 ? " q-btn--no-uppercase" : "") + (e.dense === !0 ? " q-btn--dense" : "") + (e.stretch === !0 ? " no-border-radius self-stretch" : "") + (e.glossy === !0 ? " glossy" : "") + (e.square ? " q-btn--square" : ""); }), T = s( () => l.value + (e.stack === !0 ? " column" : " row") + (e.noWrap === !0 ? " no-wrap text-no-wrap" : "") + (e.loading === !0 ? " q-btn__content--hidden" : "") ); return { classes: B, style: q, innerClasses: T, attributes: M, hasLink: n, linkTag: i, navigateOnClick: c, isActionable: m }; } const { passiveCapture: Q } = Be; let le = null, oe = null, re = null; const bn = ee({ name: "QBtn", props: { ...mn, percentage: Number, darkPercentage: Boolean, onTouchstart: [Function, Array] }, emits: ["click", "keydown", "mousedown", "keyup"], setup(e, { slots: t, emit: l }) { const { proxy: a } = Z(), { classes: n, style: i, innerClasses: r, attributes: c, hasLink: q, linkTag: C, navigateOnClick: m, isActionable: k } = hn(e), y = L(null), M = L(null); let B = null, T, w = null; const O = s( () => e.label !== void 0 && e.label !== null && e.label !== "" ), E = s(() => e.disable === !0 || e.ripple === !1 ? !1 : { keyCodes: q.value === !0 ? [13, 32] : [13], ...e.ripple === !0 ? {} : e.ripple }), N = s(() => ({ center: e.round })), j = s(() => { const o = Math.max(0, Math.min(100, e.percentage)); return o > 0 ? { transition: "transform 0.6s", transform: `translateX(${o - 100}%)` } : {}; }), P = s(() => { if (e.loading === !0) return { onMousedown: g, onTouchstart: g, onClick: g, onKeydown: g, onKeyup: g }; if (k.value === !0) { const o = { onClick: $, onKeydown: V, onMousedown: f }; if (a.$q.platform.has.touch === !0) { const x = e.onTouchstart !== void 0 ? "" : "Passive"; o[`onTouchstart${x}`] = d; } return o; } return { // needed; especially for disabled <a> tags onClick: te }; }), R = s(() => ({ ref: y, class: "q-btn q-btn-item non-selectable no-outline " + n.value, style: i.value, ...c.value, ...P.value })); function $(o) { if (y.value !== null) { if (o !== void 0) { if (o.defaultPrevented === !0) return; const x = document.activeElement; if (e.type === "submit" && x !== document.body && y.value.contains(x) === !1 && x.contains(y.value) === !1) { y.value.focus(); const S = () => { document.removeEventListener("keydown", te, !0), document.removeEventListener("keyup", S, Q), y.value !== null && y.value.removeEventListener("blur", S, Q); }; document.addEventListener("keydown", te, !0), document.addEventListener("keyup", S, Q), y.value.addEventListener("blur", S, Q); } } m(o); } } function V(o) { y.value !== null && (l("keydown", o), xe(o, [13, 32]) === !0 && oe !== y.value && (oe !== null && u(), o.defaultPrevented !== !0 && (y.value.focus(), oe = y.value, y.value.classList.add("q-btn--active"), document.addEventListener("keyup", b, !0), y.value.addEventListener("blur", b, Q)), te(o))); } function d(o) { y.value !== null && (l("touchstart", o), o.defaultPrevented !== !0 && (le !== y.value && (le !== null && u(), le = y.value, B = o.target, B.addEventListener("touchcancel", b, Q), B.addEventListener("touchend", b, Q)), T = !0, w !== null && clearTimeout(w), w = setTimeout(() => { w = null, T = !1; }, 200))); } function f(o) { y.value !== null && (o.qSkipRipple = T === !0, l("mousedown", o), o.defaultPrevented !== !0 && re !== y.value && (re !== null && u(), re = y.value, y.value.classList.add("q-btn--active"), document.addEventListener("mouseup", b, Q))); } function b(o) { if (y.value !== null && !(o !== void 0 && o.type === "blur" && document.activeElement === y.value)) { if (o !== void 0 && o.type === "keyup") { if (oe === y.value && xe(o, [13, 32]) === !0) { const x = new MouseEvent("click", o); x.qKeyEvent = !0, o.defaultPrevented === !0 && ie(x), o.cancelBubble === !0 && we(x), y.value.dispatchEvent(x), te(o), o.qKeyEvent = !0; } l("keyup", o); } u(); } } function u(o) { const x = M.value; o !== !0 && (le === y.value || re === y.value) && x !== null && x !== document.activeElement && (x.setAttribute("tabindex", -1), x.focus()), le === y.value && (B !== null && (B.removeEventListener("touchcancel", b, Q), B.removeEventListener("touchend", b, Q)), le = B = null), re === y.value && (document.removeEventListener("mouseup", b, Q), re = null), oe === y.value && (document.removeEventListener("keyup", b, !0), y.value !== null && y.value.removeEventListener("blur", b, Q), oe = null), y.value !== null && y.value.classList.remove("q-btn--active"); } function g(o) { te(o), o.qSkipRipple = !0; } return de(() => { u(!0); }), Object.assign(a, { click: (o) => { k.value === !0 && $(o); } }), () => { let o = []; e.icon !== void 0 && o.push( p(ke, { name: e.icon, left: e.stack !== !0 && O.value === !0, role: "img" }) ), O.value === !0 && o.push( p("span", { class: "block" }, [e.label]) ), o = se(t.default, o), e.iconRight !== void 0 && e.round === !1 && o.push( p(ke, { name: e.iconRight, right: e.stack !== !0 && O.value === !0, role: "img" }) ); const x = [ p("span", { class: "q-focus-helper", ref: M }) ]; return e.loading === !0 && e.percentage !== void 0 && x.push( p("span", { class: "q-btn__progress absolute-full overflow-hidden" + (e.darkPercentage === !0 ? " q-btn__progress--dark" : "") }, [ p("span", { class: "q-btn__progress-indicator fit block", style: j.value }) ]) ), x.push( p("span", { class: "q-btn__content text-center col items-center q-anchor--skip " + r.value }, o) ), e.loading !== null && x.push( p(je, { name: "q-transition--fade" }, () => e.loading === !0 ? [ p("span", { key: "loading", class: "absolute-full flex flex-center" }, t.loading !== void 0 ? t.loading() : [p(ze)]) ] : null) ), St( p( C.value, R.value, x ), [[ en, E.value, void 0, N.value ]] ); }; } }); let Pe, he = 0; const K = new Array(256); for (let e = 0; e < 256; e++) K[e] = (e + 256).toString(16).substring(1); const yn = (() => { const e = typeof crypto < "u" ? crypto : typeof window < "u" ? window.crypto || window.msCrypto : void 0; if (e !== void 0) { if (e.randomBytes !== void 0) return e.randomBytes; if (e.getRandomValues !== void 0) return (t) => { const l = new Uint8Array(t); return e.getRandomValues(l), l; }; } return (t) => { const l = []; for (let a = t; a > 0; a--) l.push(Math.floor(Math.random() * 256)); return l; }; })(), et = 4096; function Fe() { (Pe === void 0 || he + 16 > et) && (he = 0, Pe = yn(et)); const e = Array.prototype.slice.call(Pe, he, he += 16); return e[6] = e[6] & 15 | 64, e[8] = e[8] & 63 | 128, K[e[0]] + K[e[1]] + K[e[2]] + K[e[3]] + "-" + K[e[4]] + K[e[5]] + "-" + K[e[6]] + K[e[7]] + "-" + K[e[8]] + K[e[9]] + "-" + K[e[10]] + K[e[11]] + K[e[12]] + K[e[13]] + K[e[14]] + K[e[15]]; } const ce = L( !1 ); let Oe; function pn(e, t) { const l = /(edg|edge|edga|edgios)\/([\w.]+)/.exec(e) || /(opr)[\/]([\w.]+)/.exec(e) || /(vivaldi)[\/]([\w.]+)/.exec(e) || /(chrome|crios)[\/]([\w.]+)/.exec(e) || /(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e) || /(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e) || /(firefox|fxios)[\/]([\w.]+)/.exec(e) || /(webkit)[\/]([\w.]+)/.exec(e) || /(opera)(?:.*version|)[\/]([\w.]+)/.exec(e) || []; return { browser: l[5] || l[3] || l[1] || "", version: l[4] || l[2] || "0", platform: t[0] || "" }; } function kn(e) { return /(ipad)/.exec(e) || /(ipod)/.exec(e) || /(windows phone)/.exec(e) || /(iphone)/.exec(e) || /(kindle)/.exec(e) || /(silk)/.exec(e) || /(android)/.exec(e) || /(win)/.exec(e) || /(mac)/.exec(e) || /(linux)/.exec(e) || /(cros)/.exec(e) || /(playbook)/.exec(e) || /(bb)/.exec(e) || /(blackberry)/.exec(e) || []; } const wt = "ontouchstart" in window || window.navigator.maxTouchPoints > 0; function wn(e) { const t = e.toLowerCase(), l = kn(t), a = pn(t, l), n = { mobile: !1, desktop: !1, cordova: !1, capacitor: !1, nativeMobile: !1, // nativeMobileWrapper: void 0, electron: !1, bex: !1, linux: !1, mac: !1, win: !1, cros: !1, chrome: !1, firefox: !1, opera: !1, safari: !1, vivaldi: !1, edge: !1, edgeChromium: !1, ie: !1, webkit: !1, android: !1, ios: !1, ipad: !1, iphone: !1, ipod: !1, kindle: !1, winphone: !1, blackberry: !1, playbook: !1, silk: !1 }; a.browser && (n[a.browser] = !0, n.version = a.version, n.versionNumber = parseInt(a.version, 10)), a.platform && (n[a.platform] = !0); const i = n.android || n.ios || n.bb || n.blackberry || n.ipad || n.iphone || n.ipod || n.kindle || n.playbook || n.silk || n["windows phone"]; if (i === !0 || t.indexOf("mobile") !== -1 ? n.mobile = !0 : n.desktop = !0, n["windows phone"] && (n.winphone = !0, delete n["windows phone"]), n.edga || n.edgios || n.edg ? (n.edge = !0, a.browser = "edge") : n.crios ? (n.chrome = !0, a.browser = "chrome") : n.fxios && (n.firefox = !0, a.browser = "firefox"), (n.ipod || n.ipad || n.iphone) && (n.ios = !0), n.vivaldi && (a.browser = "vivaldi", n.vivaldi = !0), // Chrome, Opera 15+, Vivaldi and Safari are webkit based browsers (n.chrome || n.opr || n.safari || n.vivaldi || n.mobile === !0 && n.ios !== !0 && i !== !0) && (n.webkit = !0), n.opr && (a.browser = "opera", n.opera = !0), n.safari && (n.blackberry || n.bb ? (a.browser = "blackberry", n.blackberry = !0) : n.playbook ? (a.browser = "playbook", n.playbook = !0) : n.android ? (a.browser = "android", n.android = !0) : n.kindle ? (a.browser = "kindle", n.kindle = !0) : n.silk && (a.browser = "silk", n.silk = !0)), n.name = a.browser, n.platform = a.platform, t.indexOf("electron") !== -1) n.electron = !0; else if (document.location.href.indexOf("-extension://") !== -1) n.bex = !0; else { if (window.Capacitor !== void 0 ? (n.capacitor = !0, n.nativeMobile = !0, n.nativeMobileWrapper = "capacitor") : (window._cordovaNative !== void 0 || window.cordova !== void 0) && (n.cordova = !0, n.nativeMobile = !0, n.nativeMobileWrapper = "cordova"), ce.value === !0 && (Oe = { is: { ...n } }), wt === !0 && n.mac === !0 && (n.desktop === !0 && n.safari === !0 || n.nativeMobile === !0 && n.android !== !0 && n.ios !== !0 && n.ipad !== !0)) { delete n.mac, delete n.desktop; const r = Math.min(window.innerHeight, window.innerWidth) > 414 ? "ipad" : "iphone"; Object.assign(n, { mobile: !0, ios: !0, platform: r, [r]: !0 }); } n.mobile !== !0 && window.navigator.userAgentData && window.navigator.userAgentData.mobile && (delete n.desktop, n.mobile = !0); } return n; } const tt = navigator.userAgent || navigator.vendor || window.opera, xn = { has: { touch: !1, webStorage: !1 }, within: { iframe: !1 } }, Se = { userAgent: tt, is: wn(tt), has: { touch: wt }, within: { iframe: window.self !== window.top } }, nt = { install(e) { const { $q: t } = e; ce.value === !0 ? (e.onSSRHydrated.push(() => { Object.assign(t.platform, Se), ce.value = !1; }), t.platform = _t(this)) : t.platform = this; } }; { let e; Ie(Se.has, "webStorage", () => { if (e !== void 0) return e; try { if (window.localStorage) return e = !0, !0; } catch { } return e = !1, !1; }), Object.assign(nt, Se), ce.value === !0 && (Object.assign(nt, Oe, xn), Oe = null); } function Cn(e) { return e ?? null; } function at(e, t) { return e ?? (t === !0 ? `f_${Fe()}` : null); } function Sn({ getValue: e, required: t = !0 } = {}) { if (ce.value === !0) { const l = e !== void 0 ? L(Cn(e())) : L(null); return t === !0 && l.value === null && fe(() => { l.value = `f_${Fe()}`; }), e !== void 0 && H(e, (a) => { l.value = at(a, t); }), l; } return e !== void 0 ? s(() => at(e(), t)) : L(`f_${Fe()}`); } const lt = /^on[A-Z]/; function _n() { const { attrs: e, vnode: t } = Z(), l = { listeners: L({}), attributes: L({}) }; function a() { const n = {}, i = {}; for (const r in e) r !== "class" && r !== "style" && lt.test(r) === !1 && (n[r] = e[r]); for (const r in t.props) lt.test(r) === !0 && (i[r] = t.props[r]); l.attributes.value = n, l.listeners.value = i; } return qt(a), a(), l; } const qn = "_q_fo_"; function Mn({ validate: e, resetValidation: t, requiresQForm: l }) { const a = Mt(qn, !1); if (a !== !1) { const { props: n, proxy: i } = Z(); Object.assign(i, { validate: e, resetValidation: t }), H(() => n.disable, (r) => { r === !0 ? (typeof t == "function" && t(), a.unbindComponent(i)) : a.bindComponent(i); }), fe(() => { n.disable !== !0 && a.bindComponent(i); }), de(() => { n.disable !== !0 && a.unbindComponent(i); }); } else l === !0 && console.error("Parent QForm not found on useFormChild()!"); } const ot = /^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/, rt = /^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/, it = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/, be = /^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/, ye = /^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/, Ve = { date: (e) => /^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(e), time: (e) => /^([0-1]?\d|2[0-3]):[0-5]\d$/.test(e), fulltime: (e) => /^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(e), timeOrFulltime: (e) => /^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(e), // -- RFC 5322 -- // -- Added in v2.6.6 -- // This is a basic helper validation. // For something more complex (like RFC 822) you should write and use your own rule. // We won't be accepting PRs to enhance the one below because of the reason above. // eslint-disable-next-line email: (e) => /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e), hexColor: (e) => ot.test(e), hexaColor: (e) => rt.test(e), hexOrHexaColor: (e) => it.test(e), rgbColor: (e) => be.test(e), rgbaColor: (e) => ye.test(e), rgbOrRgbaColor: (e) => be.test(e) || ye.test(e), hexOrRgbColor: (e) => ot.test(e) || be.test(e), hexaOrRgbaColor: (e) => rt.test(e) || ye.test(e), anyColor: (e) => it.test(e) || be.test(e) || ye.test(e) }; function Bn(e, t = 250, l) { let a = null; function n() { const i = arguments, r = () => { a = null, l !== !0 && e.apply(this, i); }; a !== null ? clearTimeout(a) : l === !0 && e.apply(this, i), a = setTimeout(r, t); } return n.cancel = () => { a !== null && clearTimeout(a); }, n; } const En = [!0, !1, "ondemand"], Rn = { modelValue: {}, error: { type: Boolean, default: null }, errorMessage: String, noErrorIcon: Boolean, rules: Array, reactiveRules: Boolean, lazyRules: { type: [Boolean, String], default: !1, // statement unneeded but avoids future vue implementation changes validator: (e) => En.includes(e) } }; function $n(e, t) { const { props: l, proxy: a } = Z(), n = L(!1), i = L(null), r = L(!1); Mn({ validate: T, resetValidation: B }); let c = 0, q; const C = s( () => l.rules !== void 0 && l.rules !== null && l.rules.length !== 0 ), m = s(() => l.disable !== !0 && C.value === !0 && t.value === !1), k = s( () => l.error === !0 || n.value === !0 ), y = s(() => typeof l.errorMessage == "string" && l.errorMessage.length !== 0 ? l.errorMessage : i.value); H(() => l.modelValue, () => { r.value = !0, m.value === !0 && l.lazyRules === !1 && w(); }); function M() { l.lazyRules !== "ondemand" && m.value === !0 && r.value === !0 && w(); } H(() => l.reactiveRules, (O) => { O === !0 ? q === void 0 && (q = H(() => l.rules, M, { immediate: !0, deep: !0 })) : q !== void 0 && (q(), q = void 0); }, { immediate: !0 }), H(() => l.lazyRules, M), H(e, (O) => { O === !0 ? r.value = !0 : m.value === !0 && l.lazyRules !== "ondemand" && w(); }); function B() { c++, t.value = !1, r.value = !1, n.value = !1, i.value = null, w.cancel(); } function T(O = l.modelValue) { if (l.disable === !0 || C.value === !1) return !0; const E = ++c, N = t.value !== !0 ? () => { r.value = !0; } : () => { }, j = (R, $) => { R === !0 && N(), n.value = R, i.value = $ || null, t.value = !1; }, P = []; for (let R = 0; R < l.rules.length; R++) { const $ = l.rules[R]; let V; if (typeof $ == "function" ? V = $(O, Ve) : typeof $ == "string" && Ve[$] !== void 0 && (V = Ve[$](O)), V === !1 || typeof V == "string") return j(!0, V), !1; V !== !0 && V !== void 0 && P.push(V); } return P.length === 0 ? (j(!1), !0) : (t.value = !0, Promise.all(P).then( (R) => { if (R === void 0 || Array.isArray(R) === !1 || R.length === 0) return E === c && j(!1), !0; const $ = R.find((V) => V === !1 || typeof V == "string"); return E === c && j($ !== void 0, $), $ === void 0; }, (R) => (E === c && (console.error(R), j(!0)), !1) )); } const w = Bn(T, 0); return de(() => { q !== void 0 && q(), w.cancel(); }), Object.assign(a, { resetValidation: B, validate: T }), Ie(a, "hasError", () => k.value), { isDirtyModel: r, hasRules: C, hasError: k, errorMessage: y, validate: T, resetValidation: B }; } let Ae = [], Pn = []; function xt(e) { Pn.length === 0 ? e() : Ae.push(e); } function Vn(e) { Ae = Ae.filter((t) => t !== e); } function Le(e) { return e != null && ("" + e).length !== 0; } const Tn = { ...qe, ...Rn, label: String, stackLabel: Boolean, hint: String, hideHint: Boolean, prefix: String, suffix: String, labelColor: String, color: String, bgColor: String, filled: Boolean, outlined: Boolean, borderless: Boolean, standout: [Boolean, String], square: Boolean, loading: Boolean, labelSlot: Boolean, bottomSlots: Boolean, hideBottomSpace: Boolean, rounded: Boolean, dense: Boolean, itemAligned: Boolean, counter: Boolean, clearable: Boolean, clearIcon: String, disable: Boolean, readonly: Boolean, autofocus: Boolean, for: String }, Fn = { ...Tn, maxlength: [Number, String] }, On = ["update:modelValue", "clear", "focus", "blur"]; function An({ requiredForAttr: e = !0, tagProp: t, changeEvent: l = !1 } = {}) { const { props: a, proxy: n } = Z(), i = Me(a, n.$q), r = Sn({ required: e, getValue: () => a.for }); return { requiredForAttr: e, changeEvent: l, tag: t === !0 ? s(() => a.tag) : { value: "label" }, isDark: i, editable: s( () => a.disable !== !0 && a.readonly !== !0 ), innerLoading: L(!1), focused: L(!1), hasPopupOpen: !1, splitAttrs: _n(), targetUid: r, rootRef: L(null), targetRef: L(null), controlRef: L(null) /** * user supplied additionals: * innerValue - computed * floatingLabel - computed * inputRef - computed * fieldClass - computed * hasShadow - computed * controlEvents - Object with fn(e) * getControl - fn * getInnerAppend - fn * getControlChild - fn * getShadowControl - fn * showPopup - fn */ }; } function Ln(e) { const { props: t, emit: l, slots: a, attrs: n, proxy: i } = Z(), { $q: r } = i; let c = null; e.hasValue === void 0 && (e.hasValue = s(() => Le(t.modelValue))), e.emitValue === void 0 && (e.emitValue = (h) => { l("update:modelValue", h); }), e.controlEvents === void 0 && (e.controlEvents = { onFocusin: d, onFocusout: f }), Object.assign(e, { clearValue: b, onControlFocusin: d, onControlFocusout: f, focus: $ }), e.computedCounter === void 0 && (e.computedCounter = s(() => { if (t.counter !== !1) { const h = typeof t.modelValue == "string" || typeof t.modelValue == "number" ? ("" + t.modelValue).length : Array.isArray(t.modelValue) === !0 ? t.modelValue.length : 0, _ = t.maxlength !== void 0 ? t.maxlength : t.maxValues; return h + (_ !== void 0 ? " / " + _ : ""); } })); const { isDirtyModel: q, hasRules: C, hasError: m, errorMessage: k, resetValidation: y } = $n(e.focused, e.innerLoading), M = e.floatingLabel !== void 0 ? s(() => t.stackLabel === !0 || e.focused.value === !0 || e.floatingLabel.value === !0) : s(() => t.stackLabel === !0 || e.focused.value === !0 || e.hasValue.value === !0), B = s( () => t.bottomSlots === !0 || t.hint !== void 0 || C.value === !0 || t.counter === !0 || t.error !== null ), T = s(() => t.filled === !0 ? "filled" : t.outlined === !0 ? "outlined" : t.borderless === !0 ? "borderless" : t.standout ? "standout" : "standard"), w = s( () => `q-field row no-wrap items-start q-field--${T.value}` + (e.fieldClass !== void 0 ? ` ${e.fieldClass.value}` : "") + (t.rounded === !0 ? " q-field--rounded" : "") + (t.square === !0 ? " q-field--square" : "") + (M.value === !0 ? " q-field--float" : "") + (E.value === !0 ? " q-field--labeled" : "") + (t.dense === !0 ? " q-field--dense" : "") + (t.itemAligned === !0 ? " q-field--item-aligned q-item-type" : "") + (e.isDark.value === !0 ? " q-field--dark" : "") + (e.getControl === void 0 ? " q-field--auto-height" : "") + (e.focused.value === !0 ? " q-field--focused" : "") + (m.value === !0 ? " q-field--error" : "") + (m.value === !0 || e.focused.value === !0 ? " q-field--highlighted" : "") + (t.hideBottomSpace !== !0 && B.value === !0 ? " q-field--with-bottom" : "") + (t.disable === !0 ? " q-field--disabled" : t.readonly === !0 ? " q-field--readonly" : "") ), O = s( () => "q-field__control relative-position row no-wrap" + (t.bgColor !== void 0 ? ` bg-${t.bgColor}` : "") + (m.value === !0 ? " text-negative" : typeof t.standout == "string" && t.standout.length !== 0 && e.focused.value === !0 ? ` ${t.standout}` : t.color !== void 0 ? ` text-${t.color}` : "") ), E = s( () => t.labelSlot === !0 || t.label !== void 0 ), N = s( () => "q-field__label no-pointer-events absolute ellipsis" + (t.labelColor !== void 0 && m.value !== !0 ? ` text-${t.labelColor}` : "") ), j = s(() => ({ id: e.targetUid.value, editable: e.editable.value, focused: e.focused.value, floatingLabel: M.value, modelValue: t.modelValue, emitValue: e.emitValue })), P = s(() => { const h = {}; return e.targetUid.value && (h.for = e.targetUid.value), t.disable === !0 && (h["aria-disabled"] = "true"), h; }); function R() { const h = document.activeElement; let _ = e.targetRef !== void 0 && e.targetRef.value; _ && (h === null || h.id !== e.targetUid.value) && (_.hasAttribute("tabindex") === !0 || (_ = _.querySelector("[tabindex]")), _ && _ !== h && _.focus({ preventScroll: !0 })); } function $() { xt(R); } function V() { Vn(R); const h = document.activeElement; h !== null && e.rootRef.value.contains(h) && h.blur(); } function d(h) { c !== null && (clearTimeout(c), c = null), e.editable.value === !0 && e.focused.value === !1 && (e.focused.value = !0, l("focus", h)); } function f(h, _) { c !== null && clearTimeout(c), c = setTimeout(() => { c = null, !(document.hasFocus() === !0 && (e.hasPopupOpen === !0 || e.controlRef === void 0 || e.controlRef.value === null || e.controlRef.value.contains(document.activeElement) !== !1)) && (e.focused.value === !0 && (e.focused.value = !1, l("blur", h)), _ !== void 0 && _()); }); } function b(h) { te(h), r.platform.is.mobile !== !0 ? (e.targetRef !== void 0 && e.targetRef.value || e.rootRef.value).focus() : e.rootRef.value.contains(document.activeElement) === !0 && document.activeElement.blur(), t.type === "file" && (e.inputRef.value.value = null), l("update:modelValue", null), e.changeEvent === !0 && l("change", null), l("clear", t.modelValue), G(() => { const _ = q.value; y(), q.value = _; }); } function u(h) { [13, 32].includes(h.keyCode) && b(h); } function g() { const h = []; return a.prepend !== void 0 && h.push( p("div", { class: "q-field__prepend q-field__marginal row no-wrap items-center", key: "prepend", onClick: ie }, a.prepend()) ), h.push( p("div", { class: "q-field__control-container col relative-position row no-wrap q-anchor--skip" }, o()) ), m.value === !0 && t.noErrorIcon === !1 && h.push( S("error", [ p(ke, { name: r.iconSet.field.error, color: "negative" }) ]) ), t.loading === !0 || e.innerLoading.value === !0 ? h.push( S( "inner-loading-append", a.loading !== void 0 ? a.loading() : [p(ze, { color: t.color })] ) ) : t.clearable === !0 && e.hasValue.value === !0 && e.editable.value === !0 && h.push( S("inner-clearable-append", [ p(ke, { class: "q-field__focusable-action", name: t.clearIcon || r.iconSet.field.clear, tabindex: 0, role: "button", "aria-hidden": "false", "aria-label": r.lang.label.clear, onKeyup: u, onClick: b }) ]) ), a.append !== void 0 && h.push( p("div", { class: "q-field__append q-field__marginal row no-wrap items-center", key: "append", onClick: ie }, a.append()) ), e.getInnerAppend !== void 0 && h.push( S("inner-append", e.getInnerAppend()) ), e.getControlChild !== void 0 && h.push( e.getControlChild() ), h; } function o() { const h = []; return t.prefix !== void 0 && t.prefix !== null && h.push( p("div", { class: "q-field__prefix no-pointer-events row items-center" }, t.prefix) ), e.getShadowControl !== void 0 && e.hasShadow.value === !0 && h.push( e.getShadowControl() ), e.getControl !== void 0 ? h.push(e.getControl()) : a.rawControl !== void 0 ? h.push(a.rawControl()) : a.control !== void 0 && h.push( p("div", { ref: e.targetRef, class: "q-field__native row", tabindex: -1, ...e.splitAttrs.attributes.value, "data-autofocus": t.autofocus === !0 || void 0 }, a.control(j.value)) ), E.value === !0 && h.push( p("div", { class: N.value }, ne(a.label, t.label)) ), t.suffix !== void 0 && t.suffix !== null && h.push( p("div", { class: "q-field__suffix no-pointer-events row items-center" }, t.suffix) ), h.concat(ne(a.default)); } function x() { let h, _; m.value === !0 ? k.value !== null ? (h = [p("div", { role: "alert" }, k.value)], _ = `q--slot-error-${k.value}`) : (h = ne(a.error), _ = "q--slot-error") : (t.hideHint !== !0 || e.focused.value === !0) && (t.hint !== void 0 ? (h = [p("div", t.hint)], _ = `q--slot-hint-${t.hint}`) : (h = ne(a.hint), _ = "q--slot-hint")); const A = t.counter === !0 || a.counter !== void 0; if (t.hideBottomSpace === !0 && A === !1 && h === void 0) return; const I = p("div", { key: _, class: "q-field__messages col" }, h); return p("div", { class: "q-field__bottom row items-start q-field__bottom--" + (t.hideBottomSpace !== !0 ? "animated" : "stale"), onClick: ie }, [ t.hideBottomSpace === !0 ? I : p(je, { name: "q-transition--field-message" }, () => I), A === !0 ? p("div", { class: "q-field__counter" }, a.counter !== void 0 ? a.counter() : e.computedCounter.value) : null ]); } function S(h, _) { return _ === null ? null : p("div", { key: h, class: "q-field__append q-field__marginal row no-wrap items-center q-anchor--skip" }, _); } let F = !1; return Bt(() => { F = !0; }), Et(() => { F === !0 && t.autofocus === !0 && i.focus();