@versini/sassysaint 8.96.6 → 8.96.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/chunks/{AboutChangelog.1n-evT3k.js → AboutChangelog.DL8jdIek.js} +4 -4
  2. package/dist/chunks/{AboutEntry.DPqeOvj2.js → AboutEntry.BFLLnGme.js} +13 -13
  3. package/dist/chunks/{App.D4sxFsDg.js → App.CJKFrA6-.js} +20 -20
  4. package/dist/chunks/{Chart.F67KdFWj.js → Chart.CSWhd9RG.js} +2 -2
  5. package/dist/chunks/{ChatBubbleAssistant.DUWq_aPY.js → ChatBubbleAssistant.C6I-5Orm.js} +4 -4
  6. package/dist/chunks/{ChatBubbleUser.Dbp907ID.js → ChatBubbleUser.C-S51g0A.js} +6 -6
  7. package/dist/chunks/{ChatHistoryTable.BUWB5iuD.js → ChatHistoryTable.B2EEHcfs.js} +3 -3
  8. package/dist/chunks/{HistoryEntry.CJzshOwC.js → HistoryEntry.BzjaM1UY.js} +3 -3
  9. package/dist/chunks/{ProfileEntry.BCxWYk-U.js → ProfileEntry.DzrLAMah.js} +17 -17
  10. package/dist/chunks/{SettingsEntry.Dz5xWkzt.js → SettingsEntry.A60L_M0z.js} +3 -3
  11. package/dist/chunks/{UsageEntry.DsiNVids.js → UsageEntry.BW445uil.js} +3 -3
  12. package/dist/chunks/{UserMemoriesPanel.DLvpgKb2.js → UserMemoriesPanel.DSY53LrE.js} +4 -4
  13. package/dist/chunks/{index.CJwu_9WN.js → index.BOdTcpg3.js} +2 -2
  14. package/dist/chunks/index.Bt_gWgjb.js +406 -0
  15. package/dist/chunks/{index.DnKzzO2K.js → index.CBv1GCGr.js} +1 -1
  16. package/dist/chunks/{index.C-VHre5f.js → index.C_x7bW7N.js} +4 -4
  17. package/dist/chunks/{index.bxm-FTXI.js → index.D9-iukox.js} +1 -1
  18. package/dist/chunks/{index.Czb5joj7.js → index.DPAUE7h1.js} +3 -3
  19. package/dist/chunks/{index.CUIpJR2i.js → index.DWswwPeZ.js} +1955 -2011
  20. package/dist/chunks/{index.e6O0GE7a.js → index.Dg88qqte.js} +1 -1
  21. package/dist/chunks/{index.B0ZtnGlu.js → index.gs7Cha7c.js} +1 -1
  22. package/dist/chunks/{useMarkdown.B1txc1OU.js → useMarkdown.BhQqmPx6.js} +1010 -969
  23. package/dist/components/SassySaint/SassySaint.js +1 -1
  24. package/dist/index.js +4 -4
  25. package/dist/style.css +1 -1
  26. package/package.json +3 -3
  27. package/dist/chunks/index.C39JMI7x.js +0 -371
@@ -1,8 +1,8 @@
1
1
  import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
- import { useInViewport as c } from "./index.CUIpJR2i.js";
2
+ import { useInViewport as c } from "./index.DWswwPeZ.js";
3
3
  import { useRef as n, useCallback as f, useLayoutEffect as u } from "react";
4
- import { ButtonScroll as p } from "./App.D4sxFsDg.js";
5
- import { useMarkdown as d } from "./useMarkdown.B1txc1OU.js";
4
+ import { ButtonScroll as p } from "./App.CJKFrA6-.js";
5
+ import { useMarkdown as d } from "./useMarkdown.BhQqmPx6.js";
6
6
  const x = ({ content: o }) => {
7
7
  const [l, t] = d(), { ref: a, inViewport: i } = c(), r = n(null), m = f(() => {
8
8
  r.current && r.current.scrollIntoView({
@@ -13,7 +13,7 @@ const x = ({ content: o }) => {
13
13
  return u(() => {
14
14
  o && t(o);
15
15
  }, [t, o]), /* @__PURE__ */ s("div", { className: "relative", children: [
16
- /* @__PURE__ */ s("div", { className: "text-sm prose-li:text-sm prose-h3:first-of-type:mt-1 min-h-60 max-h-60 overflow-scroll", children: [
16
+ /* @__PURE__ */ s("div", { className: "text-sm prose-li:text-sm prose-h3:first-of-type:mt-1 min-h-60 max-h-100 overflow-scroll", children: [
17
17
  l,
18
18
  /* @__PURE__ */ e("div", { ref: a, className: "scroll-marker" }),
19
19
  /* @__PURE__ */ e("div", { ref: r, className: "pt-2" })
@@ -1,15 +1,15 @@
1
1
  import { jsxs as p, Fragment as n, jsx as e } from "react/jsx-runtime";
2
- import { useUniqueId as d, useServerCapabilities as g, useChangelogs as A, Card as a, renderDataAsList as c, CARDS as r, pluralize as B, isProbablyMobile as E, ABOUT_TITLE as I, L as S, j as f, Button as C } from "./index.CUIpJR2i.js";
3
- import { Panel as O } from "./App.D4sxFsDg.js";
2
+ import { Panel as g } from "./App.CJKFrA6-.js";
3
+ import { useUniqueId as d, useServerCapabilities as A, useChangelogs as B, Card as a, renderDataAsList as c, CARDS as r, pluralize as E, isProbablyMobile as I, ABOUT_TITLE as S, L as f, j as C, Button as O } from "./index.DWswwPeZ.js";
4
4
  import U from "clsx";
5
5
  import { Suspense as L, lazy as N } from "react";
6
6
  const k = N(
7
7
  () => import(
8
8
  /* webpackChunkName: "LazyAboutChangelog" */
9
- "./AboutChangelog.1n-evT3k.js"
9
+ "./AboutChangelog.DL8jdIek.js"
10
10
  )
11
11
  ), v = () => {
12
- const i = d(), s = d(), { data: o, isSuccess: m } = g(), { data: h, isSuccess: u } = A(), T = o?.version || "", t = o?.models || [], b = o?.buildTime || "";
12
+ const i = d(), s = d(), { data: o, isSuccess: m } = A(), { data: h, isSuccess: u } = B(), T = o?.version || "", t = o?.models || [], b = o?.buildTime || "";
13
13
  return /* @__PURE__ */ p(n, { children: [
14
14
  /* @__PURE__ */ e(
15
15
  a,
@@ -18,8 +18,8 @@ const k = N(
18
18
  className: "prose-dark dark:prose-lighter mb-4",
19
19
  noBorder: !0,
20
20
  children: c(i, {
21
- [r.ABOUT.VERSION]: "8.96.6",
22
- [r.ABOUT.BUILD_TIMESTAMP]: "12/03/2025 08:27 AM EST"
21
+ [r.ABOUT.VERSION]: "8.96.7",
22
+ [r.ABOUT.BUILD_TIMESTAMP]: "12/04/2025 05:27 PM EST"
23
23
  })
24
24
  }
25
25
  ),
@@ -32,7 +32,7 @@ const k = N(
32
32
  children: c(s, {
33
33
  [r.ABOUT.VERSION]: T,
34
34
  [r.ABOUT.BUILD_TIMESTAMP]: b,
35
- [B(r.ABOUT.PROVIDER, t.length)]: /* @__PURE__ */ e(n, { children: t.map((l) => /* @__PURE__ */ e("div", { className: "text-right", children: l }, l)) })
35
+ [E(r.ABOUT.PROVIDER, t.length)]: /* @__PURE__ */ e(n, { children: t.map((l) => /* @__PURE__ */ e("div", { className: "text-right", children: l }, l)) })
36
36
  })
37
37
  }
38
38
  ) : null,
@@ -44,7 +44,7 @@ const k = N(
44
44
  header: r.ABOUT.TITLE_CHANGELOG,
45
45
  headerClassName: "av-card__header mt-0 border-b-2 border-border-accent mb-4 leading-10",
46
46
  className: U("prose-lighter dark:prose-lighter min-h-[334px]", {
47
- "mb-5": E()
47
+ "mb-5": I()
48
48
  }),
49
49
  children: u ? /* @__PURE__ */ e(L, { fallback: /* @__PURE__ */ e("div", { children: "Loading..." }), children: /* @__PURE__ */ e(k, { content: h.client }) }) : null
50
50
  }
@@ -54,22 +54,22 @@ const k = N(
54
54
  open: i,
55
55
  onOpenChange: s
56
56
  }) => /* @__PURE__ */ e(
57
- O,
57
+ g,
58
58
  {
59
59
  open: i,
60
60
  onOpenChange: s,
61
- title: I,
61
+ title: S,
62
62
  animation: !0,
63
63
  animationType: "fade",
64
64
  blurEffect: "large",
65
65
  footer: /* @__PURE__ */ e(
66
- S,
66
+ f,
67
67
  {
68
68
  columnGap: 2,
69
69
  alignHorizontal: "flex-end",
70
70
  className: "pb-8 sm:pb-0",
71
- children: /* @__PURE__ */ e(f, { children: /* @__PURE__ */ e(
72
- C,
71
+ children: /* @__PURE__ */ e(C, { children: /* @__PURE__ */ e(
72
+ O,
73
73
  {
74
74
  mode: "dark",
75
75
  variant: "secondary",
@@ -1,5 +1,5 @@
1
1
  import { jsx as d, jsxs as O, Fragment as Le } from "react/jsx-runtime";
2
- import { ACTION_SORT as ia, e$1 as vt, ACTION_SEARCH as ca, ACTION_RESET_PROMPT as fo, ACTION_TOGGLE_PROMPT as mo, ChatContext as Te, LOCAL_STORAGE_PREFIX as xe, LOCAL_STORAGE_CHAT_ID as Ut, n as Se, useLocalStorage as Re, isDev as la, isPWAMode as ho, isTauri as bt, useChat as ua, useClickOutside as da, useInterval as pa, isProbablyiPhone as Me, useTheme as Ae, ButtonIcon as Ne, IconAddLight as fa, DEFAULT_ICON_ACTION_SIZE as ze, useUserPreferences as He, useHotkeys as Hr, IconCloseLight as ma, IconEditLight as ha, serverUrl as go, useEntitlements as Gr, IconClose as vo, useHaptic as ga, L as Cr, j as ct, Button as un, useSaveChat as va, LOCAL_STORAGE_PRIVATE_DISCLOSURE as ya, w as Gt, IconLockedLight as _a, IconUnlockedLight as ba, IconSelected as wa, IconUnSelected as Ia, IconNext as Ea, PromptsContext as Jr, IconBookSparklesLight as Ta, IconRewrite as Sa, IconProofread as ka, IconMagic as Ca, LOCAL_STORAGE_REASONING_DISCLOSURE as xa, IconLightBulbLight as Aa, IconSendLight as Na, INPUT_PLACEHOLDER_TEXT_IN_SESSION as yo, INPUT_PLACEHOLDER_TEXT_MORNING as Oa, INPUT_PLACEHOLDER_TEXT_TODAY as Pa, INPUT_PLACEHOLDER_TEXT_AFTERNOON as Ra, INPUT_PLACEHOLDER_TEXT_EVENING as Ma, INPUT_PLACEHOLDER_TEXT_NIGHT as za, INPUT_PLACEHOLDER_TEXT_DEFAULT as $a, PROMPT_EDITABLE_AREA_CLASSNAME as Za, PROMPT_CLASSNAME as Da, AppContext as xt, useUniqueId as La, j$1 as _o, ERROR_MESSAGE as Ua, o as wt, CLIPBOARD_PROMPT as dn, getHotkeyHandler as ja, U as Fa, FOOTER_DISCLAIMERS as pn, isProbablyiPad as Ba, useResizeObserver as bo, useViewportSize as Va, useVisualViewportSize as Ha, INPUT_BOTTOM_OFFSET_IPHONE as Ga, INPUT_BOTTOM_OFFSET_IPAD as Ja, INPUT_BOTTOM_OFFSET as wo, INPUT_BOTTOM_OFFSET_EXTRA as pr, APP_SET_FOOTER_HEIGHT as Wa, FOOTER_TOP as xr, FOOTER_BOTTOM as yt, APP_SET_FOOTER_POSITION as fr, getLayoutPaddingClass as Ar, canEvaluateModels as fn, k as Ya, IconOpenAI as qa, a as Xa, IconAnthropic as Qa, i as Ka, IconGoogleGemini as ei, s as ti, x as ri, p as mr, setNewProvider as mn, TOAST_PROVIDER_CHANGED as hn, useQueryClient as ni, LOG_OUT as gn, IconProfile as oi, IconSliders as si, IconHistory as ai, IconEditUser as ii, IconChart as ci, IconInfo as li, IconBack as ui, IconSettings as di, n$1 as Io, useInViewport as pi, useServerCapabilities as fi, getMessageContaintWrapperClass as mi, UI_FOOTER_BUFFER as Eo, UI_BUTTON_SCROLL_BUFFER as hi, Logo as gi, isProbablyMobile as vi, UI_DEFAULT_MAIN_HEIGHT as vn, e as yi, appReducer as _i, useChatsHistory as bi, applyOledMode as wi, APP_SET_OLED_MODE as Ii, APP_SET_FULL_SCREEN as Ei, APP_SET_THEME_MODE as Ti, APP_SET_THEME_PALETTE as Si, UI_DEFAULT_MAIN_HEIGHT_IPHONE as ki, HistoryContext as Ci, APP_CLASSNAME as xi, y as yn, v as Ai, LOCAL_STORAGE_SORT as Ni, LOCAL_STORAGE_SEARCH as Oi, LOCAL_STORAGE_OLED_MODE as Pi, LOCAL_STORAGE_FULL_SCREEN as Ri, LOCAL_STORAGE_SORT_TIMESTAMP as Mi, LOCAL_STORAGE_SORT_TOKEN_USAGE as zi, TOAST_CACHE_ENABLED as $i, TOAST_CACHE_DISABLED as Zi } from "./index.CUIpJR2i.js";
2
+ import { ACTION_SORT as ia, e$1 as vt, ACTION_SEARCH as ca, ACTION_RESET_PROMPT as fo, ACTION_TOGGLE_PROMPT as mo, ChatContext as Te, LOCAL_STORAGE_PREFIX as xe, LOCAL_STORAGE_CHAT_ID as Ut, n as Se, useLocalStorage as Re, isDev as la, isPWAMode as ho, isTauri as bt, useChat as ua, useClickOutside as da, useInterval as pa, isProbablyiPhone as Me, useTheme as Ae, ButtonIcon as Ne, IconAddLight as fa, DEFAULT_ICON_ACTION_SIZE as ze, useUserPreferences as He, useHotkeys as Hr, IconCloseLight as ma, IconEditLight as ha, serverUrl as go, useEntitlements as Gr, IconClose as vo, useHaptic as ga, L as Cr, j as ct, Button as un, useSaveChat as va, LOCAL_STORAGE_PRIVATE_DISCLOSURE as ya, w as Gt, IconLockedLight as _a, IconUnlockedLight as ba, IconSelected as wa, IconUnSelected as Ia, IconNext as Ea, PromptsContext as Jr, IconBookSparklesLight as Ta, IconRewrite as Sa, IconProofread as ka, IconMagic as Ca, LOCAL_STORAGE_REASONING_DISCLOSURE as xa, IconLightBulbLight as Aa, IconSendLight as Na, INPUT_PLACEHOLDER_TEXT_IN_SESSION as yo, INPUT_PLACEHOLDER_TEXT_MORNING as Oa, INPUT_PLACEHOLDER_TEXT_TODAY as Pa, INPUT_PLACEHOLDER_TEXT_AFTERNOON as Ra, INPUT_PLACEHOLDER_TEXT_EVENING as Ma, INPUT_PLACEHOLDER_TEXT_NIGHT as za, INPUT_PLACEHOLDER_TEXT_DEFAULT as $a, PROMPT_EDITABLE_AREA_CLASSNAME as Za, PROMPT_CLASSNAME as Da, AppContext as xt, useUniqueId as La, j$1 as _o, ERROR_MESSAGE as Ua, o as wt, CLIPBOARD_PROMPT as dn, getHotkeyHandler as ja, U as Fa, FOOTER_DISCLAIMERS as pn, isProbablyiPad as Ba, useResizeObserver as bo, useViewportSize as Va, useVisualViewportSize as Ha, INPUT_BOTTOM_OFFSET_IPHONE as Ga, INPUT_BOTTOM_OFFSET_IPAD as Ja, INPUT_BOTTOM_OFFSET as wo, INPUT_BOTTOM_OFFSET_EXTRA as pr, APP_SET_FOOTER_HEIGHT as Wa, FOOTER_TOP as xr, FOOTER_BOTTOM as yt, APP_SET_FOOTER_POSITION as fr, getLayoutPaddingClass as Ar, canEvaluateModels as fn, k as Ya, IconOpenAI as qa, a as Xa, IconAnthropic as Qa, i as Ka, IconGoogleGemini as ei, s as ti, x as ri, p as mr, setNewProvider as mn, TOAST_PROVIDER_CHANGED as hn, useQueryClient as ni, LOG_OUT as gn, IconProfile as oi, IconSliders as si, IconHistory as ai, IconEditUser as ii, IconChart as ci, IconInfo as li, IconBack as ui, IconSettings as di, n$1 as Io, useInViewport as pi, useServerCapabilities as fi, getMessageContaintWrapperClass as mi, UI_FOOTER_BUFFER as Eo, UI_BUTTON_SCROLL_BUFFER as hi, Logo as gi, isProbablyMobile as vi, UI_DEFAULT_MAIN_HEIGHT as vn, e as yi, appReducer as _i, useChatsHistory as bi, applyOledMode as wi, APP_SET_OLED_MODE as Ii, APP_SET_FULL_SCREEN as Ei, APP_SET_THEME_MODE as Ti, APP_SET_THEME_PALETTE as Si, UI_DEFAULT_MAIN_HEIGHT_IPHONE as ki, HistoryContext as Ci, APP_CLASSNAME as xi, y as yn, v as Ai, LOCAL_STORAGE_SORT as Ni, LOCAL_STORAGE_SEARCH as Oi, LOCAL_STORAGE_OLED_MODE as Pi, LOCAL_STORAGE_FULL_SCREEN as Ri, LOCAL_STORAGE_SORT_TIMESTAMP as Mi, LOCAL_STORAGE_SORT_TOKEN_USAGE as zi, TOAST_CACHE_ENABLED as $i, TOAST_CACHE_DISABLED as Zi } from "./index.DWswwPeZ.js";
3
3
  import To, { useRef as W, useCallback as K, useSyncExternalStore as hr, useEffect as $, useMemo as le, useState as M, createContext as Wr, useContext as X, forwardRef as tt, useId as So, useLayoutEffect as nr, cloneElement as Di, Suspense as Jt, lazy as $e, useReducer as Pt } from "react";
4
4
  import R, { clsx as Ue } from "clsx";
5
5
  import { computePosition as Li, offset as ko, flip as Co, shift as xo, arrow as Ui, useMergeRefs as Yr, FloatingPortal as Nr, FloatingOverlay as ji, FloatingFocusManager as Or, useFloating as Ao, useClick as No, useDismiss as Oo, useRole as Po, useInteractions as Ro, useFloatingParentNodeId as Mo, FloatingTree as Fi, useListItem as zo, useFloatingTree as $o, useFloatingNodeId as Bi, autoUpdate as Vi, useHover as Hi, safePolygon as Gi, useListNavigation as Ji, useTypeahead as Wi, FloatingNode as _n, FloatingList as bn } from "@floating-ui/react";
@@ -5714,7 +5714,7 @@ const Us = async () => (Ir || (Ir = import(
5714
5714
  "./index.790ujKXR.js"
5715
5715
  )), Ir), js = async () => (Er || (Er = import(
5716
5716
  /* webpackChunkName: "toast-utilities" */
5717
- "./index.CUIpJR2i.js"
5717
+ "./index.DWswwPeZ.js"
5718
5718
  ).then((e) => e.utilities)), Er), Uf = async () => {
5719
5719
  try {
5720
5720
  await Promise.all([Us(), js()]);
@@ -6407,13 +6407,13 @@ const hm = ({
6407
6407
  return t(e);
6408
6408
  };
6409
6409
  /*!
6410
- @versini/ui-panel v4.0.1
6410
+ @versini/ui-panel v5.0.0
6411
6411
  © 2025 gizmette.com
6412
6412
  */
6413
6413
  try {
6414
6414
  window.__VERSINI_UI_PANEL__ || (window.__VERSINI_UI_PANEL__ = {
6415
- version: "4.0.1",
6416
- buildTime: "11/30/2025 06:52 PM EST",
6415
+ version: "5.0.0",
6416
+ buildTime: "12/04/2025 04:01 PM EST",
6417
6417
  homepage: "https://github.com/aversini/ui-components",
6418
6418
  license: "MIT"
6419
6419
  });
@@ -6427,7 +6427,7 @@ const gm = "av-messagebox", vm = "av-panel";
6427
6427
  try {
6428
6428
  window.__VERSINI_UI_MODAL__ || (window.__VERSINI_UI_MODAL__ = {
6429
6429
  version: "3.1.1",
6430
- buildTime: "11/30/2025 06:52 PM EST",
6430
+ buildTime: "12/04/2025 04:01 PM EST",
6431
6431
  homepage: "https://github.com/aversini/ui-components",
6432
6432
  license: "MIT"
6433
6433
  });
@@ -8336,38 +8336,38 @@ const Vm = [".png", ".jpg", ".jpeg", ".webp"], Hm = [".pdf", ".txt"], Gm = [
8336
8336
  }, Ih = $e(
8337
8337
  () => import(
8338
8338
  /* webpackChunkName: "modal-chunk" */
8339
- "./ProfileEntry.BCxWYk-U.js"
8339
+ "./ProfileEntry.DzrLAMah.js"
8340
8340
  ).then((e) => ({
8341
8341
  default: e.Profile
8342
8342
  }))
8343
8343
  ), Eh = $e(
8344
8344
  () => import(
8345
8345
  /* webpackChunkName: "modal-chunk" */
8346
- "./SettingsEntry.Dz5xWkzt.js"
8346
+ "./SettingsEntry.A60L_M0z.js"
8347
8347
  ).then((e) => ({
8348
8348
  default: e.SettingsPanel
8349
8349
  }))
8350
8350
  ), Th = $e(
8351
8351
  () => import(
8352
8352
  /* webpackChunkName: "modal-chunk" */
8353
- "./HistoryEntry.CJzshOwC.js"
8353
+ "./HistoryEntry.BzjaM1UY.js"
8354
8354
  ).then((e) => ({
8355
8355
  default: e.HistoryPanel
8356
8356
  }))
8357
8357
  ), Sh = $e(
8358
8358
  () => import(
8359
8359
  /* webpackChunkName: "modal-chunk" */
8360
- "./AboutEntry.DPqeOvj2.js"
8360
+ "./AboutEntry.BFLLnGme.js"
8361
8361
  ).then((e) => ({ default: e.About }))
8362
8362
  ), kh = $e(
8363
8363
  () => import(
8364
8364
  /* webpackChunkName: "modal-chunk" */
8365
- "./UsageEntry.DsiNVids.js"
8365
+ "./UsageEntry.BW445uil.js"
8366
8366
  ).then((e) => ({ default: e.Usage }))
8367
8367
  ), Ch = $e(
8368
8368
  () => import(
8369
8369
  /* webpackChunkName: "modal-chunk" */
8370
- "./UserMemoriesPanel.DLvpgKb2.js"
8370
+ "./UserMemoriesPanel.DSY53LrE.js"
8371
8371
  ).then(
8372
8372
  (e) => ({ default: e.default })
8373
8373
  )
@@ -8417,23 +8417,23 @@ const Vm = [".png", ".jpg", ".jpeg", ".webp"], Hm = [".pdf", ".txt"], Gm = [
8417
8417
  f || Promise.all([
8418
8418
  import(
8419
8419
  /* webpackChunkName: "modal-chunk" */
8420
- "./ProfileEntry.BCxWYk-U.js"
8420
+ "./ProfileEntry.DzrLAMah.js"
8421
8421
  ),
8422
8422
  import(
8423
8423
  /* webpackChunkName: "modal-chunk" */
8424
- "./SettingsEntry.Dz5xWkzt.js"
8424
+ "./SettingsEntry.A60L_M0z.js"
8425
8425
  ),
8426
8426
  import(
8427
8427
  /* webpackChunkName: "modal-chunk" */
8428
- "./HistoryEntry.CJzshOwC.js"
8428
+ "./HistoryEntry.BzjaM1UY.js"
8429
8429
  ),
8430
8430
  import(
8431
8431
  /* webpackChunkName: "modal-chunk" */
8432
- "./AboutEntry.DPqeOvj2.js"
8432
+ "./AboutEntry.BFLLnGme.js"
8433
8433
  ),
8434
8434
  import(
8435
8435
  /* webpackChunkName: "modal-chunk" */
8436
- "./UsageEntry.DsiNVids.js"
8436
+ "./UsageEntry.BW445uil.js"
8437
8437
  )
8438
8438
  ]).finally(() => m(!0));
8439
8439
  }, [f]), h = K((z) => {
@@ -8704,18 +8704,18 @@ const uo = "av-spinner", ea = ({ spinnerRef: e, mode: t = "system", type: r = "c
8704
8704
  ]
8705
8705
  });
8706
8706
  }, Ph = $e(
8707
- () => import("./index.C-VHre5f.js").then((e) => ({ default: e.Bubble }))
8707
+ () => import("./index.C_x7bW7N.js").then((e) => ({ default: e.Bubble }))
8708
8708
  ), an = (e) => /* @__PURE__ */ d(Jt, { fallback: /* @__PURE__ */ d("span", { className: "inline-block" }), children: /* @__PURE__ */ d(Ph, { ...e }) });
8709
8709
  an.displayName = "AsyncBubble";
8710
8710
  const po = 1, Rh = 150, Mh = $e(
8711
8711
  () => import(
8712
8712
  /* webpackChunkName: "LazyMessageAssistant" */
8713
- "./ChatBubbleAssistant.DUWq_aPY.js"
8713
+ "./ChatBubbleAssistant.C6I-5Orm.js"
8714
8714
  )
8715
8715
  ), zh = $e(
8716
8716
  () => import(
8717
8717
  /* webpackChunkName: "LazyMessageUser" */
8718
- "./ChatBubbleUser.Dbp907ID.js"
8718
+ "./ChatBubbleUser.C-S51g0A.js"
8719
8719
  )
8720
8720
  ), $h = To.memo(
8721
8721
  ({
@@ -1,7 +1,7 @@
1
1
  import { jsx as Pp } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as dn } from "./App.D4sxFsDg.js";
2
+ import { getDefaultExportFromCjs as dn } from "./App.CJKFrA6-.js";
3
3
  import Op, { useMemo as Lp } from "react";
4
- import { TRIMESTERS_SHORT as Ep, TRIMESTERS as on, TIME_RANGES as ls, isProbablyMobile as Ip, TIME_RANGE_LABELS as an } from "./index.CUIpJR2i.js";
4
+ import { TRIMESTERS_SHORT as Ep, TRIMESTERS as on, TIME_RANGES as ls, isProbablyMobile as Ip, TIME_RANGE_LABELS as an } from "./index.DWswwPeZ.js";
5
5
  var hs = { exports: {} }, Dp = hs.exports, nn;
6
6
  function Bp() {
7
7
  return nn || (nn = 1, (function(Ae, pe) {
@@ -1,10 +1,10 @@
1
1
  import { jsx as k } from "react/jsx-runtime";
2
- import { ChatContext as F, AppContext as O, n as P, useUserPreferences as R, convertCamelCaseToReadable as L, numberFormatter as _, pluralize as B } from "./index.CUIpJR2i.js";
3
- import { BUBBLE_FOOTER_EMPTY as G } from "./index.C-VHre5f.js";
2
+ import { ChatContext as F, AppContext as O, n as P, useUserPreferences as R, convertCamelCaseToReadable as L, numberFormatter as _, pluralize as B } from "./index.DWswwPeZ.js";
3
+ import { BUBBLE_FOOTER_EMPTY as G } from "./index.C_x7bW7N.js";
4
4
  import E from "clsx";
5
5
  import v, { useState as A, useRef as h, useEffect as S, useContext as x } from "react";
6
- import { AsyncBubble as y } from "./App.D4sxFsDg.js";
7
- import { useMarkdown as D } from "./useMarkdown.B1txc1OU.js";
6
+ import { AsyncBubble as y } from "./App.CJKFrA6-.js";
7
+ import { useMarkdown as D } from "./useMarkdown.BhQqmPx6.js";
8
8
  const N = 2, q = N * 1e3, M = "", I = (e) => e * (2 - e);
9
9
  function j(e, r = !0) {
10
10
  const [n, C] = A(0), [a, c] = A(0), [i, T] = A(e), t = h(0), s = h(0);
@@ -1,16 +1,16 @@
1
1
  import { jsx as a, Fragment as h, jsxs as S } from "react/jsx-runtime";
2
- import { Button as C } from "./index.CUIpJR2i.js";
2
+ import { Button as C } from "./index.DWswwPeZ.js";
3
3
  import { useState as _, useMemo as m, isValidElement as T, useEffect as b } from "react";
4
- import { AsyncBubble as w } from "./App.D4sxFsDg.js";
5
- import { useMarkdown as x } from "./useMarkdown.B1txc1OU.js";
4
+ import { AsyncBubble as w } from "./App.CJKFrA6-.js";
5
+ import { useMarkdown as x } from "./useMarkdown.BhQqmPx6.js";
6
6
  /*!
7
- @versini/ui-truncate v5.2.2
7
+ @versini/ui-truncate v6.0.0
8
8
  © 2025 gizmette.com
9
9
  */
10
10
  try {
11
11
  window.__VERSINI_UI_TRUNCATE__ || (window.__VERSINI_UI_TRUNCATE__ = {
12
- version: "5.2.2",
13
- buildTime: "11/30/2025 06:55 PM EST",
12
+ version: "6.0.0",
13
+ buildTime: "12/04/2025 04:03 PM EST",
14
14
  homepage: "https://github.com/aversini/ui-components",
15
15
  license: "MIT"
16
16
  });
@@ -1,9 +1,9 @@
1
1
  import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
- import { y as x, v as p, INFINITE_SCROLL_THRESHOLD as E, CARDS as I, pluralize as M, ButtonIcon as i, IconRestore as y, IconStarInCircle as U, IconStarInCircleLight as D, IconDelete as z, numberFormatter as L, isProbablyMobile as _ } from "./index.CUIpJR2i.js";
3
- import { W as P, j as $, G as m, H as B, M as a, F as f } from "./index.C39JMI7x.js";
2
+ import { y as x, v as p, INFINITE_SCROLL_THRESHOLD as E, CARDS as I, pluralize as M, ButtonIcon as i, IconRestore as y, IconStarInCircle as U, IconStarInCircleLight as D, IconDelete as z, numberFormatter as L, isProbablyMobile as _ } from "./index.DWswwPeZ.js";
3
+ import { W as P, j as $, G as m, H as B, M as a, F as f } from "./index.Bt_gWgjb.js";
4
4
  import d from "clsx";
5
5
  import { Fragment as W } from "react";
6
- import { ResponsiveTooltip as h } from "./App.D4sxFsDg.js";
6
+ import { ResponsiveTooltip as h } from "./App.CJKFrA6-.js";
7
7
  const s = {
8
8
  ROW: "row",
9
9
  TIMESTAMP: x,
@@ -1,12 +1,12 @@
1
1
  import { jsxs as c, Fragment as te, jsx as t } from "react/jsx-runtime";
2
- import { n as P, INFINITE_SCROLL_LIMIT as M, INFINITE_SCROLL_THRESHOLD as ae, HistoryContext as U, ChatContext as re, useLocalStorage as C, LOCAL_STORAGE_PREFIX as S, LOCAL_STORAGE_SORT_TIMESTAMP as se, e$1 as h, LOCAL_STORAGE_SORT_TOKEN_USAGE as oe, LOCAL_STORAGE_SORT as ne, y as b, LOCAL_STORAGE_CHAT_ID as ie, useDeleteChat as ce, useToggleFavoriteChat as le, APP_CLASSNAME as de, TOAST_CHAT_DELETED as he, graphQLRequest as me, SERVICE_TYPES as ue, ACTION_SORT as Ce, v as Se, useChatsHistory as fe, useUserChatStats as ye, LOCAL_STORAGE_SEARCH as Te, LOCAL_STORAGE_FAVORITES_ONLY as pe, HISTORY_TITLE as ge, Card as Ae, TextInput as Ee, debounce as _e, IconSearch as De, Button as z, L as ve, j as Le, ACTION_SEARCH as Oe } from "./index.CUIpJR2i.js";
3
- import { useAiChat as ke, ConfirmationPanel as Re, LazyToastContainerWrapper as be, showErrorToast as Ie, v4 as He, CHAT_RESET as xe, CHAT_SET_ATTACHMENTS as Ne, CHAT_SET_STATUS as we, Panel as Fe, Toggle as Ge } from "./App.D4sxFsDg.js";
2
+ import { n as P, INFINITE_SCROLL_LIMIT as M, INFINITE_SCROLL_THRESHOLD as ae, HistoryContext as U, ChatContext as re, useLocalStorage as C, LOCAL_STORAGE_PREFIX as S, LOCAL_STORAGE_SORT_TIMESTAMP as se, e$1 as h, LOCAL_STORAGE_SORT_TOKEN_USAGE as oe, LOCAL_STORAGE_SORT as ne, y as b, LOCAL_STORAGE_CHAT_ID as ie, useDeleteChat as ce, useToggleFavoriteChat as le, APP_CLASSNAME as de, TOAST_CHAT_DELETED as he, graphQLRequest as me, SERVICE_TYPES as ue, ACTION_SORT as Ce, v as Se, useChatsHistory as fe, useUserChatStats as ye, LOCAL_STORAGE_SEARCH as Te, LOCAL_STORAGE_FAVORITES_ONLY as pe, HISTORY_TITLE as ge, Card as Ae, TextInput as Ee, debounce as _e, IconSearch as De, Button as z, L as ve, j as Le, ACTION_SEARCH as Oe } from "./index.DWswwPeZ.js";
3
+ import { useAiChat as ke, ConfirmationPanel as Re, LazyToastContainerWrapper as be, showErrorToast as Ie, v4 as He, CHAT_RESET as xe, CHAT_SET_ATTACHMENTS as Ne, CHAT_SET_STATUS as we, Panel as Fe, Toggle as Ge } from "./App.CJKFrA6-.js";
4
4
  import Me from "clsx";
5
5
  import { useRef as x, useState as N, useContext as w, useCallback as V, Suspense as ze, lazy as Ve, useEffect as Pe } from "react";
6
6
  const Ue = Ve(
7
7
  () => import(
8
8
  /* webpackChunkName: "history-table" */
9
- "./ChatHistoryTable.BUWB5iuD.js"
9
+ "./ChatHistoryTable.B2EEHcfs.js"
10
10
  ).then((m) => ({ default: m.ChatHistoryTable }))
11
11
  ), Be = ({
12
12
  filteredHistory: m,
@@ -1,6 +1,6 @@
1
1
  import { jsxs as l, Fragment as K, jsx as e } from "react/jsx-runtime";
2
- import { n as O, useUniqueId as W, useUserPreferences as Y, useServerCapabilities as $, p as V, setUserPlan as q, Card as d, renderDataAsList as J, CARDS as n, L as h, j as i, Button as L, st as Q, isTauri as X, ButtonIcon as Z, IconPasskey as k, PROFILE_TITLE as ee } from "./index.CUIpJR2i.js";
3
- import { preloadToast as ae, showSuccessToast as se, showErrorToast as ne, ConfirmationPanel as re, LazyToastContainerWrapper as le, Panel as te } from "./App.D4sxFsDg.js";
2
+ import { preloadToast as O, showSuccessToast as W, showErrorToast as Y, ConfirmationPanel as $, LazyToastContainerWrapper as V, Panel as q } from "./App.CJKFrA6-.js";
3
+ import { n as J, useUniqueId as Q, useUserPreferences as X, useServerCapabilities as Z, p as ee, setUserPlan as ae, Card as d, renderDataAsList as se, CARDS as n, L as h, j as i, Button as L, st as ne, isTauri as re, ButtonIcon as le, IconPasskey as k, PROFILE_TITLE as te } from "./index.DWswwPeZ.js";
4
4
  import ie from "clsx";
5
5
  import { useState as m, useMemo as oe, useCallback as P } from "react";
6
6
  const ce = () => {
@@ -10,38 +10,38 @@ const ce = () => {
10
10
  registeringForPasskey: y,
11
11
  authenticationType: v,
12
12
  getAccessToken: p
13
- } = O(), [x, N] = m(null), [T, F] = m(!1), [U, C] = m(!1), [t, w] = m(null), z = W(), A = s?.username || "", {
13
+ } = J(), [x, N] = m(null), [T, F] = m(!1), [U, C] = m(!1), [t, w] = m(null), z = Q(), A = s?.username || "", {
14
14
  data: f,
15
15
  isSuccess: B,
16
16
  refetch: I
17
- } = Y({
17
+ } = X({
18
18
  user: s?.username,
19
19
  getAccessToken: p
20
- }), { data: E, isSuccess: S } = $(), R = oe(() => !S || !E?.plans ? [] : E.plans.map((a) => ({
20
+ }), { data: E, isSuccess: S } = Z(), R = oe(() => !S || !E?.plans ? [] : E.plans.map((a) => ({
21
21
  id: a.name,
22
22
  label: a.label,
23
23
  description: a.description,
24
24
  features: a.features,
25
25
  models: a.allowedModels.map(
26
- (r) => V[r] || r
26
+ (r) => ee[r] || r
27
27
  )
28
28
  })), [S, E?.plans]), b = P(() => {
29
- T || (ae(), F(!0));
29
+ T || (O(), F(!0));
30
30
  }, [T]), _ = P(async () => {
31
31
  if (!(!t || !s?.username))
32
32
  try {
33
- N(t.id), await q({
33
+ N(t.id), await ae({
34
34
  plan: t.id,
35
35
  accessToken: await p(),
36
36
  username: s.username
37
- }), await I(), await se(
37
+ }), await I(), await W(
38
38
  `${n.PLANS.SWITCH_SUCCESS} ${t.label}`,
39
39
  {
40
40
  containerId: "profile-plan-selection"
41
41
  }
42
42
  );
43
43
  } catch {
44
- await ne(n.PLANS.SWITCH_ERROR, {
44
+ await Y(n.PLANS.SWITCH_ERROR, {
45
45
  containerId: "profile-plan-selection"
46
46
  });
47
47
  } finally {
@@ -55,7 +55,7 @@ const ce = () => {
55
55
  );
56
56
  return u && A ? /* @__PURE__ */ l(K, { children: [
57
57
  /* @__PURE__ */ e(
58
- re,
58
+ $,
59
59
  {
60
60
  showConfirmation: U,
61
61
  setShowConfirmation: C,
@@ -72,14 +72,14 @@ const ce = () => {
72
72
  ] })
73
73
  }
74
74
  ),
75
- /* @__PURE__ */ e("div", { className: "av-sassy", children: /* @__PURE__ */ e(le, { containerId: "profile-plan-selection" }) }),
75
+ /* @__PURE__ */ e("div", { className: "av-sassy", children: /* @__PURE__ */ e(V, { containerId: "profile-plan-selection" }) }),
76
76
  /* @__PURE__ */ e(
77
77
  d,
78
78
  {
79
79
  header: n.PREFERENCES.TITLE,
80
80
  className: "prose-dark dark:prose-lighter",
81
81
  noBorder: !0,
82
- children: J(z, {
82
+ children: se(z, {
83
83
  [n.PREFERENCES.USERNAME]: A,
84
84
  [n.PREFERENCES.EMAIL]: s?.email || ""
85
85
  })
@@ -136,7 +136,7 @@ const ce = () => {
136
136
  ]
137
137
  }
138
138
  ),
139
- v !== Q.PASSKEY && !X() && /* @__PURE__ */ l(
139
+ v !== ne.PASSKEY && !re() && /* @__PURE__ */ l(
140
140
  d,
141
141
  {
142
142
  className: "prose-dark dark:prose-lighter mt-4",
@@ -148,7 +148,7 @@ const ce = () => {
148
148
  children: [
149
149
  /* @__PURE__ */ e("p", { children: n.PREFERENCES.PASSKEY_INSTRUCTIONS }),
150
150
  /* @__PURE__ */ e(
151
- Z,
151
+ le,
152
152
  {
153
153
  variant: "selected",
154
154
  size: "small",
@@ -166,11 +166,11 @@ const ce = () => {
166
166
  open: u,
167
167
  onOpenChange: s
168
168
  }) => /* @__PURE__ */ e(
169
- te,
169
+ q,
170
170
  {
171
171
  open: u,
172
172
  onOpenChange: s,
173
- title: ee,
173
+ title: te,
174
174
  animation: !0,
175
175
  animationType: "fade",
176
176
  blurEffect: "large",
@@ -1,7 +1,7 @@
1
1
  import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
- import { n as je, useEntitlements as Ve, AppContext as Fe, useUserPreferences as We, w as ie, useLocalStorage as de, LOCAL_STORAGE_OLED_MODE as $e, LOCAL_STORAGE_FULL_SCREEN as ze, e as ue, canEvaluateModels as He, W as Ye, getCacheInfo as qe, isServiceWorkerEnabled as Ke, SETTINGS_TITLE as Qe, Card as f, CARDS as r, V as Je, Button as v, PROMPTS_DESCRIPTION as Xe, K as me, L as Ze, j as he, applyOledMode as fe, APP_SET_OLED_MODE as Ee, APP_SET_FULL_SCREEN as Se, getCurrentGeoLocation as et, graphQLRequest as pe, handleServiceWorkerToggle as tt, SERVICE_TYPES as ge } from "./index.CUIpJR2i.js";
3
- import { useCapability as Te, Panel as ot, Toggle as l } from "./App.D4sxFsDg.js";
4
- import { TextArea as Ne } from "./index.DnKzzO2K.js";
2
+ import { n as je, useEntitlements as Ve, AppContext as Fe, useUserPreferences as We, w as ie, useLocalStorage as de, LOCAL_STORAGE_OLED_MODE as $e, LOCAL_STORAGE_FULL_SCREEN as ze, e as ue, canEvaluateModels as He, W as Ye, getCacheInfo as qe, isServiceWorkerEnabled as Ke, SETTINGS_TITLE as Qe, Card as f, CARDS as r, V as Je, Button as v, PROMPTS_DESCRIPTION as Xe, K as me, L as Ze, j as he, applyOledMode as fe, APP_SET_OLED_MODE as Ee, APP_SET_FULL_SCREEN as Se, getCurrentGeoLocation as et, graphQLRequest as pe, handleServiceWorkerToggle as tt, SERVICE_TYPES as ge } from "./index.DWswwPeZ.js";
3
+ import { useCapability as Te, Panel as ot, Toggle as l } from "./App.CJKFrA6-.js";
4
+ import { TextArea as Ne } from "./index.CBv1GCGr.js";
5
5
  import { useContext as st, useState as s, useMemo as at, useCallback as nt, useEffect as be } from "react";
6
6
  const ut = ({
7
7
  open: Ce,
@@ -1,6 +1,6 @@
1
1
  import { jsxs as d, jsx as t } from "react/jsx-runtime";
2
- import { n as X, useUniqueId as Z, useUserChatStats as J, useLocalStorage as M, LOCAL_STORAGE_PREFIX as N, LOCAL_STORAGE_USAGE_VIEW_MODE as Q, LOCAL_STORAGE_USAGE_TIME_RANGE as $, TIME_RANGES as e, LOCAL_STORAGE_USAGE_SELECTED_MONTH as ee, useChatsUsage as te, USAGE_TITLE as ne, Card as Y, CARDS as T, L as A, j as c, TIME_RANGE_LABELS as k, MONTHS as g, ButtonIcon as E, IconChart as re, IconSelected as H, IconUnSelected as P, IconPrevious as le, IconNext as se, renderDataAsList as ae, Button as ie, pluralize as D } from "./index.CUIpJR2i.js";
3
- import { Panel as oe, Menu as b, MenuGroupLabel as ce, MenuItem as x } from "./App.D4sxFsDg.js";
2
+ import { n as X, useUniqueId as Z, useUserChatStats as J, useLocalStorage as M, LOCAL_STORAGE_PREFIX as N, LOCAL_STORAGE_USAGE_VIEW_MODE as Q, LOCAL_STORAGE_USAGE_TIME_RANGE as $, TIME_RANGES as e, LOCAL_STORAGE_USAGE_SELECTED_MONTH as ee, useChatsUsage as te, USAGE_TITLE as ne, Card as Y, CARDS as T, L as A, j as c, TIME_RANGE_LABELS as k, MONTHS as g, ButtonIcon as E, IconChart as re, IconSelected as H, IconUnSelected as P, IconPrevious as le, IconNext as se, renderDataAsList as ae, Button as ie, pluralize as D } from "./index.DWswwPeZ.js";
3
+ import { Panel as oe, Menu as b, MenuGroupLabel as ce, MenuItem as x } from "./App.CJKFrA6-.js";
4
4
  import { useState as G, Suspense as de, lazy as Te } from "react";
5
5
  const a = [0, 3, 6, 9], s = {
6
6
  TOKEN: "token",
@@ -14,7 +14,7 @@ const a = [0, 3, 6, 9], s = {
14
14
  ], ue = Te(
15
15
  () => import(
16
16
  /* webpackChunkName: "chart-highcharts" */
17
- "./Chart.F67KdFWj.js"
17
+ "./Chart.CSWhd9RG.js"
18
18
  )
19
19
  ), me = ({
20
20
  open: U,
@@ -1,10 +1,10 @@
1
1
  import { jsx as e, jsxs as r, Fragment as L } from "react/jsx-runtime";
2
- import { L as E, j as f, Button as b, n as ke, useLocalStorage as Q, LOCAL_STORAGE_PREFIX as Z, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, e$1 as l, LOCAL_STORAGE_SORT_MEMORY_COLUMN as Te, useUserMemories as Se, useExpiredMemories as ve, useDeleteMemory as De, useDeleteAllActiveMemories as be, useDeleteAllExpiredMemories as Me, useUpdateMemory as Ee, useRestoreMemory as Re, ButtonIcon as O, IconEdit as Ie, IconDelete as ee, IconRestore as Le } from "./index.CUIpJR2i.js";
3
- import { Panel as se, Toggle as _, ConfirmationPanel as te, ResponsiveTooltip as z } from "./App.D4sxFsDg.js";
4
- import { W as re, j as ie, G as D, M as s, F as B, H as oe, D as ne } from "./index.C39JMI7x.js";
2
+ import { L as E, j as f, Button as b, n as ke, useLocalStorage as Q, LOCAL_STORAGE_PREFIX as Z, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, e$1 as l, LOCAL_STORAGE_SORT_MEMORY_COLUMN as Te, useUserMemories as Se, useExpiredMemories as ve, useDeleteMemory as De, useDeleteAllActiveMemories as be, useDeleteAllExpiredMemories as Me, useUpdateMemory as Ee, useRestoreMemory as Re, ButtonIcon as O, IconEdit as Ie, IconDelete as ee, IconRestore as Le } from "./index.DWswwPeZ.js";
3
+ import { Panel as se, Toggle as _, ConfirmationPanel as te, ResponsiveTooltip as z } from "./App.CJKFrA6-.js";
4
+ import { W as re, j as ie, G as D, M as s, F as B, H as oe, D as ne } from "./index.Bt_gWgjb.js";
5
5
  import A from "clsx";
6
6
  import { useState as y, useEffect as Oe, useRef as le } from "react";
7
- import { TextArea as _e } from "./index.DnKzzO2K.js";
7
+ import { TextArea as _e } from "./index.CBv1GCGr.js";
8
8
  const ze = ({
9
9
  open: C,
10
10
  onOpenChange: M,
@@ -1,5 +1,5 @@
1
- import { find as Aa, parse as Ft, parse$1 as Ht, normalize as Pt, html as Ta, svg as Ba, visitParents as Na, SKIP as Da } from "./useMarkdown.B1txc1OU.js";
2
- import { toText as Ca } from "./index.bxm-FTXI.js";
1
+ import { find as Aa, parse as Ft, parse$1 as Ht, normalize as Pt, html as Ta, svg as Ba, visitParents as Na, SKIP as Da } from "./useMarkdown.BhQqmPx6.js";
2
+ import { toText as Ca } from "./index.D9-iukox.js";
3
3
  const Gt = /[#.]/g;
4
4
  function qa(r, e) {
5
5
  const t = r || "", a = {};