@vuetify/one 1.1.1 → 1.1.2

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