@versini/sassysaint 8.86.3 → 8.86.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/chunks/{AboutChangelog.D9C-crhs.js → AboutChangelog.DNX3R5Um.js} +3 -3
  2. package/dist/chunks/{AboutEntry.gb7T1uuv.js → AboutEntry.BAi7BZgQ.js} +5 -5
  3. package/dist/chunks/{App.CPKurvKa.js → App.DGAnaYX0.js} +16 -16
  4. package/dist/chunks/{Chart.Dacr0Jha.js → Chart.Co0eN7kW.js} +2 -2
  5. package/dist/chunks/{ChatBubbleAssistant.C2UUgbz_.js → ChatBubbleAssistant.Buokq_00.js} +4 -4
  6. package/dist/chunks/{ChatBubbleUser.CmXTMoUW.js → ChatBubbleUser.JR1jjlAQ.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.C2lH7ZKm.js → ChatHistoryTable.BGNfS7rs.js} +3 -3
  8. package/dist/chunks/{HistoryEntry.BhvcvUpR.js → HistoryEntry.qpxw_UBF.js} +3 -3
  9. package/dist/chunks/{ProfileEntry.BpXmORNo.js → ProfileEntry.B0QU2Scw.js} +2 -2
  10. package/dist/chunks/{SettingsEntry.BCLV0zJx.js → SettingsEntry.B0i7S6fk.js} +3 -3
  11. package/dist/chunks/{UsageEntry.6uxxvwlH.js → UsageEntry.CcRg42BR.js} +3 -3
  12. package/dist/chunks/{UserMemoriesPanel.Ck4JMobB.js → UserMemoriesPanel.CHahgKsg.js} +4 -4
  13. package/dist/chunks/{index.Cep-48BX.js → index.40_u6dTS.js} +1 -1
  14. package/dist/chunks/{index.D59YiPiD.js → index.4UHv4tfD.js} +1 -1
  15. package/dist/chunks/{index.CKFbvzVG.js → index.B9kFoVXe.js} +1 -1
  16. package/dist/chunks/{index.Bm-jT2Wc.js → index.BG6LSFck.js} +1 -1
  17. package/dist/chunks/{index.OitGR2Vu.js → index.BuhBkBc-.js} +1 -1
  18. package/dist/chunks/{index.Co-p3lu_.js → index.CO4rogFz.js} +3 -3
  19. package/dist/chunks/{index.WW9JCvG2.js → index.DUp2Ki4S.js} +2 -2
  20. package/dist/chunks/{index.CT4gidiF.js → index.c131dt9j.js} +1 -1
  21. package/dist/chunks/{index.7N6yJRxV.js → index.gAWkmR1U.js} +1 -1
  22. package/dist/chunks/{useMarkdown.wW6OCwOp.js → useMarkdown.BxvW4gXr.js} +6 -6
  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
@@ -1,8 +1,8 @@
1
1
  import { jsxs as s, jsx as r } from "react/jsx-runtime";
2
- import { useInViewport as c } from "./index.Cep-48BX.js";
2
+ import { useInViewport as c } from "./index.40_u6dTS.js";
3
3
  import { useRef as n, useCallback as f, useLayoutEffect as u } from "react";
4
- import { ButtonScroll as p } from "./App.CPKurvKa.js";
5
- import { useMarkdown as d } from "./useMarkdown.wW6OCwOp.js";
4
+ import { ButtonScroll as p } from "./App.DGAnaYX0.js";
5
+ import { useMarkdown as d } from "./useMarkdown.BxvW4gXr.js";
6
6
  const x = ({ content: o }) => {
7
7
  const [l, t] = d(), { ref: i, inViewport: a } = c(), e = n(null), m = f(() => {
8
8
  e.current && e.current.scrollIntoView({
@@ -1,12 +1,12 @@
1
1
  import { jsxs as b, Fragment as l, jsx as e } from "react/jsx-runtime";
2
- import { Panel as g } from "./App.CPKurvKa.js";
3
- import { useUniqueId as d, useServerCapabilities as A, useChangelogs as I, Card as t, renderDataAsList as c, CARDS as r, pluralize as B, isProbablyMobile as E, ABOUT_TITLE as S } from "./index.Cep-48BX.js";
2
+ import { Panel as g } from "./App.DGAnaYX0.js";
3
+ import { useUniqueId as d, useServerCapabilities as A, useChangelogs as I, Card as t, renderDataAsList as c, CARDS as r, pluralize as B, isProbablyMobile as E, ABOUT_TITLE as S } from "./index.40_u6dTS.js";
4
4
  import O from "clsx";
5
5
  import { Suspense as C, lazy as U } from "react";
6
6
  const L = U(
7
7
  () => import(
8
8
  /* webpackChunkName: "LazyAboutChangelog" */
9
- "./AboutChangelog.D9C-crhs.js"
9
+ "./AboutChangelog.DNX3R5Um.js"
10
10
  )
11
11
  ), N = () => {
12
12
  const s = d(), i = d(), { data: a, isSuccess: m } = A(), { data: T, isSuccess: h } = I(), u = a?.version || "", o = a?.models || [], p = a?.buildTime || "";
@@ -18,8 +18,8 @@ const L = U(
18
18
  className: "prose-dark dark:prose-lighter mb-4",
19
19
  noBorder: !0,
20
20
  children: c(s, {
21
- [r.ABOUT.VERSION]: "8.86.3",
22
- [r.ABOUT.BUILD_TIMESTAMP]: "11/16/2025 07:15 PM EST"
21
+ [r.ABOUT.VERSION]: "8.86.4",
22
+ [r.ABOUT.BUILD_TIMESTAMP]: "11/16/2025 07:29 PM EST"
23
23
  })
24
24
  }
25
25
  ),
@@ -1,5 +1,5 @@
1
1
  import { jsx as d, jsxs as A, Fragment as Ne } from "react/jsx-runtime";
2
- import { ACTION_SORT as oa, e$1 as vt, ACTION_SEARCH as sa, ACTION_RESET_PROMPT as po, ACTION_TOGGLE_PROMPT as fo, useLocalStorage as Ce, LOCAL_STORAGE_PREFIX as $e, LOCAL_STORAGE_CHAT_ID as ho, n as he, isDev as aa, isPWAMode as mo, isTauri as bt, useChat as ia, useClickOutside as ca, useInterval as la, useTheme as Ae, ButtonIcon as Ie, IconAddLight as ua, DEFAULT_ICON_ACTION_SIZE as xe, ChatContext as Ee, useUserPreferences as Be, useHotkeys as jr, isProbablyiPhone as Ze, IconCloseLight as da, IconEditLight as pa, serverUrl as go, useEntitlements as Fr, IconClose as vo, useHaptic as fa, L as Tr, j$1 as it, Button as sn, LOCAL_STORAGE_PRIVATE_DISCLOSURE as ha, j as Jt, IconLockedLight as ma, IconUnlockedLight as ga, IconSelected as va, IconUnSelected as ya, IconNext as _a, PromptsContext as Br, IconBookSparklesLight as ba, IconRewrite as wa, IconProofread as Ia, IconMagic as Ea, LOCAL_STORAGE_REASONING_DISCLOSURE as Ta, IconLightBulbLight as Sa, useSaveChat as ka, IconDownloadLight as Ca, TOAST_CHAT_SAVED as xa, IconSendLight as Aa, PROMPT_EDITABLE_AREA_CLASSNAME as Na, PROMPT_CLASSNAME as Oa, AppContext as Ct, HistoryContext as yo, useChatsHistory as Pa, useUniqueId as za, q as _o, ERROR_MESSAGE as Ra, o as wt, CLIPBOARD_PROMPT as an, INPUT_PLACEHOLDER_TEXT_MOBILE as cn, INPUT_PLACEHOLDER_TEXT_ENTER as ln, INPUT_PLACEHOLDER_TEXT_CMD_ENTER as un, isProbablyMobile as Sr, getHotkeyHandler as Ma, Y as $a, FOOTER_DISCLAIMERS as dn, useViewportSize as Za, useVisualViewportSize as Da, useResizeObserver as bo, isProbablyiPad as La, INPUT_BOTTOM_OFFSET_EXTRA as pn, INPUT_BOTTOM_OFFSET_IPHONE as Ua, INPUT_BOTTOM_OFFSET_IPAD as ja, INPUT_BOTTOM_OFFSET as wo, APP_SET_FOOTER_HEIGHT as Fa, FOOTER_TOP as kr, FOOTER_BOTTOM as yt, APP_SET_FOOTER_POSITION as ur, getLayoutPaddingClass as Cr, canEvaluateModels as fn, X as Ba, IconOpenAI as Va, l as Ha, IconAnthropic as Ga, _ as Ja, IconGoogleGemini as Wa, R as Ya, z as qa, H as dr, setNewProvider as hn, TOAST_PROVIDER_CHANGED as mn, useQueryClient as Xa, LOG_OUT as gn, IconProfile as Ka, IconSliders as Qa, IconHistory as ei, IconEditUser as ti, IconChart as ri, IconInfo as ni, IconBack as oi, IconSettings as si, i as Io, O as vn, useInViewport as ai, useServerCapabilities as ii, getMessageContaintWrapperClass as ci, UI_FOOTER_BUFFER as Eo, UI_BUTTON_SCROLL_BUFFER as li, Logo as ui, UI_DEFAULT_MAIN_HEIGHT as yn, e as di, appReducer as pi, applyOledMode as fi, APP_SET_OLED_MODE as hi, APP_SET_FULL_SCREEN as mi, APP_SET_THEME_MODE as gi, APP_SET_THEME_PALETTE as vi, UI_DEFAULT_MAIN_HEIGHT_IPHONE as yi, APP_CLASSNAME as _i, B as _n, k as bi, LOCAL_STORAGE_SORT as wi, LOCAL_STORAGE_SEARCH as Ii, LOCAL_STORAGE_OLED_MODE as Ei, LOCAL_STORAGE_FULL_SCREEN as Ti, LOCAL_STORAGE_SORT_TIMESTAMP as Si, LOCAL_STORAGE_SORT_TOKEN_USAGE as ki, TOAST_CACHE_ENABLED as Ci, TOAST_CACHE_DISABLED as xi } from "./index.Cep-48BX.js";
2
+ import { ACTION_SORT as oa, e$1 as vt, ACTION_SEARCH as sa, ACTION_RESET_PROMPT as po, ACTION_TOGGLE_PROMPT as fo, useLocalStorage as Ce, LOCAL_STORAGE_PREFIX as $e, LOCAL_STORAGE_CHAT_ID as ho, n as he, isDev as aa, isPWAMode as mo, isTauri as bt, useChat as ia, useClickOutside as ca, useInterval as la, useTheme as Ae, ButtonIcon as Ie, IconAddLight as ua, DEFAULT_ICON_ACTION_SIZE as xe, ChatContext as Ee, useUserPreferences as Be, useHotkeys as jr, isProbablyiPhone as Ze, IconCloseLight as da, IconEditLight as pa, serverUrl as go, useEntitlements as Fr, IconClose as vo, useHaptic as fa, L as Tr, j$1 as it, Button as sn, LOCAL_STORAGE_PRIVATE_DISCLOSURE as ha, j as Jt, IconLockedLight as ma, IconUnlockedLight as ga, IconSelected as va, IconUnSelected as ya, IconNext as _a, PromptsContext as Br, IconBookSparklesLight as ba, IconRewrite as wa, IconProofread as Ia, IconMagic as Ea, LOCAL_STORAGE_REASONING_DISCLOSURE as Ta, IconLightBulbLight as Sa, useSaveChat as ka, IconDownloadLight as Ca, TOAST_CHAT_SAVED as xa, IconSendLight as Aa, PROMPT_EDITABLE_AREA_CLASSNAME as Na, PROMPT_CLASSNAME as Oa, AppContext as Ct, HistoryContext as yo, useChatsHistory as Pa, useUniqueId as za, q as _o, ERROR_MESSAGE as Ra, o as wt, CLIPBOARD_PROMPT as an, INPUT_PLACEHOLDER_TEXT_MOBILE as cn, INPUT_PLACEHOLDER_TEXT_ENTER as ln, INPUT_PLACEHOLDER_TEXT_CMD_ENTER as un, isProbablyMobile as Sr, getHotkeyHandler as Ma, Y as $a, FOOTER_DISCLAIMERS as dn, useViewportSize as Za, useVisualViewportSize as Da, useResizeObserver as bo, isProbablyiPad as La, INPUT_BOTTOM_OFFSET_EXTRA as pn, INPUT_BOTTOM_OFFSET_IPHONE as Ua, INPUT_BOTTOM_OFFSET_IPAD as ja, INPUT_BOTTOM_OFFSET as wo, APP_SET_FOOTER_HEIGHT as Fa, FOOTER_TOP as kr, FOOTER_BOTTOM as yt, APP_SET_FOOTER_POSITION as ur, getLayoutPaddingClass as Cr, canEvaluateModels as fn, X as Ba, IconOpenAI as Va, l as Ha, IconAnthropic as Ga, _ as Ja, IconGoogleGemini as Wa, R as Ya, z as qa, H as dr, setNewProvider as hn, TOAST_PROVIDER_CHANGED as mn, useQueryClient as Xa, LOG_OUT as gn, IconProfile as Ka, IconSliders as Qa, IconHistory as ei, IconEditUser as ti, IconChart as ri, IconInfo as ni, IconBack as oi, IconSettings as si, i as Io, O as vn, useInViewport as ai, useServerCapabilities as ii, getMessageContaintWrapperClass as ci, UI_FOOTER_BUFFER as Eo, UI_BUTTON_SCROLL_BUFFER as li, Logo as ui, UI_DEFAULT_MAIN_HEIGHT as yn, e as di, appReducer as pi, applyOledMode as fi, APP_SET_OLED_MODE as hi, APP_SET_FULL_SCREEN as mi, APP_SET_THEME_MODE as gi, APP_SET_THEME_PALETTE as vi, UI_DEFAULT_MAIN_HEIGHT_IPHONE as yi, APP_CLASSNAME as _i, B as _n, k as bi, LOCAL_STORAGE_SORT as wi, LOCAL_STORAGE_SEARCH as Ii, LOCAL_STORAGE_OLED_MODE as Ei, LOCAL_STORAGE_FULL_SCREEN as Ti, LOCAL_STORAGE_SORT_TIMESTAMP as Si, LOCAL_STORAGE_SORT_TOKEN_USAGE as ki, TOAST_CACHE_ENABLED as Ci, TOAST_CACHE_DISABLED as xi } from "./index.40_u6dTS.js";
3
3
  import To, { useRef as W, useCallback as q, useSyncExternalStore as pr, useEffect as $, useState as M, createContext as Vr, useContext as X, forwardRef as Qe, cloneElement as Ai, useId as So, useLayoutEffect as Hr, useMemo as we, Suspense as Wt, lazy as Pe, useReducer as Rt } from "react";
4
4
  import R, { clsx as De } from "clsx";
5
5
  import { computePosition as Ni, offset as ko, flip as Co, shift as xo, arrow as Oi, useMergeRefs as Gr, FloatingPortal as xr, FloatingOverlay as Pi, FloatingFocusManager as Ar, useFloating as Ao, useClick as No, useDismiss as Oo, useRole as Po, useInteractions as zo, useFloatingParentNodeId as Ro, FloatingTree as zi, useListItem as Mo, useFloatingTree as $o, useFloatingNodeId as Ri, autoUpdate as Mi, useHover as $i, safePolygon as Zi, useListNavigation as Di, useTypeahead as Li, FloatingNode as bn, FloatingList as wn } from "@floating-ui/react";
@@ -5700,7 +5700,7 @@ const Ls = async () => (_r || (_r = import(
5700
5700
  "./index.790ujKXR.js"
5701
5701
  )), _r), Us = async () => (br || (br = import(
5702
5702
  /* webpackChunkName: "toast-utilities" */
5703
- "./index.Cep-48BX.js"
5703
+ "./index.40_u6dTS.js"
5704
5704
  ).then((e) => e.utilities)), br), zf = async () => {
5705
5705
  try {
5706
5706
  await Promise.all([Ls(), Us()]);
@@ -8290,38 +8290,38 @@ const kh = ({ className: e, ...t }) => {
8290
8290
  }, em = Pe(
8291
8291
  () => import(
8292
8292
  /* webpackChunkName: "modal-chunk" */
8293
- "./ProfileEntry.BpXmORNo.js"
8293
+ "./ProfileEntry.B0QU2Scw.js"
8294
8294
  ).then((e) => ({
8295
8295
  default: e.Profile
8296
8296
  }))
8297
8297
  ), tm = Pe(
8298
8298
  () => import(
8299
8299
  /* webpackChunkName: "modal-chunk" */
8300
- "./SettingsEntry.BCLV0zJx.js"
8300
+ "./SettingsEntry.B0i7S6fk.js"
8301
8301
  ).then((e) => ({
8302
8302
  default: e.SettingsPanel
8303
8303
  }))
8304
8304
  ), rm = Pe(
8305
8305
  () => import(
8306
8306
  /* webpackChunkName: "modal-chunk" */
8307
- "./HistoryEntry.BhvcvUpR.js"
8307
+ "./HistoryEntry.qpxw_UBF.js"
8308
8308
  ).then((e) => ({
8309
8309
  default: e.HistoryPanel
8310
8310
  }))
8311
8311
  ), nm = Pe(
8312
8312
  () => import(
8313
8313
  /* webpackChunkName: "modal-chunk" */
8314
- "./AboutEntry.gb7T1uuv.js"
8314
+ "./AboutEntry.BAi7BZgQ.js"
8315
8315
  ).then((e) => ({ default: e.About }))
8316
8316
  ), om = Pe(
8317
8317
  () => import(
8318
8318
  /* webpackChunkName: "modal-chunk" */
8319
- "./UsageEntry.6uxxvwlH.js"
8319
+ "./UsageEntry.CcRg42BR.js"
8320
8320
  ).then((e) => ({ default: e.Usage }))
8321
8321
  ), sm = Pe(
8322
8322
  () => import(
8323
8323
  /* webpackChunkName: "modal-chunk" */
8324
- "./UserMemoriesPanel.Ck4JMobB.js"
8324
+ "./UserMemoriesPanel.CHahgKsg.js"
8325
8325
  ).then(
8326
8326
  (e) => ({ default: e.default })
8327
8327
  )
@@ -8371,23 +8371,23 @@ const kh = ({ className: e, ...t }) => {
8371
8371
  h || Promise.all([
8372
8372
  import(
8373
8373
  /* webpackChunkName: "modal-chunk" */
8374
- "./ProfileEntry.BpXmORNo.js"
8374
+ "./ProfileEntry.B0QU2Scw.js"
8375
8375
  ),
8376
8376
  import(
8377
8377
  /* webpackChunkName: "modal-chunk" */
8378
- "./SettingsEntry.BCLV0zJx.js"
8378
+ "./SettingsEntry.B0i7S6fk.js"
8379
8379
  ),
8380
8380
  import(
8381
8381
  /* webpackChunkName: "modal-chunk" */
8382
- "./HistoryEntry.BhvcvUpR.js"
8382
+ "./HistoryEntry.qpxw_UBF.js"
8383
8383
  ),
8384
8384
  import(
8385
8385
  /* webpackChunkName: "modal-chunk" */
8386
- "./AboutEntry.gb7T1uuv.js"
8386
+ "./AboutEntry.BAi7BZgQ.js"
8387
8387
  ),
8388
8388
  import(
8389
8389
  /* webpackChunkName: "modal-chunk" */
8390
- "./UsageEntry.6uxxvwlH.js"
8390
+ "./UsageEntry.CcRg42BR.js"
8391
8391
  )
8392
8392
  ]).finally(() => f(!0));
8393
8393
  }, [h]), m = q((U) => {
@@ -8657,18 +8657,18 @@ const lo = "av-spinner", Xs = ({ spinnerRef: e, mode: t = "system", type: r = "c
8657
8657
  ]
8658
8658
  });
8659
8659
  }, um = Pe(
8660
- () => import("./index.OitGR2Vu.js").then((e) => ({ default: e.Bubble }))
8660
+ () => import("./index.BuhBkBc-.js").then((e) => ({ default: e.Bubble }))
8661
8661
  ), rn = (e) => /* @__PURE__ */ d(Wt, { fallback: /* @__PURE__ */ d("span", { className: "inline-block" }), children: /* @__PURE__ */ d(um, { ...e }) });
8662
8662
  rn.displayName = "AsyncBubble";
8663
8663
  const uo = 1, dm = 150, pm = Pe(
8664
8664
  () => import(
8665
8665
  /* webpackChunkName: "LazyMessageAssistant" */
8666
- "./ChatBubbleAssistant.C2UUgbz_.js"
8666
+ "./ChatBubbleAssistant.Buokq_00.js"
8667
8667
  )
8668
8668
  ), fm = Pe(
8669
8669
  () => import(
8670
8670
  /* webpackChunkName: "LazyMessageUser" */
8671
- "./ChatBubbleUser.CmXTMoUW.js"
8671
+ "./ChatBubbleUser.JR1jjlAQ.js"
8672
8672
  )
8673
8673
  ), hm = To.memo(
8674
8674
  ({
@@ -1,7 +1,7 @@
1
1
  import { jsx as Ap } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as ln } from "./App.CPKurvKa.js";
2
+ import { getDefaultExportFromCjs as ln } from "./App.DGAnaYX0.js";
3
3
  import Cp, { useState as Pp, useEffect as Op } from "react";
4
- import { TRIMESTERS as rn, TRIMESTERS_SHORT as Lp, isProbablyMobile as Ep } from "./index.Cep-48BX.js";
4
+ import { TRIMESTERS as rn, TRIMESTERS_SHORT as Lp, isProbablyMobile as Ep } from "./index.40_u6dTS.js";
5
5
  var ls = { exports: {} }, Ip = ls.exports, on;
6
6
  function Dp() {
7
7
  return on || (on = 1, (function(we, he) {
@@ -1,10 +1,10 @@
1
1
  import { jsx as x } from "react/jsx-runtime";
2
- import { ChatContext as P, AppContext as R, n as y, useUserPreferences as L, convertCamelCaseToReadable as _, numberFormatter as v, pluralize as B, O as G } from "./index.Cep-48BX.js";
3
- import { BUBBLE_FOOTER_EMPTY as D } from "./index.OitGR2Vu.js";
2
+ import { ChatContext as P, AppContext as R, n as y, useUserPreferences as L, convertCamelCaseToReadable as _, numberFormatter as v, pluralize as B, O as G } from "./index.40_u6dTS.js";
3
+ import { BUBBLE_FOOTER_EMPTY as D } from "./index.BuhBkBc-.js";
4
4
  import U from "clsx";
5
5
  import j, { useState as M, useRef as E, useEffect as O, useContext as S } from "react";
6
- import { AsyncBubble as k } from "./App.CPKurvKa.js";
7
- import { useMarkdown as q } from "./useMarkdown.wW6OCwOp.js";
6
+ import { AsyncBubble as k } from "./App.DGAnaYX0.js";
7
+ import { useMarkdown as q } from "./useMarkdown.BxvW4gXr.js";
8
8
  const I = 2, W = I * 1e3, b = "", V = (e) => e * (2 - e);
9
9
  function Y(e, n = !0) {
10
10
  const [a, d] = M(0), [i, p] = M(0), [t, C] = M(e), r = E(0), s = E(0);
@@ -1,8 +1,8 @@
1
1
  import { jsx as a, Fragment as h, jsxs as S } from "react/jsx-runtime";
2
- import { Button as C } from "./index.Cep-48BX.js";
2
+ import { Button as C } from "./index.40_u6dTS.js";
3
3
  import { useState as _, useMemo as m, isValidElement as T, useEffect as b } from "react";
4
- import { AsyncBubble as w } from "./App.CPKurvKa.js";
5
- import { useMarkdown as x } from "./useMarkdown.wW6OCwOp.js";
4
+ import { AsyncBubble as w } from "./App.DGAnaYX0.js";
5
+ import { useMarkdown as x } from "./useMarkdown.BxvW4gXr.js";
6
6
  /*!
7
7
  @versini/ui-truncate v5.2.1
8
8
  © 2025 gizmette.com
@@ -1,7 +1,7 @@
1
1
  import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
- import { B as x, k as u, INFINITE_SCROLL_THRESHOLD as v, CARDS as I, pluralize as M, ButtonIcon as i, IconRestore as U, IconStarInCircle as y, IconStarInCircleLight as D, IconDelete as z, numberFormatter as L, isProbablyMobile as _ } from "./index.Cep-48BX.js";
3
- import { W as B, j as P, G as m, H as $, M as a, F as f } from "./index.Bm-jT2Wc.js";
4
- import { Tooltip as d } from "./App.CPKurvKa.js";
2
+ import { B as x, k as u, INFINITE_SCROLL_THRESHOLD as v, CARDS as I, pluralize as M, ButtonIcon as i, IconRestore as U, IconStarInCircle as y, IconStarInCircleLight as D, IconDelete as z, numberFormatter as L, isProbablyMobile as _ } from "./index.40_u6dTS.js";
3
+ import { W as B, j as P, G as m, H as $, M as a, F as f } from "./index.BG6LSFck.js";
4
+ import { Tooltip as d } from "./App.DGAnaYX0.js";
5
5
  import h from "clsx";
6
6
  import { Fragment as W } from "react";
7
7
  const s = {
@@ -1,12 +1,12 @@
1
1
  import { jsxs as c, Fragment as ee, jsx as t } from "react/jsx-runtime";
2
- import { n as V, INFINITE_SCROLL_LIMIT as G, INFINITE_SCROLL_THRESHOLD as te, HistoryContext as U, ChatContext as re, useLocalStorage as y, LOCAL_STORAGE_PREFIX as p, LOCAL_STORAGE_SORT_TIMESTAMP as ae, e$1 as h, LOCAL_STORAGE_SORT_TOKEN_USAGE as se, LOCAL_STORAGE_SORT as oe, B as v, useDeleteChat as ne, useToggleFavoriteChat as ie, APP_CLASSNAME as ce, TOAST_CHAT_DELETED as le, graphQLRequest as de, SERVICE_TYPES as he, ACTION_SORT as me, k as ue, useChatsHistory as Ce, useUserChatStats as Se, LOCAL_STORAGE_SEARCH as fe, LOCAL_STORAGE_FAVORITES_ONLY as ye, HISTORY_TITLE as pe, Card as ge, TextInput as Te, debounce as Ae, IconSearch as Ee, Button as M, L as De, j$1 as _e, ACTION_SEARCH as ke } from "./index.Cep-48BX.js";
3
- import { useAiChat as Le, ConfirmationPanel as ve, LazyToastContainerWrapper as Oe, showErrorToast as be, CHAT_SET_STATUS as Re, Panel as Ie, Toggle as xe } from "./App.CPKurvKa.js";
2
+ import { n as V, INFINITE_SCROLL_LIMIT as G, INFINITE_SCROLL_THRESHOLD as te, HistoryContext as U, ChatContext as re, useLocalStorage as y, LOCAL_STORAGE_PREFIX as p, LOCAL_STORAGE_SORT_TIMESTAMP as ae, e$1 as h, LOCAL_STORAGE_SORT_TOKEN_USAGE as se, LOCAL_STORAGE_SORT as oe, B as v, useDeleteChat as ne, useToggleFavoriteChat as ie, APP_CLASSNAME as ce, TOAST_CHAT_DELETED as le, graphQLRequest as de, SERVICE_TYPES as he, ACTION_SORT as me, k as ue, useChatsHistory as Ce, useUserChatStats as Se, LOCAL_STORAGE_SEARCH as fe, LOCAL_STORAGE_FAVORITES_ONLY as ye, HISTORY_TITLE as pe, Card as ge, TextInput as Te, debounce as Ae, IconSearch as Ee, Button as M, L as De, j$1 as _e, ACTION_SEARCH as ke } from "./index.40_u6dTS.js";
3
+ import { useAiChat as Le, ConfirmationPanel as ve, LazyToastContainerWrapper as Oe, showErrorToast as be, CHAT_SET_STATUS as Re, Panel as Ie, Toggle as xe } from "./App.DGAnaYX0.js";
4
4
  import Ne from "clsx";
5
5
  import { useRef as N, useState as H, useContext as w, useCallback as P, Suspense as He, lazy as we, useEffect as Fe } from "react";
6
6
  const ze = we(
7
7
  () => import(
8
8
  /* webpackChunkName: "history-table" */
9
- "./ChatHistoryTable.C2lH7ZKm.js"
9
+ "./ChatHistoryTable.BGNfS7rs.js"
10
10
  ).then((m) => ({ default: m.ChatHistoryTable }))
11
11
  ), Ge = ({
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 $, H as V, setUserPlan as q, Card as d, renderDataAsList as J, CARDS as n, L as h, j$1 as i, Button as L, it as Q, isTauri as X, ButtonIcon as Z, IconPasskey as g, PROFILE_TITLE as ee } from "./index.Cep-48BX.js";
3
- import { preloadToast as ae, showSuccessToast as se, showErrorToast as ne, ConfirmationPanel as re, LazyToastContainerWrapper as le, Panel as te } from "./App.CPKurvKa.js";
2
+ import { n as O, useUniqueId as W, useUserPreferences as Y, useServerCapabilities as $, H as V, setUserPlan as q, Card as d, renderDataAsList as J, CARDS as n, L as h, j$1 as i, Button as L, it as Q, isTauri as X, ButtonIcon as Z, IconPasskey as g, PROFILE_TITLE as ee } from "./index.40_u6dTS.js";
3
+ import { preloadToast as ae, showSuccessToast as se, showErrorToast as ne, ConfirmationPanel as re, LazyToastContainerWrapper as le, Panel as te } from "./App.DGAnaYX0.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 = () => {
@@ -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, j as ie, useLocalStorage as de, LOCAL_STORAGE_OLED_MODE as $e, LOCAL_STORAGE_FULL_SCREEN as ze, e as ue, canEvaluateModels as He, Z as Ye, getCacheInfo as qe, isServiceWorkerEnabled as Ke, SETTINGS_TITLE as Qe, Card as E, CARDS as r, w as Ze, Button as v, PROMPTS_DESCRIPTION as Je, ee as me, L as Xe, j$1 as he, applyOledMode as Ee, APP_SET_OLED_MODE as fe, APP_SET_FULL_SCREEN as Se, getCurrentGeoLocation as et, graphQLRequest as pe, handleServiceWorkerToggle as tt, SERVICE_TYPES as ge } from "./index.Cep-48BX.js";
3
- import { useCapability as be, Panel as ot, Toggle as l } from "./App.CPKurvKa.js";
4
- import { TextArea as Te } from "./index.CT4gidiF.js";
2
+ import { n as je, useEntitlements as Ve, AppContext as Fe, useUserPreferences as We, j as ie, useLocalStorage as de, LOCAL_STORAGE_OLED_MODE as $e, LOCAL_STORAGE_FULL_SCREEN as ze, e as ue, canEvaluateModels as He, Z as Ye, getCacheInfo as qe, isServiceWorkerEnabled as Ke, SETTINGS_TITLE as Qe, Card as E, CARDS as r, w as Ze, Button as v, PROMPTS_DESCRIPTION as Je, ee as me, L as Xe, j$1 as he, applyOledMode as Ee, APP_SET_OLED_MODE as fe, APP_SET_FULL_SCREEN as Se, getCurrentGeoLocation as et, graphQLRequest as pe, handleServiceWorkerToggle as tt, SERVICE_TYPES as ge } from "./index.40_u6dTS.js";
3
+ import { useCapability as be, Panel as ot, Toggle as l } from "./App.DGAnaYX0.js";
4
+ import { TextArea as Te } from "./index.c131dt9j.js";
5
5
  import { useContext as at, useState as a, useMemo as st, useCallback as nt, useEffect as Ne } from "react";
6
6
  const ut = ({
7
7
  open: Ce,
@@ -1,13 +1,13 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { n as f, useUniqueId as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, Card as g, renderDataAsList as P, CARDS as a, L as p, j$1 as A, Button as i, pluralize as m } from "./index.Cep-48BX.js";
3
- import { Panel as j } from "./App.CPKurvKa.js";
2
+ import { n as f, useUniqueId as v, useUserChatStats as _, useChatsUsage as z, USAGE_TITLE as B, Card as g, renderDataAsList as P, CARDS as a, L as p, j$1 as A, Button as i, pluralize as m } from "./index.40_u6dTS.js";
3
+ import { Panel as j } from "./App.DGAnaYX0.js";
4
4
  import { useState as C, Suspense as H, lazy as K } from "react";
5
5
  const s = [0, 3, 6, 9], n = {
6
6
  TOKEN: "token",
7
7
  MODEL: "model"
8
8
  }, w = K(() => import(
9
9
  /* webpackChunkName: "LazyChart" */
10
- "./Chart.Dacr0Jha.js"
10
+ "./Chart.Co0eN7kW.js"
11
11
  )), R = ({
12
12
  open: k,
13
13
  onOpenChange: E
@@ -1,10 +1,10 @@
1
1
  import { jsx as e, jsxs as r, Fragment as b } from "react/jsx-runtime";
2
- import { L as R, j$1 as A, Button as M, n as Ne, useLocalStorage as K, LOCAL_STORAGE_PREFIX as Q, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, e$1 as l, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ke, useUserMemories as Se, useExpiredMemories as Te, useDeleteMemory as ve, useDeleteAllActiveMemories as De, useDeleteAllExpiredMemories as Me, useUpdateMemory as Ee, useRestoreMemory as be, ButtonIcon as O, IconEdit as Re, IconDelete as Z, IconRestore as Ie } from "./index.Cep-48BX.js";
3
- import { Panel as le, Toggle as _, ConfirmationPanel as ee, Tooltip as z } from "./App.CPKurvKa.js";
4
- import { W as te, j as re, G as D, M as s, F as B, H as ie, D as ne } from "./index.Bm-jT2Wc.js";
2
+ import { L as R, j$1 as A, Button as M, n as Ne, useLocalStorage as K, LOCAL_STORAGE_PREFIX as Q, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as we, e$1 as l, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ke, useUserMemories as Se, useExpiredMemories as Te, useDeleteMemory as ve, useDeleteAllActiveMemories as De, useDeleteAllExpiredMemories as Me, useUpdateMemory as Ee, useRestoreMemory as be, ButtonIcon as O, IconEdit as Re, IconDelete as Z, IconRestore as Ie } from "./index.40_u6dTS.js";
3
+ import { Panel as le, Toggle as _, ConfirmationPanel as ee, Tooltip as z } from "./App.DGAnaYX0.js";
4
+ import { W as te, j as re, G as D, M as s, F as B, H as ie, D as ne } from "./index.BG6LSFck.js";
5
5
  import y from "clsx";
6
6
  import { useState as C, useEffect as Le, useRef as oe } from "react";
7
- import { TextArea as Oe } from "./index.CT4gidiF.js";
7
+ import { TextArea as Oe } from "./index.c131dt9j.js";
8
8
  const _e = ({
9
9
  open: N,
10
10
  onOpenChange: E,
@@ -7797,7 +7797,7 @@ Press Ctrl+Enter to send it or Enter for new line.`, ju = "{{clipboard}}", $ = "
7797
7797
  ] });
7798
7798
  }, _c = new URL(document.location.href).searchParams, Kr = !!_c.get("debug") || !1, Ac = nn(() => import(
7799
7799
  /* webpackChunkName: "LazyApp" */
7800
- "./App.CPKurvKa.js"
7800
+ "./App.DGAnaYX0.js"
7801
7801
  ).then((e) => e.App)), Rc = new Cn(), Vr = ({
7802
7802
  isComponent: e,
7803
7803
  headerHeight: t
@@ -1,4 +1,4 @@
1
- import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.wW6OCwOp.js";
1
+ import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.BxvW4gXr.js";
2
2
  import { longestStreak as q } from "./index.Cyw5OC0t.js";
3
3
  function b() {
4
4
  return {
@@ -1,4 +1,4 @@
1
- import { convert as se, visitParents as Me, unicodeWhitespace as I, unicodePunctuation as N, normalizeIdentifier as _, classifyCharacter as W, visit as _e, toString as ce, EXIT as Oe, asciiAlphanumeric as Z, asciiAlpha as P, markdownLineEndingOrSpace as A, asciiControl as je, blankLine as Be, factorySpace as S, splice as q, resolveAll as We, markdownLineEnding as R, markdownSpace as T, combineExtensions as $e } from "./useMarkdown.wW6OCwOp.js";
1
+ import { convert as se, visitParents as Me, unicodeWhitespace as I, unicodePunctuation as N, normalizeIdentifier as _, classifyCharacter as W, visit as _e, toString as ce, EXIT as Oe, asciiAlphanumeric as Z, asciiAlpha as P, markdownLineEndingOrSpace as A, asciiControl as je, blankLine as Be, factorySpace as S, splice as q, resolveAll as We, markdownLineEnding as R, markdownSpace as T, combineExtensions as $e } from "./useMarkdown.BxvW4gXr.js";
2
2
  import { longestStreak as qe } from "./index.Cyw5OC0t.js";
3
3
  function ne(e, n) {
4
4
  const t = String(e);
@@ -1,5 +1,5 @@
1
1
  import { jsx as l, jsxs as y } from "react/jsx-runtime";
2
- import { ButtonSort_private as f, e$1 as k } from "./index.Cep-48BX.js";
2
+ import { ButtonSort_private as f, e$1 as k } from "./index.40_u6dTS.js";
3
3
  import o from "clsx";
4
4
  import v, { useContext as b } from "react";
5
5
  /*!
@@ -1,5 +1,5 @@
1
1
  import { jsxs as h, jsx as l } from "react/jsx-runtime";
2
- import { ButtonIcon as E, IconCopied as C, IconCopy as I } from "./index.Cep-48BX.js";
2
+ import { ButtonIcon as E, IconCopied as C, IconCopy as I } from "./index.40_u6dTS.js";
3
3
  import { useState as N, useEffect as $ } from "react";
4
4
  import t from "clsx";
5
5
  /*!
@@ -1,6 +1,6 @@
1
- import { getDefaultExportFromCjs as kn } from "./App.CPKurvKa.js";
2
- import { visit as In } from "./useMarkdown.wW6OCwOp.js";
3
- import { toText as Cn } from "./index.7N6yJRxV.js";
1
+ import { getDefaultExportFromCjs as kn } from "./App.DGAnaYX0.js";
2
+ import { visit as In } from "./useMarkdown.BxvW4gXr.js";
3
+ import { toText as Cn } from "./index.gAWkmR1U.js";
4
4
  function xn(e) {
5
5
  const t = e.regex, i = e.COMMENT("//", "$", { contains: [{ begin: /\\\n/ }] }), a = "decltype\\(auto\\)", r = "[a-zA-Z_]\\w*::", d = "(?!struct)(" + a + "|" + t.optional(r) + "[a-zA-Z_]\\w*" + t.optional("<[^<>]+>") + ")", c = {
6
6
  className: "type",
@@ -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.wW6OCwOp.js";
2
- import { toText as Ca } from "./index.7N6yJRxV.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.BxvW4gXr.js";
2
+ import { toText as Ca } from "./index.gAWkmR1U.js";
3
3
  const Gt = /[#.]/g;
4
4
  function qa(r, e) {
5
5
  const t = r || "", a = {};
@@ -1,5 +1,5 @@
1
1
  import { jsxs as oe, jsx as h } from "react/jsx-runtime";
2
- import { useMergeRefs as ce, useResizeObserver as W, useUniqueId as ne, useUncontrolled as le, LiveRegion as ie } from "./index.Cep-48BX.js";
2
+ import { useMergeRefs as ce, useResizeObserver as W, useUniqueId as ne, useUncontrolled as le, LiveRegion as ie } from "./index.40_u6dTS.js";
3
3
  import ue, { useRef as k, useState as I, useLayoutEffect as R } from "react";
4
4
  import o from "clsx";
5
5
  /*!
@@ -1,4 +1,4 @@
1
- import { convert as E, convertElement as u } from "./useMarkdown.wW6OCwOp.js";
1
+ import { convert as E, convertElement as u } from "./useMarkdown.BxvW4gXr.js";
2
2
  const f = (
3
3
  // Note: overloads like this are needed to support optional generics.
4
4
  /**
@@ -1,8 +1,8 @@
1
1
  import * as le from "react/jsx-runtime";
2
2
  import { jsx as vt, jsxs as Tr } from "react/jsx-runtime";
3
- import { isTauri as Lr, ButtonCopy as zr, unObfuscate as _r, obfuscate as Mr } from "./index.Cep-48BX.js";
3
+ import { isTauri as Lr, ButtonCopy as zr, unObfuscate as _r, obfuscate as Mr } from "./index.40_u6dTS.js";
4
4
  import { useCallback as Dt, useRef as vn, useState as Nr, useEffect as Rr } from "react";
5
- import { getDefaultExportFromCjs as Ft } from "./App.CPKurvKa.js";
5
+ import { getDefaultExportFromCjs as Ft } from "./App.DGAnaYX0.js";
6
6
  const Ot = -1, ee = 0, Hn = 1, ne = 2, ze = 3, _e = 4, Me = 5, Ne = 6, Bt = 7, jt = 8, Qe = typeof self == "object" ? self : globalThis, vr = (n, e) => {
7
7
  const t = (i, l) => (n.set(l, i), i), r = (i) => {
8
8
  if (n.has(i))
@@ -7111,7 +7111,7 @@ class vu {
7111
7111
  if (!this.remarkGfm) {
7112
7112
  const { default: e } = await import(
7113
7113
  /* webpackChunkName: "md-remark" */
7114
- "./index.CKFbvzVG.js"
7114
+ "./index.B9kFoVXe.js"
7115
7115
  );
7116
7116
  this.remarkGfm = e;
7117
7117
  }
@@ -7122,7 +7122,7 @@ class vu {
7122
7122
  ju("https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css");
7123
7123
  const { default: e } = await import(
7124
7124
  /* webpackChunkName: "md-rehype-katex" */
7125
- "./index.WW9JCvG2.js"
7125
+ "./index.DUp2Ki4S.js"
7126
7126
  );
7127
7127
  this.rehypeKatex = e;
7128
7128
  }
@@ -7132,7 +7132,7 @@ class vu {
7132
7132
  if (!this.remarkMath) {
7133
7133
  const { default: e } = await import(
7134
7134
  /* webpackChunkName: "md-remark" */
7135
- "./index.D59YiPiD.js"
7135
+ "./index.4UHv4tfD.js"
7136
7136
  );
7137
7137
  this.remarkMath = e;
7138
7138
  }
@@ -7142,7 +7142,7 @@ class vu {
7142
7142
  if (!this.rehypeHighlight) {
7143
7143
  const { default: e } = await import(
7144
7144
  /* webpackChunkName: "md-rehype-highlight" */
7145
- "./index.Co-p3lu_.js"
7145
+ "./index.CO4rogFz.js"
7146
7146
  );
7147
7147
  this.rehypeHighlight = e;
7148
7148
  }
@@ -1,5 +1,5 @@
1
1
  import "react/jsx-runtime";
2
- import { SassySaint as a } from "../../chunks/index.Cep-48BX.js";
2
+ import { SassySaint as a } from "../../chunks/index.40_u6dTS.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.Cep-48BX.js";
1
+ import { SassySaint as r } from "./chunks/index.40_u6dTS.js";
2
2
  /*!
3
- @sassysaint/client v8.86.3
3
+ @sassysaint/client v8.86.4
4
4
  © 2025 gizmette.com
5
5
  */
6
6
  try {
7
7
  window.__VERSINI_SASSY_GLOBAL__ || (window.__VERSINI_SASSY_GLOBAL__ = {
8
- version: "8.86.3",
9
- buildTime: "11/16/2025 07:15 PM EST",
8
+ version: "8.86.4",
9
+ buildTime: "11/16/2025 07:29 PM EST",
10
10
  license: "MIT"
11
11
  });
12
12
  } catch {
package/dist/style.css CHANGED
@@ -1,4 +1,4 @@
1
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-white:#fff;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.av-text-area__control--right{right:18px}.av-text-area__control--left{left:18px}.inline{display:inline}.table{display:table}.av-text-input-wrapper label[aria-hidden=true]{transform-origin:0 0;transition:var(--av-text-input-wrapper-transition,all .2s ease-out);transform:translate(12px)scale(1)}.av-text-area-helper-text{transform:translate(12px,var(--av-text-area-helper-text,32px))scale(.75);transform-origin:0 0}.av-text-input-helper-text{transform:translate(12px,var(--av-text-input-helper-text,38px))scale(.75);transform-origin:0 0}.av-text-area-wrapper label[aria-hidden=true]{transform-origin:0 0;transition:var(--av-text-area-wrapper-transition,all .2s ease-out)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.av-spinner__dot{animation:1s infinite blink}.av-spinner__dot:nth-child(2){animation-delay:.25s}.av-spinner__dot:nth-child(3){animation-delay:.5s}.resize{resize:both}.border-white{border-color:var(--color-white)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com *//*!
1
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-slate-400:oklch(70.4% .04 256.788);--color-white:#fff;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.av-text-area__control--right{right:18px}.av-text-area__control--left{left:18px}.inline{display:inline}.table{display:table}.av-text-input-wrapper label[aria-hidden=true]{transform-origin:0 0;transition:var(--av-text-input-wrapper-transition,all .2s ease-out);transform:translate(12px)scale(1)}.av-text-area-helper-text{transform:translate(12px,var(--av-text-area-helper-text,32px))scale(.75);transform-origin:0 0}.av-text-input-helper-text{transform:translate(12px,var(--av-text-input-helper-text,38px))scale(.75);transform-origin:0 0}.av-text-area-wrapper label[aria-hidden=true]{transform-origin:0 0;transition:var(--av-text-area-wrapper-transition,all .2s ease-out)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.av-spinner__dot{animation:1s infinite blink}.av-spinner__dot:nth-child(2){animation-delay:.25s}.av-spinner__dot:nth-child(3){animation-delay:.5s}.resize{resize:both}.border-white{border-color:var(--color-white)}.fill-\[\#7A9BC4\]{fill:#7a9bc4}.fill-\[\#78abe9\]{fill:#78abe9}.fill-\[\#86d0ac\]{fill:#86d0ac}.fill-\[\#87BBA2\]{fill:#87bba2}.fill-\[\#A8B5D4\]{fill:#a8b5d4}.fill-\[\#B8A4D5\]{fill:#b8a4d5}.fill-\[\#D4A5A5\]{fill:#d4a5a5}.fill-\[\#D4B896\]{fill:#d4b896}.fill-\[\#b3c5f0\]{fill:#b3c5f0}.fill-\[\#b89fdc\]{fill:#b89fdc}.fill-\[\#d7b286\]{fill:#d7b286}.fill-\[\#da8787\]{fill:#da8787}.fill-copy-light{fill:var(--av-copy-light,oklch(92.9% .013 255.508))}.fill-copy-medium{fill:var(--av-copy-medium,oklch(70.4% .04 256.788))}.text-copy-light{color:var(--av-copy-light,oklch(92.9% .013 255.508))}.text-copy-medium{color:var(--av-copy-medium,oklch(70.4% .04 256.788))}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.placeholder\:text-copy-light\/50::placeholder{color:var(--av-copy-light,oklch(92.9% .013 255.508))}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-copy-light\/50::placeholder{color:color-mix(in oklab,var(--av-copy-light,oklch(92.9% .013 255.508))50%,transparent)}}.placeholder\:text-copy-medium\/50::placeholder{color:var(--av-copy-medium,oklch(70.4% .04 256.788))}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-copy-medium\/50::placeholder{color:color-mix(in oklab,var(--av-copy-medium,oklch(70.4% .04 256.788))50%,transparent)}}.placeholder\:text-copy-medium\/80::placeholder{color:var(--av-copy-medium,oklch(70.4% .04 256.788))}@supports (color:color-mix(in lab,red,red)){.placeholder\:text-copy-medium\/80::placeholder{color:color-mix(in oklab,var(--av-copy-medium,oklch(70.4% .04 256.788))80%,transparent)}}@media(prefers-color-scheme:dark){.dark\:fill-copy-medium{fill:var(--av-copy-medium,oklch(70.4% .04 256.788))}.dark\:text-copy-medium,.dark\:placeholder\:text-copy-medium\/50::placeholder{color:var(--av-copy-medium,oklch(70.4% .04 256.788))}@supports (color:color-mix(in lab,red,red)){.dark\:placeholder\:text-copy-medium\/50::placeholder{color:color-mix(in oklab,var(--av-copy-medium,oklch(70.4% .04 256.788))50%,transparent)}}}.prose-h1\:text-copy-light :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--av-copy-light,oklch(92.9% .013 255.508))}.prose-h1\:text-copy-medium :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--av-copy-medium,oklch(70.4% .04 256.788))}@media(prefers-color-scheme:dark){.dark\:prose-h1\:text-copy-medium :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--av-copy-medium,oklch(70.4% .04 256.788))}}.prose-h2\:text-copy-light :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--av-copy-light,oklch(92.9% .013 255.508))}.prose-h2\:text-copy-medium :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--av-copy-medium,oklch(70.4% .04 256.788))}@media(prefers-color-scheme:dark){.dark\:prose-h2\:text-copy-medium :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--av-copy-medium,oklch(70.4% .04 256.788))}}}/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com *//*!
2
2
  Theme: Tomorrow Night
3
3
  Author: Chris Kempson (http://chriskempson.com)
4
4
  License: ~ MIT (or more permissive) [via base16-schemes-source]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@versini/sassysaint",
3
- "version": "8.86.3",
3
+ "version": "8.86.4",
4
4
  "license": "MIT",
5
5
  "author": "Arno Versini",
6
6
  "publishConfig": {
@@ -33,7 +33,7 @@
33
33
  "react-dom": "^18.3.1 || ^19.0.0"
34
34
  },
35
35
  "devDependencies": {
36
- "@sassysaint/client": "8.86.3",
36
+ "@sassysaint/client": "8.86.4",
37
37
  "@tailwindcss/vite": "4.1.17",
38
38
  "@versini/ui-styles": "6.1.2"
39
39
  },
@@ -45,5 +45,5 @@
45
45
  "sideEffects": [
46
46
  "**/*.css"
47
47
  ],
48
- "gitHead": "3d9be65dc3e208eebd8e63a1b0c1c96aaf6747a8"
48
+ "gitHead": "1937dd98637feeab9ef9b5f5cba2cf07ccac6b25"
49
49
  }