@versini/sassysaint 8.48.0 → 8.49.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.
- package/dist/chunks/AboutChangelog.h63EDdwh.js +34 -0
- package/dist/chunks/{AboutEntry.CFx0YmVV.js → AboutEntry.bOQXv5GS.js} +7 -7
- package/dist/chunks/App.Buw_7bdF.js +9706 -0
- package/dist/chunks/{Chart.DgKwPLF4.js → Chart.3xwfjmfL.js} +2 -2
- package/dist/chunks/{ChatBubbleAssistant.CGQ0Tlo_.js → ChatBubbleAssistant.Cy1PGZsN.js} +6 -5
- package/dist/chunks/ChatBubbleUser.Dk2VTVAc.js +127 -0
- package/dist/chunks/{ChatHistoryTable.CgoVamIR.js → ChatHistoryTable.BqB_YJay.js} +2 -2
- package/dist/chunks/{HistoryEntry.DNdv2yCj.js → HistoryEntry.D3MICkQa.js} +3 -3
- package/dist/chunks/{LNWAZHJI.CD_ux83e.js → LNWAZHJI.Dkf9465d.js} +1 -1
- package/dist/chunks/{ProfileEntry.XuNTwFo0.js → ProfileEntry.oAcH82-L.js} +2 -2
- package/dist/chunks/SettingsEntry.C070BVPa.js +755 -0
- package/dist/chunks/{UsageEntry.B6JFs6-S.js → UsageEntry.BMA_UKkG.js} +3 -3
- package/dist/chunks/{index.DC1fQi9B.js → index.C53PCELr.js} +2 -2
- package/dist/chunks/{index.D64OP4So.js → index.CON2uSZR.js} +5 -4
- package/dist/chunks/{index.m5ZMyePE.js → index.CUVW2CLY.js} +1 -1
- package/dist/chunks/{index.gS9jPJAH.js → index.DlBVcuDI.js} +1 -1
- package/dist/chunks/{index.DAaVqFYQ.js → index.Dupy_SsG.js} +1 -1
- package/dist/chunks/{index.CVkj3nyZ.js → index.UqSwLX11.js} +1 -1
- package/dist/chunks/{index.D3YgK0qf.js → index.yFjbdWat.js} +2 -2
- package/dist/chunks/useMarkdown.IcEntGo8.js +7061 -0
- package/dist/components/SassySaint/SassySaint.js +1 -1
- package/dist/index.js +4 -4
- package/package.json +3 -3
- package/dist/chunks/AboutChangelog.cqtDjdN2.js +0 -33
- package/dist/chunks/App.CasJ4WkW.js +0 -16681
- package/dist/chunks/SettingsEntry.U0uWFJ3Y.js +0 -891
@@ -1,7 +1,7 @@
|
|
1
1
|
import { jsx as Tp } from "react/jsx-runtime";
|
2
|
-
import { getDefaultExportFromCjs as ln } from "./App.
|
2
|
+
import { getDefaultExportFromCjs as ln } from "./App.Buw_7bdF.js";
|
3
3
|
import Ap, { useState as Cp, useEffect as Pp } from "react";
|
4
|
-
import { TRIMESTERS as rn, TRIMESTERS_SHORT as Op, isProbablyMobile as Lp } from "./index.
|
4
|
+
import { TRIMESTERS as rn, TRIMESTERS_SHORT as Op, isProbablyMobile as Lp } from "./index.yFjbdWat.js";
|
5
5
|
var ls = { exports: {} }, Ep = ls.exports, on;
|
6
6
|
function Ip() {
|
7
7
|
return on || (on = 1, (function(ve, ne) {
|
@@ -1,9 +1,10 @@
|
|
1
1
|
import { jsx as M } from "react/jsx-runtime";
|
2
|
-
import { n as N, useUserPreferences as O, convertCamelCaseToReadable as P, numberFormatter as R, pluralize as y, ne as L } from "./index.
|
3
|
-
import { BUBBLE_FOOTER_EMPTY as _ } from "./index.
|
2
|
+
import { n as N, useUserPreferences as O, convertCamelCaseToReadable as P, numberFormatter as R, pluralize as y, ne as L } from "./index.yFjbdWat.js";
|
3
|
+
import { BUBBLE_FOOTER_EMPTY as _ } from "./index.DlBVcuDI.js";
|
4
4
|
import w from "clsx";
|
5
5
|
import v, { useState as b, useRef as A, useEffect as U, useContext as B } from "react";
|
6
|
-
import { ChatContext as G,
|
6
|
+
import { ChatContext as G, AsyncBubble as E } from "./App.Buw_7bdF.js";
|
7
|
+
import { useMarkdown as D } from "./useMarkdown.IcEntGo8.js";
|
7
8
|
const j = 2, q = j * 1e3, x = "", I = (e) => e * (2 - e);
|
8
9
|
function W(e, n = !0) {
|
9
10
|
const [a, p] = b(0), [i, C] = b(0), [t, T] = b(e), r = A(0), s = A(0);
|
@@ -24,7 +25,7 @@ const d = {
|
|
24
25
|
MODEL: "Model",
|
25
26
|
PLUGIN: "Plugin",
|
26
27
|
USAGE: "Session usage"
|
27
|
-
}, k = w("max-w-[99cqw] mt-3"), S = w("max-w-xs", "sm:max-w-3xl", "prose-li:ps-3"),
|
28
|
+
}, k = w("max-w-[99cqw] mt-3"), S = w("max-w-xs", "sm:max-w-3xl", "prose-li:ps-3"), Q = v.memo(
|
28
29
|
({
|
29
30
|
content: e,
|
30
31
|
annotations: n,
|
@@ -71,5 +72,5 @@ const d = {
|
|
71
72
|
}
|
72
73
|
);
|
73
74
|
export {
|
74
|
-
|
75
|
+
Q as default
|
75
76
|
};
|
@@ -0,0 +1,127 @@
|
|
1
|
+
import { jsx as n, Fragment as b, jsxs as A } from "react/jsx-runtime";
|
2
|
+
import { useState as C, useMemo as u, isValidElement as p, useEffect as I } from "react";
|
3
|
+
import { AsyncBubble as w } from "./App.Buw_7bdF.js";
|
4
|
+
import { useMarkdown as _ } from "./useMarkdown.IcEntGo8.js";
|
5
|
+
import { C as M } from "./index.yFjbdWat.js";
|
6
|
+
const R = 200, D = ({
|
7
|
+
string: e,
|
8
|
+
idealLength: r = R
|
9
|
+
}) => {
|
10
|
+
if (e.length <= r)
|
11
|
+
return { string: e, isTruncated: !1 };
|
12
|
+
if (e.charAt(r) === " ")
|
13
|
+
return { string: e.slice(0, r), isTruncated: !0 };
|
14
|
+
const o = e.slice(r).search(" ");
|
15
|
+
return {
|
16
|
+
string: e.slice(0, r + o),
|
17
|
+
isTruncated: !0
|
18
|
+
};
|
19
|
+
}, l = (e) => e == null || typeof e == "boolean" ? "" : typeof e == "string" || typeof e == "number" ? String(e) : Array.isArray(e) ? e.map(l).join("") : p(e) ? l(e.props.children) : "", H = /* @__PURE__ */ new Set([
|
20
|
+
"P",
|
21
|
+
"DIV",
|
22
|
+
"UL",
|
23
|
+
"OL",
|
24
|
+
"LI",
|
25
|
+
"SECTION",
|
26
|
+
"ARTICLE",
|
27
|
+
"HEADER",
|
28
|
+
"FOOTER",
|
29
|
+
"MAIN",
|
30
|
+
"ASIDE",
|
31
|
+
"TABLE",
|
32
|
+
"THEAD",
|
33
|
+
"TBODY",
|
34
|
+
"TFOOT",
|
35
|
+
"TR",
|
36
|
+
"TD",
|
37
|
+
"TH",
|
38
|
+
"BLOCKQUOTE",
|
39
|
+
"PRE",
|
40
|
+
"H1",
|
41
|
+
"H2",
|
42
|
+
"H3",
|
43
|
+
"H4",
|
44
|
+
"H5",
|
45
|
+
"H6"
|
46
|
+
]), c = (e) => {
|
47
|
+
if (e == null || typeof e == "boolean" || typeof e == "string" || typeof e == "number")
|
48
|
+
return !1;
|
49
|
+
if (Array.isArray(e))
|
50
|
+
return e.some(c);
|
51
|
+
if (p(e)) {
|
52
|
+
const r = e;
|
53
|
+
return typeof r.type == "string" && H.has(r.type.toUpperCase()) ? !0 : c(r.props.children);
|
54
|
+
}
|
55
|
+
return !1;
|
56
|
+
}, L = ({
|
57
|
+
children: e,
|
58
|
+
length: r = 200,
|
59
|
+
mode: o = "system",
|
60
|
+
focusMode: m = "system",
|
61
|
+
enableRichTruncation: a = !1
|
62
|
+
}) => {
|
63
|
+
const [s, f] = C(!1), h = typeof e != "string" && !a, d = u(() => typeof e == "string" ? e : l(e), [e]), { string: T, isTruncated: t } = u(() => D({ string: d, idealLength: r }), [d, r]), y = (E) => {
|
64
|
+
E.preventDefault(), f(!s);
|
65
|
+
};
|
66
|
+
if (h)
|
67
|
+
return /* @__PURE__ */ n(b, { children: e });
|
68
|
+
let i;
|
69
|
+
t ? s ? i = e : i = T : i = e;
|
70
|
+
const g = a ? c(e) : !1;
|
71
|
+
return /* @__PURE__ */ A(
|
72
|
+
"span",
|
73
|
+
{
|
74
|
+
style: { wordBreak: "break-word" },
|
75
|
+
"data-testid": "truncate-root",
|
76
|
+
"aria-expanded": t ? s : void 0,
|
77
|
+
children: [
|
78
|
+
i,
|
79
|
+
t && /* @__PURE__ */ n(
|
80
|
+
M,
|
81
|
+
{
|
82
|
+
mode: o,
|
83
|
+
focusMode: m,
|
84
|
+
className: a && s && g ? void 0 : "ml-2",
|
85
|
+
size: "small",
|
86
|
+
onClick: y,
|
87
|
+
"aria-label": s ? "Show less" : "Show more",
|
88
|
+
children: s ? "less..." : "more..."
|
89
|
+
}
|
90
|
+
)
|
91
|
+
]
|
92
|
+
}
|
93
|
+
);
|
94
|
+
};
|
95
|
+
/*!
|
96
|
+
@versini/ui-truncate v5.1.0
|
97
|
+
© 2025 gizmette.com
|
98
|
+
*/
|
99
|
+
try {
|
100
|
+
window.__VERSINI_UI_TRUNCATE__ || (window.__VERSINI_UI_TRUNCATE__ = {
|
101
|
+
version: "5.1.0",
|
102
|
+
buildTime: "09/11/2025 10:22 AM EDT",
|
103
|
+
homepage: "https://github.com/aversini/ui-components",
|
104
|
+
license: "MIT"
|
105
|
+
});
|
106
|
+
} catch {
|
107
|
+
}
|
108
|
+
const B = ({ content: e }) => {
|
109
|
+
const [r, o] = _();
|
110
|
+
return I(() => {
|
111
|
+
e && o(e);
|
112
|
+
}, [e, o]), /* @__PURE__ */ n(
|
113
|
+
w,
|
114
|
+
{
|
115
|
+
tail: !0,
|
116
|
+
copyToClipboardMode: "dark",
|
117
|
+
copyToClipboardFocusMode: "light",
|
118
|
+
copyToClipboard: e,
|
119
|
+
kind: "right",
|
120
|
+
className: "mt-3 prose-p:m-0",
|
121
|
+
children: /* @__PURE__ */ n(L, { mode: "light", focusMode: "light", enableRichTruncation: !0, children: r })
|
122
|
+
}
|
123
|
+
);
|
124
|
+
};
|
125
|
+
export {
|
126
|
+
B as default
|
127
|
+
};
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { jsxs as _, jsx as t } from "react/jsx-runtime";
|
2
|
-
import { I as V, b as A, Ae as M, ue as S, INFINITE_SCROLL_THRESHOLD as B, CARDS as D, pluralize as H, te as T, numberFormatter as U, ye as W, isProbablyMobile as F, y as P, i$1 as L, E as G } from "./index.
|
3
|
-
import { e as w, st as E, p$1 as j, z as Y, p$2 as K } from "./App.
|
2
|
+
import { I as V, b as A, Ae as M, ue as S, INFINITE_SCROLL_THRESHOLD as B, CARDS as D, pluralize as H, te as T, numberFormatter as U, ye as W, isProbablyMobile as F, y as P, i$1 as L, E as G } from "./index.yFjbdWat.js";
|
3
|
+
import { e as w, st as E, p$1 as j, z as Y, p$2 as K } from "./App.Buw_7bdF.js";
|
4
4
|
import $, { useContext as N, Fragment as q } from "react";
|
5
5
|
import y from "clsx";
|
6
6
|
const J = ({
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { jsxs as m, jsx as t, Fragment as J } from "react/jsx-runtime";
|
2
|
-
import { I as Q, n as z, INFINITE_SCROLL_LIMIT as H, INFINITE_SCROLL_THRESHOLD as Z, LOCAL_STORAGE_PREFIX as g, LOCAL_STORAGE_SORT_TIMESTAMP as ee, LOCAL_STORAGE_SORT_TOKEN_USAGE as te, LOCAL_STORAGE_SORT as ae, Ae as A, useUserPreferences as re, APP_CLASSNAME as se, mutateCall as N, SERVICE_TYPES as x, setNewProvider as oe, ACTION_SORT as ne, ue as ie, TOAST_CHAT_DELETED as ce, TOAST_PROVIDER_CHANGED as le, useChatsHistory as de, LOCAL_STORAGE_SEARCH as he, HISTORY_TITLE as me, Y as ue, debounce as Se, te as Ce, ACTION_SEARCH as pe } from "./index.
|
3
|
-
import { HistoryContext as M, ChatContext as P, useAiChat as Te, E as D, e as h, ConfirmationPanel as fe, LazyToastContainerWrapper as ye, showErrorToast as Ee, CHAT_SET_PROVIDER as ge, showSuccessToast as Ae, CHAT_SET_STATUS as De, se as _e, a as Ie } from "./App.
|
2
|
+
import { I as Q, n as z, INFINITE_SCROLL_LIMIT as H, INFINITE_SCROLL_THRESHOLD as Z, LOCAL_STORAGE_PREFIX as g, LOCAL_STORAGE_SORT_TIMESTAMP as ee, LOCAL_STORAGE_SORT_TOKEN_USAGE as te, LOCAL_STORAGE_SORT as ae, Ae as A, useUserPreferences as re, APP_CLASSNAME as se, mutateCall as N, SERVICE_TYPES as x, setNewProvider as oe, ACTION_SORT as ne, ue as ie, TOAST_CHAT_DELETED as ce, TOAST_PROVIDER_CHANGED as le, useChatsHistory as de, LOCAL_STORAGE_SEARCH as he, HISTORY_TITLE as me, Y as ue, debounce as Se, te as Ce, ACTION_SEARCH as pe } from "./index.yFjbdWat.js";
|
3
|
+
import { HistoryContext as M, ChatContext as P, useAiChat as Te, E as D, e as h, ConfirmationPanel as fe, LazyToastContainerWrapper as ye, showErrorToast as Ee, CHAT_SET_PROVIDER as ge, showSuccessToast as Ae, CHAT_SET_STATUS as De, se as _e, a as Ie } from "./App.Buw_7bdF.js";
|
4
4
|
import { useRef as R, useState as L, useContext as _, useCallback as Oe, useEffect as V, Suspense as Re, lazy as Le } from "react";
|
5
5
|
const ve = ({
|
6
6
|
className: i,
|
@@ -31,7 +31,7 @@ const ve = ({
|
|
31
31
|
), ke = Le(
|
32
32
|
() => import(
|
33
33
|
/* webpackChunkName: "history-table" */
|
34
|
-
"./ChatHistoryTable.
|
34
|
+
"./ChatHistoryTable.BqB_YJay.js"
|
35
35
|
).then((i) => ({ default: i.ChatHistoryTable }))
|
36
36
|
), be = ({
|
37
37
|
filteredHistory: i,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { createContext as xe, createSignal as z, onMount as Dt, createEffect as B, createMemo as q, createComponent as m, Portal as qo, memo as me, Show as R, template as _, insert as k, createRenderEffect as N, className as A, clearDelegatedEvents as bs, delegateEvents as ir, useContext as we, onCleanup as U, sortFns as Hn, mutationSortFns as Vn, on as ct, setAttribute as D, getSidedProp as xs, use as Dn, batch as ws, getQueryStatusLabel as Ot, getMutationStatusColor as Rt, getQueryStatusColor as $s, getQueryStatusColorByLabel as Cs, displayValue as xn, For as Ss, convertRemToPixels as Kr, untrack as Kt, useTransition as ks, spread as Es, mergeProps as j, createRoot as Br, serialize as Ms, Index as Ds, updateNestedDataByPath as sr, addEventListener as As, stringify as Ts, Match as zn, Switch as Fs, deleteNestedDataByPath as Is, createUniqueId as Be, splitProps as X, Dynamic as Ps, createComputed as Ls, getPreferredColorScheme as Os } from "./index.
|
1
|
+
import { createContext as xe, createSignal as z, onMount as Dt, createEffect as B, createMemo as q, createComponent as m, Portal as qo, memo as me, Show as R, template as _, insert as k, createRenderEffect as N, className as A, clearDelegatedEvents as bs, delegateEvents as ir, useContext as we, onCleanup as U, sortFns as Hn, mutationSortFns as Vn, on as ct, setAttribute as D, getSidedProp as xs, use as Dn, batch as ws, getQueryStatusLabel as Ot, getMutationStatusColor as Rt, getQueryStatusColor as $s, getQueryStatusColorByLabel as Cs, displayValue as xn, For as Ss, convertRemToPixels as Kr, untrack as Kt, useTransition as ks, spread as Es, mergeProps as j, createRoot as Br, serialize as Ms, Index as Ds, updateNestedDataByPath as sr, addEventListener as As, stringify as Ts, Match as zn, Switch as Fs, deleteNestedDataByPath as Is, createUniqueId as Be, splitProps as X, Dynamic as Ps, createComputed as Ls, getPreferredColorScheme as Os } from "./index.yFjbdWat.js";
|
2
2
|
var qs = (e) => e != null, _s = (e) => e.filter(qs);
|
3
3
|
function Rs(e) {
|
4
4
|
return (...t) => {
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { jsxs as t, Fragment as m, jsx as e } from "react/jsx-runtime";
|
2
|
-
import { se as h } from "./App.
|
3
|
-
import { n as S, i as R, S as a, renderDataAsList as N, CARDS as r, it as P, isTauri as u, te as T, l as E, L as p, j as l, PROFILE_TITLE as C } from "./index.
|
2
|
+
import { se as h } from "./App.Buw_7bdF.js";
|
3
|
+
import { n as S, i as R, S as a, renderDataAsList as N, CARDS as r, it as P, isTauri as u, te as T, l as E, L as p, j as l, PROFILE_TITLE as C } from "./index.yFjbdWat.js";
|
4
4
|
const A = () => {
|
5
5
|
const { isAuthenticated: n, user: i, registeringForPasskey: o, authenticationType: c } = S(), d = R(), s = i?.username || "";
|
6
6
|
return n && s ? /* @__PURE__ */ t(m, { children: [
|