@vuetify/one 0.6.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.js +278 -237
  2. package/package.json +1 -1
  3. package/dist/index.d.ts +0 -786
package/dist/index.js CHANGED
@@ -1,51 +1,51 @@
1
- import { reactive as Y, toRefs as Z, ref as T, shallowRef as H, computed as b, watch as B, defineComponent as S, openBlock as g, createBlock as _, unref as a, withCtx as p, createVNode as f, createTextVNode as A, toDisplayString as N, createCommentVNode as K, mergeProps as Q, createElementVNode as j, createElementBlock as ee, Fragment as te, renderList as oe, pushScopeId as ne, popScopeId as se, onBeforeMount as ie } from "vue";
2
- import { defineStore as k } from "pinia";
3
- import { merge as C } from "lodash-es";
4
- import { mdiDiscord as M, mdiGithub as G, mdiViewDashboard as re, mdiLogoutVariant as ae, mdiLogin as le, mdiShieldStarOutline as ce, mdiReddit as ue } from "@mdi/js";
5
- import { VListItem as z, VList as J, VListSubheader as de } from "vuetify/lib/components/VList/index.mjs";
6
- import { VAvatar as fe } from "vuetify/lib/components/VAvatar/index.mjs";
1
+ import { reactive as Y, toRefs as Z, ref as B, shallowRef as D, computed as g, watch as N, defineComponent as $, openBlock as h, createBlock as b, unref as l, withCtx as v, createVNode as p, createTextVNode as j, toDisplayString as U, createCommentVNode as K, mergeProps as Q, createElementVNode as C, createElementBlock as ee, Fragment as te, renderList as ne, pushScopeId as oe, popScopeId as se, onBeforeMount as ie } from "vue";
2
+ import { defineStore as S } from "pinia";
3
+ import { merge as T } from "lodash-es";
4
+ import { mdiDiscord as M, mdiGithub as G, mdiViewDashboard as re, mdiLogoutVariant as ae, mdiLogin as le, mdiShieldStarOutline as ue, mdiReddit as ce } from "@mdi/js";
5
+ import { VListItem as z, VList as J, VListSubheader as fe } from "vuetify/lib/components/VList/index.mjs";
6
+ import { VAvatar as de } from "vuetify/lib/components/VAvatar/index.mjs";
7
7
  import { VBtn as W } from "vuetify/lib/components/VBtn/index.mjs";
8
8
  import { VMenu as pe } from "vuetify/lib/components/VMenu/index.mjs";
9
- import { VSkeletonLoader as me } from "vuetify/lib/components/VSkeletonLoader/index.mjs";
10
- import { useDisplay as ve, useTheme as he } from "vuetify";
9
+ import { VSkeletonLoader as ve } from "vuetify/lib/components/VSkeletonLoader/index.mjs";
10
+ import { useDisplay as me, useTheme as he } from "vuetify";
11
11
  import { VCard as ye, VCardTitle as ge, VCardSubtitle as be } from "vuetify/lib/components/VCard/index.mjs";
12
12
  import { VDialog as _e } from "vuetify/lib/components/VDialog/index.mjs";
13
13
  import { VImg as we } from "vuetify/lib/components/VImg/index.mjs";
14
14
  import { VFooter as Le } from "vuetify/lib/components/VFooter/index.mjs";
15
15
  import { VIcon as xe } from "vuetify/lib/components/VIcon/index.mjs";
16
- const U = k("http", {
16
+ const R = S("http", {
17
17
  state: () => ({
18
18
  url: ""
19
19
  }),
20
20
  actions: {
21
- async fetch(o, t = {}) {
22
- const n = await fetch(`${this.url}${o}`, {
21
+ async fetch(n, t = {}) {
22
+ const o = await fetch(`${this.url}${n}`, {
23
23
  credentials: "include",
24
24
  ...t
25
25
  });
26
- return n.status === 204 ? n : n.json();
26
+ return o.status === 204 ? o : o.json();
27
27
  },
28
- async post(o, t, n = {}) {
29
- return this.fetch(o, {
28
+ async post(n, t, o = {}) {
29
+ return this.fetch(n, {
30
30
  method: "POST",
31
31
  headers: {
32
32
  "Content-Type": "application/json"
33
33
  },
34
34
  body: JSON.stringify(t),
35
- ...n
35
+ ...o
36
36
  });
37
37
  },
38
- async get(o, t = {}) {
39
- return this.fetch(o, t);
38
+ async get(n, t = {}) {
39
+ return this.fetch(n, t);
40
40
  },
41
- async delete(o, t = {}) {
42
- return this.fetch(o, {
41
+ async delete(n, t = {}) {
42
+ return this.fetch(n, {
43
43
  method: "DELETE",
44
44
  ...t
45
45
  });
46
46
  }
47
47
  }
48
- }), O = typeof window < "u", P = {
48
+ }), H = typeof window < "u", P = {
49
49
  v: 4,
50
50
  api: "link-only",
51
51
  avatar: "",
@@ -74,152 +74,152 @@ const U = k("http", {
74
74
  jobs: null
75
75
  }
76
76
  }
77
- }, q = k("user", () => {
78
- const o = Y(C({}, P));
77
+ }, q = S("user", () => {
78
+ const n = Y(T({}, P));
79
79
  function t() {
80
- if (!O)
80
+ if (!H)
81
81
  return;
82
- const r = localStorage.getItem("vuetify@user"), e = r ? JSON.parse(r) : {}, m = e.v === o.v;
83
- 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 = o.v, Object.assign(o, C(o, e)), m && n();
82
+ const s = localStorage.getItem("vuetify@user"), e = s ? JSON.parse(s) : {}, m = e.v === n.v;
83
+ 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 = n.v, Object.assign(n, T(n, e)), m && o();
84
84
  }
85
- function n() {
86
- O && localStorage.setItem("vuetify@user", JSON.stringify(o, null, 2));
85
+ function o() {
86
+ H && localStorage.setItem("vuetify@user", JSON.stringify(n, null, 2));
87
87
  }
88
- function s() {
89
- O && (Object.assign(o, C({}, P)), n());
88
+ function i() {
89
+ H && (Object.assign(n, T({}, P)), o());
90
90
  }
91
91
  return t(), {
92
- ...Z(o),
92
+ ...Z(n),
93
93
  load: t,
94
- save: n,
95
- reset: s
94
+ save: o,
95
+ reset: i
96
96
  };
97
- }), L = k("auth", () => {
98
- const o = T(null), t = U(), n = q(), s = H(!1), r = b(() => {
99
- var i, l;
100
- return !t.url || ((i = o.value) == null ? void 0 : i.isAdmin) || ((l = o.value) == null ? void 0 : l.sponsorships.some((w) => w.isActive));
97
+ }), w = S("auth", () => {
98
+ const n = B(null), t = R(), o = q(), i = D(!1), s = g(() => {
99
+ var r, a;
100
+ return !t.url || ((r = n.value) == null ? void 0 : r.isAdmin) || ((a = n.value) == null ? void 0 : a.sponsorships.some((_) => _.isActive));
101
101
  });
102
102
  let e = !1;
103
- B(o, (i) => {
104
- if (!(i != null && i.settings))
103
+ N(n, (r) => {
104
+ if (!(r != null && r.settings))
105
105
  return;
106
- const l = localStorage.getItem("vuetify@user") || "{}";
107
- JSON.stringify(i.settings, null, 2) !== l && (e = !0, Object.assign(n, i.settings));
108
- }), n.$subscribe(() => {
106
+ const a = localStorage.getItem("vuetify@user") || "{}";
107
+ JSON.stringify(r.settings, null, 2) !== a && (e = !0, Object.assign(o, r.settings));
108
+ }), o.$subscribe(() => {
109
109
  e || m(), e = !1;
110
110
  });
111
111
  async function m() {
112
112
  try {
113
- await t.post("/user/settings", { settings: n.$state });
114
- } catch (i) {
115
- console.error(i);
113
+ await t.post("/user/settings", { settings: o.$state });
114
+ } catch (r) {
115
+ console.error(r);
116
116
  }
117
117
  }
118
- async function u(i = !1) {
119
- if (u.promise)
120
- return u.promise;
121
- s.value = !0, u.promise = fetch(`${t.url}/auth/verify`, {
118
+ async function f(r = !1) {
119
+ if (f.promise)
120
+ return f.promise;
121
+ i.value = !0, f.promise = fetch(`${t.url}/auth/verify`, {
122
122
  credentials: "include",
123
- headers: i ? {
123
+ headers: r ? {
124
124
  "Cache-Control": "no-cache"
125
125
  } : void 0
126
126
  }).then(
127
- async (l) => {
128
- l.ok ? o.value = (await l.json()).user : l.status === 401 ? o.value = null : console.error(l.statusText);
127
+ async (a) => {
128
+ a.ok ? n.value = (await a.json()).user : a.status === 401 ? n.value = null : console.error(a.statusText);
129
129
  },
130
130
  () => {
131
131
  }
132
132
  ).finally(() => {
133
- s.value = !1, u.promise = null;
133
+ i.value = !1, f.promise = null;
134
134
  });
135
135
  }
136
- u.promise = null;
137
- async function x(i = "github") {
138
- s.value = !0;
139
- const l = `${t.url}/auth/${i}/redirect`, w = 400, c = 600, d = window.screenX + (window.innerWidth - w) / 2, h = window.screenY + (window.innerHeight - c) / 2, v = window.open(
136
+ f.promise = null;
137
+ async function L(r = "github") {
138
+ i.value = !0;
139
+ const a = `${t.url}/auth/${r}/redirect`, _ = 400, k = 600, u = window.screenX + (window.innerWidth - _) / 2, c = window.screenY + (window.innerHeight - k) / 2, d = window.open(
140
140
  "",
141
141
  "vuetify:authorize:popup",
142
- `popup,left=${d},top=${h},width=${w},height=${c},resizable`
142
+ `popup,left=${u},top=${c},width=${_},height=${k},resizable`
143
143
  );
144
- if (!v) {
144
+ if (!d) {
145
145
  console.error("Failed to open popup");
146
146
  return;
147
147
  }
148
- v.location.href = l;
149
- let I = -1, R = -1;
150
- function E($) {
148
+ d.location.href = a;
149
+ let I = -1, A = -1;
150
+ function E(V) {
151
151
  var F;
152
- $.origin === t.url && ((F = $.data) == null ? void 0 : F.type) === "auth-response" && ($.data.status === "success" ? (o.value || localStorage.setItem("vuetify@lastLoginProvider", i), o.value = $.data.body.user) : console.error($.data.message), D());
152
+ V.origin === t.url && ((F = V.data) == null ? void 0 : F.type) === "auth-response" && (V.data.status === "success" ? (n.value || localStorage.setItem("vuetify@lastLoginProvider", r), n.value = V.data.body.user) : console.error(V.data.message), O());
153
153
  }
154
- function D() {
155
- window.removeEventListener("message", E), window.clearInterval(I), window.clearTimeout(R), v == null || v.close(), s.value = !1;
154
+ function O() {
155
+ window.removeEventListener("message", E), window.clearInterval(I), window.clearTimeout(A), d == null || d.close(), i.value = !1;
156
156
  }
157
157
  window.addEventListener("message", E), I = window.setInterval(() => {
158
- !v || v.closed ? (console.error("Auth popup closed"), D()) : v.postMessage({ type: "auth-request" }, "*");
159
- }, 1e3), R = window.setTimeout(() => {
160
- D(), console.error("Auth timed out");
158
+ !d || d.closed ? (console.error("Auth popup closed"), O()) : d.postMessage({ type: "auth-request" }, "*");
159
+ }, 1e3), A = window.setTimeout(() => {
160
+ O(), console.error("Auth timed out");
161
161
  }, 120 * 1e3);
162
162
  }
163
- async function V() {
164
- s.value = !0;
163
+ async function x() {
164
+ i.value = !0;
165
165
  try {
166
- await t.post("/auth/logout"), await u(!0), o.value = null;
167
- } catch (i) {
168
- console.error(i);
166
+ await t.post("/auth/logout"), await f(!0), n.value = null;
167
+ } catch (r) {
168
+ console.error(r);
169
169
  } finally {
170
- s.value = !1;
170
+ i.value = !1;
171
171
  }
172
172
  }
173
173
  function y() {
174
174
  return localStorage.getItem("vuetify@lastLoginProvider");
175
175
  }
176
- return y() && u(), {
177
- user: o,
176
+ return y() && f(), {
177
+ user: n,
178
178
  url: t.url,
179
- isLoading: s,
180
- verify: u,
181
- login: x,
182
- logout: V,
183
- isSubscriber: r,
179
+ isLoading: i,
180
+ verify: f,
181
+ login: L,
182
+ logout: x,
183
+ isSubscriber: s,
184
184
  lastLoginProvider: y
185
185
  };
186
- }), Ve = /* @__PURE__ */ S({
186
+ }), Ve = /* @__PURE__ */ $({
187
187
  __name: "VoDiscordLogin",
188
- setup(o) {
189
- const t = L();
190
- return (n, s) => (g(), _(z, {
191
- "prepend-icon": `svg:${a(M)}`,
192
- title: a(t).user ? "Connect Discord" : "Log in with Discord",
193
- subtitle: !a(t).user && a(t).lastLoginProvider() === "discord" ? "Last Used" : "",
188
+ setup(n) {
189
+ const t = w();
190
+ return (o, i) => (h(), b(z, {
191
+ "prepend-icon": `svg:${l(M)}`,
192
+ title: l(t).user ? "Connect Discord" : "Log in with Discord",
193
+ subtitle: !l(t).user && l(t).lastLoginProvider() === "discord" ? "Last Used" : "",
194
194
  nav: "",
195
195
  "base-color": "#5865F2",
196
196
  slim: "",
197
197
  variant: "flat",
198
- onClick: s[0] || (s[0] = (r) => a(t).login("discord"))
198
+ onClick: i[0] || (i[0] = (s) => l(t).login("discord"))
199
199
  }, null, 8, ["prepend-icon", "title", "subtitle"]));
200
200
  }
201
- }), $e = /* @__PURE__ */ S({
201
+ }), $e = /* @__PURE__ */ $({
202
202
  __name: "VoGithubLogin",
203
- setup(o) {
204
- const t = L();
205
- return (n, s) => (g(), _(z, {
206
- "prepend-icon": `svg:${a(G)}`,
207
- title: a(t).user ? "Connect GitHub" : "Log in with GitHub",
208
- subtitle: !a(t).user && a(t).lastLoginProvider() === "github" ? "Last Used" : "",
203
+ setup(n) {
204
+ const t = w();
205
+ return (o, i) => (h(), b(z, {
206
+ "prepend-icon": `svg:${l(G)}`,
207
+ title: l(t).user ? "Connect GitHub" : "Log in with GitHub",
208
+ subtitle: !l(t).user && l(t).lastLoginProvider() === "github" ? "Last Used" : "",
209
209
  "base-color": "#2a2a2a",
210
210
  nav: "",
211
211
  slim: "",
212
212
  variant: "flat",
213
- onClick: s[0] || (s[0] = (r) => a(t).login("github"))
213
+ onClick: i[0] || (i[0] = (s) => l(t).login("github"))
214
214
  }, null, 8, ["prepend-icon", "title", "subtitle"]));
215
215
  }
216
- }), Se = /* @__PURE__ */ S({
216
+ }), Se = /* @__PURE__ */ $({
217
217
  __name: "VoUserBtn",
218
218
  props: {
219
219
  external: Boolean
220
220
  },
221
- setup(o) {
222
- const t = o, n = L(), s = q(), r = b(() => [
221
+ setup(n) {
222
+ const t = n, o = w(), i = q(), s = g(() => [
223
223
  { title: "Options", type: "subheader" },
224
224
  {
225
225
  title: "My Dashboard",
@@ -238,36 +238,36 @@ const U = k("http", {
238
238
  title: "Logout",
239
239
  appendIcon: `svg:${ae}`,
240
240
  onClick: () => {
241
- n.logout();
241
+ o.logout();
242
242
  }
243
243
  }
244
244
  ]);
245
- return (e, m) => (g(), _(W, {
245
+ return (e, m) => (h(), b(W, {
246
246
  class: "vo-user-btn",
247
- loading: a(n).isLoading,
247
+ loading: l(o).isLoading,
248
248
  icon: ""
249
249
  }, {
250
- loader: p(() => [
251
- f(me, { type: "avatar" })
250
+ loader: v(() => [
251
+ p(ve, { type: "avatar" })
252
252
  ]),
253
- default: p(() => [
254
- f(pe, {
255
- disabled: !a(n).user || a(n).isLoading,
253
+ default: v(() => [
254
+ p(pe, {
255
+ disabled: !l(o).user || l(o).isLoading,
256
256
  activator: "parent",
257
257
  location: "bottom end"
258
258
  }, {
259
- default: p(() => [
260
- f(J, {
261
- items: r.value,
259
+ default: v(() => [
260
+ p(J, {
261
+ items: s.value,
262
262
  lines: !1,
263
263
  density: "compact",
264
264
  "item-props": "",
265
265
  nav: ""
266
266
  }, {
267
- subheader: p(({ props: u }) => [
268
- f(de, { class: "text-high-emphasis text-uppercase font-weight-black" }, {
269
- default: p(() => [
270
- A(N(u.title), 1)
267
+ subheader: v(({ props: f }) => [
268
+ p(fe, { class: "text-high-emphasis text-uppercase font-weight-black" }, {
269
+ default: v(() => [
270
+ j(U(f.title), 1)
271
271
  ]),
272
272
  _: 2
273
273
  }, 1024)
@@ -277,70 +277,70 @@ const U = k("http", {
277
277
  ]),
278
278
  _: 1
279
279
  }, 8, ["disabled"]),
280
- a(n).user ? (g(), _(fe, {
280
+ l(o).user ? (h(), b(de, {
281
281
  key: 0,
282
- image: a(s).avatar || a(n).user.picture || ""
282
+ image: l(i).avatar || l(o).user.picture || ""
283
283
  }, null, 8, ["image"])) : K("", !0)
284
284
  ]),
285
285
  _: 1
286
286
  }, 8, ["loading"]));
287
287
  }
288
288
  });
289
- const X = (o, t) => {
290
- const n = o.__vccOpts || o;
291
- for (const [s, r] of t)
292
- n[s] = r;
293
- return n;
294
- }, ke = /* @__PURE__ */ X(Se, [["__scopeId", "data-v-aeb16535"]]), Ie = { class: "text-center mb-6" }, Ae = /* @__PURE__ */ S({
289
+ const X = (n, t) => {
290
+ const o = n.__vccOpts || n;
291
+ for (const [i, s] of t)
292
+ o[i] = s;
293
+ return o;
294
+ }, ke = /* @__PURE__ */ X(Se, [["__scopeId", "data-v-aeb16535"]]), Ie = { class: "text-center mb-6" }, Ae = /* @__PURE__ */ $({
295
295
  __name: "VoAuthDialog",
296
- setup(o) {
297
- const t = L(), { mdAndDown: n, lgAndUp: s } = ve(), r = he();
298
- return (e, m) => !a(t).user && !a(t).isLoading ? (g(), _(_e, {
296
+ setup(n) {
297
+ const t = w(), { mdAndDown: o, lgAndUp: i } = me(), s = he();
298
+ return (e, m) => !l(t).user && !l(t).isLoading ? (h(), b(_e, {
299
299
  key: 0,
300
300
  "max-width": "480"
301
301
  }, {
302
- activator: p(({ props: u }) => [
303
- f(W, Q({
304
- ...u,
305
- [`${a(s) ? "append-" : ""}icon`]: `svg:${a(le)}`,
306
- text: a(s) ? "Login" : void 0
302
+ activator: v(({ props: f }) => [
303
+ p(W, Q({
304
+ ...f,
305
+ [`${l(i) ? "append-" : ""}icon`]: `svg:${l(le)}`,
306
+ text: l(i) ? "Login" : void 0
307
307
  }, {
308
- rounded: a(n),
308
+ rounded: l(o),
309
309
  class: "text-none",
310
310
  color: "primary",
311
311
  variant: "outlined"
312
312
  }), null, 16, ["rounded"])
313
313
  ]),
314
- default: p(() => [
315
- f(ye, { class: "pt-6 pb-1 pb-sm-4 px-4 px-sm-8" }, {
316
- default: p(() => [
317
- f(we, {
318
- src: `https://cdn.vuetifyjs.com/docs/images/logos/vuetify-logo-v3-slim-text-${a(r).name.value}.svg`,
314
+ default: v(() => [
315
+ p(ye, { class: "pt-6 pb-1 pb-sm-4 px-4 px-sm-8" }, {
316
+ default: v(() => [
317
+ p(we, {
318
+ src: `https://cdn.vuetifyjs.com/docs/images/logos/vuetify-logo-v3-slim-text-${l(s).name.value}.svg`,
319
319
  class: "mb-4",
320
320
  height: "30"
321
321
  }, null, 8, ["src"]),
322
- j("div", Ie, [
323
- f(ge, { class: "text-h5 mb-1 text-md-h4 font-weight-bold" }, {
324
- default: p(() => [
325
- A(N(a(t).lastLoginProvider() ? "Welcome Back" : "Log in to Vuetify"), 1)
322
+ C("div", Ie, [
323
+ p(ge, { class: "text-h5 mb-1 text-md-h4 font-weight-bold" }, {
324
+ default: v(() => [
325
+ j(U(l(t).lastLoginProvider() ? "Welcome Back" : "Log in to Vuetify"), 1)
326
326
  ]),
327
327
  _: 1
328
328
  }),
329
- f(be, { class: "text-wrap" }, {
330
- default: p(() => [
331
- A(" Sign in with GitHub or Discord to save your settings and unlock exclusive subscriber perks. ")
329
+ p(be, { class: "text-wrap" }, {
330
+ default: v(() => [
331
+ j(" Sign in with GitHub or Discord to save your settings and unlock exclusive subscriber perks. ")
332
332
  ]),
333
333
  _: 1
334
334
  })
335
335
  ]),
336
- f(J, {
336
+ p(J, {
337
337
  class: "mx-auto",
338
338
  "max-width": "300",
339
339
  width: "100%"
340
340
  }, {
341
- default: p(() => [
342
- f($e, { class: "mb-3" }),
343
- f(Ve)
341
+ default: v(() => [
342
+ p($e, { class: "mb-3" }),
343
+ p(Ve)
344
344
  ]),
345
345
  _: 1
346
346
  })
@@ -349,14 +349,14 @@ const X = (o, t) => {
349
349
  })
350
350
  ]),
351
351
  _: 1
352
- })) : (g(), _(ke, { key: 1 }));
352
+ })) : (h(), b(ke, { key: 1 }));
353
353
  }
354
- }), je = (o) => (ne("data-v-b66944c0"), o = o(), se(), o), De = ["href", "title"], Ce = {
354
+ }), De = (n) => (oe("data-v-b66944c0"), n = n(), se(), n), je = ["href", "title"], Ce = {
355
355
  class: "text-caption text-disabled",
356
356
  style: { position: "absolute", right: "16px" }
357
- }, Oe = /* @__PURE__ */ je(() => /* @__PURE__ */ j("span", { class: "d-none d-sm-inline-block" }, "Vuetify, LLC", -1)), Te = /* @__PURE__ */ S({
357
+ }, Oe = /* @__PURE__ */ De(() => /* @__PURE__ */ C("span", { class: "d-none d-sm-inline-block" }, "Vuetify, LLC", -1)), Te = /* @__PURE__ */ $({
358
358
  __name: "VoFooter",
359
- setup(o) {
359
+ setup(n) {
360
360
  const t = [
361
361
  {
362
362
  title: "Vuetify Documentation",
@@ -365,7 +365,7 @@ const X = (o, t) => {
365
365
  },
366
366
  {
367
367
  title: "Vuetify Support",
368
- icon: `svg:${ce}`,
368
+ icon: `svg:${ue}`,
369
369
  href: "https://support.vuetifyjs.com/"
370
370
  },
371
371
  {
@@ -385,31 +385,31 @@ const X = (o, t) => {
385
385
  },
386
386
  {
387
387
  title: "Vuetify Reddit",
388
- icon: `svg:${ue}`,
388
+ icon: `svg:${ce}`,
389
389
  href: "https://reddit.com/r/vuetifyjs"
390
390
  }
391
391
  ];
392
- return (n, s) => (g(), _(Le, {
392
+ return (o, i) => (h(), b(Le, {
393
393
  class: "vo-footer",
394
394
  theme: "dark",
395
395
  height: "40"
396
396
  }, {
397
- default: p(() => [
398
- (g(), ee(te, null, oe(t, (r) => j("a", {
399
- key: r.title,
400
- href: r.href,
401
- title: r.title,
397
+ default: v(() => [
398
+ (h(), ee(te, null, ne(t, (s) => C("a", {
399
+ key: s.title,
400
+ href: s.href,
401
+ title: s.title,
402
402
  class: "d-inline-block mx-2 social-link",
403
403
  target: "_blank",
404
404
  rel: "noopener noreferrer"
405
405
  }, [
406
- f(xe, {
407
- icon: r.icon,
408
- size: r.icon === "$vuetify" ? 24 : 16
406
+ p(xe, {
407
+ icon: s.icon,
408
+ size: s.icon === "$vuetify" ? 24 : 16
409
409
  }, null, 8, ["icon", "size"])
410
- ], 8, De)), 64)),
411
- j("div", Ce, [
412
- A(" © 2016-" + N((/* @__PURE__ */ new Date()).getFullYear()) + " ", 1),
410
+ ], 8, je)), 64)),
411
+ C("div", Ce, [
412
+ j(" © 2016-" + U((/* @__PURE__ */ new Date()).getFullYear()) + " ", 1),
413
413
  Oe
414
414
  ])
415
415
  ]),
@@ -417,129 +417,170 @@ const X = (o, t) => {
417
417
  }));
418
418
  }
419
419
  });
420
- const He = /* @__PURE__ */ X(Te, [["__scopeId", "data-v-b66944c0"]]), Ze = k("bins", () => {
421
- const o = L(), t = U(), n = T([]), s = T(), r = H(-1), e = b(() => !o.user || !s.value ? !1 : o.user.id === s.value.owner.id), m = b(() => n.value.filter((c) => c.favorite)), u = b(() => n.value.filter((c) => c.pinned));
422
- B(() => s, () => {
423
- window.clearTimeout(r.value), r.value = window.setTimeout(() => {
424
- !s.value || !e.value || i(s.value, s.value.id);
420
+ const He = /* @__PURE__ */ X(Te, [["__scopeId", "data-v-b66944c0"]]), Ze = S("bins", () => {
421
+ const n = w(), t = R(), o = B([]), i = B(), s = D(!1), e = D(-1), m = g(() => !n.user || !i.value ? !1 : n.user.id === i.value.owner.id), f = g(() => o.value.filter((u) => u.favorite)), L = g(() => o.value.filter((u) => u.pinned));
422
+ N(i, () => {
423
+ window.clearTimeout(e.value), e.value = window.setTimeout(() => {
424
+ !i.value || !m.value || a(i.value, i.value.id);
425
425
  }, 100);
426
426
  }, { deep: !0 });
427
427
  async function x() {
428
- const c = await t.get("/one/bins");
429
- return n.value = c.bins, c.bins;
428
+ try {
429
+ s.value = !0;
430
+ const u = await t.get("/one/bins");
431
+ o.value = u.bins;
432
+ } catch {
433
+ } finally {
434
+ s.value = !1;
435
+ }
436
+ return o.value;
430
437
  }
431
- async function V(c) {
432
- const d = await t.delete(`/one/bins/${c}`);
433
- return n.value = n.value.filter((h) => h.id !== c), d;
438
+ async function y(u) {
439
+ try {
440
+ s.value = !0, await t.delete(`/one/bins/${u}`), o.value = o.value.filter((c) => c.id !== u);
441
+ } catch {
442
+ } finally {
443
+ s.value = !1;
444
+ }
445
+ return !0;
434
446
  }
435
- async function y(c) {
436
- const d = await t.post("/one/bins", { bin: c });
437
- return n.value.push(d.bin), s.value = d.bin, d;
447
+ async function r(u) {
448
+ try {
449
+ s.value = !0;
450
+ const c = await t.post("/one/bins", { bin: u });
451
+ return o.value.push(c.bin), i.value = c.bin, c;
452
+ } catch {
453
+ } finally {
454
+ s.value = !1;
455
+ }
456
+ return { bin: u };
438
457
  }
439
- async function i(c, d) {
440
- const h = await t.post(`/one/bins/${d}`, { bin: c }), v = n.value.findIndex((I) => I.id === d);
441
- return n.value.splice(v, 1, h.bin), h;
458
+ async function a(u, c) {
459
+ try {
460
+ s.value = !0;
461
+ const d = await t.post(`/one/bins/${c}`, { bin: u }), I = o.value.findIndex((A) => A.id === c);
462
+ o.value.splice(I, 1, d.bin);
463
+ } catch {
464
+ } finally {
465
+ s.value = !1;
466
+ }
467
+ return { bin: u };
442
468
  }
443
- async function l(c, d) {
444
- const h = d ? await i(c, d) : await y(c);
445
- return s.value = h.bin, h;
469
+ async function _(u, c) {
470
+ try {
471
+ s.value = !0;
472
+ const d = c ? await a(u, c) : await r(u);
473
+ i.value = d.bin;
474
+ } catch {
475
+ } finally {
476
+ s.value = !1;
477
+ }
478
+ return { bin: u };
446
479
  }
447
- async function w(c) {
448
- const d = await t.get(`/one/bins/${c}`);
449
- return s.value = d.bin, d;
480
+ async function k(u) {
481
+ try {
482
+ s.value = !0;
483
+ const c = await t.get(`/one/bins/${u}`);
484
+ i.value = c.bin;
485
+ } catch {
486
+ } finally {
487
+ s.value = !1;
488
+ }
489
+ return { bin: i.value };
450
490
  }
451
491
  return {
452
- isOwner: e,
453
- pinned: u,
454
- favorites: m,
455
- all: n,
456
- create: y,
457
- delete: V,
458
- current: s,
459
- find: w,
492
+ isLoading: s,
493
+ isOwner: m,
494
+ pinned: L,
495
+ favorites: f,
496
+ all: o,
497
+ create: r,
498
+ delete: y,
499
+ current: i,
500
+ find: k,
460
501
  get: x,
461
- update: i,
462
- updateOrCreate: l
502
+ update: a,
503
+ updateOrCreate: _
463
504
  };
464
- }), Ke = k("one", () => {
465
- const t = new URLSearchParams(window.location.search).get("session_id"), n = L(), s = U(), r = H(!1), e = b(() => {
466
- var i;
467
- return (i = n.user) == null ? void 0 : i.sponsorships.find((l) => l.platform === "stripe" && l.tierName.startsWith("sub_"));
468
- }), m = b(() => {
469
- var i;
470
- return (i = e.value) == null ? void 0 : i.isActive;
505
+ }), Ke = S("one", () => {
506
+ const t = new URLSearchParams(window.location.search).get("session_id"), o = w(), i = R(), s = D(!1), e = g(() => {
507
+ var r;
508
+ return (r = o.user) == null ? void 0 : r.sponsorships.find((a) => a.platform === "stripe" && a.tierName.startsWith("sub_"));
509
+ }), m = g(() => {
510
+ var r;
511
+ return (r = e.value) == null ? void 0 : r.isActive;
471
512
  });
472
513
  ie(async () => {
473
- t && await u();
474
- }), B(m, (i) => {
475
- i && y();
514
+ t && await f();
515
+ }), N(m, (r) => {
516
+ r && y();
476
517
  });
477
- async function u() {
518
+ async function f() {
478
519
  try {
479
- r.value = !0;
480
- const i = await s.post("/one/activate", { sessionId: t });
481
- n.user = i.user;
520
+ s.value = !0;
521
+ const r = await i.post("/one/activate", { sessionId: t });
522
+ o.user = r.user;
482
523
  } catch {
483
524
  } finally {
484
- r.value = !1;
525
+ s.value = !1;
485
526
  }
486
527
  }
487
- async function x() {
488
- r.value = !0, window.location.href = `${s.url}/one/subscribe`;
528
+ async function L() {
529
+ s.value = !0, window.location.href = `${i.url}/one/subscribe`;
489
530
  }
490
- async function V() {
491
- var i;
531
+ async function x() {
532
+ var r;
492
533
  if (e.value)
493
534
  try {
494
- r.value = !0;
495
- const l = await s.post(
496
- `/one/cancel?subscriptionId=${(i = e.value) == null ? void 0 : i.tierName}`
535
+ s.value = !0;
536
+ const a = await i.post(
537
+ `/one/cancel?subscriptionId=${(r = e.value) == null ? void 0 : r.tierName}`
497
538
  );
498
- n.user = l.user;
539
+ o.user = a.user;
499
540
  } catch {
500
541
  } finally {
501
- r.value = !1;
542
+ s.value = !1;
502
543
  }
503
544
  }
504
545
  async function y() {
505
- var i;
546
+ var r;
506
547
  if (e.value)
507
548
  try {
508
- r.value = !0;
509
- const l = await s.post(
510
- `/one/verify?subscriptionId=${(i = e.value) == null ? void 0 : i.tierName}`
549
+ s.value = !0;
550
+ const a = await i.post(
551
+ `/one/verify?subscriptionId=${(r = e.value) == null ? void 0 : r.tierName}`
511
552
  );
512
- n.user = l.user;
553
+ o.user = a.user;
513
554
  } catch {
514
555
  } finally {
515
- r.value = !1;
556
+ s.value = !1;
516
557
  }
517
558
  }
518
559
  return {
519
- activate: u,
520
- cancel: V,
521
- subscribe: x,
560
+ activate: f,
561
+ cancel: x,
562
+ subscribe: L,
522
563
  verify: y,
523
564
  subscription: e,
524
- isLoading: r,
565
+ isLoading: s,
525
566
  isSubscriber: m
526
567
  };
527
568
  });
528
569
  function Qe() {
529
- function o(t) {
570
+ function n(t) {
530
571
  t.component("VoAuthDialog", Ae), t.component("VoFooter", He);
531
572
  }
532
- return { install: o };
573
+ return { install: n };
533
574
  }
534
- function et(o) {
535
- o.store.url = "https://api.vuetifyjs.com";
575
+ function et(n) {
576
+ n.store.url = "http://localhost:8096";
536
577
  }
537
578
  export {
538
579
  Qe as createOne,
539
580
  et as one,
540
- L as useAuthStore,
581
+ w as useAuthStore,
541
582
  Ze as useBinsStore,
542
- U as useHttpStore,
583
+ R as useHttpStore,
543
584
  Ke as useOneStore,
544
585
  q as useUserStore
545
586
  };