@versini/sassysaint 5.5.18 → 5.5.19

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,8 +1,8 @@
1
1
  import { jsxs as Ye, jsx as re, Fragment as Jt } from "react/jsx-runtime";
2
- import { AppContext as pi, E as hi, le$1 as at } from "./App.oZoXeHpk.js";
2
+ import { AppContext as pi, E as hi, le as at } from "./App.CN26Vdes.js";
3
3
  import sn from "clsx";
4
4
  import { lazy as mi, useContext as gi, Suspense as di } from "react";
5
- import { LOCAL_STORAGE_PREFIX as yi, LOCAL_STORAGE_CHAT_DETAILS as ki, durationFormatter as xi } from "./index.Dc-g6Ljy.js";
5
+ import { LOCAL_STORAGE_PREFIX as yi, LOCAL_STORAGE_CHAT_DETAILS as ki, durationFormatter as xi } from "./index.DaKlCgCU.js";
6
6
  /*!
7
7
  @versini/ui-spinner v3.0.0
8
8
  © 2025 gizmette.com
@@ -8651,7 +8651,7 @@ function Uc(e) {
8651
8651
  const qc = mi(
8652
8652
  () => import(
8653
8653
  /* webpackChunkName: "LazyMarkdownWithExtra" */
8654
- "./MarkdownWithExtra.D6_F01Wo.js"
8654
+ "./MarkdownWithExtra.D9aZRrcd.js"
8655
8655
  )
8656
8656
  ), Tn = {
8657
8657
  MODEL: "Model",
@@ -42,7 +42,7 @@ function _t(e) {
42
42
  function kt(e) {
43
43
  return e === "localhost" || /^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e);
44
44
  }
45
- let R = class extends Error {
45
+ let N = class extends Error {
46
46
  constructor({ message: t, code: r, cause: a, name: n }) {
47
47
  super(t, { cause: a }), this.name = n ?? a.name, this.code = r;
48
48
  }
@@ -54,43 +54,43 @@ function lr({ error: e, options: t }) {
54
54
  throw Error("options was missing required publicKey property");
55
55
  if (e.name === "AbortError") {
56
56
  if (t.signal instanceof AbortSignal)
57
- return new R({
57
+ return new N({
58
58
  message: "Registration ceremony was sent an abort signal",
59
59
  code: "ERROR_CEREMONY_ABORTED",
60
60
  cause: e
61
61
  });
62
62
  } else if (e.name === "ConstraintError") {
63
63
  if (((a = r.authenticatorSelection) == null ? void 0 : a.requireResidentKey) === !0)
64
- return new R({
64
+ return new N({
65
65
  message: "Discoverable credentials were required but no available authenticator supported it",
66
66
  code: "ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",
67
67
  cause: e
68
68
  });
69
69
  if (((n = r.authenticatorSelection) == null ? void 0 : n.userVerification) === "required")
70
- return new R({
70
+ return new N({
71
71
  message: "User verification was required but no available authenticator supported it",
72
72
  code: "ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",
73
73
  cause: e
74
74
  });
75
75
  } else {
76
76
  if (e.name === "InvalidStateError")
77
- return new R({
77
+ return new N({
78
78
  message: "The authenticator was previously registered",
79
79
  code: "ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",
80
80
  cause: e
81
81
  });
82
82
  if (e.name === "NotAllowedError")
83
- return new R({
83
+ return new N({
84
84
  message: e.message,
85
85
  code: "ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",
86
86
  cause: e
87
87
  });
88
88
  if (e.name === "NotSupportedError")
89
- return r.pubKeyCredParams.filter((o) => o.type === "public-key").length === 0 ? new R({
89
+ return r.pubKeyCredParams.filter((o) => o.type === "public-key").length === 0 ? new N({
90
90
  message: 'No entry in pubKeyCredParams was of type "public-key"',
91
91
  code: "ERROR_MALFORMED_PUBKEYCREDPARAMS",
92
92
  cause: e
93
- }) : new R({
93
+ }) : new N({
94
94
  message: "No available authenticator supported any of the specified pubKeyCredParams algorithms",
95
95
  code: "ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",
96
96
  cause: e
@@ -99,25 +99,25 @@ function lr({ error: e, options: t }) {
99
99
  const o = window.location.hostname;
100
100
  if (kt(o)) {
101
101
  if (r.rp.id !== o)
102
- return new R({
102
+ return new N({
103
103
  message: `The RP ID "${r.rp.id}" is invalid for this domain`,
104
104
  code: "ERROR_INVALID_RP_ID",
105
105
  cause: e
106
106
  });
107
- } else return new R({
107
+ } else return new N({
108
108
  message: `${window.location.hostname} is an invalid domain`,
109
109
  code: "ERROR_INVALID_DOMAIN",
110
110
  cause: e
111
111
  });
112
112
  } else if (e.name === "TypeError") {
113
113
  if (r.user.id.byteLength < 1 || r.user.id.byteLength > 64)
114
- return new R({
114
+ return new N({
115
115
  message: "User ID was not between 1 and 64 characters",
116
116
  code: "ERROR_INVALID_USER_ID_LENGTH",
117
117
  cause: e
118
118
  });
119
119
  } else if (e.name === "UnknownError")
120
- return new R({
120
+ return new N({
121
121
  message: "The authenticator was unable to process the specified options, or could not create a new credential",
122
122
  code: "ERROR_AUTHENTICATOR_GENERAL_ERROR",
123
123
  cause: e
@@ -225,14 +225,14 @@ function pr({ error: e, options: t }) {
225
225
  throw Error("options was missing required publicKey property");
226
226
  if (e.name === "AbortError") {
227
227
  if (t.signal instanceof AbortSignal)
228
- return new R({
228
+ return new N({
229
229
  message: "Authentication ceremony was sent an abort signal",
230
230
  code: "ERROR_CEREMONY_ABORTED",
231
231
  cause: e
232
232
  });
233
233
  } else {
234
234
  if (e.name === "NotAllowedError")
235
- return new R({
235
+ return new N({
236
236
  message: e.message,
237
237
  code: "ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",
238
238
  cause: e
@@ -241,18 +241,18 @@ function pr({ error: e, options: t }) {
241
241
  const a = window.location.hostname;
242
242
  if (kt(a)) {
243
243
  if (r.rpId !== a)
244
- return new R({
244
+ return new N({
245
245
  message: `The RP ID "${r.rpId}" is invalid for this domain`,
246
246
  code: "ERROR_INVALID_RP_ID",
247
247
  cause: e
248
248
  });
249
- } else return new R({
249
+ } else return new N({
250
250
  message: `${window.location.hostname} is an invalid domain`,
251
251
  code: "ERROR_INVALID_DOMAIN",
252
252
  cause: e
253
253
  });
254
254
  } else if (e.name === "UnknownError")
255
- return new R({
255
+ return new N({
256
256
  message: "The authenticator was unable to process the specified options, or could not create a new assertion signature",
257
257
  code: "ERROR_AUTHENTICATOR_GENERAL_ERROR",
258
258
  cause: e
@@ -323,7 +323,7 @@ const ue = {
323
323
  CODE: "code",
324
324
  REFRESH_TOKEN: "refresh_token",
325
325
  PASSKEY: "passkey"
326
- }, Rt = {
326
+ }, Nt = {
327
327
  CLIENT_ID: "X-Auth-ClientId"
328
328
  }, A = {
329
329
  ALG: "RS256",
@@ -351,7 +351,7 @@ awIDAQAB
351
351
  LOGOUT: "logout",
352
352
  LOGIN: "login",
353
353
  REFRESH: "refresh"
354
- }, De = crypto, Nt = (e) => e instanceof CryptoKey, Ee = new TextEncoder(), fe = new TextDecoder();
354
+ }, De = crypto, Rt = (e) => e instanceof CryptoKey, Ee = new TextEncoder(), fe = new TextDecoder();
355
355
  function fr(...e) {
356
356
  const t = e.reduce((n, { length: o }) => n + o, 0), r = new Uint8Array(t);
357
357
  let a = 0;
@@ -495,7 +495,7 @@ function vr(e, t) {
495
495
  throw new TypeError(r);
496
496
  }
497
497
  }
498
- function Rr(e, t, ...r) {
498
+ function Nr(e, t, ...r) {
499
499
  switch (t) {
500
500
  case "HS256":
501
501
  case "HS384":
@@ -559,7 +559,7 @@ const st = (e, ...t) => Ot("Key must be ", e, ...t);
559
559
  function Pt(e, t, ...r) {
560
560
  return Ot(`Key for the ${e} algorithm must be `, t, ...r);
561
561
  }
562
- const Dt = (e) => Nt(e) ? !0 : (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject", Re = ["CryptoKey"], Nr = (...e) => {
562
+ const Dt = (e) => Rt(e) ? !0 : (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject", Ne = ["CryptoKey"], Rr = (...e) => {
563
563
  const t = e.filter(Boolean);
564
564
  if (t.length === 0 || t.length === 1)
565
565
  return !0;
@@ -693,7 +693,7 @@ const Lt = async (e) => {
693
693
  return delete n.alg, delete n.use, De.subtle.importKey("jwk", n, ...a);
694
694
  }, $t = (e) => X(e);
695
695
  let ne, oe;
696
- const Mt = (e) => (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject", Ne = async (e, t, r, a, n = !1) => {
696
+ const Mt = (e) => (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject", Re = async (e, t, r, a, n = !1) => {
697
697
  let o = e.get(t);
698
698
  if (o != null && o[a])
699
699
  return o[a];
@@ -702,15 +702,15 @@ const Mt = (e) => (e == null ? void 0 : e[Symbol.toStringTag]) === "KeyObject",
702
702
  }, $r = (e, t) => {
703
703
  if (Mt(e)) {
704
704
  let r = e.export({ format: "jwk" });
705
- return delete r.d, delete r.dp, delete r.dq, delete r.p, delete r.q, delete r.qi, r.k ? $t(r.k) : (oe || (oe = /* @__PURE__ */ new WeakMap()), Ne(oe, e, r, t));
705
+ return delete r.d, delete r.dp, delete r.dq, delete r.p, delete r.q, delete r.qi, r.k ? $t(r.k) : (oe || (oe = /* @__PURE__ */ new WeakMap()), Re(oe, e, r, t));
706
706
  }
707
- return me(e) ? e.k ? X(e.k) : (oe || (oe = /* @__PURE__ */ new WeakMap()), Ne(oe, e, e, t, !0)) : e;
707
+ return me(e) ? e.k ? X(e.k) : (oe || (oe = /* @__PURE__ */ new WeakMap()), Re(oe, e, e, t, !0)) : e;
708
708
  }, Mr = (e, t) => {
709
709
  if (Mt(e)) {
710
710
  let r = e.export({ format: "jwk" });
711
- return r.k ? $t(r.k) : (ne || (ne = /* @__PURE__ */ new WeakMap()), Ne(ne, e, r, t));
711
+ return r.k ? $t(r.k) : (ne || (ne = /* @__PURE__ */ new WeakMap()), Re(ne, e, r, t));
712
712
  }
713
- return me(e) ? e.k ? X(e.k) : (ne || (ne = /* @__PURE__ */ new WeakMap()), Ne(ne, e, e, t, !0)) : e;
713
+ return me(e) ? e.k ? X(e.k) : (ne || (ne = /* @__PURE__ */ new WeakMap()), Re(ne, e, e, t, !0)) : e;
714
714
  }, Ur = { normalizePublicKey: $r, normalizePrivateKey: Mr }, F = (e, t, r = 0) => {
715
715
  r === 0 && (t.unshift(t.length), t.unshift(6));
716
716
  const a = e.indexOf(t[0], r);
@@ -825,7 +825,7 @@ const de = (e) => e == null ? void 0 : e[Symbol.toStringTag], je = (e, t, r) =>
825
825
  throw new TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present');
826
826
  }
827
827
  if (!Dt(t))
828
- throw new TypeError(Pt(e, t, ...Re, "Uint8Array", a ? "JSON Web Key" : null));
828
+ throw new TypeError(Pt(e, t, ...Ne, "Uint8Array", a ? "JSON Web Key" : null));
829
829
  if (t.type !== "secret")
830
830
  throw new TypeError(`${de(t)} instances for symmetric algorithms must be of type "secret"`);
831
831
  }
@@ -842,7 +842,7 @@ const de = (e) => e == null ? void 0 : e[Symbol.toStringTag], je = (e, t, r) =>
842
842
  throw new TypeError("JSON Web Key for this operation be a public JWK");
843
843
  }
844
844
  if (!Dt(t))
845
- throw new TypeError(Pt(e, t, ...Re, a ? "JSON Web Key" : null));
845
+ throw new TypeError(Pt(e, t, ...Ne, a ? "JSON Web Key" : null));
846
846
  if (t.type === "secret")
847
847
  throw new TypeError(`${de(t)} instances for asymmetric algorithms must not be of type "secret"`);
848
848
  if (r === "sign" && t.type === "public")
@@ -910,14 +910,14 @@ function zr(e, t) {
910
910
  }
911
911
  }
912
912
  async function Fr(e, t, r) {
913
- if (t = await Ur.normalizePublicKey(t, e), Nt(t))
914
- return Rr(t, e, r), t;
913
+ if (t = await Ur.normalizePublicKey(t, e), Rt(t))
914
+ return Nr(t, e, r), t;
915
915
  if (t instanceof Uint8Array) {
916
916
  if (!e.startsWith("HS"))
917
- throw new TypeError(st(t, ...Re));
917
+ throw new TypeError(st(t, ...Ne));
918
918
  return De.subtle.importKey("raw", t, { hash: `SHA-${e.slice(-3)}`, name: "HMAC" }, !1, [r]);
919
919
  }
920
- throw new TypeError(st(t, ...Re, "Uint8Array", "JSON Web Key"));
920
+ throw new TypeError(st(t, ...Ne, "Uint8Array", "JSON Web Key"));
921
921
  }
922
922
  const jr = async (e, t, r, a) => {
923
923
  const n = await Fr(e, t, "verify");
@@ -950,7 +950,7 @@ async function qr(e, t, r) {
950
950
  } catch {
951
951
  throw new S("JWS Protected Header is invalid");
952
952
  }
953
- if (!Nr(a, e.header))
953
+ if (!Rr(a, e.header))
954
954
  throw new S("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");
955
955
  const n = {
956
956
  ...a,
@@ -1374,7 +1374,7 @@ const se = "Your session has expired. For your security, please log in again to
1374
1374
  headers: {
1375
1375
  authorization: n,
1376
1376
  "Content-Type": Vt,
1377
- [Rt.CLIENT_ID]: `${r}`
1377
+ [Nt.CLIENT_ID]: `${r}`
1378
1378
  },
1379
1379
  body: JSON.stringify({
1380
1380
  query: t.schema,
@@ -1405,7 +1405,7 @@ const se = "Your session has expired. For your security, please log in again to
1405
1405
  method: Jt,
1406
1406
  headers: {
1407
1407
  "Content-Type": Vt,
1408
- [Rt.CLIENT_ID]: `${t}`
1408
+ [Nt.CLIENT_ID]: `${t}`
1409
1409
  },
1410
1410
  body: JSON.stringify(r)
1411
1411
  }
@@ -1458,7 +1458,7 @@ const se = "Your session has expired. For your security, please log in again to
1458
1458
  status: V
1459
1459
  };
1460
1460
  }
1461
- }, Ra = async ({
1461
+ }, Na = async ({
1462
1462
  username: e,
1463
1463
  password: t,
1464
1464
  clientId: r,
@@ -1502,7 +1502,7 @@ const se = "Your session has expired. For your security, please log in again to
1502
1502
  status: !1
1503
1503
  };
1504
1504
  }
1505
- }, Na = async ({
1505
+ }, Ra = async ({
1506
1506
  nonce: e,
1507
1507
  clientId: t,
1508
1508
  code_challenge: r
@@ -1677,7 +1677,7 @@ const Oa = (e) => q(
1677
1677
  }
1678
1678
  ), [M, U, , K] = Te({
1679
1679
  key: `${Ie}::${r}::@@nonce@@`
1680
- }), N = new Ca(c, E), H = q(() => {
1680
+ }), R = new Ca(c, E), H = q(() => {
1681
1681
  i("removeLocalStorage: removing local storage"), u(), f(), I(), K();
1682
1682
  }, [
1683
1683
  f,
@@ -1742,13 +1742,13 @@ const Oa = (e) => q(
1742
1742
  s({ type: ge, payload: { isLoading: !0 } }), H();
1743
1743
  const b = Je();
1744
1744
  U(b), i("login: Logging in with password");
1745
- const { code_verifier: re, code_challenge: rr } = await ga(), nt = await Na({
1745
+ const { code_verifier: re, code_challenge: rr } = await ga(), nt = await Ra({
1746
1746
  nonce: b,
1747
1747
  clientId: r,
1748
1748
  code_challenge: rr
1749
1749
  });
1750
1750
  if (nt.status) {
1751
- const ae = await Ra({
1751
+ const ae = await Na({
1752
1752
  username: y,
1753
1753
  password: T,
1754
1754
  clientId: r,
@@ -1786,7 +1786,7 @@ const Oa = (e) => q(
1786
1786
  return c;
1787
1787
  }
1788
1788
  i("getAccessToken: invalid access token, trying to refresh it");
1789
- const b = await N.refreshtoken({
1789
+ const b = await R.refreshtoken({
1790
1790
  clientId: r,
1791
1791
  userId: T.userId,
1792
1792
  nonce: M,
@@ -1917,7 +1917,7 @@ const Oa = (e) => q(
1917
1917
  children: e
1918
1918
  }
1919
1919
  ) });
1920
- }, jt = (e = Ft) => Tt(e), io = "user", co = "assistant", lo = "system", uo = "internal", ho = "hidden", mo = "I'm having trouble right now. Please try again later.", po = "OpenAI", go = "OpenAI", yo = "Anthropic", fo = "action-message", bo = "action-reset", Eo = "action-model", wo = "action-restore", To = "action-streaming", Io = "action-engine", So = "action-search", _o = "action-sort", ko = "action-toggle-tag", Ao = "action-reset-tags", vo = "action-set-tags", Ro = "sassy-saint-", No = "details", xo = "search", Co = "sort", Oo = "engine-toggle", Po = "==stats==", $a = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", Do = 10, Lo = 30, ft = (e) => Number.isFinite(e) ? e : 0;
1920
+ }, jt = (e = Ft) => Tt(e), io = "user", co = "assistant", lo = "system", uo = "internal", ho = "hidden", mo = "I'm having trouble right now. Please try again later.", po = "OpenAI", go = "OpenAI", yo = "Anthropic", fo = "action-message", bo = "action-reset", Eo = "action-model", wo = "action-restore", To = "action-streaming", Io = "action-engine", So = "action-search", _o = "action-sort", ko = "action-toggle-tag", Ao = "action-reset-tags", vo = "action-set-tags", No = "sassy-saint-", Ro = "details", xo = "search", Co = "sort", Oo = "engine-toggle", Po = "==stats==", $a = "b44c68f0-e5b3-4a1d-a3e3-df8632b0223b", Do = 10, Lo = 30, ft = (e) => Number.isFinite(e) ? e : 0;
1921
1921
  function Ma(e) {
1922
1922
  return {
1923
1923
  days: Math.trunc(e / 864e5),
@@ -2429,7 +2429,7 @@ const Xe = z.forwardRef(
2429
2429
  align: E,
2430
2430
  radius: w,
2431
2431
  variant: I
2432
- }), N = g({
2432
+ }), R = g({
2433
2433
  "text-copy-accent-dark": r === "light" && !i,
2434
2434
  "text-copy-light": r === "dark" && !i,
2435
2435
  "text-copy-accent-dark dark:text-copy-light": r === "alt-system" && !i,
@@ -2446,7 +2446,7 @@ const Xe = z.forwardRef(
2446
2446
  ...M,
2447
2447
  children: [
2448
2448
  h && /* @__PURE__ */ l("span", { className: "pr-2", children: h }),
2449
- /* @__PURE__ */ l("div", { className: N, children: e }),
2449
+ /* @__PURE__ */ l("div", { className: R, children: e }),
2450
2450
  c && /* @__PURE__ */ l("span", { className: "pl-2", children: c })
2451
2451
  ]
2452
2452
  }
@@ -2455,13 +2455,13 @@ const Xe = z.forwardRef(
2455
2455
  );
2456
2456
  Xe.displayName = "ButtonIcon";
2457
2457
  /*!
2458
- @versini/ui-button v4.0.1
2458
+ @versini/ui-button v4.0.3
2459
2459
  © 2025 gizmette.com
2460
2460
  */
2461
2461
  try {
2462
2462
  window.__VERSINI_UI_BUTTON__ || (window.__VERSINI_UI_BUTTON__ = {
2463
- version: "4.0.1",
2464
- buildTime: "01/04/2025 10:02 AM EST",
2463
+ version: "4.0.3",
2464
+ buildTime: "01/04/2025 04:09 PM EST",
2465
2465
  homepage: "https://github.com/aversini/ui-components",
2466
2466
  license: "MIT"
2467
2467
  });
@@ -2504,7 +2504,7 @@ const sn = z.forwardRef(
2504
2504
  noBackground: f,
2505
2505
  align: E,
2506
2506
  radius: I
2507
- }), N = g({
2507
+ }), R = g({
2508
2508
  "text-copy-accent-dark": r === "light" && !i,
2509
2509
  "text-copy-light": r === "dark" && !i,
2510
2510
  "text-copy-accent-dark dark:text-copy-light": r === "alt-system" && !i,
@@ -2537,7 +2537,7 @@ const sn = z.forwardRef(
2537
2537
  ...M,
2538
2538
  children: [
2539
2539
  h && /* @__PURE__ */ l("span", { className: "pr-2", children: h }),
2540
- /* @__PURE__ */ l("div", { className: N, children: e }),
2540
+ /* @__PURE__ */ l("div", { className: R, children: e }),
2541
2541
  c && /* @__PURE__ */ l("span", { className: "pl-2", children: c })
2542
2542
  ]
2543
2543
  }
@@ -2695,7 +2695,7 @@ const un = ({
2695
2695
  try {
2696
2696
  window.__VERSINI_UI_SVGICON__ || (window.__VERSINI_UI_SVGICON__ = {
2697
2697
  version: "4.0.0",
2698
- buildTime: "01/03/2025 10:45 AM EST",
2698
+ buildTime: "01/04/2025 04:09 PM EST",
2699
2699
  homepage: "https://github.com/aversini/ui-components",
2700
2700
  license: "MIT"
2701
2701
  });
@@ -2738,11 +2738,18 @@ const hn = ({ className: e, viewBox: t, ...r }) => /* @__PURE__ */ l(
2738
2738
  /* @__PURE__ */ l(
2739
2739
  "path",
2740
2740
  {
2741
+ className: "fa-secondary",
2741
2742
  opacity: a ? "1" : "0.4",
2742
- d: "M360.8 380.3C339.4 392.8 314.6 400 288 400c-79.5 0-144-64.5-144-144c0-14.5 2.1-28.5 6.1-41.7L63.5 146c-29.4 34.7-49.9 70.8-61.1 97.6c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480c56.1 0 104.4-17.8 144.5-43.2l-71.7-56.5zM198.5 252.4c-3.7 .8-6.7 3.7-6.5 7.7c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9c1.9-.5 3.9-1.1 5.7-1.7l-120-94.6zm89-52.4l94.8 74.3c2.7-13.9 2.4-28.6-1.5-43.2c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 2.7-.2 5.4-.5 8zM432 256c0 17.7-3.2 34.6-9 50.2l84.1 65.9c32.3-36.6 54.6-75.4 66.4-103.9c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32c-60 0-111.1 20.3-152.8 48.7L207 136.9c23.1-15.7 51-24.9 81-24.9c79.5 0 144 64.5 144 144z"
2743
+ d: "M0 256c0 4.2 .8 8.4 2.5 12.3C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480c56.1 0 104.4-17.8 144.5-43.2l-71.7-56.5C339.4 392.8 314.6 400 288 400c-79.5 0-144-64.5-144-144c0-14.5 2.1-28.5 6.1-41.7L63.5 146c-29.4 34.7-49.9 70.8-61.1 97.6C.8 247.6 0 251.8 0 256zM135.2 80.7L207 136.9c23.1-15.7 51-24.9 81-24.9c79.5 0 144 64.5 144 144c0 17.7-3.2 34.6-9 50.2c28 22 56.1 44 84.1 65.9c32.3-36.6 54.6-75.4 66.4-103.9c1.6-3.9 2.5-8.1 2.5-12.3s-.8-8.4-2.5-12.3c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32c-60 0-111.1 20.3-152.8 48.7zm56.8 179.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9c1.9-.5 3.9-1.1 5.7-1.7l-120-94.6c-3.7 .8-6.7 3.7-6.5 7.7zm92.7-88.4c2.1 6.4 3.3 13.2 3.3 20.3c0 2.7-.2 5.4-.5 8c31.6 24.8 63.2 49.5 94.8 74.3c2.7-13.9 2.4-28.6-1.5-43.2c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7z"
2743
2744
  }
2744
2745
  ),
2745
- /* @__PURE__ */ l("path", { d: "M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z" })
2746
+ /* @__PURE__ */ l(
2747
+ "path",
2748
+ {
2749
+ className: "fa-primary",
2750
+ d: "M5.1 9.2C13.3-1.2 28.4-3.1 38.8 5.1l592 464c10.4 8.2 12.3 23.3 4.1 33.7s-23.3 12.3-33.7 4.1L9.2 42.9C-1.2 34.7-3.1 19.6 5.1 9.2z"
2751
+ }
2752
+ )
2746
2753
  ]
2747
2754
  }
2748
2755
  ), pn = ({
@@ -2801,22 +2808,29 @@ const hn = ({ className: e, viewBox: t, ...r }) => /* @__PURE__ */ l(
2801
2808
  /* @__PURE__ */ l(
2802
2809
  "path",
2803
2810
  {
2811
+ className: "fa-secondary",
2804
2812
  opacity: a ? "1" : "0.4",
2805
- d: "M95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 400a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"
2813
+ d: "M0 256c0 4.2 .8 8.4 2.5 12.3C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c1.6-3.9 2.5-8.1 2.5-12.3s-.8-8.4-2.5-12.3c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32s-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7C.8 247.6 0 251.8 0 256zm432 0a144 144 0 1 1 -288 0 144 144 0 1 1 288 0z"
2806
2814
  }
2807
2815
  ),
2808
- /* @__PURE__ */ l("path", { d: "M224 256c35.3 0 64-28.7 64-64c0-7.1-1.2-13.9-3.3-20.3c-1.8-5.5 1.6-11.9 7.4-11.7c40.8 1.7 77.5 29.6 88.6 71.1c13.7 51.2-16.7 103.9-67.9 117.6s-103.9-16.7-117.6-67.9c-1.9-6.9-2.9-13.9-3.2-20.7c-.3-5.8 6.1-9.2 11.7-7.4c6.4 2.1 13.2 3.3 20.3 3.3z" })
2816
+ /* @__PURE__ */ l(
2817
+ "path",
2818
+ {
2819
+ className: "fa-primary",
2820
+ d: "M224 256c35.3 0 64-28.7 64-64c0-7.1-1.2-13.9-3.3-20.3c-1.8-5.5 1.6-11.9 7.4-11.7c40.8 1.7 77.5 29.6 88.6 71.1c13.7 51.2-16.7 103.9-67.9 117.6s-103.9-16.7-117.6-67.9c-1.9-6.9-2.9-13.9-3.2-20.7c-.3-5.8 6.1-9.2 11.7-7.4c6.4 2.1 13.2 3.3 20.3 3.3z"
2821
+ }
2822
+ )
2809
2823
  ]
2810
2824
  }
2811
2825
  );
2812
2826
  /*!
2813
- @versini/ui-icons v4.0.0
2827
+ @versini/ui-icons v4.2.0
2814
2828
  © 2025 gizmette.com
2815
2829
  */
2816
2830
  try {
2817
2831
  window.__VERSINI_UI_ICONS__ || (window.__VERSINI_UI_ICONS__ = {
2818
- version: "4.0.0",
2819
- buildTime: "01/03/2025 10:45 AM EST",
2832
+ version: "4.2.0",
2833
+ buildTime: "01/04/2025 04:09 PM EST",
2820
2834
  homepage: "https://github.com/aversini/ui-components",
2821
2835
  license: "MIT"
2822
2836
  });
@@ -3071,7 +3085,7 @@ const Qt = "SET_ANNOUNCEMENT", Zt = "CLEAR_ANNOUNCEMENT", An = {
3071
3085
  default:
3072
3086
  return e;
3073
3087
  }
3074
- }, Rn = ({
3088
+ }, Nn = ({
3075
3089
  onAnnouncementClear: e,
3076
3090
  dispatch: t
3077
3091
  }) => {
@@ -3089,13 +3103,13 @@ const Qt = "SET_ANNOUNCEMENT", Zt = "CLEAR_ANNOUNCEMENT", An = {
3089
3103
  type: Qt,
3090
3104
  payload: e
3091
3105
  }), t && (r.current = setTimeout(
3092
- () => Rn({
3106
+ () => Nn({
3093
3107
  onAnnouncementClear: a,
3094
3108
  dispatch: n
3095
3109
  }),
3096
3110
  t
3097
3111
  ));
3098
- }, Nn = ({
3112
+ }, Rn = ({
3099
3113
  children: e,
3100
3114
  announcementTimeoutRef: t,
3101
3115
  announcementDelay: r,
@@ -3134,7 +3148,7 @@ function er({
3134
3148
  });
3135
3149
  let h = r;
3136
3150
  typeof h > "u" && (h = a ? An[a] : "assertive"), Q(() => {
3137
- Nn({
3151
+ Rn({
3138
3152
  announcementTimeoutRef: m,
3139
3153
  announcementDelay: n,
3140
3154
  children: e,
@@ -3336,7 +3350,7 @@ const xn = ({
3336
3350
  size: I = "md",
3337
3351
  ...M
3338
3352
  }, U) => {
3339
- const [K, N] = _n(), [H, W] = j(0), x = kn({ id: e, prefix: `${Xt}-` }), pe = `${t} error, ${f}`, Z = $(null), v = $(null), P = {
3353
+ const [K, R] = _n(), [H, W] = j(0), x = kn({ id: e, prefix: `${Xt}-` }), pe = `${t} error, ${f}`, Z = $(null), v = $(null), P = {
3340
3354
  xs: { label: "-25px", helperText: "30px" },
3341
3355
  sm: { label: "-29px", helperText: "34px" },
3342
3356
  md: { label: "-33px", helperText: "38px" },
@@ -3355,8 +3369,8 @@ const xn = ({
3355
3369
  rightElementClassName: w
3356
3370
  });
3357
3371
  return ot(() => {
3358
- N && N.width && W(N.width + 18 + 10);
3359
- }, [N]), ot(() => {
3372
+ R && R.width && W(R.width + 18 + 10);
3373
+ }, [R]), ot(() => {
3360
3374
  var ee, y;
3361
3375
  const { label: T, helperText: b } = P[I];
3362
3376
  (ee = Z == null ? void 0 : Z.current) == null || ee.style.setProperty("--av-text-input-label", T), (y = v == null ? void 0 : v.current) == null || y.style.setProperty(
@@ -3446,7 +3460,7 @@ const Mn = 500, Un = 5e3, Kn = 2e4, tr = z.forwardRef(
3446
3460
  const [c, h] = j(!0), [f, E] = j({
3447
3461
  message: null,
3448
3462
  politeness: null
3449
- }), w = $(!0), I = $(null), M = $(null), U = $n([u, M]), K = c ? "Show" : "Hide", N = () => {
3463
+ }), w = $(!0), I = $(null), M = $(null), U = $n([u, M]), K = c ? "Show" : "Hide", R = () => {
3450
3464
  I.current && clearTimeout(I.current), w.current || (I.current = setTimeout(() => {
3451
3465
  w.current = !0, h(!0), E({
3452
3466
  announcementTimeout: Un,
@@ -3457,7 +3471,7 @@ const Mn = 500, Un = 5e3, Kn = 2e4, tr = z.forwardRef(
3457
3471
  }, H = (v) => {
3458
3472
  v.preventDefault();
3459
3473
  const P = !w.current;
3460
- w.current = P, N(), h(P), E({
3474
+ w.current = P, R(), h(P), E({
3461
3475
  announcementTimeout: Mn,
3462
3476
  politeness: "assertive",
3463
3477
  message: P ? "Characters hidden" : "Characters showing"
@@ -3467,11 +3481,11 @@ const Mn = 500, Un = 5e3, Kn = 2e4, tr = z.forwardRef(
3467
3481
  const { relatedTarget: G } = v, ee = (P = M.current) == null ? void 0 : P.parentElement;
3468
3482
  ee != null && ee.contains(G) || d && d();
3469
3483
  }, x = (v) => {
3470
- N(), s && s(v), W(v);
3484
+ R(), s && s(v), W(v);
3471
3485
  }, pe = (v) => {
3472
- N(), i && i(v);
3486
+ R(), i && i(v);
3473
3487
  }, Z = (v) => {
3474
- N(), o && o(v);
3488
+ R(), o && o(v);
3475
3489
  };
3476
3490
  return Q(() => () => {
3477
3491
  I.current && clearTimeout(I.current);
@@ -3679,7 +3693,7 @@ const Hn = "ASK! ME! ANYTHING!", Wn = "Callisto", Gn = "Log in", Bn = "Sign in w
3679
3693
  ) });
3680
3694
  }, zn = new URL(document.location.href).searchParams, Fn = !!zn.get("debug") || !1, jn = or(() => import(
3681
3695
  /* webpackChunkName: "LazyApp" */
3682
- "./App.oZoXeHpk.js"
3696
+ "./App.CN26Vdes.js"
3683
3697
  ).then((e) => e.App)), qn = ({ isComponent: e }) => {
3684
3698
  const { isAuthenticated: t } = jt();
3685
3699
  return t ? /* @__PURE__ */ l(sr, { fallback: /* @__PURE__ */ l("div", {}), children: /* @__PURE__ */ l(jn, { isComponent: e }) }) : /* @__PURE__ */ l(Yn, {});
@@ -3712,9 +3726,9 @@ export {
3712
3726
  Lo as INFINITE_SCROLL_LIMIT,
3713
3727
  Do as INFINITE_SCROLL_THRESHOLD,
3714
3728
  En as L,
3715
- No as LOCAL_STORAGE_CHAT_DETAILS,
3729
+ Ro as LOCAL_STORAGE_CHAT_DETAILS,
3716
3730
  Oo as LOCAL_STORAGE_ENGINE_TOGGLE,
3717
- Ro as LOCAL_STORAGE_PREFIX,
3731
+ No as LOCAL_STORAGE_PREFIX,
3718
3732
  xo as LOCAL_STORAGE_SEARCH,
3719
3733
  Co as LOCAL_STORAGE_SORT,
3720
3734
  Go as LOG_OUT,
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { SassySaint as a } from "../../chunks/index.Dc-g6Ljy.js";
2
+ import { SassySaint as a } from "../../chunks/index.DaKlCgCU.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.Dc-g6Ljy.js";
1
+ import { SassySaint as r } from "./chunks/index.DaKlCgCU.js";
2
2
  /*!
3
- @sassysaint/client v5.19.4
3
+ @sassysaint/client v5.19.5
4
4
  © 2025 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_SASSY_GLOBAL__ || (window.__VERSINI_SASSY_GLOBAL__ = {
8
- version: "5.19.4",
9
- buildTime: "01/04/2025 10:55 AM EST",
8
+ version: "5.19.5",
9
+ buildTime: "01/04/2025 04:45 PM EST",
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": "5.5.18",
3
+ "version": "5.5.19",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {
@@ -30,7 +30,7 @@
30
30
  "react-dom": "^18.3.1 || ^19.0.0"
31
31
  },
32
32
  "devDependencies": {
33
- "@sassysaint/client": "5.19.4",
33
+ "@sassysaint/client": "5.19.5",
34
34
  "@versini/ui-styles": "3.0.0"
35
35
  },
36
36
  "dependencies": {
@@ -41,5 +41,5 @@
41
41
  "sideEffects": [
42
42
  "**/*.css"
43
43
  ],
44
- "gitHead": "e26ef8546fb1851679fd2ee2f05ec9880c0c31d9"
44
+ "gitHead": "676bb13292204c3db989390ff131dea291d1280c"
45
45
  }