@versini/sassysaint 8.115.1 → 8.117.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 (83) hide show
  1. package/dist/chunks/{AboutChangelog.h8uZDiRa.js → AboutChangelog.Bn_KfUZc.js} +2 -2
  2. package/dist/chunks/{AboutEntry.Dm-VAlos.js → AboutEntry.GETrm77g.js} +7 -7
  3. package/dist/chunks/{App.kZ7zFOCZ.js → App.BzCbkgv8.js} +2478 -2344
  4. package/dist/chunks/BubbleActions.CbQ9BHWl.js +174 -0
  5. package/dist/chunks/{ButtonIconDelete.CMTWH4G_.js → ButtonIconDelete.B5IpSZrD.js} +112 -100
  6. package/dist/chunks/{Chart.DjDJmuv4.js → Chart.Czhhtzdx.js} +2 -2
  7. package/dist/chunks/{ChatBubbleAssistant.Ct1kuBfY.js → ChatBubbleAssistant.DESMaXGq.js} +682 -663
  8. package/dist/chunks/{ChatBubbleUser.DWjAo_57.js → ChatBubbleUser.B_Sniupu.js} +39 -33
  9. package/dist/chunks/{ChatHistoryTable.CPGJDP3u.js → ChatHistoryTable.LPF05gFQ.js} +136 -110
  10. package/dist/chunks/{HistoryEntry.vorKgBkE.js → HistoryEntry.CbyRX9rD.js} +148 -138
  11. package/dist/chunks/{LoginEntry.DMTx7dAX.js → LoginEntry.Bf8vuUIL.js} +4 -4
  12. package/dist/chunks/{LogoEntry.QCG_Oqpu.js → LogoEntry.yn5_B-fa.js} +193 -176
  13. package/dist/chunks/{MemoriesEntry.NKPDzd6E.js → MemoriesEntry.Bljvi6W9.js} +5 -5
  14. package/dist/chunks/{ProfileEntry.D4nsWyk-.js → ProfileEntry.DitROf-m.js} +4 -4
  15. package/dist/chunks/SettingsEntry.DUMuo462.js +446 -0
  16. package/dist/chunks/{UsageEntry.3E-1gpeB.js → UsageEntry.CFMWYodz.js} +5 -5
  17. package/dist/chunks/{_baseUniq.C9w-5slz.js → _baseUniq.D6y3dh-S.js} +1 -1
  18. package/dist/chunks/{arc.Bhkeu8Ne.js → arc.CitIvzp8.js} +1 -1
  19. package/dist/chunks/{architecture-U656AL7Q.BQ0dLOXF.js → architecture-U656AL7Q.IEP3vDFZ.js} +1 -1
  20. package/dist/chunks/{architectureDiagram-VXUJARFQ.PMB1snGu.js → architectureDiagram-VXUJARFQ.BhDBUrYi.js} +4 -4
  21. package/dist/chunks/{blockDiagram-VD42YOAC.cc6SS-Ut.js → blockDiagram-VD42YOAC.BFTM8GAn.js} +5 -5
  22. package/dist/chunks/{browser.-b7MIoe3.js → browser.DK_o_vwl.js} +1 -1
  23. package/dist/chunks/{c4Diagram-YG6GDRKO.CkH4zhHB.js → c4Diagram-YG6GDRKO.B1vLaqvZ.js} +2 -2
  24. package/dist/chunks/{channel.BZF7A0lk.js → channel.PCRnhDz7.js} +1 -1
  25. package/dist/chunks/{chunk-4BX2VUAB.Cp0rcpX_.js → chunk-4BX2VUAB.C6rU7w6S.js} +1 -1
  26. package/dist/chunks/{chunk-55IACEB6.vT382srr.js → chunk-55IACEB6.BpJZHN1o.js} +1 -1
  27. package/dist/chunks/{chunk-B4BG7PRW.D1UQqJBC.js → chunk-B4BG7PRW.F4PL3cMr.js} +4 -4
  28. package/dist/chunks/{chunk-DI55MBZ5.BGj41J2L.js → chunk-DI55MBZ5.BF8GKejt.js} +3 -3
  29. package/dist/chunks/{chunk-FMBD7UC4.DbK41wsg.js → chunk-FMBD7UC4.B1OYwU0R.js} +1 -1
  30. package/dist/chunks/{chunk-QN33PNHL.CKXkOIKW.js → chunk-QN33PNHL.BD5brt5t.js} +1 -1
  31. package/dist/chunks/{chunk-QZHKN3VN.BqCNNrna.js → chunk-QZHKN3VN.D5WYYv36.js} +1 -1
  32. package/dist/chunks/{chunk-TZMSLE5B.GMeazl5c.js → chunk-TZMSLE5B.C-MZAsEe.js} +1 -1
  33. package/dist/chunks/{classDiagram-2ON5EDUG.D9HdU8dF.js → classDiagram-2ON5EDUG.C5vYqJ4o.js} +2 -2
  34. package/dist/chunks/{classDiagram-v2-WZHVMYZB.D9HdU8dF.js → classDiagram-v2-WZHVMYZB.C5vYqJ4o.js} +2 -2
  35. package/dist/chunks/{clone.BvA919-S.js → clone.REJ_Pnlj.js} +1 -1
  36. package/dist/chunks/{cose-bilkent-S5V4N54A.Cgu7-tFO.js → cose-bilkent-S5V4N54A.DXqAwGZ0.js} +2 -2
  37. package/dist/chunks/{dagre-6UL2VRFP.BknfeRUw.js → dagre-6UL2VRFP.CoGy5JIV.js} +5 -5
  38. package/dist/chunks/{diagram-PSM6KHXK.C_6k_6p5.js → diagram-PSM6KHXK.D9vCcidT.js} +4 -4
  39. package/dist/chunks/{diagram-QEK2KX5R.DJy76ACj.js → diagram-QEK2KX5R.6csREdR0.js} +3 -3
  40. package/dist/chunks/{diagram-S2PKOQOG.CfC-dKeX.js → diagram-S2PKOQOG.YPf4qVIj.js} +3 -3
  41. package/dist/chunks/{erDiagram-Q2GNP2WA.Dq-M4wvK.js → erDiagram-Q2GNP2WA.CGV8xXOX.js} +4 -4
  42. package/dist/chunks/{flowDiagram-NV44I4VS.CWEOg9vI.js → flowDiagram-NV44I4VS.eQKIimm7.js} +5 -5
  43. package/dist/chunks/{ganttDiagram-JELNMOA3.B7lZEF5Y.js → ganttDiagram-JELNMOA3.BazHhqv4.js} +2 -2
  44. package/dist/chunks/{gitGraph-F6HP7TQM.BpsZ10rD.js → gitGraph-F6HP7TQM.Cb-fQXsF.js} +1 -1
  45. package/dist/chunks/{gitGraphDiagram-NY62KEGX.BEr46lqB.js → gitGraphDiagram-NY62KEGX.Dvqk5LX3.js} +4 -4
  46. package/dist/chunks/{graph.duUTsfAo.js → graph.CgbRK_Pv.js} +2 -2
  47. package/dist/chunks/{index.C7L6Qy0p.js → index.BEg4_Utt.js} +1 -1
  48. package/dist/chunks/{index.CQB6p5rc.js → index.BMJ9q_CF.js} +3 -3
  49. package/dist/chunks/{index.BEImwMfM.js → index.BkL02aS1.js} +3 -3
  50. package/dist/chunks/{index.BocHTBAX.js → index.BkPtehbe.js} +1 -1
  51. package/dist/chunks/{index.CZzUkzEP.js → index.Bzms2RRF.js} +1 -1
  52. package/dist/chunks/{index.1lyseSZD.js → index.CX_kqcF4.js} +1 -1
  53. package/dist/chunks/{index.Duppkty5.js → index.DzZEadJV.js} +1 -1
  54. package/dist/chunks/{index.D5GVHxAW.js → index.OAZ5W9VH.js} +5 -2
  55. package/dist/chunks/{index.C8LhNQL3.js → index.hL-ju5aR.js} +1 -1
  56. package/dist/chunks/{info-NVLQJR56.rpoj5hAd.js → info-NVLQJR56.53x0eQWW.js} +1 -1
  57. package/dist/chunks/{infoDiagram-WHAUD3N6.1qgGbBxV.js → infoDiagram-WHAUD3N6.BlrSZ-3e.js} +2 -2
  58. package/dist/chunks/{journeyDiagram-XKPGCS4Q.BrzX8o5P.js → journeyDiagram-XKPGCS4Q.CJqy8tkA.js} +4 -4
  59. package/dist/chunks/{kanban-definition-3W4ZIXB7.CuQZY6Sy.js → kanban-definition-3W4ZIXB7.CRKN0s6T.js} +2 -2
  60. package/dist/chunks/{layout.Ch_nETSB.js → layout.B3vPW_pZ.js} +4 -4
  61. package/dist/chunks/{mermaid-parser.core.Bqz_hY8U.js → mermaid-parser.core.ChRIRaJW.js} +10 -10
  62. package/dist/chunks/{min.B-XpJzFe.js → min.CnRvIY0R.js} +2 -2
  63. package/dist/chunks/{mindmap-definition-VGOIOE7T.DM10BWV6.js → mindmap-definition-VGOIOE7T.D_ABLFPV.js} +4 -4
  64. package/dist/chunks/{packet-BFZMPI3H.DxbiL8bi.js → packet-BFZMPI3H.CxGfStzw.js} +1 -1
  65. package/dist/chunks/{pie-7BOR55EZ.DlLaqQ8p.js → pie-7BOR55EZ.DNt3EJ4F.js} +1 -1
  66. package/dist/chunks/{pieDiagram-ADFJNKIX.PKqZ_L7B.js → pieDiagram-ADFJNKIX.DIQfkreO.js} +4 -4
  67. package/dist/chunks/{quadrantDiagram-AYHSOK5B.4Y46BKFd.js → quadrantDiagram-AYHSOK5B.CiwquW9n.js} +1 -1
  68. package/dist/chunks/{radar-NHE76QYJ.Bu4ymprr.js → radar-NHE76QYJ.BjalOWfU.js} +1 -1
  69. package/dist/chunks/{rehype-mermaid.BhbxArqE.js → rehype-mermaid.DiVW4LDn.js} +33 -33
  70. package/dist/chunks/{requirementDiagram-UZGBJVZJ.DdL8pOOk.js → requirementDiagram-UZGBJVZJ.zxucHbPP.js} +3 -3
  71. package/dist/chunks/{sankeyDiagram-TZEHDZUN.DHQdQ9qa.js → sankeyDiagram-TZEHDZUN.DD-PyOn-.js} +1 -1
  72. package/dist/chunks/{sequenceDiagram-WL72ISMW.CUg9rPpB.js → sequenceDiagram-WL72ISMW.DR9lsGWA.js} +3 -3
  73. package/dist/chunks/{stateDiagram-FKZM4ZOC.CRkwSlLY.js → stateDiagram-FKZM4ZOC.CsNkAXRg.js} +4 -4
  74. package/dist/chunks/{stateDiagram-v2-4FDKWEC3.BLmOYFdB.js → stateDiagram-v2-4FDKWEC3.8NFC4sNp.js} +2 -2
  75. package/dist/chunks/{timeline-definition-IT6M3QCI.DouwaOHK.js → timeline-definition-IT6M3QCI.KVweqk-o.js} +2 -2
  76. package/dist/chunks/{treemap-KMMF4GRG.DSo16U9j.js → treemap-KMMF4GRG.VQYaLH7h.js} +1 -1
  77. package/dist/chunks/{useMarkdown.dHVgqkuN.js → useMarkdown.BwBe50mc.js} +8 -8
  78. package/dist/chunks/{xychartDiagram-PRI3JC2R.CQx23hyH.js → xychartDiagram-PRI3JC2R.DLJNhHkJ.js} +1 -1
  79. package/dist/components/SassySaint/SassySaint.js +1 -1
  80. package/dist/index.js +3 -3
  81. package/package.json +4 -4
  82. package/dist/chunks/Bubble.CaOJA6px.js +0 -144
  83. package/dist/chunks/SettingsEntry.ktYNthLp.js +0 -456
@@ -0,0 +1,174 @@
1
+ import { jsxs as C, Fragment as B, jsx as t } from "react/jsx-runtime";
2
+ import { n as v, useUserPreferences as A } from "./index.OAZ5W9VH.js";
3
+ import { ButtonIcon as h, IconCopied as S, IconCopy as I, ChatContext as _, IconBranch as M, TOAST_CHAT_BRANCHED as z } from "./LogoEntry.yn5_B-fa.js";
4
+ import { useState as H, useRef as N, useCallback as g, useEffect as R, useContext as k } from "react";
5
+ import { ResponsiveTooltip as T, useAiChat as E, v4 as O, CHAT_RESET as L, CHAT_SET_ATTACHMENTS as U, CHAT_SET_STATUS as j, showSuccessToast as D, CHAT_SCROLL_TO_BOTTOM as F } from "./App.BzCbkgv8.js";
6
+ const P = ({ children: e, richText: r = !1, mode: a = "system", focusMode: l = "system" }) => {
7
+ const [o, c] = H(!1), n = N(null), p = g(async () => {
8
+ if (navigator.clipboard)
9
+ try {
10
+ if (r && n.current && typeof ClipboardItem < "u" && typeof navigator.clipboard.write == "function") {
11
+ const i = n.current.innerHTML, s = n.current.innerText, d = new ClipboardItem({
12
+ "text/html": new Blob([
13
+ i
14
+ ], {
15
+ type: "text/html"
16
+ }),
17
+ "text/plain": new Blob([
18
+ s
19
+ ], {
20
+ type: "text/plain"
21
+ })
22
+ });
23
+ await navigator.clipboard.write([
24
+ d
25
+ ]);
26
+ } else if (typeof e == "string" && typeof navigator.clipboard.writeText == "function")
27
+ await navigator.clipboard.writeText(e);
28
+ else if (n.current && typeof navigator.clipboard.writeText == "function")
29
+ await navigator.clipboard.writeText(n.current.innerText);
30
+ else
31
+ return;
32
+ c(!0);
33
+ } catch {
34
+ }
35
+ }, [
36
+ e,
37
+ r
38
+ ]);
39
+ return R(() => {
40
+ let i;
41
+ return o && (i = window.setTimeout(() => {
42
+ c(!1);
43
+ }, 3e3)), () => {
44
+ clearTimeout(i);
45
+ };
46
+ }, [
47
+ o
48
+ ]), e ? /* @__PURE__ */ C(B, {
49
+ children: [
50
+ (r || typeof e != "string") && /* @__PURE__ */ t("span", {
51
+ ref: n,
52
+ className: "sr-only",
53
+ "aria-hidden": "true",
54
+ children: e
55
+ }),
56
+ /* @__PURE__ */ t(h, {
57
+ noBorder: !0,
58
+ noBackground: !0,
59
+ size: "small",
60
+ mode: a,
61
+ focusMode: l,
62
+ label: o ? "Copied to clipboard" : "Copy to clipboard",
63
+ onClick: p,
64
+ disabled: o,
65
+ children: o ? /* @__PURE__ */ t(S, {
66
+ size: "size-3"
67
+ }) : /* @__PURE__ */ t(I, {
68
+ size: "size-3"
69
+ })
70
+ })
71
+ ]
72
+ }) : null;
73
+ }, q = ({
74
+ streaming: e,
75
+ content: r,
76
+ placement: a = "top"
77
+ }) => /* @__PURE__ */ t(
78
+ T,
79
+ {
80
+ label: "Copy to clipboard",
81
+ mode: "light",
82
+ placement: a,
83
+ trigger: /* @__PURE__ */ t(P, { mode: "light", focusMode: "light", children: e ? "loading..." : r })
84
+ }
85
+ ), W = ({
86
+ streaming: e,
87
+ content: r,
88
+ messageIndex: a,
89
+ messages: l,
90
+ annotations: o
91
+ }) => {
92
+ const { user: c, getAccessToken: n } = v(), { data: p } = A({
93
+ user: c?.username,
94
+ getAccessToken: n
95
+ }), {
96
+ state: { privateChat: u, restoredModel: i },
97
+ dispatch: s,
98
+ setChatId: d,
99
+ setInitialMessages: f
100
+ } = k(_), { setInput: m } = E(), b = p?.useBranchNewChat || !1, y = g(() => {
101
+ if (a === void 0 || !l)
102
+ return;
103
+ const w = l.slice(0, a + 1), x = O();
104
+ m(""), d(x), f(w), s({
105
+ type: L,
106
+ payload: {
107
+ privateChat: u,
108
+ reasoningText: !1
109
+ }
110
+ }), s({
111
+ type: U,
112
+ payload: {
113
+ attachments: 0
114
+ }
115
+ }), s({
116
+ type: j,
117
+ payload: {
118
+ streaming: !1,
119
+ loading: !1,
120
+ restoring: !1,
121
+ restoredModel: o?.model || i || "",
122
+ restoredTimestamp: String(Date.now()),
123
+ tokenUsage: -1
124
+ }
125
+ }), D(z, {
126
+ containerId: "toggle-save",
127
+ autoClose: 3e3
128
+ }), s({ type: F });
129
+ }, [
130
+ a,
131
+ l,
132
+ m,
133
+ d,
134
+ f,
135
+ s,
136
+ u,
137
+ o,
138
+ i
139
+ ]);
140
+ return /* @__PURE__ */ C("div", { className: "flex flex-col items-center", children: [
141
+ /* @__PURE__ */ t(
142
+ q,
143
+ {
144
+ streaming: e,
145
+ content: r,
146
+ placement: "right"
147
+ }
148
+ ),
149
+ b && /* @__PURE__ */ t(
150
+ T,
151
+ {
152
+ label: "Start new chat from here",
153
+ mode: "light",
154
+ placement: "right",
155
+ trigger: /* @__PURE__ */ t(
156
+ h,
157
+ {
158
+ size: "small",
159
+ noBorder: !0,
160
+ noBackground: !0,
161
+ mode: "light",
162
+ label: "Start new chat from here",
163
+ onClick: y,
164
+ children: /* @__PURE__ */ t(M, { monotone: !0, size: "size-3", className: "text-copy-light" })
165
+ }
166
+ )
167
+ }
168
+ )
169
+ ] });
170
+ };
171
+ export {
172
+ W as BubbleActions,
173
+ q as BubbleCopyToClipboard
174
+ };
@@ -1,18 +1,18 @@
1
- import { jsx as s, jsxs as m, Fragment as C } from "react/jsx-runtime";
2
- import o from "clsx";
3
- import { ButtonIcon as x, TableCellSortDirections as k, IconSortUp as w, IconSortDown as N, IconSort as T, IconDelete as W } from "./LogoEntry.QCG_Oqpu.js";
4
- import R, { useContext as y } from "react";
5
- import { ResponsiveTooltip as S } from "./App.kZ7zFOCZ.js";
6
- function z({ children: e, mode: t = "system", className: r, active: a = !1, ref: l, ...n }) {
7
- const c = a ? o("relative", "focus-within:static", "focus-within:after:border-transparent", "after:absolute", "after:content-['']", "after:border-b-2", "after:-bottom-1", "after:left-0", "after:right-0", {
1
+ import { jsx as s, jsxs as k, Fragment as w } from "react/jsx-runtime";
2
+ import c from "clsx";
3
+ import { ButtonIcon as C, TableCellSortDirections as m, IconSortUp as N, IconSortDown as T, IconSort as W, IconDelete as E } from "./LogoEntry.yn5_B-fa.js";
4
+ import f, { useContext as y } from "react";
5
+ import { ResponsiveTooltip as R } from "./App.BzCbkgv8.js";
6
+ function S({ children: e, mode: t = "system", className: r, active: a = !1, ref: l, ...n }) {
7
+ const o = a ? c("relative", "focus-within:static", "focus-within:after:border-transparent", "after:absolute", "after:content-['']", "after:border-b-2", "after:-bottom-1", "after:left-0", "after:right-0", {
8
8
  "after:border-table-light": t === "dark",
9
9
  "after:border-table-dark": t === "light",
10
10
  "after:border-table-light dark:after:border-table-dark": t === "system",
11
11
  "after:border-table-dark dark:after:border-table-light": t === "alt-system"
12
12
  }) : "";
13
13
  return /* @__PURE__ */ s("div", {
14
- className: c,
15
- children: /* @__PURE__ */ s(x, {
14
+ className: o,
15
+ children: /* @__PURE__ */ s(C, {
16
16
  className: r,
17
17
  ref: l,
18
18
  mode: t,
@@ -24,35 +24,35 @@ function z({ children: e, mode: t = "system", className: r, active: a = !1, ref:
24
24
  })
25
25
  });
26
26
  }
27
- const p = R.createContext({
27
+ const p = f.createContext({
28
28
  mode: "light",
29
29
  cellWrapper: "thead",
30
30
  stickyHeader: !1,
31
31
  stickyFooter: !1,
32
32
  compact: !1
33
33
  });
34
- const u = "thead", f = "tfoot", v = "tbody", E = ({ mode: e }) => o("size-8", "align-[-0.125em]", "border-4", "inline-block animate-spin rounded-full border-solid border-current border-r-transparent motion-reduce:animate-[spin_1.5s_linear_infinite]", {
34
+ const u = "thead", v = "tfoot", x = "tbody", z = ({ mode: e }) => c("size-8", "align-[-0.125em]", "border-4", "inline-block animate-spin rounded-full border-solid border-current border-r-transparent motion-reduce:animate-[spin_1.5s_linear_infinite]", {
35
35
  "text-copy-dark": e === "light",
36
36
  "text-copy-light": e === "dark",
37
37
  "text-copy-dark dark:text-copy-light": e === "alt-system",
38
38
  "text-copy-light dark:text-copy-dark": e === "system"
39
39
  }), B = ({ mode: e }) => ({
40
40
  inner: "relative",
41
- overlay: o("absolute inset-0 z-20 cursor-not-allowed", "backdrop-blur-xs bg-white/30 dark:bg-black/30"),
42
- spinnerWrapper: o("absolute z-30 top-0 left-0 right-0 h-[min(100%,100vh)]", "flex items-center justify-center", "pointer-events-none"),
43
- spinner: E({
41
+ overlay: c("absolute inset-0 z-20 cursor-not-allowed", "backdrop-blur-xs bg-white/30 dark:bg-black/30"),
42
+ spinnerWrapper: c("absolute z-30 top-0 left-0 right-0 h-[min(100%,100vh)]", "flex items-center justify-center", "pointer-events-none"),
43
+ spinner: z({
44
44
  mode: e
45
45
  })
46
46
  }), L = ({ mode: e, className: t, wrapperClassName: r, stickyHeader: a, stickyFooter: l, disabled: n }) => {
47
- const c = n ? B({
47
+ const o = n ? B({
48
48
  mode: e
49
49
  }) : null;
50
50
  return {
51
- overlay: c?.overlay ?? "",
52
- inner: c?.inner ?? "",
53
- spinnerWrapper: c?.spinnerWrapper ?? "",
54
- spinner: c?.spinner ?? "",
55
- wrapper: o("not-prose relative w-full rounded-lg shadow-md", {
51
+ overlay: o?.overlay ?? "",
52
+ inner: o?.inner ?? "",
53
+ spinnerWrapper: o?.spinnerWrapper ?? "",
54
+ spinner: o?.spinner ?? "",
55
+ wrapper: c("not-prose relative w-full rounded-lg shadow-md", {
56
56
  "overflow-x-auto": !a && !l && !n,
57
57
  "overflow-y-scroll": (a || l) && !n,
58
58
  "overflow-hidden": n,
@@ -65,37 +65,37 @@ const u = "thead", f = "tfoot", v = "tbody", E = ({ mode: e }) => o("size-8", "a
65
65
  "text-copy-light dark:text-copy-dark": e === "system",
66
66
  "text-copy-dark dark:text-copy-light": e === "alt-system"
67
67
  }, r),
68
- table: o("my-0 w-full text-left text-sm", t, {
68
+ table: c("my-0 w-full text-left text-sm", t, {
69
69
  "text-copy-light": e === "dark",
70
70
  "text-copy-dark": e === "light",
71
71
  "text-copy-light dark:text-copy-dark": e === "system",
72
72
  "text-copy-dark dark:text-copy-light": e === "alt-system"
73
73
  }),
74
- caption: o("py-2 text-sm font-bold", {
74
+ caption: c("py-2 text-sm font-bold", {
75
75
  "text-copy-light": e === "dark",
76
76
  "text-copy-dark": e === "light",
77
77
  "text-copy-light dark:text-copy-dark": e === "system",
78
78
  "text-copy-dark dark:text-copy-light": e === "alt-system"
79
79
  })
80
80
  };
81
- }, j = ({ className: e, stickyHeader: t, mode: r }) => o({
81
+ }, j = ({ className: e, stickyHeader: t, mode: r }) => c({
82
82
  "sticky top-0 z-10": t,
83
83
  "shadow-[rgb(190_190_190_/20%)_0_0.5rem_1rem]": t && r === "dark",
84
84
  "shadow-[rgb(190_190_190_/20%)_0_0.5rem_1rem] dark:shadow-[rgb(65_65_65_/30%)_0_0.5rem_1rem]": t && r === "system",
85
85
  "shadow-[rgb(65_65_65_/30%)_0_0.5rem_1rem]": t && r === "light",
86
86
  "shadow-[rgb(65_65_65_/30%)_0_0.5rem_1rem] dark:shadow-[rgb(190_190_190_/20%)_0_0.5rem_1rem]": t && r === "alt-system"
87
- }, e), A = ({ className: e, stickyFooter: t, mode: r }) => o({
87
+ }, e), A = ({ className: e, stickyFooter: t, mode: r }) => c({
88
88
  "sticky bottom-0 z-10": t,
89
89
  "shadow-[rgb(190_190_190_/20%)_0_-0.5rem_1rem]": t && r === "dark",
90
90
  "shadow-[rgb(190_190_190_/20%)_0_-0.5rem_1rem] dark:shadow-[rgb(65_65_65_/30%)_0_-0.5rem_1rem]": t && r === "system",
91
91
  "shadow-[rgb(65_65_65_/30%)_0_-0.5rem_1rem]": t && r === "light",
92
92
  "shadow-[rgb(65_65_65_/30%)_-0_0.5rem_1rem] dark:shadow-[rgb(190_190_190_/20%)_0_-0.5rem_1rem]": t && r === "alt-system"
93
- }, e), D = ({ mode: e, className: t, cellWrapper: r }) => r === u || r === f ? o({
93
+ }, e), D = ({ mode: e, className: t, cellWrapper: r }) => r === u || r === v ? c({
94
94
  "bg-table-head-dark": e === "dark" || e === "system",
95
95
  "bg-table-head-light": e === "light" || e === "alt-system",
96
96
  "dark:bg-table-head-light": e === "system",
97
97
  "dark:bg-table-head-dark": e === "alt-system"
98
- }, t) : o("border-b last:border-0", {
98
+ }, t) : c("border-b last:border-0", {
99
99
  "border-table-dark": e === "dark" || e === "system",
100
100
  "border-table-light": e === "light" || e === "alt-system",
101
101
  "dark:border-table-light": e === "system",
@@ -108,51 +108,60 @@ const u = "thead", f = "tfoot", v = "tbody", E = ({ mode: e }) => o("size-8", "a
108
108
  "hover:bg-table-dark-hover dark:hover:bg-table-light-hover": e === "system",
109
109
  "odd:bg-table-light-odd even:bg-table-light-even dark:odd:bg-table-dark-odd dark:even:bg-table-dark-even": e === "alt-system",
110
110
  "hover:bg-table-light-hover dark:hover:bg-table-dark-hover": e === "alt-system"
111
- }, t), P = ({ cellWrapper: e, className: t, compact: r, mode: a, align: l }) => ({
112
- alignClasses: o({
111
+ }, t), P = ({ cellWrapper: e, className: t, compact: r, mode: a, align: l, active: n = !1 }) => ({
112
+ alignClasses: c({
113
113
  "flex justify-start text-left": l === "left",
114
114
  "flex justify-center text-center": l === "center",
115
115
  "flex justify-end text-right": l === "right"
116
116
  }),
117
- mainClasses: o({
117
+ mainClasses: c({
118
118
  "text-copy-light": a === "dark" || a === "system",
119
119
  "text-copy-dark": a === "light" || a === "alt-system",
120
120
  "dark:text-copy-dark": a === "system",
121
121
  "dark:text-copy-light": a === "alt-system",
122
- "px-4 py-3": !r && (e === u || e === f),
123
- "p-4": !r && e === v,
124
- "px-2 py-1.5": r
122
+ "px-4 py-3": !r && (e === u || e === v),
123
+ "p-4": !r && e === x,
124
+ "px-2 py-1.5": r,
125
+ /**
126
+ * Active state - left border indicator on first cell using pseudo-element
127
+ * Inset slightly from top/bottom to avoid overlapping row borders.
128
+ */
129
+ "relative before:absolute before:left-0 before:top-0 before:bottom-0 before:w-1": n,
130
+ "before:bg-table-active-dark": n && a === "dark",
131
+ "before:bg-table-active-light": n && a === "light",
132
+ "before:bg-table-active-dark dark:before:bg-table-active-light": n && a === "system",
133
+ "before:bg-table-active-light dark:before:bg-table-active-dark": n && a === "alt-system"
125
134
  }, t)
126
- }), O = ({ buttonClassName: e }) => o("rounded-none text-sm", e);
127
- const G = ({ children: e, mode: t = "system", caption: r, compact: a, disabled: l = !1, summary: n, className: c, wrapperClassName: g, maxHeight: d, stickyHeader: b, stickyFooter: h, ..._ }) => {
128
- const i = L({
135
+ }), O = ({ buttonClassName: e }) => c("rounded-none text-sm", e);
136
+ const q = ({ children: e, mode: t = "system", caption: r, compact: a, disabled: l = !1, summary: n, className: o, wrapperClassName: d, maxHeight: i, stickyHeader: g, stickyFooter: h, ..._ }) => {
137
+ const b = L({
129
138
  mode: t,
130
- className: c,
131
- wrapperClassName: g,
132
- stickyHeader: b,
139
+ className: o,
140
+ wrapperClassName: d,
141
+ stickyHeader: g,
133
142
  stickyFooter: h,
134
143
  disabled: l
135
144
  });
136
145
  return /* @__PURE__ */ s(p.Provider, {
137
146
  value: {
138
147
  mode: t,
139
- stickyHeader: b,
148
+ stickyHeader: g,
140
149
  stickyFooter: h,
141
150
  compact: a
142
151
  },
143
152
  children: /* @__PURE__ */ s("div", {
144
- className: i.wrapper,
145
- ...d && {
153
+ className: b.wrapper,
154
+ ...i && {
146
155
  style: {
147
- maxHeight: d
156
+ maxHeight: i
148
157
  }
149
158
  },
150
- children: l ? /* @__PURE__ */ m(C, {
159
+ children: l ? /* @__PURE__ */ k(w, {
151
160
  children: [
152
161
  /* @__PURE__ */ s("div", {
153
- className: i.spinnerWrapper,
162
+ className: b.spinnerWrapper,
154
163
  children: /* @__PURE__ */ s("div", {
155
- className: i.spinner,
164
+ className: b.spinner,
156
165
  role: "status",
157
166
  children: /* @__PURE__ */ s("span", {
158
167
  className: "sr-only",
@@ -160,14 +169,14 @@ const G = ({ children: e, mode: t = "system", caption: r, compact: a, disabled:
160
169
  })
161
170
  })
162
171
  }),
163
- /* @__PURE__ */ m("div", {
164
- className: i.inner,
172
+ /* @__PURE__ */ k("div", {
173
+ className: b.inner,
165
174
  children: [
166
175
  /* @__PURE__ */ s("div", {
167
- className: i.overlay
176
+ className: b.overlay
168
177
  }),
169
- /* @__PURE__ */ m("table", {
170
- className: i.table,
178
+ /* @__PURE__ */ k("table", {
179
+ className: b.table,
171
180
  summary: n,
172
181
  ...l && {
173
182
  "aria-disabled": "true"
@@ -175,7 +184,7 @@ const G = ({ children: e, mode: t = "system", caption: r, compact: a, disabled:
175
184
  ..._,
176
185
  children: [
177
186
  r && /* @__PURE__ */ s("caption", {
178
- className: i.caption,
187
+ className: b.caption,
179
188
  children: r
180
189
  }),
181
190
  e
@@ -184,13 +193,13 @@ const G = ({ children: e, mode: t = "system", caption: r, compact: a, disabled:
184
193
  ]
185
194
  })
186
195
  ]
187
- }) : /* @__PURE__ */ m("table", {
188
- className: i.table,
196
+ }) : /* @__PURE__ */ k("table", {
197
+ className: b.table,
189
198
  summary: n,
190
199
  ..._,
191
200
  children: [
192
201
  r && /* @__PURE__ */ s("caption", {
193
- className: i.caption,
202
+ className: b.caption,
194
203
  children: r
195
204
  }),
196
205
  e
@@ -198,7 +207,7 @@ const G = ({ children: e, mode: t = "system", caption: r, compact: a, disabled:
198
207
  })
199
208
  })
200
209
  });
201
- }, H = ({ children: e, className: t, ...r }) => {
210
+ }, G = ({ children: e, className: t, ...r }) => {
202
211
  const a = y(p);
203
212
  a.cellWrapper = u;
204
213
  const l = j({
@@ -211,9 +220,9 @@ const G = ({ children: e, mode: t = "system", caption: r, compact: a, disabled:
211
220
  ...r,
212
221
  children: e
213
222
  });
214
- }, J = ({ children: e, className: t, ...r }) => {
223
+ }, H = ({ children: e, className: t, ...r }) => {
215
224
  const a = y(p);
216
- a.cellWrapper = f;
225
+ a.cellWrapper = v;
217
226
  const l = A({
218
227
  className: t,
219
228
  mode: a.mode,
@@ -224,70 +233,73 @@ const G = ({ children: e, mode: t = "system", caption: r, compact: a, disabled:
224
233
  ...r,
225
234
  children: e
226
235
  });
227
- }, K = ({ children: e, ...t }) => {
236
+ }, J = ({ children: e, ...t }) => {
228
237
  const r = y(p);
229
- return r.cellWrapper = v, /* @__PURE__ */ s("tbody", {
238
+ return r.cellWrapper = x, /* @__PURE__ */ s("tbody", {
230
239
  ...t,
231
240
  children: e
232
241
  });
233
- }, Q = ({ children: e, className: t, ...r }) => {
234
- const a = y(p), l = D({
235
- mode: a.mode,
236
- cellWrapper: a.cellWrapper,
242
+ }, K = ({ children: e, className: t, active: r = !1, ...a }) => {
243
+ const l = y(p), n = D({
244
+ mode: l.mode,
245
+ cellWrapper: l.cellWrapper,
237
246
  className: t
238
- });
247
+ }), o = r && l.cellWrapper === x ? f.Children.map(e, (d, i) => i === 0 && /* @__PURE__ */ f.isValidElement(d) ? /* @__PURE__ */ f.cloneElement(d, {
248
+ _active: !0
249
+ }) : d) : e;
239
250
  return /* @__PURE__ */ s("tr", {
240
- className: l,
241
- ...r,
242
- children: e
251
+ className: n,
252
+ ...a,
253
+ children: o
243
254
  });
244
- }, F = ({ children: e, component: t, className: r, align: a, ...l }) => {
245
- const n = y(p), c = t || (n.cellWrapper === u ? "th" : "td"), { mainClasses: g, alignClasses: d } = P({
246
- cellWrapper: n.cellWrapper,
255
+ }, F = ({ children: e, component: t, className: r, align: a, _active: l, ...n }) => {
256
+ const o = y(p), d = t || (o.cellWrapper === u ? "th" : "td"), { mainClasses: i, alignClasses: g } = P({
257
+ cellWrapper: o.cellWrapper,
247
258
  className: r,
248
- mode: n.mode,
249
- compact: n.compact,
250
- align: a
259
+ mode: o.mode,
260
+ compact: o.compact,
261
+ align: a,
262
+ active: l
251
263
  });
252
- return a ? /* @__PURE__ */ s(c, {
253
- className: g,
254
- ...l,
264
+ return a ? /* @__PURE__ */ s(d, {
265
+ className: i,
266
+ ...n,
255
267
  children: /* @__PURE__ */ s("div", {
256
- className: d,
268
+ className: g,
257
269
  children: e
258
270
  })
259
- }) : /* @__PURE__ */ s(c, {
260
- className: g,
261
- ...l,
271
+ }) : /* @__PURE__ */ s(d, {
272
+ className: i,
273
+ ...n,
262
274
  children: e
263
275
  });
264
- }, V = ({ align: e, children: t, buttonClassName: r, className: a, component: l, focusMode: n = "alt-system", mode: c = "alt-system", onClick: g, sortDirection: d, sortedCell: b, cellId: h, ..._ }) => {
265
- const i = O({
276
+ }, Q = ({ align: e, children: t, buttonClassName: r, className: a, component: l, focusMode: n = "alt-system", mode: o = "alt-system", onClick: d, sortDirection: i, sortedCell: g, cellId: h, ..._ }) => {
277
+ const b = O({
266
278
  buttonClassName: r
267
279
  });
268
280
  return /* @__PURE__ */ s(F, {
269
281
  component: l,
270
282
  className: a,
271
283
  role: "columnheader",
272
- "aria-sort": d === k.ASC && b === h ? "ascending" : d === k.DESC && b === h ? "descending" : "other",
284
+ "aria-sort": i === m.ASC && g === h ? "ascending" : i === m.DESC && g === h ? "descending" : "other",
273
285
  ..._,
274
- children: /* @__PURE__ */ s(z, {
275
- active: b === h,
276
- className: i,
277
- onClick: g,
286
+ children: /* @__PURE__ */ s(S, {
287
+ active: g === h,
288
+ className: b,
289
+ onClick: d,
278
290
  align: e,
279
291
  noBorder: !0,
280
292
  focusMode: n,
281
- mode: c,
293
+ mode: o,
282
294
  fullWidth: !0,
283
295
  labelRight: t,
284
- children: d === k.ASC && b === h ? /* @__PURE__ */ s(w, {
296
+ children: i === m.ASC && g === h ? /* @__PURE__ */ s(N, {
285
297
  className: "size-4",
286
298
  monotone: !0
287
- }) : d === k.DESC && b === h ? /* @__PURE__ */ s(N, {
299
+ }) : i === m.DESC && g === h ? /* @__PURE__ */ s(T, {
288
300
  className: "size-4",
289
301
  monotone: !0
290
- }) : /* @__PURE__ */ s(T, {
302
+ }) : /* @__PURE__ */ s(W, {
291
303
  className: "size-4",
292
304
  monotone: !0
293
305
  })
@@ -298,12 +310,12 @@ const G = ({ children: e, mode: t = "system", caption: r, compact: a, disabled:
298
310
  disabled: t,
299
311
  onClick: r
300
312
  }) => /* @__PURE__ */ s(
301
- S,
313
+ R,
302
314
  {
303
315
  label: e,
304
316
  placement: "top",
305
317
  trigger: /* @__PURE__ */ s(
306
- x,
318
+ C,
307
319
  {
308
320
  noBorder: !0,
309
321
  variant: "primary",
@@ -311,7 +323,7 @@ const G = ({ children: e, mode: t = "system", caption: r, compact: a, disabled:
311
323
  disabled: t,
312
324
  onClick: r,
313
325
  children: /* @__PURE__ */ s(
314
- W,
326
+ E,
315
327
  {
316
328
  size: "size-3",
317
329
  monotone: !0,
@@ -324,11 +336,11 @@ const G = ({ children: e, mode: t = "system", caption: r, compact: a, disabled:
324
336
  );
325
337
  export {
326
338
  X as ButtonIconDelete,
327
- G as Table,
328
- K as TableBody,
339
+ q as Table,
340
+ J as TableBody,
329
341
  F as TableCell,
330
- V as TableCellSort,
331
- J as TableFooter,
332
- H as TableHead,
333
- Q as TableRow
342
+ Q as TableCellSort,
343
+ H as TableFooter,
344
+ G as TableHead,
345
+ K as TableRow
334
346
  };
@@ -1,7 +1,7 @@
1
1
  import { jsx as Pp } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as dn, isProbablyMobile as Op } from "./App.kZ7zFOCZ.js";
2
+ import { getDefaultExportFromCjs as dn, isProbablyMobile as Op } from "./App.BzCbkgv8.js";
3
3
  import Lp, { useMemo as Ep } from "react";
4
- import { TRIMESTERS_SHORT as Ip, TRIMESTERS as on, TIME_RANGES as ls, TIME_RANGE_LABELS as an } from "./LogoEntry.QCG_Oqpu.js";
4
+ import { TRIMESTERS_SHORT as Ip, TRIMESTERS as on, TIME_RANGES as ls, TIME_RANGE_LABELS as an } from "./LogoEntry.yn5_B-fa.js";
5
5
  var hs = { exports: {} }, Dp = hs.exports, nn;
6
6
  function Bp() {
7
7
  return nn || (nn = 1, (function(Ae, pe) {