@vuetify/one 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +3127 -770
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -1,54 +1,76 @@
1
- import { reactive as le, watch as F, toRefs as de, ref as L, shallowRef as B, computed as g, inject as fe, onBeforeMount as pe, defineComponent as j, resolveComponent as N, openBlock as k, createBlock as S, unref as u, withCtx as h, createVNode as _, mergeProps as Y, createElementBlock as oe, createCommentVNode as C, createElementVNode as O, toDisplayString as z, createTextVNode as M, createSlots as me, withModifiers as ae, nextTick as ve, Fragment as he, renderList as ye, pushScopeId as ge, popScopeId as be } from "vue";
2
- import { useDisplay as se, useTheme as _e } from "vuetify";
3
- import { useRouter as Z } from "vue-router";
4
- import { defineStore as D } from "pinia";
5
- import { merge as Q } from "lodash-es";
6
- import { mdiLogin as we, mdiOpenInNew as ke, mdiSync as Ve, mdiSyncOff as Se, mdiShieldStarOutline as xe, mdiGithub as $e, mdiDiscord as Le, mdiReddit as Ae } from "@mdi/js";
7
- import { VAvatar as W } from "vuetify/lib/components/VAvatar/index.mjs";
8
- import { VCard as re, VCardTitle as Ce, VCardSubtitle as Fe } from "vuetify/lib/components/VCard/index.mjs";
9
- import { VList as ie, VListItem as ue, VListItemTitle as Ne, VListItemSubtitle as Oe } from "vuetify/lib/components/VList/index.mjs";
10
- import { VDialog as De } from "vuetify/lib/components/VDialog/index.mjs";
11
- import { VAppBar as Ie } from "vuetify/lib/components/VAppBar/index.mjs";
12
- import { VBtn as K } from "vuetify/lib/components/VBtn/index.mjs";
13
- import { VHover as Ee } from "vuetify/lib/components/VHover/index.mjs";
14
- import { VSheet as Be } from "vuetify/lib/components/VSheet/index.mjs";
15
- import { VSwitch as je } from "vuetify/lib/components/VSwitch/index.mjs";
16
- import { VFadeTransition as Te, VExpandTransition as Re } from "vuetify/lib/components/transitions/index.mjs";
17
- import { VFooter as Ue } from "vuetify/lib/components/VFooter/index.mjs";
18
- import { VIcon as He } from "vuetify/lib/components/VIcon/index.mjs";
19
- const J = D("http", {
1
+ import { reactive as pt, watch as N, toRefs as mt, ref as H, shallowRef as D, computed as w, defineComponent as k, openBlock as d, createBlock as f, unref as t, createSlots as G, withCtx as a, createElementVNode as h, toDisplayString as I, createVNode as o, createTextVNode as B, renderSlot as R, normalizeStyle as Qe, createCommentVNode as x, withModifiers as Te, mergeModels as ft, useModel as ie, createElementBlock as S, Fragment as U, onBeforeMount as vt, nextTick as fe, renderList as oe, mergeProps as P, resolveComponent as Me, withDirectives as xe, vShow as Re, onMounted as _t, normalizeClass as ht, pushScopeId as gt, popScopeId as bt } from "vue";
2
+ import { useRouter as Pe, useRoute as yt } from "vue-router/auto";
3
+ import { defineStore as X } from "pinia";
4
+ import { merge as Oe } from "lodash-es";
5
+ import { mdiDiscord as He, mdiGithub as Ee, mdiSync as Vt, mdiSyncOff as kt, mdiLogoutVariant as xt, mdiFullscreenExit as $t, mdiFullscreen as wt, mdiCheck as le, mdiHome as St, mdiTextBox as Ct, mdiSpaceInvaders as Je, mdiWhiteBalanceSunny as Lt, mdiWeatherNight as It, mdiDesktopTowerMonitor as At, mdiImageFilterHdr as Dt, mdiRocketLaunchOutline as Ut, mdiContrastCircle as Bt, mdiCog as Nt, mdiCogOutline as Ot, mdiFileDocument as Ft, mdiCreditCardSettingsOutline as zt, mdiRocketOutline as jt, mdiCheckCircleOutline as pe, mdiCreditCard as Tt, mdiReload as Mt, mdiPlaylistCheck as Rt, mdiCreditCardOutline as Pt, mdiMedal as We, mdiOpenInNew as ve, mdiHandHeart as Ht, mdiChartLine as Et, mdiHandHeartOutline as Wt, mdiEmailOpenOutline as Xe, mdiEmailVariant as Ke, mdiBell as Gt, mdiInboxOutline as qt, mdiInboxFullOutline as Zt, mdiBillboard as Yt, mdiBellOutline as Qt, mdiViewDashboardOutline as Jt, mdiSpider as Xt, mdiCrown as Kt, mdiArrowULeftBottom as eo, mdiLogin as to, mdiShieldStarOutline as oo, mdiReddit as no } from "@mdi/js";
6
+ import { VListItem as _e, VList as ee, VListItemTitle as et, VListItemSubtitle as so } from "vuetify/lib/components/VList/index.mjs";
7
+ import { VAvatar as ne } from "vuetify/lib/components/VAvatar/index.mjs";
8
+ import { VCard as M, VCardTitle as ao, VCardSubtitle as io, VCardText as K } from "vuetify/lib/components/VCard/index.mjs";
9
+ import { VDialog as tt } from "vuetify/lib/components/VDialog/index.mjs";
10
+ import { VBadge as Ge } from "vuetify/lib/components/VBadge/index.mjs";
11
+ import { VBtn as E } from "vuetify/lib/components/VBtn/index.mjs";
12
+ import { VProgressCircular as lo } from "vuetify/lib/components/VProgressCircular/index.mjs";
13
+ import { VSheet as qe } from "vuetify/lib/components/VSheet/index.mjs";
14
+ import { VSwitch as ot } from "vuetify/lib/components/VSwitch/index.mjs";
15
+ import { VFadeTransition as $e, VExpandTransition as he, VExpandXTransition as ro } from "vuetify/lib/components/transitions/index.mjs";
16
+ import { useDisplay as re, useTheme as co, useDate as we } from "vuetify";
17
+ import { VDivider as W } from "vuetify/lib/components/VDivider/index.mjs";
18
+ import { VIcon as A } from "vuetify/lib/components/VIcon/index.mjs";
19
+ import { VLabel as ze } from "vuetify/lib/components/VLabel/index.mjs";
20
+ import { VChip as q } from "vuetify/lib/components/VChip/index.mjs";
21
+ import { VChipGroup as uo } from "vuetify/lib/components/VChipGroup/index.mjs";
22
+ import { VSelect as po } from "vuetify/lib/components/VSelect/index.mjs";
23
+ import { VRow as Se, VCol as me } from "vuetify/lib/components/VGrid/index.mjs";
24
+ import { VHover as Ce } from "vuetify/lib/components/VHover/index.mjs";
25
+ import { VImg as Le } from "vuetify/lib/components/VImg/index.mjs";
26
+ import { VItemGroup as nt, VItem as je } from "vuetify/lib/components/VItemGroup/index.mjs";
27
+ import { VLayout as Ie } from "vuetify/lib/components/VLayout/index.mjs";
28
+ import { VMain as Ae } from "vuetify/lib/components/VMain/index.mjs";
29
+ import { VDataTableVirtual as mo } from "vuetify/lib/components/VDataTable/index.mjs";
30
+ import { VSkeletonLoader as Ye } from "vuetify/lib/components/VSkeletonLoader/index.mjs";
31
+ import { VWindow as st, VWindowItem as de } from "vuetify/lib/components/VWindow/index.mjs";
32
+ import { VTimelineItem as Ze, VTimeline as fo } from "vuetify/lib/components/VTimeline/index.mjs";
33
+ import { VTooltip as J } from "vuetify/lib/components/VTooltip/index.mjs";
34
+ import { VResponsive as vo } from "vuetify/lib/components/VResponsive/index.mjs";
35
+ import { VNavigationDrawer as _o } from "vuetify/lib/components/VNavigationDrawer/index.mjs";
36
+ import { Ripple as ho } from "vuetify/lib/directives/index.mjs";
37
+ import { VColorPicker as go } from "vuetify/lib/components/VColorPicker/index.mjs";
38
+ import { VMenu as bo } from "vuetify/components";
39
+ import { VAppBar as yo } from "vuetify/lib/components/VAppBar/index.mjs";
40
+ import { VFooter as Vo } from "vuetify/lib/components/VFooter/index.mjs";
41
+ const ge = X("http", {
20
42
  state: () => ({
21
43
  url: ""
22
44
  }),
23
45
  actions: {
24
- async fetch(o, t = {}) {
25
- const a = await fetch(`${this.url}${o}`, {
46
+ async fetch(p, e = {}) {
47
+ const i = await fetch(`${this.url}${p}`, {
26
48
  credentials: "include",
27
- ...t
49
+ ...e
28
50
  });
29
- return a.status === 204 ? a : a.json();
51
+ return i.status === 204 ? i : i.json();
30
52
  },
31
- async post(o, t, a = {}) {
32
- return this.fetch(o, {
53
+ async post(p, e, i = {}) {
54
+ return this.fetch(p, {
33
55
  method: "POST",
34
56
  headers: {
35
57
  "Content-Type": "application/json"
36
58
  },
37
- body: JSON.stringify(t),
38
- ...a
59
+ body: JSON.stringify(e),
60
+ ...i
39
61
  });
40
62
  },
41
- async get(o, t = {}) {
42
- return this.fetch(o, t);
63
+ async get(p, e = {}) {
64
+ return this.fetch(p, e);
43
65
  },
44
- async delete(o, t = {}) {
45
- return this.fetch(o, {
66
+ async delete(p, e = {}) {
67
+ return this.fetch(p, {
46
68
  method: "DELETE",
47
- ...t
69
+ ...e
48
70
  });
49
71
  }
50
72
  }
51
- }), X = typeof window < "u", G = {
73
+ }), Fe = typeof window < "u", ke = {
52
74
  v: 5,
53
75
  api: "link-only",
54
76
  avatar: "",
@@ -86,553 +108,3126 @@ const J = D("http", {
86
108
  jobs: null
87
109
  }
88
110
  }
89
- }, T = D("user", () => {
90
- const o = le(Q({}, G));
91
- F(o, a);
92
- function t() {
93
- if (!X)
111
+ }, O = X("user", () => {
112
+ const p = pt(Oe({}, ke));
113
+ N(p, i);
114
+ function e() {
115
+ if (!Fe)
94
116
  return;
95
- const r = localStorage.getItem("vuetify@user"), e = r ? JSON.parse(r) : {};
96
- let d = e.v === o.v;
97
- e.v || (e.pwaRefresh = !0, typeof e.api == "boolean" && (e.api = e.api ? "inline" : "link-only"), typeof e.rtl == "boolean" && (e.direction = e.rtl ? "rtl" : "ltr", delete e.rtl), typeof e.theme == "object" && (e.mixedTheme = e.theme.mixed, e.theme = e.theme.system ? "system" : e.theme.dark ? "dark" : "light"), Array.isArray(e.notifications) && (e.notifications = { read: e.notifications }), typeof e.last == "object" && (e.notifications.last = e.last, delete e.last)), e.v === 1 && (Array.isArray(e.composition) && (e.composition = "composition"), Array.isArray(e.notifications.last.banner) || (e.notifications = e.notifications || {}, e.notifications.last = e.notifications.last || {}, e.notifications.last.banner = [])), e.v === 2 && (e.syncSettings = !0, e.disableAds = !1, e.v = 3), e.v === 3 && (e.quickbar = !1), e.v === 4 && (e.suits = G.suits, e.notifications.banners = G.notifications.banners, d = !0), e.v = o.v, Object.assign(o, Q(o, e)), d && a();
117
+ const l = localStorage.getItem("vuetify@user"), s = l ? JSON.parse(l) : {};
118
+ let r = s.v === p.v;
119
+ s.v || (s.pwaRefresh = !0, typeof s.api == "boolean" && (s.api = s.api ? "inline" : "link-only"), typeof s.rtl == "boolean" && (s.direction = s.rtl ? "rtl" : "ltr", delete s.rtl), typeof s.theme == "object" && (s.mixedTheme = s.theme.mixed, s.theme = s.theme.system ? "system" : s.theme.dark ? "dark" : "light"), Array.isArray(s.notifications) && (s.notifications = { read: s.notifications }), typeof s.last == "object" && (s.notifications.last = s.last, delete s.last)), s.v === 1 && (Array.isArray(s.composition) && (s.composition = "composition"), Array.isArray(s.notifications.last.banner) || (s.notifications = s.notifications || {}, s.notifications.last = s.notifications.last || {}, s.notifications.last.banner = [])), s.v === 2 && (s.syncSettings = !0, s.disableAds = !1, s.v = 3), s.v === 3 && (s.quickbar = !1), s.v === 4 && (s.suits = ke.suits, s.notifications.banners = ke.notifications.banners, r = !0), s.v = p.v, Object.assign(p, Oe(p, s)), r && i();
98
120
  }
99
- function a() {
100
- X && localStorage.setItem("vuetify@user", JSON.stringify(o, null, 2));
121
+ function i() {
122
+ Fe && localStorage.setItem("vuetify@user", JSON.stringify(p, null, 2));
101
123
  }
102
124
  function n() {
103
- X && (Object.assign(o, Q({}, G)), a());
125
+ Fe && (Object.assign(p, Oe({}, ke)), i());
104
126
  }
105
- return t(), {
106
- ...de(o),
107
- load: t,
108
- save: a,
127
+ return e(), {
128
+ ...mt(p),
129
+ load: e,
130
+ save: i,
109
131
  reset: n
110
132
  };
111
- }), I = D("auth", () => {
112
- const o = L(!1), t = L(null), a = J(), n = T(), r = Z(), e = B(!1), d = g(() => {
113
- var f, i;
114
- return !a.url || ((f = t.value) == null ? void 0 : f.isAdmin) || !!((i = t.value) != null && i.sponsorships.some((p) => p.isActive));
133
+ }), F = X("auth", () => {
134
+ const p = H(!1), e = H(null), i = ge(), n = O(), l = Pe(), s = D(!1), r = w(() => {
135
+ var _, y;
136
+ return !i.url || ((_ = e.value) == null ? void 0 : _.isAdmin) || !!((y = e.value) != null && y.sponsorships.some(($) => $.isActive));
115
137
  });
116
- let y = !!V();
117
- F(t, (f) => {
118
- if (!(f != null && f.settings))
138
+ let c = !!C();
139
+ N(e, (_) => {
140
+ if (!(_ != null && _.settings))
119
141
  return;
120
- const i = localStorage.getItem("vuetify@user") || "{}";
121
- JSON.stringify(f.settings, null, 2) !== i && (y = !0, Object.assign(n, f.settings));
142
+ const y = localStorage.getItem("vuetify@user") || "{}";
143
+ JSON.stringify(_.settings, null, 2) !== y && (c = !0, Object.assign(n, _.settings));
122
144
  }), n.$subscribe(() => {
123
- y || m(), y = !1;
145
+ c || v(), c = !1;
124
146
  });
125
- async function m() {
126
- if (!(!t.value || !n.syncSettings))
147
+ async function v() {
148
+ if (!(!e.value || !n.syncSettings))
127
149
  try {
128
- await a.post("/user/settings", { settings: n.$state });
129
- } catch (f) {
130
- console.error(f);
150
+ await i.post("/user/settings", { settings: n.$state });
151
+ } catch (_) {
152
+ console.error(_);
131
153
  }
132
154
  }
133
- async function c(f = !1) {
134
- if (c.promise)
135
- return c.promise;
136
- e.value = !0, c.promise = fetch(`${a.url}/auth/verify`, {
155
+ async function u(_ = !1) {
156
+ if (u.promise)
157
+ return u.promise;
158
+ s.value = !0, u.promise = fetch(`${i.url}/auth/verify`, {
137
159
  credentials: "include",
138
- headers: f ? {
160
+ headers: _ ? {
139
161
  "Cache-Control": "no-cache"
140
162
  } : void 0
141
163
  }).then(
142
- async (i) => {
143
- i.ok ? t.value = (await i.json()).user : i.status === 401 ? t.value = null : console.error(i.statusText);
164
+ async (y) => {
165
+ y.ok ? e.value = (await y.json()).user : y.status === 401 ? e.value = null : console.error(y.statusText);
144
166
  },
145
167
  () => {
146
168
  }
147
169
  ).finally(() => {
148
- e.value = !1, c.promise = null;
170
+ s.value = !1, u.promise = null;
149
171
  });
150
172
  }
151
- c.promise = null;
152
- async function b(f = "github") {
153
- e.value = !0;
154
- const i = `${a.url}/auth/${f}/redirect`, p = 400, x = 600, R = window.screenX + (window.innerWidth - p) / 2, U = window.screenY + (window.innerHeight - x) / 2, $ = window.open(
173
+ u.promise = null;
174
+ async function m(_ = "github") {
175
+ s.value = !0;
176
+ const y = `${i.url}/auth/${_}/redirect`, $ = 400, z = 600, T = window.screenX + (window.innerWidth - $) / 2, te = window.screenY + (window.innerHeight - z) / 2, Z = window.open(
155
177
  "",
156
178
  "vuetify:authorize:popup",
157
- `popup,left=${R},top=${U},width=${p},height=${x},resizable`
179
+ `popup,left=${T},top=${te},width=${$},height=${z},resizable`
158
180
  );
159
- if (!$) {
181
+ if (!Z) {
160
182
  console.error("Failed to open popup");
161
183
  return;
162
184
  }
163
- $.location.href = i;
164
- let q = -1, H = -1;
165
- function P(s) {
166
- var l;
167
- s.origin === a.url && ((l = s.data) == null ? void 0 : l.type) === "auth-response" && (s.data.status === "success" ? (t.value || localStorage.setItem("vuetify@lastLoginProvider", f), t.value = s.data.body.user, r.push("/user/dashboard/"), m()) : console.error(s.data.message), E());
185
+ Z.location.href = y;
186
+ let Ve = -1, ce = -1;
187
+ function ue(g) {
188
+ var L;
189
+ g.origin === i.url && ((L = g.data) == null ? void 0 : L.type) === "auth-response" && (g.data.status === "success" ? (e.value || localStorage.setItem("vuetify@lastLoginProvider", _), e.value = g.data.body.user, l.push("/user/dashboard/"), v()) : console.error(g.data.message), ae());
168
190
  }
169
- function E() {
170
- window.removeEventListener("message", P), window.clearInterval(q), window.clearTimeout(H), $ == null || $.close(), e.value = !1;
191
+ function ae() {
192
+ window.removeEventListener("message", ue), window.clearInterval(Ve), window.clearTimeout(ce), Z == null || Z.close(), s.value = !1;
171
193
  }
172
- window.addEventListener("message", P), q = window.setInterval(() => {
173
- !$ || $.closed ? (console.error("Auth popup closed"), E()) : $.postMessage({ type: "auth-request" }, "*");
174
- }, 1e3), H = window.setTimeout(() => {
175
- E(), console.error("Auth timed out");
194
+ window.addEventListener("message", ue), Ve = window.setInterval(() => {
195
+ !Z || Z.closed ? (console.error("Auth popup closed"), ae()) : Z.postMessage({ type: "auth-request" }, "*");
196
+ }, 1e3), ce = window.setTimeout(() => {
197
+ ae(), console.error("Auth timed out");
176
198
  }, 120 * 1e3);
177
199
  }
178
- async function v(f) {
179
- e.value = !0;
180
- const i = f ? `/auth/${f}/logout` : "/auth/logout";
200
+ async function b(_) {
201
+ s.value = !0;
202
+ const y = _ ? `/auth/${_}/logout` : "/auth/logout";
181
203
  try {
182
- await a.post(i), await c(!0), t.value = null;
183
- } catch (p) {
184
- console.error(p);
204
+ await i.post(y), await u(!0), e.value = null;
205
+ } catch ($) {
206
+ console.error($);
185
207
  } finally {
186
- r.push("/"), e.value = !1;
208
+ l.push("/"), s.value = !1;
187
209
  }
188
210
  }
189
- function w(f) {
190
- var i;
191
- return (i = t.value) == null ? void 0 : i.identities.find((p) => p.provider === f);
211
+ function V(_) {
212
+ var y;
213
+ return (y = e.value) == null ? void 0 : y.identities.find(($) => $.provider === _);
192
214
  }
193
- function V() {
215
+ function C() {
194
216
  return localStorage.getItem("vuetify@lastLoginProvider");
195
217
  }
196
- return c(), {
197
- user: t,
198
- url: a.url,
199
- dialog: o,
200
- isLoading: e,
201
- findIdentity: w,
202
- verify: c,
203
- login: b,
204
- logout: v,
205
- isSubscriber: d,
206
- lastLoginProvider: V,
207
- sync: m
218
+ return u(), {
219
+ user: e,
220
+ url: i.url,
221
+ dialog: p,
222
+ isLoading: s,
223
+ findIdentity: V,
224
+ verify: u,
225
+ login: m,
226
+ logout: b,
227
+ isSubscriber: r,
228
+ lastLoginProvider: C,
229
+ sync: v
230
+ };
231
+ }), ko = { class: "text-body-2" }, xo = /* @__PURE__ */ h("div", { class: "text-caption mt-n1" }, "Last Used", -1), at = /* @__PURE__ */ k({
232
+ __name: "VoAuthDiscord",
233
+ setup(p) {
234
+ const e = F(), i = w(() => e.user && e.findIdentity("discord")), n = w(() => e.user ? i.value ? "Connected to Discord" : "Connect Discord" : "Login with Discord");
235
+ return (l, s) => (d(), f(_e, {
236
+ "prepend-icon": `svg:${t(He)}`,
237
+ "base-color": "#5865F2",
238
+ rounded: "pill",
239
+ variant: "flat",
240
+ slim: "",
241
+ onClick: s[0] || (s[0] = (r) => t(e).login("discord"))
242
+ }, G({
243
+ title: a(() => [
244
+ h("span", ko, I(n.value), 1)
245
+ ]),
246
+ _: 2
247
+ }, [
248
+ !t(e).user && t(e).lastLoginProvider() === "discord" ? {
249
+ name: "subtitle",
250
+ fn: a(() => [
251
+ xo
252
+ ]),
253
+ key: "0"
254
+ } : void 0
255
+ ]), 1032, ["prepend-icon"]));
256
+ }
257
+ }), $o = { class: "text-body-2" }, wo = /* @__PURE__ */ h("div", { class: "text-caption mt-n1" }, "Last Used", -1), it = /* @__PURE__ */ k({
258
+ __name: "VoAuthGithub",
259
+ setup(p) {
260
+ const e = F(), i = w(() => e.user && e.findIdentity("github")), n = w(() => e.user ? i.value ? "Connected to GitHub" : "Connect GitHub" : "Login with GitHub");
261
+ return (l, s) => (d(), f(_e, {
262
+ "prepend-icon": `svg:${t(Ee)}`,
263
+ "base-color": "#2a2a2a",
264
+ rounded: "pill",
265
+ variant: "flat",
266
+ slim: "",
267
+ onClick: s[0] || (s[0] = (r) => t(e).login("github"))
268
+ }, G({
269
+ title: a(() => [
270
+ h("span", $o, I(n.value), 1)
271
+ ]),
272
+ _: 2
273
+ }, [
274
+ !t(e).user && t(e).lastLoginProvider() === "github" ? {
275
+ name: "subtitle",
276
+ fn: a(() => [
277
+ wo
278
+ ]),
279
+ key: "0"
280
+ } : void 0
281
+ ]), 1032, ["prepend-icon"]));
282
+ }
283
+ }), So = { class: "text-center" }, Co = { class: "text-center mb-6" }, Lo = { class: "font-weight-light mb-2" }, Io = /* @__PURE__ */ h("span", { class: "font-weight-bold" }, "Vuetify One", -1), lt = /* @__PURE__ */ k({
284
+ __name: "VoAuthCard",
285
+ setup(p) {
286
+ const e = F();
287
+ return (i, n) => {
288
+ const l = it, s = at;
289
+ return d(), f(M, {
290
+ class: "pt-6 pb-8 px-4 px-sm-8 mx-auto",
291
+ "max-width": "480"
292
+ }, {
293
+ default: a(() => [
294
+ h("div", So, [
295
+ o(ne, {
296
+ image: "https://vuetifyjs.b-cdn.net/docs/images/avatars/one.png",
297
+ class: "mx-auto",
298
+ size: "64"
299
+ }, null, 8, ["image"])
300
+ ]),
301
+ h("div", Co, [
302
+ o(ao, { class: "text-h5 mb-1 text-md-h4" }, {
303
+ default: a(() => [
304
+ h("div", Lo, I(t(e).lastLoginProvider() ? "Welcome back to" : "Login to"), 1),
305
+ Io
306
+ ]),
307
+ _: 1
308
+ }),
309
+ o(io, { class: "text-wrap" }, {
310
+ default: a(() => [
311
+ B(" Login with GitHub or Discord to save your settings and unlock exclusive subscriber perks. ")
312
+ ]),
313
+ _: 1
314
+ })
315
+ ]),
316
+ o(ee, {
317
+ class: "mx-auto",
318
+ "max-width": "300",
319
+ width: "100%"
320
+ }, {
321
+ default: a(() => [
322
+ o(l, { class: "mb-3" }),
323
+ o(s)
324
+ ]),
325
+ _: 1
326
+ })
327
+ ]),
328
+ _: 1
329
+ });
330
+ };
331
+ }
332
+ }), rt = /* @__PURE__ */ k({
333
+ __name: "VoAuthDialog",
334
+ setup(p) {
335
+ const e = F();
336
+ return (i, n) => {
337
+ const l = lt;
338
+ return d(), f(tt, {
339
+ modelValue: t(e).dialog,
340
+ "onUpdate:modelValue": n[0] || (n[0] = (s) => t(e).dialog = s),
341
+ "max-width": "480"
342
+ }, {
343
+ default: a(() => [
344
+ o(l)
345
+ ]),
346
+ _: 1
347
+ }, 8, ["modelValue"]);
348
+ };
349
+ }
350
+ }), De = X("notifications", () => {
351
+ const p = ge(), e = O(), i = H([]), n = D(!1), l = w(() => i.value.filter((c) => !e.notifications.read.includes(c.slug))), s = w(() => i.value.filter((c) => e.notifications.read.includes(c.slug)));
352
+ async function r() {
353
+ try {
354
+ n.value = !0;
355
+ const c = await p.get("/one/notifications");
356
+ i.value = c.notifications;
357
+ } catch {
358
+ } finally {
359
+ n.value = !1;
360
+ }
361
+ return i.value;
362
+ }
363
+ return {
364
+ isLoading: n,
365
+ all: i,
366
+ get: r,
367
+ read: s,
368
+ unread: l
208
369
  };
370
+ }), Ao = /* @__PURE__ */ k({
371
+ __name: "VoNotificationsTotalBadge",
372
+ setup(p) {
373
+ const e = F(), i = De(), n = O(), l = w(() => n.notifications.show ? i.unread.length : 0);
374
+ return (s, r) => (d(), f(Ge, {
375
+ content: l.value,
376
+ dot: !!t(e).user,
377
+ "model-value": l.value > 0,
378
+ color: "error",
379
+ location: "start top"
380
+ }, {
381
+ default: a(() => [
382
+ R(s.$slots, "default")
383
+ ]),
384
+ _: 3
385
+ }, 8, ["content", "dot", "model-value"]));
386
+ }
387
+ }), se = /* @__PURE__ */ k({
388
+ __name: "VoBtn",
389
+ props: {
390
+ readonly: { type: Boolean }
391
+ },
392
+ setup(p) {
393
+ const e = p;
394
+ return (i, n) => (d(), f(E, {
395
+ style: Qe({
396
+ pointerEvents: e.readonly ? "none" : void 0
397
+ }),
398
+ tabindex: e.readonly ? -1 : void 0,
399
+ class: "text-none font-weight-regular",
400
+ color: "primary",
401
+ size: "small",
402
+ variant: "flat"
403
+ }, G({
404
+ loader: a(() => [
405
+ i.$slots.loader ? x("", !0) : (d(), f(lo, {
406
+ key: 0,
407
+ indeterminate: "disable-shrink",
408
+ size: "16",
409
+ width: "2"
410
+ })),
411
+ R(i.$slots, "loader")
412
+ ]),
413
+ _: 2
414
+ }, [
415
+ i.$slots.default ? {
416
+ name: "default",
417
+ fn: a(() => [
418
+ R(i.$slots, "default")
419
+ ]),
420
+ key: "0"
421
+ } : void 0
422
+ ]), 1032, ["style", "tabindex"]));
423
+ }
424
+ }), Do = { class: "pa-4 d-flex flex-column ga-4" }, ct = /* @__PURE__ */ k({
425
+ __name: "VoAuthListItem",
426
+ setup(p) {
427
+ const e = F(), i = O(), n = D(!e.user && !e.isLoading);
428
+ N(() => e.user, (s) => {
429
+ n.value = !s;
430
+ });
431
+ function l() {
432
+ e.user && (n.value = !n.value);
433
+ }
434
+ return (s, r) => {
435
+ const c = it, v = at;
436
+ return d(), f(M, {
437
+ variant: n.value ? "tonal" : "text",
438
+ class: "ma-2",
439
+ rounded: "lg"
440
+ }, {
441
+ default: a(() => [
442
+ o(ee, { class: "py-0" }, {
443
+ default: a(() => [
444
+ o(_e, {
445
+ link: !!t(e).user,
446
+ "prepend-icon": `svg:${t(e).user && t(i).syncSettings ? t(Vt) : t(kt)}`,
447
+ title: t(e).user && t(i).syncSettings ? "Sync is on" : "Sync is paused",
448
+ class: "mb-0",
449
+ rounded: "b-0",
450
+ nav: "",
451
+ slim: "",
452
+ onClick: l
453
+ }, {
454
+ append: a(() => [
455
+ o($e, null, {
456
+ default: a(() => [
457
+ t(e).user && (n.value || !t(i).syncSettings) ? (d(), f(ot, {
458
+ key: 0,
459
+ modelValue: t(i).syncSettings,
460
+ "onUpdate:modelValue": r[0] || (r[0] = (u) => t(i).syncSettings = u),
461
+ color: t(i).syncSettings ? "success" : void 0,
462
+ density: "compact",
463
+ "hide-details": "",
464
+ inset: "",
465
+ onClick: r[1] || (r[1] = Te(() => {
466
+ }, ["stop"]))
467
+ }, {
468
+ thumb: a(() => [
469
+ o(ne, {
470
+ color: t(i).syncSettings ? "success" : void 0
471
+ }, null, 8, ["color"])
472
+ ]),
473
+ _: 1
474
+ }, 8, ["modelValue", "color"])) : x("", !0)
475
+ ]),
476
+ _: 1
477
+ })
478
+ ]),
479
+ _: 1
480
+ }, 8, ["link", "prepend-icon", "title"]),
481
+ o(he, null, {
482
+ default: a(() => [
483
+ !t(e).user && !t(e).isLoading || n.value ? (d(), f(qe, {
484
+ key: 0,
485
+ border: "t",
486
+ color: "transparent"
487
+ }, {
488
+ default: a(() => [
489
+ h("div", Do, [
490
+ o(c, {
491
+ onClick: r[2] || (r[2] = (u) => n.value = !1)
492
+ }),
493
+ o(v, {
494
+ onClick: r[3] || (r[3] = (u) => n.value = !1)
495
+ })
496
+ ])
497
+ ]),
498
+ _: 1
499
+ })) : x("", !0)
500
+ ]),
501
+ _: 1
502
+ })
503
+ ]),
504
+ _: 1
505
+ })
506
+ ]),
507
+ _: 1
508
+ }, 8, ["variant"]);
509
+ };
510
+ }
511
+ }), Y = /* @__PURE__ */ k({
512
+ __name: "VoListItem",
513
+ setup(p) {
514
+ return (e, i) => (d(), f(_e, { slim: "" }, G({
515
+ default: a(() => [
516
+ R(e.$slots, "default")
517
+ ]),
518
+ _: 2
519
+ }, [
520
+ e.$slots.prepend ? {
521
+ name: "prepend",
522
+ fn: a(() => [
523
+ R(e.$slots, "prepend")
524
+ ]),
525
+ key: "0"
526
+ } : void 0,
527
+ e.$slots.title ? {
528
+ name: "title",
529
+ fn: a(() => [
530
+ R(e.$slots, "title")
531
+ ]),
532
+ key: "1"
533
+ } : void 0,
534
+ e.$slots.append ? {
535
+ name: "append",
536
+ fn: a(() => [
537
+ R(e.$slots, "append")
538
+ ]),
539
+ key: "2"
540
+ } : void 0
541
+ ]), 1024));
542
+ }
543
+ }), Uo = /* @__PURE__ */ k({
544
+ __name: "VoAuthLogoutListItem",
545
+ setup(p) {
546
+ const e = F(), i = D(!1);
547
+ async function n() {
548
+ i.value = !0, await e.logout(), i.value = !1;
549
+ }
550
+ return (l, s) => {
551
+ const r = Y;
552
+ return d(), f(r, {
553
+ disabled: i.value,
554
+ loading: i.value,
555
+ "prepend-icon": `svg:${t(xt)}`,
556
+ class: "mb-0",
557
+ title: "Logout",
558
+ link: "",
559
+ onClick: n
560
+ }, null, 8, ["disabled", "loading", "prepend-icon"]);
561
+ };
562
+ }
563
+ }), Ue = /* @__PURE__ */ k({
564
+ __name: "VoDialog",
565
+ props: /* @__PURE__ */ ft({
566
+ prependIcon: {},
567
+ title: {}
568
+ }, {
569
+ modelValue: { type: Boolean },
570
+ modelModifiers: {}
571
+ }),
572
+ emits: ["update:modelValue"],
573
+ setup(p) {
574
+ const e = ie(p, "modelValue"), i = re(), n = D(!1);
575
+ return (l, s) => (d(), f(tt, {
576
+ modelValue: e.value,
577
+ "onUpdate:modelValue": s[2] || (s[2] = (r) => e.value = r),
578
+ fullscreen: n.value || t(i).xs.value,
579
+ "max-height": n.value || t(i).xs.value ? "100%" : 800,
580
+ "max-width": n.value || t(i).xs.value ? "100%" : 800,
581
+ activator: "parent",
582
+ height: "100%"
583
+ }, {
584
+ default: a(({ isActive: r }) => [
585
+ o(M, {
586
+ "prepend-icon": l.prependIcon,
587
+ title: l.title,
588
+ class: "overflow-hidden",
589
+ height: "inherit"
590
+ }, G({
591
+ append: a(() => [
592
+ R(l.$slots, "append"),
593
+ t(i).xs.value ? x("", !0) : (d(), f(E, {
594
+ key: 0,
595
+ icon: `svg:${n.value ? t($t) : t(wt)}`,
596
+ class: "me-2",
597
+ density: "comfortable",
598
+ size: "small",
599
+ variant: "text",
600
+ onClick: s[0] || (s[0] = (c) => n.value = !n.value)
601
+ }, null, 8, ["icon"])),
602
+ o(E, {
603
+ density: "comfortable",
604
+ icon: "$close",
605
+ size: "small",
606
+ variant: "text",
607
+ onClick: s[1] || (s[1] = (c) => e.value = !e.value)
608
+ })
609
+ ]),
610
+ default: a(() => [
611
+ o(W, { class: "mt-4" }),
612
+ R(l.$slots, "default")
613
+ ]),
614
+ _: 2
615
+ }, [
616
+ l.$slots.prepend ? {
617
+ name: "prepend",
618
+ fn: a(() => [
619
+ R(l.$slots, "prepend")
620
+ ]),
621
+ key: "0"
622
+ } : void 0,
623
+ l.$slots.actions ? {
624
+ name: "actions",
625
+ fn: a(() => [
626
+ R(l.$slots, "actions", { isActive: r })
627
+ ]),
628
+ key: "1"
629
+ } : void 0
630
+ ]), 1032, ["prepend-icon", "title"])
631
+ ]),
632
+ _: 3
633
+ }, 8, ["modelValue", "fullscreen", "max-height", "max-width"]));
634
+ }
635
+ }), ut = /* @__PURE__ */ k({
636
+ __name: "VoSwitch",
637
+ props: {
638
+ disabled: { type: Boolean }
639
+ },
640
+ setup(p) {
641
+ return (e, i) => (d(), f(ot, {
642
+ disabled: e.disabled,
643
+ "true-icon": `svg:${t(le)}`,
644
+ color: "primary",
645
+ density: "compact",
646
+ inset: ""
647
+ }, G({
648
+ thumb: a(() => [
649
+ o(A, {
650
+ color: e.disabled ? void 0 : "primary"
651
+ }, null, 8, ["color"])
652
+ ]),
653
+ _: 2
654
+ }, [
655
+ e.$slots.label ? {
656
+ name: "label",
657
+ fn: a(() => [
658
+ R(e.$slots, "label")
659
+ ]),
660
+ key: "0"
661
+ } : void 0
662
+ ]), 1032, ["disabled", "true-icon"]));
663
+ }
664
+ }), Bo = {
665
+ key: 1,
666
+ class: "mb-3 text-caption text-medium-emphasis"
667
+ }, be = /* @__PURE__ */ k({
668
+ __name: "VoDialogSubheader",
669
+ props: {
670
+ title: {},
671
+ text: {}
672
+ },
673
+ setup(p) {
674
+ return (e, i) => (d(), S(U, null, [
675
+ e.title ? (d(), f(ze, {
676
+ key: 0,
677
+ class: "font-weight-black"
678
+ }, {
679
+ default: a(() => [
680
+ B(I(e.title), 1)
681
+ ]),
682
+ _: 1
683
+ })) : x("", !0),
684
+ e.text ? (d(), S("div", Bo, I(e.text), 1)) : x("", !0)
685
+ ], 64));
686
+ }
687
+ }), No = { key: 0 }, Oo = /* @__PURE__ */ k({
688
+ __name: "VoSettingsPageSuitOption",
689
+ setup(p) {
690
+ const e = O(), i = [
691
+ {
692
+ title: "Choose a page suit",
693
+ value: "",
694
+ disabled: !0
695
+ },
696
+ {
697
+ title: "Blackguard",
698
+ prependIcon: `svg:${Je}`,
699
+ value: "blackguard"
700
+ }
701
+ // {
702
+ // title: 'Polaris',
703
+ // prependIcon: `svg:${mdiImageFilterHdr}`,
704
+ // value: 'polaris',
705
+ // },
706
+ // {
707
+ // title: 'Nebula',
708
+ // prependIcon: `svg:${mdiRocketLaunchOutline}`,
709
+ // value: 'nebula',
710
+ // },
711
+ ];
712
+ return (n, l) => {
713
+ const s = ut, r = be;
714
+ return d(), S(U, null, [
715
+ o(s, {
716
+ modelValue: t(e).suits.show,
717
+ "onUpdate:modelValue": l[0] || (l[0] = (c) => t(e).suits.show = c),
718
+ class: "mb-2",
719
+ label: "Enable Page suits",
720
+ messages: "Customize layout elements with a unique background, styled after one of our themed releases."
721
+ }, null, 8, ["modelValue"]),
722
+ o(he, null, {
723
+ default: a(() => [
724
+ t(e).suits.show ? (d(), S("div", No, [
725
+ o(po, {
726
+ modelValue: t(e).suits.suit,
727
+ "onUpdate:modelValue": l[1] || (l[1] = (c) => t(e).suits.suit = c),
728
+ items: i,
729
+ density: "compact",
730
+ placeholder: "Choose a page suit",
731
+ style: { "max-width": "300px" },
732
+ variant: "outlined",
733
+ clearable: "",
734
+ "item-props": "",
735
+ "single-line": ""
736
+ }, {
737
+ selection: a(({ item: c }) => [
738
+ o(A, {
739
+ icon: c.props.prependIcon,
740
+ size: "x-small",
741
+ start: ""
742
+ }, null, 8, ["icon"]),
743
+ B(" " + I(c.title), 1)
744
+ ]),
745
+ _: 1
746
+ }, 8, ["modelValue"]),
747
+ o(r, { text: "Select your suit elements to display the background image:" }),
748
+ o(uo, {
749
+ modelValue: t(e).suits.elements,
750
+ "onUpdate:modelValue": l[2] || (l[2] = (c) => t(e).suits.elements = c),
751
+ color: "primary",
752
+ filter: "",
753
+ multiple: ""
754
+ }, {
755
+ default: a(() => [
756
+ o(q, {
757
+ "append-icon": `svg:${t(St)}`,
758
+ "filter-icon": "$success",
759
+ text: "App Bar",
760
+ value: "app-bar",
761
+ variant: "flat"
762
+ }, {
763
+ append: a(() => [
764
+ o(W, {
765
+ class: "ms-2 border-opacity-50",
766
+ vertical: ""
767
+ }),
768
+ o(A, { size: "x-small" })
769
+ ]),
770
+ _: 1
771
+ }, 8, ["append-icon"]),
772
+ o(q, {
773
+ "append-icon": `svg:${t(Ct)}`,
774
+ "filter-icon": "$success",
775
+ text: "Navigation Drawer",
776
+ value: "drawer",
777
+ variant: "flat"
778
+ }, {
779
+ append: a(() => [
780
+ o(W, {
781
+ class: "ms-2 border-opacity-50",
782
+ vertical: ""
783
+ }),
784
+ o(A, { size: "x-small" })
785
+ ]),
786
+ _: 1
787
+ }, 8, ["append-icon"]),
788
+ o(q, {
789
+ "append-icon": "$info",
790
+ "filter-icon": "$success",
791
+ text: "Footer",
792
+ value: "footer",
793
+ variant: "flat"
794
+ }, {
795
+ append: a(() => [
796
+ o(W, {
797
+ class: "ms-2 border-opacity-50",
798
+ vertical: ""
799
+ }),
800
+ o(A, { size: "x-small" })
801
+ ]),
802
+ _: 1
803
+ })
804
+ ]),
805
+ _: 1
806
+ }, 8, ["modelValue"])
807
+ ])) : x("", !0)
808
+ ]),
809
+ _: 1
810
+ })
811
+ ], 64);
812
+ };
813
+ }
209
814
  });
210
- /*!
211
- * vue-router v4.3.0
212
- * (c) 2024 Eduardo San Martin Morote
213
- * @license MIT
214
- */
215
- var ee;
216
- (function(o) {
217
- o.pop = "pop", o.push = "push";
218
- })(ee || (ee = {}));
219
- var te;
220
- (function(o) {
221
- o.back = "back", o.forward = "forward", o.unknown = "";
222
- })(te || (te = {}));
223
- Symbol(process.env.NODE_ENV !== "production" ? "navigation failure" : "");
224
- var ne;
225
- (function(o) {
226
- o[o.aborted = 4] = "aborted", o[o.cancelled = 8] = "cancelled", o[o.duplicated = 16] = "duplicated";
227
- })(ne || (ne = {}));
228
- Symbol(process.env.NODE_ENV !== "production" ? "router view location matched" : "");
229
- Symbol(process.env.NODE_ENV !== "production" ? "router view depth" : "");
230
- Symbol(process.env.NODE_ENV !== "production" ? "router" : "");
231
- const Pe = Symbol(process.env.NODE_ENV !== "production" ? "route location" : "");
232
- Symbol(process.env.NODE_ENV !== "production" ? "router view location" : "");
233
- function ze() {
234
- return fe(Pe);
235
- }
236
- function Me() {
237
- const o = ze();
238
- return g(
239
- () => o.query
815
+ function ye() {
816
+ const p = yt();
817
+ return w(
818
+ () => p.query
240
819
  );
241
820
  }
242
- const qe = D("one", () => {
243
- const o = Me(), t = o.value.session_id, a = Z(), n = I(), r = J(), e = B(!1), d = L(!1), y = L(), m = L([]), c = g(() => {
244
- var s;
245
- return (s = y.value) == null ? void 0 : s.items[0].plan.interval;
246
- }), b = g(() => {
247
- var s;
248
- return (s = n.user) == null ? void 0 : s.sponsorships.find((l) => l.platform === "stripe" && l.tierName.startsWith("sub_"));
249
- }), v = g(() => {
250
- var s;
251
- return !!((s = b.value) != null && s.tierName);
252
- }), w = g(() => {
253
- var s;
254
- return (s = b.value) == null ? void 0 : s.isActive;
255
- }), V = g(() => {
256
- var s;
257
- return (s = n.user) == null ? void 0 : s.sponsorships.find((l) => l.platform === "github");
258
- }), f = g(() => {
259
- var s;
260
- return (s = n.user) == null ? void 0 : s.sponsorships.find((l) => l.platform === "discord");
261
- }), i = g(() => {
262
- var s;
263
- return (s = n.user) == null ? void 0 : s.sponsorships.find((l) => l.platform === "patreon");
264
- }), p = g(() => {
265
- var s;
266
- return (s = n.user) == null ? void 0 : s.sponsorships.reduce((l, A) => {
267
- if (!A.isActive || A.interval === "once" || A.platform === "stripe")
268
- return l;
269
- const ce = A.interval === "month" ? A.amount : A.amount / 12;
270
- return l + ce / 100;
821
+ const j = X("one", () => {
822
+ const p = ye(), e = p.value.session_id, i = Pe(), n = F(), l = ge(), s = D(!1), r = H(!1), c = H(), v = H([]), u = w(() => {
823
+ var g;
824
+ return (g = c.value) == null ? void 0 : g.items[0].plan.interval;
825
+ }), m = w(() => {
826
+ var g;
827
+ return (g = n.user) == null ? void 0 : g.sponsorships.find((L) => L.platform === "stripe" && L.tierName.startsWith("sub_"));
828
+ }), b = w(() => {
829
+ var g;
830
+ return !!((g = m.value) != null && g.tierName);
831
+ }), V = w(() => {
832
+ var g;
833
+ return (g = m.value) == null ? void 0 : g.isActive;
834
+ }), C = w(() => {
835
+ var g;
836
+ return (g = n.user) == null ? void 0 : g.sponsorships.find((L) => L.platform === "github");
837
+ }), _ = w(() => {
838
+ var g;
839
+ return (g = n.user) == null ? void 0 : g.sponsorships.find((L) => L.platform === "discord");
840
+ }), y = w(() => {
841
+ var g;
842
+ return (g = n.user) == null ? void 0 : g.sponsorships.find((L) => L.platform === "patreon");
843
+ }), $ = w(() => {
844
+ var g;
845
+ return (g = n.user) == null ? void 0 : g.sponsorships.reduce((L, Q) => {
846
+ if (!Q.isActive || Q.interval === "once" || Q.platform === "stripe")
847
+ return L;
848
+ const dt = Q.interval === "month" ? Q.amount : Q.amount / 12;
849
+ return L + dt / 100;
271
850
  }, 0);
272
851
  });
273
- pe(async () => {
274
- t && await x();
275
- }), F(d, (s) => {
276
- s && E();
277
- }), F(o, (s) => {
278
- if (s.one !== "subscribe" || n.user)
852
+ vt(async () => {
853
+ e && await z();
854
+ }), N(r, (g) => {
855
+ g && ae();
856
+ }), N(p, (g) => {
857
+ if (g.one !== "subscribe" || n.user)
279
858
  return;
280
- console.log(s.one), n.dialog = !0;
281
- const l = F(() => n.user, (A) => {
282
- A && (n.dialog = !1, l());
859
+ console.log(g.one), n.dialog = !0;
860
+ const L = N(() => n.user, (Q) => {
861
+ Q && (n.dialog = !1, L());
283
862
  });
284
- }, { immediate: !0 }), F(w, (s, l) => {
285
- s === !1 && l !== !0 || H();
863
+ }, { immediate: !0 }), N(V, (g, L) => {
864
+ g === !1 && L !== !0 || ce();
286
865
  });
287
- async function x() {
866
+ async function z() {
288
867
  try {
289
- e.value = !0;
290
- const s = await r.post("/one/activate", { sessionId: t });
291
- n.user = s.user;
292
- const l = new URL(window.location.href);
293
- l.searchParams.delete("session_id"), history.pushState(null, "", l.toString()), P();
868
+ s.value = !0;
869
+ const g = await l.post("/one/activate", { sessionId: e });
870
+ n.user = g.user;
871
+ const L = new URL(window.location.href);
872
+ L.searchParams.delete("session_id"), history.pushState(null, "", L.toString()), ue();
294
873
  } catch {
295
874
  } finally {
296
- e.value = !1;
875
+ s.value = !1;
297
876
  }
298
877
  }
299
- async function R() {
300
- window.open(`${r.url}/one/manage`, "_blank");
878
+ async function T() {
879
+ window.open(`${l.url}/one/manage`, "_blank");
301
880
  }
302
- async function U(s) {
303
- e.value = !0, window.location.href = `${r.url}/one/subscribe?interval=${s}`;
881
+ async function te(g) {
882
+ s.value = !0, window.location.href = `${l.url}/one/subscribe?interval=${g}`;
304
883
  }
305
- async function $() {
306
- var s;
307
- if (b.value)
884
+ async function Z() {
885
+ var g;
886
+ if (m.value)
308
887
  try {
309
- e.value = !0;
310
- const l = await r.post(
311
- `/one/cancel?subscriptionId=${(s = b.value) == null ? void 0 : s.tierName}`
888
+ s.value = !0;
889
+ const L = await l.post(
890
+ `/one/cancel?subscriptionId=${(g = m.value) == null ? void 0 : g.tierName}`
312
891
  );
313
- n.user = l.user;
892
+ n.user = L.user;
314
893
  } catch {
315
894
  } finally {
316
- e.value = !1;
895
+ s.value = !1;
317
896
  }
318
897
  }
319
- async function q(s) {
320
- if (b.value)
898
+ async function Ve(g) {
899
+ if (m.value)
321
900
  try {
322
- e.value = !0;
323
- const l = await r.post("/one/modify", {
324
- subscriptionId: b.value.tierName,
325
- interval: s
901
+ s.value = !0;
902
+ const L = await l.post("/one/modify", {
903
+ subscriptionId: m.value.tierName,
904
+ interval: g
326
905
  });
327
- n.user = l.user;
906
+ n.user = L.user;
328
907
  } catch {
329
908
  } finally {
330
- e.value = !1;
909
+ s.value = !1;
331
910
  }
332
911
  }
333
- async function H() {
334
- var s;
335
- if (b.value)
912
+ async function ce() {
913
+ var g;
914
+ if (m.value)
336
915
  try {
337
- e.value = !0;
338
- const l = await r.post(
339
- `/one/verify?subscriptionId=${(s = b.value) == null ? void 0 : s.tierName}`
916
+ s.value = !0;
917
+ const L = await l.post(
918
+ `/one/verify?subscriptionId=${(g = m.value) == null ? void 0 : g.tierName}`
340
919
  );
341
- n.user = l.user;
920
+ n.user = L.user;
342
921
  } catch {
343
922
  } finally {
344
- e.value = !1;
923
+ s.value = !1;
345
924
  }
346
925
  }
347
- async function P() {
926
+ async function ue() {
348
927
  try {
349
- e.value = !0;
350
- const s = await r.get("/one/info");
351
- return y.value = s.subscription, m.value = s.invoices, s;
928
+ s.value = !0;
929
+ const g = await l.get("/one/info");
930
+ return c.value = g.subscription, v.value = g.invoices, g;
352
931
  } catch {
353
932
  } finally {
354
- e.value = !1;
933
+ s.value = !1;
355
934
  }
356
935
  }
357
- function E() {
358
- a.push({ query: {} });
936
+ function ae() {
937
+ i.push({ query: {} });
359
938
  }
360
939
  return {
361
- info: y,
362
- interval: c,
363
- invoices: m,
364
- sessionId: t,
365
- subscription: b,
366
- monthlyTotal: p,
367
- hasBilling: v,
368
- isLoading: e,
369
- isOpen: d,
370
- isSubscriber: w,
371
- github: V,
372
- patreon: i,
373
- discord: f,
374
- activate: x,
375
- cancel: $,
376
- manage: R,
377
- modify: q,
378
- resetQuery: E,
379
- subscribe: U,
380
- subscriptionInfo: P,
381
- verify: H
940
+ info: c,
941
+ interval: u,
942
+ invoices: v,
943
+ sessionId: e,
944
+ subscription: m,
945
+ monthlyTotal: $,
946
+ hasBilling: b,
947
+ isLoading: s,
948
+ isOpen: r,
949
+ isSubscriber: V,
950
+ github: C,
951
+ patreon: y,
952
+ discord: _,
953
+ activate: z,
954
+ cancel: Z,
955
+ manage: T,
956
+ modify: Ve,
957
+ resetQuery: ae,
958
+ subscribe: te,
959
+ subscriptionInfo: ue,
960
+ verify: ce
382
961
  };
383
- }), Ge = { key: 0 }, We = /* @__PURE__ */ j({
384
- __name: "VoAuthBtn",
385
- props: {
386
- external: Boolean
387
- },
388
- setup(o) {
389
- const t = I(), a = qe(), n = T(), { lgAndUp: r, mdAndDown: e } = se(), d = g(() => a.isOpen || !t.user ? n.colors.one === "surface-light" ? "primary" : n.colors.one : "surface-light");
390
- return (y, m) => {
391
- const c = N("VoUserMenu"), b = N("VoBtn"), v = N("VoNotificationsTotalBadge");
392
- return k(), S(v, {
393
- "offset-y": u(t).user ? 5 : 0
394
- }, {
395
- default: h(() => [
396
- _(b, Y({
397
- [`${u(r) ? "append-" : ""}icon`]: u(t).user ? void 0 : `svg:${u(we)}`
962
+ });
963
+ function Fo() {
964
+ return {
965
+ blackguard: {
966
+ dark: !0,
967
+ colors: {
968
+ background: "#0f0c24",
969
+ primary: "#e7810d",
970
+ surface: "#1e184a",
971
+ info: "#9c27b0",
972
+ accent: "#FF4081",
973
+ success: "#84b38a",
974
+ "surface-light": "#362b89",
975
+ "surface-bright": "#564f8a",
976
+ "surface-variant": "#6458b4",
977
+ "on-surface-variant": "#FFFFFF",
978
+ "primary-darken-1": "#c56e0b",
979
+ secondary: "#8A2BE2",
980
+ "secondary-darken-1": "#7919cb",
981
+ error: "#FF5555",
982
+ warning: "#ffa726"
983
+ },
984
+ variables: {
985
+ "border-color": "#FFFFFF",
986
+ "border-opacity": 0.12,
987
+ "high-emphasis-opacity": 0.87,
988
+ "medium-emphasis-opacity": 0.6,
989
+ "disabled-opacity": 0.38,
990
+ "idle-opacity": 0.1,
991
+ "hover-opacity": 0.08,
992
+ "focus-opacity": 0.12,
993
+ "selected-opacity": 0.12,
994
+ "activated-opacity": 0.12,
995
+ "pressed-opacity": 0.16,
996
+ "dragged-opacity": 0.08,
997
+ "theme-kbd": "#212529",
998
+ "theme-on-kbd": "#FFFFFF",
999
+ "theme-code": "#343434",
1000
+ "theme-on-code": "#CCCCCC"
1001
+ }
1002
+ },
1003
+ nebula: {
1004
+ dark: !0,
1005
+ colors: {
1006
+ background: "#0a0f1b",
1007
+ surface: "#1c1f2a",
1008
+ primary: "#4d5b9e",
1009
+ "primary-darken-1": "#424a8c",
1010
+ secondary: "#7a82d2",
1011
+ accent: "#00eaff",
1012
+ info: "#29b6f6",
1013
+ warning: "#ffeb3b",
1014
+ error: "#e91e63",
1015
+ success: "#4caf50",
1016
+ "on-surface-variant": "#5c6bc0",
1017
+ "surface-light": "#2a3c66",
1018
+ "secondary-darken-1": "#686f9a"
1019
+ },
1020
+ variables: {
1021
+ "border-color": "#FFFFFF",
1022
+ "border-opacity": 0.12,
1023
+ "high-emphasis-opacity": 0.87,
1024
+ "medium-emphasis-opacity": 0.6,
1025
+ "disabled-opacity": 0.38,
1026
+ "idle-opacity": 0.1,
1027
+ "hover-opacity": 0.08,
1028
+ "focus-opacity": 0.12,
1029
+ "selected-opacity": 0.12,
1030
+ "activated-opacity": 0.12,
1031
+ "pressed-opacity": 0.16,
1032
+ "dragged-opacity": 0.08,
1033
+ "theme-kbd": "#212529",
1034
+ "theme-on-kbd": "#FFFFFF",
1035
+ "theme-code": "#343434",
1036
+ "theme-on-code": "#CCCCCC"
1037
+ }
1038
+ },
1039
+ highContrast: {
1040
+ dark: !0,
1041
+ colors: {
1042
+ background: "#000000",
1043
+ surface: "#000000",
1044
+ primary: "#ffD700",
1045
+ "primary-darken-1": "#e6c300",
1046
+ secondary: "#00ff00",
1047
+ "secondary-darken-1": "#00e600",
1048
+ accent: "#ff00ff",
1049
+ info: "#31aaff",
1050
+ warning: "#ffaa00",
1051
+ error: "#ff0000",
1052
+ success: "#00ff00",
1053
+ "on-surface-variant": "#000000",
1054
+ "surface-light": "#f2f2f2",
1055
+ "surface-bright": "#e6e6e6",
1056
+ "surface-variant": "#cccccc"
1057
+ },
1058
+ variables: {
1059
+ "border-color": "#ffffff",
1060
+ "border-opacity": 0.87,
1061
+ "high-emphasis-opacity": 1,
1062
+ "medium-emphasis-opacity": 0.87,
1063
+ "disabled-opacity": 0.5,
1064
+ "idle-opacity": 0.1,
1065
+ "hover-opacity": 0.2,
1066
+ "focus-opacity": 0.3,
1067
+ "selected-opacity": 0.3,
1068
+ "activated-opacity": 0.3,
1069
+ "pressed-opacity": 0.4,
1070
+ "dragged-opacity": 0.2,
1071
+ "theme-kbd": "#000000",
1072
+ "theme-on-kbd": "#ffffff",
1073
+ "theme-code": "#000000",
1074
+ "theme-on-code": "#ffffff"
1075
+ }
1076
+ }
1077
+ };
1078
+ }
1079
+ const Be = X("settings", () => {
1080
+ const p = "https://cdn.vuetifyjs.com/docs/images/one/", e = F(), i = O(), n = co(), l = Fo(), s = {
1081
+ blackguard: {
1082
+ "app-bar": p + "suits/blackguard/blackguard-app-bar.png",
1083
+ drawer: p + "suits/blackguard/blackguard-app-drawer.png",
1084
+ footer: ""
1085
+ }
1086
+ // polaris: {
1087
+ // 'app-bar': '',
1088
+ // 'drawer': '',
1089
+ // footer: '',
1090
+ // },
1091
+ // nebula: {
1092
+ // 'app-bar': '',
1093
+ // 'drawer': '',
1094
+ // footer: '',
1095
+ // },
1096
+ }, r = w(() => {
1097
+ if (!i.suits.suit || !i.suits.show || !e.isSubscriber)
1098
+ return {};
1099
+ const c = s[i.suits.suit.toLowerCase()], v = {};
1100
+ for (const u of i.suits.elements)
1101
+ v[u] = c[u];
1102
+ return v;
1103
+ });
1104
+ return n.themes.value = {
1105
+ ...n.themes.value,
1106
+ ...l
1107
+ }, N(() => i.theme, (c) => {
1108
+ c === "system" ? n.global.name.value = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : n.global.name.value = c, i.theme = c;
1109
+ }, { immediate: !0 }), {
1110
+ suit: r,
1111
+ CDN_URL: p
1112
+ };
1113
+ }), zo = /* @__PURE__ */ k({
1114
+ __name: "VoSettingsDialog",
1115
+ props: {
1116
+ modelValue: { type: Boolean },
1117
+ modelModifiers: {}
1118
+ },
1119
+ emits: ["update:modelValue"],
1120
+ setup(p) {
1121
+ const e = ie(p, "modelValue"), i = F(), n = j(), l = Be(), s = O(), r = [
1122
+ {
1123
+ title: "Light",
1124
+ subtitle: "A standard light theme.",
1125
+ image: l.CDN_URL + "themes/light.png",
1126
+ prependIcon: `svg:${Lt}`,
1127
+ value: "light"
1128
+ },
1129
+ {
1130
+ title: "Dark",
1131
+ subtitle: "A standard dark theme.",
1132
+ image: l.CDN_URL + "themes/dark.png",
1133
+ prependIcon: `svg:${It}`,
1134
+ value: "dark"
1135
+ },
1136
+ {
1137
+ title: "System",
1138
+ subtitle: "A theme based on the system preference.",
1139
+ image: l.CDN_URL + "themes/system.png",
1140
+ prependIcon: `svg:${At}`,
1141
+ value: "system"
1142
+ },
1143
+ {
1144
+ title: "Blackguard",
1145
+ subtitle: "A theme for v3.4 Blackguard.",
1146
+ image: l.CDN_URL + "themes/blackguard.png",
1147
+ prependIcon: `svg:${Je}`,
1148
+ value: "blackguard"
1149
+ },
1150
+ {
1151
+ title: "Polaris",
1152
+ subtitle: "A theme for v3.5 Polaris.",
1153
+ image: l.CDN_URL + "themes/polaris.png",
1154
+ prependIcon: `svg:${Dt}`,
1155
+ value: "polaris",
1156
+ disabled: !0
1157
+ },
1158
+ {
1159
+ title: "Nebula",
1160
+ subtitle: "A theme for v3.6 Nebula.",
1161
+ image: l.CDN_URL + "themes/nebula.png",
1162
+ prependIcon: `svg:${Ut}`,
1163
+ value: "nebula",
1164
+ disabled: !0
1165
+ },
1166
+ {
1167
+ title: "High Contrast",
1168
+ subtitle: "A theme for high contrast.",
1169
+ image: l.CDN_URL + "themes/high-contrast.png",
1170
+ prependIcon: `svg:${Bt}`,
1171
+ value: "highContrast",
1172
+ disabled: !0
1173
+ }
1174
+ ], c = ye();
1175
+ return N(c, async () => {
1176
+ c.value.one === "settings" && (n.isOpen = !0, await fe(), e.value = !0);
1177
+ }, { immediate: !0 }), (v, u) => {
1178
+ const m = be, b = Oo, V = ut, C = Ue;
1179
+ return d(), f(C, {
1180
+ modelValue: e.value,
1181
+ "onUpdate:modelValue": u[5] || (u[5] = (_) => e.value = _),
1182
+ "prepend-icon": `svg:${t(Nt)}`,
1183
+ title: "Settings"
1184
+ }, {
1185
+ default: a(() => [
1186
+ o(Ie, null, {
1187
+ default: a(() => [
1188
+ o(Ae, { scrollable: "" }, {
1189
+ default: a(() => [
1190
+ o(K, { class: "px-7" }, {
1191
+ default: a(() => [
1192
+ o(m, {
1193
+ text: "Customize your documentation experience with light and dark themes, as well as a combination of both named.",
1194
+ title: "Theme"
1195
+ }),
1196
+ o(nt, {
1197
+ modelValue: t(s).theme,
1198
+ "onUpdate:modelValue": u[0] || (u[0] = (_) => t(s).theme = _),
1199
+ mandatory: ""
1200
+ }, {
1201
+ default: a(() => [
1202
+ o(Se, { dense: "" }, {
1203
+ default: a(() => [
1204
+ (d(), S(U, null, oe(r, (_, y) => o(me, {
1205
+ key: y,
1206
+ cols: "12",
1207
+ md: "6"
1208
+ }, {
1209
+ default: a(() => [
1210
+ o(je, {
1211
+ value: _.value
1212
+ }, {
1213
+ default: a(({ toggle: $, isSelected: z }) => [
1214
+ o(Ce, null, {
1215
+ default: a(({ props: T, isHovering: te }) => [
1216
+ o(M, P({
1217
+ color: z ? "primary" : "surface-variant",
1218
+ disabled: _.disabled,
1219
+ image: _.image,
1220
+ "prepend-icon": _.prependIcon,
1221
+ ripple: !_.disabled,
1222
+ subtitle: _.disabled ? "In Development" : _.subtitle,
1223
+ title: _.title,
1224
+ height: "76",
1225
+ variant: "tonal"
1226
+ }, T, { onClick: $ }), {
1227
+ image: a(() => [
1228
+ o(Le, {
1229
+ style: Qe({
1230
+ filter: z || te ? "none" : "grayscale(100%)"
1231
+ })
1232
+ }, null, 8, ["style"])
1233
+ ]),
1234
+ _: 2
1235
+ }, 1040, ["color", "disabled", "image", "prepend-icon", "ripple", "subtitle", "title", "onClick"])
1236
+ ]),
1237
+ _: 2
1238
+ }, 1024)
1239
+ ]),
1240
+ _: 2
1241
+ }, 1032, ["value"])
1242
+ ]),
1243
+ _: 2
1244
+ }, 1024)), 64))
1245
+ ]),
1246
+ _: 1
1247
+ })
1248
+ ]),
1249
+ _: 1
1250
+ }, 8, ["modelValue"]),
1251
+ t(i).isSubscriber ? (d(), S(U, { key: 0 }, [
1252
+ o(W, { class: "mt-6 mb-4" }),
1253
+ o(b)
1254
+ ], 64)) : x("", !0)
1255
+ ]),
1256
+ _: 1
1257
+ }),
1258
+ o(W),
1259
+ o(K, { class: "px-7" }, {
1260
+ default: a(() => [
1261
+ o(m, {
1262
+ text: "These options change your browsing experience within Vuetify properties",
1263
+ title: "Experience"
1264
+ }),
1265
+ t(i).isSubscriber ? (d(), f(V, {
1266
+ key: 0,
1267
+ modelValue: t(s).disableAds,
1268
+ "onUpdate:modelValue": u[1] || (u[1] = (_) => t(s).disableAds = _),
1269
+ class: "mb-2",
1270
+ label: "Disable Ads",
1271
+ messages: "Disable traditional advertisements on all documentation pages."
1272
+ }, null, 8, ["modelValue"])) : x("", !0),
1273
+ o(V, {
1274
+ modelValue: t(s).quickbar,
1275
+ "onUpdate:modelValue": u[2] || (u[2] = (_) => t(s).quickbar = _),
1276
+ label: "Enable Quick Actions",
1277
+ messages: "Quick actions are located on the Vuetify One user menu and provide quick access to common tasks."
1278
+ }, null, 8, ["modelValue"])
1279
+ ]),
1280
+ _: 1
1281
+ }),
1282
+ o(W),
1283
+ t(i).isSubscriber ? (d(), f(K, {
1284
+ key: 0,
1285
+ class: "px-7"
1286
+ }, {
1287
+ default: a(() => [
1288
+ o(m, {
1289
+ text: "Vuetify will communicate with you through banners and notifications. You can disable these features here or reset your local notification cache.",
1290
+ title: "Communication"
1291
+ }),
1292
+ o(V, {
1293
+ modelValue: t(s).notifications.show,
1294
+ "onUpdate:modelValue": u[3] || (u[3] = (_) => t(s).notifications.show = _),
1295
+ class: "mb-2",
1296
+ label: "Enable Notifications",
1297
+ messages: "Notifications are short form messages that provide information about new releases, updates, and other important information."
1298
+ }, null, 8, ["modelValue"]),
1299
+ t(s).notifications.show ? (d(), f(V, {
1300
+ key: 0,
1301
+ modelValue: t(s).notifications.banners,
1302
+ "onUpdate:modelValue": u[4] || (u[4] = (_) => t(s).notifications.banners = _),
1303
+ class: "mb-2",
1304
+ label: "Enable Banners",
1305
+ messages: "Banners are located at the top of the screen and provide a callout for important information."
1306
+ }, null, 8, ["modelValue"])) : x("", !0)
1307
+ ]),
1308
+ _: 1
1309
+ })) : x("", !0)
1310
+ ]),
1311
+ _: 1
1312
+ })
1313
+ ]),
1314
+ _: 1
1315
+ })
1316
+ ]),
1317
+ _: 1
1318
+ }, 8, ["modelValue", "prepend-icon"]);
1319
+ };
1320
+ }
1321
+ }), jo = /* @__PURE__ */ k({
1322
+ __name: "VoSettingsListItem",
1323
+ setup(p) {
1324
+ const e = D(!1);
1325
+ return (i, n) => {
1326
+ const l = zo, s = Y;
1327
+ return d(), f(s, {
1328
+ active: e.value,
1329
+ "prepend-icon": `svg:${t(Ot)}`,
1330
+ title: "Settings",
1331
+ link: ""
1332
+ }, {
1333
+ default: a(() => [
1334
+ o(l, {
1335
+ modelValue: e.value,
1336
+ "onUpdate:modelValue": n[0] || (n[0] = (r) => e.value = r)
1337
+ }, null, 8, ["modelValue"])
1338
+ ]),
1339
+ _: 1
1340
+ }, 8, ["active", "prepend-icon"]);
1341
+ };
1342
+ }
1343
+ }), To = { class: "text-caption" }, Mo = /* @__PURE__ */ k({
1344
+ __name: "VoSubscriptionInvoices",
1345
+ setup(p) {
1346
+ const e = we(), i = j();
1347
+ return (n, l) => {
1348
+ const s = be;
1349
+ return d(), f(Se, null, {
1350
+ default: a(() => [
1351
+ o(me, { cols: "12" }, {
1352
+ default: a(() => [
1353
+ o(s, {
1354
+ text: "View and download your invoice history.",
1355
+ title: "Invoice History"
1356
+ }),
1357
+ o(M, {
1358
+ height: "450",
1359
+ rounded: "lg",
1360
+ border: ""
1361
+ }, {
1362
+ default: a(() => [
1363
+ o(mo, {
1364
+ items: t(i).invoices,
1365
+ loading: t(i).isLoading,
1366
+ sticky: ""
1367
+ }, {
1368
+ "item.date": a(({ item: r }) => [
1369
+ h("div", To, I(t(e).format(new Date(r.date * 1e3), "fullDateWithWeekday")), 1)
1370
+ ]),
1371
+ "item.amount": a(({ item: r }) => [
1372
+ B(" $" + I(r.amount / 100), 1)
1373
+ ]),
1374
+ "item.status": a(({ item: r }) => [
1375
+ o(q, {
1376
+ text: r.status,
1377
+ border: "success sm",
1378
+ class: "text-capitalize",
1379
+ color: "success",
1380
+ size: "small",
1381
+ variant: "tonal",
1382
+ label: ""
1383
+ }, null, 8, ["text"])
1384
+ ]),
1385
+ "item.pdf": a(({ item: r }) => [
1386
+ o(E, {
1387
+ href: r.pdf,
1388
+ icon: `svg:${t(Ft)}`,
1389
+ size: "small",
1390
+ target: "_blank",
1391
+ variant: "text"
1392
+ }, null, 8, ["href", "icon"])
1393
+ ]),
1394
+ _: 1
1395
+ }, 8, ["items", "loading"])
1396
+ ]),
1397
+ _: 1
1398
+ })
1399
+ ]),
1400
+ _: 1
1401
+ })
1402
+ ]),
1403
+ _: 1
1404
+ });
1405
+ };
1406
+ }
1407
+ }), Ro = { class: "d-flex align-center" }, Po = {
1408
+ key: "status",
1409
+ class: "text-capitalize hidden-sm-and-down"
1410
+ }, Ho = /* @__PURE__ */ h("span", { class: "mx-1 hidden-sm-and-down" }, "—", -1), Eo = { class: "me-1" }, Wo = { class: "text-medium-emphasis text-caption" }, Go = { class: "d-flex align-start justify-space-between text-caption py-2" }, qo = { class: "font-weight-bold" }, Zo = { class: "font-weight-bold" }, Yo = /* @__PURE__ */ k({
1411
+ __name: "VoSubscriptionStatus",
1412
+ emits: ["change:subscription"],
1413
+ setup(p, { emit: e }) {
1414
+ const i = we(), n = j(), l = e, s = w(() => {
1415
+ if (!n.info)
1416
+ return;
1417
+ const c = new Date(n.info.currentPeriodEnd * 1e3);
1418
+ return i.format(c, "keyboardDate");
1419
+ });
1420
+ async function r() {
1421
+ n.interval && (n.isLoading = !0, n.subscribe(n.interval));
1422
+ }
1423
+ return (c, v) => {
1424
+ const u = se;
1425
+ return d(), f(Se, null, {
1426
+ default: a(() => [
1427
+ o(me, { cols: "12" }, {
1428
+ default: a(() => {
1429
+ var m, b;
1430
+ return [
1431
+ o(M, {
1432
+ "prepend-icon": "$vuetify",
1433
+ rounded: "lg",
1434
+ title: "Subscription Status",
1435
+ border: "",
1436
+ flat: ""
1437
+ }, G({
1438
+ append: a(() => {
1439
+ var V;
1440
+ return [
1441
+ t(n).hasBilling && ((V = t(n).info) == null ? void 0 : V.status) === "canceled" ? (d(), f(u, {
1442
+ key: 0,
1443
+ loading: t(n).isLoading,
1444
+ class: "me-2",
1445
+ color: "success",
1446
+ "prepend-icon": "$success",
1447
+ text: "Activate",
1448
+ variant: "outlined",
1449
+ onClick: r
1450
+ }, null, 8, ["loading"])) : x("", !0),
1451
+ t(n).hasBilling ? (d(), f(u, {
1452
+ key: 1,
1453
+ loading: t(n).isLoading,
1454
+ "prepend-icon": `svg:${t(zt)}`,
1455
+ text: "Billing",
1456
+ onClick: t(n).manage
1457
+ }, null, 8, ["loading", "prepend-icon", "onClick"])) : x("", !0)
1458
+ ];
1459
+ }),
1460
+ _: 2
1461
+ }, [
1462
+ t(n).info ? {
1463
+ name: "subtitle",
1464
+ fn: a(() => [
1465
+ h("div", Ro, [
1466
+ h("span", Po, I(t(n).info.status), 1),
1467
+ t(n).info.items.length ? (d(), S(U, { key: 0 }, [
1468
+ Ho,
1469
+ h("span", Eo, [
1470
+ B(" $" + I(t(n).info.items[0].plan.amount / 100), 1),
1471
+ h("span", Wo, "/" + I(t(n).interval), 1)
1472
+ ]),
1473
+ o(u, {
1474
+ size: "x-small",
1475
+ text: "(Change Subscription)",
1476
+ variant: "text",
1477
+ onClick: v[0] || (v[0] = (V) => l("change:subscription"))
1478
+ })
1479
+ ], 64)) : x("", !0)
1480
+ ])
1481
+ ]),
1482
+ key: "0"
1483
+ } : {
1484
+ name: "subtitle",
1485
+ fn: a(() => [
1486
+ h("div", { class: "d-flex align-center" }, [
1487
+ o(Ye, {
1488
+ height: "16",
1489
+ type: "ossein",
1490
+ width: "40"
1491
+ }),
1492
+ h("span", { class: "mx-1" }, "—"),
1493
+ o(Ye, {
1494
+ height: "16",
1495
+ type: "ossein",
1496
+ width: "80"
1497
+ })
1498
+ ])
1499
+ ]),
1500
+ key: "1"
1501
+ }
1502
+ ]), 1024),
1503
+ h("div", Go, [
1504
+ h("div", null, [
1505
+ ((m = t(n).info) == null ? void 0 : m.status) === "active" ? (d(), S(U, { key: 0 }, [
1506
+ B(" Your plan renews on "),
1507
+ h("span", qo, I(t(i).format(s.value, "fullDateWithWeekday")), 1),
1508
+ B(". ")
1509
+ ], 64)) : (d(), S(U, { key: 1 }, [
1510
+ B(" Your plan ends on "),
1511
+ h("span", Zo, I(t(i).format((b = t(n).info) == null ? void 0 : b.currentPeriodEnd, "fullDateWithWeekday")), 1),
1512
+ B(". ")
1513
+ ], 64))
1514
+ ])
1515
+ ])
1516
+ ];
1517
+ }),
1518
+ _: 1
1519
+ })
1520
+ ]),
1521
+ _: 1
1522
+ });
1523
+ };
1524
+ }
1525
+ }), Qo = /* @__PURE__ */ h("div", { class: "mb-3 text-caption text-medium-emphasis" }, " The Vuetify One subscription comes with the following perks: ", -1), Jo = ["innerHTML"], Xo = /* @__PURE__ */ h("br", null, null, -1), Ko = /* @__PURE__ */ h("div", { class: "mb-3 text-caption text-medium-emphasis" }, " The following features are in development and coming soon: ", -1), en = ["innerHTML"], tn = /* @__PURE__ */ k({
1526
+ __name: "VoSubscriptionPerks",
1527
+ setup(p) {
1528
+ const e = [
1529
+ "Ad Free Experience on all Vuetify properties",
1530
+ 'Save and share code snippets with <a href="https://vbin.io/" target="_blank">VBin</a>',
1531
+ 'Pinned Navigation Items and Rail drawer in <a href="https://vuetifyjs.com/" target="_blank">Documentation</a>',
1532
+ "Customize Navigation components with Page Suits",
1533
+ "Custom Vuetify One menu avatar"
1534
+ ], i = [
1535
+ 'Special role in the <a href="https://discord.vuetifyjs.com/" target="_blank">Vuetify Discord</a>',
1536
+ 'Save and share your playgrounds with <a href="https://play.vuetifyjs.com" target="_blank">Vuetify Play</a>',
1537
+ "Receive a special label on GitHub created issues and pull requests"
1538
+ ], n = D(!1), l = j();
1539
+ return N(n, async (s) => {
1540
+ s && l.subscriptionInfo();
1541
+ }), (s, r) => {
1542
+ const c = Y;
1543
+ return d(), S(U, null, [
1544
+ o(ze, { class: "font-weight-black" }, {
1545
+ default: a(() => [
1546
+ B("Perks")
1547
+ ]),
1548
+ _: 1
1549
+ }),
1550
+ Qo,
1551
+ o(ee, {
1552
+ lines: !1,
1553
+ class: "py-0",
1554
+ density: "compact",
1555
+ nav: ""
1556
+ }, {
1557
+ default: a(() => [
1558
+ (d(), S(U, null, oe(e, (v, u) => o(c, {
1559
+ key: u,
1560
+ "prepend-icon": `svg:${t(le)}`,
1561
+ class: "mb-0"
1562
+ }, {
1563
+ prepend: a(() => [
1564
+ o(A, {
1565
+ class: "mx-n2",
1566
+ color: "success",
1567
+ size: "small"
1568
+ })
1569
+ ]),
1570
+ title: a(() => [
1571
+ h("div", { innerHTML: v }, null, 8, Jo)
1572
+ ]),
1573
+ _: 2
1574
+ }, 1032, ["prepend-icon"])), 64))
1575
+ ]),
1576
+ _: 1
1577
+ }),
1578
+ Xo,
1579
+ o(ze, { class: "font-weight-black" }, {
1580
+ default: a(() => [
1581
+ B("Up Next")
1582
+ ]),
1583
+ _: 1
1584
+ }),
1585
+ Ko,
1586
+ o(ee, {
1587
+ lines: !1,
1588
+ class: "py-0",
1589
+ density: "compact",
1590
+ nav: ""
1591
+ }, {
1592
+ default: a(() => [
1593
+ (d(), S(U, null, oe(i, (v, u) => o(c, {
1594
+ key: u,
1595
+ "prepend-icon": `svg:${t(jt)}`,
1596
+ class: "mb-0"
1597
+ }, {
1598
+ prepend: a(() => [
1599
+ o(A, {
1600
+ class: "mx-n2",
1601
+ size: "small"
1602
+ })
1603
+ ]),
1604
+ title: a(() => [
1605
+ h("div", { innerHTML: v }, null, 8, en)
1606
+ ]),
1607
+ _: 2
1608
+ }, 1032, ["prepend-icon"])), 64))
1609
+ ]),
1610
+ _: 1
1611
+ })
1612
+ ], 64);
1613
+ };
1614
+ }
1615
+ }), on = /* @__PURE__ */ k({
1616
+ __name: "VoSubscriptionSubscribe",
1617
+ props: {
1618
+ modelValue: {
1619
+ type: String
1620
+ },
1621
+ modelModifiers: {}
1622
+ },
1623
+ emits: ["update:modelValue"],
1624
+ setup(p) {
1625
+ const e = D(!1), i = ie(p, "modelValue"), n = j();
1626
+ return N(e, async (l) => {
1627
+ l && n.subscriptionInfo();
1628
+ }), N(() => n.interval, (l) => {
1629
+ i.value = l;
1630
+ }, { immediate: !0 }), (l, s) => (d(), f(nt, {
1631
+ modelValue: i.value,
1632
+ "onUpdate:modelValue": s[0] || (s[0] = (r) => i.value = r),
1633
+ mandatory: ""
1634
+ }, {
1635
+ default: a(() => [
1636
+ o(Se, null, {
1637
+ default: a(() => [
1638
+ o(me, {
1639
+ cols: "12",
1640
+ md: "6"
1641
+ }, {
1642
+ default: a(() => [
1643
+ o(je, { value: "month" }, {
1644
+ default: a(({ toggle: r, isSelected: c }) => [
1645
+ o(M, {
1646
+ border: c ? "sm primary opacity-100" : "sm",
1647
+ color: c ? "primary" : void 0,
1648
+ "prepend-icon": c ? `svg:${t(pe)}` : "$radioOff",
1649
+ variant: c ? "tonal" : "text",
1650
+ rounded: "lg",
1651
+ subtitle: "$2.99/month",
1652
+ title: "Monthly",
1653
+ onClick: r
1654
+ }, {
1655
+ prepend: a(() => [
1656
+ o(A, { class: "mt-n6" })
1657
+ ]),
1658
+ _: 2
1659
+ }, 1032, ["border", "color", "prepend-icon", "variant", "onClick"])
1660
+ ]),
1661
+ _: 1
1662
+ })
1663
+ ]),
1664
+ _: 1
1665
+ }),
1666
+ o(me, {
1667
+ cols: "12",
1668
+ md: "6"
1669
+ }, {
1670
+ default: a(() => [
1671
+ o(je, { value: "year" }, {
1672
+ default: a(({ toggle: r, isSelected: c }) => [
1673
+ o(M, {
1674
+ border: c ? "sm primary opacity-100" : "sm",
1675
+ color: c ? "primary" : void 0,
1676
+ "prepend-icon": c ? `svg:${t(pe)}` : "$radioOff",
1677
+ variant: c ? "tonal" : "text",
1678
+ rounded: "lg",
1679
+ subtitle: "$29.99/year",
1680
+ title: "Yearly",
1681
+ onClick: r
1682
+ }, {
1683
+ prepend: a(() => [
1684
+ o(A, { class: "mt-n6" })
1685
+ ]),
1686
+ append: a(() => [
1687
+ o(q, {
1688
+ class: "mt-n6",
1689
+ color: "success",
1690
+ size: "small",
1691
+ text: "Save 20%",
1692
+ variant: "flat"
1693
+ })
1694
+ ]),
1695
+ _: 2
1696
+ }, 1032, ["border", "color", "prepend-icon", "variant", "onClick"])
1697
+ ]),
1698
+ _: 1
1699
+ })
1700
+ ]),
1701
+ _: 1
1702
+ })
1703
+ ]),
1704
+ _: 1
1705
+ })
1706
+ ]),
1707
+ _: 1
1708
+ }, 8, ["modelValue"]));
1709
+ }
1710
+ }), nn = { class: "px-3" }, sn = /* @__PURE__ */ h("br", null, null, -1), an = { class: "flex-grow-1 px-4 pb-3 overflow-hidden" }, ln = /* @__PURE__ */ k({
1711
+ __name: "VoSubscriptionDialog",
1712
+ props: {
1713
+ modelValue: { type: Boolean },
1714
+ modelModifiers: {}
1715
+ },
1716
+ emits: ["update:modelValue"],
1717
+ setup(p) {
1718
+ function e(u) {
1719
+ return new Promise((m) => setTimeout(m, u));
1720
+ }
1721
+ const i = ie(p, "modelValue"), n = j(), l = ye(), s = D(n.interval), r = D(n.hasBilling ? "status" : "subscribe"), c = D(!1);
1722
+ N(s, (u) => {
1723
+ !n.isSubscriber || !n.interval || (c.value = u !== n.interval);
1724
+ }), N(i, async (u) => {
1725
+ !u || !n.isSubscriber || n.subscriptionInfo();
1726
+ }), N(l, async () => {
1727
+ !n.sessionId && !["subscribe", "status"].includes(l.value.one) || (r.value = n.sessionId || l.value.one === "status" ? "status" : "subscribe", n.isOpen = !0, await fe(), i.value = !0);
1728
+ }, { immediate: !0 });
1729
+ async function v() {
1730
+ await n.modify(s.value), await n.subscriptionInfo(), c.value = null, await e(3e3), r.value = "status", await e(300), c.value = !1;
1731
+ }
1732
+ return (u, m) => {
1733
+ const b = be, V = on, C = tn, _ = Yo, y = Mo, $ = se, z = Ue;
1734
+ return d(), f(z, {
1735
+ modelValue: i.value,
1736
+ "onUpdate:modelValue": m[4] || (m[4] = (T) => i.value = T),
1737
+ "prepend-icon": `svg:${t(Tt)}`,
1738
+ title: "Subscriptions"
1739
+ }, G({
1740
+ default: a(() => [
1741
+ o(Ie, null, {
1742
+ default: a(() => [
1743
+ o(Ae, { scrollable: "" }, {
1744
+ default: a(() => [
1745
+ h("div", nn, [
1746
+ o(K, null, {
1747
+ default: a(() => [
1748
+ o(b, {
1749
+ text: "The Vuetify One subscription is a great way to support the Vuetify team and get access to exclusive features and content.",
1750
+ title: "Vuetify One"
1751
+ }),
1752
+ o(st, { "model-value": r.value }, {
1753
+ default: a(() => [
1754
+ o(de, { value: "subscribe" }, {
1755
+ default: a(() => [
1756
+ o(V, {
1757
+ modelValue: s.value,
1758
+ "onUpdate:modelValue": m[0] || (m[0] = (T) => s.value = T)
1759
+ }, null, 8, ["modelValue"]),
1760
+ sn,
1761
+ o(C)
1762
+ ]),
1763
+ _: 1
1764
+ }),
1765
+ o(de, { value: "status" }, {
1766
+ default: a(() => [
1767
+ o(_, {
1768
+ "onChange:subscription": m[1] || (m[1] = (T) => r.value = "subscribe")
1769
+ }),
1770
+ o(y)
1771
+ ]),
1772
+ _: 1
1773
+ })
1774
+ ]),
1775
+ _: 1
1776
+ }, 8, ["model-value"])
1777
+ ]),
1778
+ _: 1
1779
+ })
1780
+ ])
1781
+ ]),
1782
+ _: 1
1783
+ })
1784
+ ]),
1785
+ _: 1
1786
+ })
1787
+ ]),
1788
+ _: 2
1789
+ }, [
1790
+ r.value === "subscribe" ? {
1791
+ name: "actions",
1792
+ fn: a(() => [
1793
+ h("div", an, [
1794
+ c.value !== !1 ? (d(), f($, {
1795
+ key: 0,
1796
+ loading: t(n).isLoading,
1797
+ "prepend-icon": `svg:${c.value !== null ? t(Mt) : t(pe)}`,
1798
+ readonly: c.value === null,
1799
+ text: c.value !== null ? "Modify Subscription" : "Success",
1800
+ color: "success",
1801
+ size: "default",
1802
+ block: "",
1803
+ onClick: v
1804
+ }, null, 8, ["loading", "prepend-icon", "readonly", "text"])) : t(n).isSubscriber ? (d(), f($, {
1805
+ key: 2,
1806
+ "prepend-icon": `svg:${t(Rt)}`,
1807
+ size: "default",
1808
+ text: "Manage Subscription",
1809
+ block: "",
1810
+ onClick: m[3] || (m[3] = (T) => r.value = "status")
1811
+ }, null, 8, ["prepend-icon"])) : (d(), f($, {
1812
+ key: 1,
1813
+ color: s.value ? "primary" : "disabled",
1814
+ disabled: !s.value,
1815
+ loading: t(n).isLoading,
1816
+ "prepend-icon": "$vuetify",
1817
+ size: "default",
1818
+ text: "Activate Subscription",
1819
+ block: "",
1820
+ onClick: m[2] || (m[2] = (T) => t(n).subscribe(s.value))
1821
+ }, null, 8, ["color", "disabled", "loading"]))
1822
+ ])
1823
+ ]),
1824
+ key: "0"
1825
+ } : void 0
1826
+ ]), 1032, ["modelValue", "prepend-icon"]);
1827
+ };
1828
+ }
1829
+ }), rn = /* @__PURE__ */ k({
1830
+ __name: "VoSubscriptionListItem",
1831
+ setup(p) {
1832
+ const e = D(!1);
1833
+ return (i, n) => {
1834
+ const l = ln, s = Y;
1835
+ return d(), f(s, {
1836
+ active: e.value,
1837
+ "prepend-icon": `svg:${t(Pt)}`,
1838
+ title: "Subscriptions",
1839
+ link: ""
1840
+ }, {
1841
+ default: a(() => [
1842
+ o(l, {
1843
+ modelValue: e.value,
1844
+ "onUpdate:modelValue": n[0] || (n[0] = (r) => e.value = r)
1845
+ }, null, 8, ["modelValue"])
1846
+ ]),
1847
+ _: 1
1848
+ }, 8, ["active", "prepend-icon"]);
1849
+ };
1850
+ }
1851
+ }), cn = { class: "ps-16" }, un = /* @__PURE__ */ k({
1852
+ __name: "VoSponsorshipsTimelineItemPatreon",
1853
+ setup(p) {
1854
+ const e = j(), i = Be();
1855
+ return (n, l) => {
1856
+ var r, c;
1857
+ const s = se;
1858
+ return d(), f(Ze, {
1859
+ "dot-color": (r = t(e).patreon) != null && r.isActive ? "success" : "transparent",
1860
+ icon: (c = t(e).patreon) != null && c.isActive ? `svg:${t(le)}` : void 0,
1861
+ size: "x-small",
1862
+ width: "100%"
1863
+ }, {
1864
+ default: a(() => [
1865
+ o(M, {
1866
+ "prepend-avatar": t(i).CDN_URL + "/logos/patreon.png",
1867
+ rounded: "lg",
1868
+ subtitle: "Support Vuetify through Patreon.",
1869
+ title: "Patreon Subscriber",
1870
+ variant: "text",
1871
+ border: ""
1872
+ }, {
1873
+ append: a(() => {
1874
+ var v;
1875
+ return [
1876
+ h("div", cn, [
1877
+ o(s, {
1878
+ text: (v = t(e).patreon) != null && v.isActive ? "Active" : "Coming Soon",
1879
+ color: "surface-variant",
1880
+ readonly: ""
1881
+ }, null, 8, ["text"])
1882
+ ])
1883
+ ];
1884
+ }),
1885
+ default: a(() => {
1886
+ var v;
1887
+ return [
1888
+ (v = t(e).patreon) != null && v.isActive ? (d(), S(U, { key: 0 }, [
1889
+ o(W),
1890
+ o(K, { class: "d-flex justify-space-between align-center flex-wrap" }, {
1891
+ default: a(() => [
1892
+ o(q, {
1893
+ "prepend-icon": `svg:${t(We)}`,
1894
+ text: t(e).patreon.tierName,
1895
+ color: "success",
1896
+ variant: "text",
1897
+ label: ""
1898
+ }, null, 8, ["prepend-icon", "text"])
1899
+ ]),
1900
+ _: 1
1901
+ })
1902
+ ], 64)) : x("", !0)
1903
+ ];
1904
+ }),
1905
+ _: 1
1906
+ }, 8, ["prepend-avatar"])
1907
+ ]),
1908
+ _: 1
1909
+ }, 8, ["dot-color", "icon"]);
1910
+ };
1911
+ }
1912
+ }), dn = { class: "ps-16" }, pn = /* @__PURE__ */ k({
1913
+ __name: "VoSponsorshipsTimelineItemDiscord",
1914
+ setup(p) {
1915
+ const e = j(), i = Be();
1916
+ return (n, l) => {
1917
+ var r, c;
1918
+ const s = se;
1919
+ return d(), f(Ze, {
1920
+ "dot-color": (r = t(e).discord) != null && r.isActive ? "success" : "transparent",
1921
+ icon: (c = t(e).discord) != null && c.isActive ? `svg:${t(le)}` : void 0,
1922
+ size: "x-small",
1923
+ width: "100%"
1924
+ }, {
1925
+ default: a(() => [
1926
+ o(M, {
1927
+ "prepend-avatar": t(i).CDN_URL + "/logos/discord.png",
1928
+ rounded: "lg",
1929
+ subtitle: "Support Vuetify through Discord.",
1930
+ title: "Discord Subscriber",
1931
+ variant: "text",
1932
+ border: ""
1933
+ }, {
1934
+ append: a(() => {
1935
+ var v, u, m, b, V, C;
1936
+ return [
1937
+ h("div", dn, [
1938
+ o(s, {
1939
+ color: (v = t(e).discord) != null && v.isActive ? "success" : "primary",
1940
+ href: (u = t(e).discord) != null && u.isActive ? void 0 : "https://discord.com/servers/vuetify-340160225338195969",
1941
+ "prepend-icon": `svg:${(m = t(e).discord) != null && m.isActive ? t(pe) : t(ve)}`,
1942
+ readonly: (b = t(e).discord) == null ? void 0 : b.isActive,
1943
+ target: (V = t(e).discord) != null && V.isActive ? void 0 : "_blank",
1944
+ text: (C = t(e).discord) != null && C.isActive ? "Active" : "Info",
1945
+ width: "88"
1946
+ }, null, 8, ["color", "href", "prepend-icon", "readonly", "target", "text"])
1947
+ ])
1948
+ ];
1949
+ }),
1950
+ default: a(() => {
1951
+ var v;
1952
+ return [
1953
+ (v = t(e).discord) != null && v.isActive ? (d(), S(U, { key: 0 }, [
1954
+ o(W),
1955
+ o(K, { class: "d-flex justify-space-between align-center flex-wrap" }, {
1956
+ default: a(() => [
1957
+ o(q, {
1958
+ "prepend-icon": `svg:${t(We)}`,
1959
+ text: t(e).discord.tierName,
1960
+ color: "surface-variant",
1961
+ size: "small",
1962
+ variant: "text",
1963
+ label: ""
1964
+ }, null, 8, ["prepend-icon", "text"])
1965
+ ]),
1966
+ _: 1
1967
+ })
1968
+ ], 64)) : x("", !0)
1969
+ ];
1970
+ }),
1971
+ _: 1
1972
+ }, 8, ["prepend-avatar"])
1973
+ ]),
1974
+ _: 1
1975
+ }, 8, ["dot-color", "icon"]);
1976
+ };
1977
+ }
1978
+ }), mn = { class: "ps-16" }, fn = /* @__PURE__ */ k({
1979
+ __name: "VoSponsorshipsTimelineItemGithub",
1980
+ setup(p) {
1981
+ const e = j(), i = Be();
1982
+ return (n, l) => {
1983
+ var r, c;
1984
+ const s = se;
1985
+ return d(), f(Ze, {
1986
+ "dot-color": (r = t(e).github) != null && r.isActive ? "success" : "transparent",
1987
+ icon: (c = t(e).github) != null && c.isActive ? `svg:${t(le)}` : void 0,
1988
+ size: "x-small",
1989
+ width: "100%"
1990
+ }, {
1991
+ default: a(() => [
1992
+ o(M, {
1993
+ "prepend-avatar": t(i).CDN_URL + "/logos/github.png",
1994
+ rounded: "lg",
1995
+ subtitle: "Support Vuetify through GitHub sponsors.",
1996
+ title: "GitHub Sponsors",
1997
+ variant: "text",
1998
+ border: ""
1999
+ }, {
2000
+ append: a(() => {
2001
+ var v, u, m, b, V, C;
2002
+ return [
2003
+ h("div", mn, [
2004
+ o(s, {
2005
+ color: (v = t(e).github) != null && v.isActive ? "success" : "primary",
2006
+ href: (u = t(e).github) != null && u.isActive ? void 0 : "https://github.com/sponsors/johnleider",
2007
+ "prepend-icon": `svg:${(m = t(e).github) != null && m.isActive ? t(pe) : t(ve)}`,
2008
+ readonly: (b = t(e).github) == null ? void 0 : b.isActive,
2009
+ target: (V = t(e).github) != null && V.isActive ? void 0 : "_blank",
2010
+ text: (C = t(e).github) != null && C.isActive ? "Active" : "Info",
2011
+ width: "88"
2012
+ }, null, 8, ["color", "href", "prepend-icon", "readonly", "target", "text"])
2013
+ ])
2014
+ ];
2015
+ }),
2016
+ default: a(() => {
2017
+ var v;
2018
+ return [
2019
+ (v = t(e).github) != null && v.isActive ? (d(), S(U, { key: 0 }, [
2020
+ o(W),
2021
+ o(K, { class: "d-flex justify-space-between align-center flex-wrap" }, {
2022
+ default: a(() => [
2023
+ o(q, {
2024
+ "prepend-icon": `svg:${t(We)}`,
2025
+ text: t(e).github.tierName,
2026
+ color: "surface-variant",
2027
+ size: "small",
2028
+ variant: "text",
2029
+ label: ""
2030
+ }, null, 8, ["prepend-icon", "text"])
2031
+ ]),
2032
+ _: 1
2033
+ })
2034
+ ], 64)) : x("", !0)
2035
+ ];
2036
+ }),
2037
+ _: 1
2038
+ }, 8, ["prepend-avatar"])
2039
+ ]),
2040
+ _: 1
2041
+ }, 8, ["dot-color", "icon"]);
2042
+ };
2043
+ }
2044
+ }), vn = /* @__PURE__ */ k({
2045
+ __name: "VoSponsorshipsTimeline",
2046
+ setup(p) {
2047
+ return (e, i) => {
2048
+ const n = fn, l = pn, s = un;
2049
+ return d(), f(fo, {
2050
+ class: "justify-start ms-n7",
2051
+ "line-inset": "12",
2052
+ side: "end",
2053
+ style: { "grid-template-columns": "auto auto 1fr" },
2054
+ "truncate-line": "both"
2055
+ }, {
2056
+ default: a(() => [
2057
+ o(n),
2058
+ o(l),
2059
+ o(s)
2060
+ ]),
2061
+ _: 1
2062
+ });
2063
+ };
2064
+ }
2065
+ }), _n = { class: "px-3 pb-5 d-flex flex-column" }, hn = { class: "py-4" }, gn = /* @__PURE__ */ h("div", { class: "text-caption text-medium-emphasis" }, [
2066
+ /* @__PURE__ */ B(" A total of $2.99 or more unlocks "),
2067
+ /* @__PURE__ */ h("span", { class: "font-weight-black" }, "all"),
2068
+ /* @__PURE__ */ B(" Vuetify One benefits ")
2069
+ ], -1), bn = /* @__PURE__ */ k({
2070
+ __name: "VoSponsorshipsDialog",
2071
+ props: {
2072
+ modelValue: { type: Boolean },
2073
+ modelModifiers: {}
2074
+ },
2075
+ emits: ["update:modelValue"],
2076
+ setup(p) {
2077
+ const e = ie(p, "modelValue"), i = ye(), n = F(), l = j();
2078
+ return N(i, async () => {
2079
+ i.value.one === "sponsorships" && (l.isOpen = !0, await fe(), e.value = !0);
2080
+ }, { immediate: !0 }), (s, r) => {
2081
+ const c = be, v = vn, u = Me("v-empty-state"), m = Ue;
2082
+ return d(), f(m, {
2083
+ modelValue: e.value,
2084
+ "onUpdate:modelValue": r[0] || (r[0] = (b) => e.value = b),
2085
+ "prepend-icon": `svg:${t(Ht)}`,
2086
+ title: "Sponsorships"
2087
+ }, {
2088
+ default: a(() => [
2089
+ o(Ie, null, {
2090
+ default: a(() => [
2091
+ o(Ae, { scrollable: "" }, {
2092
+ default: a(() => [
2093
+ h("div", _n, [
2094
+ o(K, null, {
2095
+ default: a(() => [
2096
+ o(c, {
2097
+ text: "Support Vuetify through GitHub Sponsors, Discord, or Patreon to unlock exclusive benefits and content.",
2098
+ title: "Support Vuetify"
2099
+ }),
2100
+ o(v)
2101
+ ]),
2102
+ _: 1
2103
+ }),
2104
+ o(u, {
2105
+ icon: `svg:${t(Et)}`,
2106
+ class: "mt-auto",
2107
+ "min-height": "auto",
2108
+ size: "64",
2109
+ title: "Your Monthly Contributions"
2110
+ }, {
2111
+ media: a(() => [
2112
+ o(A, { color: "success" })
2113
+ ]),
2114
+ headline: a(() => [
2115
+ h("div", hn, [
2116
+ t(n).isSubscriber ? (d(), S(U, { key: 0 }, [
2117
+ B(" $" + I(parseFloat(String(t(l).monthlyTotal)).toFixed(2)), 1)
2118
+ ], 64)) : (d(), S(U, { key: 1 }, [
2119
+ B(" $0.00 ")
2120
+ ], 64))
2121
+ ])
2122
+ ]),
2123
+ text: a(() => [
2124
+ gn
2125
+ ]),
2126
+ _: 1
2127
+ }, 8, ["icon"])
2128
+ ])
2129
+ ]),
2130
+ _: 1
2131
+ })
2132
+ ]),
2133
+ _: 1
2134
+ })
2135
+ ]),
2136
+ _: 1
2137
+ }, 8, ["modelValue", "prepend-icon"]);
2138
+ };
2139
+ }
2140
+ }), yn = /* @__PURE__ */ k({
2141
+ __name: "VoSponsorshipsListItem",
2142
+ setup(p) {
2143
+ const e = D(!1);
2144
+ return (i, n) => {
2145
+ const l = bn, s = Y;
2146
+ return d(), f(s, {
2147
+ active: e.value,
2148
+ "prepend-icon": `svg:${t(Wt)}`,
2149
+ title: "Sponsorships",
2150
+ link: ""
2151
+ }, {
2152
+ default: a(() => [
2153
+ o(l, {
2154
+ modelValue: e.value,
2155
+ "onUpdate:modelValue": n[0] || (n[0] = (r) => e.value = r)
2156
+ }, null, 8, ["modelValue"])
2157
+ ]),
2158
+ _: 1
2159
+ }, 8, ["active", "prepend-icon"]);
2160
+ };
2161
+ }
2162
+ }), Vn = /* @__PURE__ */ k({
2163
+ __name: "VoStudioListItem",
2164
+ setup(p) {
2165
+ const e = [
2166
+ ["M12.435 14.3194L12 21L6.87046 12.2799L12.435 14.3194Z", 1],
2167
+ ["M22 4L12.435 14.3194L6.87046 12.2799L9.26479 7.61064L12.435 14.3194L12 21L22 4Z", 0.5],
2168
+ ["M12.435 14.3194L22 4L9.26479 7.61064L12.435 14.3194Z", 1],
2169
+ ["M2 4L6.87046 12.2799L9.26479 7.61064L2 4Z", 1]
2170
+ ];
2171
+ return (i, n) => {
2172
+ const l = Y;
2173
+ return d(), f(l, {
2174
+ "prepend-icon": e,
2175
+ class: "cursor-default",
2176
+ title: "Vuetify Studio"
2177
+ }, {
2178
+ append: a(() => [
2179
+ o(q, {
2180
+ size: "x-small",
2181
+ label: ""
2182
+ }, {
2183
+ default: a(() => [
2184
+ B("COMING SOON")
2185
+ ]),
2186
+ _: 1
2187
+ })
2188
+ ]),
2189
+ _: 1
2190
+ });
2191
+ };
2192
+ }
2193
+ }), kn = {
2194
+ key: 0,
2195
+ class: "pt-16"
2196
+ }, xn = /* @__PURE__ */ h("div", { class: "text-medium-emphasis" }, " All caught up ", -1), $n = {
2197
+ key: 1,
2198
+ class: "pa-5"
2199
+ }, wn = { class: "text-subtitle-1 font-weight-bold" }, Sn = { class: "text-caption font-weight-bold text-medium-emphasis" }, Cn = { class: "text-disabled text-caption mt-2 mb-3" }, Ln = /* @__PURE__ */ k({
2200
+ __name: "VoNotificationsBannerList",
2201
+ props: {
2202
+ items: {}
2203
+ },
2204
+ setup(p) {
2205
+ const e = we(), i = re(), n = O();
2206
+ function l(r) {
2207
+ return n.notifications.last.banner.includes(r);
2208
+ }
2209
+ function s(r) {
2210
+ l(r.slug) ? n.notifications.last.banner = n.notifications.last.banner.filter((c) => c !== r.slug) : n.notifications.last.banner.push(r.slug);
2211
+ }
2212
+ return (r, c) => {
2213
+ const v = Me("v-empty-state");
2214
+ return d(), f(ee, {
2215
+ class: "py-0",
2216
+ height: "100%",
2217
+ lines: "three"
2218
+ }, {
2219
+ default: a(() => [
2220
+ r.items.length ? (d(), S("div", $n, [
2221
+ (d(!0), S(U, null, oe(r.items, (u) => {
2222
+ var m;
2223
+ return d(), S("div", {
2224
+ key: u.slug,
2225
+ class: "mb-4"
2226
+ }, [
2227
+ o(M, {
2228
+ color: u.metadata.color,
2229
+ image: (m = u.metadata.images.bg) == null ? void 0 : m.url,
2230
+ title: u.title,
2231
+ rounded: "b-0",
2232
+ flat: ""
2233
+ }, {
2234
+ prepend: a(() => [
2235
+ o(ne, {
2236
+ image: u.metadata.images.logo.url
2237
+ }, null, 8, ["image"])
2238
+ ]),
2239
+ image: a(() => [
2240
+ o(Le, { position: "right" })
2241
+ ]),
2242
+ _: 2
2243
+ }, 1032, ["color", "image", "title"]),
2244
+ o(Ce, null, {
2245
+ default: a(({ props: b, isHovering: V }) => [
2246
+ o(qe, P(b, {
2247
+ class: "px-8 pt-2 pb-4 position-relative",
2248
+ rounded: "b",
2249
+ border: ""
2250
+ }), {
2251
+ default: a(() => [
2252
+ o(J, {
2253
+ text: l(u.slug) ? "Mark as unread" : "Mark as read",
2254
+ location: "bottom"
2255
+ }, {
2256
+ activator: a(({ props: C }) => [
2257
+ o($e, { "hide-on-leave": "" }, {
2258
+ default: a(() => [
2259
+ xe(o(E, P(C, {
2260
+ icon: `svg:${l(u.slug) ? t(Ke) : t(Xe)}`,
2261
+ class: "ms-auto float-right",
2262
+ size: "small",
2263
+ variant: "text",
2264
+ "mdi-email-variant": "",
2265
+ onClick: (_) => s(u)
2266
+ }), null, 16, ["icon", "onClick"]), [
2267
+ [Re, V || t(i).mobile.value]
2268
+ ])
2269
+ ]),
2270
+ _: 2
2271
+ }, 1024)
2272
+ ]),
2273
+ _: 2
2274
+ }, 1032, ["text"]),
2275
+ h("div", wn, I(u.metadata.text), 1),
2276
+ h("div", Sn, I(t(e).format(u.created_at, "fullDateWithWeekday")), 1),
2277
+ h("div", Cn, I(u.metadata.subtext), 1),
2278
+ o(q, P({
2279
+ href: u.metadata.link.startsWith("http") ? u.metadata.link : void 0,
2280
+ target: u.metadata.link.startsWith("http") ? "_blank" : void 0,
2281
+ to: u.metadata.link.startsWith("http") ? void 0 : u.metadata.link
2282
+ }, {
2283
+ "append-icon": `svg:${t(ve)}`,
2284
+ text: u.metadata.link_text,
2285
+ size: "small",
2286
+ variant: "text",
2287
+ border: "",
2288
+ label: ""
2289
+ }), {
2290
+ append: a(() => [
2291
+ o(A, { size: "12" })
2292
+ ]),
2293
+ _: 2
2294
+ }, 1040, ["append-icon", "text"])
2295
+ ]),
2296
+ _: 2
2297
+ }, 1040)
2298
+ ]),
2299
+ _: 2
2300
+ }, 1024)
2301
+ ]);
2302
+ }), 128))
2303
+ ])) : (d(), S("div", kn, [
2304
+ o(v, {
2305
+ icon: "$vuetify",
2306
+ size: "256"
2307
+ }, {
2308
+ media: a(() => [
2309
+ o(A, { color: "medium-emphasis" })
2310
+ ]),
2311
+ title: a(() => [
2312
+ xn
2313
+ ]),
2314
+ _: 1
2315
+ })
2316
+ ]))
2317
+ ]),
2318
+ _: 1
2319
+ });
2320
+ };
2321
+ }
2322
+ }), In = {
2323
+ key: 0,
2324
+ class: "pt-16"
2325
+ }, An = /* @__PURE__ */ h("div", { class: "text-medium-emphasis" }, " All caught up ", -1), Dn = { class: "ps-3 text-subtitle-2 pe-2" }, Un = { class: "text-truncate" }, Bn = { class: "text-caption font-weight-bold text-medium-emphasis" }, Nn = { class: "text-disabled text-caption my-2" }, On = /* @__PURE__ */ k({
2326
+ __name: "VoNotificationsList",
2327
+ props: {
2328
+ items: {}
2329
+ },
2330
+ setup(p) {
2331
+ const e = we(), i = re(), n = O();
2332
+ function l(r) {
2333
+ return n.notifications.read.includes(r);
2334
+ }
2335
+ function s(r) {
2336
+ l(r.slug) ? n.notifications.read = n.notifications.read.filter((c) => c !== r.slug) : n.notifications.read.push(r.slug);
2337
+ }
2338
+ return (r, c) => {
2339
+ const v = Me("v-empty-state"), u = Y;
2340
+ return d(), f(ee, {
2341
+ class: "py-0",
2342
+ height: "100%",
2343
+ lines: "three"
2344
+ }, {
2345
+ default: a(() => [
2346
+ r.items.length ? (d(!0), S(U, { key: 1 }, oe(r.items, (m, b) => (d(), f(Ce, {
2347
+ key: m.slug
2348
+ }, {
2349
+ default: a(({ isHovering: V, props: C }) => [
2350
+ o(u, P(C, {
2351
+ border: b !== 0 && "t",
2352
+ class: "py-4 mb-0"
2353
+ }), {
2354
+ prepend: a(() => [
2355
+ h("div", Dn, I(m.metadata.emoji), 1)
2356
+ ]),
2357
+ append: a(() => [
2358
+ o(vo, {
2359
+ class: "mt-n3",
2360
+ width: "56"
2361
+ }, {
2362
+ default: a(() => [
2363
+ o(J, {
2364
+ text: l(m.slug) ? "Mark as unread" : "Mark as read",
2365
+ location: "bottom"
2366
+ }, {
2367
+ activator: a(({ props: _ }) => [
2368
+ o($e, { "hide-on-leave": "" }, {
2369
+ default: a(() => [
2370
+ xe(o(E, P(_, {
2371
+ icon: `svg:${l(m.slug) ? t(Ke) : t(Xe)}`,
2372
+ class: "ms-auto",
2373
+ size: "small",
2374
+ variant: "text",
2375
+ "mdi-email-variant": "",
2376
+ onClick: (y) => s(m)
2377
+ }), null, 16, ["icon", "onClick"]), [
2378
+ [Re, V || t(i).mobile.value]
2379
+ ])
2380
+ ]),
2381
+ _: 2
2382
+ }, 1024)
2383
+ ]),
2384
+ _: 2
2385
+ }, 1032, ["text"])
2386
+ ]),
2387
+ _: 2
2388
+ }, 1024)
2389
+ ]),
2390
+ default: a(() => [
2391
+ o(et, { class: "text-wrap text-h6 mb-1" }, {
2392
+ default: a(() => [
2393
+ h("div", Un, I(m.title), 1)
2394
+ ]),
2395
+ _: 2
2396
+ }, 1024),
2397
+ h("div", Bn, I(t(e).format(m.created_at, "fullDateWithWeekday")), 1),
2398
+ h("div", Nn, I(m.metadata.text), 1),
2399
+ o(q, {
2400
+ "append-icon": `svg:${t(ve)}`,
2401
+ href: m.metadata.action,
2402
+ text: m.metadata.action_text,
2403
+ size: "small",
2404
+ target: "_blank",
2405
+ variant: "text",
2406
+ border: "",
2407
+ label: "",
2408
+ onClick: (_) => s(m)
2409
+ }, {
2410
+ append: a(() => [
2411
+ o(A, { size: "12" })
2412
+ ]),
2413
+ _: 2
2414
+ }, 1032, ["append-icon", "href", "text", "onClick"])
2415
+ ]),
2416
+ _: 2
2417
+ }, 1040, ["border"])
2418
+ ]),
2419
+ _: 2
2420
+ }, 1024))), 128)) : (d(), S("div", In, [
2421
+ o(v, {
2422
+ icon: "$vuetify",
2423
+ size: "256"
2424
+ }, {
2425
+ media: a(() => [
2426
+ o(A, { color: "medium-emphasis" })
2427
+ ]),
2428
+ title: a(() => [
2429
+ An
2430
+ ]),
2431
+ _: 1
2432
+ })
2433
+ ]))
2434
+ ]),
2435
+ _: 1
2436
+ });
2437
+ };
2438
+ }
2439
+ }), Fn = X("site", () => {
2440
+ const p = H([]), e = H();
2441
+ return {
2442
+ id: p,
2443
+ url: e
2444
+ };
2445
+ }), Ne = X("banners", () => {
2446
+ const p = ge(), e = Fn(), i = O(), n = H([]), l = D(!1), s = w(() => r.value ? r.value : n.value.find(({
2447
+ slug: v,
2448
+ metadata: {
2449
+ site: u,
2450
+ active: m
2451
+ }
2452
+ }) => !m || i.notifications.last.banner.includes(v) ? !1 : u.includes("dev") && !1 || u.includes("*") ? !0 : u.some((b) => e.id.includes(b)))), r = w(() => n.value.find(({
2453
+ metadata: {
2454
+ site: v,
2455
+ active: u
2456
+ }
2457
+ }) => u ? v.includes("server") : !1));
2458
+ async function c() {
2459
+ try {
2460
+ l.value = !0;
2461
+ const v = await p.get("/one/banners");
2462
+ n.value = v.banners;
2463
+ } catch {
2464
+ } finally {
2465
+ l.value = !1;
2466
+ }
2467
+ return n.value;
2468
+ }
2469
+ return {
2470
+ all: n,
2471
+ isLoading: l,
2472
+ server: r,
2473
+ banner: s,
2474
+ get: c
2475
+ };
2476
+ }), zn = { class: "text-caption" }, jn = { class: "text-caption" }, Tn = /* @__PURE__ */ k({
2477
+ __name: "VoNotificationsDialog",
2478
+ props: {
2479
+ modelValue: { type: Boolean },
2480
+ modelModifiers: {}
2481
+ },
2482
+ emits: ["update:modelValue"],
2483
+ setup(p) {
2484
+ const e = re(), i = ye(), n = Ne(), l = De(), s = j(), r = D(["read"]), c = ie(p, "modelValue");
2485
+ return N(i, async () => {
2486
+ if (i.value.one !== "notifications") {
2487
+ c.value && (c.value = !1);
2488
+ return;
2489
+ }
2490
+ s.isOpen = !0, await fe(), c.value = !0;
2491
+ }, { immediate: !0 }), (v, u) => {
2492
+ const m = Y, b = On, V = Ln, C = Ue;
2493
+ return d(), f(C, {
2494
+ modelValue: c.value,
2495
+ "onUpdate:modelValue": u[2] || (u[2] = (_) => c.value = _),
2496
+ "prepend-icon": `svg:${t(Gt)}`,
2497
+ title: "Notifications"
2498
+ }, {
2499
+ default: a(() => [
2500
+ o(Ie, null, {
2501
+ default: a(() => [
2502
+ o(_o, {
2503
+ location: t(e).mobile.value ? "top" : "start",
2504
+ width: t(e).mobile.value ? 128 : 168,
2505
+ permanent: ""
2506
+ }, {
2507
+ default: a(() => [
2508
+ o(ee, {
2509
+ selected: r.value,
2510
+ "onUpdate:selected": u[0] || (u[0] = (_) => r.value = _),
2511
+ class: "px-4 pt-4",
2512
+ density: "compact",
2513
+ mandatory: "",
2514
+ nav: ""
2515
+ }, {
2516
+ default: a(() => [
2517
+ o(m, {
2518
+ "prepend-icon": `svg:${t(qt)}`,
2519
+ title: "Unread",
2520
+ value: "read"
2521
+ }, G({ _: 2 }, [
2522
+ t(l).unread.length > 0 ? {
2523
+ name: "append",
2524
+ fn: a(() => [
2525
+ h("span", zn, I(t(l).unread.length), 1)
2526
+ ]),
2527
+ key: "0"
2528
+ } : void 0
2529
+ ]), 1032, ["prepend-icon"]),
2530
+ o(m, {
2531
+ "prepend-icon": `svg:${t(Zt)}`,
2532
+ title: "Read",
2533
+ value: "unread"
2534
+ }, G({ _: 2 }, [
2535
+ t(l).read.length > 0 ? {
2536
+ name: "append",
2537
+ fn: a(() => [
2538
+ h("span", jn, I(t(l).read.length), 1)
2539
+ ]),
2540
+ key: "0"
2541
+ } : void 0
2542
+ ]), 1032, ["prepend-icon"]),
2543
+ t(n).all.length > 0 ? (d(), f(m, {
2544
+ key: 0,
2545
+ "prepend-icon": `svg:${t(Yt)}`,
2546
+ title: "Banners",
2547
+ value: "banners"
2548
+ }, {
2549
+ append: a(() => [
2550
+ o(Ge, {
2551
+ "offset-y": "-3",
2552
+ dot: ""
2553
+ })
2554
+ ]),
2555
+ _: 1
2556
+ }, 8, ["prepend-icon"])) : x("", !0)
2557
+ ]),
2558
+ _: 1
2559
+ }, 8, ["selected"])
2560
+ ]),
2561
+ _: 1
2562
+ }, 8, ["location", "width"]),
2563
+ o(Ae, { scrollable: "" }, {
2564
+ default: a(() => [
2565
+ o(st, {
2566
+ modelValue: r.value,
2567
+ "onUpdate:modelValue": u[1] || (u[1] = (_) => r.value = _)
2568
+ }, {
2569
+ default: a(() => [
2570
+ o(de, { value: "read" }, {
2571
+ default: a(() => [
2572
+ o(b, {
2573
+ items: t(l).unread
2574
+ }, null, 8, ["items"])
2575
+ ]),
2576
+ _: 1
2577
+ }),
2578
+ o(de, { value: "unread" }, {
2579
+ default: a(() => [
2580
+ o(b, {
2581
+ items: t(l).read
2582
+ }, null, 8, ["items"])
2583
+ ]),
2584
+ _: 1
2585
+ }),
2586
+ o(de, { value: "banners" }, {
2587
+ default: a(() => [
2588
+ o(V, {
2589
+ items: t(n).all
2590
+ }, null, 8, ["items"])
2591
+ ]),
2592
+ _: 1
2593
+ })
2594
+ ]),
2595
+ _: 1
2596
+ }, 8, ["modelValue"])
2597
+ ]),
2598
+ _: 1
2599
+ })
2600
+ ]),
2601
+ _: 1
2602
+ })
2603
+ ]),
2604
+ _: 1
2605
+ }, 8, ["modelValue", "prepend-icon"]);
2606
+ };
2607
+ }
2608
+ }), Mn = /* @__PURE__ */ k({
2609
+ __name: "VoNotificationsBadge",
2610
+ setup(p) {
2611
+ const e = De(), i = O();
2612
+ return (n, l) => (d(), f(Ge, {
2613
+ content: t(e).unread.length,
2614
+ "model-value": t(i).notifications.show && t(e).unread.length > 0,
2615
+ color: "error"
2616
+ }, {
2617
+ default: a(() => [
2618
+ R(n.$slots, "default")
2619
+ ]),
2620
+ _: 3
2621
+ }, 8, ["content", "model-value"]));
2622
+ }
2623
+ }), Rn = /* @__PURE__ */ k({
2624
+ __name: "VoNotificationsListItem",
2625
+ setup(p) {
2626
+ const e = Ne(), i = O(), n = De(), l = D(!1);
2627
+ return _t(async () => {
2628
+ n.get(), e.get();
2629
+ }), (s, r) => {
2630
+ const c = Mn, v = Tn, u = Y;
2631
+ return t(i).notifications.show ? (d(), f(u, {
2632
+ key: 0,
2633
+ active: l.value,
2634
+ "prepend-icon": `svg:${t(Qt)}`,
2635
+ title: "Notifications",
2636
+ link: ""
2637
+ }, G({
2638
+ default: a(() => [
2639
+ o(v, {
2640
+ modelValue: l.value,
2641
+ "onUpdate:modelValue": r[0] || (r[0] = (m) => l.value = m)
2642
+ }, null, 8, ["modelValue"])
2643
+ ]),
2644
+ _: 2
2645
+ }, [
2646
+ t(n).unread.length ? {
2647
+ name: "prepend",
2648
+ fn: a(() => [
2649
+ o(c, null, {
2650
+ default: a(() => [
2651
+ o(A)
2652
+ ]),
2653
+ _: 1
2654
+ })
2655
+ ]),
2656
+ key: "0"
2657
+ } : void 0
2658
+ ]), 1032, ["active", "prepend-icon"])) : x("", !0);
2659
+ };
2660
+ }
2661
+ }), Pn = /* @__PURE__ */ k({
2662
+ __name: "VoDashboardListItem",
2663
+ setup(p) {
2664
+ const e = j();
2665
+ return (i, n) => {
2666
+ const l = Y;
2667
+ return d(), f(l, {
2668
+ "prepend-icon": `svg:${t(Jt)}`,
2669
+ title: "Dashboard",
2670
+ to: "/user/dashboard",
2671
+ onClick: n[0] || (n[0] = (s) => t(e).isOpen = !1)
2672
+ }, null, 8, ["prepend-icon"]);
2673
+ };
2674
+ }
2675
+ }), Hn = /* @__PURE__ */ k({
2676
+ __name: "VoUserList",
2677
+ setup(p) {
2678
+ const e = F();
2679
+ return (i, n) => {
2680
+ const l = Pn, s = Rn, r = Vn, c = yn, v = rn, u = jo, m = Uo;
2681
+ return d(), f(ee, {
2682
+ density: "compact",
2683
+ nav: "",
2684
+ slim: ""
2685
+ }, {
2686
+ default: a(() => [
2687
+ o(l),
2688
+ o(s),
2689
+ o(r),
2690
+ o(c),
2691
+ t(e).user ? (d(), f(v, { key: 0 })) : x("", !0),
2692
+ o(u),
2693
+ t(e).user ? (d(), f(m, { key: 1 })) : x("", !0)
2694
+ ]),
2695
+ _: 1
2696
+ });
2697
+ };
2698
+ }
2699
+ }), En = { key: 0 }, Wn = { class: "d-flex align-center justify-center pa-1 ga-2" }, Gn = /* @__PURE__ */ k({
2700
+ __name: "VoUserQuickActions",
2701
+ setup(p) {
2702
+ const e = O(), i = [
2703
+ ["M18.9112 5.03206L3.68692 8.88953C3.68692 8.88953 2.00252 6.21666 2 6.21428C2.02517 6.20794 18.6159 2.00476 18.6394 2L18.8944 4.8489L18.9095 5.01937L18.9112 5.03285V5.03206Z", 0.6],
2704
+ ["M19.4556 10.9994C19.4556 10.9994 7.06082 14.1417 7.05915 14.1386L5.3739 11.4641C5.41836 11.453 18.4582 8.14817 18.4993 8.13945L19.1838 7.9658L19.4556 10.9994Z", 1],
2705
+ "M20 17.0652C19.9916 17.0675 14.6826 18.4123 14.6742 18.4147C14.6994 17.3633 14.3353 16.3579 13.712 15.5563L19.7274 14.0331L20 17.066V17.0652Z",
2706
+ ["M12.353 16.0368C9.07567 12.843 3.90082 17.0493 6.66818 20.5975C9.94136 24.3844 15.773 19.6984 12.353 16.0368ZM11.1267 19.4129C10.2224 20.7664 7.79139 20.1099 7.82746 18.4686C8.04976 15.4897 12.7112 16.8495 11.1267 19.4129Z", 0.6]
2707
+ ];
2708
+ return (n, l) => (d(), f(he, null, {
2709
+ default: a(() => [
2710
+ t(e).quickbar ? (d(), S("div", En, [
2711
+ h("div", Wn, [
2712
+ o(E, {
2713
+ color: t(e).colors.one,
2714
+ class: "text-caption",
2715
+ density: "comfortable",
2716
+ href: "https://play.vuetifyjs.com",
2717
+ icon: "$vuetify-play",
2718
+ target: "_blank"
2719
+ }, {
2720
+ default: a(() => [
2721
+ o(A),
2722
+ o(J, {
2723
+ activator: "parent",
2724
+ location: "top",
2725
+ text: "Vuetify Play"
2726
+ })
2727
+ ]),
2728
+ _: 1
2729
+ }, 8, ["color"]),
2730
+ o(E, {
2731
+ color: t(e).colors.one,
2732
+ icon: i,
2733
+ class: "text-caption",
2734
+ density: "comfortable",
2735
+ href: "https://bin.vuetifyjs.com",
2736
+ target: "_blank"
2737
+ }, {
2738
+ default: a(() => [
2739
+ o(A),
2740
+ o(J, {
2741
+ activator: "parent",
2742
+ location: "top",
2743
+ text: "Vuetify Bin"
2744
+ })
2745
+ ]),
2746
+ _: 1
2747
+ }, 8, ["color"]),
2748
+ o(E, {
2749
+ color: t(e).colors.one,
2750
+ icon: `svg:${t(Xt)}`,
2751
+ class: "text-caption",
2752
+ density: "comfortable",
2753
+ href: "https://issues.vuetifyjs.com",
2754
+ target: "_blank"
2755
+ }, {
2756
+ default: a(() => [
2757
+ o(A),
2758
+ o(J, {
2759
+ activator: "parent",
2760
+ location: "top",
2761
+ text: "Vuetify Issues"
2762
+ })
2763
+ ]),
2764
+ _: 1
2765
+ }, 8, ["color", "icon"])
2766
+ ])
2767
+ ])) : x("", !0)
2768
+ ]),
2769
+ _: 1
2770
+ }));
2771
+ }
2772
+ }), qn = { class: "mb-2" }, Zn = { key: 0 }, Yn = { class: "d-flex ga-4 flex-wrap justify-center mb-4" }, Qn = { class: "text-h6" }, Jn = /* @__PURE__ */ k({
2773
+ __name: "VoUserAvatar",
2774
+ setup(p) {
2775
+ const e = F(), i = O(), n = D(!1), l = w(() => {
2776
+ const c = [
2777
+ "https://cdn.vuetifyjs.com/docs/images/avatars/one.png",
2778
+ "https://cdn.vuetifyjs.com/docs/images/avatars/grass.png",
2779
+ "https://cdn.vuetifyjs.com/docs/images/avatars/wood.png",
2780
+ "https://cdn.vuetifyjs.com/docs/images/avatars/gold.png",
2781
+ "https://cdn.vuetifyjs.com/docs/images/avatars/planet.png",
2782
+ "https://cdn.vuetifyjs.com/docs/images/avatars/planetary.png",
2783
+ "https://cdn.vuetifyjs.com/docs/images/avatars/light.png",
2784
+ "https://cdn.vuetifyjs.com/docs/images/avatars/dark.png",
2785
+ "https://cdn.vuetifyjs.com/docs/images/avatars/blackguard.png",
2786
+ "https://cdn.vuetifyjs.com/docs/images/avatars/battlecruiser.png",
2787
+ "https://cdn.vuetifyjs.com/docs/images/avatars/cosmic-blue.png",
2788
+ "https://cdn.vuetifyjs.com/docs/images/avatars/blackhole.png",
2789
+ "https://cdn.vuetifyjs.com/docs/images/avatars/meteor.png",
2790
+ "https://cdn.vuetifyjs.com/docs/images/avatars/tada.png"
2791
+ ];
2792
+ return e.user && c.unshift(e.user.picture), c;
2793
+ });
2794
+ function s(c) {
2795
+ i.avatar = c;
2796
+ }
2797
+ function r() {
2798
+ e.isSubscriber && (n.value = !n.value);
2799
+ }
2800
+ return (c, v) => {
2801
+ var u;
2802
+ return d(), S("div", null, [
2803
+ xe((d(), f(ne, {
2804
+ class: ht([
2805
+ "border-md border-opacity-100 border-surface-variant",
2806
+ {
2807
+ "cursor-pointer": t(e).isSubscriber
2808
+ }
2809
+ ]),
2810
+ color: "surface",
2811
+ size: "72",
2812
+ text: "Foobar",
2813
+ onClick: Te(r, ["prevent", "stop"])
2814
+ }, {
2815
+ default: a(() => [
2816
+ t(e).user && t(i).avatar ? (d(), f(Le, {
2817
+ key: 0,
2818
+ src: t(i).avatar,
2819
+ alt: "User avatar"
2820
+ }, null, 8, ["src"])) : (d(), f(A, {
2821
+ key: 1,
2822
+ class: "mt-1",
2823
+ icon: "$vuetify",
2824
+ size: "x-large"
2825
+ }))
2826
+ ]),
2827
+ _: 1
2828
+ }, 8, ["class"])), [
2829
+ [ho, t(e).isSubscriber]
2830
+ ]),
2831
+ h("div", qn, [
2832
+ o(he, null, {
2833
+ default: a(() => [
2834
+ n.value ? (d(), S("div", Zn, [
2835
+ o(M, {
2836
+ class: "pt-6 pb-1",
2837
+ rounded: "0",
2838
+ flat: ""
2839
+ }, {
2840
+ default: a(() => [
2841
+ h("div", Yn, [
2842
+ (d(!0), S(U, null, oe(l.value, (m, b) => (d(), f(E, {
2843
+ key: b,
2844
+ active: t(i).avatar === m,
2845
+ variant: "flat",
2846
+ icon: "",
2847
+ onClick: (V) => s(m)
2848
+ }, {
2849
+ default: a(() => [
2850
+ o(ne, {
2851
+ image: m,
2852
+ eager: ""
2853
+ }, null, 8, ["image"])
2854
+ ]),
2855
+ _: 2
2856
+ }, 1032, ["active", "onClick"]))), 128))
2857
+ ])
2858
+ ]),
2859
+ _: 1
2860
+ })
2861
+ ])) : x("", !0)
2862
+ ]),
2863
+ _: 1
2864
+ })
2865
+ ]),
2866
+ h("div", Qn, I(((u = t(e).user) == null ? void 0 : u.name) ?? "Guest"), 1)
2867
+ ]);
2868
+ };
2869
+ }
2870
+ }), Xn = /* @__PURE__ */ k({
2871
+ __name: "VoUserBadges",
2872
+ setup(p) {
2873
+ const e = F(), i = j(), n = w(() => {
2874
+ var l;
2875
+ return i.github || i.discord || i.isSubscriber || ((l = e.user) == null ? void 0 : l.isAdmin);
2876
+ });
2877
+ return (l, s) => n.value ? (d(), f(qe, {
2878
+ key: 0,
2879
+ class: "align-center position-absolute ms-2 d-flex ga-2 pa-2",
2880
+ color: "rgba(0,0,0,.54)",
2881
+ rounded: "lg",
2882
+ style: { left: "0" }
2883
+ }, {
2884
+ default: a(() => {
2885
+ var r;
2886
+ return [
2887
+ (r = t(e).user) != null && r.isAdmin ? (d(), f(J, {
2888
+ key: 0,
2889
+ location: "bottom",
2890
+ text: "Vuetify Administrator"
2891
+ }, {
2892
+ activator: a(({ props: c }) => [
2893
+ o(A, P({
2894
+ color: "blue",
2895
+ icon: "$vuetify"
2896
+ }, c, { size: "16" }), null, 16)
2897
+ ]),
2898
+ _: 1
2899
+ })) : x("", !0),
2900
+ t(i).isSubscriber ? (d(), f(J, {
2901
+ key: 1,
2902
+ location: "bottom",
2903
+ text: "Vuetify One Subscriber"
2904
+ }, {
2905
+ activator: a(({ props: c }) => [
2906
+ o(A, P({
2907
+ icon: `svg:${t(Kt)}`,
2908
+ color: "amber-darken-2"
2909
+ }, c, { size: "16" }), null, 16, ["icon"])
2910
+ ]),
2911
+ _: 1
2912
+ })) : x("", !0),
2913
+ t(i).github ? (d(), f(J, {
2914
+ key: 2,
2915
+ location: "bottom",
2916
+ text: "GitHub Sponsor"
398
2917
  }, {
399
- color: d.value,
400
- icon: u(t).user || u(t).isLoading,
401
- loading: u(t).isLoading,
402
- rounded: u(e),
403
- variant: u(t).user ? "outlined" : "flat",
404
- class: "vo-auth-btn",
405
- size: "default",
406
- style: { transition: ".2s ease" },
407
- active: ""
408
- }), {
409
- default: h(() => [
410
- u(t).user ? C("", !0) : (k(), oe("span", Ge, "Login")),
411
- u(t).user ? (k(), S(W, {
412
- key: 1,
413
- image: u(n).avatar || u(t).user.picture || ""
414
- }, null, 8, ["image"])) : C("", !0),
415
- _(c)
2918
+ activator: a(({ props: c }) => [
2919
+ o(A, P({
2920
+ icon: `svg:${t(Ee)}`,
2921
+ color: "white"
2922
+ }, c, { size: "16" }), null, 16, ["icon"])
416
2923
  ]),
417
2924
  _: 1
418
- }, 16, ["color", "icon", "loading", "rounded", "variant"])
419
- ]),
420
- _: 1
421
- }, 8, ["offset-y"]);
422
- };
2925
+ })) : x("", !0),
2926
+ t(i).discord ? (d(), f(J, {
2927
+ key: 3,
2928
+ location: "bottom",
2929
+ text: "Discord Subscriber"
2930
+ }, {
2931
+ activator: a(({ props: c }) => [
2932
+ o(A, P({
2933
+ icon: `svg:${t(He)}`,
2934
+ color: "white"
2935
+ }, c, { size: "16" }), null, 16, ["icon"])
2936
+ ]),
2937
+ _: 1
2938
+ })) : x("", !0)
2939
+ ];
2940
+ }),
2941
+ _: 1
2942
+ })) : x("", !0);
423
2943
  }
424
- }), Je = { class: "text-center" }, Qe = { class: "text-center mb-6" }, Xe = { class: "font-weight-light mb-2" }, Ye = /* @__PURE__ */ O("span", { class: "font-weight-bold" }, "Vuetify One", -1), Ze = /* @__PURE__ */ j({
425
- __name: "VoAuthCard",
426
- setup(o) {
427
- const t = I();
428
- return (a, n) => {
429
- const r = N("VoAuthGithub"), e = N("VoAuthDiscord");
430
- return k(), S(re, {
431
- class: "pt-6 pb-8 px-4 px-sm-8 mx-auto",
432
- "max-width": "480"
433
- }, {
434
- default: h(() => [
435
- O("div", Je, [
436
- _(W, {
437
- image: "https://vuetifyjs.b-cdn.net/docs/images/avatars/one.png",
438
- class: "mx-auto",
439
- size: "64"
440
- }, null, 8, ["image"])
2944
+ }), Kn = { class: "d-flex flex-grow-1 justify-end fill-height align-start" }, es = {
2945
+ key: "reset",
2946
+ class: "align-self-end"
2947
+ }, ts = /* @__PURE__ */ k({
2948
+ __name: "VoUserColors",
2949
+ setup(p) {
2950
+ const e = F(), i = O(), n = D(!1);
2951
+ function l() {
2952
+ i.colors.one = "surface-light";
2953
+ }
2954
+ return (s, r) => {
2955
+ const c = Xn, v = se;
2956
+ return d(), S(U, null, [
2957
+ o(Le, {
2958
+ color: t(e).user ? t(i).colors.one : "surface-light",
2959
+ "content-class": "d-flex align-start justify-end pa-2",
2960
+ height: "88",
2961
+ rounded: "0",
2962
+ cover: "",
2963
+ flat: ""
2964
+ }, {
2965
+ default: a(() => [
2966
+ h("div", Kn, [
2967
+ o(c),
2968
+ t(e).isSubscriber ? (d(), f(v, {
2969
+ key: 0,
2970
+ active: n.value,
2971
+ icon: n.value ? `svg:${t(le)}` : "$edit",
2972
+ variant: n.value ? "text" : "plain",
2973
+ class: "align-self-end",
2974
+ color: "inherit",
2975
+ density: "comfortable",
2976
+ title: "Edit One Header Color",
2977
+ onClick: r[0] || (r[0] = (u) => n.value = !n.value)
2978
+ }, {
2979
+ default: a(() => [
2980
+ o($e, { "leave-absolute": "" }, {
2981
+ default: a(() => [
2982
+ (d(), f(A, {
2983
+ key: String(n.value)
2984
+ }))
2985
+ ]),
2986
+ _: 1
2987
+ })
2988
+ ]),
2989
+ _: 1
2990
+ }, 8, ["active", "icon", "variant"])) : x("", !0),
2991
+ o(ro, null, {
2992
+ default: a(() => [
2993
+ xe(h("div", es, [
2994
+ o(v, {
2995
+ disabled: t(i).colors.one === "surface-light",
2996
+ icon: `svg:${t(eo)}`,
2997
+ class: "ms-2 me-1",
2998
+ color: "inherit",
2999
+ density: "comfortable",
3000
+ title: "Revert to Default",
3001
+ variant: "text",
3002
+ onClick: l
3003
+ }, null, 8, ["disabled", "icon"])
3004
+ ], 512), [
3005
+ [Re, n.value]
3006
+ ])
3007
+ ]),
3008
+ _: 1
3009
+ })
3010
+ ])
441
3011
  ]),
442
- O("div", Qe, [
443
- _(Ce, { class: "text-h5 mb-1 text-md-h4" }, {
444
- default: h(() => [
445
- O("div", Xe, z(u(t).lastLoginProvider() ? "Welcome back to" : "Login to"), 1),
446
- Ye
447
- ]),
448
- _: 1
449
- }),
450
- _(Fe, { class: "text-wrap" }, {
451
- default: h(() => [
452
- M(" Login with GitHub or Discord to save your settings and unlock exclusive subscriber perks. ")
453
- ]),
454
- _: 1
455
- })
3012
+ _: 1
3013
+ }, 8, ["color"]),
3014
+ o(he, null, {
3015
+ default: a(() => [
3016
+ n.value ? (d(), f(go, {
3017
+ key: 0,
3018
+ "model-value": t(i).colors.one !== "surface-light" ? t(i).colors.one : void 0,
3019
+ elevation: "0",
3020
+ height: "250",
3021
+ rounded: "0",
3022
+ "swatches-max-height": "200",
3023
+ width: "278",
3024
+ "hide-canvas": "",
3025
+ "hide-inputs": "",
3026
+ "hide-sliders": "",
3027
+ "show-swatches": "",
3028
+ "onUpdate:modelValue": r[1] || (r[1] = (u) => t(i).colors.one = u)
3029
+ }, null, 8, ["model-value"])) : x("", !0)
456
3030
  ]),
457
- _(ie, {
458
- class: "mx-auto",
459
- "max-width": "300",
460
- width: "100%"
3031
+ _: 1
3032
+ })
3033
+ ], 64);
3034
+ };
3035
+ }
3036
+ }), os = { class: "text-center mt-n9 mb-4" }, ns = /* @__PURE__ */ k({
3037
+ __name: "VoUserMenu",
3038
+ setup(p) {
3039
+ const e = Ne(), i = j(), n = H();
3040
+ return N(() => e.banner, async () => {
3041
+ var l, s;
3042
+ await new Promise((r) => setTimeout(r, 300)), i.isOpen && ((s = (l = n.value) == null ? void 0 : l.updateLocation) == null || s.call(l));
3043
+ }, { flush: "pre" }), (l, s) => {
3044
+ const r = ts, c = Jn, v = Gn, u = Hn, m = ct;
3045
+ return d(), f(t(bo), {
3046
+ ref_key: "menu",
3047
+ ref: n,
3048
+ modelValue: t(i).isOpen,
3049
+ "onUpdate:modelValue": s[0] || (s[0] = (b) => t(i).isOpen = b),
3050
+ "close-on-click": !1,
3051
+ "close-on-content-click": !1,
3052
+ activator: "parent",
3053
+ location: "bottom end",
3054
+ eager: ""
3055
+ }, {
3056
+ default: a(() => [
3057
+ o(M, {
3058
+ rounded: "lg",
3059
+ width: "280",
3060
+ border: ""
461
3061
  }, {
462
- default: h(() => [
463
- _(r, { class: "mb-3" }),
464
- _(e)
3062
+ default: a(() => [
3063
+ o(r),
3064
+ h("div", os, [
3065
+ o(c),
3066
+ o(v)
3067
+ ]),
3068
+ o(W),
3069
+ o(u),
3070
+ o(W),
3071
+ o(m)
465
3072
  ]),
466
3073
  _: 1
467
3074
  })
468
3075
  ]),
469
3076
  _: 1
470
- });
471
- };
472
- }
473
- }), Ke = /* @__PURE__ */ j({
474
- __name: "VoAuthDialog",
475
- setup(o) {
476
- const t = I();
477
- return (a, n) => {
478
- const r = N("VoAuthCard");
479
- return k(), S(De, {
480
- modelValue: u(t).dialog,
481
- "onUpdate:modelValue": n[0] || (n[0] = (e) => u(t).dialog = e),
482
- "max-width": "480"
483
- }, {
484
- default: h(() => [
485
- _(r)
486
- ]),
487
- _: 1
488
3077
  }, 8, ["modelValue"]);
489
3078
  };
490
3079
  }
491
- }), et = D("site", () => {
492
- const o = L([]), t = L();
493
- return {
494
- id: o,
495
- url: t
496
- };
497
- }), tt = D("banners", () => {
498
- const o = J(), t = et(), a = T(), n = L([]), r = B(!1), e = g(() => d.value ? d.value : n.value.find(({
499
- slug: m,
500
- metadata: {
501
- site: c,
502
- active: b
503
- }
504
- }) => !b || a.notifications.last.banner.includes(m) ? !1 : c.includes("dev") && !1 || c.includes("*") ? !0 : c.some((v) => t.id.includes(v)))), d = g(() => n.value.find(({
505
- metadata: {
506
- site: m,
507
- active: c
508
- }
509
- }) => c ? m.includes("server") : !1));
510
- async function y() {
511
- try {
512
- r.value = !0;
513
- const m = await o.get("/one/banners");
514
- n.value = m.banners;
515
- } catch {
516
- } finally {
517
- r.value = !1;
518
- }
519
- return n.value;
3080
+ }), ss = { key: 0 }, as = /* @__PURE__ */ k({
3081
+ __name: "VoAuthBtn",
3082
+ props: {
3083
+ external: Boolean
3084
+ },
3085
+ setup(p) {
3086
+ const e = F(), i = j(), n = O(), { lgAndUp: l, mdAndDown: s } = re(), r = w(() => i.isOpen || !e.user ? n.colors.one === "surface-light" ? "primary" : n.colors.one : "surface-light");
3087
+ return (c, v) => {
3088
+ const u = ns, m = se, b = Ao, V = rt;
3089
+ return d(), S(U, null, [
3090
+ o(b, {
3091
+ "offset-y": t(e).user ? 5 : 0
3092
+ }, {
3093
+ default: a(() => [
3094
+ o(m, P({
3095
+ [`${t(l) ? "append-" : ""}icon`]: t(e).user ? void 0 : `svg:${t(to)}`
3096
+ }, {
3097
+ color: r.value,
3098
+ icon: t(e).user || t(e).isLoading,
3099
+ loading: t(e).isLoading,
3100
+ rounded: t(s),
3101
+ variant: t(e).user ? "outlined" : "flat",
3102
+ class: "vo-auth-btn",
3103
+ size: "default",
3104
+ style: { transition: ".2s ease" },
3105
+ active: ""
3106
+ }), {
3107
+ default: a(() => [
3108
+ t(e).user ? x("", !0) : (d(), S("span", ss, "Login")),
3109
+ t(e).user ? (d(), f(ne, {
3110
+ key: 1,
3111
+ image: t(n).avatar || t(e).user.picture || ""
3112
+ }, null, 8, ["image"])) : x("", !0),
3113
+ o(u)
3114
+ ]),
3115
+ _: 1
3116
+ }, 16, ["color", "icon", "loading", "rounded", "variant"])
3117
+ ]),
3118
+ _: 1
3119
+ }, 8, ["offset-y"]),
3120
+ o(V)
3121
+ ], 64);
3122
+ };
520
3123
  }
521
- return {
522
- all: n,
523
- isLoading: r,
524
- server: d,
525
- banner: e,
526
- get: y
527
- };
528
- }), nt = /* @__PURE__ */ j({
3124
+ }), is = /* @__PURE__ */ k({
529
3125
  __name: "VoNotificationsBanner",
530
- setup(o) {
531
- const { mdAndUp: t } = se(), a = Z(), n = T(), r = tt(), e = g(() => r.banner), d = g(() => {
532
- var v, w;
533
- return ((v = e.value) == null ? void 0 : v.metadata.height) || ((w = e.value) != null && w.metadata.subtext ? 88 : 48);
534
- }), y = g(() => !e.value || !n.notifications.last.banner.includes(e.value.slug));
535
- function m() {
536
- e.value && n.notifications.last.banner.push(e.value.slug);
3126
+ setup(p) {
3127
+ const { mdAndUp: e } = re(), i = Pe(), n = O(), l = Ne(), s = w(() => l.banner), r = w(() => {
3128
+ var b, V;
3129
+ return ((b = s.value) == null ? void 0 : b.metadata.height) || ((V = s.value) != null && V.metadata.subtext ? 88 : 48);
3130
+ }), c = w(() => !s.value || !n.notifications.last.banner.includes(s.value.slug));
3131
+ function v() {
3132
+ s.value && n.notifications.last.banner.push(s.value.slug);
537
3133
  }
538
- async function c(v) {
539
- var f;
540
- if (!e.value)
3134
+ async function u(b) {
3135
+ var _;
3136
+ if (!s.value)
541
3137
  return;
542
- m(), await ve();
543
- const w = ((f = e.value) == null ? void 0 : f.metadata) ?? { link: "" };
544
- if (w.link.indexOf("?one=") === -1)
3138
+ v(), await fe();
3139
+ const V = ((_ = s.value) == null ? void 0 : _.metadata) ?? { link: "" };
3140
+ if (V.link.indexOf("?one=") === -1)
545
3141
  return;
546
- v.preventDefault(), v.stopPropagation();
547
- const V = w.link.split("?one=")[1];
548
- a.push({ query: { one: V } });
3142
+ b.preventDefault(), b.stopPropagation();
3143
+ const C = V.link.split("?one=")[1];
3144
+ i.push({ query: { one: C } });
549
3145
  }
550
- const b = g(() => {
551
- var w, V;
552
- const v = ((w = e.value) == null ? void 0 : w.metadata) ?? { link: "" };
3146
+ const m = w(() => {
3147
+ var V, C;
3148
+ const b = ((V = s.value) == null ? void 0 : V.metadata) ?? { link: "" };
553
3149
  return {
554
- href: v.link.startsWith("http") ? v.link : void 0,
555
- target: v.link.startsWith("http") ? "_blank" : void 0,
556
- to: v.link.startsWith("http") ? void 0 : v.link,
557
- ...(V = e.value) == null ? void 0 : V.metadata.attributes,
558
- onClick: c
3150
+ href: b.link.startsWith("http") ? b.link : void 0,
3151
+ target: b.link.startsWith("http") ? "_blank" : void 0,
3152
+ to: b.link.startsWith("http") ? void 0 : b.link,
3153
+ ...(C = s.value) == null ? void 0 : C.metadata.attributes,
3154
+ onClick: u
559
3155
  };
560
3156
  });
561
- return (v, w) => {
562
- var V;
563
- return e.value ? (k(), S(Ie, {
3157
+ return (b, V) => {
3158
+ var C;
3159
+ return s.value ? (d(), f(yo, {
564
3160
  key: 0,
565
- color: e.value.metadata.color,
566
- height: d.value,
567
- image: (V = e.value.metadata.images.bg) == null ? void 0 : V.url,
568
- "model-value": y.value,
569
- theme: e.value.metadata.theme.key,
3161
+ color: s.value.metadata.color,
3162
+ height: r.value,
3163
+ image: (C = s.value.metadata.images.bg) == null ? void 0 : C.url,
3164
+ "model-value": c.value,
570
3165
  flat: ""
571
3166
  }, {
572
- default: h(() => [
573
- _(ue, Y(b.value, {
3167
+ default: a(() => [
3168
+ o(_e, P(m.value, {
574
3169
  active: !1,
575
3170
  class: "flex-grow-1",
576
3171
  lines: "two",
577
- onClick: c
578
- }), me({
579
- append: h(() => [
580
- u(t) && e.value.metadata.link && e.value.metadata.link_text ? (k(), S(Ee, { key: 0 }, {
581
- default: h(({ isHovering: f, props: i }) => [
582
- _(K, Y({
583
- ...i,
584
- ...b.value
3172
+ onClick: u
3173
+ }), G({
3174
+ append: a(() => [
3175
+ t(e) && s.value.metadata.link && s.value.metadata.link_text ? (d(), f(Ce, { key: 0 }, {
3176
+ default: a(({ isHovering: _, props: y }) => [
3177
+ o(E, P({
3178
+ ...y,
3179
+ ...m.value
585
3180
  }, {
586
- "append-icon": `svg:${u(ke)}`,
587
- color: e.value.metadata.link_color,
588
- elevation: f ? 8 : 0,
589
- title: e.value.metadata.link_text,
3181
+ "append-icon": `svg:${t(ve)}`,
3182
+ color: s.value.metadata.link_color,
3183
+ elevation: _ ? 8 : 0,
3184
+ title: s.value.metadata.link_text,
590
3185
  class: "text-none me-2",
591
3186
  variant: "elevated",
592
- onClick: c
3187
+ onClick: u
593
3188
  }), {
594
- default: h(() => [
595
- M(z(e.value.metadata.link_text), 1)
3189
+ default: a(() => [
3190
+ B(I(s.value.metadata.link_text), 1)
596
3191
  ]),
597
3192
  _: 2
598
3193
  }, 1040, ["append-icon", "color", "elevation", "title"])
599
3194
  ]),
600
3195
  _: 1
601
- })) : C("", !0),
602
- e.value.metadata.closable ? (k(), S(K, {
3196
+ })) : x("", !0),
3197
+ s.value.metadata.closable ? (d(), f(E, {
603
3198
  key: 1,
604
3199
  class: "ms-6 me-2",
605
3200
  density: "comfortable",
606
3201
  icon: "$clear",
607
3202
  size: "small",
608
3203
  variant: "plain",
609
- onClick: ae(m, ["prevent", "stop"])
610
- })) : C("", !0)
3204
+ onClick: Te(v, ["prevent", "stop"])
3205
+ })) : x("", !0)
611
3206
  ]),
612
- default: h(() => [
613
- e.value.metadata.text ? (k(), S(Ne, {
3207
+ default: a(() => [
3208
+ s.value.metadata.text ? (d(), f(et, {
614
3209
  key: 0,
615
3210
  class: "text-subtitle-2 text-md-subtitle-1 font-weight-medium"
616
3211
  }, {
617
- default: h(() => [
618
- M(z(e.value.metadata.text), 1)
3212
+ default: a(() => [
3213
+ B(I(s.value.metadata.text), 1)
619
3214
  ]),
620
3215
  _: 1
621
- })) : C("", !0),
622
- e.value.metadata.subtext ? (k(), S(Oe, { key: 1 }, {
623
- default: h(() => [
624
- M(z(e.value.metadata.subtext), 1)
3216
+ })) : x("", !0),
3217
+ s.value.metadata.subtext ? (d(), f(so, { key: 1 }, {
3218
+ default: a(() => [
3219
+ B(I(s.value.metadata.subtext), 1)
625
3220
  ]),
626
3221
  _: 1
627
- })) : C("", !0)
3222
+ })) : x("", !0)
628
3223
  ]),
629
3224
  _: 2
630
3225
  }, [
631
- e.value.metadata.images.logo ? {
3226
+ s.value.metadata.images.logo ? {
632
3227
  name: "prepend",
633
- fn: h(() => [
634
- _(W, {
635
- image: e.value.metadata.images.logo.url,
3228
+ fn: a(() => [
3229
+ o(ne, {
3230
+ image: s.value.metadata.images.logo.url,
636
3231
  size: "x-large"
637
3232
  }, null, 8, ["image"])
638
3233
  ]),
@@ -641,103 +3236,16 @@ const qe = D("one", () => {
641
3236
  ]), 1040)
642
3237
  ]),
643
3238
  _: 1
644
- }, 8, ["color", "height", "image", "model-value", "theme"])) : C("", !0);
645
- };
646
- }
647
- }), ot = { class: "pa-4 d-flex flex-column ga-4" }, at = /* @__PURE__ */ j({
648
- __name: "VoAuthListItem",
649
- setup(o) {
650
- const t = I(), a = T(), n = B(!t.user && !t.isLoading);
651
- F(() => t.user, (e) => {
652
- n.value = !e;
653
- });
654
- function r() {
655
- t.user && (n.value = !n.value);
656
- }
657
- return (e, d) => {
658
- const y = N("VoAuthGithub"), m = N("VoAuthDiscord");
659
- return k(), S(re, {
660
- variant: n.value ? "tonal" : "text",
661
- class: "ma-2",
662
- rounded: "lg"
663
- }, {
664
- default: h(() => [
665
- _(ie, { class: "py-0" }, {
666
- default: h(() => [
667
- _(ue, {
668
- link: !!u(t).user,
669
- "prepend-icon": `svg:${u(t).user && u(a).syncSettings ? u(Ve) : u(Se)}`,
670
- title: u(t).user && u(a).syncSettings ? "Sync is on" : "Sync is paused",
671
- class: "mb-0",
672
- rounded: "b-0",
673
- nav: "",
674
- slim: "",
675
- onClick: r
676
- }, {
677
- append: h(() => [
678
- _(Te, null, {
679
- default: h(() => [
680
- u(t).user && (n.value || !u(a).syncSettings) ? (k(), S(je, {
681
- key: 0,
682
- modelValue: u(a).syncSettings,
683
- "onUpdate:modelValue": d[0] || (d[0] = (c) => u(a).syncSettings = c),
684
- color: u(a).syncSettings ? "success" : void 0,
685
- density: "compact",
686
- "hide-details": "",
687
- inset: "",
688
- onClick: d[1] || (d[1] = ae(() => {
689
- }, ["stop"]))
690
- }, {
691
- thumb: h(() => [
692
- _(W, {
693
- color: u(a).syncSettings ? "success" : void 0
694
- }, null, 8, ["color"])
695
- ]),
696
- _: 1
697
- }, 8, ["modelValue", "color"])) : C("", !0)
698
- ]),
699
- _: 1
700
- })
701
- ]),
702
- _: 1
703
- }, 8, ["link", "prepend-icon", "title"]),
704
- _(Re, null, {
705
- default: h(() => [
706
- !u(t).user && !u(t).isLoading || n.value ? (k(), S(Be, {
707
- key: 0,
708
- border: "t",
709
- color: "transparent"
710
- }, {
711
- default: h(() => [
712
- O("div", ot, [
713
- _(y, {
714
- onClick: d[2] || (d[2] = (c) => n.value = !1)
715
- }),
716
- _(m, {
717
- onClick: d[3] || (d[3] = (c) => n.value = !1)
718
- })
719
- ])
720
- ]),
721
- _: 1
722
- })) : C("", !0)
723
- ]),
724
- _: 1
725
- })
726
- ]),
727
- _: 1
728
- })
729
- ]),
730
- _: 1
731
- }, 8, ["variant"]);
3239
+ }, 8, ["color", "height", "image", "model-value"])) : x("", !0);
732
3240
  };
733
3241
  }
734
- }), st = (o) => (ge("data-v-d0145a63"), o = o(), be(), o), rt = ["href", "title"], it = {
3242
+ }), ls = (p) => (gt("data-v-d0145a63"), p = p(), bt(), p), rs = ["href", "title"], cs = {
735
3243
  class: "text-caption text-disabled",
736
3244
  style: { position: "absolute", right: "16px" }
737
- }, ut = /* @__PURE__ */ st(() => /* @__PURE__ */ O("span", { class: "d-none d-sm-inline-block" }, "Vuetify, LLC", -1)), ct = /* @__PURE__ */ j({
3245
+ }, us = /* @__PURE__ */ ls(() => /* @__PURE__ */ h("span", { class: "d-none d-sm-inline-block" }, "Vuetify, LLC", -1)), ds = /* @__PURE__ */ k({
738
3246
  __name: "VoFooter",
739
- setup(o) {
740
- const t = [
3247
+ setup(p) {
3248
+ const e = [
741
3249
  {
742
3250
  title: "Vuetify Documentation",
743
3251
  icon: "$vuetify",
@@ -745,7 +3253,7 @@ const qe = D("one", () => {
745
3253
  },
746
3254
  {
747
3255
  title: "Vuetify Support",
748
- icon: `svg:${xe}`,
3256
+ icon: `svg:${oo}`,
749
3257
  href: "https://support.vuetifyjs.com/"
750
3258
  },
751
3259
  {
@@ -755,308 +3263,157 @@ const qe = D("one", () => {
755
3263
  },
756
3264
  {
757
3265
  title: "Vuetify GitHub",
758
- icon: `svg:${$e}`,
3266
+ icon: `svg:${Ee}`,
759
3267
  href: "https://github.com/vuetifyjs/vuetify"
760
3268
  },
761
3269
  {
762
3270
  title: "Vuetify Discord",
763
- icon: `svg:${Le}`,
3271
+ icon: `svg:${He}`,
764
3272
  href: "https://community.vuetifyjs.com/"
765
3273
  },
766
3274
  {
767
3275
  title: "Vuetify Reddit",
768
- icon: `svg:${Ae}`,
3276
+ icon: `svg:${no}`,
769
3277
  href: "https://reddit.com/r/vuetifyjs"
770
3278
  }
771
3279
  ];
772
- return (a, n) => (k(), S(Ue, {
3280
+ return (i, n) => (d(), f(Vo, {
773
3281
  class: "vo-footer",
774
3282
  height: "40"
775
3283
  }, {
776
- default: h(() => [
777
- (k(), oe(he, null, ye(t, (r) => O("a", {
778
- key: r.title,
779
- href: r.href,
780
- title: r.title,
3284
+ default: a(() => [
3285
+ (d(), S(U, null, oe(e, (l) => h("a", {
3286
+ key: l.title,
3287
+ href: l.href,
3288
+ title: l.title,
781
3289
  class: "d-inline-block mx-2 social-link",
782
3290
  rel: "noopener noreferrer",
783
3291
  target: "_blank"
784
3292
  }, [
785
- _(He, {
786
- icon: r.icon,
787
- size: r.icon === "$vuetify" ? 24 : 16
3293
+ o(A, {
3294
+ icon: l.icon,
3295
+ size: l.icon === "$vuetify" ? 24 : 16
788
3296
  }, null, 8, ["icon", "size"])
789
- ], 8, rt)), 64)),
790
- O("div", it, [
791
- M(" © 2016-" + z((/* @__PURE__ */ new Date()).getFullYear()) + " ", 1),
792
- ut
3297
+ ], 8, rs)), 64)),
3298
+ h("div", cs, [
3299
+ B(" © 2016-" + I((/* @__PURE__ */ new Date()).getFullYear()) + " ", 1),
3300
+ us
793
3301
  ])
794
3302
  ]),
795
3303
  _: 1
796
3304
  }));
797
3305
  }
798
- }), lt = (o, t) => {
799
- const a = o.__vccOpts || o;
800
- for (const [n, r] of t)
801
- a[n] = r;
802
- return a;
803
- }, dt = /* @__PURE__ */ lt(ct, [["__scopeId", "data-v-d0145a63"]]), Nt = D("bins", () => {
804
- const o = I(), t = J(), a = L([]), n = L(), r = B(!1), e = B(-1), d = g(() => !o.user || !n.value ? !1 : o.user.id === n.value.owner.id), y = g(() => a.value.filter((i) => i.favorite)), m = g(() => a.value.filter((i) => i.pinned));
805
- F(n, () => {
806
- window.clearTimeout(e.value), e.value = window.setTimeout(() => {
807
- !n.value || !d.value || w(n.value, n.value.id);
3306
+ }), ps = (p, e) => {
3307
+ const i = p.__vccOpts || p;
3308
+ for (const [n, l] of e)
3309
+ i[n] = l;
3310
+ return i;
3311
+ }, ms = /* @__PURE__ */ ps(ds, [["__scopeId", "data-v-d0145a63"]]), ea = X("bins", () => {
3312
+ const p = F(), e = ge(), i = H([]), n = H(), l = D(!1), s = D(-1), r = w(() => !p.user || !n.value ? !1 : p.user.id === n.value.owner.id), c = w(() => i.value.filter((y) => y.favorite)), v = w(() => i.value.filter((y) => y.pinned));
3313
+ N(n, () => {
3314
+ window.clearTimeout(s.value), s.value = window.setTimeout(() => {
3315
+ !n.value || !r.value || V(n.value, n.value.id);
808
3316
  }, 100);
809
3317
  }, { deep: !0 });
810
- async function c() {
3318
+ async function u() {
811
3319
  try {
812
- r.value = !0;
813
- const i = await t.get("/one/bins");
814
- a.value = i.bins;
3320
+ l.value = !0;
3321
+ const y = await e.get("/one/bins");
3322
+ i.value = y.bins;
815
3323
  } catch {
816
3324
  } finally {
817
- r.value = !1;
3325
+ l.value = !1;
818
3326
  }
819
- return a.value;
3327
+ return i.value;
820
3328
  }
821
- async function b(i) {
3329
+ async function m(y) {
822
3330
  try {
823
- r.value = !0, await t.delete(`/one/bins/${i}`), a.value = a.value.filter((p) => p.id !== i);
3331
+ l.value = !0, await e.delete(`/one/bins/${y}`), i.value = i.value.filter(($) => $.id !== y);
824
3332
  } catch {
825
3333
  } finally {
826
- r.value = !1;
3334
+ l.value = !1;
827
3335
  }
828
3336
  return !0;
829
3337
  }
830
- async function v(i) {
3338
+ async function b(y) {
831
3339
  try {
832
- r.value = !0;
833
- const p = await t.post("/one/bins", { bin: i });
834
- return a.value.push(p.bin), n.value = p.bin, p;
3340
+ l.value = !0;
3341
+ const $ = await e.post("/one/bins", { bin: y });
3342
+ return i.value.push($.bin), n.value = $.bin, $;
835
3343
  } catch {
836
3344
  } finally {
837
- r.value = !1;
3345
+ l.value = !1;
838
3346
  }
839
- return { bin: i };
3347
+ return { bin: y };
840
3348
  }
841
- async function w(i, p) {
3349
+ async function V(y, $) {
842
3350
  try {
843
- r.value = !0;
844
- const x = await t.post(`/one/bins/${p}`, { bin: i }), R = a.value.findIndex((U) => U.id === p);
845
- a.value.splice(R, 1, x.bin);
3351
+ l.value = !0;
3352
+ const z = await e.post(`/one/bins/${$}`, { bin: y }), T = i.value.findIndex((te) => te.id === $);
3353
+ i.value.splice(T, 1, z.bin);
846
3354
  } catch {
847
3355
  } finally {
848
- r.value = !1;
3356
+ l.value = !1;
849
3357
  }
850
- return { bin: i };
3358
+ return { bin: y };
851
3359
  }
852
- async function V(i, p) {
3360
+ async function C(y, $) {
853
3361
  try {
854
- r.value = !0;
855
- const x = p ? await w(i, p) : await v(i);
856
- n.value = x.bin;
3362
+ l.value = !0;
3363
+ const z = $ ? await V(y, $) : await b(y);
3364
+ n.value = z.bin;
857
3365
  } catch {
858
3366
  } finally {
859
- r.value = !1;
3367
+ l.value = !1;
860
3368
  }
861
- return { bin: i };
3369
+ return { bin: y };
862
3370
  }
863
- async function f(i) {
3371
+ async function _(y) {
864
3372
  try {
865
- r.value = !0;
866
- const p = await t.get(`/one/bins/${i}`);
867
- n.value = p.bin;
3373
+ l.value = !0;
3374
+ const $ = await e.get(`/one/bins/${y}`);
3375
+ n.value = $.bin;
868
3376
  } catch {
869
3377
  } finally {
870
- r.value = !1;
3378
+ l.value = !1;
871
3379
  }
872
3380
  return { bin: n.value };
873
3381
  }
874
3382
  return {
875
- isLoading: r,
876
- isOwner: d,
877
- pinned: m,
878
- favorites: y,
879
- all: a,
880
- create: v,
881
- delete: b,
3383
+ isLoading: l,
3384
+ isOwner: r,
3385
+ pinned: v,
3386
+ favorites: c,
3387
+ all: i,
3388
+ create: b,
3389
+ delete: m,
882
3390
  current: n,
883
- find: f,
884
- get: c,
885
- update: w,
886
- updateOrCreate: V
887
- };
888
- });
889
- function ft() {
890
- return {
891
- blackguard: {
892
- dark: !0,
893
- colors: {
894
- background: "#0f0c24",
895
- primary: "#e7810d",
896
- surface: "#1e184a",
897
- info: "#9c27b0",
898
- accent: "#FF4081",
899
- success: "#84b38a",
900
- "surface-light": "#362b89",
901
- "surface-bright": "#564f8a",
902
- "surface-variant": "#6458b4",
903
- "on-surface-variant": "#FFFFFF",
904
- "primary-darken-1": "#c56e0b",
905
- secondary: "#8A2BE2",
906
- "secondary-darken-1": "#7919cb",
907
- error: "#FF5555",
908
- warning: "#ffa726"
909
- },
910
- variables: {
911
- "border-color": "#FFFFFF",
912
- "border-opacity": 0.12,
913
- "high-emphasis-opacity": 0.87,
914
- "medium-emphasis-opacity": 0.6,
915
- "disabled-opacity": 0.38,
916
- "idle-opacity": 0.1,
917
- "hover-opacity": 0.08,
918
- "focus-opacity": 0.12,
919
- "selected-opacity": 0.12,
920
- "activated-opacity": 0.12,
921
- "pressed-opacity": 0.16,
922
- "dragged-opacity": 0.08,
923
- "theme-kbd": "#212529",
924
- "theme-on-kbd": "#FFFFFF",
925
- "theme-code": "#343434",
926
- "theme-on-code": "#CCCCCC"
927
- }
928
- },
929
- nebula: {
930
- dark: !0,
931
- colors: {
932
- background: "#0a0f1b",
933
- surface: "#1c1f2a",
934
- primary: "#4d5b9e",
935
- "primary-darken-1": "#424a8c",
936
- secondary: "#7a82d2",
937
- accent: "#00eaff",
938
- info: "#29b6f6",
939
- warning: "#ffeb3b",
940
- error: "#e91e63",
941
- success: "#4caf50",
942
- "on-surface-variant": "#5c6bc0",
943
- "surface-light": "#2a3c66",
944
- "secondary-darken-1": "#686f9a"
945
- },
946
- variables: {
947
- "border-color": "#FFFFFF",
948
- "border-opacity": 0.12,
949
- "high-emphasis-opacity": 0.87,
950
- "medium-emphasis-opacity": 0.6,
951
- "disabled-opacity": 0.38,
952
- "idle-opacity": 0.1,
953
- "hover-opacity": 0.08,
954
- "focus-opacity": 0.12,
955
- "selected-opacity": 0.12,
956
- "activated-opacity": 0.12,
957
- "pressed-opacity": 0.16,
958
- "dragged-opacity": 0.08,
959
- "theme-kbd": "#212529",
960
- "theme-on-kbd": "#FFFFFF",
961
- "theme-code": "#343434",
962
- "theme-on-code": "#CCCCCC"
963
- }
964
- },
965
- highContrast: {
966
- dark: !0,
967
- colors: {
968
- background: "#000000",
969
- surface: "#000000",
970
- primary: "#ffD700",
971
- "primary-darken-1": "#e6c300",
972
- secondary: "#00ff00",
973
- "secondary-darken-1": "#00e600",
974
- accent: "#ff00ff",
975
- info: "#31aaff",
976
- warning: "#ffaa00",
977
- error: "#ff0000",
978
- success: "#00ff00",
979
- "on-surface-variant": "#000000",
980
- "surface-light": "#f2f2f2",
981
- "surface-bright": "#e6e6e6",
982
- "surface-variant": "#cccccc"
983
- },
984
- variables: {
985
- "border-color": "#ffffff",
986
- "border-opacity": 0.87,
987
- "high-emphasis-opacity": 1,
988
- "medium-emphasis-opacity": 0.87,
989
- "disabled-opacity": 0.5,
990
- "idle-opacity": 0.1,
991
- "hover-opacity": 0.2,
992
- "focus-opacity": 0.3,
993
- "selected-opacity": 0.3,
994
- "activated-opacity": 0.3,
995
- "pressed-opacity": 0.4,
996
- "dragged-opacity": 0.2,
997
- "theme-kbd": "#000000",
998
- "theme-on-kbd": "#ffffff",
999
- "theme-code": "#000000",
1000
- "theme-on-code": "#ffffff"
1001
- }
1002
- }
1003
- };
1004
- }
1005
- const Ot = D("settings", () => {
1006
- const o = "https://cdn.vuetifyjs.com/docs/images/one/", t = I(), a = T(), n = _e(), r = ft(), e = {
1007
- blackguard: {
1008
- "app-bar": o + "suits/blackguard/blackguard-app-bar.png",
1009
- drawer: o + "suits/blackguard/blackguard-app-drawer.png",
1010
- footer: ""
1011
- }
1012
- // polaris: {
1013
- // 'app-bar': '',
1014
- // 'drawer': '',
1015
- // footer: '',
1016
- // },
1017
- // nebula: {
1018
- // 'app-bar': '',
1019
- // 'drawer': '',
1020
- // footer: '',
1021
- // },
1022
- }, d = g(() => {
1023
- if (!a.suits.suit || !a.suits.show || !t.isSubscriber)
1024
- return {};
1025
- const y = e[a.suits.suit.toLowerCase()], m = {};
1026
- for (const c of a.suits.elements)
1027
- m[c] = y[c];
1028
- return m;
1029
- });
1030
- return n.themes.value = {
1031
- ...n.themes.value,
1032
- ...r
1033
- }, F(() => a.theme, (y) => {
1034
- y === "system" ? n.global.name.value = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : n.global.name.value = y, a.theme = y;
1035
- }, { immediate: !0 }), {
1036
- suit: d,
1037
- CDN_URL: o
3391
+ find: _,
3392
+ get: u,
3393
+ update: V,
3394
+ updateOrCreate: C
1038
3395
  };
1039
3396
  });
1040
- function Dt() {
1041
- function o(t) {
1042
- t.component("VoAuthBtn", We), t.component("VoAuthCard", Ze), t.component("VoAuthDialog", Ke), t.component("VoAuthListItem", at), t.component("VoNotificationsBanner", nt), t.component("VoFooter", dt);
3397
+ function ta() {
3398
+ function p(e) {
3399
+ e.component("VoAuthBtn", as), e.component("VoAuthCard", lt), e.component("VoAuthDialog", rt), e.component("VoAuthListItem", ct), e.component("VoNotificationsBanner", is), e.component("VoFooter", ms);
1043
3400
  }
1044
- return { install: o };
3401
+ return { install: p };
1045
3402
  }
1046
- function It(o, t) {
1047
- return function(a) {
1048
- const n = a.store;
1049
- n.url = t, n.$id === "site" && (n.id = o);
3403
+ function oa(p, e) {
3404
+ return function(i) {
3405
+ const n = i.store;
3406
+ n.url = e, n.$id === "site" && (n.id = p);
1050
3407
  };
1051
3408
  }
1052
3409
  export {
1053
- Dt as createOne,
1054
- It as one,
1055
- I as useAuthStore,
1056
- tt as useBannersStore,
1057
- Nt as useBinsStore,
1058
- J as useHttpStore,
1059
- qe as useOneStore,
1060
- Ot as useSettingsStore,
1061
- T as useUserStore
3410
+ ta as createOne,
3411
+ oa as one,
3412
+ F as useAuthStore,
3413
+ Ne as useBannersStore,
3414
+ ea as useBinsStore,
3415
+ ge as useHttpStore,
3416
+ j as useOneStore,
3417
+ Be as useSettingsStore,
3418
+ O as useUserStore
1062
3419
  };