@versini/sassysaint 8.95.2 → 8.96.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 (27) hide show
  1. package/dist/chunks/{AboutChangelog.DdgvmVh8.js → AboutChangelog.5H3s6hXQ.js} +3 -3
  2. package/dist/chunks/{AboutEntry.C1fW0jZw.js → AboutEntry.DXuBTI5j.js} +5 -5
  3. package/dist/chunks/{App.DomZi2aY.js → App.DLUrB4o3.js} +16 -16
  4. package/dist/chunks/{Chart.BMd37BRy.js → Chart.DI3FUiHS.js} +2 -2
  5. package/dist/chunks/{ChatBubbleAssistant.D_DGnRoF.js → ChatBubbleAssistant.DWmnAQaK.js} +4 -4
  6. package/dist/chunks/{ChatBubbleUser.DIUzEpFf.js → ChatBubbleUser.JLxLbGEM.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.BZukzMZV.js → ChatHistoryTable.BRWZcHZc.js} +3 -3
  8. package/dist/chunks/{HistoryEntry.YA7ItX-L.js → HistoryEntry.oGDvXnWV.js} +3 -3
  9. package/dist/chunks/{ProfileEntry.BC2dQx_a.js → ProfileEntry.61BaHgn1.js} +2 -2
  10. package/dist/chunks/{SettingsEntry.DLEokqwd.js → SettingsEntry.E4VKXtoi.js} +3 -3
  11. package/dist/chunks/UsageEntry.XdEYO506.js +245 -0
  12. package/dist/chunks/{UserMemoriesPanel.Bwn0qtvT.js → UserMemoriesPanel.C7ti4Lwv.js} +4 -4
  13. package/dist/chunks/{index.C85CKsp_.js → index.C4VZ7mpR.js} +2 -2
  14. package/dist/chunks/{index.CX9vPRQx.js → index.CLQ0Bsht.js} +1 -1
  15. package/dist/chunks/{index.5FXpZklE.js → index.CVOBsWzS.js} +1 -1
  16. package/dist/chunks/{index.CouwP20c.js → index.DSodEAJa.js} +1 -1
  17. package/dist/chunks/{index.CNgGh8z9.js → index.DVqhEqAN.js} +1 -1
  18. package/dist/chunks/{index.DKR7ObRa.js → index.Dqtte2J_.js} +3 -3
  19. package/dist/chunks/{index.Waig1B4B.js → index.EWH6k6x-.js} +1 -1
  20. package/dist/chunks/{index.V-Ja2hIJ.js → index.GNlaCbH7.js} +1 -1
  21. package/dist/chunks/{index.CADoaCBK.js → index.joz2BwFF.js} +106 -102
  22. package/dist/chunks/{useMarkdown.CUfOdxCR.js → useMarkdown.D67s_hlv.js} +6 -6
  23. package/dist/components/SassySaint/SassySaint.js +1 -1
  24. package/dist/index.js +4 -4
  25. package/dist/style.css +1 -1
  26. package/package.json +4 -4
  27. package/dist/chunks/UsageEntry.BXGCnO1N.js +0 -240
@@ -1,6 +1,6 @@
1
1
  import { jsx as c, jsxs as E, Fragment as Vr } from "react/jsx-runtime";
2
2
  import * as Y from "react";
3
- import ee, { createContext as Gt, useReducer as Gr, useCallback as M, useRef as B, useEffect as A, useSyncExternalStore as zr, useContext as ze, useState as X, useMemo as Fe, useId as rn, useLayoutEffect as nt, Suspense as sn, lazy as nn } from "react";
3
+ import ee, { createContext as Gt, useReducer as Gr, useCallback as M, useRef as B, useEffect as A, useSyncExternalStore as zr, useContext as qe, useState as X, useMemo as Be, useId as rn, useLayoutEffect as nt, Suspense as sn, lazy as nn } from "react";
4
4
  import m from "clsx";
5
5
  let an = "standard";
6
6
  var k, U = ((k = {})[k.NewChat = 0] = "NewChat", k[k.Prompts = 1] = "Prompts", k[k.Attachment = 2] = "Attachment", k[k.PrivateChat = 3] = "PrivateChat", k[k.Reasoning = 4] = "Reasoning", k[k.Send = 5] = "Send", k[k.Header = 6] = "Header", k[k.Provider = 7] = "Provider", k[k.Logo = 8] = "Logo", k[k.Placeholder = 9] = "Placeholder", k[k.Footer = 10] = "Footer", k);
@@ -142,7 +142,7 @@ function ir(e, t) {
142
142
  if (s) {
143
143
  if (t.queryHash !== Wt(i, t.options))
144
144
  return !1;
145
- } else if (!Be(t.queryKey, i))
145
+ } else if (!Ke(t.queryKey, i))
146
146
  return !1;
147
147
  }
148
148
  if (r !== "all") {
@@ -160,7 +160,7 @@ function or(e, t) {
160
160
  if (r) {
161
161
  if (Ie(t.options.mutationKey) !== Ie(a))
162
162
  return !1;
163
- } else if (!Be(t.options.mutationKey, a))
163
+ } else if (!Ke(t.options.mutationKey, a))
164
164
  return !1;
165
165
  }
166
166
  return !(s && t.state.status !== s || n && !n(t));
@@ -174,8 +174,8 @@ function Ie(e) {
174
174
  (t, r) => Dt(r) ? Object.keys(r).sort().reduce((s, n) => (s[n] = r[n], s), {}) : r
175
175
  );
176
176
  }
177
- function Be(e, t) {
178
- return e === t ? !0 : typeof e != typeof t ? !1 : e && t && typeof e == "object" && typeof t == "object" ? Object.keys(t).every((r) => Be(e[r], t[r])) : !1;
177
+ function Ke(e, t) {
178
+ return e === t ? !0 : typeof e != typeof t ? !1 : e && t && typeof e == "object" && typeof t == "object" ? Object.keys(t).every((r) => Ke(e[r], t[r])) : !1;
179
179
  }
180
180
  var En = Object.prototype.hasOwnProperty;
181
181
  function Lt(e, t) {
@@ -1399,7 +1399,7 @@ var Mn = class extends De {
1399
1399
  }
1400
1400
  add(e) {
1401
1401
  this.#e.add(e);
1402
- const t = We(e);
1402
+ const t = je(e);
1403
1403
  if (typeof t == "string") {
1404
1404
  const r = this.#t.get(t);
1405
1405
  r ? r.push(e) : this.#t.set(t, [e]);
@@ -1408,7 +1408,7 @@ var Mn = class extends De {
1408
1408
  }
1409
1409
  remove(e) {
1410
1410
  if (this.#e.delete(e)) {
1411
- const t = We(e);
1411
+ const t = je(e);
1412
1412
  if (typeof t == "string") {
1413
1413
  const r = this.#t.get(t);
1414
1414
  if (r)
@@ -1421,7 +1421,7 @@ var Mn = class extends De {
1421
1421
  this.notify({ type: "removed", mutation: e });
1422
1422
  }
1423
1423
  canRun(e) {
1424
- const t = We(e);
1424
+ const t = je(e);
1425
1425
  if (typeof t == "string") {
1426
1426
  const s = this.#t.get(t)?.find(
1427
1427
  (n) => n.state.status === "pending"
@@ -1431,7 +1431,7 @@ var Mn = class extends De {
1431
1431
  return !0;
1432
1432
  }
1433
1433
  runNext(e) {
1434
- const t = We(e);
1434
+ const t = je(e);
1435
1435
  return typeof t == "string" ? this.#t.get(t)?.find((s) => s !== e && s.state.isPaused)?.continue() ?? Promise.resolve() : Promise.resolve();
1436
1436
  }
1437
1437
  clear() {
@@ -1469,7 +1469,7 @@ var Mn = class extends De {
1469
1469
  );
1470
1470
  }
1471
1471
  };
1472
- function We(e) {
1472
+ function je(e) {
1473
1473
  return e.options.scope?.id;
1474
1474
  }
1475
1475
  var xn = class extends De {
@@ -1789,7 +1789,7 @@ var xn = class extends De {
1789
1789
  getQueryDefaults(e) {
1790
1790
  const t = [...this.#n.values()], r = {};
1791
1791
  return t.forEach((s) => {
1792
- Be(e, s.queryKey) && Object.assign(r, s.defaultOptions);
1792
+ Ke(e, s.queryKey) && Object.assign(r, s.defaultOptions);
1793
1793
  }), r;
1794
1794
  }
1795
1795
  setMutationDefaults(e, t) {
@@ -1801,7 +1801,7 @@ var xn = class extends De {
1801
1801
  getMutationDefaults(e) {
1802
1802
  const t = [...this.#s.values()], r = {};
1803
1803
  return t.forEach((s) => {
1804
- Be(e, s.mutationKey) && Object.assign(r, s.defaultOptions);
1804
+ Ke(e, s.mutationKey) && Object.assign(r, s.defaultOptions);
1805
1805
  }), r;
1806
1806
  }
1807
1807
  defaultQueryOptions(e) {
@@ -1972,7 +1972,7 @@ try {
1972
1972
  });
1973
1973
  } catch {
1974
1974
  }
1975
- const Ue = {
1975
+ const He = {
1976
1976
  CODE: "code",
1977
1977
  REFRESH_TOKEN: "refresh_token",
1978
1978
  PASSKEY: "passkey"
@@ -2025,7 +2025,7 @@ function fs(e) {
2025
2025
  r[s] = t.charCodeAt(s);
2026
2026
  return r;
2027
2027
  }
2028
- function He(e) {
2028
+ function Fe(e) {
2029
2029
  if (Uint8Array.fromBase64)
2030
2030
  return Uint8Array.fromBase64(typeof e == "string" ? e : Le.decode(e), {
2031
2031
  alphabet: "base64url"
@@ -2202,7 +2202,7 @@ function na(...e) {
2202
2202
  return !0;
2203
2203
  }
2204
2204
  const aa = (e) => typeof e == "object" && e !== null;
2205
- function Ke(e) {
2205
+ function Ve(e) {
2206
2206
  if (!aa(e) || Object.prototype.toString.call(e) !== "[object Object]")
2207
2207
  return !1;
2208
2208
  if (Object.getPrototypeOf(e) === null)
@@ -2452,7 +2452,7 @@ function Ea(e, t) {
2452
2452
  if (t)
2453
2453
  return new Set(t);
2454
2454
  }
2455
- const Yt = (e) => Ke(e) && typeof e.kty == "string", wa = (e) => e.kty !== "oct" && (e.kty === "AKP" && typeof e.priv == "string" || typeof e.d == "string"), Sa = (e) => e.kty !== "oct" && e.d === void 0 && e.priv === void 0, ba = (e) => e.kty === "oct" && typeof e.k == "string";
2455
+ const Yt = (e) => Ve(e) && typeof e.kty == "string", wa = (e) => e.kty !== "oct" && (e.kty === "AKP" && typeof e.priv == "string" || typeof e.d == "string"), Sa = (e) => e.kty !== "oct" && e.d === void 0 && e.priv === void 0, ba = (e) => e.kty === "oct" && typeof e.k == "string";
2456
2456
  let xe;
2457
2457
  const wr = async (e, t, r, s = !1) => {
2458
2458
  xe ||= /* @__PURE__ */ new WeakMap();
@@ -2575,7 +2575,7 @@ async function Ta(e, t) {
2575
2575
  return wr(e, r, t);
2576
2576
  }
2577
2577
  if (Yt(e))
2578
- return e.k ? He(e.k) : wr(e, e, t, !0);
2578
+ return e.k ? Fe(e.k) : wr(e, e, t, !0);
2579
2579
  throw new Error("unreachable");
2580
2580
  }
2581
2581
  const Me = (e) => e?.[Symbol.toStringTag], Bt = (e, t, r) => {
@@ -2728,7 +2728,7 @@ async function Oa(e, t, r, s) {
2728
2728
  }
2729
2729
  }
2730
2730
  async function ka(e, t, r) {
2731
- if (!Ke(e))
2731
+ if (!Ve(e))
2732
2732
  throw new W("Flattened JWS must be an object");
2733
2733
  if (e.protected === void 0 && e.header === void 0)
2734
2734
  throw new W('Flattened JWS must have either of the "protected" or "header" members');
@@ -2738,12 +2738,12 @@ async function ka(e, t, r) {
2738
2738
  throw new W("JWS Payload missing");
2739
2739
  if (typeof e.signature != "string")
2740
2740
  throw new W("JWS Signature missing or incorrect type");
2741
- if (e.header !== void 0 && !Ke(e.header))
2741
+ if (e.header !== void 0 && !Ve(e.header))
2742
2742
  throw new W("JWS Unprotected Header incorrect type");
2743
2743
  let s = {};
2744
2744
  if (e.protected)
2745
2745
  try {
2746
- const g = He(e.protected);
2746
+ const g = Fe(e.protected);
2747
2747
  s = JSON.parse(Le.decode(g));
2748
2748
  } catch {
2749
2749
  throw new W("JWS Protected Header is invalid");
@@ -2773,7 +2773,7 @@ async function ka(e, t, r) {
2773
2773
  const d = Jn(e.protected !== void 0 ? wt(e.protected) : new Uint8Array(), wt("."), typeof e.payload == "string" ? i ? wt(e.payload) : gr.encode(e.payload) : e.payload);
2774
2774
  let h;
2775
2775
  try {
2776
- h = He(e.signature);
2776
+ h = Fe(e.signature);
2777
2777
  } catch {
2778
2778
  throw new W("Failed to base64url decode the signature");
2779
2779
  }
@@ -2783,7 +2783,7 @@ async function ka(e, t, r) {
2783
2783
  let p;
2784
2784
  if (i)
2785
2785
  try {
2786
- p = He(e.payload);
2786
+ p = Fe(e.payload);
2787
2787
  } catch {
2788
2788
  throw new W("Failed to base64url decode the payload");
2789
2789
  }
@@ -2852,7 +2852,7 @@ function $a(e, t, r = {}) {
2852
2852
  s = JSON.parse(Le.decode(t));
2853
2853
  } catch {
2854
2854
  }
2855
- if (!Ke(s))
2855
+ if (!Ve(s))
2856
2856
  throw new de("JWT Claims Set must be a top-level JSON object");
2857
2857
  const { typ: n } = r;
2858
2858
  if (n && (typeof e.typ != "string" || br(e.typ) !== br(n)))
@@ -2925,7 +2925,7 @@ function Ha(e) {
2925
2925
  throw new de("JWTs must contain a payload");
2926
2926
  let s;
2927
2927
  try {
2928
- s = He(t);
2928
+ s = Fe(t);
2929
2929
  } catch {
2930
2930
  throw new de("Failed to base64url decode the payload");
2931
2931
  }
@@ -2935,11 +2935,11 @@ function Ha(e) {
2935
2935
  } catch {
2936
2936
  throw new de("Failed to parse the decoded payload as JSON");
2937
2937
  }
2938
- if (!Ke(n))
2938
+ if (!Ve(n))
2939
2939
  throw new de("Invalid JWT Claims Set");
2940
2940
  return n;
2941
2941
  }
2942
- const Ve = async (e) => {
2942
+ const Ge = async (e) => {
2943
2943
  try {
2944
2944
  const t = Q.ALG, r = await ma(Yn, t);
2945
2945
  return await Ua(e, r, {
@@ -3363,7 +3363,7 @@ const _r = (e, t) => {
3363
3363
  }, ai = (e) => {
3364
3364
  window.localStorage.removeItem(e), Rs(e, null);
3365
3365
  }, Ar = (e) => window.localStorage.getItem(e), ii = (e) => (window.addEventListener("storage", e), () => window.removeEventListener("storage", e));
3366
- function je({ key: e, initialValue: t }) {
3366
+ function Qe({ key: e, initialValue: t }) {
3367
3367
  const r = zr(ii, () => Ar(e)), s = M((i) => {
3368
3368
  try {
3369
3369
  const o = typeof i == "function" ? i(JSON.parse(r)) : i;
@@ -3426,7 +3426,7 @@ function Rt(e, t, r) {
3426
3426
  throw new Error("Random bytes length must be >= 16");
3427
3427
  return s[6] = s[6] & 15 | 64, s[8] = s[8] & 63 | 128, oi(s);
3428
3428
  }
3429
- const Oe = "Your session has expired. For your security, please log in again to continue.", di = "Your session has been successfully terminated.", Ct = "Login failed. Please try again.", hi = "Error getting access token, please re-authenticate.", fi = "You forgot to wrap your component in <AuthProvider>.", Qe = "@@auth@@", $e = "LOADING", tt = "LOGIN", Cs = "LOGOUT", qe = "success", ce = "failure", Os = "include", ks = "POST", Ps = "application/json", Ye = {
3429
+ const Oe = "Your session has expired. For your security, please log in again to continue.", di = "Your session has been successfully terminated.", Ct = "Login failed. Please try again.", hi = "Error getting access token, please re-authenticate.", fi = "You forgot to wrap your component in <AuthProvider>.", Ye = "@@auth@@", Ue = "LOADING", tt = "LOGIN", Cs = "LOGOUT", We = "success", ce = "failure", Os = "include", ks = "POST", Ps = "application/json", Je = {
3430
3430
  GET_REGISTRATION_OPTIONS: `mutation GetPasskeyRegistrationOptions(
3431
3431
  $clientId: String!,
3432
3432
  $username: String!,
@@ -3509,19 +3509,19 @@ const Oe = "Your session has expired. For your security, please log in again to
3509
3509
  }`
3510
3510
  }, ke = {
3511
3511
  GET_REGISTRATION_OPTIONS: {
3512
- schema: Ye.GET_REGISTRATION_OPTIONS,
3512
+ schema: Je.GET_REGISTRATION_OPTIONS,
3513
3513
  method: "getPasskeyRegistrationOptions"
3514
3514
  },
3515
3515
  VERIFY_REGISTRATION: {
3516
- schema: Ye.VERIFY_REGISTRATION,
3516
+ schema: Je.VERIFY_REGISTRATION,
3517
3517
  method: "verifyPasskeyRegistration"
3518
3518
  },
3519
3519
  GET_AUTHENTICATION_OPTIONS: {
3520
- schema: Ye.GET_AUTHENTICATION_OPTIONS,
3520
+ schema: Je.GET_AUTHENTICATION_OPTIONS,
3521
3521
  method: "getPasskeyAuthenticationOptions"
3522
3522
  },
3523
3523
  VERIFY_AUTHENTICATION: {
3524
- schema: Ye.VERIFY_AUTHENTICATION,
3524
+ schema: Je.VERIFY_AUTHENTICATION,
3525
3525
  method: "verifyPasskeyAuthentication"
3526
3526
  }
3527
3527
  }, Pe = async ({
@@ -3549,7 +3549,7 @@ const Oe = "Your session has expired. For your security, please log in again to
3549
3549
  return { status: ce, data: [] };
3550
3550
  const { data: o } = await i.json();
3551
3551
  return {
3552
- status: qe,
3552
+ status: We,
3553
3553
  data: o[t.method]
3554
3554
  };
3555
3555
  } catch (a) {
@@ -3575,7 +3575,7 @@ const Oe = "Your session has expired. For your security, please log in again to
3575
3575
  return { status: ce, data: [] };
3576
3576
  const { data: a } = await n.json();
3577
3577
  return {
3578
- status: qe,
3578
+ status: We,
3579
3579
  data: a || []
3580
3580
  };
3581
3581
  } catch (n) {
@@ -3649,7 +3649,7 @@ const Oe = "Your session has expired. For your security, please log in again to
3649
3649
  domain: l,
3650
3650
  ua: f
3651
3651
  }
3652
- }), u = await Ve(h?.data?.idToken);
3652
+ }), u = await Ge(h?.data?.idToken);
3653
3653
  return u && u.payload[Q.USER_ID_KEY] !== "" && u.payload[Q.NONCE_KEY] === s ? {
3654
3654
  idToken: h.data.idToken,
3655
3655
  accessToken: h.data.accessToken,
@@ -3677,13 +3677,13 @@ const Oe = "Your session has expired. For your security, please log in again to
3677
3677
  type: mt.CODE,
3678
3678
  clientId: t,
3679
3679
  params: {
3680
- type: Ue.CODE,
3680
+ type: He.CODE,
3681
3681
  nonce: e,
3682
3682
  code_challenge: r
3683
3683
  }
3684
3684
  });
3685
3685
  return n?.data?.code ? {
3686
- status: qe,
3686
+ status: We,
3687
3687
  data: n.data.code
3688
3688
  } : {
3689
3689
  status: ce,
@@ -3710,14 +3710,14 @@ const Oe = "Your session has expired. For your security, please log in again to
3710
3710
  type: mt.REFRESH,
3711
3711
  clientId: e,
3712
3712
  params: {
3713
- type: Ue.REFRESH_TOKEN,
3713
+ type: He.REFRESH_TOKEN,
3714
3714
  userId: t,
3715
3715
  nonce: r,
3716
3716
  refreshToken: s,
3717
3717
  accessToken: n,
3718
3718
  domain: a
3719
3719
  }
3720
- }), l = await Ve(o?.data?.accessToken);
3720
+ }), l = await Ge(o?.data?.accessToken);
3721
3721
  return l && l.payload[Q.USER_ID_KEY] !== "" && l.payload[Q.NONCE_KEY] === r ? {
3722
3722
  accessToken: o.data.accessToken,
3723
3723
  refreshToken: o.data.refreshToken,
@@ -3763,7 +3763,7 @@ class bi {
3763
3763
  nonce: n,
3764
3764
  domain: a
3765
3765
  }) {
3766
- const i = await Ve(this.refreshToken);
3766
+ const i = await Ge(this.refreshToken);
3767
3767
  if (i && i.payload[Q.USER_ID_KEY] !== "") {
3768
3768
  const o = await Si({
3769
3769
  endpoint: t,
@@ -3775,7 +3775,7 @@ class bi {
3775
3775
  domain: a
3776
3776
  });
3777
3777
  return o.status ? (this.accessToken = o.accessToken, this.refreshToken = o.refreshToken, {
3778
- status: qe,
3778
+ status: We,
3779
3779
  newAccessToken: o.accessToken,
3780
3780
  newRefreshToken: o.refreshToken
3781
3781
  }) : {
@@ -3801,7 +3801,7 @@ const Ne = () => {
3801
3801
  logoutReason: "",
3802
3802
  authenticationType: ""
3803
3803
  }), vi = () => ({
3804
- ...ze(Ms)
3804
+ ...qe(Ms)
3805
3805
  }), Ti = (e) => M(
3806
3806
  (...t) => {
3807
3807
  e && console.info(`==> [Auth ${Date.now()}]: `, ...t);
@@ -3811,7 +3811,7 @@ const Ne = () => {
3811
3811
  state: Ns,
3812
3812
  dispatch: () => {
3813
3813
  }
3814
- }), _i = (e, t) => t?.type === $e ? {
3814
+ }), _i = (e, t) => t?.type === Ue ? {
3815
3815
  ...e,
3816
3816
  isLoading: t.payload.isLoading
3817
3817
  } : t?.type === tt ? {
@@ -3842,16 +3842,16 @@ const Ne = () => {
3842
3842
  const [i, o] = Gr(_i, {
3843
3843
  ...Ns,
3844
3844
  debug: n
3845
- }), l = Ti(n), f = B(!1), [d, h, , u] = je({
3846
- key: `${Qe}::${r}::@@user@@`
3847
- }), [p, y, , g] = je({
3848
- key: `${Qe}::${r}::@@access@@`
3849
- }), [w, b, , x] = je(
3845
+ }), l = Ti(n), f = B(!1), [d, h, , u] = Qe({
3846
+ key: `${Ye}::${r}::@@user@@`
3847
+ }), [p, y, , g] = Qe({
3848
+ key: `${Ye}::${r}::@@access@@`
3849
+ }), [w, b, , x] = Qe(
3850
3850
  {
3851
- key: `${Qe}::${r}::@@refresh@@`
3851
+ key: `${Ye}::${r}::@@refresh@@`
3852
3852
  }
3853
- ), [R, J, , P] = je({
3854
- key: `${Qe}::${r}::@@nonce@@`
3853
+ ), [R, J, , P] = Qe({
3854
+ key: `${Ye}::${r}::@@nonce@@`
3855
3855
  }), se = new bi(p, w), N = M(() => {
3856
3856
  l("removeLocalStorage: removing local storage"), u(), g(), x(), P();
3857
3857
  }, [
@@ -3870,7 +3870,7 @@ const Ne = () => {
3870
3870
  payload: {
3871
3871
  logoutReason: v || Oe
3872
3872
  }
3873
- }), N(), o({ type: $e, payload: { isLoading: !1 } });
3873
+ }), N(), o({ type: Ue, payload: { isLoading: !1 } });
3874
3874
  },
3875
3875
  [N, l]
3876
3876
  ), G = M(
@@ -3901,7 +3901,7 @@ const Ne = () => {
3901
3901
  if (!f.current)
3902
3902
  return i.isLoading && d !== null ? (async () => {
3903
3903
  try {
3904
- const v = await Ve(d);
3904
+ const v = await Ge(d);
3905
3905
  v && v.payload[Q.USER_ID_KEY] !== "" ? (l("useEffect: setting the authentication state"), o({
3906
3906
  type: tt,
3907
3907
  payload: {
@@ -3918,12 +3918,12 @@ const Ne = () => {
3918
3918
  "useEffect: exception validating JWT, invalidating and logging out"
3919
3919
  ), await G(Oe);
3920
3920
  }
3921
- })() : (l("useEffect: setting the loading state to false"), o({ type: $e, payload: { isLoading: !1 } })), () => {
3921
+ })() : (l("useEffect: setting the loading state to false"), o({ type: Ue, payload: { isLoading: !1 } })), () => {
3922
3922
  f.current = !0;
3923
3923
  };
3924
3924
  }, [i.isLoading, d, G, l]);
3925
3925
  const O = async (v, _) => {
3926
- o({ type: $e, payload: { isLoading: !0 } }), N();
3926
+ o({ type: Ue, payload: { isLoading: !0 } }), N();
3927
3927
  const T = Rt();
3928
3928
  J(T), l("login: Logging in with password");
3929
3929
  const { code_verifier: ge, code_challenge: Ee } = await ja(), ar = await wi({
@@ -3940,7 +3940,7 @@ const Ne = () => {
3940
3940
  clientId: r,
3941
3941
  sessionExpiration: t,
3942
3942
  nonce: T,
3943
- type: Ue.CODE,
3943
+ type: He.CODE,
3944
3944
  code: ar.data,
3945
3945
  code_verifier: ge,
3946
3946
  domain: s,
@@ -3949,7 +3949,7 @@ const Ne = () => {
3949
3949
  return Re.status ? (h(Re.idToken), y(Re.accessToken), b(Re.refreshToken), o({
3950
3950
  type: tt,
3951
3951
  payload: {
3952
- authenticationType: Ue.CODE,
3952
+ authenticationType: He.CODE,
3953
3953
  user: {
3954
3954
  userId: Re.userId,
3955
3955
  username: v,
@@ -3967,7 +3967,7 @@ const Ne = () => {
3967
3967
  if (v && _ && _.userId) {
3968
3968
  if (p) {
3969
3969
  l("getAccessToken");
3970
- const ge = await Ve(p);
3970
+ const ge = await Ge(p);
3971
3971
  if (ge && ge.payload[Q.USER_ID_KEY] !== "")
3972
3972
  return p;
3973
3973
  }
@@ -4037,7 +4037,7 @@ const Ne = () => {
4037
4037
  }
4038
4038
  return !1;
4039
4039
  }, Ae = async () => {
4040
- o({ type: $e, payload: { isLoading: !0 } }), N();
4040
+ o({ type: Ue, payload: { isLoading: !0 } }), N();
4041
4041
  const v = Rt();
4042
4042
  J(v), l("loginWithPasskey");
4043
4043
  const _ = Rt();
@@ -4070,10 +4070,10 @@ const Ne = () => {
4070
4070
  sessionExpiration: t,
4071
4071
  ua: navigator.userAgent
4072
4072
  }
4073
- }), T.data.status === qe ? (h(T.data.idToken), y(T.data.accessToken), b(T.data.refreshToken), o({
4073
+ }), T.data.status === We ? (h(T.data.idToken), y(T.data.accessToken), b(T.data.refreshToken), o({
4074
4074
  type: tt,
4075
4075
  payload: {
4076
- authenticationType: Ue.PASSKEY,
4076
+ authenticationType: He.PASSKEY,
4077
4077
  user: {
4078
4078
  userId: T.data.userId,
4079
4079
  username: T.data.username,
@@ -4129,7 +4129,7 @@ try {
4129
4129
  } catch {
4130
4130
  }
4131
4131
  const xs = () => {
4132
- const e = ze(vs);
4132
+ const e = qe(vs);
4133
4133
  if (!e)
4134
4134
  throw new Error("useAuth must be used within an AuthHookProvider");
4135
4135
  return e;
@@ -5273,7 +5273,7 @@ const zi = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length
5273
5273
  getAccessToken: t,
5274
5274
  children: r
5275
5275
  }) => {
5276
- const [s, n] = X(Nr), a = Fe(
5276
+ const [s, n] = X(Nr), a = Be(
5277
5277
  () => e ? `entitlements:${e}` : null,
5278
5278
  [e]
5279
5279
  ), i = M(() => {
@@ -5355,7 +5355,7 @@ const zi = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length
5355
5355
  sessionStorage.removeItem(a);
5356
5356
  } catch {
5357
5357
  }
5358
- }, [a]), d = Fe(
5358
+ }, [a]), d = Be(
5359
5359
  () => ({
5360
5360
  ...s,
5361
5361
  check: (h, u) => s.status !== "ready" ? !1 : dn(s.capabilities, h, { any: u?.any }),
@@ -5367,7 +5367,7 @@ const zi = (e, t) => t && t.messages.length > 0 && t.messages[t.messages.length
5367
5367
  return /* @__PURE__ */ c(zs.Provider, { value: d, children: r });
5368
5368
  };
5369
5369
  function ql() {
5370
- const e = ze(zs);
5370
+ const e = qe(zs);
5371
5371
  if (!e)
5372
5372
  throw new Error("useEntitlements must be used within EntitlementsProvider");
5373
5373
  return e;
@@ -6027,7 +6027,7 @@ function Au(e, t, r) {
6027
6027
  ]), s;
6028
6028
  }
6029
6029
  const Pt = 50, xr = 120;
6030
- let oe = null, Je = 0;
6030
+ let oe = null, Xe = 0;
6031
6031
  const fo = () => {
6032
6032
  if (typeof window > "u" || oe && document.body.contains(oe))
6033
6033
  return;
@@ -6046,16 +6046,16 @@ const fo = () => {
6046
6046
  }, Ru = () => {
6047
6047
  const e = B(/* @__PURE__ */ new Set());
6048
6048
  A(() => {
6049
- Je++;
6049
+ Xe++;
6050
6050
  try {
6051
6051
  fo();
6052
6052
  } catch (s) {
6053
- throw Je--, s;
6053
+ throw Xe--, s;
6054
6054
  }
6055
6055
  return () => {
6056
6056
  for (const s of e.current)
6057
6057
  clearTimeout(s);
6058
- e.current.clear(), Je--, Je === 0 && po();
6058
+ e.current.clear(), Xe--, Xe === 0 && po();
6059
6059
  };
6060
6060
  }, []);
6061
6061
  const t = M(() => {
@@ -6240,7 +6240,7 @@ function Nu({ key: e, initialValue: t }) {
6240
6240
  ];
6241
6241
  }
6242
6242
  function js(e) {
6243
- return Fe(() => e.every((t) => t == null) ? () => {
6243
+ return Be(() => e.every((t) => t == null) ? () => {
6244
6244
  } : (t) => {
6245
6245
  e.forEach((r) => {
6246
6246
  typeof r == "function" ? r(t) : r != null && (r.current = t);
@@ -6260,7 +6260,7 @@ const bo = {
6260
6260
  right: 0
6261
6261
  };
6262
6262
  function rt(e) {
6263
- const t = Eo(), r = B(0), s = B(null), [n, a] = X(bo), i = Fe(() => typeof ResizeObserver > "u" ? null : new ResizeObserver((o) => {
6263
+ const t = Eo(), r = B(0), s = B(null), [n, a] = X(bo), i = Be(() => typeof ResizeObserver > "u" ? null : new ResizeObserver((o) => {
6264
6264
  const l = o[0];
6265
6265
  l && (cancelAnimationFrame(r.current), r.current = requestAnimationFrame(() => {
6266
6266
  s.current && t() && a(l.contentRect);
@@ -6677,7 +6677,7 @@ const Et = "icon", rr = "button", ft = "link", To = ({ type: e, size: t, labelRi
6677
6677
  });
6678
6678
  });
6679
6679
  Ys.displayName = "Button";
6680
- const Xe = {
6680
+ const Ze = {
6681
6681
  small: 24,
6682
6682
  medium: 32,
6683
6683
  large: 48
@@ -6685,7 +6685,7 @@ const Xe = {
6685
6685
  small: 16,
6686
6686
  medium: 24,
6687
6687
  large: 32
6688
- }, Lo = 2, Do = 300, Ge = /* @__PURE__ */ ee.forwardRef(({ children: e, disabled: t = !1, mode: r = "system", focusMode: s = "system", fullWidth: n = !1, className: a, type: i = "button", raw: o = !1, noBorder: l = !1, "aria-label": f, label: d, size: h = "medium", labelRight: u, labelLeft: p, noBackground: y = !1, align: g = "center", radius: w = "large", variant: b = "secondary", iconClassName: x, animated: R = !1, ...J }, P) => {
6688
+ }, Lo = 2, Do = 300, ze = /* @__PURE__ */ ee.forwardRef(({ children: e, disabled: t = !1, mode: r = "system", focusMode: s = "system", fullWidth: n = !1, className: a, type: i = "button", raw: o = !1, noBorder: l = !1, "aria-label": f, label: d, size: h = "medium", labelRight: u, labelLeft: p, noBackground: y = !1, align: g = "center", radius: w = "large", variant: b = "secondary", iconClassName: x, animated: R = !1, ...J }, P) => {
6689
6689
  const se = sr({
6690
6690
  type: Et,
6691
6691
  mode: r,
@@ -6715,7 +6715,7 @@ const Xe = {
6715
6715
  _
6716
6716
  ]);
6717
6717
  return nt(() => {
6718
- me && me.current && R && (v.current = Ae.width + xo[h] + (l ? 0 : Lo), _.current && !_.current.style.width && (_.current.style.width = `${Xe[h]}px`));
6718
+ me && me.current && R && (v.current = Ae.width + xo[h] + (l ? 0 : Lo), _.current && !_.current.style.width && (_.current.style.width = `${Ze[h]}px`));
6719
6719
  }, [
6720
6720
  Ae,
6721
6721
  me,
@@ -6724,10 +6724,10 @@ const Xe = {
6724
6724
  R
6725
6725
  ]), nt(() => {
6726
6726
  if (_ && _.current && R) {
6727
- let Ee = Xe[h];
6728
- u && O && C.width > 0 ? Ee = C.width + v.current : p && D && te.width > 0 && (Ee = te.width + v.current), T.current && clearTimeout(T.current), Ee !== parseInt(_.current.style.width || "0", 10) && (O.current && (O.current.style.opacity = "0"), D.current && (D.current.style.opacity = "0"), _.current.style.width = `${Ee}px`, Ee > Xe[h] && (T.current = setTimeout(() => {
6727
+ let Ee = Ze[h];
6728
+ u && O && C.width > 0 ? Ee = C.width + v.current : p && D && te.width > 0 && (Ee = te.width + v.current), T.current && clearTimeout(T.current), Ee !== parseInt(_.current.style.width || "0", 10) && (O.current && (O.current.style.opacity = "0"), D.current && (D.current.style.opacity = "0"), _.current.style.width = `${Ee}px`, Ee > Ze[h] && (T.current = setTimeout(() => {
6729
6729
  O.current && u && (O.current.style.opacity = "1"), D.current && p && (D.current.style.opacity = "1"), T.current = null;
6730
- }, Do * 0.8))), Ee === Xe[h] && (O.current && (O.current.style.opacity = "0"), D.current && (D.current.style.opacity = "0"));
6730
+ }, Do * 0.8))), Ee === Ze[h] && (O.current && (O.current.style.opacity = "0"), D.current && (D.current.style.opacity = "0"));
6731
6731
  }
6732
6732
  }, [
6733
6733
  C,
@@ -6783,7 +6783,7 @@ const Xe = {
6783
6783
  children: r
6784
6784
  })
6785
6785
  });
6786
- Ge.displayName = "ButtonIcon";
6786
+ ze.displayName = "ButtonIcon";
6787
6787
  const $o = /* @__PURE__ */ ee.forwardRef(({ copyToClipboard: e, ...t }, r) => {
6788
6788
  const [s, n] = X(!1), a = () => {
6789
6789
  typeof e == "string" && (navigator.clipboard.writeText(e), n(!0)), typeof e == "function" && (navigator.clipboard.writeText(e()), n(!0));
@@ -6797,7 +6797,7 @@ const $o = /* @__PURE__ */ ee.forwardRef(({ copyToClipboard: e, ...t }, r) => {
6797
6797
  };
6798
6798
  }, [
6799
6799
  s
6800
- ]), /* @__PURE__ */ c(Ge, {
6800
+ ]), /* @__PURE__ */ c(ze, {
6801
6801
  ...t,
6802
6802
  size: "small",
6803
6803
  ref: r,
@@ -6879,7 +6879,7 @@ const Ho = /* @__PURE__ */ ee.forwardRef(({ children: e, mode: t = "system", cla
6879
6879
  }) : "";
6880
6880
  return /* @__PURE__ */ c("div", {
6881
6881
  className: i,
6882
- children: /* @__PURE__ */ c(Ge, {
6882
+ children: /* @__PURE__ */ c(ze, {
6883
6883
  className: r,
6884
6884
  ref: a,
6885
6885
  mode: t,
@@ -6984,7 +6984,7 @@ const Ko = ({ header: e, headerClassName: t, footer: r, footerClassName: s, chil
6984
6984
  ]
6985
6985
  })
6986
6986
  });
6987
- }, Vo = "av-flexgrid", Ze = "av-flexgrid-item", pt = 0.25, Vt = ee.createContext({
6987
+ }, Vo = "av-flexgrid", et = "av-flexgrid-item", pt = 0.25, Vt = ee.createContext({
6988
6988
  columnGap: 0,
6989
6989
  rowGap: 0
6990
6990
  }), Go = ({
@@ -7095,20 +7095,20 @@ const Ko = ({ header: e, headerClassName: t, footer: r, footerClassName: s, chil
7095
7095
  span: t
7096
7096
  }) => {
7097
7097
  if (!t)
7098
- return m(e, Ze, "box-border basis-auto");
7098
+ return m(e, et, "box-border basis-auto");
7099
7099
  if (typeof t == "number")
7100
- return m(e, Ze, "box-border max-w-full", {
7100
+ return m(e, et, "box-border max-w-full", {
7101
7101
  [`${Nt(t)}`]: !0
7102
7102
  });
7103
7103
  if (typeof t == "string")
7104
- return m(e, Ze, "box-border basis-auto", {
7104
+ return m(e, et, "box-border basis-auto", {
7105
7105
  "max-w-full grow": t === "auto"
7106
7106
  });
7107
7107
  if (typeof t == "object") {
7108
7108
  const r = Object.entries(t).map(([s, n]) => s === "fallback" ? Nt(n) : Nt(n, s));
7109
7109
  return m(
7110
7110
  e,
7111
- Ze,
7111
+ et,
7112
7112
  "box-border",
7113
7113
  r
7114
7114
  );
@@ -7119,7 +7119,7 @@ const Ko = ({ header: e, headerClassName: t, footer: r, footerClassName: s, chil
7119
7119
  span: r,
7120
7120
  ...s
7121
7121
  }) => {
7122
- const { columnGap: n, rowGap: a } = ze(Vt), i = {
7122
+ const { columnGap: n, rowGap: a } = qe(Vt), i = {
7123
7123
  paddingLeft: n * pt + "rem",
7124
7124
  paddingTop: a * pt + "rem"
7125
7125
  }, o = zo({
@@ -7552,9 +7552,10 @@ const ic = "ASK! ME! ANYTHING!", oc = "Log in with a password", cc = "Log in wit
7552
7552
  3: ["Apr", "May", "Jun"],
7553
7553
  6: ["Jul", "Aug", "Sep"],
7554
7554
  9: ["Oct", "Nov", "Dec"]
7555
- }, et = {
7555
+ }, $e = {
7556
7556
  TODAY: "today",
7557
7557
  YESTERDAY: "yesterday",
7558
+ MONTH_TO_DATE: "monthToDate",
7558
7559
  SPECIFIC_MONTH: "specificMonth",
7559
7560
  CURRENT_YEAR: "currentYear",
7560
7561
  LAST_YEAR: "lastYear"
@@ -7572,10 +7573,11 @@ const ic = "ASK! ME! ANYTHING!", oc = "Log in with a password", cc = "Log in wit
7572
7573
  "November",
7573
7574
  "December"
7574
7575
  ], id = {
7575
- [et.TODAY]: "Today",
7576
- [et.YESTERDAY]: "Yesterday",
7577
- [et.CURRENT_YEAR]: `${(/* @__PURE__ */ new Date()).getFullYear()} by trimester`,
7578
- [et.LAST_YEAR]: `${(/* @__PURE__ */ new Date()).getFullYear() - 1} by trimester`
7576
+ [$e.TODAY]: "Today",
7577
+ [$e.YESTERDAY]: "Yesterday",
7578
+ [$e.MONTH_TO_DATE]: "Month to date",
7579
+ [$e.CURRENT_YEAR]: `${(/* @__PURE__ */ new Date()).getFullYear()} by trimester`,
7580
+ [$e.LAST_YEAR]: `${(/* @__PURE__ */ new Date()).getFullYear() - 1} by trimester`
7579
7581
  }, od = {
7580
7582
  PREFERENCES: {
7581
7583
  TITLE: "User profile",
@@ -7711,14 +7713,16 @@ const ic = "ASK! ME! ANYTHING!", oc = "Log in with a password", cc = "Log in wit
7711
7713
  dispatch: () => {
7712
7714
  }
7713
7715
  }), wc = (e) => {
7714
- const t = document.documentElement;
7715
- Array.from(t.style).filter((r) => r.startsWith("--av-")).forEach((r) => t.style.removeProperty(r)), e && Object.entries(e).forEach(([r, s]) => {
7716
- t.style.setProperty(r, s);
7717
- });
7716
+ if (e && Object.keys(e).length > 0) {
7717
+ const t = document.documentElement;
7718
+ Array.from(t.style).filter((r) => r.startsWith("--av-")).forEach((r) => t.style.removeProperty(r)), Object.entries(e).forEach(([r, s]) => {
7719
+ t.style.setProperty(r, s);
7720
+ });
7721
+ }
7718
7722
  }, Sc = () => {
7719
7723
  const {
7720
7724
  state: { oledMode: e, themePalette: t }
7721
- } = ze(Ec), r = Fe(() => {
7725
+ } = qe(Ec), r = Be(() => {
7722
7726
  if (t)
7723
7727
  return e ? t.oled : t.normal;
7724
7728
  }, [t, e]);
@@ -7824,7 +7828,7 @@ const ic = "ASK! ME! ANYTHING!", oc = "Log in with a password", cc = "Log in wit
7824
7828
  name: "password",
7825
7829
  label: lc,
7826
7830
  rightElement: /* @__PURE__ */ c(
7827
- Ge,
7831
+ ze,
7828
7832
  {
7829
7833
  focusMode: "light",
7830
7834
  mode: "dark",
@@ -7858,7 +7862,7 @@ const ic = "ASK! ME! ANYTHING!", oc = "Log in with a password", cc = "Log in wit
7858
7862
  !Ks() && /* @__PURE__ */ E(Vr, { children: [
7859
7863
  /* @__PURE__ */ c(be, { span: 12, children: /* @__PURE__ */ c("div", { className: "text-center text-copy-light mt-2 mb-2", children: "or" }) }),
7860
7864
  /* @__PURE__ */ c(be, { span: 12, children: /* @__PURE__ */ c(
7861
- Ge,
7865
+ ze,
7862
7866
  {
7863
7867
  variant: "selected",
7864
7868
  mode: "dark",
@@ -7875,7 +7879,7 @@ const ic = "ASK! ME! ANYTHING!", oc = "Log in with a password", cc = "Log in wit
7875
7879
  ] });
7876
7880
  }, Tc = new URL(document.location.href).searchParams, Br = !!Tc.get("debug") || !1, Ic = nn(() => import(
7877
7881
  /* webpackChunkName: "LazyApp" */
7878
- "./App.DomZi2aY.js"
7882
+ "./App.DLUrB4o3.js"
7879
7883
  ).then((e) => e.App)), _c = new Dn(), Kr = ({
7880
7884
  isComponent: e,
7881
7885
  headerHeight: t
@@ -7935,7 +7939,7 @@ export {
7935
7939
  Ec as AppContext,
7936
7940
  Ys as Button,
7937
7941
  $o as ButtonCopy,
7938
- Ge as ButtonIcon,
7942
+ ze as ButtonIcon,
7939
7943
  Ho as ButtonSort_private,
7940
7944
  od as CARDS,
7941
7945
  Qu as CLIPBOARD_PROMPT,
@@ -8027,7 +8031,7 @@ export {
8027
8031
  V as SERVICE_TYPES,
8028
8032
  Hu as SETTINGS_TITLE,
8029
8033
  fd as SassySaint,
8030
- et as TIME_RANGES,
8034
+ $e as TIME_RANGES,
8031
8035
  id as TIME_RANGE_LABELS,
8032
8036
  td as TOAST_CACHE_DISABLED,
8033
8037
  ed as TOAST_CACHE_ENABLED,
@@ -8082,7 +8086,7 @@ export {
8082
8086
  so as serverUrl,
8083
8087
  Cl as setNewProvider,
8084
8088
  Ol as setUserPlan,
8085
- Ue as st,
8089
+ He as st,
8086
8090
  Ki as unObfuscate,
8087
8091
  Pl as useChangelogs,
8088
8092
  xl as useChat,