@versini/sassysaint 4.0.2 → 4.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { jsxs as E, jsx as n, Fragment as ye } from "react/jsx-runtime";
2
- import { O as Be, s as Ve, S as De, f$1 as ze, M as $e, U as Ue, r as Fe, o as Pe, n as fe, l as Ge, a as q, isLastMessageFromRole as he, x as xe, CANCEL as je, CLEAR as We, ACTION_RESET as be, ROLE_ASSISTANT as M, ROLE_INTERNAL as Z, ROLE_USER as K, zr as ee, ROLE_SYSTEM as Ye, ROLE_HIDDEN as qe, MODEL_GPT4 as ke, STATS_SEPARATOR as le, ACTION_MODEL as Ce, ACTION_MESSAGE as V, TYPE_QUESTION as Je, SEND as Qe, ACTION_STREAMING as Te, ERROR_MESSAGE as Xe, getMessageContaintWrapperClass as Ke, MessagesContainerHeader as Ze, ACTION_SEARCH as er, ACTION_SORT as rr, ACTION_RESTORE as tr, ACTION_LOCATION as B, getCurrentGeoLocation as or, c as sr, AppFooter as ar, LOCAL_STORAGE_PREFIX as J, LOCAL_STORAGE_SEARCH as nr, LOCAL_STORAGE_SORT as lr, LOCAL_STORAGE_LOCATION as cr } from "./index.CNfQ0lj1.js";
3
- import { g as ve, AppContext as P, restCall as ir, E as Q, serviceCall as ce, SERVICE_TYPES as ie, HistoryContext as dr, k as ur } from "./useLocalStorage.B1r33kl_.js";
2
+ import { O as Be, s as Ve, S as De, f$1 as ze, M as $e, U as Ue, r as Fe, o as Pe, n as fe, l as Ge, a as q, isLastMessageFromRole as he, x as xe, CANCEL as je, CLEAR as We, ACTION_RESET as be, ROLE_ASSISTANT as M, ROLE_INTERNAL as Z, ROLE_USER as K, zr as ee, ROLE_SYSTEM as Ye, ROLE_HIDDEN as qe, MODEL_GPT4 as ke, STATS_SEPARATOR as le, ACTION_MODEL as Ce, ACTION_MESSAGE as V, TYPE_QUESTION as Je, SEND as Qe, ACTION_STREAMING as Te, ERROR_MESSAGE as Xe, getMessageContaintWrapperClass as Ke, MessagesContainerHeader as Ze, ACTION_SEARCH as er, ACTION_SORT as rr, ACTION_RESTORE as tr, ACTION_LOCATION as B, getCurrentGeoLocation as or, c as sr, AppFooter as ar, LOCAL_STORAGE_PREFIX as J, LOCAL_STORAGE_SEARCH as nr, LOCAL_STORAGE_SORT as lr, LOCAL_STORAGE_LOCATION as cr } from "./index.B5_Pppr9.js";
3
+ import { g as ve, AppContext as P, restCall as ir, E as Q, serviceCall as ce, SERVICE_TYPES as ie, HistoryContext as dr, k as ur } from "./useLocalStorage.Bz8cVadw.js";
4
4
  import pr, { useState as I, useEffect as S, useRef as x, useLayoutEffect as $, useContext as re, lazy as mr, Suspense as de, useReducer as ue, useCallback as gr } from "react";
5
5
  import g from "clsx";
6
6
  const yr = ({
@@ -475,7 +475,7 @@ const Br = () => {
475
475
  children: r != null && r.streaming ? je : We
476
476
  }
477
477
  ) }) : null;
478
- }, me = mr(() => import("./LazyMessageAssistant.BVS33a7s.js").then((e) => e.LazyMessageAssistant)), Vr = () => {
478
+ }, me = mr(() => import("./LazyMessageAssistant.kSKFTYLO.js").then((e) => e.LazyMessageAssistant)), Vr = () => {
479
479
  const { state: e } = re(P);
480
480
  return /* @__PURE__ */ E(ye, { children: [
481
481
  e && e.messages.length > 0 && e.messages.map((r, o) => {
@@ -1,8 +1,8 @@
1
1
  import { jsxs as c, jsx as e, Fragment as x } from "react/jsx-runtime";
2
- import { O as _, i$1 as le, N as de, p as De, o as _e, g as A, N$1 as z, CARDS as N, renderDataAsList as $, pluralize as Z, ABOUT_TITLE as ze, MODEL_GPT4 as Be, numberFormatter as Ve, durationFormatter as Ce, NA as Pe, ROLE_ASSISTANT as Fe, extractAverage as Ge, GPT4_MAX_TOKENS as $e, zr as Y, STATS as Ne, b as F, j as E, x as ee, LOCAL_STORAGE_PREFIX as te, LOCAL_STORAGE_SORT as Ue, ACTION_RESET as je, ACTION_RESTORE as Ye, truncate as Ke, ACTION_SORT as re, LOCAL_STORAGE_SEARCH as We, Y as Xe, ACTION_SEARCH as Je, HISTORY_TITLE as qe, LOCAL_STORAGE_CHAT_DETAILS as Qe, LOCAL_STORAGE_LOCATION as Ze, f$2 as et, ACTION_LOCATION as me, getCurrentGeoLocation as tt, convertLatitudeToDMS as at, convertLongitudeToDMS as st, PROFILE_TITLE as nt, LOG_OUT as ue } from "./index.CNfQ0lj1.js";
2
+ import { O as _, i$1 as le, N as de, p as De, o as _e, g as A, N$1 as z, CARDS as N, renderDataAsList as $, pluralize as Z, ABOUT_TITLE as ze, MODEL_GPT4 as Be, numberFormatter as Ve, durationFormatter as Ce, NA as Pe, ROLE_ASSISTANT as Fe, extractAverage as Ge, GPT4_MAX_TOKENS as $e, zr as Y, STATS as Ne, b as F, j as E, x as ee, LOCAL_STORAGE_PREFIX as te, LOCAL_STORAGE_SORT as Ue, ACTION_RESET as je, ACTION_RESTORE as Ye, truncate as Ke, ACTION_SORT as re, LOCAL_STORAGE_SEARCH as We, Y as Xe, ACTION_SEARCH as Je, HISTORY_TITLE as qe, LOCAL_STORAGE_CHAT_DETAILS as Qe, LOCAL_STORAGE_LOCATION as Ze, v as et, ACTION_LOCATION as me, getCurrentGeoLocation as tt, convertLatitudeToDMS as at, convertLongitudeToDMS as st, PROFILE_TITLE as nt, LOG_OUT as ue } from "./index.B5_Pppr9.js";
3
3
  import * as ce from "react";
4
4
  import rt, { forwardRef as Te, useState as T, useRef as U, useContext as R, useEffect as O, Suspense as ot, lazy as ct, useId as it } from "react";
5
- import { g as lt, AppContext as K, serviceCall as se, SERVICE_TYPES as ne, HistoryContext as ye, E as ae, k as I, et as dt, at as mt, lt as oe, J as M, ct as ut, st as ht, rt as pt } from "./useLocalStorage.B1r33kl_.js";
5
+ import { g as lt, AppContext as K, serviceCall as se, SERVICE_TYPES as ne, HistoryContext as ye, E as ae, k as I, et as dt, at as mt, lt as oe, J as M, ct as ut, st as ht, rt as pt } from "./useLocalStorage.Bz8cVadw.js";
6
6
  import v from "clsx";
7
7
  import { useFloatingTree as be, useFloatingNodeId as ft, useListItem as Se, useFloating as gt, offset as Ct, flip as Nt, shift as Tt, autoUpdate as yt, useClick as bt, useRole as St, useDismiss as wt, useListNavigation as kt, useTypeahead as xt, useInteractions as Et, useMergeRefs as we, FloatingNode as vt, FloatingList as It, FloatingPortal as At, FloatingFocusManager as Ht, FloatingTree as Mt } from "@floating-ui/react";
8
8
  const ie = ce.createContext({
@@ -197,7 +197,7 @@ const Rt = ({ className: t, ...a }) => {
197
197
  header: "p-4 mb-0",
198
198
  close: "p-4"
199
199
  }), W = (t) => ct(
200
- () => import("./index.7JJYsiGN.DgxpdbID.js").then((a) => ({
200
+ () => import("./index.7JJYsiGN.BMjQHxRo.js").then((a) => ({
201
201
  default: a[t]
202
202
  }))
203
203
  ), Dt = W("Modal"), _t = W("ModalClose"), zt = W("ModalContent"), Bt = W("ModalDescription"), Vt = W("ModalHeading"), X = ({
@@ -602,8 +602,8 @@ const sa = ({ stats: t }) => {
602
602
  header: N.ABOUT.TITLE_CLIENT,
603
603
  className: "prose-dark dark:prose-lighter",
604
604
  children: $(r, {
605
- [N.ABOUT.VERSION]: "4.0.2",
606
- [N.ABOUT.BUILD_TIMESTAMP]: "08/29/2024 09:23 PM EDT"
605
+ [N.ABOUT.VERSION]: "4.0.4",
606
+ [N.ABOUT.BUILD_TIMESTAMP]: "08/31/2024 05:34 PM EDT"
607
607
  })
608
608
  }
609
609
  ) }),
@@ -1134,7 +1134,7 @@ const pa = ({
1134
1134
  spacing: { t: 4 },
1135
1135
  className: "prose-dark dark:prose-lighter",
1136
1136
  header: /* @__PURE__ */ e("h2", { className: "m-0", children: /* @__PURE__ */ c(F, { columnGap: 3, alignVertical: "center", children: [
1137
- /* @__PURE__ */ e(E, { children: /* @__PURE__ */ e(et, { className: "size-6 text-center" }) }),
1137
+ /* @__PURE__ */ e(E, { children: /* @__PURE__ */ e(et, { className: "size-8 text-center" }) }),
1138
1138
  /* @__PURE__ */ e(E, { children: /* @__PURE__ */ e("div", { children: "Passkey" }) })
1139
1139
  ] }) }),
1140
1140
  children: /* @__PURE__ */ c(F, { columnGap: 3, alignVertical: "center", children: [
@@ -1,5 +1,5 @@
1
1
  import { jsx as _i } from "react/jsx-runtime";
2
- import { convert as Si, getDefaultExportFromCjs as Ni, visit as ki, find as Ti, parse as z0, parse$1 as P0, normalize as F0, svg as Mi, html as Ai, visitParents as Oi, SKIP as Ri, longestStreak as Ci, factorySpace as Xt, markdownLineEnding as xt, Markdown as Ii, remarkGfm as Di } from "./LazyMessageAssistant.BVS33a7s.js";
2
+ import { convert as Si, getDefaultExportFromCjs as Ni, visit as ki, find as Ti, parse as z0, parse$1 as P0, normalize as F0, svg as Mi, html as Ai, visitParents as Oi, SKIP as Ri, longestStreak as Ci, factorySpace as Xt, markdownLineEnding as xt, Markdown as Ii, remarkGfm as Di } from "./LazyMessageAssistant.kSKFTYLO.js";
3
3
  const U0 = (
4
4
  // Note: overloads like this are needed to support optional generics.
5
5
  /**
@@ -1,8 +1,8 @@
1
1
  import { jsxs as He, jsx as re, Fragment as or } from "react/jsx-runtime";
2
- import { c$1 as ot, S as at, LOCAL_STORAGE_PREFIX as wi, LOCAL_STORAGE_CHAT_DETAILS as Si, durationFormatter as Ci } from "./index.CNfQ0lj1.js";
3
- import { AppContext as Ei, E as Ai } from "./useLocalStorage.B1r33kl_.js";
2
+ import { c$1 as ot, S as at, LOCAL_STORAGE_PREFIX as wi, LOCAL_STORAGE_CHAT_DETAILS as Si, durationFormatter as Ci } from "./index.B5_Pppr9.js";
3
+ import { AppContext as Ei, E as Ai } from "./useLocalStorage.Bz8cVadw.js";
4
4
  import { lazy as Ii, useContext as Ti, Suspense as Pi } from "react";
5
- import { T as ut } from "./App.CB-l5VXS.js";
5
+ import { T as ut } from "./App.Bv1AXGNM.js";
6
6
  import cn from "clsx";
7
7
  const Li = ({
8
8
  spinnerRef: e,
@@ -8618,7 +8618,7 @@ function sf(e) {
8618
8618
  i.push(af(n)), o.push(Tc()), l.push(Pc(n));
8619
8619
  }
8620
8620
  const cf = Ii(
8621
- () => import("./LazyMarkdownWithExtra.BXN0qX-X.js")
8621
+ () => import("./LazyMarkdownWithExtra.AVk47oNE.js")
8622
8622
  ), In = {
8623
8623
  MODEL: "Model",
8624
8624
  PLUGIN: "Plugin",
@@ -3,7 +3,7 @@ import y from "clsx";
3
3
  import * as c from "react";
4
4
  import { useRef as C, useReducer as M, useEffect as _, useId as x } from "react";
5
5
  import { useMergeRefs as S, FloatingPortal as F, FloatingOverlay as O, FloatingFocusManager as P, useFloating as k, useClick as L, useDismiss as V, useRole as B, useInteractions as U } from "@floating-ui/react";
6
- import { S as j } from "./index.CNfQ0lj1.js";
6
+ import { S as j } from "./index.B5_Pppr9.js";
7
7
  const b = "SET_ANNOUNCEMENT", w = "CLEAR_ANNOUNCEMENT", q = {
8
8
  alert: null,
9
9
  alertdialog: null,
@@ -3,13 +3,13 @@ import V, { createContext as nr, useReducer as ft, useRef as W, useCallback as z
3
3
  import g from "clsx";
4
4
  var ir = Object.defineProperty, cr = (e, t, r) => t in e ? ir(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, Le = (e, t, r) => cr(e, typeof t != "symbol" ? t + "" : t, r);
5
5
  /*!
6
- @versini/auth-provider v7.1.1
6
+ @versini/auth-provider v7.1.2
7
7
  © 2024 gizmette.com
8
8
  */
9
9
  try {
10
10
  window.__VERSINI_AUTH_CLIENT__ || (window.__VERSINI_AUTH_CLIENT__ = {
11
- version: "7.1.1",
12
- buildTime: "08/25/2024 03:19 PM EDT",
11
+ version: "7.1.2",
12
+ buildTime: "08/26/2024 06:52 PM EDT",
13
13
  homepage: "https://github.com/aversini/auth-client",
14
14
  license: "MIT"
15
15
  });
@@ -141,8 +141,8 @@ class lr {
141
141
  }
142
142
  }
143
143
  }
144
- const St = new lr(), ur = ["cross-platform", "platform"];
145
- function At(e) {
144
+ const At = new lr(), ur = ["cross-platform", "platform"];
145
+ function St(e) {
146
146
  if (e && !(ur.indexOf(e) < 0))
147
147
  return e;
148
148
  }
@@ -159,7 +159,7 @@ async function mr(e) {
159
159
  },
160
160
  excludeCredentials: (m = e.excludeCredentials) == null ? void 0 : m.map(It)
161
161
  } };
162
- t.signal = St.createNewAbortSignal();
162
+ t.signal = At.createNewAbortSignal();
163
163
  let r;
164
164
  try {
165
165
  r = await navigator.credentials.create(t);
@@ -206,7 +206,7 @@ async function mr(e) {
206
206
  },
207
207
  type: s,
208
208
  clientExtensionResults: r.getClientExtensionResults(),
209
- authenticatorAttachment: At(r.authenticatorAttachment)
209
+ authenticatorAttachment: St(r.authenticatorAttachment)
210
210
  };
211
211
  }
212
212
  function Me(e, t) {
@@ -278,7 +278,7 @@ async function gr(e, t = !1) {
278
278
  throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');
279
279
  n.mediation = "conditional", a.allowCredentials = [];
280
280
  }
281
- n.publicKey = a, n.signal = St.createNewAbortSignal();
281
+ n.publicKey = a, n.signal = At.createNewAbortSignal();
282
282
  let o;
283
283
  try {
284
284
  o = await navigator.credentials.get(n);
@@ -300,7 +300,7 @@ async function gr(e, t = !1) {
300
300
  },
301
301
  type: h,
302
302
  clientExtensionResults: o.getClientExtensionResults(),
303
- authenticatorAttachment: At(o.authenticatorAttachment)
303
+ authenticatorAttachment: St(o.authenticatorAttachment)
304
304
  };
305
305
  }
306
306
  /*!
@@ -310,7 +310,7 @@ async function gr(e, t = !1) {
310
310
  try {
311
311
  window.__VERSINI_AUTH_COMMON__ || (window.__VERSINI_AUTH_COMMON__ = {
312
312
  version: "4.0.0",
313
- buildTime: "08/25/2024 03:19 PM EDT",
313
+ buildTime: "08/26/2024 06:51 PM EDT",
314
314
  homepage: "https://github.com/aversini/auth-client",
315
315
  license: "MIT"
316
316
  });
@@ -413,7 +413,7 @@ class Y extends q {
413
413
  return "ERR_JOSE_NOT_SUPPORTED";
414
414
  }
415
415
  }
416
- let A = class extends q {
416
+ let S = class extends q {
417
417
  constructor() {
418
418
  super(...arguments), this.code = "ERR_JWS_INVALID";
419
419
  }
@@ -531,7 +531,7 @@ const rt = (e, ...t) => Rt("Key must be ", e, ...t);
531
531
  function Nt(e, t, ...r) {
532
532
  return Rt(`Key for the ${e} algorithm must be `, t, ...r);
533
533
  }
534
- const xt = (e) => _t(e) ? !0 : (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject", ve = ["CryptoKey"], Sr = (...e) => {
534
+ const xt = (e) => _t(e) ? !0 : (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject", ve = ["CryptoKey"], Ar = (...e) => {
535
535
  const t = e.filter(Boolean);
536
536
  if (t.length === 0 || t.length === 1)
537
537
  return !0;
@@ -550,11 +550,11 @@ const xt = (e) => _t(e) ? !0 : (e == null ? void 0 : e[Symbol.toStringTag]) ===
550
550
  }
551
551
  return !0;
552
552
  };
553
- function Ar(e) {
553
+ function Sr(e) {
554
554
  return typeof e == "object" && e !== null;
555
555
  }
556
- function Se(e) {
557
- if (!Ar(e) || Object.prototype.toString.call(e) !== "[object Object]")
556
+ function Ae(e) {
557
+ if (!Sr(e) || Object.prototype.toString.call(e) !== "[object Object]")
558
558
  return !1;
559
559
  if (Object.getPrototypeOf(e) === null)
560
560
  return !0;
@@ -840,46 +840,46 @@ const Gr = async (e, t, r, a) => {
840
840
  }
841
841
  };
842
842
  async function Wr(e, t, r) {
843
- if (!Se(e))
844
- throw new A("Flattened JWS must be an object");
843
+ if (!Ae(e))
844
+ throw new S("Flattened JWS must be an object");
845
845
  if (e.protected === void 0 && e.header === void 0)
846
- throw new A('Flattened JWS must have either of the "protected" or "header" members');
846
+ throw new S('Flattened JWS must have either of the "protected" or "header" members');
847
847
  if (e.protected !== void 0 && typeof e.protected != "string")
848
- throw new A("JWS Protected Header incorrect type");
848
+ throw new S("JWS Protected Header incorrect type");
849
849
  if (e.payload === void 0)
850
- throw new A("JWS Payload missing");
850
+ throw new S("JWS Payload missing");
851
851
  if (typeof e.signature != "string")
852
- throw new A("JWS Signature missing or incorrect type");
853
- if (e.header !== void 0 && !Se(e.header))
854
- throw new A("JWS Unprotected Header incorrect type");
852
+ throw new S("JWS Signature missing or incorrect type");
853
+ if (e.header !== void 0 && !Ae(e.header))
854
+ throw new S("JWS Unprotected Header incorrect type");
855
855
  let a = {};
856
856
  if (e.protected)
857
857
  try {
858
858
  const f = se(e.protected);
859
859
  a = JSON.parse(de.decode(f));
860
860
  } catch {
861
- throw new A("JWS Protected Header is invalid");
861
+ throw new S("JWS Protected Header is invalid");
862
862
  }
863
- if (!Sr(a, e.header))
864
- throw new A("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");
863
+ if (!Ar(a, e.header))
864
+ throw new S("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");
865
865
  const n = {
866
866
  ...a,
867
867
  ...e.header
868
- }, o = Ur(A, /* @__PURE__ */ new Map([["b64", !0]]), r == null ? void 0 : r.crit, a, n);
868
+ }, o = Ur(S, /* @__PURE__ */ new Map([["b64", !0]]), r == null ? void 0 : r.crit, a, n);
869
869
  let s = !0;
870
870
  if (o.has("b64") && (s = a.b64, typeof s != "boolean"))
871
- throw new A('The "b64" (base64url-encode payload) Header Parameter must be a boolean');
871
+ throw new S('The "b64" (base64url-encode payload) Header Parameter must be a boolean');
872
872
  const { alg: i } = n;
873
873
  if (typeof i != "string" || !i)
874
- throw new A('JWS "alg" (Algorithm) Header Parameter missing or invalid');
874
+ throw new S('JWS "alg" (Algorithm) Header Parameter missing or invalid');
875
875
  const u = r && Hr("algorithms", r.algorithms);
876
876
  if (u && !u.has(i))
877
877
  throw new Er('"alg" (Algorithm) Header Parameter value not allowed');
878
878
  if (s) {
879
879
  if (typeof e.payload != "string")
880
- throw new A("JWS Payload must be a string");
880
+ throw new S("JWS Payload must be a string");
881
881
  } else if (typeof e.payload != "string" && !(e.payload instanceof Uint8Array))
882
- throw new A("JWS Payload must be a string or an Uint8Array instance");
882
+ throw new S("JWS Payload must be a string or an Uint8Array instance");
883
883
  let h = !1;
884
884
  typeof t == "function" && (t = await t(a, e), h = !0), Mr(i, t, "verify");
885
885
  const p = yr(ue.encode(e.protected ?? ""), ue.encode("."), typeof e.payload == "string" ? ue.encode(e.payload) : e.payload);
@@ -887,7 +887,7 @@ async function Wr(e, t, r) {
887
887
  try {
888
888
  m = se(e.signature);
889
889
  } catch {
890
- throw new A("Failed to base64url decode the signature");
890
+ throw new S("Failed to base64url decode the signature");
891
891
  }
892
892
  if (!await Gr(i, t, m, p))
893
893
  throw new wr();
@@ -896,7 +896,7 @@ async function Wr(e, t, r) {
896
896
  try {
897
897
  d = se(e.payload);
898
898
  } catch {
899
- throw new A("Failed to base64url decode the payload");
899
+ throw new S("Failed to base64url decode the payload");
900
900
  }
901
901
  else typeof e.payload == "string" ? d = ue.encode(e.payload) : d = e.payload;
902
902
  const l = { payload: d };
@@ -904,10 +904,10 @@ async function Wr(e, t, r) {
904
904
  }
905
905
  async function Vr(e, t, r) {
906
906
  if (e instanceof Uint8Array && (e = de.decode(e)), typeof e != "string")
907
- throw new A("Compact JWS must be a string or Uint8Array");
907
+ throw new S("Compact JWS must be a string or Uint8Array");
908
908
  const { 0: a, 1: n, 2: o, length: s } = e.split(".");
909
909
  if (s !== 3)
910
- throw new A("Invalid Compact JWS");
910
+ throw new S("Invalid Compact JWS");
911
911
  const i = await Wr({ payload: n, protected: a, signature: o }, t, r), u = { payload: i.payload, protectedHeader: i.protectedHeader };
912
912
  return typeof t == "function" ? { ...u, key: i.key } : u;
913
913
  }
@@ -960,7 +960,7 @@ const Jr = (e) => Math.floor(e.getTime() / 1e3), Dt = 60, $t = Dt * 60, je = $t
960
960
  a = JSON.parse(de.decode(t));
961
961
  } catch {
962
962
  }
963
- if (!Se(a))
963
+ if (!Ae(a))
964
964
  throw new G("JWT Claims Set must be a top-level JSON object");
965
965
  const { typ: n } = r;
966
966
  if (n && (typeof e.typ != "string" || ot(e.typ) !== ot(n)))
@@ -1045,7 +1045,7 @@ function Zr(e) {
1045
1045
  } catch {
1046
1046
  throw new G("Failed to parse the decoded payload as JSON");
1047
1047
  }
1048
- if (!Se(n))
1048
+ if (!Ae(n))
1049
1049
  throw new G("Invalid JWT Claims Set");
1050
1050
  return n;
1051
1051
  }
@@ -1144,11 +1144,11 @@ function pe({
1144
1144
  }
1145
1145
  }, [e, t]), [r ? JSON.parse(r) : null, a, n, o];
1146
1146
  }
1147
- var S = [];
1147
+ var A = [];
1148
1148
  for (var Ge = 0; Ge < 256; ++Ge)
1149
- S.push((Ge + 256).toString(16).slice(1));
1149
+ A.push((Ge + 256).toString(16).slice(1));
1150
1150
  function ua(e, t = 0) {
1151
- return (S[e[t + 0]] + S[e[t + 1]] + S[e[t + 2]] + S[e[t + 3]] + "-" + S[e[t + 4]] + S[e[t + 5]] + "-" + S[e[t + 6]] + S[e[t + 7]] + "-" + S[e[t + 8]] + S[e[t + 9]] + "-" + S[e[t + 10]] + S[e[t + 11]] + S[e[t + 12]] + S[e[t + 13]] + S[e[t + 14]] + S[e[t + 15]]).toLowerCase();
1151
+ return (A[e[t + 0]] + A[e[t + 1]] + A[e[t + 2]] + A[e[t + 3]] + "-" + A[e[t + 4]] + A[e[t + 5]] + "-" + A[e[t + 6]] + A[e[t + 7]] + "-" + A[e[t + 8]] + A[e[t + 9]] + "-" + A[e[t + 10]] + A[e[t + 11]] + A[e[t + 12]] + A[e[t + 13]] + A[e[t + 14]] + A[e[t + 15]]).toLowerCase();
1152
1152
  }
1153
1153
  var ge, ma = new Uint8Array(16);
1154
1154
  function ha() {
@@ -1167,7 +1167,7 @@ function We(e, t, r) {
1167
1167
  var a = e.random || (e.rng || ha)();
1168
1168
  return a[6] = a[6] & 15 | 64, a[8] = a[8] & 63 | 128, ua(a);
1169
1169
  }
1170
- const X = "Your session has expired. For your security, please log in again to continue.", ga = "Your session has been successfully terminated.", Ve = "Login failed. Please try again.", fa = "Error getting access token, please re-authenticate.", ya = "You forgot to wrap your component in <AuthProvider>.", Ae = {
1170
+ const X = "Your session has expired. For your security, please log in again to continue.", ga = "Your session has been successfully terminated.", Ve = "Login failed. Please try again.", fa = "Error getting access token, please re-authenticate.", ya = "You forgot to wrap your component in <AuthProvider>.", Se = {
1171
1171
  dev: "https://auth.gizmette.local.com:3003",
1172
1172
  prod: "https://mylogin.gizmette.com/auth"
1173
1173
  }, fe = "@@auth@@", oe = "LOADING", we = "LOGIN", Mt = "LOGOUT", le = "success", M = "failure", Ut = "include", Ht = "POST", Kt = "application/json", ye = {
@@ -1275,7 +1275,7 @@ const X = "Your session has expired. For your security, please log in again to c
1275
1275
  }) => {
1276
1276
  try {
1277
1277
  const n = `Bearer ${e}`, o = await fetch(
1278
- Bt ? `${Ae.dev}/graphql` : `${Ae.prod}/graphql`,
1278
+ Bt ? `${Se.dev}/graphql` : `${Se.prod}/graphql`,
1279
1279
  {
1280
1280
  credentials: Ut,
1281
1281
  method: Ht,
@@ -1307,7 +1307,7 @@ const X = "Your session has expired. For your security, please log in again to c
1307
1307
  }) => {
1308
1308
  try {
1309
1309
  const a = await fetch(
1310
- Bt ? `${Ae.dev}/${e}` : `${Ae.prod}/${e}`,
1310
+ Bt ? `${Se.dev}/${e}` : `${Se.prod}/${e}`,
1311
1311
  {
1312
1312
  credentials: Ut,
1313
1313
  method: Ht,
@@ -1344,19 +1344,21 @@ const X = "Your session has expired. For your security, please log in again to c
1344
1344
  }, wa = async ({
1345
1345
  userId: e,
1346
1346
  clientId: t,
1347
- domain: r
1347
+ domain: r,
1348
+ idToken: a = ""
1348
1349
  }) => {
1349
- var a;
1350
+ var n;
1350
1351
  try {
1351
1352
  return {
1352
- status: ((a = await xe({
1353
+ status: ((n = await xe({
1353
1354
  type: Re.LOGOUT,
1354
1355
  clientId: t,
1355
1356
  params: {
1356
1357
  userId: e,
1357
- domain: r
1358
+ domain: r,
1359
+ idToken: a
1358
1360
  }
1359
- })) == null ? void 0 : a.status) || M
1361
+ })) == null ? void 0 : n.status) || M
1360
1362
  };
1361
1363
  } catch {
1362
1364
  return {
@@ -1471,7 +1473,7 @@ const X = "Your session has expired. For your security, please log in again to c
1471
1473
  };
1472
1474
  }
1473
1475
  };
1474
- class Sa {
1476
+ class Aa {
1475
1477
  constructor(t = null, r = null) {
1476
1478
  Le(this, "refreshTokenPromise", null), Le(this, "accessToken"), Le(this, "refreshToken"), this.accessToken = t || "", this.refreshToken = r || "";
1477
1479
  }
@@ -1522,7 +1524,7 @@ class Sa {
1522
1524
  };
1523
1525
  }
1524
1526
  }
1525
- const Aa = (e) => z(
1527
+ const Sa = (e) => z(
1526
1528
  (...t) => {
1527
1529
  e && console.info(`==> [Auth ${Date.now()}]: `, ...t);
1528
1530
  },
@@ -1568,7 +1570,7 @@ const Aa = (e) => z(
1568
1570
  const [o, s] = ft(_a, {
1569
1571
  ...Gt,
1570
1572
  debug: n
1571
- }), i = Aa(n), u = W(!1), [h, p, , m] = pe({
1573
+ }), i = Sa(n), u = W(!1), [h, p, , m] = pe({
1572
1574
  key: `${fe}::${r}::@@user@@`
1573
1575
  }), [d, l, , f] = pe({
1574
1576
  key: `${fe}::${r}::@@access@@`
@@ -1578,7 +1580,7 @@ const Aa = (e) => z(
1578
1580
  }
1579
1581
  ), [U, H, , O] = pe({
1580
1582
  key: `${fe}::${r}::@@nonce@@`
1581
- }), ae = new Sa(d, E), P = z(() => {
1583
+ }), ae = new Aa(d, E), P = z(() => {
1582
1584
  i("removeLocalStorage: removing local storage"), m(), f(), w(), O();
1583
1585
  }, [
1584
1586
  f,
@@ -1608,7 +1610,8 @@ const Aa = (e) => z(
1608
1610
  ), await wa({
1609
1611
  userId: b,
1610
1612
  clientId: r,
1611
- domain: a
1613
+ domain: a,
1614
+ idToken: h
1612
1615
  }), N(y || X);
1613
1616
  },
1614
1617
  [h, o, r, a, N, i]
@@ -1898,12 +1901,12 @@ const Ua = process.env.NODE_ENV === "production", Qe = !Ua, Ha = Qe ? "gizmette.
1898
1901
  min: n,
1899
1902
  sec: o
1900
1903
  };
1901
- }, So = (e) => {
1904
+ }, Ao = (e) => {
1902
1905
  if (!e && e !== 0)
1903
1906
  return "N/A";
1904
1907
  const t = Vt(e, !1);
1905
1908
  return `${t.deg}° ${t.min}' ${t.sec}" ${t.dir}`;
1906
- }, Ao = (e) => {
1909
+ }, So = (e) => {
1907
1910
  if (!e && e !== 0)
1908
1911
  return "N/A";
1909
1912
  const t = Vt(e, !0);
@@ -2942,7 +2945,7 @@ try {
2942
2945
  });
2943
2946
  } catch {
2944
2947
  }
2945
- const Sn = (e) => {
2948
+ const An = (e) => {
2946
2949
  let t = "";
2947
2950
  if (typeof e == "number" || typeof e == "string")
2948
2951
  t = "m-" + e;
@@ -2963,7 +2966,7 @@ const Sn = (e) => {
2963
2966
  semantic: u = !1,
2964
2967
  ...h
2965
2968
  }) => {
2966
- const p = Sn(s), m = g(
2969
+ const p = An(s), m = g(
2967
2970
  p,
2968
2971
  a || o
2969
2972
  );
@@ -2986,19 +2989,19 @@ const Sn = (e) => {
2986
2989
  ] });
2987
2990
  };
2988
2991
  /*!
2989
- @versini/ui-private v1.4.6
2992
+ @versini/ui-private v1.4.8
2990
2993
  © 2024 gizmette.com
2991
2994
  */
2992
2995
  try {
2993
2996
  window.__VERSINI_UI_PRIVATE__ || (window.__VERSINI_UI_PRIVATE__ = {
2994
- version: "1.4.6",
2995
- buildTime: "07/14/2024 07:45 PM EDT",
2997
+ version: "1.4.8",
2998
+ buildTime: "08/31/2024 05:10 PM EDT",
2996
2999
  homepage: "https://github.com/aversini/ui-components",
2997
3000
  license: "MIT"
2998
3001
  });
2999
3002
  } catch {
3000
3003
  }
3001
- const An = ({
3004
+ const Sn = ({
3002
3005
  className: e,
3003
3006
  viewBox: t,
3004
3007
  spacing: r,
@@ -3058,35 +3061,39 @@ const An = ({
3058
3061
  title: a,
3059
3062
  monotone: n,
3060
3063
  ...o
3061
- }) => /* @__PURE__ */ I(
3062
- Oe,
3063
- {
3064
- defaultViewBox: "0 0 512 512",
3065
- defaultClassName: "size-5",
3066
- viewBox: t,
3067
- className: e,
3068
- spacing: r,
3069
- title: a || "Key",
3070
- ...o,
3071
- children: [
3072
- /* @__PURE__ */ c(
3073
- "path",
3074
- {
3075
- className: "fa-secondary",
3076
- opacity: n ? "1" : "0.4",
3077
- d: "M168.3 229.7L282.3 343.7l0 0s0 0 0 0L249 377c-4.5 4.5-10.6 7-17 7H192v40c0 13.3-10.7 24-24 24H128v40c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V408c0-6.4 2.5-12.5 7-17L168.3 229.7s0 0 0 0l0 0z"
3078
- }
3079
- ),
3080
- /* @__PURE__ */ c(
3081
- "path",
3082
- {
3083
- className: "fa-primary",
3084
- d: "M168.3 229.7L282.3 343.7l0 0c16.9 5.4 35 8.3 53.7 8.3c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7l0 0zM336 136a40 40 0 1 1 80 0 40 40 0 1 1 -80 0z"
3085
- }
3086
- )
3087
- ]
3088
- }
3089
- ), Rn = ({
3064
+ }) => {
3065
+ const s = n ? "1" : "0.4";
3066
+ return /* @__PURE__ */ I(
3067
+ Oe,
3068
+ {
3069
+ defaultViewBox: "0 0 216 216",
3070
+ defaultClassName: "size-5",
3071
+ viewBox: t,
3072
+ className: e,
3073
+ spacing: r,
3074
+ title: a || "Passkey",
3075
+ ...o,
3076
+ children: [
3077
+ /* @__PURE__ */ c(
3078
+ "path",
3079
+ {
3080
+ opacity: s,
3081
+ d: "M172.32,96.79c0,13.78-8.48,25.5-20.29,29.78l7.14,11.83l-10.57,13l10.57,12.71l-17.04,22.87l-12.01-12.82 v-25.9v-22.56c-10.68-4.85-18.15-15.97-18.15-28.91c0-17.4,13.51-31.51,30.18-31.51C158.81,65.28,172.32,79.39,172.32,96.79z M142.14,101.61c4.02,0,7.28-3.4,7.28-7.6c0-4.2-3.26-7.61-7.28-7.61s-7.28,3.4-7.28,7.61 C134.85,98.21,138.12,101.61,142.14,101.61z"
3082
+ }
3083
+ ),
3084
+ /* @__PURE__ */ c(
3085
+ "path",
3086
+ {
3087
+ opacity: s,
3088
+ d: "M172.41,96.88c0,13.62-8.25,25.23-19.83,29.67l6.58,11.84l-9.73,13l9.73,12.71l-17.03,23.05v-25.9v-32.77 v-26.87c4.02,0,7.28-3.41,7.28-7.6c0-4.2-3.26-7.61-7.28-7.61V65.28C158.86,65.28,172.41,79.43,172.41,96.88z"
3089
+ }
3090
+ ),
3091
+ /* @__PURE__ */ c("path", { d: "M120.24,131.43c-9.75-8-16.3-20.3-17.2-34.27H50.8c-10.96,0-19.84,9.01-19.84,20.13v25.17 c0,5.56,4.44,10.07,9.92,10.07h69.44c5.48,0,9.92-4.51,9.92-10.07V131.43z" }),
3092
+ /* @__PURE__ */ c("path", { d: "M73.16,91.13c-2.42-0.46-4.82-0.89-7.11-1.86C57.4,85.64,52.36,78.95,50.73,69.5 c-1.12-6.47-0.59-12.87,2.03-18.92c3.72-8.6,10.39-13.26,19.15-14.84c5.24-0.94,10.46-0.73,15.5,1.15 c7.59,2.82,12.68,8.26,15.03,16.24c2.38,8.05,2.03,16.1-1.56,23.72c-3.72,7.96-10.21,12.23-18.42,13.9 c-0.68,0.14-1.37,0.27-2.05,0.41C78,91.13,75.58,91.13,73.16,91.13z" })
3093
+ ]
3094
+ }
3095
+ );
3096
+ }, Rn = ({
3090
3097
  className: e,
3091
3098
  viewBox: t,
3092
3099
  spacing: r,
@@ -3116,13 +3123,13 @@ const An = ({
3116
3123
  }
3117
3124
  );
3118
3125
  /*!
3119
- @versini/ui-icons v1.11.0
3126
+ @versini/ui-icons v1.12.0
3120
3127
  © 2024 gizmette.com
3121
3128
  */
3122
3129
  try {
3123
3130
  window.__VERSINI_UI_ICONS__ || (window.__VERSINI_UI_ICONS__ = {
3124
- version: "1.11.0",
3125
- buildTime: "07/14/2024 07:45 PM EDT",
3131
+ version: "1.12.0",
3132
+ buildTime: "08/31/2024 05:10 PM EDT",
3126
3133
  homepage: "https://github.com/aversini/ui-components",
3127
3134
  license: "MIT"
3128
3135
  });
@@ -3337,7 +3344,7 @@ const On = "ASK! ME! ANYTHING!", tr = "Sassy Saint", Pn = "gizmette.com", Dn = "
3337
3344
  row1: /* @__PURE__ */ I("div", { children: [
3338
3345
  tr,
3339
3346
  " v",
3340
- "4.0.2",
3347
+ "4.0.4",
3341
3348
  " - ",
3342
3349
  Mn,
3343
3350
  Qe && e && e.models.length > 0 && e.models[0] === "development" ? " - Development Mode" : ""
@@ -3349,12 +3356,12 @@ const On = "ASK! ME! ANYTHING!", tr = "Sassy Saint", Pn = "gizmette.com", Dn = "
3349
3356
  Pn
3350
3357
  ] })
3351
3358
  }
3352
- ), Hn = wt(() => import("./LazyHeader.BLLQsxSA.js")), Kn = () => {
3359
+ ), Hn = wt(() => import("./LazyHeader.B-Inpb_l.js")), Kn = () => {
3353
3360
  const { isAuthenticated: e } = qe();
3354
3361
  return /* @__PURE__ */ I(ce, { children: [
3355
3362
  e && /* @__PURE__ */ c(Tt, { fallback: /* @__PURE__ */ c("div", {}), children: /* @__PURE__ */ c(Hn, {}) }),
3356
3363
  /* @__PURE__ */ I("div", { className: "flex items-center justify-center", children: [
3357
- /* @__PURE__ */ c("div", { className: "basis-1/4", children: /* @__PURE__ */ c(An, {}) }),
3364
+ /* @__PURE__ */ c("div", { className: "basis-1/4", children: /* @__PURE__ */ c(Sn, {}) }),
3358
3365
  /* @__PURE__ */ I("div", { className: "prose prose-sm prose-light md:prose-base prose-h1:mb-0 prose-h2:mt-0", children: [
3359
3366
  /* @__PURE__ */ c("h1", { children: tr }),
3360
3367
  /* @__PURE__ */ c("h2", { children: On })
@@ -3449,14 +3456,14 @@ const On = "ASK! ME! ANYTHING!", tr = "Sassy Saint", Pn = "gizmette.com", Dn = "
3449
3456
  className: "mb-4 mt-1",
3450
3457
  labelRight: $n,
3451
3458
  onClick: r,
3452
- children: /* @__PURE__ */ c(_n, { className: "size-4" })
3459
+ children: /* @__PURE__ */ c(_n, { className: "size-7" })
3453
3460
  }
3454
3461
  ) }) })
3455
3462
  ] })
3456
3463
  ] }),
3457
3464
  /* @__PURE__ */ c(Un, {})
3458
3465
  ] });
3459
- }, Gn = new URL(document.location.href).searchParams, Wn = !!Gn.get("debug") || !1, Vn = wt(() => import("./App.CB-l5VXS.js").then((e) => e.App)), Jn = ({ isComponent: e }) => {
3466
+ }, Gn = new URL(document.location.href).searchParams, Wn = !!Gn.get("debug") || !1, Vn = wt(() => import("./App.Bv1AXGNM.js").then((e) => e.App)), Jn = ({ isComponent: e }) => {
3460
3467
  const { isAuthenticated: t } = qe();
3461
3468
  return t ? /* @__PURE__ */ c(Tt, { fallback: /* @__PURE__ */ c("div", {}), children: /* @__PURE__ */ c(Vn, { isComponent: e }) }) : /* @__PURE__ */ c(Bn, {});
3462
3469
  }, Fn = ({
@@ -3512,13 +3519,12 @@ export {
3512
3519
  gt as b,
3513
3520
  rn as c,
3514
3521
  Lo as c$1,
3515
- So as convertLatitudeToDMS,
3516
- Ao as convertLongitudeToDMS,
3522
+ Ao as convertLatitudeToDMS,
3523
+ So as convertLongitudeToDMS,
3517
3524
  Co as durationFormatter,
3518
3525
  Ro as extractAverage,
3519
3526
  Jt as f,
3520
3527
  an as f$1,
3521
- _n as f$2,
3522
3528
  Oe as g,
3523
3529
  ko as getCurrentGeoLocation,
3524
3530
  Ka as getMessageContaintWrapperClass,
@@ -3536,6 +3542,7 @@ export {
3536
3542
  _o as renderDataAsList,
3537
3543
  Po as s,
3538
3544
  vo as truncate,
3545
+ _n as v,
3539
3546
  zt as x,
3540
3547
  qe as zr
3541
3548
  };
@@ -1,7 +1,7 @@
1
1
  import { jsxs as _, Fragment as M, jsx as l } from "react/jsx-runtime";
2
2
  import m from "clsx";
3
3
  import w, { useContext as k, useSyncExternalStore as W, useCallback as S, useEffect as P } from "react";
4
- import { A as U, i as F, f as q, S as j, MODEL_GPT4 as J } from "./index.CNfQ0lj1.js";
4
+ import { A as U, i as F, f as q, S as j, MODEL_GPT4 as J } from "./index.B5_Pppr9.js";
5
5
  const Q = (e) => {
6
6
  let a = "";
7
7
  if (typeof e == "number" || typeof e == "string")
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { SassySaint as a } from "../../chunks/index.CNfQ0lj1.js";
2
+ import { SassySaint as a } from "../../chunks/index.B5_Pppr9.js";
3
3
  export {
4
4
  a as SassySaint
5
5
  };
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
- import { SassySaint as r } from "./chunks/index.CNfQ0lj1.js";
1
+ import { SassySaint as r } from "./chunks/index.B5_Pppr9.js";
2
2
  /*!
3
- @sassysaint/client v4.0.2
3
+ @sassysaint/client v4.0.4
4
4
  © 2024 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_SASSY_GLOBAL__ || (window.__VERSINI_SASSY_GLOBAL__ = {
8
- version: "4.0.2",
9
- buildTime: "08/29/2024 09:23 PM EDT",
8
+ version: "4.0.4",
9
+ buildTime: "08/31/2024 05:34 PM EDT",
10
10
  license: "MIT"
11
11
  });
12
12
  } catch {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/sassysaint",
3
- "version": "4.0.2",
3
+ "version": "4.0.4",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {
@@ -30,7 +30,7 @@
30
30
  "react-dom": "18.3.1"
31
31
  },
32
32
  "devDependencies": {
33
- "@sassysaint/client": "4.0.2",
33
+ "@sassysaint/client": "4.0.4",
34
34
  "@versini/ui-styles": "1.9.5"
35
35
  },
36
36
  "dependencies": {
@@ -41,5 +41,5 @@
41
41
  "sideEffects": [
42
42
  "**/*.css"
43
43
  ],
44
- "gitHead": "1043c680b87619aaca561212b4345fec1396fa5e"
44
+ "gitHead": "641847d4e0abbea835a41cbb4ef5672471afcd18"
45
45
  }