@versini/sassysaint 8.100.4 → 8.101.0

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.iHc3sOfo.js → AboutChangelog.CVySsRJL.js} +3 -3
  2. package/dist/chunks/{AboutEntry.BflLsD7a.js → AboutEntry.C1p3cZGX.js} +5 -5
  3. package/dist/chunks/App.FDXS1dWr.js +12639 -0
  4. package/dist/chunks/{Chart.YsiruUmC.js → Chart.D8hc7jQz.js} +2 -2
  5. package/dist/chunks/{ChatBubbleAssistant.jfCN5HKv.js → ChatBubbleAssistant.DgzNZWXj.js} +4 -4
  6. package/dist/chunks/{ChatBubbleUser.D9ZuYG3r.js → ChatBubbleUser.CgAXoPL3.js} +6 -6
  7. package/dist/chunks/{ChatHistoryTable.BsUcjGB2.js → ChatHistoryTable.DleRijpp.js} +11 -11
  8. package/dist/chunks/{HistoryEntry.D7FlHXOe.js → HistoryEntry.QXTx_1NF.js} +3 -3
  9. package/dist/chunks/{MemoriesEntry.BRnPj3tw.js → MemoriesEntry.CY-llB2n.js} +4 -4
  10. package/dist/chunks/{ProfileEntry.bHMg5KXT.js → ProfileEntry.D1t4NNjj.js} +2 -2
  11. package/dist/chunks/{SettingsEntry.x-x7G_A-.js → SettingsEntry.DPFXL5XW.js} +3 -3
  12. package/dist/chunks/{Table.DvuZZ4Gw.js → Table.Ut5gRB0r.js} +4 -4
  13. package/dist/chunks/{UsageEntry.W526CGpD.js → UsageEntry.CJN9T5eq.js} +83 -83
  14. package/dist/chunks/{index.GZb5A5b5.js → index.Bm6nq0Gp.js} +2 -2
  15. package/dist/chunks/{index.DoFCdUYB.js → index.BsZ9ZCrk.js} +1 -1
  16. package/dist/chunks/{index.uXjiGKNS.js → index.C7XLM9KR.js} +4 -4
  17. package/dist/chunks/{index.BkTEFWwf.js → index.CC5igXkB.js} +1 -1
  18. package/dist/chunks/{index.BgOXLjUB.js → index.CEY_eB-I.js} +3 -3
  19. package/dist/chunks/{index.DJEqes6K.js → index.DNyB0dBi.js} +4 -4
  20. package/dist/chunks/{index.gZwSRJCu.js → index.Dvzk0ceM.js} +33 -33
  21. package/dist/chunks/{index.CaXiD8yN.js → index.gjQkJBf-.js} +1 -1
  22. package/dist/chunks/{useMarkdown.BT3mZkc3.js → useMarkdown.BopS_qSS.js} +9 -9
  23. package/dist/components/SassySaint/SassySaint.js +1 -1
  24. package/dist/index.js +4 -4
  25. package/package.json +3 -3
  26. package/dist/chunks/App.CqTNtscr.js +0 -10094
@@ -1,7 +1,7 @@
1
1
  import { jsx as Pp } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as dn } from "./App.CqTNtscr.js";
2
+ import { getDefaultExportFromCjs as dn } from "./App.FDXS1dWr.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.gZwSRJCu.js";
4
+ import { TRIMESTERS_SHORT as Ep, TRIMESTERS as on, TIME_RANGES as ls, isProbablyMobile as Ip, TIME_RANGE_LABELS as an } from "./index.Dvzk0ceM.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 ss } from "react/jsx-runtime";
2
- import { ChatContext as is, AppContext as rs, n as as, useUserPreferences as os, convertCamelCaseToReadable as ls, numberFormatter as us, pluralize as cs } from "./index.gZwSRJCu.js";
3
- import { BUBBLE_FOOTER_EMPTY as fs } from "./index.uXjiGKNS.js";
2
+ import { ChatContext as is, AppContext as rs, n as as, useUserPreferences as os, convertCamelCaseToReadable as ls, numberFormatter as us, pluralize as cs } from "./index.Dvzk0ceM.js";
3
+ import { BUBBLE_FOOTER_EMPTY as fs } from "./index.C7XLM9KR.js";
4
4
  import Xt from "clsx";
5
5
  import hs, { useState as Me, useEffect as qt, useContext as vt } from "react";
6
- import { useMarkdown as ds } from "./useMarkdown.BT3mZkc3.js";
7
- import { AsyncBubble as ps } from "./App.CqTNtscr.js";
6
+ import { useMarkdown as ds } from "./useMarkdown.BopS_qSS.js";
7
+ import { AsyncBubble as ps } from "./App.FDXS1dWr.js";
8
8
  function ms(e, t) {
9
9
  e.indexOf(t) === -1 && e.push(t);
10
10
  }
@@ -1,16 +1,16 @@
1
1
  import { jsx as i, Fragment as S, jsxs as C } from "react/jsx-runtime";
2
- import { Button as _ } from "./index.gZwSRJCu.js";
2
+ import { Button as _ } from "./index.Dvzk0ceM.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.BT3mZkc3.js";
5
- import { AsyncBubble as k } from "./App.CqTNtscr.js";
4
+ import { useMarkdown as b } from "./useMarkdown.BopS_qSS.js";
5
+ import { AsyncBubble as k } from "./App.FDXS1dWr.js";
6
6
  /*!
7
- @versini/ui-truncate v6.1.3
7
+ @versini/ui-truncate v6.1.6
8
8
  © 2025 gizmette.com
9
9
  */
10
10
  try {
11
11
  window.__VERSINI_UI_TRUNCATE__ || (window.__VERSINI_UI_TRUNCATE__ = {
12
- version: "6.1.3",
13
- buildTime: "12/14/2025 08:06 PM EST",
12
+ version: "6.1.6",
13
+ buildTime: "12/15/2025 07:45 PM EST",
14
14
  homepage: "https://www.npmjs.com/package/@versini/ui-truncate",
15
15
  license: "MIT"
16
16
  });
@@ -1,17 +1,17 @@
1
1
  import { jsxs as c, jsx as e } from "react/jsx-runtime";
2
- import { IconCloseLight as L, y as S, v as M, INFINITE_SCROLL_THRESHOLD as U, CARDS as D, pluralize as k, ButtonIcon as C, IconRestore as z, IconStarInCircle as B, IconStarInCircleLight as $, IconDelete as Y, numberFormatter as W, isProbablyMobile as j } from "./index.gZwSRJCu.js";
2
+ import { IconCloseLight as L, y as S, v as M, INFINITE_SCROLL_THRESHOLD as U, CARDS as D, pluralize as k, ButtonIcon as C, IconRestore as z, IconStarInCircle as B, IconStarInCircleLight as $, IconDelete as Y, numberFormatter as W, isProbablyMobile as j } from "./index.Dvzk0ceM.js";
3
3
  import { useState as G, Fragment as K } from "react";
4
4
  import i from "clsx";
5
- import { j as V, D as F, F as N, G as H, W as o, Y as A } from "./Table.DvuZZ4Gw.js";
6
- import { ResponsiveTooltip as w } from "./App.CqTNtscr.js";
5
+ import { j as V, D as F, F as N, G as H, W as o, Y as I } from "./Table.Ut5gRB0r.js";
6
+ import { ResponsiveTooltip as w } from "./App.FDXS1dWr.js";
7
7
  /*!
8
- @versini/ui-pill v5.2.3
8
+ @versini/ui-pill v5.2.4
9
9
  © 2025 gizmette.com
10
10
  */
11
11
  try {
12
12
  window.__VERSINI_UI_PILL__ || (window.__VERSINI_UI_PILL__ = {
13
- version: "5.2.3",
14
- buildTime: "12/12/2025 10:30 AM EST",
13
+ version: "5.2.4",
14
+ buildTime: "12/15/2025 01:22 PM EST",
15
15
  homepage: "https://www.npmjs.com/package/@versini/ui-pill",
16
16
  license: "MIT"
17
17
  });
@@ -22,7 +22,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
22
22
  "border-border-warning": t === "warning",
23
23
  "border-border-success": t === "success",
24
24
  "border-border-error": t === "error"
25
- }), I = ({ variant: t }) => i("not-prose", {
25
+ }), A = ({ variant: t }) => i("not-prose", {
26
26
  "text-copy-information": t === "information",
27
27
  "text-copy-warning": t === "warning",
28
28
  "text-copy-success": t === "success",
@@ -37,10 +37,10 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
37
37
  return {
38
38
  main: i(q, "inline-flex items-center gap-1 px-2 py-0.5 text-xs", J({
39
39
  variant: l
40
- }), I({
40
+ }), A({
41
41
  variant: l
42
42
  }), Q(t), a),
43
- 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({
43
+ 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({
44
44
  variant: l
45
45
  }))
46
46
  };
@@ -113,7 +113,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
113
113
  return /* @__PURE__ */ e(o, { className: "sr-only", children: "Row" }, r);
114
114
  case n.TIMESTAMP:
115
115
  return T ? /* @__PURE__ */ e(o, { className: "text-xs sm:text-sm", children: "Date" }, r) : /* @__PURE__ */ e(
116
- A,
116
+ I,
117
117
  {
118
118
  focusMode: "system",
119
119
  buttonClassName: "text-xs sm:text-sm",
@@ -132,7 +132,7 @@ const q = "av-pill", J = ({ variant: t }) => i("rounded-xs border", {
132
132
  return /* @__PURE__ */ e(o, { className: "text-xs sm:text-sm", children: "Summary" }, r);
133
133
  case n.TOKEN_USAGE:
134
134
  return T ? /* @__PURE__ */ e(o, { className: "text-xs sm:text-sm text-right", children: "Tokens" }, r) : /* @__PURE__ */ e(
135
- A,
135
+ I,
136
136
  {
137
137
  focusMode: "system",
138
138
  buttonClassName: "text-xs sm:text-sm",
@@ -1,12 +1,12 @@
1
1
  import { jsxs as i, 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, HistoryContext as Y, ChatContext as se, useLocalStorage as m, LOCAL_STORAGE_PREFIX as C, LOCAL_STORAGE_SORT_TIMESTAMP as oe, e$1 as u, LOCAL_STORAGE_SORT_TOKEN_USAGE as ne, LOCAL_STORAGE_SORT as ie, y as I, LOCAL_STORAGE_CHAT_ID as ce, useDeleteChat as le, useToggleFavoriteChat as de, APP_CLASSNAME as he, TOAST_CHAT_DELETED as ue, graphQLRequest as me, SERVICE_TYPES as Ce, ACTION_SORT as Se, v as fe, LOCAL_STORAGE_SEARCH as ye, LOCAL_STORAGE_FAVORITES_ONLY as Te, LOCAL_STORAGE_KEYWORD_MATCH_ALL as pe, useChatsHistory as ge, useUserChatStats as Ae, HISTORY_TITLE as Ee, Card as _e, TextInput as Le, debounce as De, IconSearch as Oe, Button as ke, L as ve, j as Re, ACTION_SEARCH as be } from "./index.gZwSRJCu.js";
3
- import { useAiChat as Ie, ConfirmationPanel as xe, LazyToastContainerWrapper as we, showErrorToast as He, v4 as Ne, CHAT_RESET as Fe, CHAT_SET_ATTACHMENTS as Me, CHAT_SET_STATUS as Ge, Panel as Ve, Toggle as B, CancelButton as ze } from "./App.CqTNtscr.js";
2
+ import { n as K, INFINITE_SCROLL_LIMIT as U, INFINITE_SCROLL_THRESHOLD as re, HistoryContext as Y, ChatContext as se, useLocalStorage as m, LOCAL_STORAGE_PREFIX as C, LOCAL_STORAGE_SORT_TIMESTAMP as oe, e$1 as u, LOCAL_STORAGE_SORT_TOKEN_USAGE as ne, LOCAL_STORAGE_SORT as ie, y as I, LOCAL_STORAGE_CHAT_ID as ce, useDeleteChat as le, useToggleFavoriteChat as de, APP_CLASSNAME as he, TOAST_CHAT_DELETED as ue, graphQLRequest as me, SERVICE_TYPES as Ce, ACTION_SORT as Se, v as fe, LOCAL_STORAGE_SEARCH as ye, LOCAL_STORAGE_FAVORITES_ONLY as Te, LOCAL_STORAGE_KEYWORD_MATCH_ALL as pe, useChatsHistory as ge, useUserChatStats as Ae, HISTORY_TITLE as Ee, Card as _e, TextInput as Le, debounce as De, IconSearch as Oe, Button as ke, L as ve, j as Re, ACTION_SEARCH as be } from "./index.Dvzk0ceM.js";
3
+ import { useAiChat as Ie, ConfirmationPanel as xe, LazyToastContainerWrapper as we, showErrorToast as He, v4 as Ne, CHAT_RESET as Fe, CHAT_SET_ATTACHMENTS as Me, CHAT_SET_STATUS as Ge, Panel as Ve, Toggle as B, CancelButton as ze } from "./App.FDXS1dWr.js";
4
4
  import Pe from "clsx";
5
5
  import { useRef as x, useState as G, useContext as V, useCallback as j, Suspense as Ue, lazy as Be, useEffect as je } from "react";
6
6
  const Ke = Be(
7
7
  () => import(
8
8
  /* webpackChunkName: "history-table" */
9
- "./ChatHistoryTable.BsUcjGB2.js"
9
+ "./ChatHistoryTable.DleRijpp.js"
10
10
  ).then((S) => ({ default: S.ChatHistoryTable }))
11
11
  ), Ye = ({
12
12
  filteredHistory: S,
@@ -1,10 +1,10 @@
1
1
  import { jsx as e, jsxs as r, Fragment as I } from "react/jsx-runtime";
2
- import { L as M, j as f, Button as B, n as Te, useLocalStorage as ee, LOCAL_STORAGE_PREFIX as te, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as ke, e$1 as s, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ve, useUserMemories as De, useExpiredMemories as be, useDeleteMemory as Ee, useDeleteAllActiveMemories as Me, useDeleteAllExpiredMemories as Re, useUpdateMemory as Ie, useRestoreMemory as Le, ButtonIcon as L, IconEdit as Oe, IconDelete as re, IconRestore as _e } from "./index.gZwSRJCu.js";
3
- import { Panel as ae, Toggle as O, CancelButton as ce, ConfirmationPanel as ie, ResponsiveTooltip as _ } from "./App.CqTNtscr.js";
4
- import { j as ne, D as oe, F as v, W as a, Y as z, G as le, H as se } from "./Table.DvuZZ4Gw.js";
2
+ import { L as M, j as f, Button as B, n as Te, useLocalStorage as ee, LOCAL_STORAGE_PREFIX as te, LOCAL_STORAGE_SORT_MEMORY_DIRECTION as ke, e$1 as s, LOCAL_STORAGE_SORT_MEMORY_COLUMN as ve, useUserMemories as De, useExpiredMemories as be, useDeleteMemory as Ee, useDeleteAllActiveMemories as Me, useDeleteAllExpiredMemories as Re, useUpdateMemory as Ie, useRestoreMemory as Le, ButtonIcon as L, IconEdit as Oe, IconDelete as re, IconRestore as _e } from "./index.Dvzk0ceM.js";
3
+ import { Panel as ae, Toggle as O, CancelButton as ce, ConfirmationPanel as ie, ResponsiveTooltip as _ } from "./App.FDXS1dWr.js";
4
+ import { j as ne, D as oe, F as v, W as a, Y as z, G as le, H as se } from "./Table.Ut5gRB0r.js";
5
5
  import C from "clsx";
6
6
  import { useState as N, useEffect as ze, useRef as q } from "react";
7
- import { TextArea as Be } from "./index.DJEqes6K.js";
7
+ import { TextArea as Be } from "./index.DNyB0dBi.js";
8
8
  const Pe = ({
9
9
  open: w,
10
10
  onOpenChange: D,
@@ -1,6 +1,6 @@
1
1
  import { jsxs as l, Fragment as H, jsx as e } from "react/jsx-runtime";
2
- import { preloadToast as K, showSuccessToast as O, showErrorToast as W, ConfirmationPanel as Y, LazyToastContainerWrapper as $, Panel as V, CancelButton as q } from "./App.CqTNtscr.js";
3
- import { n as J, useUniqueId as Q, useUserPreferences as X, useServerCapabilities as Z, p as ee, setUserPlan as ae, Card as m, renderDataAsList as ne, CARDS as s, L as u, j as i, Button as se, st as re, isTauri as le, ButtonIcon as te, IconPasskey as L, PROFILE_TITLE as ie } from "./index.gZwSRJCu.js";
2
+ import { preloadToast as K, showSuccessToast as O, showErrorToast as W, ConfirmationPanel as Y, LazyToastContainerWrapper as $, Panel as V, CancelButton as q } from "./App.FDXS1dWr.js";
3
+ import { n as J, useUniqueId as Q, useUserPreferences as X, useServerCapabilities as Z, p as ee, setUserPlan as ae, Card as m, renderDataAsList as ne, CARDS as s, L as u, j as i, Button as se, st as re, isTauri as le, ButtonIcon as te, IconPasskey as L, PROFILE_TITLE as ie } from "./index.Dvzk0ceM.js";
4
4
  import { useState as h, useMemo as ce, useCallback as N, useRef as oe } from "react";
5
5
  import de from "clsx";
6
6
  const me = () => {
@@ -1,7 +1,7 @@
1
1
  import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
- import { n as Ve, useEntitlements as Fe, AppContext as We, useUserPreferences as $e, w as ie, useLocalStorage as de, LOCAL_STORAGE_OLED_MODE as ze, LOCAL_STORAGE_FULL_SCREEN as He, e as ue, canEvaluateModels as Ye, W as qe, getCacheInfo as Ke, isServiceWorkerEnabled as Qe, SETTINGS_TITLE as Je, Card as f, CARDS as r, V as Xe, Button as me, PROMPTS_DESCRIPTION as Ze, K as he, L as et, j as fe, applyOledMode as Ee, APP_SET_OLED_MODE as pe, APP_SET_FULL_SCREEN as Se, getCurrentGeoLocation as tt, graphQLRequest as ge, handleServiceWorkerToggle as ot, SERVICE_TYPES as Te } from "./index.gZwSRJCu.js";
3
- import { useCapability as be, Panel as st, Toggle as l, CancelButton as at } from "./App.CqTNtscr.js";
4
- import { TextArea as Ne } from "./index.DJEqes6K.js";
2
+ import { n as Ve, useEntitlements as Fe, AppContext as We, useUserPreferences as $e, w as ie, useLocalStorage as de, LOCAL_STORAGE_OLED_MODE as ze, LOCAL_STORAGE_FULL_SCREEN as He, e as ue, canEvaluateModels as Ye, W as qe, getCacheInfo as Ke, isServiceWorkerEnabled as Qe, SETTINGS_TITLE as Je, Card as f, CARDS as r, V as Xe, Button as me, PROMPTS_DESCRIPTION as Ze, K as he, L as et, j as fe, applyOledMode as Ee, APP_SET_OLED_MODE as pe, APP_SET_FULL_SCREEN as Se, getCurrentGeoLocation as tt, graphQLRequest as ge, handleServiceWorkerToggle as ot, SERVICE_TYPES as Te } from "./index.Dvzk0ceM.js";
3
+ import { useCapability as be, Panel as st, Toggle as l, CancelButton as at } from "./App.FDXS1dWr.js";
4
+ import { TextArea as Ne } from "./index.DNyB0dBi.js";
5
5
  import { useRef as nt, useContext as rt, useState as s, useMemo as lt, useCallback as ct, useEffect as Ce } from "react";
6
6
  const ft = ({
7
7
  open: ye,
@@ -1,15 +1,15 @@
1
1
  import { jsx as l, jsxs as g } from "react/jsx-runtime";
2
2
  import d from "clsx";
3
3
  import w, { useContext as p } from "react";
4
- import { ButtonIcon as I, e$1 as k } from "./index.gZwSRJCu.js";
4
+ import { ButtonIcon as I, e$1 as k } from "./index.Dvzk0ceM.js";
5
5
  /*!
6
- @versini/ui-button v10.0.4
6
+ @versini/ui-button v10.0.7
7
7
  © 2025 gizmette.com
8
8
  */
9
9
  try {
10
10
  window.__VERSINI_UI_BUTTON__ || (window.__VERSINI_UI_BUTTON__ = {
11
- version: "10.0.4",
12
- buildTime: "12/14/2025 08:04 PM EST",
11
+ version: "10.0.7",
12
+ buildTime: "12/15/2025 07:44 PM EST",
13
13
  homepage: "https://www.npmjs.com/package/@versini/ui-button",
14
14
  license: "MIT"
15
15
  });
@@ -1,48 +1,48 @@
1
- import { jsxs as T, jsx as t } from "react/jsx-runtime";
2
- import { n as Z, useUniqueId as J, useUserChatStats as Q, useLocalStorage as M, LOCAL_STORAGE_PREFIX as N, LOCAL_STORAGE_USAGE_VIEW_MODE as $, LOCAL_STORAGE_USAGE_TIME_RANGE as ee, TIME_RANGES as e, LOCAL_STORAGE_USAGE_SELECTED_MONTH as te, useChatsUsage as ne, USAGE_TITLE as le, Card as k, CARDS as d, L as h, j as c, TIME_RANGE_LABELS as H, MONTHS as g, ButtonIcon as u, IconChart as re, IconSelected as P, IconUnSelected as b, IconPrevious as se, IconNext as ae, renderDataAsList as ie, pluralize as D } from "./index.gZwSRJCu.js";
3
- import { Panel as oe, Menu as G, MenuGroupLabel as ce, MenuItem as U, CancelButton as Te } from "./App.CqTNtscr.js";
4
- import { useRef as de, useState as v, Suspense as ue, lazy as Ee } from "react";
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 k, CARDS as T, L as h, j as c, TIME_RANGE_LABELS as H, MONTHS as g, ButtonIcon as u, IconChart as re, IconSelected as b, IconUnSelected as P, IconPrevious as le, IconNext as se, renderDataAsList as ae, pluralize as D } from "./index.Dvzk0ceM.js";
3
+ import { Panel as oe, DropdownMenu as ie, DropdownMenuGroupLabel as ce, DropdownMenuItem as G, DropdownMenuSub as de, CancelButton as Te } from "./App.FDXS1dWr.js";
4
+ import { useRef as ue, useState as U, Suspense as Ee, lazy as Se } from "react";
5
5
  const a = [0, 3, 6, 9], s = {
6
6
  TOKEN: "token",
7
7
  MODEL: "model"
8
- }, Se = [
8
+ }, Ie = [
9
9
  e.TODAY,
10
10
  e.YESTERDAY,
11
11
  e.MONTH_TO_DATE,
12
12
  e.CURRENT_YEAR,
13
13
  e.LAST_YEAR
14
- ], Ie = Ee(
14
+ ], Ae = Se(
15
15
  () => import(
16
16
  /* webpackChunkName: "chart-highcharts" */
17
- "./Chart.YsiruUmC.js"
17
+ "./Chart.D8hc7jQz.js"
18
18
  )
19
- ), Ce = ({
20
- open: x,
19
+ ), _e = ({
20
+ open: v,
21
21
  onOpenChange: R
22
22
  }) => {
23
- const f = de(null), { getAccessToken: L, user: z } = Z(), F = J(), { data: i, isSuccess: B } = Q({
24
- user: z?.username,
25
- getAccessToken: L
26
- }), Y = Math.floor((/* @__PURE__ */ new Date()).getMonth() / 3) * 3, [O, m] = v(Y), [o, p] = M({
27
- key: N + $,
23
+ const f = ue(null), { getAccessToken: p, user: L } = X(), x = Z(), { data: o, isSuccess: F } = J({
24
+ user: L?.username,
25
+ getAccessToken: p
26
+ }), z = Math.floor((/* @__PURE__ */ new Date()).getMonth() / 3) * 3, [O, m] = U(z), [i, Y] = M({
27
+ key: N + Q,
28
28
  initialValue: s.MODEL
29
29
  }), [n, E] = M({
30
- key: N + ee,
30
+ key: N + $,
31
31
  initialValue: e.CURRENT_YEAR
32
- }), [r, S] = M({
33
- key: N + te,
32
+ }), [l, S] = M({
33
+ key: N + ee,
34
34
  initialValue: null
35
- }), [V, y] = v(
35
+ }), [B, V] = U(
36
36
  (/* @__PURE__ */ new Date()).getFullYear()
37
- ), { data: I, isSuccess: K } = ne({
38
- user: z?.username,
39
- getAccessToken: L,
37
+ ), { data: I, isSuccess: w } = te({
38
+ user: L?.username,
39
+ getAccessToken: p,
40
40
  timeRange: n,
41
- month: n === e.SPECIFIC_MONTH && r !== null ? String(r) : void 0,
42
- year: n === e.SPECIFIC_MONTH ? String(V) : void 0,
41
+ month: n === e.SPECIFIC_MONTH && l !== null ? String(l) : void 0,
42
+ year: n === e.SPECIFIC_MONTH ? String(B) : void 0,
43
43
  timezone: Intl.DateTimeFormat().resolvedOptions().timeZone
44
- }), j = (l) => {
45
- if (l.preventDefault(), n === e.MONTH_TO_DATE)
44
+ }), y = (r) => {
45
+ if (r.preventDefault(), n === e.MONTH_TO_DATE)
46
46
  return;
47
47
  if (n === e.TODAY || n === e.YESTERDAY) {
48
48
  E(
@@ -50,15 +50,15 @@ const a = [0, 3, 6, 9], s = {
50
50
  );
51
51
  return;
52
52
  }
53
- if (n === e.SPECIFIC_MONTH && r !== null) {
54
- const _ = (r + 1) % 12;
53
+ if (n === e.SPECIFIC_MONTH && l !== null) {
54
+ const _ = (l + 1) % 12;
55
55
  S(_);
56
56
  return;
57
57
  }
58
58
  const C = (a.indexOf(O) + 1) % a.length;
59
59
  m(a[C]);
60
- }, w = (l) => {
61
- if (l.preventDefault(), n === e.MONTH_TO_DATE)
60
+ }, K = (r) => {
61
+ if (r.preventDefault(), n === e.MONTH_TO_DATE)
62
62
  return;
63
63
  if (n === e.TODAY || n === e.YESTERDAY) {
64
64
  E(
@@ -66,24 +66,24 @@ const a = [0, 3, 6, 9], s = {
66
66
  );
67
67
  return;
68
68
  }
69
- if (n === e.SPECIFIC_MONTH && r !== null) {
70
- const _ = (r - 1 + 12) % 12;
69
+ if (n === e.SPECIFIC_MONTH && l !== null) {
70
+ const _ = (l - 1 + 12) % 12;
71
71
  S(_);
72
72
  return;
73
73
  }
74
74
  const C = (a.indexOf(O) - 1 + a.length) % a.length;
75
75
  m(a[C]);
76
- }, W = (l) => {
77
- E(l), l !== e.SPECIFIC_MONTH && S(null), (l === e.CURRENT_YEAR || l === e.LAST_YEAR) && m(Y);
78
- }, q = (l) => {
79
- S(l), y((/* @__PURE__ */ new Date()).getFullYear()), E(e.SPECIFIC_MONTH);
80
- }, X = () => n === e.SPECIFIC_MONTH && r !== null ? g[r] : H[n];
81
- return /* @__PURE__ */ T(
76
+ }, j = (r) => {
77
+ E(r), r !== e.SPECIFIC_MONTH && S(null), (r === e.CURRENT_YEAR || r === e.LAST_YEAR) && m(z);
78
+ }, W = (r) => {
79
+ S(r), V((/* @__PURE__ */ new Date()).getFullYear()), E(e.SPECIFIC_MONTH);
80
+ }, q = () => n === e.SPECIFIC_MONTH && l !== null ? g[l] : H[n];
81
+ return /* @__PURE__ */ d(
82
82
  oe,
83
83
  {
84
- open: x,
84
+ open: v,
85
85
  onOpenChange: R,
86
- title: le,
86
+ title: ne,
87
87
  animation: !0,
88
88
  animationType: "fade",
89
89
  blurEffect: "large",
@@ -101,12 +101,12 @@ const a = [0, 3, 6, 9], s = {
101
101
  /* @__PURE__ */ t(
102
102
  k,
103
103
  {
104
- header: d.MAIN_STATISTICS.USAGE,
104
+ header: T.MAIN_STATISTICS.USAGE,
105
105
  className: "prose-dark dark:prose-lighter mb-4 min-h-144",
106
106
  noBorder: !0,
107
- children: K && I ? /* @__PURE__ */ T(ue, { fallback: /* @__PURE__ */ t("div", {}), children: [
108
- /* @__PURE__ */ t(h, { className: "mb-2", alignHorizontal: "center", children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ T(
109
- G,
107
+ children: w && I ? /* @__PURE__ */ d(Ee, { fallback: /* @__PURE__ */ t("div", {}), children: [
108
+ /* @__PURE__ */ t(h, { className: "mb-2", alignHorizontal: "center", children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ d(
109
+ ie,
110
110
  {
111
111
  mode: "dark",
112
112
  focusMode: "light",
@@ -116,78 +116,78 @@ const a = [0, 3, 6, 9], s = {
116
116
  noBorder: !0,
117
117
  variant: "selected",
118
118
  size: "small",
119
- labelRight: X(),
119
+ labelRight: q(),
120
120
  children: /* @__PURE__ */ t(re, { className: "mr-1", size: "size-4" })
121
121
  }
122
122
  ),
123
123
  defaultPlacement: "bottom-start",
124
124
  children: [
125
125
  /* @__PURE__ */ t(ce, { children: "Date Range" }),
126
- Se.map((l) => /* @__PURE__ */ t(
127
- U,
126
+ Ie.map((r) => /* @__PURE__ */ t(
127
+ G,
128
128
  {
129
- label: H[l],
130
- selected: n === l,
131
- onClick: () => W(l)
129
+ label: H[r],
130
+ selected: n === r,
131
+ onClick: () => j(r)
132
132
  },
133
- l
133
+ r
134
134
  )),
135
- /* @__PURE__ */ t(G, { label: "Month", children: g.map((l, A) => /* @__PURE__ */ t(
136
- U,
135
+ /* @__PURE__ */ t(de, { label: "Month", children: g.map((r, A) => /* @__PURE__ */ t(
136
+ G,
137
137
  {
138
- label: l,
139
- selected: n === e.SPECIFIC_MONTH && r === A,
140
- onClick: () => q(A)
138
+ label: r,
139
+ selected: n === e.SPECIFIC_MONTH && l === A,
140
+ onClick: () => W(A)
141
141
  },
142
- l
142
+ r
143
143
  )) })
144
144
  ]
145
145
  }
146
146
  ) }) }),
147
- /* @__PURE__ */ T(h, { className: "mb-2", alignHorizontal: "center", columnGap: 2, children: [
147
+ /* @__PURE__ */ d(h, { className: "mb-2", alignHorizontal: "center", columnGap: 2, children: [
148
148
  /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(
149
149
  u,
150
150
  {
151
- onClick: () => p(s.MODEL),
151
+ onClick: () => Y(s.MODEL),
152
152
  labelRight: "Model Usage",
153
153
  noBorder: !0,
154
154
  size: "small",
155
- mode: o === s.MODEL ? "dark" : "light",
156
- children: o === s.MODEL ? /* @__PURE__ */ t(P, { size: "size-4" }) : /* @__PURE__ */ t(b, { size: "size-4" })
155
+ mode: i === s.MODEL ? "dark" : "light",
156
+ children: i === s.MODEL ? /* @__PURE__ */ t(b, { size: "size-4" }) : /* @__PURE__ */ t(P, { size: "size-4" })
157
157
  }
158
158
  ) }),
159
159
  /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(
160
160
  u,
161
161
  {
162
- onClick: () => p(s.TOKEN),
162
+ onClick: () => Y(s.TOKEN),
163
163
  labelRight: "Token Usage",
164
164
  noBorder: !0,
165
165
  size: "small",
166
- mode: o === s.TOKEN ? "dark" : "light",
167
- children: o === s.TOKEN ? /* @__PURE__ */ t(P, { size: "size-4" }) : /* @__PURE__ */ t(b, { size: "size-4" })
166
+ mode: i === s.TOKEN ? "dark" : "light",
167
+ children: i === s.TOKEN ? /* @__PURE__ */ t(b, { size: "size-4" }) : /* @__PURE__ */ t(P, { size: "size-4" })
168
168
  }
169
169
  ) })
170
170
  ] }),
171
171
  /* @__PURE__ */ t(
172
- Ie,
172
+ Ae,
173
173
  {
174
- tokenUsage: o === s.TOKEN ? I.tokenUsage?.series || [] : I.modelUsage?.series || [],
174
+ tokenUsage: i === s.TOKEN ? I.tokenUsage?.series || [] : I.modelUsage?.series || [],
175
175
  page: O,
176
- viewMode: o,
176
+ viewMode: i,
177
177
  timeRange: n,
178
178
  categories: I.categories,
179
- chartTitle: n === e.SPECIFIC_MONTH && r !== null ? g[r] : void 0
179
+ chartTitle: n === e.SPECIFIC_MONTH && l !== null ? g[l] : void 0
180
180
  }
181
181
  ),
182
- n !== e.MONTH_TO_DATE && /* @__PURE__ */ T(h, { className: "mt-2", alignHorizontal: "center", columnGap: 2, children: [
182
+ n !== e.MONTH_TO_DATE && /* @__PURE__ */ d(h, { className: "mt-2", alignHorizontal: "center", columnGap: 2, children: [
183
183
  /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(
184
184
  u,
185
185
  {
186
186
  noBorder: !0,
187
187
  size: "small",
188
188
  label: "Previous",
189
- onClick: w,
190
- children: /* @__PURE__ */ t(se, { size: "size-4" })
189
+ onClick: K,
190
+ children: /* @__PURE__ */ t(le, { size: "size-4" })
191
191
  }
192
192
  ) }),
193
193
  /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(
@@ -196,8 +196,8 @@ const a = [0, 3, 6, 9], s = {
196
196
  noBorder: !0,
197
197
  size: "small",
198
198
  label: "Next",
199
- onClick: j,
200
- children: /* @__PURE__ */ t(ae, { size: "size-4" })
199
+ onClick: y,
200
+ children: /* @__PURE__ */ t(se, { size: "size-4" })
201
201
  }
202
202
  ) })
203
203
  ] })
@@ -207,21 +207,21 @@ const a = [0, 3, 6, 9], s = {
207
207
  /* @__PURE__ */ t(
208
208
  k,
209
209
  {
210
- header: d.MAIN_STATISTICS.TITLE,
210
+ header: T.MAIN_STATISTICS.TITLE,
211
211
  className: "prose-dark dark:prose-lighter min-h-42",
212
212
  noBorder: !0,
213
- children: B ? ie(
214
- F,
213
+ children: F ? ae(
214
+ x,
215
215
  {
216
- [D(d.MAIN_STATISTICS.TOTAL, i.totalChats)]: i.totalChats,
216
+ [D(T.MAIN_STATISTICS.TOTAL, o.totalChats)]: o.totalChats,
217
217
  [D(
218
- d.MAIN_STATISTICS.TOTAL_PRIVATE,
219
- i.privateChats
220
- )]: i.privateChats,
218
+ T.MAIN_STATISTICS.TOTAL_PRIVATE,
219
+ o.privateChats
220
+ )]: o.privateChats,
221
221
  [D(
222
- d.MAIN_STATISTICS.TOTAL_DELETED,
223
- i.deletedChats
224
- )]: i.deletedChats
222
+ T.MAIN_STATISTICS.TOTAL_DELETED,
223
+ o.deletedChats
224
+ )]: o.deletedChats
225
225
  },
226
226
  !0
227
227
  ) : null
@@ -232,5 +232,5 @@ const a = [0, 3, 6, 9], s = {
232
232
  );
233
233
  };
234
234
  export {
235
- Ce as Usage
235
+ _e as Usage
236
236
  };
@@ -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.BT3mZkc3.js";
2
- import { toText as Ca } from "./index.CaXiD8yN.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.BopS_qSS.js";
2
+ import { toText as Ca } from "./index.gjQkJBf-.js";
3
3
  const Gt = /[#.]/g;
4
4
  function qa(r, e) {
5
5
  const t = r || "", a = {};
@@ -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.BT3mZkc3.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.BopS_qSS.js";
2
2
  import { longestStreak as qe } from "./index.Cyw5OC0t.js";
3
3
  function ne(e, n) {
4
4
  const t = String(e);
@@ -1,15 +1,15 @@
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.gZwSRJCu.js";
2
+ import { ButtonIcon as E, IconCopied as C, IconCopy as I } from "./index.Dvzk0ceM.js";
3
3
  import { useState as N, useEffect as $ } from "react";
4
4
  import t from "clsx";
5
5
  /*!
6
- @versini/ui-bubble v8.0.4
6
+ @versini/ui-bubble v8.0.7
7
7
  © 2025 gizmette.com
8
8
  */
9
9
  try {
10
10
  window.__VERSINI_UI_BUBBLE__ || (window.__VERSINI_UI_BUBBLE__ = {
11
- version: "8.0.4",
12
- buildTime: "12/14/2025 08:06 PM EST",
11
+ version: "8.0.7",
12
+ buildTime: "12/15/2025 07:45 PM EST",
13
13
  homepage: "https://www.npmjs.com/package/@versini/ui-bubble",
14
14
  license: "MIT"
15
15
  });
@@ -1,4 +1,4 @@
1
- import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.BT3mZkc3.js";
1
+ import { factorySpace as M, markdownLineEnding as g } from "./useMarkdown.BopS_qSS.js";
2
2
  import { longestStreak as q } from "./index.Cyw5OC0t.js";
3
3
  function b() {
4
4
  return {
@@ -1,6 +1,6 @@
1
- import { getDefaultExportFromCjs as kn } from "./App.CqTNtscr.js";
2
- import { visit as In } from "./useMarkdown.BT3mZkc3.js";
3
- import { toText as Cn } from "./index.CaXiD8yN.js";
1
+ import { getDefaultExportFromCjs as kn } from "./App.FDXS1dWr.js";
2
+ import { visit as In } from "./useMarkdown.BopS_qSS.js";
3
+ import { toText as Cn } from "./index.gjQkJBf-.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,15 +1,15 @@
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.gZwSRJCu.js";
2
+ import { useMergeRefs as ce, useResizeObserver as W, useUniqueId as ne, useUncontrolled as le, LiveRegion as ie } from "./index.Dvzk0ceM.js";
3
3
  import ue, { useRef as k, useState as I, useLayoutEffect as R } from "react";
4
4
  import o from "clsx";
5
5
  /*!
6
- @versini/ui-textarea v5.1.5
6
+ @versini/ui-textarea v5.1.7
7
7
  © 2025 gizmette.com
8
8
  */
9
9
  try {
10
10
  window.__VERSINI_UI_TEXTAREA__ || (window.__VERSINI_UI_TEXTAREA__ = {
11
- version: "5.1.5",
12
- buildTime: "12/14/2025 08:06 PM EST",
11
+ version: "5.1.7",
12
+ buildTime: "12/15/2025 06:40 PM EST",
13
13
  homepage: "https://www.npmjs.com/package/@versini/ui-textarea",
14
14
  license: "MIT"
15
15
  });