@versini/sassysaint 8.107.1 → 8.107.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/chunks/{AboutChangelog.Bka_dEqx.js → AboutChangelog.BmMVyf-Q.js} +2 -2
  2. package/dist/chunks/{AboutEntry.DUtXxWlx.js → AboutEntry.wD5hG0ON.js} +7 -7
  3. package/dist/chunks/{App.BERAIqpH.js → App.FyINLNSp.js} +952 -1047
  4. package/dist/chunks/{Bubble.CMHhu8Uu.js → Bubble.Ci-pu6NI.js} +9 -21
  5. package/dist/chunks/{Chart.CaVz0BaD.js → Chart.DYVf2gst.js} +2 -2
  6. package/dist/chunks/{ChatBubbleAssistant.C2BK2j1e.js → ChatBubbleAssistant.CD6bVvcQ.js} +7 -11
  7. package/dist/chunks/{ChatBubbleUser.DiLNCz62.js → ChatBubbleUser.Cre3cX04.js} +9 -13
  8. package/dist/chunks/{ChatHistoryTable.stVdzUh4.js → ChatHistoryTable.D_kOkWN9.js} +10 -14
  9. package/dist/chunks/{HistoryEntry.Cfj7zpsO.js → HistoryEntry.BFNME4Z8.js} +6 -6
  10. package/dist/chunks/{LoginEntry.NKL57b20.js → LoginEntry.SW7wyEpU.js} +4 -4
  11. package/dist/chunks/{LogoEntry._hzptl5K.js → LogoEntry.BAKpdJEy.js} +59 -107
  12. package/dist/chunks/{MemoriesEntry.d_q-JhJM.js → MemoriesEntry.Ztyx_8Wm.js} +5 -5
  13. package/dist/chunks/{ProfileEntry.DIQtOnWx.js → ProfileEntry.CjzAusYw.js} +4 -4
  14. package/dist/chunks/{SettingsEntry.DzdlYRls.js → SettingsEntry.D4IKmfYP.js} +5 -5
  15. package/dist/chunks/{Table.DC7e-PME.js → Table.Dzy9ts3i.js} +7 -19
  16. package/dist/chunks/{UsageEntry.BH_ezlOO.js → UsageEntry.D7sTPflE.js} +5 -5
  17. package/dist/chunks/{index.ogleoHzE.js → index.16gcBvke.js} +22 -26
  18. package/dist/chunks/{index.D2X4dLEq.js → index.BI1_ccPN.js} +4 -4
  19. package/dist/chunks/{index.Bc-tiddM.js → index.BT3Do9Po.js} +3 -7
  20. package/dist/chunks/{index.DvprFu44.js → index.BfTDtoYy.js} +1 -1
  21. package/dist/chunks/{index.BAdB50GZ.js → index.BjnVQ4X3.js} +2 -6
  22. package/dist/chunks/{index.NT6ZWB8q.js → index.DBovegdE.js} +1 -1
  23. package/dist/chunks/{index.CBzjyG-A.js → index.DJlv39cv.js} +2 -2
  24. package/dist/chunks/{index.BeTlnSxo.js → index.QiLu2wkI.js} +3 -19
  25. package/dist/chunks/{index.-n8MsBkX.js → index.uILjvEfo.js} +1 -1
  26. package/dist/chunks/{index.DAJKVS9Y.js → index.uVDYkuxz.js} +20 -28
  27. package/dist/chunks/{useMarkdown.CUQaOUBB.js → useMarkdown.BberHabr.js} +10 -14
  28. package/dist/components/SassySaint/SassySaint.js +1 -1
  29. package/dist/index.js +3 -7
  30. package/dist/style.css +1 -14
  31. package/package.json +5 -5
@@ -1,29 +1,21 @@
1
1
  import { jsxs as _, jsx as o } from "react/jsx-runtime";
2
- import { ButtonIcon as I, IconCopied as E, IconCopy as N } from "./LogoEntry._hzptl5K.js";
2
+ import { ButtonIcon as I, IconCopied as E, IconCopy as N } from "./LogoEntry.BAKpdJEy.js";
3
3
  import { useState as S, useEffect as U } from "react";
4
4
  import t from "clsx";
5
- /*!
6
- @versini/ui-bubble v10.1.0
7
- © 2025 gizmette.com
8
- */
9
5
  try {
10
6
  window.__VERSINI_UI_BUBBLE__ || (window.__VERSINI_UI_BUBBLE__ = {
11
- version: "10.1.0",
12
- buildTime: "12/22/2025 07:40 PM EST",
7
+ version: "10.1.1",
8
+ buildTime: "12/24/2025 09:20 AM EST",
13
9
  homepage: "https://www.npmjs.com/package/@versini/ui-bubble",
14
10
  license: "MIT"
15
11
  });
16
12
  } catch {
17
13
  }
18
14
  const i = "av-bubble";
19
- /*!
20
- @versini/ui-bubble v10.1.0
21
- © 2025 gizmette.com
22
- */
23
15
  try {
24
16
  window.__VERSINI_UI_BUBBLE__ || (window.__VERSINI_UI_BUBBLE__ = {
25
- version: "10.1.0",
26
- buildTime: "12/22/2025 07:40 PM EST",
17
+ version: "10.1.1",
18
+ buildTime: "12/24/2025 09:20 AM EST",
27
19
  homepage: "https://www.npmjs.com/package/@versini/ui-bubble",
28
20
  license: "MIT"
29
21
  });
@@ -84,20 +76,16 @@ const C = ({ kind: e, noMaxWidth: r }) => t("px-4 py-2", {
84
76
  copyButton: g
85
77
  };
86
78
  };
87
- /*!
88
- @versini/ui-bubble v10.1.0
89
- © 2025 gizmette.com
90
- */
91
79
  try {
92
80
  window.__VERSINI_UI_BUBBLE__ || (window.__VERSINI_UI_BUBBLE__ = {
93
- version: "10.1.0",
94
- buildTime: "12/22/2025 07:40 PM EST",
81
+ version: "10.1.1",
82
+ buildTime: "12/24/2025 09:20 AM EST",
95
83
  homepage: "https://www.npmjs.com/package/@versini/ui-bubble",
96
84
  license: "MIT"
97
85
  });
98
86
  } catch {
99
87
  }
100
- const k = (e) => typeof e == "object" && e !== null && "isEmpty" in e && e.isEmpty === !0, M = (e) => typeof e == "object" && e !== null && "key" in e && "value" in e, A = ({ children: e, kind: r = "left", className: u, contentClassName: n, footerClassName: m, footer: l, rawFooter: b, copyToClipboard: s, copyToClipboardFocusMode: p = "system", copyToClipboardMode: d = "system", noMaxWidth: g = !1, tail: w = !1, gradient: y }) => {
88
+ const k = (e) => typeof e == "object" && e !== null && "isEmpty" in e && e.isEmpty === !0, M = (e) => typeof e == "object" && e !== null && "key" in e && "value" in e, q = ({ children: e, kind: r = "left", className: u, contentClassName: n, footerClassName: m, footer: l, rawFooter: b, copyToClipboard: s, copyToClipboardFocusMode: p = "system", copyToClipboardMode: d = "system", noMaxWidth: g = !1, tail: w = !1, gradient: y }) => {
101
89
  const [f, B] = S(!1), c = j({
102
90
  kind: r,
103
91
  className: u,
@@ -179,5 +167,5 @@ const k = (e) => typeof e == "object" && e !== null && "isEmpty" in e && e.isEmp
179
167
  });
180
168
  };
181
169
  export {
182
- A as Bubble
170
+ q as Bubble
183
171
  };
@@ -1,7 +1,7 @@
1
1
  import { jsx as Pp } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as dn, isProbablyMobile as Op } from "./App.BERAIqpH.js";
2
+ import { getDefaultExportFromCjs as dn, isProbablyMobile as Op } from "./App.FyINLNSp.js";
3
3
  import Lp, { useMemo as Ep } from "react";
4
- import { TRIMESTERS_SHORT as Ip, TRIMESTERS as on, TIME_RANGES as ls, TIME_RANGE_LABELS as an } from "./LogoEntry._hzptl5K.js";
4
+ import { TRIMESTERS_SHORT as Ip, TRIMESTERS as on, TIME_RANGES as ls, TIME_RANGE_LABELS as an } from "./LogoEntry.BAKpdJEy.js";
5
5
  var hs = { exports: {} }, Dp = hs.exports, nn;
6
6
  function Bp() {
7
7
  return nn || (nn = 1, (function(Ae, pe) {
@@ -1,18 +1,14 @@
1
1
  import { jsx as rs } from "react/jsx-runtime";
2
- import { n as as, useUserPreferences as os, formatTimestamp as vt } from "./index.BeTlnSxo.js";
3
- import { numberFormatter as ls, pluralize as us, AsyncBubble as cs } from "./App.BERAIqpH.js";
2
+ import { n as as, useUserPreferences as os, formatTimestamp as vt } from "./index.QiLu2wkI.js";
3
+ import { numberFormatter as ls, pluralize as us, AsyncBubble as cs } from "./App.FyINLNSp.js";
4
4
  import Ht from "clsx";
5
5
  import fs, { useState as Ae, useEffect as Zt, useContext as Vt } from "react";
6
- import { useMarkdown as hs } from "./useMarkdown.CUQaOUBB.js";
7
- import { ChatContext as ds, AppContext as ps } from "./LogoEntry._hzptl5K.js";
8
- /*!
9
- @versini/ui-bubble v10.1.0
10
- © 2025 gizmette.com
11
- */
6
+ import { useMarkdown as hs } from "./useMarkdown.BberHabr.js";
7
+ import { ChatContext as ds, AppContext as ps } from "./LogoEntry.BAKpdJEy.js";
12
8
  try {
13
9
  window.__VERSINI_UI_BUBBLE__ || (window.__VERSINI_UI_BUBBLE__ = {
14
- version: "10.1.0",
15
- buildTime: "12/22/2025 07:40 PM EST",
10
+ version: "10.1.1",
11
+ buildTime: "12/24/2025 09:20 AM EST",
16
12
  homepage: "https://www.npmjs.com/package/@versini/ui-bubble",
17
13
  license: "MIT"
18
14
  });
@@ -779,7 +775,7 @@ class ot extends at {
779
775
  if (f) {
780
776
  const m = Math.min(this.currentTime, i) / o;
781
777
  let x = Math.floor(m), E = m % 1;
782
- !E && m >= 1 && (E = 1), E === 1 && x--, x = Math.min(x, f + 1), !!(x % 2) && (h === "reverse" ? (E = 1 - E, g && (E -= g / o)) : h === "mirror" && (v = a)), S = Y(0, 1, E) * o;
778
+ !E && m >= 1 && (E = 1), E === 1 && x--, x = Math.min(x, f + 1), x % 2 && (h === "reverse" ? (E = 1 - E, g && (E -= g / o)) : h === "mirror" && (v = a)), S = Y(0, 1, E) * o;
783
779
  }
784
780
  const p = A ? { done: !1, value: u[0] } : v.next(S);
785
781
  r && (p.value = r(p.value));
@@ -1,16 +1,12 @@
1
1
  import { jsx as i, Fragment as S, jsxs as C } from "react/jsx-runtime";
2
- import { Button as _ } from "./LogoEntry._hzptl5K.js";
2
+ import { Button as _ } from "./LogoEntry.BAKpdJEy.js";
3
3
  import { useState as h, useMemo as m, isValidElement as T, useEffect as B } from "react";
4
- import { useMarkdown as b } from "./useMarkdown.CUQaOUBB.js";
5
- import { AsyncBubble as k } from "./App.BERAIqpH.js";
6
- /*!
7
- @versini/ui-truncate v6.1.8
8
- © 2025 gizmette.com
9
- */
4
+ import { useMarkdown as b } from "./useMarkdown.BberHabr.js";
5
+ import { AsyncBubble as k } from "./App.FyINLNSp.js";
10
6
  try {
11
7
  window.__VERSINI_UI_TRUNCATE__ || (window.__VERSINI_UI_TRUNCATE__ = {
12
- version: "6.1.8",
13
- buildTime: "12/16/2025 06:23 PM EST",
8
+ version: "6.1.9",
9
+ buildTime: "12/24/2025 09:21 AM EST",
14
10
  homepage: "https://www.npmjs.com/package/@versini/ui-truncate",
15
11
  license: "MIT"
16
12
  });
@@ -78,7 +74,7 @@ const x = 200, M = ({ string: e, idealLength: r = x }) => {
78
74
  }), [
79
75
  p,
80
76
  r
81
- ]), E = s && a && !t, w = (I) => {
77
+ ]), E = s && a && !t, A = (I) => {
82
78
  I.preventDefault(), y(!t);
83
79
  };
84
80
  if (g)
@@ -87,7 +83,7 @@ const x = 200, M = ({ string: e, idealLength: r = x }) => {
87
83
  });
88
84
  let o;
89
85
  a ? t ? o = e : o = f : o = e;
90
- const A = s ? u(e) : !1;
86
+ const w = s ? u(e) : !1;
91
87
  return /* @__PURE__ */ C("span", {
92
88
  style: {
93
89
  wordBreak: "break-word"
@@ -100,9 +96,9 @@ const x = 200, M = ({ string: e, idealLength: r = x }) => {
100
96
  mode: n,
101
97
  focusMode: c,
102
98
  noBorder: d,
103
- className: !(s && t && A) ? "ml-2" : void 0,
99
+ className: !(s && t && w) ? "ml-2" : void 0,
104
100
  size: "small",
105
- onClick: w,
101
+ onClick: A,
106
102
  "aria-label": t ? "Show less" : "Show more",
107
103
  children: t ? "less..." : "more..."
108
104
  })
@@ -1,18 +1,14 @@
1
1
  import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
- import { y as w, v as y, INFINITE_SCROLL_THRESHOLD as L } from "./index.BeTlnSxo.js";
3
- import { IconCloseLight as U, CARDS as D, ButtonIcon as C, IconRestore as z, IconStarInCircle as B, IconStarInCircleLight as $, IconDelete as Y } from "./LogoEntry._hzptl5K.js";
2
+ import { y as w, v as y, INFINITE_SCROLL_THRESHOLD as L } from "./index.QiLu2wkI.js";
3
+ import { IconCloseLight as U, CARDS as D, ButtonIcon as C, IconRestore as z, IconStarInCircle as B, IconStarInCircleLight as $, IconDelete as Y } from "./LogoEntry.BAKpdJEy.js";
4
4
  import { useState as K, Fragment as V } from "react";
5
5
  import i from "clsx";
6
- import { H as W, F as j, q as N, Y as F, O as n, J as k } from "./Table.DC7e-PME.js";
7
- import { pluralize as I, ResponsiveTooltip as S, numberFormatter as G, isProbablyMobile as H } from "./App.BERAIqpH.js";
8
- /*!
9
- @versini/ui-pill v5.2.4
10
- © 2025 gizmette.com
11
- */
6
+ import { H as W, F as j, q as N, Y as F, O as n, J as k } from "./Table.Dzy9ts3i.js";
7
+ import { pluralize as A, ResponsiveTooltip as S, numberFormatter as G, isProbablyMobile as H } from "./App.FyINLNSp.js";
12
8
  try {
13
9
  window.__VERSINI_UI_PILL__ || (window.__VERSINI_UI_PILL__ = {
14
- version: "5.2.4",
15
- buildTime: "12/15/2025 01:22 PM EST",
10
+ version: "5.2.5",
11
+ buildTime: "12/24/2025 09:21 AM EST",
16
12
  homepage: "https://www.npmjs.com/package/@versini/ui-pill",
17
13
  license: "MIT"
18
14
  });
@@ -23,7 +19,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
23
19
  "border-border-warning": t === "warning",
24
20
  "border-border-success": t === "success",
25
21
  "border-border-error": t === "error"
26
- }), A = ({ variant: t }) => i("not-prose", {
22
+ }), I = ({ variant: t }) => i("not-prose", {
27
23
  "text-copy-information": t === "information",
28
24
  "text-copy-warning": t === "warning",
29
25
  "text-copy-success": t === "success",
@@ -38,10 +34,10 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
38
34
  return {
39
35
  main: i(q, "inline-flex items-center gap-1 px-2 py-0.5 text-xs", J({
40
36
  variant: l
41
- }), A({
37
+ }), I({
42
38
  variant: l
43
39
  }), Q(t), a),
44
- button: i("inline-flex items-center justify-center", "ml-1", "focus:outline", "focus:outline-1", "focus:outline-offset-1", "focus:outline-focus-dark", "hover:bg-surface-medium/50", "rounded-full", A({
40
+ button: i("inline-flex items-center justify-center", "ml-1", "focus:outline", "focus:outline-1", "focus:outline-offset-1", "focus:outline-focus-dark", "hover:bg-surface-medium/50", "rounded-full", I({
45
41
  variant: l
46
42
  }))
47
43
  };
@@ -289,7 +285,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
289
285
  mode: "alt-system",
290
286
  caption: (() => {
291
287
  const r = t.length, s = f ?? r;
292
- return R && s > r ? `Showing ${I(`${r} chat`, r)} out of ${s}` : I(`${r} chat`, r);
288
+ return R && s > r ? `Showing ${A(`${r} chat`, r)} out of ${s}` : A(`${r} chat`, r);
293
289
  })(),
294
290
  disabled: u && t.length > 0,
295
291
  children: [
@@ -1,15 +1,15 @@
1
1
  import { jsxs as n, Fragment as ae, jsx as t } from "react/jsx-runtime";
2
- import { n as K, INFINITE_SCROLL_LIMIT as U, INFINITE_SCROLL_THRESHOLD as re, LOCAL_STORAGE_PREFIX as u, LOCAL_STORAGE_SORT_TIMESTAMP as se, LOCAL_STORAGE_SORT_TOKEN_USAGE as oe, LOCAL_STORAGE_SORT as ie, y as I, LOCAL_STORAGE_CHAT_ID as ne, useDeleteChat as ce, useToggleFavoriteChat as le, graphQLRequest as de, SERVICE_TYPES as he, ACTION_SORT as me, v as ue, LOCAL_STORAGE_SEARCH as Ce, LOCAL_STORAGE_FAVORITES_ONLY as Se, LOCAL_STORAGE_KEYWORD_MATCH_ALL as fe, useChatsHistory as ye, useUserChatStats as pe, ACTION_SEARCH as Te } from "./index.BeTlnSxo.js";
3
- import { HistoryContext as Y, ChatContext as ge, e as m, APP_CLASSNAME as Ae, TOAST_CHAT_DELETED as Ee, HISTORY_TITLE as _e, IconSearch as Le, Button as De, L as Oe, j as ke } from "./LogoEntry._hzptl5K.js";
4
- import { Card as ve } from "./index.Bc-tiddM.js";
5
- import { useAiChat as Re, useLocalStorage as C, ConfirmationPanel as be, LazyToastContainerWrapper as Ie, showErrorToast as xe, v4 as we, CHAT_RESET as He, CHAT_SET_ATTACHMENTS as Ne, CHAT_SET_STATUS as Fe, Panel as Me, debounce as Ge, Toggle as B, CancelButton as Ve } from "./App.BERAIqpH.js";
6
- import { TextInput as ze } from "./index.ogleoHzE.js";
2
+ import { n as K, INFINITE_SCROLL_LIMIT as U, INFINITE_SCROLL_THRESHOLD as re, LOCAL_STORAGE_PREFIX as u, LOCAL_STORAGE_SORT_TIMESTAMP as se, LOCAL_STORAGE_SORT_TOKEN_USAGE as oe, LOCAL_STORAGE_SORT as ie, y as I, LOCAL_STORAGE_CHAT_ID as ne, useDeleteChat as ce, useToggleFavoriteChat as le, graphQLRequest as de, SERVICE_TYPES as he, ACTION_SORT as me, v as ue, LOCAL_STORAGE_SEARCH as Ce, LOCAL_STORAGE_FAVORITES_ONLY as Se, LOCAL_STORAGE_KEYWORD_MATCH_ALL as fe, useChatsHistory as ye, useUserChatStats as pe, ACTION_SEARCH as Te } from "./index.QiLu2wkI.js";
3
+ import { HistoryContext as Y, ChatContext as ge, e as m, APP_CLASSNAME as Ae, TOAST_CHAT_DELETED as Ee, HISTORY_TITLE as _e, IconSearch as Le, Button as De, L as Oe, j as ke } from "./LogoEntry.BAKpdJEy.js";
4
+ import { Card as ve } from "./index.BT3Do9Po.js";
5
+ import { useAiChat as Re, useLocalStorage as C, ConfirmationPanel as be, LazyToastContainerWrapper as Ie, showErrorToast as xe, v4 as we, CHAT_RESET as He, CHAT_SET_ATTACHMENTS as Ne, CHAT_SET_STATUS as Fe, Panel as Me, debounce as Ge, Toggle as B, CancelButton as Ve } from "./App.FyINLNSp.js";
6
+ import { TextInput as ze } from "./index.16gcBvke.js";
7
7
  import Pe from "clsx";
8
8
  import { useRef as x, useState as G, useContext as V, useCallback as j, Suspense as Ue, lazy as Be, useEffect as je } from "react";
9
9
  const Ke = Be(
10
10
  () => import(
11
11
  /* webpackChunkName: "history-table" */
12
- "./ChatHistoryTable.stVdzUh4.js"
12
+ "./ChatHistoryTable.D_kOkWN9.js"
13
13
  ).then((S) => ({ default: S.ChatHistoryTable }))
14
14
  ), Ye = ({
15
15
  filteredHistory: S,
@@ -1,8 +1,8 @@
1
1
  import { jsxs as i, jsx as e, Fragment as x } from "react/jsx-runtime";
2
- import { n as L, getLayoutPaddingClass as M, getMessageContaintWrapperClass as b, isTauri as I } from "./index.BeTlnSxo.js";
3
- import { Logo as N, L as E, j as t, PASSWORD_PLACEHOLDER as y, ButtonIcon as p, IconShow as S, IconHide as v, Button as w, LOG_IN as P, LOG_IN_PASSKEY as z, IconPasskey as B } from "./LogoEntry._hzptl5K.js";
4
- import { Card as O } from "./index.Bc-tiddM.js";
5
- import { TextInput as T, TextInputMask as W } from "./index.ogleoHzE.js";
2
+ import { n as L, getLayoutPaddingClass as M, getMessageContaintWrapperClass as b, isTauri as I } from "./index.QiLu2wkI.js";
3
+ import { Logo as N, L as E, j as t, PASSWORD_PLACEHOLDER as y, ButtonIcon as p, IconShow as S, IconHide as v, Button as w, LOG_IN as P, LOG_IN_PASSKEY as z, IconPasskey as B } from "./LogoEntry.BAKpdJEy.js";
4
+ import { Card as O } from "./index.BT3Do9Po.js";
5
+ import { TextInput as T, TextInputMask as W } from "./index.16gcBvke.js";
6
6
  import { useState as s, useEffect as h } from "react";
7
7
  const q = () => {
8
8
  const { login: g, logoutReason: o, loginWithPasskey: f } = L(), [n, l] = s(""), [d, m] = s(""), [c, C] = s(!0), [r, u] = s({