@versini/sassysaint 8.0.1 → 8.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  import { jsx as i, jsxs as x, Fragment as Q } from "react/jsx-runtime";
2
- import { f as J, ACTION_SORT as Gt, ACTION_SEARCH as Ra, ACTION_RESET_PROMPT as Aa, ACTION_TOGGLE_PROMPT as La, useSWR as it, DEFAULT_AI_PROVIDER as qn, isProbablyiPhone as Jt, re as pe, DEFAULT_ICON_ACTION_SIZE as we, L as yt, j as Te, C as Le, LOCAL_STORAGE_PREFIX as Be, LOCAL_STORAGE_PRIVATE_DISCLOSURE as Zn, un as ae, useUserPreferences as bt, serviceCall as Ke, SERVICE_TYPES as Xe, PROVIDER_ANTHROPIC as Bt, PROVIDER_OPENAI as Mr, setNewProvider as $a, PROMPT_CLASSNAME as Qn, PROMPT_EDITABLE_AREA_CLASSNAME as eo, ROLE_INTERNAL as Yt, ERROR_MESSAGE as to, CLIPBOARD_PROMPT as Br, INPUT_PLACEHOLDER_TEXT as ro, FOOTER_DISCLAIMER as ao, useServerCapabilities as no, R as me, CARDS as K, renderDataAsList as ht, pluralize as dr, ABOUT_TITLE as oo, INFINITE_SCROLL_LIMIT as Or, INFINITE_SCROLL_THRESHOLD as Pr, LOCAL_STORAGE_SORT as Ma, useChatsHistory as so, LOCAL_STORAGE_SEARCH as Ba, HISTORY_TITLE as io, fe as lo, debounce as co, M as uo, isElectron as mo, l as Dr, durationFormatter as ho, useUserChatStats as fo, PROFILE_TITLE as po, LOCAL_STORAGE_CHAT_DETAILS as go, SETTINGS_TITLE as yo, APP_NAME as bo, PROMPTS_DESCRIPTION as vo, getCurrentGeoLocation as ko, LOG_OUT as zr, ROLE_ASSISTANT as wo, ROLE_USER as xo, getMessageContaintWrapperClass as _o, UI_FOOTER_BUFFER as Oa, UI_BUTTON_SCROLL_BUFFER as To, Logo as Io, UI_DEFAULT_MAIN_HEIGHT as Vr, usePreloadChatsHistory as No, serverUrl as Eo, getMainPaddingClass as Fr, I as Co } from "./index.DQKfDWnQ.js";
2
+ import { f as J, ACTION_SORT as Gt, ACTION_SEARCH as Ra, ACTION_RESET_PROMPT as Aa, ACTION_TOGGLE_PROMPT as La, useSWR as it, DEFAULT_AI_PROVIDER as qn, isProbablyiPhone as Jt, re as pe, DEFAULT_ICON_ACTION_SIZE as we, L as yt, j as Te, C as Le, LOCAL_STORAGE_PREFIX as Be, LOCAL_STORAGE_PRIVATE_DISCLOSURE as Zn, un as ae, useUserPreferences as bt, serviceCall as Xe, SERVICE_TYPES as qe, PROVIDER_ANTHROPIC as Bt, PROVIDER_OPENAI as Mr, setNewProvider as $a, PROMPT_CLASSNAME as Qn, PROMPT_EDITABLE_AREA_CLASSNAME as eo, ROLE_INTERNAL as Yt, ERROR_MESSAGE as to, CLIPBOARD_PROMPT as Br, INPUT_PLACEHOLDER_TEXT as ro, FOOTER_DISCLAIMER as ao, useServerCapabilities as no, R as me, CARDS as K, renderDataAsList as ht, pluralize as dr, ABOUT_TITLE as oo, INFINITE_SCROLL_LIMIT as Or, INFINITE_SCROLL_THRESHOLD as Pr, LOCAL_STORAGE_SORT as Ma, useChatsHistory as so, LOCAL_STORAGE_SEARCH as Ba, HISTORY_TITLE as io, fe as lo, debounce as co, M as uo, isElectron as mo, l as Dr, durationFormatter as ho, useUserChatStats as fo, PROFILE_TITLE as po, LOCAL_STORAGE_CHAT_DETAILS as go, SETTINGS_TITLE as yo, APP_NAME as bo, PROMPTS_DESCRIPTION as vo, getCurrentGeoLocation as ko, LOG_OUT as zr, ROLE_ASSISTANT as wo, ROLE_USER as xo, getMessageContaintWrapperClass as _o, UI_FOOTER_BUFFER as Oa, UI_BUTTON_SCROLL_BUFFER as To, Logo as Io, UI_DEFAULT_MAIN_HEIGHT as Vr, usePreloadChatsHistory as No, serverUrl as Eo, getMainPaddingClass as Fr, I as Co } from "./index.DC_ZqB-v.js";
3
3
  import h from "clsx";
4
4
  import * as Z from "react";
5
- import G, { useEffect as B, useRef as A, useState as P, useCallback as U, useSyncExternalStore as So, useMemo as de, useId as vt, useLayoutEffect as ee, useContext as j, createContext as Ro, forwardRef as Pa, Fragment as Ao, useReducer as Ge, lazy as Lo, Suspense as Hr } from "react";
5
+ import G, { useEffect as B, useRef as A, useState as P, useCallback as U, useSyncExternalStore as So, useMemo as de, useId as vt, useLayoutEffect as ee, useContext as j, createContext as Ro, forwardRef as Pa, Fragment as Ao, useReducer as Je, lazy as Lo, Suspense as Hr } from "react";
6
6
  import { useMergeRefs as ur, FloatingPortal as Da, FloatingOverlay as $o, FloatingFocusManager as za, useFloating as Va, useClick as Fa, useDismiss as Ha, useRole as Ua, useInteractions as ja, useFloatingTree as Wa, useFloatingNodeId as Mo, useListItem as Ga, offset as Bo, flip as Oo, shift as Po, autoUpdate as Do, useListNavigation as zo, useTypeahead as Vo, FloatingNode as Fo, FloatingList as Ho, FloatingTree as Uo } from "@floating-ui/react";
7
7
  function Ja(e) {
8
8
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
@@ -670,7 +670,7 @@ function Xa(e) {
670
670
  s == null || s.disconnect(), r.current && cancelAnimationFrame(r.current);
671
671
  }), [s, e]), [a, n];
672
672
  }
673
- function qe(e) {
673
+ function Ze(e) {
674
674
  return vt();
675
675
  }
676
676
  function Wr(e, t) {
@@ -1678,7 +1678,7 @@ const oi = (e, t) => {
1678
1678
  default:
1679
1679
  return e;
1680
1680
  }
1681
- }, Ye = "FOOTER_BOTTOM", Zt = "FOOTER_TOP", mt = "APP_SET_FOOTER_POSITION", tn = "APP_SET_FOOTER_HEIGHT", ii = (e, t) => {
1681
+ }, Ke = "FOOTER_BOTTOM", Zt = "FOOTER_TOP", mt = "APP_SET_FOOTER_POSITION", tn = "APP_SET_FOOTER_HEIGHT", ii = (e, t) => {
1682
1682
  switch (t.type) {
1683
1683
  case mt:
1684
1684
  return {
@@ -1694,7 +1694,7 @@ const oi = (e, t) => {
1694
1694
  default:
1695
1695
  return e;
1696
1696
  }
1697
- }, ve = "CHAT_SET_STATUS", et = "CHAT_RESET", li = "CHAT_LOADING", ci = (e, t) => {
1697
+ }, ve = "CHAT_SET_STATUS", Fe = "CHAT_RESET", li = "CHAT_LOADING", ci = (e, t) => {
1698
1698
  var r, a;
1699
1699
  switch (t.type) {
1700
1700
  case li:
@@ -1711,7 +1711,7 @@ const oi = (e, t) => {
1711
1711
  restoring: t.payload.restoring || e.restoring,
1712
1712
  usage: t.payload.usage || e.usage
1713
1713
  };
1714
- case et: {
1714
+ case Fe: {
1715
1715
  let n = !1;
1716
1716
  return typeof ((r = t == null ? void 0 : t.payload) == null ? void 0 : r.privateChat) == "boolean" ? n = t.payload.privateChat : typeof e.privateChat == "boolean" && (n = e.privateChat), {
1717
1717
  privateChat: n,
@@ -2955,15 +2955,15 @@ function sl({
2955
2955
  try {
2956
2956
  const se = new AbortController();
2957
2957
  F.current = se;
2958
- const je = ra(k, I), Yn = ra(
2958
+ const We = ra(k, I), Yn = ra(
2959
2959
  C,
2960
2960
  I
2961
2961
  ), Kn = N.current;
2962
- je(D, !1);
2962
+ We(D, !1);
2963
2963
  const Xn = n ? D : D.map(
2964
2964
  ({
2965
2965
  role: Mt,
2966
- content: We,
2966
+ content: Ge,
2967
2967
  experimental_attachments: st,
2968
2968
  data: Rr,
2969
2969
  annotations: Ar,
@@ -2971,7 +2971,7 @@ function sl({
2971
2971
  parts: $r
2972
2972
  }) => ({
2973
2973
  role: Mt,
2974
- content: We,
2974
+ content: Ge,
2975
2975
  ...st !== void 0 && {
2976
2976
  experimental_attachments: st
2977
2977
  },
@@ -3003,18 +3003,18 @@ function sl({
3003
3003
  },
3004
3004
  abortController: () => F.current,
3005
3005
  restoreMessagesOnFailure() {
3006
- T || je(Kn, !1);
3006
+ T || We(Kn, !1);
3007
3007
  },
3008
3008
  onResponse: d,
3009
- onUpdate({ message: Mt, data: We, replaceLastMessage: st }) {
3010
- L("streaming"), je(
3009
+ onUpdate({ message: Mt, data: Ge, replaceLastMessage: st }) {
3010
+ L("streaming"), We(
3011
3011
  [
3012
3012
  ...st ? D.slice(0, D.length - 1) : D,
3013
3013
  Mt
3014
3014
  ],
3015
3015
  !1
3016
- ), We != null && We.length && Yn(
3017
- [...Sr ?? [], ...We],
3016
+ ), Ge != null && Ge.length && Yn(
3017
+ [...Sr ?? [], ...Ge],
3018
3018
  !1
3019
3019
  );
3020
3020
  },
@@ -3071,14 +3071,14 @@ function sl({
3071
3071
  var be, oe;
3072
3072
  const se = await ea(
3073
3073
  ne
3074
- ), je = N.current.concat({
3074
+ ), We = N.current.concat({
3075
3075
  ...z,
3076
3076
  id: (be = z.id) != null ? be : y(),
3077
3077
  createdAt: (oe = z.createdAt) != null ? oe : /* @__PURE__ */ new Date(),
3078
3078
  experimental_attachments: se.length > 0 ? se : void 0,
3079
3079
  parts: gn(z)
3080
3080
  });
3081
- return H({ messages: je, headers: X, body: D, data: Y });
3081
+ return H({ messages: We, headers: X, body: D, data: Y });
3082
3082
  },
3083
3083
  [H, y]
3084
3084
  ), Rt = U(
@@ -3109,7 +3109,7 @@ function sl({
3109
3109
  typeof z == "function" && (z = z(M.current)), C(z, !1), M.current = z;
3110
3110
  },
3111
3111
  [C]
3112
- ), [_e, Ue] = P(a), ye = U(
3112
+ ), [_e, je] = P(a), ye = U(
3113
3113
  async (z, Y = {}, X) => {
3114
3114
  var D;
3115
3115
  if ((D = z == null ? void 0 : z.preventDefault) == null || D.call(z), !_e && !Y.allowEmptySubmit)
@@ -3133,11 +3133,11 @@ function sl({
3133
3133
  body: Y.body,
3134
3134
  data: Y.data
3135
3135
  };
3136
- H(oe), Ue("");
3136
+ H(oe), je("");
3137
3137
  },
3138
3138
  [_e, y, H]
3139
3139
  ), ue = (z) => {
3140
- Ue(z.target.value);
3140
+ je(z.target.value);
3141
3141
  }, $t = U(
3142
3142
  ({ toolCallId: z, result: Y }) => {
3143
3143
  const X = N.current;
@@ -3162,7 +3162,7 @@ function sl({
3162
3162
  reload: Rt,
3163
3163
  stop: ot,
3164
3164
  input: _e,
3165
- setInput: Ue,
3165
+ setInput: je,
3166
3166
  handleInputChange: ue,
3167
3167
  handleSubmit: ye,
3168
3168
  isLoading: R === "submitted" || R === "streaming",
@@ -3176,7 +3176,7 @@ const aa = {
3176
3176
  onResponse: /* @__PURE__ */ new Set(),
3177
3177
  onToolCall: /* @__PURE__ */ new Set()
3178
3178
  }, bn = Ro(null);
3179
- function Fe(e = {}) {
3179
+ function He(e = {}) {
3180
3180
  const t = j(bn);
3181
3181
  if (!t)
3182
3182
  throw new Error("useAiChat must be used within a AiChatProvider");
@@ -3276,7 +3276,7 @@ try {
3276
3276
  });
3277
3277
  } catch {
3278
3278
  }
3279
- const dl = "av-tooltip", ul = "av-tooltip-arrow", Ze = Math.min, $e = Math.max, ft = Math.round, fe = (e) => ({
3279
+ const dl = "av-tooltip", ul = "av-tooltip-arrow", Qe = Math.min, $e = Math.max, ft = Math.round, fe = (e) => ({
3280
3280
  x: e,
3281
3281
  y: e
3282
3282
  }), ml = {
@@ -3289,7 +3289,7 @@ const dl = "av-tooltip", ul = "av-tooltip-arrow", Ze = Math.min, $e = Math.max,
3289
3289
  end: "start"
3290
3290
  };
3291
3291
  function rr(e, t, r) {
3292
- return $e(e, Ze(t, r));
3292
+ return $e(e, Qe(t, r));
3293
3293
  }
3294
3294
  function tt(e, t) {
3295
3295
  return typeof e == "function" ? e(t) : e;
@@ -3559,7 +3559,7 @@ const kl = (e) => ({
3559
3559
  }, p = kr(n), g = vr(p), y = await s.getDimensions(d), v = p === "y", T = v ? "top" : "left", I = v ? "bottom" : "right", E = v ? "clientHeight" : "clientWidth", S = o.reference[g] + o.reference[p] - f[p] - o.floating[g], b = f[p] - o.reference[p], _ = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(d));
3560
3560
  let w = _ ? _[E] : 0;
3561
3561
  (!w || !await (s.isElement == null ? void 0 : s.isElement(_))) && (w = l.floating[E] || o.floating[g]);
3562
- const k = S / 2 - b / 2, N = w / 2 - y[g] / 2 - 1, O = Ze(m[T], N), C = Ze(m[I], N), M = O, R = w - y[g] - C, L = w / 2 - y[g] / 2 + k, V = rr(M, L, R), $ = !c.arrow && rt(n) != null && L !== V && o.reference[g] / 2 - (L < M ? O : C) - y[g] / 2 < 0, F = $ ? L < M ? L - M : L - R : 0;
3562
+ const k = S / 2 - b / 2, N = w / 2 - y[g] / 2 - 1, O = Qe(m[T], N), C = Qe(m[I], N), M = O, R = w - y[g] - C, L = w / 2 - y[g] / 2 + k, V = rr(M, L, R), $ = !c.arrow && rt(n) != null && L !== V && o.reference[g] / 2 - (L < M ? O : C) - y[g] / 2 < 0, F = $ ? L < M ? L - M : L - R : 0;
3563
3563
  return {
3564
3564
  [p]: f[p] + F,
3565
3565
  data: {
@@ -3761,7 +3761,7 @@ const _l = function(e) {
3761
3761
  function xt() {
3762
3762
  return typeof window < "u";
3763
3763
  }
3764
- function He(e) {
3764
+ function Ue(e) {
3765
3765
  return xn(e) ? (e.nodeName || "").toLowerCase() : "#document";
3766
3766
  }
3767
3767
  function te(e) {
@@ -3794,7 +3794,7 @@ function at(e) {
3794
3794
  return /auto|scroll|overlay|hidden|clip/.test(t + a + r) && !["inline", "contents"].includes(n);
3795
3795
  }
3796
3796
  function Il(e) {
3797
- return ["table", "td", "th"].includes(He(e));
3797
+ return ["table", "td", "th"].includes(Ue(e));
3798
3798
  }
3799
3799
  function _t(e) {
3800
3800
  return [":popover-open", ":modal"].some((t) => {
@@ -3824,7 +3824,7 @@ function xr() {
3824
3824
  return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
3825
3825
  }
3826
3826
  function ze(e) {
3827
- return ["html", "body", "#document"].includes(He(e));
3827
+ return ["html", "body", "#document"].includes(Ue(e));
3828
3828
  }
3829
3829
  function ce(e) {
3830
3830
  return te(e).getComputedStyle(e);
@@ -3839,7 +3839,7 @@ function Tt(e) {
3839
3839
  };
3840
3840
  }
3841
3841
  function Ie(e) {
3842
- if (He(e) === "html")
3842
+ if (Ue(e) === "html")
3843
3843
  return e;
3844
3844
  const t = (
3845
3845
  // Step into the shadow DOM of the parent of a slotted node.
@@ -3902,7 +3902,7 @@ function En(e) {
3902
3902
  function Cl(e, t, r) {
3903
3903
  return t === void 0 && (t = !1), !r || t && r !== te(e) ? !1 : t;
3904
3904
  }
3905
- function Qe(e, t, r, a) {
3905
+ function et(e, t, r, a) {
3906
3906
  t === void 0 && (t = !1), r === void 0 && (r = !1);
3907
3907
  const n = e.getBoundingClientRect(), o = Nn(e);
3908
3908
  let s = fe(1);
@@ -3926,7 +3926,7 @@ function Qe(e, t, r, a) {
3926
3926
  }
3927
3927
  function _r(e, t) {
3928
3928
  const r = Tt(e).scrollLeft;
3929
- return t ? t.left + r : Qe(xe(e)).left + r;
3929
+ return t ? t.left + r : et(xe(e)).left + r;
3930
3930
  }
3931
3931
  function Cn(e, t, r) {
3932
3932
  r === void 0 && (r = !1);
@@ -3954,8 +3954,8 @@ function Sl(e) {
3954
3954
  scrollTop: 0
3955
3955
  }, d = fe(1);
3956
3956
  const u = fe(0), m = ge(a);
3957
- if ((m || !m && !o) && ((He(a) !== "body" || at(s)) && (c = Tt(a)), ge(a))) {
3958
- const p = Qe(a);
3957
+ if ((m || !m && !o) && ((Ue(a) !== "body" || at(s)) && (c = Tt(a)), ge(a))) {
3958
+ const p = et(a);
3959
3959
  d = Me(a), u.x = p.x + a.clientLeft, u.y = p.y + a.clientTop;
3960
3960
  }
3961
3961
  const f = s && !m && !o ? Cn(s, c, !0) : fe(0);
@@ -3996,7 +3996,7 @@ function Ll(e, t) {
3996
3996
  };
3997
3997
  }
3998
3998
  function $l(e, t) {
3999
- const r = Qe(e, !0, t === "fixed"), a = r.top + e.clientTop, n = r.left + e.clientLeft, o = ge(e) ? Me(e) : fe(1), s = e.clientWidth * o.x, l = e.clientHeight * o.y, c = n * o.x, d = a * o.y;
3999
+ const r = et(e, !0, t === "fixed"), a = r.top + e.clientTop, n = r.left + e.clientLeft, o = ge(e) ? Me(e) : fe(1), s = e.clientWidth * o.x, l = e.clientHeight * o.y, c = n * o.x, d = a * o.y;
4000
4000
  return {
4001
4001
  width: s,
4002
4002
  height: l,
@@ -4031,7 +4031,7 @@ function Ml(e, t) {
4031
4031
  const r = t.get(e);
4032
4032
  if (r)
4033
4033
  return r;
4034
- let a = Tn(e, []).filter((l) => le(l) && He(l) !== "body"), n = null;
4034
+ let a = Tn(e, []).filter((l) => le(l) && Ue(l) !== "body"), n = null;
4035
4035
  const o = ce(e).position === "fixed";
4036
4036
  let s = o ? Ie(e) : e;
4037
4037
  for (; le(s) && !ze(s); ) {
@@ -4049,7 +4049,7 @@ function Bl(e) {
4049
4049
  } = e;
4050
4050
  const o = [...r === "clippingAncestors" ? _t(t) ? [] : Ml(t, this._c) : [].concat(r), a], s = o[0], l = o.reduce((c, d) => {
4051
4051
  const u = ia(t, d, n);
4052
- return c.top = $e(u.top, c.top), c.right = Ze(u.right, c.right), c.bottom = Ze(u.bottom, c.bottom), c.left = $e(u.left, c.left), c;
4052
+ return c.top = $e(u.top, c.top), c.right = Qe(u.right, c.right), c.bottom = Qe(u.bottom, c.bottom), c.left = $e(u.left, c.left), c;
4053
4053
  }, ia(t, s, n));
4054
4054
  return {
4055
4055
  width: l.right - l.left,
@@ -4069,15 +4069,15 @@ function Ol(e) {
4069
4069
  };
4070
4070
  }
4071
4071
  function Pl(e, t, r) {
4072
- const a = ge(t), n = xe(t), o = r === "fixed", s = Qe(e, !0, o, t);
4072
+ const a = ge(t), n = xe(t), o = r === "fixed", s = et(e, !0, o, t);
4073
4073
  let l = {
4074
4074
  scrollLeft: 0,
4075
4075
  scrollTop: 0
4076
4076
  };
4077
4077
  const c = fe(0);
4078
4078
  if (a || !a && !o)
4079
- if ((He(t) !== "body" || at(n)) && (l = Tt(t)), a) {
4080
- const f = Qe(t, !0, o, t);
4079
+ if ((Ue(t) !== "body" || at(n)) && (l = Tt(t)), a) {
4080
+ const f = et(t, !0, o, t);
4081
4081
  c.x = f.x + t.clientLeft, c.y = f.y + t.clientTop;
4082
4082
  } else n && (c.x = _r(n));
4083
4083
  const d = n && !a && !o ? Cn(n, l) : fe(0), u = s.left + l.scrollLeft - c.x - d.x, m = s.top + l.scrollTop - c.y - d.y;
@@ -4322,7 +4322,7 @@ const lt = (e, t = "px") => typeof e > "u" ? "" : `${Math.round(e)}${t}`, Yl = (
4322
4322
  dispatch: r,
4323
4323
  setChatId: a,
4324
4324
  setInitialMessages: n
4325
- } = j(re), { setInput: o, stop: s } = Fe(), l = A(null), c = A(!1), d = (m) => {
4325
+ } = j(re), { setInput: o, stop: s } = He(), l = A(null), c = A(!1), d = (m) => {
4326
4326
  m.preventDefault(), s(), r({
4327
4327
  type: ve,
4328
4328
  payload: {
@@ -4332,7 +4332,7 @@ const lt = (e, t = "px") => typeof e > "u" ? "" : `${Math.round(e)}${t}`, Yl = (
4332
4332
  });
4333
4333
  }, u = (m) => {
4334
4334
  m.preventDefault(), a(Ee()), n([]), o(""), r({
4335
- type: et,
4335
+ type: Fe,
4336
4336
  payload: {
4337
4337
  privateChat: !1
4338
4338
  }
@@ -5048,19 +5048,19 @@ try {
5048
5048
  });
5049
5049
  } catch {
5050
5050
  }
5051
- const Je = "panel", ct = "messagebox", Sc = ({
5051
+ const Ye = "panel", ct = "messagebox", Sc = ({
5052
5052
  className: e,
5053
5053
  kind: t,
5054
5054
  borderMode: r
5055
5055
  }) => ({
5056
5056
  main: h("prose prose-lighter flex flex-col bg-surface-medium", {
5057
- [`${ma} max-h-full sm:max-h-[95%] min-h-full sm:min-h-[10rem] sm:rounded-lg sm:border-2`]: t === Je,
5058
- [`${ma} w-full sm:w-[95%] md:max-w-2xl`]: t === Je && !e,
5057
+ [`${ma} max-h-full sm:max-h-[95%] min-h-full sm:min-h-[10rem] sm:rounded-lg sm:border-2`]: t === Ye,
5058
+ [`${ma} w-full sm:w-[95%] md:max-w-2xl`]: t === Ye && !e,
5059
5059
  [`${ua} rounded-lg border-2`]: t === ct,
5060
5060
  [`${ua} w-[95%] sm:w-[50%] md:max-w-2xl`]: t === ct && !e,
5061
5061
  [`${e}`]: !!e,
5062
- "sm:border-border-dark": r === "dark" && t === Je,
5063
- "sm:border-border-accent": r === "light" && t === Je,
5062
+ "sm:border-border-dark": r === "dark" && t === Ye,
5063
+ "sm:border-border-accent": r === "light" && t === Ye,
5064
5064
  "border-border-dark": r === "dark" && t === ct,
5065
5065
  "border-border-accent": r === "light" && t === ct
5066
5066
  }),
@@ -5075,7 +5075,7 @@ const Je = "panel", ct = "messagebox", Sc = ({
5075
5075
  children: a,
5076
5076
  footer: n,
5077
5077
  borderMode: o = "light",
5078
- kind: s = Je,
5078
+ kind: s = Ye,
5079
5079
  className: l
5080
5080
  }) => {
5081
5081
  const c = A(""), d = Sc({ className: l, kind: s, borderMode: o });
@@ -5158,7 +5158,7 @@ const Je = "panel", ct = "messagebox", Sc = ({
5158
5158
  initialValue: ""
5159
5159
  }), d = () => {
5160
5160
  a(Ee()), n([]), r({
5161
- type: et,
5161
+ type: Fe,
5162
5162
  payload: {
5163
5163
  privateChat: !t
5164
5164
  }
@@ -5523,7 +5523,7 @@ const Mc = (e) => {
5523
5523
  getAccessToken: s
5524
5524
  }), m = (f, p, g) => {
5525
5525
  f.preventDefault(), a(Ee()), n([]), r({
5526
- type: et,
5526
+ type: Fe,
5527
5527
  payload: {
5528
5528
  privateChat: g
5529
5529
  }
@@ -5589,7 +5589,7 @@ const Mc = (e) => {
5589
5589
  }) => {
5590
5590
  const { user: t, getAccessToken: r } = ae(), {
5591
5591
  state: { usage: a, provider: n, privateChat: o }
5592
- } = j(re), { messages: s, id: l } = Fe(), [c, d] = P(!1), u = async (m) => {
5592
+ } = j(re), { messages: s, id: l } = He(), [c, d] = P(!1), u = async (m) => {
5593
5593
  m.preventDefault();
5594
5594
  try {
5595
5595
  if (l && s && n) {
@@ -5598,9 +5598,9 @@ const Mc = (e) => {
5598
5598
  content: g,
5599
5599
  id: y
5600
5600
  }));
5601
- await Ke({
5601
+ await Xe({
5602
5602
  accessToken: await r(),
5603
- type: Xe.SAVE_CHAT,
5603
+ type: qe.SAVE_CHAT,
5604
5604
  params: {
5605
5605
  userId: (t == null ? void 0 : t.username) || "",
5606
5606
  id: l,
@@ -5799,7 +5799,7 @@ const Mc = (e) => {
5799
5799
  handleSubmit: d,
5800
5800
  messages: u,
5801
5801
  setMessages: m
5802
- } = Fe({
5802
+ } = He({
5803
5803
  onResponse: (b) => {
5804
5804
  f({
5805
5805
  type: ve,
@@ -5844,7 +5844,7 @@ const Mc = (e) => {
5844
5844
  }
5845
5845
  });
5846
5846
  }
5847
- }), { dispatch: f } = j(re), p = A(!1), g = A(null), y = A(null), v = qe(), T = jc({
5847
+ }), { dispatch: f } = j(re), p = A(!1), g = A(null), y = A(null), v = Ze(), T = jc({
5848
5848
  className: ""
5849
5849
  }), I = U(() => {
5850
5850
  if (!y.current)
@@ -5937,7 +5937,7 @@ const Mc = (e) => {
5937
5937
  } = j(re), {
5938
5938
  state: { footerHeight: n, footerPosition: o },
5939
5939
  dispatch: s
5940
- } = j(br), { messages: l } = Fe(), { height: c } = ks(), { height: d } = ws(), [u, m] = Xa();
5940
+ } = j(br), { messages: l } = He(), { height: c } = ks(), { height: d } = ws(), [u, m] = Xa();
5941
5941
  return B(() => {
5942
5942
  n !== m.height && s({
5943
5943
  type: tn,
@@ -5955,17 +5955,17 @@ const Mc = (e) => {
5955
5955
  p !== `${I}px` && (s({
5956
5956
  type: mt,
5957
5957
  payload: {
5958
- footerPosition: Ye,
5958
+ footerPosition: Ke,
5959
5959
  footerOffset: I
5960
5960
  }
5961
5961
  }), (y = u == null ? void 0 : u.current) == null || y.style.setProperty(dt, `${I}px`));
5962
5962
  }
5963
- if (o === Ye && !a) {
5963
+ if (o === Ke && !a) {
5964
5964
  const I = f > 0 && f < 100 ? ka : va;
5965
5965
  p !== `${I}px` && (s({
5966
5966
  type: mt,
5967
5967
  payload: {
5968
- footerPosition: Ye,
5968
+ footerPosition: Ke,
5969
5969
  footerOffset: I
5970
5970
  }
5971
5971
  }), (v = u == null ? void 0 : u.current) == null || v.style.setProperty(dt, `${I}px`));
@@ -6013,7 +6013,7 @@ const Mc = (e) => {
6013
6013
  }
6014
6014
  );
6015
6015
  }, Kc = () => {
6016
- const e = qe(), t = qe(), { data: r, error: a, isLoading: n } = no(), o = (r == null ? void 0 : r.version) || "", s = (r == null ? void 0 : r.models) || [];
6016
+ const e = Ze(), t = Ze(), { data: r, error: a, isLoading: n } = no(), o = (r == null ? void 0 : r.version) || "", s = (r == null ? void 0 : r.models) || [];
6017
6017
  return /* @__PURE__ */ x(Q, { children: [
6018
6018
  /* @__PURE__ */ i("div", { className: "mb-4", children: /* @__PURE__ */ i(
6019
6019
  me,
@@ -6021,8 +6021,8 @@ const Mc = (e) => {
6021
6021
  header: K.ABOUT.TITLE_CLIENT,
6022
6022
  className: "prose-dark dark:prose-lighter",
6023
6023
  children: ht(e, {
6024
- [K.ABOUT.VERSION]: "8.0.1",
6025
- [K.ABOUT.BUILD_TIMESTAMP]: "02/25/2025 07:11 PM EST"
6024
+ [K.ABOUT.VERSION]: "8.0.2",
6025
+ [K.ABOUT.BUILD_TIMESTAMP]: "02/25/2025 08:07 PM EST"
6026
6026
  })
6027
6027
  }
6028
6028
  ) }),
@@ -6058,7 +6058,7 @@ const Mc = (e) => {
6058
6058
  state: { provider: g },
6059
6059
  setChatId: y,
6060
6060
  setInitialMessages: v
6061
- } = j(re), { setInput: T } = Fe(), [, I] = Oe({
6061
+ } = j(re), { setInput: T } = He(), [, I] = Oe({
6062
6062
  key: Be + Ma,
6063
6063
  initialValue: f.sortDirection
6064
6064
  }), E = (k) => {
@@ -6085,9 +6085,9 @@ const Mc = (e) => {
6085
6085
  }, S = async () => {
6086
6086
  const k = l.current;
6087
6087
  try {
6088
- await Ke({
6088
+ await Xe({
6089
6089
  accessToken: await o(),
6090
- type: Xe.DELETE_CHAT,
6090
+ type: qe.DELETE_CHAT,
6091
6091
  params: {
6092
6092
  userId: (n == null ? void 0 : n.username) || "",
6093
6093
  id: k.id
@@ -6097,9 +6097,9 @@ const Mc = (e) => {
6097
6097
  }
6098
6098
  }, b = async (k, N, O, C, M, R) => {
6099
6099
  try {
6100
- const L = await Ke({
6100
+ const L = await Xe({
6101
6101
  accessToken: C,
6102
- type: Xe.GET_CHAT,
6102
+ type: qe.GET_CHAT,
6103
6103
  params: {
6104
6104
  id: k.id
6105
6105
  }
@@ -6108,6 +6108,11 @@ const Mc = (e) => {
6108
6108
  provider: L.data.provider,
6109
6109
  accessToken: C,
6110
6110
  username: M
6111
+ }), N({
6112
+ type: Fe,
6113
+ payload: {
6114
+ provider: L.data.provider
6115
+ }
6111
6116
  }), N({
6112
6117
  type: ve,
6113
6118
  payload: {
@@ -6348,7 +6353,7 @@ const Mc = (e) => {
6348
6353
  ) })
6349
6354
  ] }) });
6350
6355
  }, Qc = ({ stats: e }) => {
6351
- const { isAuthenticated: t, user: r, registeringForPasskey: a, authenticationType: n } = ae(), o = qe(), s = qe(), l = (r == null ? void 0 : r.username) || "";
6356
+ const { isAuthenticated: t, user: r, registeringForPasskey: a, authenticationType: n } = ae(), o = Ze(), s = Ze(), l = (r == null ? void 0 : r.username) || "";
6352
6357
  return t && l ? /* @__PURE__ */ x(Q, { children: [
6353
6358
  /* @__PURE__ */ i(
6354
6359
  me,
@@ -6572,7 +6577,7 @@ function hd({
6572
6577
  visible: l,
6573
6578
  ...c
6574
6579
  }) {
6575
- const d = A(null), u = A(null), [m, f] = Ge(dd, {
6580
+ const d = A(null), u = A(null), [m, f] = Je(dd, {
6576
6581
  announcement: null
6577
6582
  });
6578
6583
  let p = r;
@@ -6800,7 +6805,7 @@ const fd = () => "rounded-md text-base h-20 min-h-[80px] resize-none overflow-hi
6800
6805
  var w;
6801
6806
  const k = A(null), N = od([_, k]), [O, C] = wa(), [M, R] = wa(), L = A(80), V = A(-25), $ = A(null), F = A(30), W = A(null), H = ld({ id: e, prefix: `${Dn}-` }), [Re, Rt] = P(0), [ot, At] = P(0), [Lt, _e] = P(
6802
6807
  !!(!y && g)
6803
- ), Ue = `${t} error, ${g}`, ye = kd({
6808
+ ), je = `${t} error, ${g}`, ye = kd({
6804
6809
  className: o,
6805
6810
  textAreaClassName: s,
6806
6811
  error: a,
@@ -6935,7 +6940,7 @@ const fd = () => "rounded-md text-base h-20 min-h-[80px] resize-none overflow-hi
6935
6940
  children: v
6936
6941
  }
6937
6942
  ),
6938
- a && g && /* @__PURE__ */ i(hd, { politeness: "polite", clearAnnouncementDelay: 500, children: Ue })
6943
+ a && g && /* @__PURE__ */ i(hd, { politeness: "polite", clearAnnouncementDelay: 500, children: je })
6939
6944
  ] });
6940
6945
  }
6941
6946
  );
@@ -7080,9 +7085,9 @@ const xd = "av-toggle", _d = () => h("peer", "h-6", "w-11", "rounded-full"), Td
7080
7085
  }, E = async (w) => {
7081
7086
  w.preventDefault();
7082
7087
  try {
7083
- await Ke({
7088
+ await Xe({
7084
7089
  accessToken: await r(),
7085
- type: Xe.SET_USER_PREFERENCES,
7090
+ type: qe.SET_USER_PREFERENCES,
7086
7091
  params: {
7087
7092
  user: a == null ? void 0 : a.username,
7088
7093
  instructions: f,
@@ -7100,9 +7105,9 @@ const xd = "av-toggle", _d = () => h("peer", "h-6", "w-11", "rounded-full"), Td
7100
7105
  loadingLocation: !0
7101
7106
  }), y("...");
7102
7107
  try {
7103
- const w = Date.now(), k = await ko(), N = await Ke({
7108
+ const w = Date.now(), k = await ko(), N = await Xe({
7104
7109
  accessToken: await r(),
7105
- type: Xe.GET_LOCATION,
7110
+ type: qe.GET_LOCATION,
7106
7111
  params: {
7107
7112
  latitude: k.latitude,
7108
7113
  longitude: k.longitude
@@ -8822,7 +8827,7 @@ const Su = ({ content: e }) => /* @__PURE__ */ i(
8822
8827
  ), Sa = Lo(
8823
8828
  () => import(
8824
8829
  /* webpackChunkName: "LazyMessageAssistant" */
8825
- "./ChatBubbleAssistant.CiaCBXya.js"
8830
+ "./ChatBubbleAssistant.5vhIAVOX.js"
8826
8831
  ).then((e) => e.ChatBubbleAssistant)
8827
8832
  ), Ru = G.memo(
8828
8833
  ({
@@ -8841,7 +8846,7 @@ const Su = ({ content: e }) => /* @__PURE__ */ i(
8841
8846
  ), Au = () => {
8842
8847
  const {
8843
8848
  state: { loading: e }
8844
- } = j(re), { messages: t } = Fe();
8849
+ } = j(re), { messages: t } = He();
8845
8850
  return e && (!t || t.length === 0) ? /* @__PURE__ */ i(lr, { children: /* @__PURE__ */ i(Na, { type: "dots" }) }) : t && t.length > 0 ? /* @__PURE__ */ x("div", { className: "space-y-6 mt-2 @container", children: [
8846
8851
  t && t.length > 0 && t.map((r, a) => {
8847
8852
  let n = null;
@@ -8867,7 +8872,7 @@ const Su = ({ content: e }) => /* @__PURE__ */ i(
8867
8872
  extraClass: "rounded-b-md relative"
8868
8873
  });
8869
8874
  return B(() => {
8870
- s.current = a === Ye ? n + o + Oa + To : 0;
8875
+ s.current = a === Ke ? n + o + Oa + To : 0;
8871
8876
  }, [a, n, o]), /* @__PURE__ */ x(Q, { children: [
8872
8877
  /* @__PURE__ */ x("div", { className: l, children: [
8873
8878
  /* @__PURE__ */ i(Io, {}),
@@ -8877,7 +8882,7 @@ const Su = ({ content: e }) => /* @__PURE__ */ i(
8877
8882
  /* @__PURE__ */ i(
8878
8883
  Pc,
8879
8884
  {
8880
- show: !r && a === Ye,
8885
+ show: !r && a === Ke,
8881
8886
  bottom: s.current
8882
8887
  }
8883
8888
  )
@@ -8893,18 +8898,18 @@ function Jn({
8893
8898
  }), [p] = Oe({
8894
8899
  key: Be + Ma,
8895
8900
  initialValue: he.ASC
8896
- }), [g, y] = Ge(ii, {
8901
+ }), [g, y] = Je(ii, {
8897
8902
  footerPosition: "FOOTER_TOP",
8898
8903
  footerHeight: 0,
8899
8904
  footerOffset: 0
8900
- }), [v, T] = Ge(oi, {
8905
+ }), [v, T] = Je(oi, {
8901
8906
  searchString: f,
8902
8907
  sortedCell: "timestamp",
8903
8908
  sortDirection: p
8904
- }), [I, E] = Ge(si, {
8909
+ }), [I, E] = Je(si, {
8905
8910
  prompt: "",
8906
8911
  lastTriggeredTimestamp: 0
8907
- }), [S, b] = Ge(ci, {
8912
+ }), [S, b] = Je(ci, {
8908
8913
  provider: "",
8909
8914
  // OpenAI, Anthropic, etc.
8910
8915
  privateChat: !1,
@@ -8936,7 +8941,7 @@ function Jn({
8936
8941
  }, 500);
8937
8942
  }), B(() => {
8938
8943
  _ && _.provider && b({
8939
- type: et,
8944
+ type: Fe,
8940
8945
  payload: {
8941
8946
  provider: _.provider
8942
8947
  }
@@ -1,7 +1,7 @@
1
1
  import { Fragment as hl, jsx as Pe, jsxs as Yi } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as Xi, ChatContext as pl, E as dl, Re as Dr } from "./App.Bdb192pb.js";
2
+ import { getDefaultExportFromCjs as Xi, ChatContext as pl, E as dl, Re as Dr } from "./App.Lt3t2EEz.js";
3
3
  import { useState as Jt, useEffect as ml, lazy as gl, useContext as yl, Suspense as xl } from "react";
4
- import { LOCAL_STORAGE_PREFIX as bl, LOCAL_STORAGE_CHAT_DETAILS as kl, convertCamelCaseToReadable as wl, ROLE_INTERNAL as Sl } from "./index.DQKfDWnQ.js";
4
+ import { LOCAL_STORAGE_PREFIX as bl, LOCAL_STORAGE_CHAT_DETAILS as kl, convertCamelCaseToReadable as wl, ROLE_INTERNAL as Sl } from "./index.DC_ZqB-v.js";
5
5
  function Wg(e) {
6
6
  const t = [], n = String(e || "");
7
7
  let r = n.indexOf(","), i = 0, o = !1;
@@ -11297,7 +11297,7 @@ function Bg(e) {
11297
11297
  const jg = gl(
11298
11298
  () => import(
11299
11299
  /* webpackChunkName: "LazyMarkdownWithExtra" */
11300
- "./MarkdownWithExtra.DSOgVkLr.js"
11300
+ "./MarkdownWithExtra.o-wbv88P.js"
11301
11301
  )
11302
11302
  ), Gi = {
11303
11303
  MODEL: "Model",
@@ -1,9 +1,9 @@
1
1
  import { jsx as Ve, jsxs as F0, Fragment as Sa } from "react/jsx-runtime";
2
- import { convert as _s, visit as ka, find as Ss, parse as Sn, parse$1 as kn, normalize as Nn, svg as ks, html as Ns, visitParents as Ts, SKIP as As, longestStreak as Ms, factorySpace as _r, markdownLineEnding as Vt, Markdown as Os, remarkGfm as Rs } from "./ChatBubbleAssistant.CiaCBXya.js";
3
- import { re as Cs, L as Is, j as Ds } from "./index.DQKfDWnQ.js";
2
+ import { convert as _s, visit as ka, find as Ss, parse as Sn, parse$1 as kn, normalize as Nn, svg as ks, html as Ns, visitParents as Ts, SKIP as As, longestStreak as Ms, factorySpace as _r, markdownLineEnding as Vt, Markdown as Os, remarkGfm as Rs } from "./ChatBubbleAssistant.5vhIAVOX.js";
3
+ import { re as Cs, L as Is, j as Ds } from "./index.DC_ZqB-v.js";
4
4
  import Ls, { useState as zs, useEffect as Bs } from "react";
5
5
  import Fs from "clsx";
6
- import { getDefaultExportFromCjs as Ps } from "./App.Bdb192pb.js";
6
+ import { getDefaultExportFromCjs as Ps } from "./App.Lt3t2EEz.js";
7
7
  const Na = ({
8
8
  children: t,
9
9
  fill: e,
@@ -4753,7 +4753,7 @@ const hi = "ASK! ME! ANYTHING!", Dn = "Callisto", fi = "Log in", mi = "Sign in w
4753
4753
  ) });
4754
4754
  }, Ei = new URL(document.location.href).searchParams, Hr = !!Ei.get("debug") || !1, bi = Kn(() => import(
4755
4755
  /* webpackChunkName: "LazyApp" */
4756
- "./App.Bdb192pb.js"
4756
+ "./App.Lt3t2EEz.js"
4757
4757
  ).then((e) => e.App)), Kr = ({
4758
4758
  isComponent: e,
4759
4759
  headerHeight: t
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { SassySaint as a } from "../../chunks/index.DQKfDWnQ.js";
2
+ import { SassySaint as a } from "../../chunks/index.DC_ZqB-v.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.DQKfDWnQ.js";
1
+ import { SassySaint as r } from "./chunks/index.DC_ZqB-v.js";
2
2
  /*!
3
- @sassysaint/client v8.0.1
3
+ @sassysaint/client v8.0.2
4
4
  © 2025 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_SASSY_GLOBAL__ || (window.__VERSINI_SASSY_GLOBAL__ = {
8
- version: "8.0.1",
9
- buildTime: "02/25/2025 07:11 PM EST",
8
+ version: "8.0.2",
9
+ buildTime: "02/25/2025 08:07 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": "8.0.1",
3
+ "version": "8.0.2",
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": "8.0.1",
33
+ "@sassysaint/client": "8.0.2",
34
34
  "@versini/ui-styles": "3.2.8"
35
35
  },
36
36
  "dependencies": {
@@ -41,5 +41,5 @@
41
41
  "sideEffects": [
42
42
  "**/*.css"
43
43
  ],
44
- "gitHead": "2bb9b71a057e94297eac978c3cc7230715d8087d"
44
+ "gitHead": "65d34732cb598a62731f673aae484114e4844e69"
45
45
  }