PageSourceSearch

https://portal.godesignguru.com/build/assets/LiveChat-BEmWJs6j.js

js godesignguru.com collected 2026-10-04 05:47:45 UTC 137,150 bytes, 1,567 lines download raw bytes

1import { o as x, c as L, a as f, k as Ge, L as dn, b as I, G as W, R as cn, u as S, C as R, J as Ke, i as G, f as F, e as M, I as ne, d as We, t as P, w as we, g as V, j as ka, B as Tt, H as fn, E as tt, F as ye, q as Lt, r as Me, O as pn, h as vn, m as mn, A as Oa, a0 as He, a9 as $t, s as $a, U as gt, Y as ht, W as gn, T as Ea, D as hn, M as yn, aa as ce, a8 as yt, ab as bn, z as ie, K as et, S as ca, a7 as Je, ac as wn, a4 as xn, l as Sn, x as vt, N as kn } from "./app-yg_pP4S4.js";
2import { _ as On } from "./ApplicationLogo-D4QkytOJ.js";
3import { _ as Ca } from "./_plugin-vue_export-helper-DlAUqK2U.js";
4import { Y as $n, h as fa, _ as En, V as Cn, r as _n, b as Tn, c as pa, L as Ln } from "./XMarkIcon-C7ztHuKP.js";
5import { _ as It } from "./UserAvatar-B3-R1wxh.js";
6import { a as Be, g as H, v as Dn, u as qt, w as Te, i as An, e as In, m as qn, b as Pn, h as Bn } from "./functions-DLrKIvnr.js";
7import { G as _a, $ as Mn, j as Ta, y as La } from "./popover-DTQdCRwt.js";
8import { b as Da, u as Vn, o as jn, d as Rn, c as Nn, a as va } from "./consts-7Qk9bpse.js";
9import { _ as Et } from "./BaseInput-DrEncIoW.js";
10import { u as zn, L as Aa } from "./LoaderIcon-BfI_LFZK.js";
11import { r as Un, _ as Hn } from "./ModalConfirmation-BptK8hn4.js";
12import { E as Ia, F as Wn } from "./index-CDyB1Hog.js";
13import { u as Fn, r as Yn } from "./index-BF2h0ubX.js";
14import { r as Gn } from "./form-BcDj1t5Y.js";
15import { r as Kn } from "./CheckIcon-Bb6ppPFl.js";
16import { u as Zn } from "./modelWrapper-D0DowOi8.js";
17function Qn(e, a) {
18  return x(), L("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", "data-slot": "icon" }, [f("path", { "fill-rule": "evenodd", d: "M11.47 4.72a.75.75 0 0 1 1.06 0l3.75 3.75a.75.75 0 0 1-1.06 1.06L12 6.31 8.78 9.53a.75.75 0 0 1-1.06-1.06l3.75-3.75Zm-3.75 9.75a.75.75 0 0 1 1.06 0L12 17.69l3.22-3.22a.75.75 0 1 1 1.06 1.06l-3.75 3.75a.75.75 0 0 1-1.06 0l-3.75-3.75a.75.75 0 0 1 0-1.06Z", "clip-rule": "evenodd" })]);
19}
20function Xn(e, a) {
21  return x(), L("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", "data-slot": "icon" }, [f("path", { "fill-rule": "evenodd", d: "M6.75 5.25a.75.75 0 0 1 .75-.75H9a.75.75 0 0 1 .75.75v13.5a.75.75 0 0 1-.75.75H7.5a.75.75 0 0 1-.75-.75V5.25Zm7.5 0A.75.75 0 0 1 15 4.5h1.5a.75.75 0 0 1 .75.75v13.5a.75.75 0 0 1-.75.75H15a.75.75 0 0 1-.75-.75V5.25Z", "clip-rule": "evenodd" })]);
22}
23function Jn(e, a) {
24  return x(), L("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", "data-slot": "icon" }, [f("path", { "fill-rule": "evenodd", d: "M4.5 5.653c0-1.427 1.529-2.33 2.779-1.643l11.54 6.347c1.295.712 1.295 2.573 0 3.286L7.28 19.99c-1.25.687-2.779-.217-2.779-1.643V5.653Z", "clip-rule": "evenodd" })]);
25}
26function er(e, a) {
27  return x(), L("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", "data-slot": "icon" }, [f("path", { "fill-rule": "evenodd", d: "M18.685 19.097A9.723 9.723 0 0 0 21.75 12c0-5.385-4.365-9.75-9.75-9.75S2.25 6.615 2.25 12a9.723 9.723 0 0 0 3.065 7.097A9.716 9.716 0 0 0 12 21.75a9.716 9.716 0 0 0 6.685-2.653Zm-12.54-1.285A7.486 7.486 0 0 1 12 15a7.486 7.486 0 0 1 5.855 2.812A8.224 8.224 0 0 1 12 20.25a8.224 8.224 0 0 1-5.855-2.438ZM15.75 9a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z", "clip-rule": "evenodd" })]);
28}
29function qa(e, a) {
30  return x(), L("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", "aria-hidden": "true", "data-slot": "icon" }, [f("path", { d: "M5.25 6.375a4.125 4.125 0 1 1 8.25 0 4.125 4.125 0 0 1-8.25 0ZM2.25 19.125a7.125 7.125 0 0 1 14.25 0v.003l-.001.119a.75.75 0 0 1-.363.63 13.067 13.067 0 0 1-6.761 1.873c-2.472 0-4.786-.684-6.76-1.873a.75.75 0 0 1-.364-.63l-.001-.122ZM18.75 7.5a.75.75 0 0 0-1.5 0v2.25H15a.75.75 0 0 0 0 1.5h2.25v2.25a.75.75 0 0 0 1.5 0v-2.25H21a.75.75 0 0 0 0-1.5h-2.25V7.5Z" })]);
31}
32const tr = ["innerHTML"], _o = { __name: "ScriptRenderer", props: { snippet: { type: String, required: false } }, setup(e) {
33  const a = e, t = W(null);
34  let s = [], n = null, c = false;
35  Ge(() => {
36    if (!a.snippet) return;
37    const u = () => {
38      n = null, r();
39    };
40    typeof window.requestIdleCallback == "function" ? (n = window.requestIdleCallback(u, { timeout: 2e3 }), c = true) : n = window.setTimeout(u, 0);
41  }), dn(() => {
42    n !== null && (c ? window.cancelIdleCallback(n) : window.clearTimeout(n)), o();
43  });
44  const r = () => {
45    const u = t.value.getElementsByTagName("script");
46    for (let d = 0; d < u.length; d++) {
47      const i = document.createElement("script"), y = u[d];
48      y.src ? i.src = y.src : i.innerHTML = y.innerHTML, i.async = y.async, i.defer = y.defer, document.head.appendChild(i), s.push(i);
49    }
50  }, o = () => {
51    for (let u = 0; u < s.length; u++) {
52      const d = s[u];
53      document.head.removeChild(d);
54    }
55    s = [];
56  };
57  return (u, d) => e.snippet ? (x(), L("div", { key: 0, ref_key: "scriptContainer", ref: t, innerHTML: e.snippet }, null, 8, tr)) : I("", true);
58} }, Pa = cn("notification", { state: () => ({ count: 0, isAnimating: false, soundEnabled: false, notifications: [], summary: { count: 0 } }), getters: { hasNotifications: (e) => e.count > 0, requestUnreadCounts: (e) => {
59  const a = {};
60  return e.notifications.forEach((t) => {
61    t.service_request_id && !t.read && !t.read_at && (a[t.service_request_id] = (a[t.service_request_id] || 0) + 1);
62  }), a;
63}, getRequestUnreadCount: (e) => (a) => e.notifications.filter((t) => t.service_request_id === a && !t.read && !t.read_at).length }, actions: { setNotificationCount(e) {
64  this.count = e, this.summary.count = e;
65}, updateNotificationSummary(e) {
66  this.summary = { ...e }, this.count = e.count || 0, e.notifications && (this.notifications = [...e.notifications]);
67}, triggerPulseAnimation() {
68  this.isAnimating || (this.isAnimating = true, this.soundEnabled && this.playNotificationSound(), setTimeout(() => {
69    this.isAnimating = false;
70  }, 2e3));
71}, playNotificationSound() {
72  try {
73    const e = new Audio("/sounds/notification-sound.mp3");
74    e.volume = 0.5, e.play().catch((a) => {
75      console.warn("Could not play notification sound:", a);
76    });
77  } catch (e) {
78    console.warn("Error creating audio element:", e);
79  }
80}, toggleSound() {
81  this.soundEnabled = !this.soundEnabled, localStorage.setItem("notification-sound-enabled", JSON.stringify(this.soundEnabled));
82}, loadSoundPreference() {
83  const e = localStorage.getItem("notification-sound-enabled");
84  e !== null && (this.soundEnabled = JSON.parse(e));
85}, incrementCount() {
86  this.count++, this.summary.count = this.count, this.triggerPulseAnimation();
87}, decrementCount() {
88  this.count > 0 && (this.count--, this.summary.count = this.count);
89}, clearNotifications() {
90  this.count = 0, this.summary.count = 0, this.notifications = [];
91}, addNotification(e) {
92  this.isDuplicateNotification(e) || (this.notifications.unshift(e), this.incrementCount());
93}, isDuplicateNotification(e) {
94  return this.notifications.some((a) => a.id === e.id);
95}, removeNotification(e) {
96  const a = this.notifications.findIndex((t) => t.id === e);
97  a !== -1 && (this.notifications.splice(a, 1), this.decrementCount());
98}, markNotificationAsRead(e) {
99  const a = this.notifications.find((t) => t.id === e);
100  a && !a.read_at && (a.read_at = (/* @__PURE__ */ new Date()).toISOString(), this.decrementCount());
101}, markAllAsRead() {
102  this.notifications.forEach((e) => {
103    e.read_at || (e.read_at = (/* @__PURE__ */ new Date()).toISOString());
104  }), this.clearNotifications();
105}, getUnreadNotifications() {
106  return this.notifications.filter((e) => !e.read_at);
107}, getRecentNotifications(e = 10) {
108  return this.notifications.slice(0, e);
109} } }), ar = { __name: "NotificationDot", setup(e) {
110  const a = Pa();
111  return (t, s) => S(a).hasNotifications ? (x(), L("div", { key: 0, class: R(["notification-dot absolute left-1.5 top-1.5 h-1 w-1 rounded-full bg-red-600", { "animate-pulse-ring": S(a).isAnimating }]) }, null, 2)) : I("", true);
112} }, Ba = Ca(ar, [["__scopeId", "data-v-d8ef1d16"]]);
113function To(e, a) {
114  return x(), L("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", "aria-hidden": "true", "data-slot": "icon" }, [f("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M10.5 19.5 3 12m0 0 7.5-7.5M3 12h18" })]);
115}
116function nr(e, a) {
117  return x(), L("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", "aria-hidden": "true", "data-slot": "icon" }, [f("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M21.75 9v.906a2.25 2.25 0 0 1-1.183 1.981l-6.478 3.488M2.25 9v.906a2.25 2.25 0 0 0 1.183 1.981l6.478 3.488m8.839 2.51-4.66-2.51m0 0-1.023-.55a2.25 2.25 0 0 0-2.134 0l-1.022.55m0 0-4.661 2.51m16.5 1.615a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V8.844a2.25 2.25 0 0 1 1.183-1.981l7.5-4.039a2.25 2.25 0 0 1 2.134 0l7.5 4.039a2.25 2.25 0 0 1 1.183 1.98V19.5Z" })]);
118}
119function rr(e, a) {
120  return x(), L("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", "aria-hidden": "true", "data-slot": "icon" }, [f("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M21.75 6.75v10.5a2.25 2.25 0 0 1-2.25 2.25h-15a2.25 2.25 0 0 1-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0 0 19.5 4.5h-15a2.25 2.25 0 0 0-2.25 2.25m19.5 0v.243a2.25 2.25 0 0 1-1.07 1.916l-7.5 4.615a2.25 2.25 0 0 1-2.36 0L3.32 8.91a2.25 2.25 0 0 1-1.07-1.916V6.75" })]);
121}
122const sr = { class: "flex min-h-screen items-end justify-center px-4 pb-20 pt-4 text-center max-sm:min-h-dvh max-sm:px-0 max-sm:pb-0 sm:block sm:p-0" }, lr = { class: "flex items-center justify-between border-b border-gray-200 px-4 py-6 max-sm:py-3" }, ir = { class: "sr-only" }, or = { class: "p-6 max-sm:overflow-y-auto max-sm:px-4 max-sm:pb-[max(1.5rem,env(safe-area-inset-bottom))] max-sm:pt-4" }, ur = { class: "sm:flex sm:items-start" }, dr = { class: "w-full text-left sm:mt-0" }, cr = { class: "text-base font-semibold text-gray-900" }, fr = { key: 0, class: "prose prose-sm" }
122, pr = { __name: "AnnouncementModal", props: { open: { type: Boolean, default: () => false }, color: { type: String, default: "primary" }, size: { type: String, default: () => "sm" }, announcement: { type: Object } }, emits: ["closed"], setup(e, { emit: a }) {
123  const t = e, s = a, n = V(() => ({ sm: "sm:max-w-sm", md: "sm:max-w-md", lg: "sm:max-w-lg", xl: "sm:max-w-xl", "2xl": "sm:max-w-2xl", "3xl": "sm:max-w-3xl", "4xl": "sm:max-w-4xl" })[t.size] ?? "sm:max-w-sm");
124  return (c, r) => {
125    const o = Ke("dompurify-html");
126    return x(), G(S(Tn), { as: "template", show: e.open }, { default: F(() => [M(S($n), { as: "div", class: "fixed inset-0 z-[99] overflow-y-auto", onClose: r[1] || (r[1] = (u) => s("closed")) }, { default: F(() => [f("div", sr, [M(S(fa), { as: "template", enter: "ease-out duration-300", "enter-from": "opacity-0", "enter-to": "opacity-100", leave: "ease-in duration-200", "leave-from": "opacity-100", "leave-to": "opacity-0" }, { default: F(() => [M(S(En), { class: "fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity" })]), _: 1 }), r[2] || (r[2] = f("span", { class: "hidden sm:inline-block sm:h-screen sm:align-middle", "aria-hidden": "true" }, " \u200B ", -1)), M(S(fa), { as: "template", enter: "ease-out duration-300", "enter-from": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95", "enter-to": "opacity-100 translate-y-0 sm:scale-100", leave: "ease-in duration-200", "leave-from": "opacity-100 translate-y-0 sm:scale-100", "leave-to": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95" }, { default: F(() => {
127      var _a2, _b, _c;
128      return [f("div", { class: R(["relative inline-block transform overflow-visible rounded-lg bg-white align-bottom shadow-xl transition-all max-sm:flex max-sm:max-h-[85dvh] max-sm:w-full max-sm:flex-col max-sm:rounded-b-none max-sm:rounded-t-2xl sm:w-full sm:align-middle", n.value]) }, [f("div", lr, [M(S(Cn), { as: "h3", class: "text-lg font-bold leading-6 text-gray-900" }, { default: F(() => [ne(c.$slots, "title", {}, () => [We(P(c.$t("Announcement")), 1)])]), _: 3 }), f("button", { type: "button", class: "rounded-md bg-white text-gray-400 hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 max-sm:-mr-2.5 max-sm:p-2.5", onClick: r[0] || (r[0] = (u) => s("closed")) }, [f("span", ir, P(c.$t("Close")), 1), M(S(_n), { class: "h-6 w-6", "aria-hidden": "true" })])]), f("div", or, [f("div", ur, [f("div", dr, [f("p", cr, P((_a2 = e.announcement) == null ? void 0 : _a2.title), 1), ((_b = e.announcement) == null ? void 0 : _b.content) ? we((x(), L("p", fr, null, 512)), [[o, (_c = e.announcement) == null ? void 0 : _c.content]]) : I("", true)])])])], 2)];
129    }), _: 3 })])]), _: 3 })]), _: 3 }, 8, ["show"]);
130  };
131} }, vr = { class: "flex-shrink-0" }, mr = ["title"], gr = { class: "text-base font-medium leading-6 text-gray-900" }, hr = { class: "truncate text-sm leading-5 text-gray-500 max-lg:line-clamp-2 max-lg:whitespace-normal" }, yr = { class: "text-sm leading-5 text-gray-500" }, br = { key: 0, class: "absolute right-3 top-3 opacity-0 transition-opacity duration-200 group-hover:opacity-100 [@media(hover:none)]:opacity-100" }, wr = ["aria-label", "disabled"], xr = { __name: "NotificationItemFull", props: { notification: { type: Object, required: true }, isIndex: { type: Boolean, default: false } }, setup(e) {
132  const a = e, { t } = ka(), s = V(() => a.notification.read ? t("Mark as unread") : t("Mark as read")), n = W(false), c = W(false), r = () => {
133    n.value = true;
134  }, o = () => {
135    n.value = false;
136  }, u = (y) => y.type === "new announcement", d = (y) => {
137    c.value || (c.value = true, Lt.visit(route("notifications.toggle-read-status", y.id), { method: "patch", preserveScroll: true, onFinish: () => {
138      c.value = false;
139    } }));
140  }, i = (y, w) => {
141    u(w) && (y.preventDefault(), r());
142  };
143  return (y, w) => {
144    const b = Ke("tooltip");
145    return x(), L(ye, null, [(x(), G(fn(u(e.notification) ? "button" : S(tt)), { href: u(e.notification) ? null : y.route("notifications.show", e.notification.id), class: R(["group relative flex w-full cursor-pointer items-start space-x-4 border-gray-200 p-3 text-left normal-case transition duration-150 ease-in-out", e.isIndex ? e.notification.read ? "bg-white hover:bg-gray-50" : "bg-yellow-50 hover:bg-yellow-100" : "bg-white hover:bg-gray-50"]), onClick: w[1] || (w[1] = (_) => i(_, e.notification)) }, { default: F(() => [f("div", vr, [M(It, { user: e.notification.sender, size: "2xl" }, null, 8, ["user"])]), f("div", { class: R(["max-w-full space-y-1 truncate max-lg:whitespace-normal", { "[@media(hover:none)]:pr-8": e.isIndex }]), title: e.notification.description }, [f("p", gr, P(e.notification.title), 1), f("p", hr, P(e.notification.description), 1), f("p", yr, P(S(Be)(e.notification.created_at)), 1)], 10, mr), e.
145isIndex ? (x(), L("div", br, [we((x(), L("button", { "aria-label": s.value, disabled: c.value, class: "rounded-full p-1 text-gray-400 transition-colors duration-200 hover:bg-gray-100 hover:text-gray-600 disabled:opacity-50 [@media(hover:none)]:relative [@media(hover:none)]:after:absolute [@media(hover:none)]:after:-inset-2", onClick: w[0] || (w[0] = Tt((_) => d(e.notification), ["stop", "prevent"])) }, [e.notification.read ? (x(), G(S(rr), { key: 0, class: "h-5 w-5" })) : (x(), G(S(nr), { key: 1, class: "h-5 w-5" }))], 8, wr)), [[b, s.value]])])) : I("", true)]), _: 1 }, 8, ["href", "class"])), e.notification.type === "new announcement" ? (x(), G(pr, { key: 0, open: n.value, announcement: e.notification.announcement, onClosed: o }, null, 8, ["open", "announcement"])) : I("", true)], 64);
146  };
147} }, Sr = { class: "relative z-20 max-h-96 w-96 divide-y overflow-y-auto overflow-x-hidden bg-white" }, kr = { key: 0, class: "flex w-full justify-center py-7" }, Or = { class: "text-sm leading-5 text-gray-500" }, $r = { class: "flow-root" }, Er = { class: "-m-3 flex items-center space-x-3 rounded-md p-3 text-base font-medium leading-6 text-gray-900" }, Cr = { __name: "NotificationList", props: { notifications: { type: Array, required: true } }, setup(e) {
148  return (a, t) => (x(), L(ye, null, [f("div", Sr, [(x(true), L(ye, null, Me(e.notifications, (s) => (x(), G(xr, { key: s.id, notification: s }, null, 8, ["notification"]))), 128)), e.notifications.length ? I("", true) : (x(), L("div", kr, [f("p", Or, P(a.$t("You have no unread notifications")), 1)]))]), M(S(tt), { href: a.route("notifications.index"), class: "justify-center space-y-6 border-t bg-gray-50 px-5 py-4 transition duration-150 ease-in-out hover:bg-gray-100 sm:flex sm:space-x-10 sm:space-y-0 sm:px-8" }, { default: F(() => [f("div", $r, [f("div", Er, [f("span", null, P(a.$t("All notifications")), 1)])])]), _: 1 }, 8, ["href"])], 64));
149} }, _r = { class: "rounded-lg shadow-lg" }, Tr = { class: "shadow-xs max-w-xs overflow-hidden rounded-lg sm:max-w-lg" }, Lr = { __name: "DropdownNotificationList", setup(e) {
150  const a = Pa();
151  return (t, s) => (x(), L("div", _r, [f("div", Tr, [M(Cr, { notifications: S(a).notifications }, null, 8, ["notifications"])])]));
152} }, Dr = { class: "sr-only" }, Ar = { __name: "NotificationDropdown", setup(e) {
153  return (a, t) => (x(), G(S(La), { class: "relative hidden lg:block" }, { default: F(() => [M(S(_a), { class: "relative hidden rounded-full bg-white p-1 text-gray-400 hover:text-gray-500 lg:block" }, { default: F(() => [f("span", Dr, P(a.$t("View notifications")), 1), M(S(Da), { class: "h-6 w-6", "aria-hidden": "true" }), M(Ba)]), _: 1 }), M(S(Mn), { class: "fixed inset-0 z-10 bg-gray-500 bg-opacity-75 transition-opacity" }), M(S(Ta), { class: "absolute right-0 top-12 z-10 mr-6 origin-top-right rounded-md shadow-lg" }, { default: F(() => [M(Lr)]), _: 1 })]), _: 1 }));
154} }, Ir = { class: "sr-only" }, qr = { __name: "NotificationBellButton", props: { notificationsSummary: { type: Object, required: true } }, setup(e) {
155  return (a, t) => (x(), L("div", null, [M(S(tt), { href: a.route("notifications.index"), class: "relative block rounded-full p-1 text-gray-400 after:absolute after:-inset-1.5 after:content-[''] hover:text-gray-500 lg:hidden" }, { default: F(() => [f("span", Ir, P(a.$t("View notifications")), 1), M(S(Da), { class: "h-6 w-6", "aria-hidden": "true" }), M(Ba)]), _: 1 }, 8, ["href"]), M(Ar)]));
156} }, ma = { __name: "TimeEntryCounter", props: { date: { type: String, required: true } }, setup(e) {
157  const a = e, t = pn({ currentDate: /* @__PURE__ */ new Date(), targetDate: new Date(a.date) }), s = V(() => t.currentDate - t.targetDate), n = V(() => Math.floor(s.value / 1e3 % 60).toString().padStart(2, "0")), c = V(() => Math.floor(s.value / 1e3 / 60 % 60).toString().padStart(2, "0")), r = V(() => Math.floor(s.value / (1e3 * 60 * 60) % 24).toString().padStart(2, "0"));
158  return Ge(() => {
159    setInterval(() => {
160      t.currentDate = /* @__PURE__ */ new Date();
161    }, 1e3);
162  }), (o, u) => (x(), L("span", null, P(r.value) + ":" + P(c.value) + ":" + P(n.value), 1));
163} }, Pr = { __name: "BaseSwitch", props: mn({ disabled: { type: Boolean, default: false } }, { modelValue: { type: Boolean, required: true }, modelModifiers: {} }), emits: ["update:modelValue"], setup(e) {
164  const a = vn(e, "modelValue");
165  return (t, s) => (x(), G(S(Vn), { modelValue: a.value, "onUpdate:modelValue": s[0] || (s[0] = (n) => a.value = n), disabled: e.disabled, class: R([a.value ? "bg-primary-600" : "bg-gray-200", e.disabled ? "cursor-not-allowed opacity-60" : "cursor-pointer", "relative inline-flex h-6 w-11 flex-shrink-0 rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out"]) }, { default: F(() => [f("span", { "aria-hidden": "true", class: R([a.value ? "translate-x-5" : "translate-x-0", "pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out"]) }, [ne(t.$slots, "default")], 2)]), _: 3 }, 8, ["modelValue", "disabled", "class"]));
166} }, Br = { key: 0, class: "mb-1 block text-sm font-medium text-gray-700 sm:hidden" }, Mr = ["disabled", "readonly", "value", "onClick"], Vr = ["disabled", "readonly", "value", "onClick"], jr = { key: 0, class: "mb-1 block text-sm font-medium text-gray-700 sm:hidden" }, Rr = ["disabled", "readonly", "value", "onClick"], Nr = ["disabled", "readonly", "value", "onClick"], Ct = "max-sm:min-h-11 max-sm:min-w-0 max-sm:flex-1 max-sm:text-base max-sm:focus:ring-primary-500", zr = { __name: "TimeEntryRangeCalendar", props: { modelValue: { type: Object, required: true }, inputDateTime: { type: String, default: "YYYY-MM-DD" }, mode: { type: String, default: "dateTime" }, editable: { type: Boolean, default: true }, maxDate: { type: Date, default: null, required: false }, stacked: { type: Boolean, default: false } }, emits: ["update:modelValue"], setup(e, { emit: a }) {
167  const n = Ia(e, "modelValue", a), c = W({ startDate: null, startTime: null, endTime: null, endDate: null }), r = W(null), o = (v) => {
168    Object.entries(c.value).forEach(([O, h]) => {
169      O !== v && h && h();
170    });
171  }, u = (v, O) => {
172    c.value[v] = O, r.value !== v && (o(v), r.value = v);
173  }, d = V(() => {
174    var _a2;
175    return ((_a2 = n.value) == null ? void 0 : _a2.start) ? new Date(n.value.start) : null;
176  }), i = V(() => {
177    var _a2, _b;
178    if (!((_a2 = n.value) == null ? void 0 : _a2.start) || !((_b = n.value) == null ? void 0 : _b.end)) return false;
179    const v = H(n.value.start), O = H(n.value.end);
180    return v.isSame(O, "day");
181  }), y = V(() => {
182    var _a2;
183    return i.value && ((_a2 = n.value) == null ? void 0 : _a2.end) ? new Date(n.value.end) : null;
184  }), w = V(() => {
185    var _a2;
186    return i.value && ((_a2 = n.value) == null ? void 0 : _a2.start) ? new Date(n.value.start) : null;
187  }), b = V({ get: () => {
188    var _a2;
189    return ((_a2 = n.value) == null ? void 0 : _a2.start) || null;
190  }, set: (v) => {
191    var _a2;
192    if (v && ((_a2 = n.value) == null ? void 0 : _a2.start)) {
193      const O = H(n.value.start), p = H(v).hour(O.hour()).minute(O.minute()).second(O.second()).millisecond(O.millisecond()).toISOString(), m = H(p), C = m.diff(O);
194      let A = H(n.value.end).add(C, "millisecond");
195      A.isAfter(H()) && (A = H()), A.isBefore(m) && (A = m), n.value = { start: p, end: A.toISOString() };
196    } else v && (n.value = { ...n.value, start: v });
197  } }), _ = V({ get: () => {
198    var _a2;
199    return ((_a2 = n.value) == null ? void 0 : _a2.start) || null;
200  }, set: (v) => {
201    var _a2;
202    if (v && ((_a2 = n.value) == null ? void 0 : _a2.start)) {
203      const O = H(n.value.start), h = H(v), p = O.hour(h.hour()).minute(h.minute()).second(h.second()).millisecond(h.millisecond()).toISOString(), m = H(p), C = H(n.value.end);
204      let A = n.value.end;
205      m.isSame(C, "day") && C.isBefore(m) && (A = m.toISOString()), n.value = { start: p, end: A };
206    } else v && (n.value = { ...n.value, start: v });
207  } }), k = V({ get: () => {
208    var _a2;
209    return ((_a2 = n.value) == null ? void 0 : _a2.end) || null;
210  }, set: (v) => {
211    var _a2;
212    if (v && ((_a2 = n.value) == null ? void 0 : _a2.end)) {
213      const O = H(n.value.end), p = H(v).hour(O.hour()).minute(O.minute()).second(O.second()).millisecond(O.millisecond()).toISOString(), m = H(p), C = H(n.value.start);
214      let A = n.value.start;
215      C.isAfter(m) && (A = m.toISOString()), n.value = { start: A, end: p };
216    } else v && (n.value = { ...n.value, end: v });
217  } }), D = V({ get: () => {
218    var _a2;
219    return ((_a2 = n.value) == null ? void 0 : _a2.end) || null;
220  }, set: (v) => {
221    var _a2;
222    if (v && ((_a2 = n.value) == null ? void 0 : _a2.end)) {
223      const O = H(n.value.end), h = H(v), p = O.hour(h.hour()).minute(h.minute()).second(h.second()).millisecond(h.millisecond()).toISOString(), m = H(p), C = H(n.value.start);
224      let A = n.value.start;
225      C.isSame(m, "day") && C.isAfter(m) && (A = m.toISOString()), n.value = { start: A, end: p };
226    } else v && (n.value = { ...n.value, end: v });
227  } }), { mapCurrent: T } = Fn({ xs: "0px", sm: "640px", md: "768px", lg: "1024px" }), q = T({ lg: 2 }, 1), g = T({ xs: true }, false);
228  return (v, O) => {
229    const h = Oa("VDatePicker"), p = Ke("tooltip");
230    return x(), L("div", { class: R(["flex w-full items-center justify-between", { "max-sm:flex-col max-sm:items-stretch max-sm:gap-3": e.stacked }]) }, [f("div", null, [e.stacked ? (x(), L("span", Br, P(v.$t("Start")), 1)) : I("", true), f("div", { class: R(["flex gap-1", { "max-sm:gap-2": e.stacked }]) }, [M(h, { modelValue: b.value, "onUpdate:modelValue": O[0] || (O[0] = (m) => b.value = m), mode: "date", "model-config": { type: "string", mask: "YYYY-MM-DDTHH:mm:ss.SSSZ" }, "max-date": e.maxDate, popover: { visibility: "click", positionFixed: true }, columns: S(q), color: "primary" }, { default: F(({ inputEvents: m, isDragging: C, hidePopover: A }) => {
231      var _a2, _b;
232      return [we(f("input", He({ class: ["rounded border-0 p-1 text-center text-sm", e.stacked && Ct, C ? "text-gray-500" : "text-gray-900", e.editable ? "cursor-pointer bg-gray-50" : "cursor-text bg-transparent"], disabled: !e.editable, readonly: e.stacked && S(g), value: S(Be)((_a2 = S(n)) == null ? void 0 : _a2.start, "ddd, MMM D"), size: 12 }, $t(m, true), { onClick: (z) => u("startDate", A) }), null, 16, Mr), [[p, S(Be)((_b = S(n)) == null ? void 0 : _b.start)]])];
233    }), _: 1 }, 8, ["modelValue", "max-date", "columns"]), M(h, { modelValue: _.value, "onUpdate:modelValue": O[1] || (O[1] = (m) => _.value = m), mode: "time", "model-config": { type: "string", mask: "YYYY-MM-DDTHH:mm:ss.SSSZ" }, "max-time": y.value, popover: { visibility: "click", positionFixed: true }, color: "primary" }, { default: F(({ inputEvents: m, isDragging: C, hidePopover: A }) => {
234      var _a2;
235      return [f("input", He({ class: ["rounded border-0 p-1 text-center text-sm", e.stacked && Ct, C ? "text-gray-500" : "text-gray-900", e.editable ? "curs
235or-pointer bg-gray-50" : "cursor-text bg-transparent"], disabled: !e.editable, readonly: e.stacked && S(g), value: S(Be)((_a2 = S(n)) == null ? void 0 : _a2.start, "h:mm A"), size: 8 }, $t(m, true), { onClick: (z) => u("startTime", A) }), null, 16, Vr)];
236    }), _: 1 }, 8, ["modelValue", "max-time"])], 2)]), f("span", { class: R(["flex-shrink-0 md:m-2", { "max-sm:hidden": e.stacked }]) }, [...O[4] || (O[4] = [f("svg", { class: "h-4 w-4 stroke-current text-gray-600", viewBox: "0 0 24 24" }, [f("path", { "stroke-linecap": "round", "stroke-linejoin": "round", "stroke-width": "2", d: "M14 5l7 7m0 0l-7 7m7-7H3" })], -1)])], 2), f("div", null, [e.stacked ? (x(), L("span", jr, P(v.$t("End")), 1)) : I("", true), f("div", { class: R(["flex gap-1", { "max-sm:flex-row-reverse max-sm:gap-2": e.stacked }]) }, [M(h, { modelValue: D.value, "onUpdate:modelValue": O[2] || (O[2] = (m) => D.value = m), mode: "time", "model-config": { type: "string", mask: "YYYY-MM-DDTHH:mm:ss.SSSZ" }, "min-time": w.value, popover: { visibility: "click", positionFixed: true }, color: "primary" }, { default: F(({ inputEvents: m, isDragging: C, hidePopover: A }) => {
237      var _a2;
238      return [f("input", He({ class: ["rounded border-0 p-1 text-center text-sm", e.stacked && Ct, C ? "text-gray-500" : "text-gray-900", e.editable ? "cursor-pointer bg-gray-50" : "cursor-text bg-transparent"], disabled: !e.editable, readonly: e.stacked && S(g), value: S(Be)((_a2 = S(n)) == null ? void 0 : _a2.end, "h:mm A"), size: 8 }, $t(m, true), { onClick: (z) => u("endTime", A) }), null, 16, Rr)];
239    }), _: 1 }, 8, ["modelValue", "min-time"]), M(h, { modelValue: k.value, "onUpdate:modelValue": O[3] || (O[3] = (m) => k.value = m), mode: "date", "model-config": { type: "string", mask: "YYYY-MM-DDTHH:mm:ss.SSSZ" }, "min-date": d.value, "max-date": e.maxDate, popover: { visibility: "click", positionFixed: true }, columns: S(q), color: "primary" }, { default: F(({ inputEvents: m, isDragging: C, hidePopover: A }) => {
240      var _a2, _b;
241      return [we(f("input", He({ class: ["rounded border-0 p-1 text-center text-sm", e.stacked && Ct, C ? "text-gray-500" : "text-gray-900", e.editable ? "cursor-pointer bg-gray-50" : "cursor-text bg-transparent"], disabled: !e.editable, readonly: e.stacked && S(g), value: S(Be)((_a2 = S(n)) == null ? void 0 : _a2.end, "ddd, MMM D"), size: 12 }, $t(m, true), { onClick: (z) => u("endDate", A) }), null, 16, Nr), [[p, S(Be)((_b = S(n)) == null ? void 0 : _b.end)]])];
242    }), _: 1 }, 8, ["modelValue", "min-date", "max-date", "columns"])], 2)])], 2);
243  };
244} }, Ur = { __name: "TimeEntryCalendar", props: { modelValue: { type: Object, required: true }, editable: { type: Boolean, default: true } }, emits: ["update:modelValue"], setup(e, { emit: a }) {
245  const n = Ia(e, "modelValue", a);
246  return (c, r) => (x(), G(zr, { modelValue: S(n), "onUpdate:modelValue": r[0] || (r[0] = (o) => $a(n) ? n.value = o : null), "input-date-time": "h:mm A", editable: e.editable, "max-date": /* @__PURE__ */ new Date() }, { default: F(({ inputValue: o, inputEvents: u, isDragging: d, togglePopover: i }) => [ne(c.$slots, "default", { inputValue: o, inputEvents: u, isDragging: d, togglePopover: i })]), _: 3 }, 8, ["modelValue", "editable", "max-date"]));
247} }, Hr = async (e = {}) => (await gt.get(route("users.assignable.search"), { params: e })).data.users, Wr = async ({ requestId: e, ...a }) => (await gt.get(route("users.checklist-assignable.search", { request: e }), { params: a })).data.users, Fr = async ({ requestId: e, ...a }) => (await gt.get(route("users.followable.search", { request: e }), { params: a })).data.users, Yr = async ({ organizationId: e, ...a }) => (await gt.get(route("users.organization-members.search", { organization: e }), { params: a })).data.users, Gr = async (e = {}) => (await gt.get(route("users.selectable.search"), { params: e })).data.users;
248function ct(e = {}) {
249  const a = [];
250  for (const s of Object.values(e)) {
251    if (s == null || s === "") {
252      a.push("");
253      continue;
254    }
255    Array.isArray(s) ? a.push(s.sort().join(",")) : a.push(String(s));
256  }
257  return a.join("|");
258}
259const Se = { root: ["users"], assignable: (e = {}) => [...Se.root, "assignable", ct(e)], checklistAssignable: (e = {}) => [...Se.root, "checklist-assignable", ct(e)], followable: (e = {}) => [...Se.root, "followable", ct(e)], organizationMembers: (e = {}) => [...Se.root, "organization-members", ct(e)], selectable: (e = {}) => [...Se.root, "selectable", ct(e)] }, Kr = ht((e = {}) => ({ key: Se.assignable(e), query: () => Hr(e), placeholderData: (a) => a })), Zr = ht((e = {}) => ({ key: Se.checklistAssignable(e), query: () => Wr(e), placeholderData: (a) => a })), Qr = ht((e = {}) => ({ key: Se.followable(e), query: () => Fr(e), placeholderData: (a) => a })), Xr = ht((e = {}) => ({ key: Se.organizationMembers(e), query: () => Yr(e), placeholderData: (a) => a })), Jr = ht((e = {}) => ({ key: Se.selectable(e), query: () => Gr(e), placeholderData: (a) => a })), es = { class: "h-6 w-6 cursor-pointer" }, ts = { class: "mb-5 px-4 pt-2" }, as = { for: "name", class: "sr-only block text-sm font-medium text-gray-700" }, ns = { class: "relative mt-1 rounded-md shadow-sm" }, rs = { class: "pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3" }, ss = ["placeholder"], ls = { class: "max-h-56" }, is = { key: 0, class: "flex justify-center py-4" }, os = { key: 1, class: "px-4 py-3 text-sm text-gray-500" }, us = { key: 2, class: "px-4 py-3 text-sm text-gray-500" }, ds = { key: 3, class: "z-10 mt-1 max-h-56 w-full overflow-auto rounded-b-md bg-white py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm", tabindex: "-1", role: "listbox", "aria-labelledby": "listbox-label", "aria-activedescendant": "listbox-option-3" }, cs = ["onClick"], fs = { class: "flex items-center" }, ps = { key: 0, class: "absolute inset-y-0 right-0 flex items-center pr-4 text-primary-600" }, vs = { __name: "SelectSingleUser", props: { usersSource: { type: String, required: true, validator: (e) => ["assignable", "checklist-assignable", "followable", "organization-members", "selectable"].includes(e) }, sourceId: { type: [Number, String], default: null }, selectedUser: { type: Object, required: false }, customPopoverClasses: { type: [String, Object, Array], default: "" }, disabled: { type: Boolean, default: false }, sameWidthDropdown: { type: Boolean, default: false } }, emits: ["user-selected"], setup(e, { emit: a }) {
260  const t = e, s = a, { trigger: n, popper: c } = zn({ placement: "bottom-start", strategy: "fixed", modifiers: [{ name: "sameWidth", enabled: t.sameWidthDropdown, fn: function({ state: v }) {
261    v.styles.popper.width = `${v.rects.reference.width}px`;
262  }, phase: "beforeWrite", requires: ["computeStyles"] }] }), r = W(""), o = W(false), u = () => {
263    t.disabled || (o.value = true);
264  }, d = Wn(r, 300), i = V(() => {
265    const v = { name: d.value || null, ids: t.selectedUser ? [t.selectedUser.id] : [] };
266    return t.usersSource === "checklist-assignable" ? Zr({ requestId: t.sourceId, ...v }) : t.usersSource === "followable" ? Qr({ requestId: t.sourceId, ...v }) : t.usersSource === "organization-members" ? Xr({ organizationId: t.sourceId, ...v }) : t.usersSource === "selectable" ? Jr(v) : Kr(v);
267  }), { data: y, isLoading: w, error: b } = gn(() => ({ ...i.value, enabled: o.value })), _ = V(() => y.value ?? []), k = (v) => {
268    var _a2;
269    return v.id === ((_a2 = t.selectedUser) == null ? void 0 : _a2.id);
270  }, D = (v) => [...v].sort((O, h) =>
270 k(O) && !k(h) ? -1 : !k(O) && k(h) ? 1 : O.name.localeCompare(h.name)), T = V(() => D(_.value)), q = V(() => T.value.filter((v) => v.name.toLowerCase().includes(d.value.toLowerCase()))), { t: g } = ka();
271  return (v, O) => {
272    const h = Ke("tooltip");
273    return x(), G(S(La), { class: "leading-3" }, { default: F(() => [M(S(_a), { ref_key: "popoverButton", ref: n, disabled: e.disabled, class: "block w-full cursor-default focus-visible:outline-none [@media(hover:none)]:relative [@media(hover:none)]:after:absolute [@media(hover:none)]:after:-inset-2.5 [@media(hover:none)]:after:content-['']", onClick: u }, { default: F(() => [ne(v.$slots, "default", {}, () => {
274      var _a2;
275      return [f("div", es, [e.selectedUser ? we((x(), G(It, { key: 0, user: e.selectedUser, size: "sm", class: "ring-2 ring-white group-hover:visible [@media(hover:hover)]:lg:invisible" }, null, 8, ["user"])), [[h, (_a2 = e.selectedUser) == null ? void 0 : _a2.name]]) : (x(), G(S(qa), { key: 1, class: "h-6 w-6 rounded-full object-cover hover:text-gray-600 group-hover:visible [@media(hover:hover)]:lg:invisible" }))])];
276    })]), _: 3 }, 8, ["disabled"]), (x(), G(Ea, { to: "body" }, [M(S(Ta), { ref_key: "popoverPanel", ref: c, class: R(S(Dn)(["z-50 w-80 rounded-md bg-white text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm", e.customPopoverClasses])) }, { default: F(() => [f("div", ts, [f("label", as, P(v.$t("Name")), 1), f("div", ns, [f("div", rs, [M(S(Gn), { class: "h-5 w-5 text-gray-400", "aria-hidden": "true" })]), we(f("input", { "onUpdate:modelValue": O[0] || (O[0] = (p) => r.value = p), type: "text", class: "block w-full rounded-md border-gray-300 pl-10 focus:border-primary-500 focus:ring-primary-500 sm:text-sm", placeholder: S(g)("Search") }, null, 8, ss), [[hn, r.value]])])]), f("div", ls, [S(w) && !S(y) ? (x(), L("div", is, [M(Aa, { class: "h-5 w-5 animate-spin text-gray-400" })])) : S(b) && !S(y) ? (x(), L("p", os, P(v.$t("Something went wrong.")), 1)) : q.value.length === 0 ? (x(), L("p", us, P(v.$t("No users found")), 1)) : (x(), L("ul", ds, [(x(true), L(ye, null, Me(q.value, (p) => (x(), L("li", { key: p.id, class: R([k(p) ? "bg-gray-50" : "", "group-1 relative cursor-pointer select-none py-2 pl-3 pr-9 text-gray-900 hover:bg-gray-50"]), onClick: (m) => s("user-selected", p) }, [f("div", fs, [M(It, { user: p, size: "sm" }, null, 8, ["user"]), f("span", { class: R([k(p) ? "font-semibold" : "font-normal", "ml-3 block truncate"]) }, P(p.name), 3)]), k(p) ? (x(), L("span", ps, [M(S(Kn), { class: "h-5 w-5", "aria-hidden": "true" })])) : I("", true)], 10, cs))), 128))]))])]), _: 1 }, 8, ["class"])]))]), _: 3 });
277  };
278} }, ms = { __name: "TransitionExpand", setup(e) {
279  const a = (n) => {
280    n.style.position = "absolute", n.style.visibility = "hidden", n.style.height = "auto";
281    const c = getComputedStyle(n).height;
282    n.style.position = null, n.style.visibility = null, n.style.height = 0, getComputedStyle(n).height, requestAnimationFrame(() => {
283      n.style.height = c;
284    });
285  }, t = (n) => {
286    n.style.height = "auto";
287  }, s = (n) => {
288    const c = getComputedStyle(n).height;
289    n.style.height = c, getComputedStyle(n).height, requestAnimationFrame(() => {
290      n.style.height = 0;
291    });
292  };
293  return (n, c) => (x(), G(yn, { name: "expand", onEnter: a, onAfterEnter: t, onLeave: s }, { default: F(() => [ne(n.$slots, "default", {}, void 0, true)]), _: 3 }));
294} }, gs = Ca(ms, [["__scopeId", "data-v-03692d6b"]]), hs = { container: "relative mx-auto w-full flex items-center justify-end box-border cursor-pointer border border-gray-300 rounded bg-white text-base leading-snug outline-none", containerDisabled: "cursor-default bg-gray-100", containerOpen: "rounded-b-none", containerOpenTop: "rounded-t-none", containerActive: "ring ring-gray-100 ring-opacity-30 border border-primary-500", multipleLabel: "flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5", search: "w-full absolute inset-0 outline-none focus:ring-primary-500 appearance-none box-border border-0 text-base font-sans bg-white rounded pl-3.5 rtl:pl-0 rtl:pr-3.5 focus:border focus:border-primary-500", tags: "flex-grow flex-shrink flex flex-wrap items-center mt-1 pl-2 focus:ring-primary-500 focus:border focus:border-primary-500", tag: "bg-gray-100 text-gray-800 text-sm font-medium py-0.5 pl-2 rounded-full mr-1 mb-1 flex items-center", tagDisabled: "pr-2 opacity-50", tagRemove: "flex items-center justify-center p-1 mx-0.5 rounded-sm hover:bg-black hover:bg-opacity-10 group", tagRemoveIcon: "bg-multiselect-remove bg-center bg-no-repeat opacity-30 inline-block w-3 h-3 group-hover:opacity-60", tagsSearchWra
294pper: "inline-block relative mx-1 mb-1 flex-grow flex-shrink h-full", tagsSearch: "absolute inset-0 border-0 outline-none focus:ring-0 appearance-none p-0 text-base font-sans box-border w-full", tagsSearchCopy: "invisible whitespace-pre-wrap inline-block h-px", placeholder: "flex items-center h-full absolute left-0 top-0 pointer-events-none bg-transparent leading-snug pl-3.5 text-gray-800", caret: "bg-multiselect-caret bg-center bg-no-repeat w-2.5 h-4 py-px box-content mr-3.5 relative z-10 opacity-40 flex-shrink-0 flex-grow-0 transition-transform transform pointer-events-none", caretOpen: "rotate-180 pointer-events-auto", clear: "pr-3.5 relative z-10 opacity-40 transition duration-300 flex-shrink-0 flex-grow-0 flex hover:opacity-80", clearIcon: "bg-multiselect-remove bg-center bg-no-repeat w-2.5 h-4 py-px box-content inline-block", spinner: "bg-multiselect-spinner bg-center bg-no-repeat w-4 h-4 z-10 mr-3.5 animate-spin flex-shrink-0 flex-grow-0", dropdown: "max-h-60 absolute -left-px -right-px bottom-0 transform translate-y-full border border-gray-300 -mt-px overflow-y-scroll z-50 bg-white flex flex-col rounded-b", dropdownTop: "-translate-y-full top-px bottom-auto flex-col-reverse rounded-b-none rounded-t", dropdownHidden: "hidden", options: "flex flex-col p-0 m-0 list-none", optionsTop: "flex-col-reverse", group: "p-0 m-0", groupLabel: "flex text-sm box-border items-center justify-start text-left py-1 px-3 font-medium bg-gray-200 cursor-default leading-normal", groupLabelPointable: "cursor-pointer", groupLabelPointed: "bg-gray-300 text-gray-700", groupLabelSelected: "bg-primary-600 text-gray-800", groupLabelDisabled: "bg-gray-100 text-gray-300 cursor-not-allowed", groupLabelSelectedPointed: "bg-primary-600 text-gray-800 opacity-90", groupLabelSelectedDisabled: "text-primary-100 bg-primary-600 bg-opacity-50 cursor-not-allowed", groupOptions: "p-0 m-0", option: "flex items-center justify-start box-border text-left cursor-pointer text-base leading-snug py-2 px-3", optionPointed: "text-gray-800 bg-gray-100", optionSelected: "text-gray-800 bg-gray-100", optionDisabled: "text-gray-300 cursor-not-allowed", optionSelectedPointed: "text-gray-800 bg-gray-100 opacity-90", optionSelectedDisabled: "text-primary-100 bg-gray-100 bg-opacity-50 cursor-not-allowed", noOptions: "py-2 px-3 text-gray-600 bg-white text-left", noResults: "py-2 px-3 text-gray-600 bg-white text-left", fakeInput: "bg-transparent absolute left-0 right-0 -bottom-px w-full h-px border-0 p-0 appearance-none outline-none text-transparent", spacer: "h-9 py-px box-content" };
295function xe(e) {
296  return e == null;
297}
298function ys(e, a, t) {
299  const { object: s, valueProp: n, mode: c } = ce(e), r = yt().proxy, o = t.iv, u = (y, w = true) => {
300    o.value = i(y);
301    const b = d(y);
302    a.emit("change", b, r), w && (a.emit("input", b), a.emit("update:modelValue", b));
303  }, d = (y) => s.value || xe(y) ? y : Array.isArray(y) ? y.map((w) => w[n.value]) : y[n.value], i = (y) => xe(y) ? c.value === "single" ? {} : [] : y;
304  return { update: u };
305}
306function ee(e) {
307  return wn(() => ({ get: e, set: () => {
308  } }));
309}
310function bs(e, a) {
311  const { value: t, modelValue: s, mode: n, valueProp: c } = ce(e), r = W(n.value !== "single" ? [] : {}), o = ee(() => s.value !== void 0 ? s.value : t.value), u = V(() => n.value === "single" ? r.value[c.value] : r.value.map((i) => i[c.value])), d = ee(() => n.value !== "single" ? r.value.map((i) => i[c.value]).join(",") : r.value[c.value]);
312  return { iv: r, internalValue: r, ev: o, externalValue: o, textValue: d, plainValue: u };
313}
314function ws(e, a, t) {
315  const { regex: s } = ce(e), n = yt().proxy, c = t.isOpen, r = t.open, o = W(null), u = () => {
316    o.value = "";
317  }, d = (w) => {
318    o.value = w.target.value;
319  }, i = (w) => {
320    if (s.value) {
321      let b = s.value;
322      typeof b == "string" && (b = new RegExp(b)), w.key.match(b) || w.preventDefault();
323    }
324  }, y = (w) => {
325    if (s.value) {
326      let _ = (w.clipboardData || window.clipboardData).getData("Text"), k = s.value;
327      typeof k == "string" && (k = new RegExp(k)), _.split("").every((D) => !!D.match(k)) || w.preventDefault();
328    }
329    a.emit("paste", w, n);
330  };
331  return ie(o, (w) => {
332    !c.value && w && r(), a.emit("search-change", w, n);
333  }), { search: o, clearSearch: u, handleSearchInput: d, handleKeypress: i, handlePaste: y };
334}
335function xs(e, a, t) {
336  const { groupSelect: s, mode: n, groups: c, disabledProp: r } = ce(e), o = W(null), u = (i) => {
337    i === void 0 || i !== null && i[r.value] || c.value && i && i.group && (n.value === "single" || !s.value) || (o.value = i);
338  };
339  return { pointer: o, setPointer: u, clearPointer: () => {
340    u(null);
341  } };
342}
343function Gt(e, a = true) {
344  return a ? String(e).toLowerCase().trim() : String(e).toLowerCase().normalize("NFD").trim().replace(/æ/g, "ae").replace(/œ/g, "oe").replace(/ø/g, "o").replace(new RegExp("\\p{Diacritic}", "gu"), "");
345}
346function Ss(e) {
347  return Object.prototype.toString.call(e) === "[object Object]";
348}
349function ks(e, a) {
350  if (e.length !== a.length) return false;
351  const t = a.slice().sort();
352  return e.slice().sort().every(function(s, n) {
353    return s === t[n];
354  });
355}
356const Ma = (e, a) => {
357  if (e === a) return true;
358  if (typeof e != "object" || e === null || typeof a != "object" || a === null) return false;
359  const t = Object.keys(e), s = Object.keys(a);
360  if (t.length !== s.length) return false;
361  for (let n of t) if (!s.includes(n) || !Ma(e[n], a[n])) return false;
362  return true;
363};
364function Os(e, a, t) {
365  const { options: s, mode: n, trackBy: c, limit: r, hideSelected: o, createTag: u, createOption: d, label: i, appendNewTag: y, appendNewOption: w, multipleLabel: b, object: _, loading: k, delay: D, resolveOnLoad: T, minChars: q, filterResults: g, clearOnSearch: v, clearOnSelect: O, valueProp: h, allowAbsent: p, groupLabel: m, canDeselect: C, max: A, strict: z, closeOnSelect: j, closeOnDeselect: X, groups: te, reverse: oe, infinite: J, groupOptions: K, groupHideEmpty: $e, groupSelect: Y, onCreate: ae, disabledProp: Z, searchStart: le, searchFilter: fe } = ce(e), Q = yt().proxy, N = t.iv, E = t.ev, B = t.search, se = t.clearSearch, ue = t.update, lt = t.pointer, it = t.setPointer, Ae = t.clearPointer, bt = t.focus, jt = t.deactivate, Ie = t.close, wt = t.localize, qe = W([]), pe = W([]), ve = W(false), ge = W(null), Ee = W(J.value && r.value === -1 ? 10 : r.value), xt = V({ get: () => pe.value, set: (l) => pe.value = l }), ot = ee(() => u.value || d.value || false), ut = ee(() => y.value !== void 0 ? y.value : w.value !== void 0 ? w.value : true), he = V(() => {
366    if (te.value) {
367      let l = Ne.value || [], $ = [];
368      return l.forEach((U) => {
369        Ft(U[K.value]).forEach((re) => {
370          $.push(Object.assign({}, re, U[Z.value] ? { [Z.value]: true } : {}));
371        });
372      }), $;
373    } else {
374      let l = Ft(pe.value || []);
375      return qe.value.length && (l = l.concat(qe.value)), l;
376    }
377  }), dt = V(() => {
378    let l = he.value;
379    return oe.value && (l = l.reverse()), Ze.value.length && (l = Ze.value.concat(l)), Wt(l);
380  }), Pe = V(() => {
381    let l = dt.value;
382    return Ee.value > 0 && (l = l.slice(0, Ee.value)), l;
383  }), Ne = V(() => {
384    if (!te.value) return [];
385    let l = [], $ = pe.value || [];
386    return qe.value.length && l.push({ [m.value]: " ", [K.value]: [...qe.value], __CREATE__: true }), l.concat($);
387  }), Wa = V(() => {
388    let l = [...Ne.value].map(($) => ({ ...$ }));
389    return Ze.value.length && (l[0] && l[0].__CREATE__ ? l[0][K.value] = [...Ze.value, ...l[0][K.value]] : l = [{ [m.value]: " ", [K.value]: [...Ze.value], __CREATE__: true }].concat(l)), l;
390  }), Rt = V(() => {
391    if (!te.value) return [];
392    let l = Wa.value;
393    return ln((l || []).map(($, U) => {
394      const re = Ft($[K.value]);
395      return { ...$, index: U, group: true, [K.value]: Wt(re, false).map((Ue) => Object.assign({}, Ue, $[Z.value] ? { [Z.value]: true } : {})), __VISIBLE__: Wt(re).map((Ue) => Object.assign({}, Ue, $[Z.value] ? { [Z.value]: true } : {})) };
396    }));
397  }), Nt = V(() => {
398    switch (n.value) {
399      case "single":
400        return !xe(N.value[h.value]);
401      case "multiple":
402      case "tags":
403        return !xe(N.value) && N.value.length > 0;
404    }
405  }), Fa = V(() => b.value !== void 0 ? b.value(N.value, Q) : N.value && N.value.length > 1 ? `${N.value.length} options selected` : "1 option selected"), Ya = ee(() => !he.value.length && !ve.value && !Ze.value.length), Ga = ee(() => he.value.length > 0 && Pe.value.length == 0 && (B.value && te.value || !te.value)), Ze = V(() => ot.value === false || !B.value ? [] : nn(B.value) !== -1 ? [] : [{ [h.value]: B.value, [ze.value[0]]: B.value, [i.value]: B.value, __CREATE__: true }]), ze = V(() => c.value ? Array.isArray(c.value) ? c.value : [c.value] : [i.value]), Ka = ee(() => {
406    switch (n.value) {
407      case "single":
408        return null;
409      case "multiple":
410      case "tags":
411        return [];
412    }
413  }), Za = ee(() => k.value || ve.value), Qe = (l) => {
414    switch (typeof l != "object" && (l = _e(l)), n.value) {
415      case "single":
416        ue(l);
417        break;
418      case "multiple":
419      case "tags":
420        ue(N.value.concat(l));
421        break;
422    }
423    a.emit("select", ra(l), l, Q);
424  }, Xe = (l) => {
425    switch (typeof l != "object" && (l = _e(l)), n.value) {
426      case "single":
427        la();
428        break;
429      case "tags":
430      case "multiple":
431        ue(Array.isArray(l) ? N.value.filter(($) => l.map((U) => U[h.value]).indexOf($[h.value]) === -1) : N.value.filter(($) => $[h.value] != l[h.value]));
432        break;
433    }
434    a.emit("deselect", ra(l), l, Q);
435  }
435, ra = (l) => _.value ? l : l[h.value], sa = (l) => {
436    Xe(l);
437  }, Qa = (l, $) => {
438    if ($.button !== 0) {
439      $.preventDefault();
440      return;
441    }
442    sa(l);
443  }, la = () => {
444    ue(Ka.value), a.emit("clear", Q);
445  }, Ce = (l) => {
446    if (l.group !== void 0) return n.value === "single" ? false : an(l[K.value]) && l[K.value].length;
447    switch (n.value) {
448      case "single":
449        return !xe(N.value) && (N.value[h.value] == l[h.value] || typeof N.value[h.value] == "object" && typeof l[h.value] == "object" && Ma(N.value[h.value], l[h.value]));
450      case "tags":
451      case "multiple":
452        return !xe(N.value) && N.value.map(($) => $[h.value]).indexOf(l[h.value]) !== -1;
453    }
454  }, zt = (l) => l[Z.value] === true, Ut = () => A === void 0 || A.value === -1 || !Nt.value && A.value > 0 ? false : N.value.length >= A.value, Xa = (l) => {
455    if (!zt(l)) {
456      if (ae.value && !Ce(l) && l.__CREATE__ && (l = { ...l }, delete l.__CREATE__, l = ae.value(l, Q), l instanceof Promise)) {
457        ve.value = true, l.then(($) => {
458          ve.value = false, ia($);
459        });
460        return;
461      }
462      ia(l);
463    }
464  }, ia = (l) => {
465    switch (l.__CREATE__ && (l = { ...l }, delete l.__CREATE__), n.value) {
466      case "single":
467        if (l && Ce(l)) {
468          C.value && Xe(l), X.value && (Ae(), Ie());
469          return;
470        }
471        l && Ht(l), O.value && se(), j.value && (Ae(), Ie()), l && Qe(l);
472        break;
473      case "multiple":
474        if (l && Ce(l)) {
475          Xe(l), X.value && (Ae(), Ie());
476          return;
477        }
478        if (Ut()) {
479          a.emit("max", Q);
480          return;
481        }
482        l && (Ht(l), Qe(l)), O.value && se(), o.value && Ae(), j.value && Ie();
483        break;
484      case "tags":
485        if (l && Ce(l)) {
486          Xe(l), X.value && (Ae(), Ie());
487          return;
488        }
489        if (Ut()) {
490          a.emit("max", Q);
491          return;
492        }
493        l && Ht(l), O.value && se(), l && Qe(l), o.value && Ae(), j.value && Ie();
494        break;
495    }
496    j.value || bt();
497  }, Ja = (l) => {
498    if (!(zt(l) || n.value === "single" || !Y.value)) {
499      switch (n.value) {
500        case "multiple":
501        case "tags":
502          tn(l[K.value]) ? Xe(l[K.value]) : Qe(l[K.value].filter(($) => N.value.map((U) => U[h.value]).indexOf($[h.value]) === -1).filter(($) => !$[Z.value]).filter(($, U) => N.value.length + 1 + U <= A.value || A.value === -1)), o.value && lt.value && it(Rt.value.filter(($) => !$[Z.value])[lt.value.index]);
503          break;
504      }
505      j.value && jt();
506    }
507  }, Ht = (l) => {
508    _e(l[h.value]) === void 0 && ot.value && (a.emit("tag", l[h.value], Q), a.emit("option", l[h.value], Q), a.emit("create", l[h.value], Q), ut.value && sn(l), se());
509  }, en = () => {
510    n.value !== "single" && Qe(Pe.value.filter((l) => !l.disabled && !Ce(l)));
511  }, tn = (l) => l.find(($) => !Ce($) && !$[Z.value]) === void 0, an = (l) => l.find(($) => !Ce($)) === void 0, _e = (l) => he.value[he.value.map(($) => String($[h.value])).indexOf(String(l))], nn = (l) => he.value.findIndex(($) => ze.value.some((U) => (parseInt($[U]) == $[U] ? parseInt($[U]) : $[U]) === (parseInt(l) == l ? parseInt(l) : l))), rn = (l) => ["tags", "multiple"].indexOf(n.value) !== -1 && o.value && Ce(l), sn = (l) => {
512    qe.value.push(l);
513  }, ln = (l) => $e.value ? l.filter(($) => B.value ? $.__VISIBLE__.length : $[K.value].length) : l.filter(($) => B.value ? $.__VISIBLE__.length : true), Wt = (l, $ = true) => {
514    let U = l;
515    if (B.value && g.value) {
516      let re = fe.value;
517      re || (re = (Ue, ua, co) => ze.value.some((un) => {
518        let da = Gt(wt(Ue[un]), z.value);
519        return le.value ? da.startsWith(Gt(ua, z.value)) : da.indexOf(Gt(ua, z.value)) !== -1;
520      })), U = U.filter((Ue) => re(Ue, B.value, Q));
521    }
522    return o.value && $ && (U = U.filter((re) => !rn(re))), U;
523  }, Ft = (l) => {
524    let $ = l;
525    return Ss($) && ($ = Object.keys($).map((U) => {
526      let re = $[U];
527      return { [h.value]: U, [ze.value[0]]: re, [i.value]: re };
528    })), $ && Array.isArray($) ? $ = $.map((U) => typeof U == "object" ? U : { [h.value]: U, [ze.value[0]]: U, [i.value]: U }) : $ = [], $;
529  }, St = () => {
530    xe(E.value) || (N.value = Ot(E.value));
531  }, kt = (l) => (ve.value = true, new Promise(($, U) => {
532    s.value(B.value, Q).then((re) => {
533      pe.value = re || [], typeof l == "function" && l(re), ve.value = false;
534    }).catch((re) => {
535      console.error(re), pe.value = [], ve.value = false;
536    }).finally(() => {
537      $();
538    });
539  })), Yt = () => {
540    if (Nt.value) if (n.value === "single") {
541      let l = _e(N.value[h.value]);
542      if (l !== void 0) {
543        let $ = l[i.value];
544        N.value[i.value] = $, _.value && (E.value[i.value] = $);
545      }
546    } else N.value.forEach((l, $) => {
547      let U = _e(N.value[$][h.value]);
548      if (U !== void 0) {
549        let re = U[i.value];
550        N.value[$][i.value] = re, _.value && (E.value[$][i.value] = re);
551      }
552    });
553  }, on = (l) => {
554    kt(l);
555  }, Ot = (l) => xe(l) ? n.value === "single" ? {} : [] : _.value ? l : n.value === "single" ? _e(l) || (p.value ? { [i.value]: l, [h.value]: l, [ze.value[0]]: l } : {}) : l.filter(($) => !!_e($) || p.value).map(($) => _e($) || { [i.value]: $, [h.value]: $, [ze.value[0]]: $ }), oa = () => {
556    ge.value = ie(B, (l) => {
557      l.length < q.value || !l && q.value !== 0 || (ve.value = true, v.value && (pe.value = []), setTimeout(() => {
558        l == B.value && s.value(B.value, Q).then(($) => {
559          (l == B.value || !B.value) && (pe.value = $, lt.value = Pe.value.filter((U) => U[Z.value] !== true)[0] || null, ve.value = false);
560        }).catch(($) => {
561          console.error($);
562        });
563      }, D.value));
564    }, { flush: "sync" });
565  };
566  if (n.value !== "single" && !xe(E.value) && !Array.isArray(E.value)) throw new Error(`v-model must be an array when using "${n.value}" mode`);
567  return s && typeof s.value == "function" ? T.value ? kt(St) : _.value == true && St() : (pe.value = s.value, St()), D.value > -1 && oa(), ie(D, (l, $) => {
568    ge.value && ge.value(), l >= 0 && oa();
569  }), ie(E, (l) => {
570    if (xe(l)) {
571      ue(Ot(l), false);
572      return;
573    }
574    switch (n.value) {
575      case "single":
576        (_.value ? l[h.value] != N.value[h.value] : l != N.value[h.value]) && ue(Ot(l), false);
577        break;
578      case "multiple":
579      case "tags":
580        ks(_.value ? l.map(($) => $[h.value]) : l, N.value.map(($) => $[h.value])) || ue(Ot(l), false);
581        break;
582    }
583  }, { deep: true }), ie(s, (l, $) => {
584    typeof e.options == "function" ? T.value && (!$ || l && l.toString() !== $.toString()) && kt() : (pe.value = e.options, Object.keys(N.value).length || St(), Yt());
585  }), ie(i, Yt), ie(r, (l, $) => {
586    Ee.value = J.value && l === -1 ? 10 : l;
587  }), { resolvedOptions: xt, pfo: dt, fo: Pe, filteredOptions: Pe, hasSelected: Nt, multipleLabelText: Fa, eo: he, extendedOptions: he, eg: Ne, extendedGroups: Ne, fg: Rt, filteredGroups: Rt, noOptions: Ya, noResults: Ga, resolving: ve, busy: Za, offset: Ee, select: Qe, deselect: Xe, remove: sa, selectAll: en, clear: la, isSelected: Ce, isDisabled: zt, isMax: Ut, getOption: _e, handleOptionClick: Xa, handleGroupClick: Ja, handleTagRemove: Qa, refreshOptions: on, resolveOptions: kt, refreshLabels: Yt };
588}
589function $s(e, a, t) {
590  const { valueProp: s, showOptions: n, searchable: c, groupLabel: r, groups: o, mode: u, groupSelect: d, disabledProp: i, groupOptions: y } = ce(e), w = t.fo, b = t.fg, _ = t.handleOptionClick, k = t.handleGroupClick, D = t.search, T = t.pointer, q = t.setPointer, g = t.clearPointer, v = t.multiselect, O = t.isOpen, h = V(() => w.value.filter((E) => !E[i.value])), p = V(() => b.value.filter((E) => !E[i.value])), m = ee(() => u.value !== "single" && d.value), C = ee(() => T.value && T.value.group), A = V(() => Q(T.value)), z = V(() => {
591    const E = C.value ? T.value : Q(T.value), B = p.value.map((ue) => ue[r.value]).indexOf(E[r.value]);
592    let se = p.value[B - 1];
593    return se === void 0 && (se = X.value), se;
594  }), j = V(() => {
595    let E = p.value.map((B) => B.label).indexOf(C.value ? T.value[r.value] : Q(T.value)[r.value]) + 1;
596    return p.value.length <= E && (E = 0), p.value[E];
597  }), X = V(() => [...p.value].slice(-1)[0]), te = V(() => T.value.__VISIBLE__.filter((E) => !E[i.value])[0]), oe = V(() => {
598    const E = A.value.__VISIBLE__.filter((B) => !B[i.value]);
599    return E[E.map((B) => B[s.value]).indexOf(T.value[s.value]) - 1];
600  }), J = V(() => {
601    const E = Q(T.value).__VISIBLE__.filter((B) => !B[i.value]);
602    return E[E.map((B) => B[s.value]).indexOf(T.value[s.value]) + 1];
603  }), K = V(() => [...z.value.__VISIBLE__.filter((E) => !E[i.value])].slice(-1)[0]), $e = V(() => [...X.value.__VISIBLE__.filter((E) => !E[i.value])].slice(-1)[0]), Y = (E) => T.value && (!E.group && T.value[s.value] === E[s.value] || E.group !== void 0 && T.value[r.value] === E[r.value]) ? true : void 0, ae = () => {
604    q(h.value[0] || null);
605  }, Z = () => {
606    !T.value || T.value[i.value] === true || (C.value ? k(T.value) : _(T.value));
607  }, le = () => {
608    if (T.value === null) q((o.value && m.value ? p.value[0].__CREATE__ ? h.value[0] : p.value[0] : h.value[0]) || null);
609    else if (o.value && m.value) {
610      let E = C.value ? te.value : J.value;
611      E === void 0 && (E = j.value, E.__CREATE__ && (E = E[y.value][0])), q(E || null);
612    } else {
613      let E = h.value.map((B) => B[s.value]).indexOf(T.value[s.value]) + 1;
614      h.value.length <= E && (E = 0), q(h.value[E] || null);
615    }
616    et(() => {
617      N();
618    });
619  }, fe = () => {
620    if (T.value === null) {
621      let E = h.value[h.value.length - 1];
622      o.value && m.value && (E = $e.value, E === void 0 && (E = X.value)), q(E || null);
623    } else if (o.value && m.value) {
624      let E = C.value ? K.value : oe.value;
625      E === void 0 && (E = C.value ? z.value : A.value, E.__CREATE__ && (E = K.value, E === void 0 && (E = z.value))), q(E || null);
626    } else {
627      let E = h.value.map((B) => B[s.value]).indexOf(T.value[s.value]) - 1;
628      E < 0 && (E = h.value.length - 1), q(h.value[E] || null);
629    }
630    et(() => {
631      N();
632    });
633  }, Q = (E) => p.value.find((B) => B.__VISIBLE__.map((se) => se[s.value]).indexOf(E[s.value]) !== -1), N = () => {
634    let E = v.value.querySelector("[data-pointed]");
635    if (!E) return;
636    let B = E.parentElement.parentElement;
637    o.value && (B = C.value ? E.parentElement.parentElement.parentElement : E.parentElement.parentElement.parentElement.parentElement), E.offsetTop + E.offsetHeight > B.clientHeight + B.scrollTop && (B.scrollTop = E.offsetTop + E.offsetHeight - B.clientHeight), E.offsetTop < B.scrollTop && (B.scrollTop = E.offsetTop);
638  };
639  return ie(D, (E) => {
640    c.value && (E.length && n.value ? ae() : g());
641  }), ie(O, (E) => {
642    if (E && v && v.value) {
643      let B = v.value.querySelectorAll("[data-selected]")[0];
644      if (!B) return;
645      let se = B.parentElement.parentElement;
646      et(() => {
647        se.scrollTop = B.offsetTop;
648      });
649    }
650  }), { pointer: T, canPointGroups: m, isPointed: Y, setPointerFirst: ae, selectPointer: Z, forwardPointer: le, backwardPointer: fe };
651}
652function de(e) {
653  if (e == null) return window;
654  if (e.toString() !== "[object Window]") {
655    var a = e.ownerDocument;
656    return a && a.defaultView || window;
657  }
658  return e;
659}
660function Ye(e) {
661  var a = de(e).Element;
662  return e instanceof a || e instanceof Element;
663}
664function me(e) {
665  var a = de(e).HTMLElement;
666  return e instanceof a || e instanceof HTMLElement;
667}
668function Qt(e) {
669  if (typeof ShadowRoot > "u") return false;
vendor: 11,174 bytes, lines 670-943
670  var a = de(e).ShadowRoot;
671  return e instanceof a || e instanceof ShadowRoot;
672}
673var Fe = Math.max, Pt = Math.min, at = Math.round;
674function Kt() {
675  var e = navigator.userAgentData;
676  return e != null && e.brands && Array.isArray(e.brands) ? e.brands.map(function(a) {
677    return a.brand + "/" + a.version;
678  }).join(" ") : navigator.userAgent;
679}
680function Va() {
681  return !/^((?!chrome|android).)*safari/i.test(Kt());
682}
683function nt(e, a, t) {
684  a === void 0 && (a = false), t === void 0 && (t = false);
685  var s = e.getBoundingClientRect(), n = 1, c = 1;
686  a && me(e) && (n = e.offsetWidth > 0 && at(s.width) / e.offsetWidth || 1, c = e.offsetHeight > 0 && at(s.height) / e.offsetHeight || 1);
687  var r = Ye(e) ? de(e) : window, o = r.visualViewport, u = !Va() && t, d = (s.left + (u && o ? o.offsetLeft : 0)) / n, i = (s.top + (u && o ? o.offsetTop : 0)) / c, y = s.width / n, w = s.height / c;
688  return { width: y, height: w, top: i, right: d + y, bottom: i + w, left: d, x: d, y: i };
689}
690function Xt(e) {
691  var a = de(e), t = a.pageXOffset, s = a.pageYOffset;
692  return { scrollLeft: t, scrollTop: s };
693}
694function Es(e) {
695  return { scrollLeft: e.scrollLeft, scrollTop: e.scrollTop };
696}
697function Cs(e) {
698  return e === de(e) || !me(e) ? Xt(e) : Es(e);
699}
700function ke(e) {
701  return e ? (e.nodeName || "").toLowerCase() : null;
702}
703function Re(e) {
704  return ((Ye(e) ? e.ownerDocument : e.document) || window.document).documentElement;
705}
706function Jt(e) {
707  return nt(Re(e)).left + Xt(e).scrollLeft;
708}
709function De(e) {
710  return de(e).getComputedStyle(e);
711}
712function ea(e) {
713  var a = De(e), t = a.overflow, s = a.overflowX, n = a.overflowY;
714  return /auto|scroll|overlay|hidden/.test(t + n + s);
715}
716function _s(e) {
717  var a = e.getBoundingClientRect(), t = at(a.width) / e.offsetWidth || 1, s = at(a.height) / e.offsetHeight || 1;
718  return t !== 1 || s !== 1;
719}
720function Ts(e, a, t) {
721  t === void 0 && (t = false);
722  var s = me(a), n = me(a) && _s(a), c = Re(a), r = nt(e, n, t), o = { scrollLeft: 0, scrollTop: 0 }, u = { x: 0, y: 0 };
723  return (s || !s && !t) && ((ke(a) !== "body" || ea(c)) && (o = Cs(a)), me(a) ? (u = nt(a, true), u.x += a.clientLeft, u.y += a.clientTop) : c && (u.x = Jt(c))), { x: r.left + o.scrollLeft - u.x, y: r.top + o.scrollTop - u.y, width: r.width, height: r.height };
724}
725function ja(e) {
726  var a = nt(e), t = e.offsetWidth, s = e.offsetHeight;
727  return Math.abs(a.width - t) <= 1 && (t = a.width), Math.abs(a.height - s) <= 1 && (s = a.height), { x: e.offsetLeft, y: e.offsetTop, width: t, height: s };
728}
729function Bt(e) {
730  return ke(e) === "html" ? e : e.assignedSlot || e.parentNode || (Qt(e) ? e.host : null) || Re(e);
731}
732function Ra(e) {
733  return ["html", "body", "#document"].indexOf(ke(e)) >= 0 ? e.ownerDocument.body : me(e) && ea(e) ? e : Ra(Bt(e));
734}
735function pt(e, a) {
736  var t;
737  a === void 0 && (a = []);
738  var s = Ra(e), n = s === ((t = e.ownerDocument) == null ? void 0 : t.body), c = de(s), r = n ? [c].concat(c.visualViewport || [], ea(s) ? s : []) : s, o = a.concat(r);
739  return n ? o : o.concat(pt(Bt(r)));
740}
741function Ls(e) {
742  return ["table", "td", "th"].indexOf(ke(e)) >= 0;
743}
744function ga(e) {
745  return !me(e) || De(e).position === "fixed" ? null : e.offsetParent;
746}
747function Ds(e) {
748  var a = /firefox/i.test(Kt()), t = /Trident/i.test(Kt());
749  if (t && me(e)) {
750    var s = De(e);
751    if (s.position === "fixed") return null;
752  }
753  var n = Bt(e);
754  for (Qt(n) && (n = n.host); me(n) && ["html", "body"].indexOf(ke(n)) < 0; ) {
755    var c = De(n);
756    if (c.transform !== "none" || c.perspective !== "none" || c.contain === "paint" || ["transform", "perspective"].indexOf(c.willChange) !== -1 || a && c.willChange === "filter" || a && c.filter && c.filter !== "none") return n;
757    n = n.parentNode;
758  }
759  return null;
760}
761function Mt(e) {
762  for (var a = de(e), t = ga(e); t && Ls(t) && De(t).position === "static"; ) t = ga(t);
763  return t && (ke(t) === "html" || ke(t) === "body" && De(t).position === "static") ? a : t || Ds(e) || a;
764}
765var be = "top", Oe = "bottom", je = "right", Le = "left", ta = "auto", Vt = [be, Oe, je, Le], rt = "start", mt = "end", As = "clippingParents", Na = "viewport", ft = "popper", Is = "reference", ha = Vt.reduce(function(e, a) {
766  return e.concat([a + "-" + rt, a + "-" + mt]);
767}, []), qs = [].concat(Vt, [ta]).reduce(function(e, a) {
768  return e.concat([a, a + "-" + rt, a + "-" + mt]);
769}, []), Ps = "beforeRead", Bs = "read", Ms = "afterRead", Vs = "beforeMain", js = "main", Rs = "afterMain", Ns = "beforeWrite", zs = "write", Us = "afterWrite", Hs = [Ps, Bs, Ms, Vs, js, Rs, Ns, zs, Us];
770function Ws(e) {
771  var a = /* @__PURE__ */ new Map(), t = /* @__PURE__ */ new Set(), s = [];
772  e.forEach(function(c) {
773    a.set(c.name, c);
774  });
775  function n(c) {
776    t.add(c.name);
777    var r = [].concat(c.requires || [], c.requiresIfExists || []);
778    r.forEach(function(o) {
779      if (!t.has(o)) {
780        var u = a.get(o);
781        u && n(u);
782      }
783    }), s.push(c);
784  }
785  return e.forEach(function(c) {
786    t.has(c.name) || n(c);
787  }), s;
788}
789function Fs(e) {
790  var a = Ws(e);
791  return Hs.reduce(function(t, s) {
792    return t.concat(a.filter(function(n) {
793      return n.phase === s;
794    }));
795  }, []);
796}
797function Ys(e) {
798  var a;
799  return function() {
800    return a || (a = new Promise(function(t) {
801      Promise.resolve().then(function() {
802        a = void 0, t(e());
803      });
804    })), a;
805  };
806}
807function Gs(e) {
808  var a = e.reduce(function(t, s) {
809    var n = t[s.name];
810    return t[s.name] = n ? Object.assign({}, n, s, { options: Object.assign({}, n.options, s.options), data: Object.assign({}, n.data, s.data) }) : s, t;
811  }, {});
812  return Object.keys(a).map(function(t) {
813    return a[t];
814  });
815}
816function Ks(e, a) {
817  var t = de(e), s = Re(e), n = t.visualViewport, c = s.clientWidth, r = s.clientHeight, o = 0, u = 0;
818  if (n) {
819    c = n.width, r = n.height;
820    var d = Va();
821    (d || !d && a === "fixed") && (o = n.offsetLeft, u = n.offsetTop);
822  }
823  return { width: c, height: r, x: o + Jt(e), y: u };
824}
825function Zs(e) {
826  var a, t = Re(e), s = Xt(e), n = (a = e.ownerDocument) == null ? void 0 : a.body, c = Fe(t.scrollWidth, t.clientWidth, n ? n.scrollWidth : 0, n ? n.clientWidth : 0), r = Fe(t.scrollHeight, t.clientHeight, n ? n.scrollHeight : 0, n ? n.clientHeight : 0), o = -s.scrollLeft + Jt(e), u = -s.scrollTop;
827  return De(n || t).direction === "rtl" && (o += Fe(t.clientWidth, n ? n.clientWidth : 0) - c), { width: c, height: r, x: o, y: u };
828}
829function Qs(e, a) {
830  var t = a.getRootNode && a.getRootNode();
831  if (e.contains(a)) return true;
832  if (t && Qt(t)) {
833    var s = a;
834    do {
835      if (s && e.isSameNode(s)) return true;
836      s = s.parentNode || s.host;
837    } while (s);
838  }
839  return false;
840}
841function Zt(e) {
842  return Object.assign({}, e, { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height });
843}
844function Xs(e, a) {
845  var t = nt(e, false, a === "fixed");
846  return t.top = t.top + e.clientTop, t.left = t.left + e.clientLeft, t.bottom = t.top + e.clientHeight, t.right = t.left + e.clientWidth, t.width = e.clientWidth, t.height = e.clientHeight, t.x = t.left, t.y = t.top, t;
847}
848function ya(e, a, t) {
849  return a === Na ? Zt(Ks(e, t)) : Ye(a) ? Xs(a, t) : Zt(Zs(Re(e)));
850}
851function Js(e) {
852  var a = pt(Bt(e)), t = ["absolute", "fixed"].indexOf(De(e).position) >= 0, s = t && me(e) ? Mt(e) : e;
853  return Ye(s) ? a.filter(function(n) {
854    return Ye(n) && Qs(n, s) && ke(n) !== "body";
855  }) : [];
856}
857function el(e, a, t, s) {
858  var n = a === "clippingParents" ? Js(e) : [].concat(a), c = [].concat(n, [t]), r = c[0], o = c.reduce(function(u, d) {
859    var i = ya(e, d, s);
860    return u.top = Fe(i.top, u.top), u.right = Pt(i.right, u.right), u.bottom = Pt(i.bottom, u.bottom), u.left = Fe(i.left, u.left), u;
861  }, ya(e, r, s));
862  return o.width = o.right - o.left, o.height = o.bottom - o.top, o.x = o.left, o.y = o.top, o;
863}
864function Ve(e) {
865  return e.split("-")[0];
866}
867function st(e) {
868  return e.split("-")[1];
869}
870function za(e) {
871  return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y";
872}
873function Ua(e) {
874  var a = e.reference, t = e.element, s = e.placement, n = s ? Ve(s) : null, c = s ? st(s) : null, r = a.x + a.width / 2 - t.width / 2, o = a.y + a.height / 2 - t.height / 2, u;
875  switch (n) {
876    case be:
877      u = { x: r, y: a.y - t.height };
878      break;
879    case Oe:
880      u = { x: r, y: a.y + a.height };
881      break;
882    case je:
883      u = { x: a.x + a.width, y: o };
884      break;
885    case Le:
886      u = { x: a.x - t.width, y: o };
887      break;
888    default:
889      u = { x: a.x, y: a.y };
890  }
891  var d = n ? za(n) : null;
892  if (d != null) {
893    var i = d === "y" ? "height" : "width";
894    switch (c) {
895      case rt:
896        u[d] = u[d] - (a[i] / 2 - t[i] / 2);
897        break;
898      case mt:
899        u[d] = u[d] + (a[i] / 2 - t[i] / 2);
900        break;
901    }
902  }
903  return u;
904}
905function Ha() {
906  return { top: 0, right: 0, bottom: 0, left: 0 };
907}
908function tl(e) {
909  return Object.assign({}, Ha(), e);
910}
911function al(e, a) {
912  return a.reduce(function(t, s) {
913    return t[s] = e, t;
914  }, {});
915}
916function aa(e, a) {
917  a === void 0 && (a = {});
918  var t = a, s = t.placement, n = s === void 0 ? e.placement : s, c = t.strategy, r = c === void 0 ? e.strategy : c, o = t.boundary, u = o === void 0 ? As : o, d = t.rootBoundary, i = d === void 0 ? Na : d, y = t.elementContext, w = y === void 0 ? ft : y, b = t.altBoundary, _ = b === void 0 ? false : b, k = t.padding, D = k === void 0 ? 0 : k, T = tl(typeof D != "number" ? D : al(D, Vt)), q = w === ft ? Is : ft, g = e.rects.popper, v = e.elements[_ ? q : w], O = el(Ye(v) ? v : v.contextElement || Re(e.elements.popper), u, i, r), h = nt(e.elements.reference), p = Ua({ reference: h, element: g, placement: n }), m = Zt(Object.assign({}, g, p)), C = w === ft ? m : h, A = { top: O.top - C.top + T.top, bottom: C.bottom - O.bottom + T.bottom, left: O.left - C.left + T.left, right: C.right - O.right + T.right }, z = e.modifiersData.offset;
919  if (w === ft && z) {
920    var j = z[n];
921    Object.keys(A).forEach(function(X) {
922      var te = [je, Oe].indexOf(X) >= 0 ? 1 : -1, oe = [be, Oe].indexOf(X) >= 0 ? "y" : "x";
923      A[X] += j[oe] * te;
924    });
925  }
926  return A;
927}
928var ba = { placement: "bottom", modifiers: [], strategy: "absolute" };
929function wa() {
930  for (var e = arguments.length, a = new Array(e), t = 0; t < e; t++) a[t] = arguments[t];
931  return !a.some(function(s) {
932    return !(s && typeof s.getBoundingClientRect == "function");
933  });
934}
935function nl(e) {
936  e === void 0 && (e = {});
937  var a = e, t = a.defaultModifiers, s = t === void 0 ? [] : t, n = a.defaultOptions, c = n === void 0 ? ba : n;
938  return function(o, u, d) {
939    d === void 0 && (d = c);
940    var i = { placement: "bottom", orderedModifiers: [], options: Object.assign({}, ba, c), modifiersData: {}, elements: { reference: o, popper: u }, attributes: {}, styles: {} }, y = [], w = false, b = { state: i, setOptions: function(T) {
941      var q = typeof T == "function" ? T(i.options) : T;
942      k(), i.options = Object.assign({}, c, i.options, q), i.scrollParents = { reference: Ye(o) ? pt(o) : o.contextElement ? pt(o.contextElement) : [], popper: pt(u) };
943      var g = Fs(Gs([].concat(s, i.options.modifiers)));
944      return i.orderedModifiers = g.filter(function(v) {
945        return v.enabled;
946      }), _(), b.update();
947    }, forceUpdate: function() {
948      if (!w) {
949        var T = i.elements, q = T.reference, g = T.popper;
950        if (wa(q, g)) {
951          i.rects = { reference: Ts(q, Mt(g), i.options.strategy === "fixed"), popper: ja(g) }, i.reset = false, i.placement = i.options.placement, i.orderedModifiers.forEach(function(A) {
952            return i.modifiersData[A.name] = Object.assign({}, A.data);
953          });
954          for (var v = 0; v < i.orderedModifiers.length; v++) {
955            if (i.reset === true) {
956              i.reset = false, v = -1;
957              continue;
958            }
959            var O = i.orderedModifiers[v], h = O.fn, p = O.options, m = p === void 0 ? {} : p, C = O.name;
960            typeof h == "function" && (i = h({ state: i, options: m, name: C, instance: b }) || i);
961          }
962        }
963      }
964    }, update: Ys(function() {
965      return new Promise(function(D) {
966        b.forceUpdate(), D(i);
967      });
968    }), destroy: function() {
969      k(), w = true;
970    } };
971    if (!wa(o, u)) return b;
972    b.setOptions(d).then(function(D) {
973      !w && d.onFirstUpdate && d.onFirstUpdate(D);
974    });
975    function _() {
976      i.orderedModifiers.forEach(function(D) {
977        var T = D.name, q = D.options, g = q === void 0 ? {} : q, v = D.effect;
978        if (typeof v == "function") {
979          var O = v({ state: i, name: T, instance: b, options: g }), h = function() {
980          };
981          y.push(O || h);
982        }
983      });
984    }
985    function k() {
986      y.forEach(function(D) {
987        return D();
988      }), y = [];
989    }
990    return b;
991  };
992}
993var _t = { passive: true };
994function rl(e) {
995  var a = e.state, t = e.instance, s = e.options, n = s.scroll, c = n === void 0 ? true : n, r = s.resize, o = r === void 0 ? true : r, u = de(a.elements.popper), d = [].concat(a.scrollParents.reference, a.scrollParents.popper);
996  return c && d.forEach(function(i) {
997    i.addEventListener("scroll", t.update, _t);
998  }), o && u.addEventListener("resize", t.update, _t), function() {
999    c && d.forEach(function(i) {
1000      i.removeEventListener("scroll", t.update, _t);
1001    }), o && u.removeEventListener("resize", t.update, _t);
1002  };
1003}
1004var sl = { name: "eventListeners", enabled: true, phase: "write", fn: function() {
1005}, effect: rl, data: {} };
1006function ll(e) {
1007  var a = e.state, t = e.name;
1008  a.modifiersData[t] = Ua({ reference: a.rects.reference, element: a.rects.popper, placement: a.placement });
1009}
1010var il = { name: "popperOffsets", enabled: true, phase: "read", fn: ll, data: {} }, ol = { top: "auto", right: "auto", bottom: "auto", left: "auto" };
1011function ul(e, a) {
1012  var t = e.x, s = e.y, n = a.devicePixelRatio || 1;
1013  return { x: at(t * n) / n || 0, y: at(s * n) / n || 0 };
1014}
1015function xa(e) {
1016  var a, t = e.popper, s = e.popperRect, n = e.placement, c = e.variation, r = e.offsets, o = e.position, u = e.gpuAcceleration, d = e.adaptive, i = e.roundOffsets, y = e.isFixed, w = r.x, b = w === void 0 ? 0 : w, _ = r.y, k = _ === void 0 ? 0 : _, D = typeof i == "function" ? i({ x: b, y: k }) : { x: b, y: k };
1017  b = D.x, k = D.y;
1018  var T = r.hasOwnProperty("x"), q = r.hasOwnProperty("y"), g = Le, v = be, O = window;
1019  if (d) {
1020    var h = Mt(t), p = "clientHeight", m = "clientWidth";
1021    if (h === de(t) && (h = Re(t), De(h).position !== "static" && o === "absolute" && (p = "scrollHeight", m = "scrollWidth")), h = h, n === be || (n === Le || n === je) && c === mt) {
1022      v = Oe;
vendor: 7,830 bytes, lines 1023-1136
1023      var C = y && h === O && O.visualViewport ? O.visualViewport.height : h[p];
1024      k -= C - s.height, k *= u ? 1 : -1;
1025    }
1026    if (n === Le || (n === be || n === Oe) && c === mt) {
1027      g = je;
1028      var A = y && h === O && O.visualViewport ? O.visualViewport.width : h[m];
1029      b -= A - s.width, b *= u ? 1 : -1;
1030    }
1031  }
1032  var z = Object.assign({ position: o }, d && ol), j = i === true ? ul({ x: b, y: k }, de(t)) : { x: b, y: k };
1033  if (b = j.x, k = j.y, u) {
1034    var X;
1035    return Object.assign({}, z, (X = {}, X[v] = q ? "0" : "", X[g] = T ? "0" : "", X.transform = (O.devicePixelRatio || 1) <= 1 ? "translate(" + b + "px, " + k + "px)" : "translate3d(" + b + "px, " + k + "px, 0)", X));
1036  }
1037  return Object.assign({}, z, (a = {}, a[v] = q ? k + "px" : "", a[g] = T ? b + "px" : "", a.transform = "", a));
1038}
1039function dl(e) {
1040  var a = e.state, t = e.options, s = t.gpuAcceleration, n = s === void 0 ? true : s, c = t.adaptive, r = c === void 0 ? true : c, o = t.roundOffsets, u = o === void 0 ? true : o, d = { placement: Ve(a.placement), variation: st(a.placement), popper: a.elements.popper, popperRect: a.rects.popper, gpuAcceleration: n, isFixed: a.options.strategy === "fixed" };
1041  a.modifiersData.popperOffsets != null && (a.styles.popper = Object.assign({}, a.styles.popper, xa(Object.assign({}, d, { offsets: a.modifiersData.popperOffsets, position: a.options.strategy, adaptive: r, roundOffsets: u })))), a.modifiersData.arrow != null && (a.styles.arrow = Object.assign({}, a.styles.arrow, xa(Object.assign({}, d, { offsets: a.modifiersData.arrow, position: "absolute", adaptive: false, roundOffsets: u })))), a.attributes.popper = Object.assign({}, a.attributes.popper, { "data-popper-placement": a.placement });
1042}
1043var cl = { name: "computeStyles", enabled: true, phase: "beforeWrite", fn: dl, data: {} };
1044function fl(e) {
1045  var a = e.state;
1046  Object.keys(a.elements).forEach(function(t) {
1047    var s = a.styles[t] || {}, n = a.attributes[t] || {}, c = a.elements[t];
1048    !me(c) || !ke(c) || (Object.assign(c.style, s), Object.keys(n).forEach(function(r) {
1049      var o = n[r];
1050      o === false ? c.removeAttribute(r) : c.setAttribute(r, o === true ? "" : o);
1051    }));
1052  });
1053}
1054function pl(e) {
1055  var a = e.state, t = { popper: { position: a.options.strategy, left: "0", top: "0", margin: "0" }, arrow: { position: "absolute" }, reference: {} };
1056  return Object.assign(a.elements.popper.style, t.popper), a.styles = t, a.elements.arrow && Object.assign(a.elements.arrow.style, t.arrow), function() {
1057    Object.keys(a.elements).forEach(function(s) {
1058      var n = a.elements[s], c = a.attributes[s] || {}, r = Object.keys(a.styles.hasOwnProperty(s) ? a.styles[s] : t[s]), o = r.reduce(function(u, d) {
1059        return u[d] = "", u;
1060      }, {});
1061      !me(n) || !ke(n) || (Object.assign(n.style, o), Object.keys(c).forEach(function(u) {
1062        n.removeAttribute(u);
1063      }));
1064    });
1065  };
1066}
1067var vl = { name: "applyStyles", enabled: true, phase: "write", fn: fl, effect: pl, requires: ["computeStyles"] }, ml = [sl, il, cl, vl], gl = nl({ defaultModifiers: ml });
1068function hl(e) {
1069  return e === "x" ? "y" : "x";
1070}
1071function Dt(e, a, t) {
1072  return Fe(e, Pt(a, t));
1073}
1074function yl(e, a, t) {
1075  var s = Dt(e, a, t);
1076  return s > t ? t : s;
1077}
1078function bl(e) {
1079  var a = e.state, t = e.options, s = e.name, n = t.mainAxis, c = n === void 0 ? true : n, r = t.altAxis, o = r === void 0 ? false : r, u = t.boundary, d = t.rootBoundary, i = t.altBoundary, y = t.padding, w = t.tether, b = w === void 0 ? true : w, _ = t.tetherOffset, k = _ === void 0 ? 0 : _, D = aa(a, { boundary: u, rootBoundary: d, padding: y, altBoundary: i }), T = Ve(a.placement), q = st(a.placement), g = !q, v = za(T), O = hl(v), h = a.modifiersData.popperOffsets, p = a.rects.reference, m = a.rects.popper, C = typeof k == "function" ? k(Object.assign({}, a.rects, { placement: a.placement })) : k, A = typeof C == "number" ? { mainAxis: C, altAxis: C } : Object.assign({ mainAxis: 0, altAxis: 0 }, C), z = a.modifiersData.offset ? a.modifiersData.offset[a.placement] : null, j = { x: 0, y: 0 };
1080  if (h) {
1081    if (c) {
1082      var X, te = v === "y" ? be : Le, oe = v === "y" ? Oe : je, J = v === "y" ? "height" : "width", K = h[v], $e = K + D[te], Y = K - D[oe], ae = b ? -m[J] / 2 : 0, Z = q === rt ? p[J] : m[J], le = q === rt ? -m[J] : -p[J], fe = a.elements.arrow, Q = b && fe ? ja(fe) : { width: 0, height: 0 }, N = a.modifiersData["arrow#persistent"] ? a.modifiersData["arrow#persistent"].padding : Ha(), E = N[te], B = N[oe], se = Dt(0, p[J], Q[J]), ue = g ? p[J] / 2 - ae - se - E - A.mainAxis : Z - se - E - A.mainAxis, lt = g ? -p[J] / 2 + ae + se + B + A.mainAxis : le + se + B + A.mainAxis, it = a.elements.arrow && Mt(a.elements.arrow), Ae = it ? v === "y" ? it.clientTop || 0 : it.clientLeft || 0 : 0, bt = (X = z == null ? void 0 : z[v]) != null ? X : 0, jt = K + ue - bt - Ae, Ie = K + lt - bt, wt = Dt(b ? Pt($e, jt) : $e, K, b ? Fe(Y, Ie) : Y);
1083      h[v] = wt, j[v] = wt - K;
1084    }
1085    if (o) {
1086      var qe, pe = v === "x" ? be : Le, ve = v === "x" ? Oe : je, ge = h[O], Ee = O === "y" ? "height" : "width", xt = ge + D[pe], ot = ge - D[ve], ut = [be, Le].indexOf(T) !== -1, he = (qe = z == null ? void 0 : z[O]) != null ? qe : 0, dt = ut ? xt : ge - p[Ee] - m[Ee] - he + A.altAxis, Pe = ut ? ge + p[Ee] + m[Ee] - he - A.altAxis : ot, Ne = b && ut ? yl(dt, ge, Pe) : Dt(b ? dt : xt, ge, b ? Pe : ot);
1087      h[O] = Ne, j[O] = Ne - ge;
1088    }
1089    a.modifiersData[s] = j;
1090  }
1091}
1092var wl = { name: "preventOverflow", enabled: true, phase: "main", fn: bl, requiresIfExists: ["offset"] }, xl = { left: "right", right: "left", bottom: "top", top: "bottom" };
1093function At(e) {
1094  return e.replace(/left|right|bottom|top/g, function(a) {
1095    return xl[a];
1096  });
1097}
1098var Sl = { start: "end", end: "start" };
1099function Sa(e) {
1100  return e.replace(/start|end/g, function(a) {
1101    return Sl[a];
1102  });
1103}
1104function kl(e, a) {
1105  a === void 0 && (a = {});
1106  var t = a, s = t.placement, n = t.boundary, c = t.rootBoundary, r = t.padding, o = t.flipVariations, u = t.allowedAutoPlacements, d = u === void 0 ? qs : u, i = st(s), y = i ? o ? ha : ha.filter(function(_) {
1107    return st(_) === i;
1108  }) : Vt, w = y.filter(function(_) {
1109    return d.indexOf(_) >= 0;
1110  });
1111  w.length === 0 && (w = y);
1112  var b = w.reduce(function(_, k) {
1113    return _[k] = aa(e, { placement: k, boundary: n, rootBoundary: c, padding: r })[Ve(k)], _;
1114  }, {});
1115  return Object.keys(b).sort(function(_, k) {
1116    return b[_] - b[k];
1117  });
1118}
1119function Ol(e) {
1120  if (Ve(e) === ta) return [];
1121  var a = At(e);
1122  return [Sa(e), a, Sa(a)];
1123}
1124function $l(e) {
1125  var a = e.state, t = e.options, s = e.name;
1126  if (!a.modifiersData[s]._skip) {
1127    for (var n = t.mainAxis, c = n === void 0 ? true : n, r = t.altAxis, o = r === void 0 ? true : r, u = t.fallbackPlacements, d = t.padding, i = t.boundary, y = t.rootBoundary, w = t.altBoundary, b = t.flipVariations, _ = b === void 0 ? true : b, k = t.allowedAutoPlacements, D = a.options.placement, T = Ve(D), q = T === D, g = u || (q || !_ ? [At(D)] : Ol(D)), v = [D].concat(g).reduce(function(Q, N) {
1128      return Q.concat(Ve(N) === ta ? kl(a, { placement: N, boundary: i, rootBoundary: y, padding: d, flipVariations: _, allowedAutoPlacements: k }) : N);
1129    }, []), O = a.rects.reference, h = a.rects.popper, p = /* @__PURE__ */ new Map(), m = true, C = v[0], A = 0; A < v.length; A++) {
1130      var z = v[A], j = Ve(z), X = st(z) === rt, te = [be, Oe].indexOf(j) >= 0, oe = te ? "width" : "height", J = aa(a, { placement: z, boundary: i, rootBoundary: y, altBoundary: w, padding: d }), K = te ? X ? je : Le : X ? Oe : be;
1131      O[oe] > h[oe] && (K = At(K));
1132      var $e = At(K), Y = [];
1133      if (c && Y.push(J[j] <= 0), o && Y.push(J[K] <= 0, J[$e] <= 0), Y.every(function(Q) {
1134        return Q;
1135      })) {
1136        C = z, m = false;
1137        break;
1138      }
1139      p.set(z, Y);
1140    }
1141    if (m) for (var ae = _ ? 3 : 1, Z = function(N) {
1142      var E = v.find(function(B) {
1143        var se = p.get(B);
1144        if (se) return se.slice(0, N).every(function(ue) {
1145          return ue;
1146        });
1147      });
1148      if (E) return C = E, "break";
1149    }, le = ae; le > 0; le--) {
1150      var fe = Z(le);
1151      if (fe === "break") break;
1152    }
1153    a.placement !== C && (a.modifiersData[s]._skip = true, a.placement = C, a.reset = true);
1154  }
1155}
1156var El = { name: "flip", enabled: true, phase: "main", fn: $l, requiresIfExists: ["offset"], data: { _skip: false } };
1157function Cl(e, a, t) {
1158  const { disabled: s, appendTo: n, appendToBody: c, openDirection: r } = ce(e), o = yt().proxy, u = t.multiselect, d = t.dropdown, i = W(false), y = W(null), w = W(null), b = ee(() => n.value || c.value), _ = ee(() => r.value === "top" && w.value === "bottom" || r.value === "bottom" && w.value !== "top" ? "bottom" : "top"), k = () => {
1159    i.value || s.value || (i.value = true, a.emit("open", o), b.value && et(() => {
1160      T();
1161    }));
1162  }, D = () => {
1163    i.value && (i.value = false, a.emit("close", o));
1164  }, T = () => {
1165    if (!y.value) return;
1166    let g = parseInt(window.getComputedStyle(d.value).borderTopWidth.replace("px", "")), v = parseInt(window.getComputedStyle(d.value).borderBottomWidth.replace("px", ""));
1167    y.value.setOptions((O) => ({ ...O, modifiers: [...O.modifiers, { name: "offset", options: { offset: [0, (_.value === "top" ? g : v) * -1] } }] })), y.value.update();
1168  }, q = (g) => {
1169    for (; g && g !== document.body; ) {
1170      if (getComputedStyle(g).position === "fixed") return true;
1171      g = g.parentElement;
1172    }
1173    return false;
1174  };
1175  return Ge(() => {
1176    b.value && (y.value = gl(u.value, d.value, { strategy: q(u.value) ? "fixed" : void 0, placement: r.value, modifiers: [wl, El, { name: "sameWidth", enabled: true, phase: "beforeWrite", requires: ["computeStyles"], fn: ({ state: g }) => {
1177      g.styles.popper.width = `${g.rects.reference.width}px`;
1178    }, effect: ({ state: g }) => {
1179      g.elements.popper.style.width = `${g.elements.reference.offsetWidth}px`;
1180    } }, { name: "toggleClass", enabled: true, phase: "write", fn({ state: g }) {
1181      w.value = g.placement;
1182    } }] }));
1183  }), bn(() => {
1184    !b.value || !y.value || (y.value.destroy(), y.value = null);
1185  }), { popper: y, isOpen: i, open: k, close: D, placement: _, updatePopper: T };
1186}
1187function _l(e, a, t) {
1188  const { searchable: s, disabled: n, clearOnBlur: c } = ce(e), r = t.input, o = t.open, u = t.close, d = t.clearSearch, i = t.isOpen, y = t.wrapper, w = t.tags, b = W(false), _ = W(false), k = ee(() => s.value || n.value ? -1 : 0), D = () => {
1189    s.value && r.value.blur(), y.value.blur();
1190  }, T = () => {
1191    s.value && !n.value && r.value.focus();
1192  }, q = (m = true) => {
1193    n.value || (b.value = true, m && o());
1194  }, g = () => {
1195    b.value = false, setTimeout(() => {
1196      b.value || (u(), c.value && d());
1197    }, 1);
1198  };
1199  return { tabindex: k, isActive: b, mouseClicked: _, blur: D, focus: T, activate: q, deactivate: g, handleFocusIn: (m) => {
1200    m.target.closest("[data-tags]") && m.target.nodeName !== "INPUT" || m.target.closest("[data-clear]") || q(_.value);
1201  }, handleFocusOut: () => {
1202    g();
1203  }, handleCaretClick: () => {
1204    g(), D();
1205  }, handleMousedown: (m) => {
1206    _.value = true, i.value && (m.target.isEqualNode(y.value) || m.target.isEqualNode(w.value)) ? setTimeout(() => {
1207      g();
1208    }, 0) : !i.value && (document.activeElement.isEqualNode(y.value) || document.activeElement.isEqualNode(r.value)) && q(), setTimeout(() => {
1209      _.value = false;
1210    }, 0);
1211  } };
1212}
1213function Tl(e, a, t) {
1214  const { mode: s, addTagOn: n, openDirection: c, searchable: r, showOptions: o, valueProp: u, groups: d, addOptionOn: i, createTag: y, createOption: w, reverse: b } = ce(e), _ = yt().proxy, k = t.iv, D = t.update, T = t.deselect, q = t.search, g = t.setPointer, v = t.selectPointer, O = t.backwardPointer, h = t.forwardPointer, p = t.multiselect, m = t.wrapper, C = t.tags, A = t.isOpen, z = t.open, j = t.blur, X = t.fo, te = ee(() => y.value || w.value || false), oe = ee(() => n.value !== void 0 ? n.value : i.value !== void 0 ? i.value : ["enter"]), J = () => {
1215    s.value === "tags" && !o.value && te.value && r.value && !d.value && g(X.value[X.value.map((Y) => Y[u.value]).indexOf(q.value)]);
1216  };
1217  return { handleKeydown: (Y) => {
1218    a.emit("keydown", Y, _);
1219    let ae, Z;
1220    switch (["ArrowLeft", "ArrowRight", "Enter"].indexOf(Y.key) !== -1 && s.value === "tags" && (ae = [...p.value.querySelectorAll("[data-tags] > *")].filter((le) => le !== C.value), Z = ae.findIndex((le) => le === document.activeElement)), Y.key) {
1221      case "Backspace":
1222        if (s.value === "single" || r.value && [null, ""].indexOf(q.value) === -1 || k.value.length === 0) return;
1223        let le = k.value.filter((fe) => !fe.disabled && fe.remove !== false);
1224        le.length && T(le[le.length - 1]);
1225        break;
1226      case "Enter":
1227        if (Y.preventDefault(), Y.keyCode === 229) return;
1228        if (Z !== -1 && Z !== void 0) {
1229          D([...k.value].filter((fe, Q) => Q !== Z)), Z === ae.length - 1 && (ae.length - 1 ? ae[ae.length - 2].focus() : r.value ? C.value.querySelector("input").focus() : m.value.focus());
1230          return;
1231        }
1232        if (oe.value.indexOf("enter") === -1 && te.value) return;
1233        J(), v();
1234        break;
1235      case " ":
1236        if (!te.value && !r.value) {
1237          Y.preventDefault(), J(), v();
1238          return;
1239        }
1240        if (!te.value) return false;
1241        if (oe.value.indexOf("space") === -1 && te.value) return;
1242        Y.preventDefault(), J(), v();
1243        break;
1244      case "Tab":
1245      case ";":
1246      case ",":
1247        if (oe.value.indexOf(Y.key.toLowerCase()) === -1 || !te.value) return;
1248        J(), v(), Y.preventDefault();
1249        break;
1250      case "Escape":
1251        j();
1252        break;
1253      case "ArrowUp":
1254        if (Y.preventDefault(), !o.value) return;
1255        A.value || z(), O();
1256        break;
1257      case "ArrowDown":
1258        if (Y.preventDefault(), !o.value) return;
1259        A.value || z(), h();
1260        break;
1261      case "ArrowLeft":
1262        if (r.value && C.value && C.value.querySelector("input").selectionStart || Y.shiftKey || s.value !== "tags" || !k.value || !k.value.length) return;
1263        Y.preventDefault(), Z === -1 ? ae[ae.length - 1].focus() : Z > 0 && ae[Z - 1].focus();
1264        break;
1265      case "ArrowRight":
1266        if (Z === -1 || Y.shiftKey || s.value !== "tags" || !k.value || !k.value.length) return;
1267        Y.preventDefault(), ae.length > Z + 1 ? ae[Z + 1].focus() : r.value ? C.value.querySelector("input").focus() : r.value || m.value.focus();
1268        break;
1269    }
1270  }, handleKeyup: (Y) => {
1271    a.emit("keyup", Y, _);
1272  }, preparePointer: J };
1273}
1274function Ll(e, a, t) {
1275  const { classes: s, disabled: n, showOptions: c, breakTags: r } = ce(e), o = t.isOpen, u = t.isPointed, d = t.isSelected, i = t.isDisabled, y = t.isActive, w = t.canPointGroups, b = t.resolving, _ = t.fo, k = t.placement, D = ee(() => ({ container: "multiselect", containerDisabled: "is-disabled", containerOpen: "is-open", containerOpenTop: "is-open-top", containerActive: "is-active", wrapper: "multiselect-wrapper", singleLabel: "multiselect-single-label", singleLabelText: "multiselect-single-label-text", multipleLabel: "multiselect-multiple-label", search: "multiselect-search", tags: "multiselect-tags", tag: "multiselect-tag", tagWrapper: "multiselect-tag-wrapper", tagWrapperBreak: "multiselect-tag-wrapper-break", tagDisabled: "is-disabled", tagRemove: "multiselect-tag-remove", tagRemoveIcon: "multiselect-tag-remove-icon", tagsSearchWrapper: "multiselect-tags-search-wrapper", tagsSearch: "multiselect-tags-search", tagsSearchCopy: "multiselect-tags-search-copy", placeholder: "multiselect-placeholder", caret: "multiselect-caret", caretOpen: "is-open", clear: "multiselect-clear", clearIcon: "multiselect-clear-icon", spinner: "multiselect-spinner", inifinite: "multiselect-inifite", inifiniteSpinner: "multiselect-inifite-spinner", dropdown: "multiselect-dropdown", dropdownTop: "is-top", dropdownHidden: "is-hidden", options: "multiselect-options", optionsTop: "is-top", group: "multiselect-group", groupLabel: "multiselect-group-label", groupLabelPointable: "is-pointable", groupLabelPointed: "is-pointed", groupLabelSelected: "is-selected", groupLabelDisabled: "is-disabled", groupLabelSelectedPointed: "is-selected is-pointed", groupLabelSelectedDisabled: "is-selected is-disabled", groupOptions: "multiselect-group-options", option: "multiselect-option", optionPointed: "is-pointed", optionSelected: "is-selected", optionDisabled: "is-disabled", optionSelectedPointed: "is-selected is-pointed", optionSelectedDisabled: "is-selected is-disabled", noOptions: "multiselect-no-options", noResults: "multiselect-no-results", fakeInput: "multiselect-fake-input", assist: "multiselect-assistive-text", spacer: "multiselect-spacer", ...s.value })), T = ee(() => !!(o.value && c.value && (!b.value || b.value && _.value.length)));
1276  return { classList: V(() => {
1277    const g = D.value;
1278    return { container: [g.container].concat(n.value ? g.containerDisabled : []).concat(T.value && k.value === "top" ? g.containerOpenTop : []).concat(T.value && k.value !== "top" ? g.containerOpen : []).concat(y.value ? g.containerActive : []), wrapper: g.wrapper, spacer: g.spacer, singleLabel: g.singleLabel, singleLabelText: g.singleLabelText, multipleLabel: g.multipleLabel, search: g.search, tags: g.tags, tag: [g.tag].concat(n.value ? g.tagDisabled : []), tagWrapper: [g.tagWrapper, r.value ? g.tagWrapperBreak : null], tagDisabled: g.tagDisabled, tagRemove: g.tagRemove, tagRemoveIcon: g.tagRemoveIcon, tagsSearchWrapper: g.tagsSearchWrapper, tagsSearch: g.tagsSearch, tagsSearchCopy: g.tagsSearchCopy, placeholder: g.placeholder, caret: [g.caret].concat(o.value ? g.caretOpen : []), clear: g.clear, clearIcon: g.clearIcon, spinner: g.spinner, inifinite: g.inifinite, inifiniteSpinner: g.inifiniteSpinner, dropdown: [g.dropdown].concat(k.value === "top" ? g.dropdownTop : []).c
1278oncat(!o.value || !c.value || !T.value ? g.dropdownHidden : []), options: [g.options].concat(k.value === "top" ? g.optionsTop : []), group: g.group, groupLabel: (v) => {
1279      let O = [g.groupLabel];
1280      return u(v) ? O.push(d(v) ? g.groupLabelSelectedPointed : g.groupLabelPointed) : d(v) && w.value ? O.push(i(v) ? g.groupLabelSelectedDisabled : g.groupLabelSelected) : i(v) && O.push(g.groupLabelDisabled), w.value && O.push(g.groupLabelPointable), O;
1281    }, groupOptions: g.groupOptions, option: (v, O) => {
1282      let h = [g.option];
1283      return u(v) ? h.push(d(v) ? g.optionSelectedPointed : g.optionPointed) : d(v) ? h.push(i(v) ? g.optionSelectedDisabled : g.optionSelected) : (i(v) || O && i(O)) && h.push(g.optionDisabled), h;
1284    }, noOptions: g.noOptions, noResults: g.noResults, assist: g.assist, fakeInput: g.fakeInput };
1285  }), showDropdown: T };
1286}
1287function Dl(e, a, t) {
1288  const { limit: s, infinite: n } = ce(e), c = t.isOpen, r = t.offset, o = t.search, u = t.pfo, d = t.eo, i = W(null), y = Je(null), w = ee(() => r.value < u.value.length), b = (k) => {
1289    const { isIntersecting: D, target: T } = k[0];
1290    if (D) {
1291      const q = T.offsetParent, g = q.scrollTop;
1292      r.value += s.value == -1 ? 10 : s.value, et(() => {
1293        q.scrollTop = g;
1294      });
1295    }
1296  }, _ = () => {
1297    c.value && r.value < u.value.length ? i.value.observe(y.value) : !c.value && i.value && i.value.disconnect();
1298  };
1299  return ie(c, () => {
1300    n.value && _();
1301  }), ie(o, () => {
1302    n.value && (r.value = s.value, _());
1303  }, { flush: "post" }), ie(d, () => {
1304    n.value && _();
1305  }, { immediate: false, flush: "post" }), Ge(() => {
1306    window && window.IntersectionObserver && (i.value = new IntersectionObserver(b));
1307  }), { hasMore: w, infiniteLoader: y };
1308}
1309function Al(e, a, t) {
1310  const { placeholder: s, id: n, valueProp: c, label: r, mode: o, groupLabel: u, aria: d, searchable: i } = ce(e), y = t.pointer, w = t.iv, b = t.hasSelected, _ = t.multipleLabelText, k = W(null), D = ee(() => `${n.value ? n.value + "-" : ""}assist`), T = ee(() => `${n.value ? n.value + "-" : ""}multiselect-options`), q = ee(() => {
1311    if (y.value) {
1312      let j = n.value ? `${n.value}-` : "";
1313      return j += `${y.value.group ? "multiselect-group" : "multiselect-option"}-`, j += y.value.group ? y.value.index : y.value[c.value], j;
1314    }
1315  }), g = ee(() => s.value), v = ee(() => o.value !== "single"), O = V(() => o.value === "single" && b.value ? w.value[r.value] : o.value === "multiple" && b.value ? _.value : o.value === "tags" && b.value ? w.value.map((j) => j[r.value]).join(", ") : ""), h = V(() => {
1316    let j = { ...d.value };
1317    return i.value && (j["aria-labelledby"] = j["aria-labelledby"] ? `${D.value} ${j["aria-labelledby"]}` : D.value, O.value && j["aria-label"] && (j["aria-label"] = `${O.value}, ${j["aria-label"]}`)), j;
1318  }), p = (j) => `${n.value ? n.value + "-" : ""}multiselect-option-${j[c.value]}`, m = (j) => `${n.value ? n.value + "-" : ""}multiselect-group-${j.index}`, C = (j) => `${j}`, A = (j) => `${j}`, z = (j) => `${j} \u274E`;
1319  return Ge(() => {
1320    if (n.value && document && document.querySelector) {
1321      let j = document.querySelector(`[for="${n.value}"]`);
1322      k.value = j ? j.innerText : null;
1323    }
1324  }), { arias: h, ariaLabel: O, ariaAssist: D, ariaControls: T, ariaPlaceholder: g, ariaMultiselectable: v, ariaActiveDescendant: q, ariaOptionId: p, ariaOptionLabel: C, ariaGroupId: m, ariaGroupLabel: A, ariaTagLabel: z };
1325}
1326function Il(e, a, t) {
1327  const { locale: s, fallbackLocale: n } = ce(e);
1328  return { localize: (r) => !r || typeof r != "object" ? r : r && r[s.value] ? r[s.value] : r && s.value && r[s.value.toUpperCase()] ? r[s.value.toUpperCase()] : r && r[n.value] ? r[n.value] : r && n.value && r[n.value.toUpperCase()] ? r[n.value.toUpperCase()] : r && Object.keys(r)[0] ? r[Object.keys(r)[0]] : "" };
1329}
1330function ql(e, a, t) {
1331  const s = Je(null), n = Je(null), c = Je(null), r = Je(null), o = Je(null);
1332  return { multiselect: s, wrapper: n, tags: c, input: r, dropdown: o };
1333}
1334function Pl(e, a, t, s = {}) {
1335  return t.forEach((n) => {
1336    s = { ...s, ...n(e, a, s) };
1337  }), s;
1338}
1339var na = { name: "Multiselect", emits: ["paste", "open", "close", "select", "deselect", "input", "search-ch
1339ange", "tag", "option", "update:modelValue", "change", "clear", "keydown", "keyup", "max", "create"], props: { value: { required: false }, modelValue: { required: false }, options: { type: [Array, Object, Function], required: false, default: () => [] }, id: { type: [String, Number], required: false, default: void 0 }, name: { type: [String, Number], required: false, default: "multiselect" }, disabled: { type: Boolean, required: false, default: false }, label: { type: String, required: false, default: "label" }, trackBy: { type: [String, Array], required: false, default: void 0 }, valueProp: { type: String, required: false, default: "value" }, placeholder: { type: String, required: false, default: null }, mode: { type: String, required: false, default: "single" }, searchable: { type: Boolean, required: false, default: false }, limit: { type: Number, required: false, default: -1 }, hideSelected: { type: Boolean, required: false, default: true }, createTag: { type: Boolean, required: false, default: void 0 }, createOption: { type: Boolean, required: false, default: void 0 }, appendNewTag: { type: Boolean, required: false, default: void 0 }, appendNewOption: { type: Boolean, required: false, default: void 0 }, addTagOn: { type: Array, required: false, default: void 0 }, addOptionOn: { type: Array, required: false, default: void 0 }, caret: { type: Boolean, required: false, default: true }, loading: { type: Boolean, required: false, default: false }, noOptionsText: { type: [String, Object], required: false, default: "The list is empty" }, noResultsText: { type: [String, Object], required: false, default: "No results found" }, multipleLabel: { type: Function, required: false, default: void 0 }, object: { type: Boolean, required: false, default: false }, delay: { type: Number, required: false, default: -1 }, minChars: { type: Number, required: false, default: 0 }, resolveOnLoad: { type: Boolean, required: false, default: true }, filterResults: { type: Boolean, required: false, default: true }, clearOnSearch: { type: Boolean, required: false, default: false }, clearOnSelect: { type: Boolean, required: false, default: true }, canDeselect: { type: Boolean, required: false, default: true }, canClear: { type: Boolean, required: false, default: true }, max: { type: Number, required: false, default: -1 }, showOptions: { type: Boolean, required: false, default: true }, required: { type: Boolean, required: false, default: false }, openDirection: { type: String, required: false, default: "bottom" }, nativeSupport: { type: Boolean, required: false, default: false }, classes: { type: Object, required: false, default: () => ({}) }, strict: { type: Boolean, required: false, default: true }, closeOnSelect: { type: Boolean, required: false, default: true }, closeOnDeselect: { type: Boolean, required: false, default: false }, autocomplete: { type: String, required: false, default: void 0 }, groups: { type: Boolean, required: false, default: false }, groupLabel: { type: String, required: false, default: "label" }, groupOptions: { type: String, required: false, default: "options" }, groupHideEmpty: { type: Boolean, required: false, default: false }, groupSelect: { type: Boolean, required: false, default: true }, inputType: { type: String, required: false, default: "text" }, attrs: { required: false, type: Object, default: () => ({}) }, onCreate: { required: false, type: Function, default: void 0 }, disabledProp: { type: String, required: false, default: "disabled" }, searchStart: { type: Boolean, required: false, default: false }, reverse: { type: Boolean, required: false, default: false }, regex: { type: [Object, String, RegExp], required: false, default: void 0 }, rtl: { type: Boolean, required: false, default: false }, infinite: { type: Boolean, required: false, default: false }, aria: { required: false, type: Object, default: () => ({}) }, clearOnBlur: { required: false, type: Boolean, default: true }, locale: { required: false, type: String, default: null }, fallbackLocale: { required: false, type: String, default: "en" }
1339, searchFilter: { required: false, type: Function, default: null }, allowAbsent: { required: false, type: Boolean, default: false }, appendToBody: { required: false, type: Boolean, default: false }, closeOnScroll: { required: false, type: Boolean, default: false }, breakTags: { required: false, type: Boolean, default: false }, appendTo: { required: false, type: String, default: void 0 } }, setup(e, a) {
1340  return Pl(e, a, [ql, Il, bs, xs, Cl, ws, ys, _l, Os, Dl, $s, Tl, Ll, Al]);
1341}, beforeMount() {
1342  (this.$root.constructor && this.$root.constructor.version && this.$root.constructor.version.match(/^2\./) || this.vueVersionMs === 2) && (this.$options.components.Teleport || (this.$options.components.Teleport = { render() {
1343    return this.$slots.default ? this.$slots.default[0] : null;
1344  } }));
1345} };
1346const Bl = ["id", "dir"], Ml = ["tabindex", "aria-controls", "aria-placeholder", "aria-expanded", "aria-activedescendant", "aria-multiselectable", "role"], Vl = ["type", "modelValue", "value", "autocomplete", "id", "aria-controls", "aria-placeholder", "aria-expanded", "aria-activedescendant", "aria-multiselectable"], jl = ["onKeyup", "aria-label"], Rl = ["onClick"], Nl = ["type", "modelValue", "value", "id", "autocomplete", "aria-controls", "aria-placeholder", "aria-expanded", "aria-activedescendant", "aria-multiselectable"], zl = ["innerHTML"], Ul = ["id"], Hl = ["id"], Wl = ["id", "aria-label", "aria-selected"], Fl = ["data-pointed", "onMouseenter", "onClick"], Yl = ["innerHTML"], Gl = ["aria-label"], Kl = ["data-pointed", "data-selected", "onMouseenter", "onClick", "id", "aria-selected", "aria-label"], Zl = ["data-pointed", "data-selected", "onMouseenter", "onClick", "id", "aria-selected", "aria-label"], Ql = ["innerHTML"], Xl = ["innerHTML"], Jl = ["value"], ei = ["name", "value"], ti = ["name", "value"], ai = ["id"];
1347function ni(e, a, t, s, n, c) {
1348  return x(), L("div", { ref: "multiselect", class: R(e.classList.container), id: t.searchable ? void 0 : t.id, dir: t.rtl ? "rtl" : void 0, onFocusin: a[12] || (a[12] = (...r) => e.handleFocusIn && e.handleFocusIn(...r)), onFocusout: a[13] || (a[13] = (...r) => e.handleFocusOut && e.handleFocusOut(...r)), onKeyup: a[14] || (a[14] = (...r) => e.handleKeyup && e.handleKeyup(...r)), onKeydown: a[15] || (a[15] = (...r) => e.handleKeydown && e.handleKeydown(...r)) }, [f("div", He({ class: e.classList.wrapper, onMousedown: a[9] || (a[9] = (...r) => e.handleMousedown && e.handleMousedown(...r)), ref: "wrapper", tabindex: e.tabindex, "aria-controls": t.searchable ? void 0 : e.ariaControls, "aria-placeholder": t.searchable ? void 0 : e.ariaPlaceholder, "aria-expanded": t.searchable ? void 0 : e.isOpen, "aria-activedescendant": t.searchable ? void 0 : e.ariaActiveDescendant, "aria-multiselectable": t.searchable ? void 0 : e.ariaMultiselectable, role: t.searchable ? void 0 : "combobox" }, t.searchable ? {} : e.arias), [I(" Search "), t.mode !== "tags" && t.searchable && !t.disabled ? (x(), L("input", He({ key: 0, type: t.inputType, modelValue: e.search, value: e.search, class: e.classList.search, autocomplete: t.autocomplete, id: t.searchable ? t.id : void 0, onInput: a[0] || (a[0] = (...r) => e.handleSearchInput && e.handleSearchInput(...r)), onKeypress: a[1] || (a[1] = (...r) => e.handleKeypress && e.handleKeypress(...r)), onPaste: a[2] || (a[2] = Tt((...r) => e.handlePaste && e.handlePaste(...r), ["stop"])), ref: "input", "aria-controls": e.ariaControls, "aria-placeholder": e.ariaPlaceholder, "aria-expanded": e.isOpen, "aria-activedescendant": e.ariaActiveDescendant, "aria-multiselectable": e.ariaMultiselectable, role: "combobox" }, { ...t.attrs, ...e.arias }), null, 16, Vl)) : I("v-if", true), I(" Tags (with search) "), t.mode == "tags" ? (x(), L("div", { key: 1, class: R(e.classList.tags), "data-tags": "" }, [(x(true), L(ye, null, Me(e.iv, (r, o, u) => ne(e.$slots, "tag", { option: r, handleTagRemove: e.handleTagRemove, disabled: t.disabled }, () => [(x(), L("span", { class: R([e.classList.tag, r.disabled ? e.classList.tagDisabled : null]), tabindex: "-1", onKeyup: ca((d) => e.handleTagRemove(r, d), ["enter"]), key: u, "aria-label": e.ariaTagLabel(e.localize(r[t.label])) }, [f("span", { class: R(e.classList.tagWrapper) }, P(e.localize(r[t.label])), 3), !t.disabled && !r.disabled ? (x(), L("span", { key: 0, class: R(e.classList.tagRemove), onClick: Tt((d) => e.handleTagRemove(r, d), ["stop"]) }, [f("span", { class: R(e.classList.tagRemoveIcon) }, null, 2)], 10, Rl)) : I("v-if", true)], 42, jl))])), 256)), f("div", { class: R(e.classList.tagsSearchWra
1348pper), ref: "tags" }, [I(" Used for measuring search width "), f("span", { class: R(e.classList.tagsSearchCopy) }, P(e.search), 3), I(" Actual search input "), t.searchable && !t.disabled ? (x(), L("input", He({ key: 0, type: t.inputType, modelValue: e.search, value: e.search, class: e.classList.tagsSearch, id: t.searchable ? t.id : void 0, autocomplete: t.autocomplete, onInput: a[3] || (a[3] = (...r) => e.handleSearchInput && e.handleSearchInput(...r)), onKeypress: a[4] || (a[4] = (...r) => e.handleKeypress && e.handleKeypress(...r)), onPaste: a[5] || (a[5] = Tt((...r) => e.handlePaste && e.handlePaste(...r), ["stop"])), ref: "input", "aria-controls": e.ariaControls, "aria-placeholder": e.ariaPlaceholder, "aria-expanded": e.isOpen, "aria-activedescendant": e.ariaActiveDescendant, "aria-multiselectable": e.ariaMultiselectable, role: "combobox" }, { ...t.attrs, ...e.arias }), null, 16, Nl)) : I("v-if", true)], 2)], 2)) : I("v-if", true), I(" Single label "), t.mode == "single" && e.hasSelected && !e.search && e.iv ? ne(e.$slots, "singlelabel", { key: 2, value: e.iv }, () => [f("div", { class: R(e.classList.singleLabel) }, [f("span", { class: R(e.classList.singleLabelText) }, P(e.localize(e.iv[t.label])), 3)], 2)]) : I("v-if", true), I(" Multiple label "), t.mode == "multiple" && e.hasSelected && !e.search ? ne(e.$slots, "multiplelabel", { key: 3, values: e.iv }, () => [f("div", { class: R(e.classList.multipleLabel), innerHTML: e.multipleLabelText }, null, 10, zl)]) : I("v-if", true), I(" Placeholder "), t.placeholder && !e.hasSelected && !e.search ? ne(e.$slots, "placeholder", { key: 4 }, () => [f("div", { class: R(e.classList.placeholder), "aria-hidden": "true" }, P(t.placeholder), 3)]) : I("v-if", true), I(" Spinner "), t.loading || e.resolving ? ne(e.$slots, "spinner", { key: 5 }, () => [f("span", { class: R(e.classList.spinner), "aria-hidden": "true" }, null, 2)]) : I("v-if", true), I(" Clear "), e.hasSelected && !t.disabled && t.canClear && !e.busy ? ne(e.$slots, "clear", { key: 6, clear: e.clear }, () => [f("span", { "aria-hidden": "true", tabindex: "0", role: "button", "data-clear": "", "aria-roledescription": "\u274E", class: R(e.classList.clear), onClick: a[6] || (a[6] = (...r) => e.clear && e.clear(...r)), onKeyup: a[7] || (a[7] = ca((...r) => e.clear && e.clear(...r), ["enter"])) }, [f("span", { class: R(e.classList.clearIcon) }, null, 2)], 34)]) : I("v-if", true), I(" Caret "), t.caret && t.showOptions ? ne(e.$slots, "caret", { key: 7, handleCaretClick: e.handleCaretClick, isOpen: e.isOpen }, () => [f("span", { class: R(e.classList.caret), onClick: a[8] || (a[8] = (...r) => e.handleCaretClick && e.handleCaretClick(...r)), "aria-hidden": "true" }, null, 2)]) : I("v-if", true)], 16, Ml), I(" Options "), (x(), G(Ea, { to: t.appendTo || "body", disabled: !t.appendToBody && !t.appendTo }, [f("div", { id: t.id ? `${t.id}-dropdown` : void 0, class: R(e.classList.dropdown), tabindex: "-1", ref: "dropdown", onFocusin: a[10] || (a[10] = (...r) => e.handleFocusIn && e.handleFocusIn(...r)), onFocusout: a[11] || (a[11] = (...r) => e.handleFocusOut && e.handleFocusOut(...r)) }, [ne(e.$slots, "beforelist", { options: e.fo }), f("ul", { class: R(e.classList.options), id: e.ariaControls, role: "listbox" }, [t.groups ? (x(true), L(ye, { key: 0 }, Me(e.fg, (r, o, u) => (x(), L("li", { class: R(e.classList.group), key: u, id: e.ariaGroupId(r), "aria-label": e.ariaGroupLabel(e.localize(r[t.groupLabel])), "aria-selected": e.isSelected(r), role: "option" }, [r.__CREATE__ ? I("v-if", true) : (x(), L("div", { key: 0, class: R(e.classList.groupLabel(r)), "data-pointed": e.isPointed(r), onMouseenter: (d) => e.setPointer(r, o), onClick: (d) => e.handleGroupClick(r) }, [ne(e.$slots, "grouplabel", { group: r, isSelected: e.isSelected, isPointed: e.isPointed }, () => [f("span", { innerHTML: e.localize(r[t.groupLabel]) }, null, 8, Yl)])], 42, Fl)), f("ul", { class: R(e.classList.groupOptions), "aria-label": e.ariaGroupLabel(e.localize(r[t.groupLabel])), role: "group" }, [(x(true), L(ye, null, Me(r.__VISIBLE__, (d, i, y) => (x(), L("li", { class: R(e.classList.option(d, r)), "data-pointed": e.isPointed(d), "data-selected": e.isSelected(d) || void 0, key: y, onMouseenter: (w) => e.setPointer(d), onClick: (w) => e.handleOptionClick(d), id: e.ariaOptionId(d), "aria-selected": e.isSelected(d), "aria-label": e.ariaOptionLabel(e.localize(d[t.label])), role: "option" }, [ne(e.$slots, "option", { option: d, isSelected: e.isSelected, isPointed: e.isPointed, search: e.search }, () => [f("span", null, P(e.localize(d[t.label])), 1)])], 42, Kl))), 128))], 10, Gl)], 10, Wl))), 128)) : (x(true), L(ye, { key: 1 }, Me(e.fo, (r, o, u) => (x(), L("li", { class: R(e.classList.option(r)), "data-pointed": e.isPointed(r), "data-selected": e.isSelected(r) || void 0, key: u, onMouseenter: (d
1348) => e.setPointer(r), onClick: (d) => e.handleOptionClick(r), id: e.ariaOptionId(r), "aria-selected": e.isSelected(r), "aria-label": e.ariaOptionLabel(e.localize(r[t.label])), role: "option" }, [ne(e.$slots, "option", { option: r, isSelected: e.isSelected, isPointed: e.isPointed, search: e.search }, () => [f("span", null, P(e.localize(r[t.label])), 1)])], 42, Zl))), 128))], 10, Hl), e.noOptions ? ne(e.$slots, "nooptions", { key: 0 }, () => [f("div", { class: R(e.classList.noOptions), innerHTML: e.localize(t.noOptionsText) }, null, 10, Ql)]) : I("v-if", true), e.noResults ? ne(e.$slots, "noresults", { key: 1 }, () => [f("div", { class: R(e.classList.noResults), innerHTML: e.localize(t.noResultsText) }, null, 10, Xl)]) : I("v-if", true), t.infinite && e.hasMore ? (x(), L("div", { key: 2, class: R(e.classList.inifinite), ref: "infiniteLoader" }, [ne(e.$slots, "infinite", {}, () => [f("span", { class: R(e.classList.inifiniteSpinner) }, null, 2)])], 2)) : I("v-if", true), ne(e.$slots, "afterlist", { options: e.fo })], 42, Ul)], 8, ["to", "disabled"])), I(" Hacky input element to show HTML5 required warning "), t.required ? (x(), L("input", { key: 0, class: R(e.classList.fakeInput), tabindex: "-1", value: e.textValue, required: "" }, null, 10, Jl)) : I("v-if", true), I(" Native input support "), t.nativeSupport ? (x(), L(ye, { key: 1 }, [t.mode == "single" ? (x(), L("input", { key: 0, type: "hidden", name: t.name, value: e.plainValue !== void 0 ? e.plainValue : "" }, null, 8, ei)) : (x(true), L(ye, { key: 1 }, Me(e.plainValue, (r, o) => (x(), L("input", { type: "hidden", name: `${t.name}[]`, value: r, key: o }, null, 8, ti))), 128))], 64)) : I("v-if", true), I(" Screen reader assistive text "), t.searchable && e.hasSelected ? (x(), L("div", { key: 2, class: R(e.classList.assist), id: e.ariaAssist, "aria-hidden": "true" }, P(e.ariaLabel), 11, ai)) : I("v-if", true), I(" Create height for empty input "), f("div", { class: R(e.classList.spacer) }, null, 2)], 42, Bl);
1349}
1350na.render = ni;
1351na.__file = "src/Multiselect.vue";
1352const ri = { class: "space-y-2" }, si = { key: 0, class: "flex items-center space-x-2" }, li = { key: 0, class: "text-sm font-medium" }, ii = { key: 0, class: "relative z-10" }, oi = ["onClick"], ui = { class: "sr-only" }, di = { __name: "TagDisplayer", props: { tags: { type: Array, required: true }, selected: { type: Array, required: true }, assignable: { type: Boolean, default: false }, showTitle: { type: Boolean, default: true }, showAll: { type: Boolean, default: true }, modelValue: { type: [String, Number], default: () => "" } }, emits: ["update:modelValue", "tagAdded", "tagDeleted", "plusClicked"], setup(e, { emit: a }) {
1353  const t = e, s = a, n = Zn(t, s, "modelValue"), c = (w) => {
1354    s("tagAdded", w);
1355  }, r = (w) => {
1356    s("tagDeleted", w);
1357  }, o = V(() => t.tags.map((w) => ({ value: w.id, label: w.name }))), u = V(() => t.showAll ? t.selected : t.selected.slice(0, 1)), d = V(() => t.selected.slice(1)), i = () => {
1358    s("plusClicked");
1359  }, y = W(false);
1360  return (w, b) => {
1361    const _ = Ke("tooltip");
1362    return x(), L("div", ri, [e.showTitle || e.assignable ? (x(), L("div", si, [e.showTitle ? (x(), L("h4", li, P(w.$t("Tags")), 1)) : I("", true), e.assignable ? (x(), L("span", { key: 1, class: "cursor-pointer leading-3 max-lg:relative max-lg:after:absolute max-lg:after:-inset-3.5 max-lg:after:content-['']", onClick: b[0] || (b[0] = (k) => y.value = !y.value) }, [y.value ? (x(), G(S(pa), { key: 0, class: "h-4 w-4 cursor-pointer text-gray-400" })) : we((x(), G(S(Un), { key: 1, class: "h-4 w-4 text-gray-400", "aria-hidden": "true" }, null, 512)), [[_, w.$t("Add tag")]])])) : I("", true)])) : I("", true), M(gs, null, { default: F(() => [y.value ? (x(), L("div", ii, [M(S(na), { modelValue: S(n), "onUpdate:modelValue": b[1] || (b[1] = (k) => $a(n) ? n.value = k : null), options: o.value, classes: S(hs), searchable: true, "create-option": true, onSelect: c }, null, 8, ["modelValue", "options", "classes"])])) : I("", true)]), _: 1 }), f("div", { class: R(["pr-5", { flex: !e.showAll }]) }, [(x(true), L(ye, null, Me(u.value, (k) => (x(), L("span", { key: k.id, class: R(["inline-flex cursor-default items-center rounded-full bg-gray-200 px-2.5 py-0.5 text-xs font-medium text-gray-800", { "mb-2 mr-3": e.showAll }]) }, [We(P(k.name) + " ", 1), e.assignable ? (x(), L("button", { key: 0, type: "button", class: "max-lg:relative max-lg:after:absolute max-lg:after:-inset-3.5 max-lg:after:content-['']", onClick: (D) => k.id ? r(k.id) : r(k.name) }, [f("span", ui, P(w.$t("Remove")), 1), M(S(pa), { class: "h-4 w-4 cursor-pointer text-gray-400" })], 8, oi)) : I("", true)], 2))), 128)), !e.showAll && e.selected.length > 1 ? we((x(), L("span", { key: 0, class: "my-auto ml-1 cursor-pointer text-xs font-medium text-blue-600", onClick: i }, [We(" +" + P(e.selected.length - 1), 1)])), [[_, { content: d.value.map((k) => k.name).join("<br>"), html: true }]]) : I("", true)], 2)]);
1363  };
1364} }, ci = { class: "relative text-left" }, fi = { class: "w-full" }, pi = { class: "relative" }, vi = { type: "button", class: "relative w-full cursor-default rounded-md border border-gray-300 bg-white py-2 pl-3 pr-10 text-left shadow-sm hover:border-primary-500 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500 max-sm:min-h-11 sm:text-sm" }, mi = { class: "flex items-center" }, gi = { class: "ml-3 block truncate" }
1364, hi = { class: "pointer-events-none absolute inset-y-0 right-0 ml-3 flex items-center pr-2" }, yi = { class: "mt-5" }, bi = { class: "mb-1 block text-sm font-medium text-gray-700" }, wi = { class: "mt-5 grid grid-cols-3 gap-4" }, xi = { class: "flex flex-col" }, Si = { class: "mb-1 text-sm font-medium text-gray-700" }, ki = { class: "flex flex-col" }, Oi = { class: "mb-1 text-sm font-medium text-gray-700" }, $i = { class: "flex flex-col" }, Ei = { class: "mb-1 text-sm font-medium text-gray-700" }, Ci = { class: "mt-5 flex w-full items-center" }, _i = { class: "mr-4" }, Ti = { class: "mt-5 flex flex-row-reverse justify-between sm:mt-7" }, Li = ["disabled"], Di = { __name: "TimeEntryModal", props: { request: { type: Object, required: true }, timeEntry: { type: Object, required: false }, open: { type: Boolean, required: true } }, emits: ["closed"], setup(e, { emit: a }) {
1365  var _a2, _b, _c, _d, _e, _f, _g, _h, _i2;
1366  const t = e, s = xn("timeEntryTags", []), n = a, c = W(false), r = W(((_a2 = t.timeEntry) == null ? void 0 : _a2.user) ?? qt.value), o = W(""), u = W({ start: H(((_b = t.timeEntry) == null ? void 0 : _b.started_at) ? (_c = t.timeEntry) == null ? void 0 : _c.started_at : H().subtract(1, "hour")).toISOString(), end: H(((_d = t.timeEntry) == null ? void 0 : _d.ended_at) ? (_e = t.timeEntry) == null ? void 0 : _e.ended_at : H()).toISOString() }), d = Sn({ description: ((_f = t.timeEntry) == null ? void 0 : _f.description) ?? null, started_at: u.value.start, ended_at: u.value.end, user_id: r.value.id, service_request_id: ((_g = t.timeEntry) == null ? void 0 : _g.service_request_id) ?? t.request.id, tags: ((_h = t.timeEntry) == null ? void 0 : _h.tags) ?? [], billable: ((_i2 = t.timeEntry) == null ? void 0 : _i2.billable) ?? true, duration: Te(u.value.start, u.value.end) }), i = (p) => {
1367    if (!p || typeof p != "string") return { hours: 0, minutes: 0, seconds: 0 };
1368    const m = p.split(":");
1369    return { hours: parseInt(m[0]) || 0, minutes: parseInt(m[1]) || 0, seconds: parseInt(m[2]) || 0 };
1370  }, w = (() => {
1371    var _a3, _b2;
1372    if (((_a3 = t.timeEntry) == null ? void 0 : _a3.started_at) && ((_b2 = t.timeEntry) == null ? void 0 : _b2.ended_at)) {
1373      const A = Te(t.timeEntry.started_at, t.timeEntry.ended_at);
1374      return i(A);
1375    }
1376    const p = H().subtract(1, "hour").toISOString(), m = H().toISOString(), C = Te(p, m);
1377    return i(C);
1378  })(), b = W(w.hours), _ = W(w.minutes), k = W(w.seconds), D = W(false), T = V(() => b.value === 0 && _.value === 0 && k.value === 0 || b.value === null && _.value === null && k.value === null), q = () => {
1379    const p = i(Te(u.value.start, u.value.end));
1380    if ((parseInt(b.value) || 0) === p.hours && (parseInt(_.value) || 0) === p.minutes && (parseInt(k.value) || 0) === p.seconds) return;
1381    const m = Math.max(0, Math.min(1e3, parseInt(b.value) || 0)), C = Math.max(0, Math.min(59, parseInt(_.value) || 0)), A = Math.max(0, Math.min(59, parseInt(k.value) || 0));
1382    b.value = m, _.value = C, k.value = A, D.value = true;
1383    const z = H(u.value.end).subtract(m, "hour").subtract(C, "minute").subtract(A, "second").toISOString();
1384    u.value = { start: z, end: u.value.end }, d.started_at = z, d.duration = Te(z, u.value.end), setTimeout(() => {
1385      D.value = false;
1386    }, 10);
1387  }, g = () => {
1388    if (T.value) return;
1389    const p = { preserveScroll: true, preserveState: false };
1390    t.timeEntry ? d.put(route("time-entries.update", t.timeEntry.id), p) : d.post(route("time-entries.store"), p);
1391  }, v = (p) => {
1392    d.user_id = p.id, r.value = p;
1393  }, O = (p) => {
1394    if (Number.isInteger(p) && !d.tags.some((m) => m.id === p)) {
1395      const m = s.find((C) => C.id === p);
1396      d.tags.push(m);
1397    }
1398    Number.isInteger(p) || (d.tags.push({ id: null, name: p }), o.value = null);
1399  }, h = (p) => {
1400    if (Number.isInteger(p)) {
1401      d.tags = d.tags.filter((m) => m.id !== p);
1402      return;
1403    }
1404    d.tags = d.tags.filter((m) => m.name !== p);
1405  };
1406  return ie(u, (p) => {
1407    if (d.started_at = p.start, d.ended_at = p.end, d.duration = Te(p.start, p.end), !D.value) {
1408      const m = i(Te(p.start, p.end));
1409      b.value = m.hours, _.value = m.minutes, k.value = m.seconds;
1410    }
1411  }), ie(() => t.timeEntry, (p) => {
1412    if ((p == null ? void 0 : p.started_at) && (p == null ? void 0 : p.ended_at)) {
1413      u.value.start = H(p.started_at).toISOString(), u.value.end = H(p.ended_at).toISOString(), d.started_at = H(p.started_at).toISOString(), d.ended_at = H(p.ended_at).toISOString(), d.description = p.description, d.tags = p.tags || [], d.billable = p.billable ?? true;
1414      const m = i(Te(p.started_at, p.ended_at));
1415      b.value = m.hours, _.value = m.minutes, k.value = m.seconds;
1416    }
1417  }, { immediate: true }), ie(() => {
1418    var _a3;
1419    return (_a3 = t.timeEntry) == null ? void 0 : _a3.ended_at;
1420  }, (p) => {
1421    if (p) {
1422      u.value.end = H(p).toISOString(), d.ended_at = H(p).toISOString();
1423      const m = i(Te(u.value.start, p));
1424      b.value = m.hours, _.value = m.minutes, k.value = m.seconds;
1425    }
1426  }), ie(() => t.open, (p) => {
1427    p && et(() => c.value = true);
1428  }), (p, m) => (x(), G(Hn, { open: e.open, loading: S(d).processing, size: "lg", "custom-classes": "align-baseline md:align-baseline max-sm:w-full max-sm:[&_h3+button]:relative max-sm:[&_h3+button]:after:absolute max-sm:[&_h3+button]:after:-inset-2.5 max-sm:[&_h3+button]:after:content-['']", onClosed: m[8] || (m[8] = (C) => n("closed")), onConfirmed: g }, { title: F(() => [We(P(e.timeEntry ? p.$t("Edit time") : p.$t("Add time")), 1)]), content: F(() => [f("div", ci, [f("div", null, [S(An) || S(In)(S(qt), "assign hours to users") ? (x(), G(vs, { key: 0, "selected-user": r.value, "users-source": "assignable", "custom-popover-classes": "z-[99]", "same-width-dropdown": "", onUserSelected: v }, { default: F(() => {
1429    var _a3;
1430    return [f("div", fi, [f("div", pi, [f("button", vi, [f("span", mi, [r.value ? (x(), G(It, { key: 0, user: r.value, size: "sm" }, null, 8, ["user"])) : (x(), G(S(qa), { key: 1, class: "h-6 w-6 flex-shrink-0 rounded-full text-gray-400" })), f("span", gi, P(((_a3 = r.value) == null ? void 0 : _a3.name) || p.$t("Select user")), 1)]), f("span", hi, [M(S(Qn), { class: "h-5 w-5 text-gray-400", "aria-hidden": "true" })])])])])];
1431  }), _: 1 }, 8, ["selected-user"])) : I("", true)]), f("div", yi, [f("label", bi, P(p.$t("Description")), 1), M(Et, { modelValue: S(d).description, "onUpdate:modelValue": m[0] || (m[0] = (C) => S(d).description = C), "input-class": "max-sm:min-h-11", placeholder: p.$t("What did you work on?"), autofocus: c.value }, null, 8, ["modelValue", "placeholder", "autofocus"])]), f("div", wi, [f("div", xi, [f("label", Si, P(p.$t("Hours")), 1), M(Et, { modelValue: b.value, "onUpdate:modelValue": m[1] || (m[1] = (C) => b.value = C), type: "number", "input-class": "[&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none [-moz-appearance:textfield] max-sm:min-h-11", min: 0, max: 1e3, "onUpdate:value": q }, null, 8, ["modelValue"])]), f("div", ki, [f("label", Oi, P(p.$t("Minutes")), 1), M(Et, { modelValue: _.value, "onUpdate:modelValue": m[2] || (m[2] = (C) => _.value = C), type: "number", "input-class": "[&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none [-moz-appearance:textfield] max-sm:min-h-11", min: 0, max: 59, "onUpdate:value": q }, null, 8, ["modelValue"])]), f("div", $i, [f("label", Ei, P(p.$t("Seconds")), 1), M(Et, { modelValue: k.value, "onUpdate:modelValue": m[3] || (m[3] = (C) => k.value = C), type: "number", "input-class": "[&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none [-moz-appearance:textfield] max-sm:min-h-11", min: 0, max: 59, "onUpdate:value": q }, null, 8, ["modelValue"])])]), f("div", Ci, [M(Ur, { modelValue: u.value, "onUpdate:modelValue": m[4] || (m[4] = (C) => u.value = C), stacked: "" }, null, 8, ["modelValue"])]), M(di, { modelValue: o.value, "onUpdate:modelValue": m[5] || (m[5] = (C) => o.value = C), tags: S(s), selected: S(d).tags, assignable: "", class: "mt-5 max-sm:[&_span.leading-3]:relative max-sm:[&_span.leading-3]:after:absolute max-sm:[&_span.leading-3]:after:-inset-3.5 max-sm:[&_span.leading-3]:after:content-['']", onTagAdded: O, onTagDeleted: h }, null, 8, ["modelValue", "tags", "selected"]), M(S(jn), { as: "div", class: "mt-5 flex items-center justify-between" }, { default: F(() => [f("div", _i, [M(S(Rn), { class: "block text-sm font-medium text-gray-700" }, { default: F(() => [We(P(p.$t("Billable")), 1)]), _: 1 }), M(S(Nn), { as: "p", class: "text-xs text-gray-500" }, { default: F(() => [We(P(p.$t("Non-billable time isn't deducted from the client's hours balance")), 1)]), _: 1 })]), M(Pr, { modelValue: S(d).billable, "onUpdate:modelValue": m[6] || (m[6] = (C) => S(d).billable = C) }, null, 8, ["modelValue"])]), _: 1 })])]), buttons: F(() => [f("div", Ti, [f("button", { type: "button", disabled: S(d).processing || T.value, class: R(["inline-flex items-center space-x-2 rounded-md border border-transparent px-4 py-2 text-sm font-medium text-white shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 max-sm:min-h-11 sm:ml-3", { "cursor-not-allowed opacity-50": S(d).processing || T.value }, "bg-primary-600 hover:bg-primary-700 focus:ring-primary-500"]), onClick: g }, [S(d).processing ? (x(), G(Aa, { key: 0, class: "h-5 w-5 animate-spin text-primary-400" })) : I("", true), f("span", null, P(p.$t("Save")), 1)], 10, Li), f("button", { type: "button", class: "inline-flex items-center justify-center rounded-md border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-700 shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 max-sm:min-h-11", onClick: m[7] || (m[7] = (C) => n("closed")) }, P(p.$t("Cancel")), 1)])]), _: 1 }, 8, ["open", "loading"]));
1432} }, Ai = { class: "mx-auto max-w-md" }, Ii = { class: "lg:col-start-3 lg:row-end-1" }, qi = { class: "rounded-lg bg-gray-50 shadow-sm ring-1 ring-gray-900/5" }, Pi = { class: "flex flex-wrap" }, Bi = { class: "flex-auto pl-6 pt-6" }, Mi = { class: "text-sm font-semibold leading-6 text-gray-900" }, Vi = { class: "mt-1 text-base font-semibold leading-6 text-gray-900" }, ji = { class: "flex-none self-end px-6 pt-4" }, Ri = { class: "sr-only" }, Ni = { class: "inline-flex items-center rounded-md bg-green-50 px-2 py-1 text-xs font-medium text-green-700 ring-1 ring-inset ring-green-600/20" }, zi = { class: "mt-6 flex w-full flex-none gap-x-4 border-t border-gray-900/5 px-6 pt-6" }, Ui = { class: "flex-none" }, Hi = { class: "sr-only" }, Wi = { class: "text-sm leading-6 text-gray-400" }, Fi = { class: "mt-4 flex w-full flex-none gap-x-4 px-6" }, Yi = { class: "flex-none" }, Gi = { class: "sr-only" }, Ki = { class: "text-sm leading-6 text-gray-500" }, Zi = { datetime: "2023-01-31" }, Qi = { class: "mt-4 flex w-full flex-none gap-x-4 px-6" }, Xi = { class: "flex-none" }, Ji = { class: "sr-only" }, eo = { class: "text-sm font-medium leading-6 text-gray-900" }, to = { class: "text-sm font-semibold leading-6 text-gray-900" }, ao = { __name: "TimerButton", props: { request: { type: Object, required: false }, timeEntry: { type: Object, required: false }, global: { type: Boolean, default: false } }, setup(e) {
1433  const a = e, t = vt().props.auth.user;
1434  Ge(() => {
1435    a.timeEntry && Echo.private(qn(`timesheet.${t.id}`)).listen(".App\\Events\\TimeEntryUpdated", ({ timeEntry: r }) => {
1436      var _a2;
1437      r.id === ((_a2 = a.timeEntry) == null ? void 0 : _a2.id) && Lt.reload();
1438    });
1439  });
1440  const s = W(false), n = W(a.timeEntry), c = () => {
1441    if (a.timeEntry) return n.value = a.timeEntry, n.value.ended_at = H().toISOString(), Lt.put(route("time-entries.update", a.timeEntry.id), { ended_at: n.value.ended_at }, { headers: { "X-Socket-ID": Echo.socketId() }, onSuccess: () => s.value = true });
1442    Lt.post(route("time-entries.store"), { started_at: H().toISOString(), service_request_id: a.request.id, user_id: vt().props.auth.user.id });
1443  };
1444  return (r, o) => {
1445    var _a2;
1446    const u = Oa("VMenu"), d = Ke("tooltip");
1447    return x(), L("div", null, [M(u, { class: "flex" }, kn({ default: F(() => {
1448      var _a3;
1449      return [((_a3 = e.timeEntry) == null ? void 0 : _a3.started_at) ? (x(), G(ma, { key: 0, date: e.timeEntry.started_at, class: "cursor-default p-0.5 text-sm text-gray-500" }, null, 8, ["date"])) : I("", true), e.timeEntry ? we((x(), G(S(Xn), { key: 1, class: "h-6 w-6 cursor-pointer text-primary-600", onClick: c }, null, 512)), [[d, r.$t("Stop timer")]]) : e.global ? I("", true) : we((x(), G(S(Jn), { key: 2, class: "h-6 w-6 cursor-pointer text-primary-600", onClick: c }, null, 512)), [[d, r.$t("Start timer")]])];
1450    }), _: 2 }, [e.timeEntry && e.global ? { name: "popper", fn: F(() => {
1451      var _a3;
1452      return [f("div", Ai, [f("div", Ii, [o[2] || (o[2] = f("h2", { class: "sr-only" }, "Summary", -1)), f("div", qi, [f("dl", Pi, [f("div", Bi, [f("dt", Mi, P(r.$t("Time entry")), 1), f("dd", Vi, [((_a3 = e.timeEntry) == null ? void 0 : _a3.started_at) ? (x(), G(ma, { key: 0, date: e.timeEntry.started_at, class: "cursor-default p-0.5 text-sm text-gray-500" }, null, 8, ["date"])) : I("", true)])]), f("div", ji, [f("dt", Ri, P(r.$t("Status")), 1), f("dd", Ni, P(r.$t("Active")), 1)]), f("div", zi, [f("dt", Ui, [f("span", Hi, P(r.$t("User")), 1), M(S(er), { class: "h-6 w-5 text-gray-400", "aria-hidden": "true" })]), f("dd", Wi, P(S(t).name), 1)]), f("div", Fi, [f("dt", Yi, [f("span", Gi, P(r.$t("Started at")), 1
1452), M(S(Yn), { class: "h-6 w-5 text-gray-400", "aria-hidden": "true" })]), f("dd", Ki, [f("time", Zi, P(S(Be)(e.timeEntry.started_at)), 1)])]), f("div", Qi, [f("dt", Xi, [f("span", Ji, P(r.$t("Request")), 1), M(S(Ln), { class: "h-6 w-5 text-gray-400", "aria-hidden": "true" })]), f("dd", eo, P(e.timeEntry.request.title), 1)])]), M(S(tt), { href: r.route("requests.show", e.timeEntry.request.slug), class: "mt-6 block border-t border-gray-900/5 px-6 py-6 hover:bg-gray-100" }, { default: F(() => [f("div", to, [We(P(r.$t("Go to request")) + " ", 1), o[1] || (o[1] = f("span", { "aria-hidden": "true" }, "\u2192", -1))])]), _: 1 }, 8, ["href"])])])])];
1453    }), key: "0" } : void 0]), 1024), ((_a2 = n.value) == null ? void 0 : _a2.ended_at) ? (x(), G(Di, { key: 0, open: s.value, request: n.value.request, "time-entry": n.value, onClosed: o[0] || (o[0] = (i) => s.value = false) }, null, 8, ["open", "request", "time-entry"])) : I("", true)]);
1454  };
1455} };
1456function no(e, a) {
1457  return x(), L("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true", "data-slot": "icon" }, [f("path", { d: "M10.75 4.75a.75.75 0 0 0-1.5 0v4.5h-4.5a.75.75 0 0 0 0 1.5h4.5v4.5a.75.75 0 0 0 1.5 0v-4.5h4.5a.75.75 0 0 0 0-1.5h-4.5v-4.5Z" })]);
1458}
1459const ro = { class: "flex min-w-0 flex-1 justify-between px-4" }, so = { class: "flex flex-1 items-center truncate" }, lo = { key: 1, class: "relative w-full text-gray-400 focus-within:text-gray-600" }, io = { key: 0, class: "ml-4 flex items-center space-x-3 md:ml-6" }, oo = { class: "sm:hidden" }, uo = { class: "max-sm:hidden" }, Lo = { __name: "NavbarLayout", props: { showLogo: { type: Boolean, default: false } }, setup(e) {
1460  const a = V(() => vt().props.timeEntry);
1461  return (t, s) => {
1462    const n = Ke("permission");
1463    return x(), L("div", ro, [f("div", so, [e.showLogo ? (x(), G(S(tt), { key: 0, href: t.route("dashboard"), class: "h-10" }, { default: F(() => [M(On, { class: "!h-full", "is-dark-theme": false })]), _: 1 }, 8, ["href"])) : (x(), L("div", lo, [ne(t.$slots, "header")]))]), S(qt).id ? (x(), L("div", io, [t.route().current("requests.submit.index") ? I("", true) : we((x(), G(S(tt), { key: 0, href: t.route("requests.submit.index"), "aria-label": t.$t("Create {request}", { request: S(va) }), class: "inline-flex shrink-0 items-center rounded-md border border-transparent bg-primary-600 px-4 py-2 text-sm font-medium text-white shadow-sm hover:bg-primary-700 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 max-sm:min-h-11 max-sm:px-3" }, { default: F(() => [M(S(no), { class: "-ml-0.5 mr-1.5 h-5 w-5 sm:hidden", "aria-hidden": "true" }), f("span", oo, P(t.$t("Create")), 1), f("span", uo, P(t.$t("Create {request}", { request: S(va) })), 1)]), _: 1 }, 8, ["href", "aria-label"])), [[n, "submit service requests"]]), ne(t.$slots, "actions"), S(Pn).requests_timetracking_enabled ? (x(), G(ao, { key: 1, "time-entry": a.value, global: "" }, null, 8, ["time-entry"])) : I("", true), M(qr, { "notifications-summary": S(qt).notificationsSummary }, null, 8, ["notifications-summary"])])) : I("", true)]);
1464  };
1465} }, Do = { __name: "LiveChat", setup(e) {
1466  const a = vt().props.auth.user, t = vt().props.portal, s = W(null);
1467  return Ge(() => {
1468    if (Bn(a, "client") && t.live_chat_enabled) {
1469      if (t.live_chat_name === "intercom" && ((function() {
1470        var n = window, c = n.Intercom;
1471        if (typeof c == "function") c("reattach_activator"), c("update", n.intercomSettings);
1472        else {
1473          var r = document, o = function() {
1474            o.c(arguments);
1475          };
1476          o.q = [], o.c = function(d) {
1477            o.q.push(d);
1478          }, n.Intercom = o;
1479          var u = function() {
1480            var d = r.createElement("script");
1481            d.type = "text/javascript", d.async = true, d.src = `https://widget.intercom.io/widget/${t.live_chat_id}`;
1482            var i = r.getElementsByTagName("script")[0];
1483            i.parentNode.insertBefore(d, i);
1484          };
1485          document.readyState === "complete" ? u() : n.attachEvent ? n.attachEvent("onload", u) : n.addEventListener("load", u, false);
1486        }
1487      }
1487)(), window.Intercom("boot", { api_base: "https://api-iam.intercom.io", app_id: t.live_chat_id, user_id: t.id + "_" + a.id, name: a.name, email: a.email, created_at: a.created_at.timestamp }), window.Intercom("update")), t.live_chat_name === "crisp" && (window.$crisp = [], window.CRISP_WEBSITE_ID = t.live_chat_id, s.value = document.createElement("script"), s.value.src = "https://client.crisp.chat/l.js", s.value.async = 1, document.getElementsByTagName("head")[0].appendChild(s.value)), t.live_chat_name === "tawk-to") {
1488        window.Tawk_API = {}, window.Tawk_LoadStart = /* @__PURE__ */ new Date(), s.value = document.createElement("script");
1489        const n = document.getElementsByTagName("script")[0];
1490        s.value.async = true, s.value.src = t.live_chat_id, s.value.setAttribute("crossorigin", "*"), n.parentNode.insertBefore(s.value, n);
1491      }
1492      t.live_chat_name === "livechat" && (window.__lc = window.__lc || {}, window.__lc.license = t.live_chat_id, (function(n, c, r) {
1493        function o(d) {
1494          return u._h ? u._h.apply(null, d) : u._q.push(d);
1495        }
1496        var u = { _q: [], _h: null, _v: "2.0", on: function() {
1497          o(["on", r.call(arguments)]);
1498        }, once: function() {
1499          o(["once", r.call(arguments)]);
1500        }, off: function() {
1501          o(["off", r.call(arguments)]);
1502        }, get: function() {
1503          if (!u._h) throw new Error("[LiveChatWidget] You can't use getters before load.");
1504          return o(["get", r.call(arguments)]);
1505        }, call: function() {
1506          o(["call", r.call(arguments)]);
1507        }, init: function() {
1508          var d = c.createElement("script");
1509          d.async = true, d.type = "text/javascript", d.src = "https://cdn.livechatinc.com/tracking.js", c.head.appendChild(d);
1510        } };
1511        !n.__lc.asyncInit && u.init(), n.LiveChatWidget = n.LiveChatWidget || u;
1512      })(window, document, [].slice)), t.live_chat_name === "hubspot" && (s.value = document.createElement("script"), s.value.setAttribute("src", t.live_chat_id), document.head.appendChild(s.value)), t.live_chat_name === "customerly" && ((function() {
1513        var n = window, c = document, r = "customerly", o = "queue", u = "load", d = "settings", i = n[r] = n[r] || [];
1514        if (i.t) return void i.i("[customerly] SDK already initialized. Snippet included twice.");
1515        i.t = true, i.loaded = false, i.o = ["event", "attribute", "update", "show", "hide", "open", "close"], i[o] = [], i.i = function(y) {
1516          n.console && !i.debug && console.error && console.error(y);
1517        }, i.u = function(y) {
1518          return function() {
1519            var w = Array.prototype.slice.call(arguments);
1520            return w.unshift(y), i[o].push(w), i;
1521          };
1522        }, i[u] = function(y) {
1523          if (i[d] = y || {}, i.loaded) return void i.i("[customerly] SDK already loaded. Use customerly.update to change settings.");
1524          i.loaded = true;
1525          var w = c.createElement("script");
1526          w.type = "text/javascript", w.async = true, w.src = "https://messenger.customerly.io/launcher.js";
1527          var b = c.getElementsByTagName("script")[0];
1528          b.parentNode.insertBefore(w, b);
1529        }, i.o.forEach(function(y) {
1530          i[y] = i.u(y);
1531        });
1532      })(), window.customerly.load({ app_id: t.live_chat_id, user_id: t.id + "_" + a.id, name: a.name, email: a.email }));
1533    }
1534  }), (n, c) => null;
1535} };
1536export {
1537  Qn as A,
1538  hs as M,
1539  gs as T,
1540  Pr as _,
1541  pr as a,
1542  _o as b,
1543  Lo as c,
1544  Do as d,
1545  Hr as e,
1546  Jn as f,
1547  Gr as g,
1548  di as h,
1549  Qr as i,
1550  Xr as j,
1551  Jr as k,
1552  Kr as l,
1553  qa as m,
1554  ct as n,
1555  xr as o,
1556  nr as p,
1557  Ur as q,
1558  To as r,
1559  na as s,
1560  no as t,
1561  Pa as u,
1562  er as v,
1563  vs as w,
1564  Di as x,
1565  ao as y,
1566  rr as z
1567};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.