@versini/sassysaint 8.120.2 → 8.121.1

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 (84) hide show
  1. package/dist/chunks/{AboutChangelog.DoiRugZu.js → AboutChangelog.CueW7QKj.js} +2 -2
  2. package/dist/chunks/{AboutEntry.2lb6aCPw.js → AboutEntry.dQ_4JNsz.js} +7 -7
  3. package/dist/chunks/{App.LXYuxuaD.js → App.6iDkXSOb.js} +16 -16
  4. package/dist/chunks/{BubbleActions.BSynTDf9.js → BubbleActions.DB_SDTs9.js} +3 -3
  5. package/dist/chunks/ButtonIconDelete.B3hYKTP6.js +668 -0
  6. package/dist/chunks/{Chart.D4ePChIu.js → Chart.m2plpxTN.js} +2 -2
  7. package/dist/chunks/{ChatBubbleAssistant.C1YCh4fN.js → ChatBubbleAssistant.DhP5KHH7.js} +5 -5
  8. package/dist/chunks/{ChatBubbleUser.D7rYXigx.js → ChatBubbleUser.DythvYOo.js} +4 -4
  9. package/dist/chunks/HistoryEntry._G88vZeP.js +721 -0
  10. package/dist/chunks/{LoginEntry.DXYZbzqN.js → LoginEntry.BBF4_rEV.js} +4 -4
  11. package/dist/chunks/{LogoEntry.DfnJLwfC.js → LogoEntry.BtwLANob.js} +82 -116
  12. package/dist/chunks/{MemoriesEntry.CWLD3Ziw.js → MemoriesEntry.r2Wtd8nu.js} +34 -35
  13. package/dist/chunks/{ProfileEntry.CF04C2No.js → ProfileEntry.DwGmWxH2.js} +4 -4
  14. package/dist/chunks/{SettingsEntry.CyITTF2y.js → SettingsEntry.D7b4vTwv.js} +5 -5
  15. package/dist/chunks/{UsageEntry.CYDJzsdG.js → UsageEntry.BB5KalRi.js} +5 -5
  16. package/dist/chunks/{_baseUniq.CSGd2q_x.js → _baseUniq.22z3R--R.js} +1 -1
  17. package/dist/chunks/{arc.BJiHJp13.js → arc.Cg0BJN6o.js} +1 -1
  18. package/dist/chunks/{architecture-U656AL7Q.DsDjCJCZ.js → architecture-U656AL7Q.D7Nmp0uq.js} +1 -1
  19. package/dist/chunks/{architectureDiagram-VXUJARFQ.BY-J8uT9.js → architectureDiagram-VXUJARFQ.D58LaEiy.js} +4 -4
  20. package/dist/chunks/{blockDiagram-VD42YOAC.DK7lHaHz.js → blockDiagram-VD42YOAC.BS_n-q2N.js} +5 -5
  21. package/dist/chunks/{browser.BsROFTmt.js → browser.YA6spcA7.js} +1 -1
  22. package/dist/chunks/{c4Diagram-YG6GDRKO.Qe2wImGt.js → c4Diagram-YG6GDRKO.lVOg2-ZH.js} +2 -2
  23. package/dist/chunks/{channel.DePjU_zU.js → channel.DqxR-oS7.js} +1 -1
  24. package/dist/chunks/{chunk-4BX2VUAB.CpiHY6xd.js → chunk-4BX2VUAB.D5lbe9g-.js} +1 -1
  25. package/dist/chunks/{chunk-55IACEB6.D9v7O2f8.js → chunk-55IACEB6.BlgGY9Q6.js} +1 -1
  26. package/dist/chunks/{chunk-B4BG7PRW.CZiUAwII.js → chunk-B4BG7PRW.Bn-86p3H.js} +4 -4
  27. package/dist/chunks/{chunk-DI55MBZ5.CsrXEMzK.js → chunk-DI55MBZ5.C2fqe7wu.js} +3 -3
  28. package/dist/chunks/{chunk-FMBD7UC4.kvQChVDk.js → chunk-FMBD7UC4.8IJZbT_o.js} +1 -1
  29. package/dist/chunks/{chunk-QN33PNHL.C52xMkBM.js → chunk-QN33PNHL.DOV2bTYS.js} +1 -1
  30. package/dist/chunks/{chunk-QZHKN3VN.DoS3CMXU.js → chunk-QZHKN3VN.CM1K8z3e.js} +1 -1
  31. package/dist/chunks/{chunk-TZMSLE5B.DSg6yj4E.js → chunk-TZMSLE5B.CH_b17FM.js} +1 -1
  32. package/dist/chunks/{classDiagram-2ON5EDUG.sF4InxFe.js → classDiagram-2ON5EDUG.DeWSBBaZ.js} +2 -2
  33. package/dist/chunks/{classDiagram-v2-WZHVMYZB.sF4InxFe.js → classDiagram-v2-WZHVMYZB.DeWSBBaZ.js} +2 -2
  34. package/dist/chunks/{clone.CVPkDcM5.js → clone.B0TtmQHA.js} +1 -1
  35. package/dist/chunks/{cose-bilkent-S5V4N54A.BfP6Pw4_.js → cose-bilkent-S5V4N54A.IzOlhIoo.js} +2 -2
  36. package/dist/chunks/{dagre-6UL2VRFP.CDSC4KTt.js → dagre-6UL2VRFP.COZ3hsXn.js} +5 -5
  37. package/dist/chunks/{diagram-PSM6KHXK.BKu8xN5f.js → diagram-PSM6KHXK.JEnBJXhp.js} +4 -4
  38. package/dist/chunks/{diagram-QEK2KX5R.CV6FCkl1.js → diagram-QEK2KX5R.Bb3EEO2D.js} +3 -3
  39. package/dist/chunks/{diagram-S2PKOQOG.CE2fqmGK.js → diagram-S2PKOQOG.B_aUDr5F.js} +3 -3
  40. package/dist/chunks/{erDiagram-Q2GNP2WA.DvPF0zmB.js → erDiagram-Q2GNP2WA.CYpL6V9w.js} +4 -4
  41. package/dist/chunks/{flowDiagram-NV44I4VS.DuwDLdNV.js → flowDiagram-NV44I4VS.CF9-8TaP.js} +5 -5
  42. package/dist/chunks/{ganttDiagram-JELNMOA3.COhtg4Ox.js → ganttDiagram-JELNMOA3.CdE8GB2s.js} +2 -2
  43. package/dist/chunks/{gitGraph-F6HP7TQM.DlTeaeqU.js → gitGraph-F6HP7TQM.BWmUmcZV.js} +1 -1
  44. package/dist/chunks/{gitGraphDiagram-NY62KEGX.D9HKSUvx.js → gitGraphDiagram-NY62KEGX.Cn0Cu7Ww.js} +4 -4
  45. package/dist/chunks/{graph.CVvFC68c.js → graph.B0nity3n.js} +2 -2
  46. package/dist/chunks/{index.BDAcSpU5.js → index.Biab5cek.js} +1 -1
  47. package/dist/chunks/{index.Bk1zpyWs.js → index.BkSC8d7B.js} +3 -3
  48. package/dist/chunks/{index.DGQNdcmV.js → index.C2WmpF2e.js} +1 -1
  49. package/dist/chunks/{index.B8Hpndux.js → index.CAuXCAe5.js} +1 -1
  50. package/dist/chunks/{index.B0rqfWlE.js → index.CJxTPes-.js} +1 -1
  51. package/dist/chunks/{index.D53DWjsz.js → index.Ci5e_98Z.js} +3 -3
  52. package/dist/chunks/{index.I0YKXWDW.js → index.D3dY6con.js} +1 -1
  53. package/dist/chunks/{index.CPrdgeh7.js → index.D_0HoqM8.js} +1 -1
  54. package/dist/chunks/{index.MdqXJbz5.js → index.Ds4-4dzy.js} +316 -344
  55. package/dist/chunks/{info-NVLQJR56.D3stHz25.js → info-NVLQJR56.DfoQxnaP.js} +1 -1
  56. package/dist/chunks/{infoDiagram-WHAUD3N6.BIvDCJy6.js → infoDiagram-WHAUD3N6.CbDQCj4t.js} +2 -2
  57. package/dist/chunks/{journeyDiagram-XKPGCS4Q.BdAmj6HJ.js → journeyDiagram-XKPGCS4Q.BGwMjBf9.js} +4 -4
  58. package/dist/chunks/{kanban-definition-3W4ZIXB7.CqK6qeLd.js → kanban-definition-3W4ZIXB7.CS-TV1ji.js} +2 -2
  59. package/dist/chunks/{layout.BdufB78T.js → layout.DKjnDekM.js} +4 -4
  60. package/dist/chunks/{mermaid-parser.core.VCpWUlic.js → mermaid-parser.core.CBflstHb.js} +10 -10
  61. package/dist/chunks/{min.DgG7zTox.js → min.eDGqv0vt.js} +2 -2
  62. package/dist/chunks/{mindmap-definition-VGOIOE7T.BW-PNhZD.js → mindmap-definition-VGOIOE7T.GckYx6Fd.js} +3 -3
  63. package/dist/chunks/{packet-BFZMPI3H.BUoS4gNB.js → packet-BFZMPI3H.DzGbdOiU.js} +1 -1
  64. package/dist/chunks/{pie-7BOR55EZ.BlIbPo6j.js → pie-7BOR55EZ.CRxLvxJh.js} +1 -1
  65. package/dist/chunks/{pieDiagram-ADFJNKIX.NE-fVH6e.js → pieDiagram-ADFJNKIX.BuekQ8o8.js} +4 -4
  66. package/dist/chunks/{quadrantDiagram-AYHSOK5B.hstKbyhk.js → quadrantDiagram-AYHSOK5B.Cz1W80fL.js} +1 -1
  67. package/dist/chunks/{radar-NHE76QYJ.BWSNlMTC.js → radar-NHE76QYJ.D_eJ0pAQ.js} +1 -1
  68. package/dist/chunks/{rehype-mermaid.CysVWi5J.js → rehype-mermaid.C6vWaLbm.js} +33 -33
  69. package/dist/chunks/{requirementDiagram-UZGBJVZJ.Chaf_g91.js → requirementDiagram-UZGBJVZJ.D29ENfNv.js} +3 -3
  70. package/dist/chunks/{sankeyDiagram-TZEHDZUN.CK88CAhG.js → sankeyDiagram-TZEHDZUN.BkA8zy0e.js} +1 -1
  71. package/dist/chunks/{sequenceDiagram-WL72ISMW.DaHa-qh1.js → sequenceDiagram-WL72ISMW.CohhptW1.js} +3 -3
  72. package/dist/chunks/{stateDiagram-FKZM4ZOC.CkNLPjIg.js → stateDiagram-FKZM4ZOC.DXcdl9T3.js} +4 -4
  73. package/dist/chunks/{stateDiagram-v2-4FDKWEC3.Dzi34EM6.js → stateDiagram-v2-4FDKWEC3.CyTSxcZ6.js} +2 -2
  74. package/dist/chunks/{timeline-definition-IT6M3QCI.BsHG309-.js → timeline-definition-IT6M3QCI.BvhsFWgy.js} +2 -2
  75. package/dist/chunks/{treemap-KMMF4GRG.CiCns-I1.js → treemap-KMMF4GRG.DdhwEUUj.js} +1 -1
  76. package/dist/chunks/{useMarkdown.CYWo-hGo.js → useMarkdown.CdWXCETb.js} +8 -8
  77. package/dist/chunks/{xychartDiagram-PRI3JC2R.xfQd6NZ0.js → xychartDiagram-PRI3JC2R.vlO9NN_Y.js} +1 -1
  78. package/dist/components/SassySaint/SassySaint.js +1 -1
  79. package/dist/index.js +3 -3
  80. package/package.json +3 -3
  81. package/dist/chunks/ButtonIconDelete.wI-EXJFx.js +0 -550
  82. package/dist/chunks/HistoryDataGrid.B7G6X-Tv.js +0 -467
  83. package/dist/chunks/HistoryEntry.DJE028Vp.js +0 -305
  84. package/dist/chunks/InlineFilter.CdKFyOpD.js +0 -123
@@ -0,0 +1,668 @@
1
+ import { jsx as i, jsxs as A, Fragment as pe } from "react/jsx-runtime";
2
+ import ve, { useRef as T, useState as S, useLayoutEffect as L, createContext as ye, useContext as Ce, useCallback as D, useMemo as Q, useId as ke, useEffect as Z } from "react";
3
+ import { IconSearch as xe, Button as He, CellWrapper as E, BlurEffects as B, IconSortUp as Se, IconSortDown as Te, IconSort as we, ButtonIcon as Ne, IconDelete as Ae } from "./LogoEntry.BtwLANob.js";
4
+ import { Card as Ie } from "./index.CAuXCAe5.js";
5
+ import { TextInput as Fe } from "./index.D_0HoqM8.js";
6
+ import f from "clsx";
7
+ import { ResponsiveTooltip as Re } from "./App.6iDkXSOb.js";
8
+ const Be = 300;
9
+ function De(e, n) {
10
+ const { duration: r = Be, enabled: s = !0 } = n ?? {}, t = T(null), [o, a] = S({
11
+ height: "auto",
12
+ isAnimating: !1
13
+ }), c = T(0), u = T(e), l = T(0), d = T(null);
14
+ L(() => {
15
+ if (!t.current || !s)
16
+ return;
17
+ if (c.current === 0) {
18
+ c.current = t.current.offsetHeight, u.current = e;
19
+ return;
20
+ }
21
+ if (u.current === e)
22
+ return;
23
+ u.current = e;
24
+ const m = c.current, h = t.current.scrollHeight;
25
+ if (c.current = h, !(m === h || m === 0))
26
+ return d.current && clearTimeout(d.current), l.current && cancelAnimationFrame(l.current), a({
27
+ height: m,
28
+ isAnimating: !0
29
+ }), l.current = requestAnimationFrame(() => {
30
+ l.current = requestAnimationFrame(() => {
31
+ a({
32
+ height: h,
33
+ isAnimating: !0
34
+ }), d.current = setTimeout(() => {
35
+ a({
36
+ height: "auto",
37
+ isAnimating: !1
38
+ });
39
+ }, r);
40
+ });
41
+ }), () => {
42
+ d.current && clearTimeout(d.current), l.current && cancelAnimationFrame(l.current);
43
+ };
44
+ }, [
45
+ e,
46
+ r,
47
+ s
48
+ ]);
49
+ const g = s ? {
50
+ height: o.height === "auto" ? "auto" : `${o.height}px`,
51
+ overflow: o.isAnimating ? "hidden" : void 0,
52
+ transition: o.isAnimating ? `height ${r}ms ease-out` : void 0
53
+ } : {};
54
+ return {
55
+ ref: t,
56
+ style: g,
57
+ isAnimating: o.isAnimating
58
+ };
59
+ }
60
+ const st = ({ children: e, dependency: n, duration: r, enabled: s = !0, className: t }) => {
61
+ const { ref: o, style: a } = De(n, {
62
+ duration: r,
63
+ enabled: s
64
+ });
65
+ return /* @__PURE__ */ i("div", {
66
+ ref: o,
67
+ style: a,
68
+ className: t,
69
+ children: e
70
+ });
71
+ }, nt = ({
72
+ header: e,
73
+ toggles: n,
74
+ inputSearchRef: r,
75
+ onSearchChange: s,
76
+ onResetSearch: t,
77
+ defaultValue: o,
78
+ resetDisabled: a = !1
79
+ }) => /* @__PURE__ */ A(
80
+ Ie,
81
+ {
82
+ header: e,
83
+ className: "prose-dark dark:prose-lighter mb-4",
84
+ noBorder: !0,
85
+ compact: !0,
86
+ children: [
87
+ /* @__PURE__ */ i(
88
+ Fe,
89
+ {
90
+ placeholder: "Search",
91
+ labelHidden: !0,
92
+ noBorder: !0,
93
+ autoCapitalize: "off",
94
+ autoComplete: "off",
95
+ autoCorrect: "off",
96
+ ref: r,
97
+ defaultValue: o,
98
+ mode: "alt-system",
99
+ name: "Search",
100
+ label: "Search",
101
+ onChange: s,
102
+ className: "my-2",
103
+ rightElement: /* @__PURE__ */ i("div", { className: "dark:text-copy-dark text-copy-light", children: /* @__PURE__ */ i(xe, { monotone: !0, size: "size-3" }) })
104
+ }
105
+ ),
106
+ /* @__PURE__ */ A("div", { className: "flex flex-col justify-between sm:flex-row gap-2 sm:mb-0 mb-1", children: [
107
+ /* @__PURE__ */ i("div", { className: "flex flex-col sm:flex-row gap-2 order-1 sm:order-0", children: n }),
108
+ /* @__PURE__ */ i(
109
+ He,
110
+ {
111
+ mode: "light",
112
+ size: "small",
113
+ disabled: a,
114
+ onClick: t,
115
+ children: "Reset Search"
116
+ }
117
+ )
118
+ ] })
119
+ ]
120
+ }
121
+ );
122
+ const I = ye({
123
+ mode: "system"
124
+ });
125
+ function ot(e) {
126
+ return f("contents", e);
127
+ }
128
+ function at(e, n) {
129
+ const r = Ce(I), s = T([]);
130
+ L(() => {
131
+ const t = e.current, o = r.columns && (r.stickyHeader || r.stickyFooter);
132
+ if (!t || !o || !r.setMeasuredColumnWidths)
133
+ return;
134
+ const a = t.querySelector('[role="row"]');
135
+ if (!a)
136
+ return;
137
+ const c = a.querySelectorAll('[role="cell"], [role="columnheader"], [role="gridcell"]');
138
+ if (c.length === 0)
139
+ return;
140
+ const u = () => {
141
+ const d = Array.from(c).map((h) => h.getBoundingClientRect().width), g = s.current;
142
+ (d.length !== g.length || d.some((h, k) => h !== g[k])) && (s.current = d, r.setMeasuredColumnWidths?.(d));
143
+ };
144
+ u();
145
+ const l = new ResizeObserver(() => {
146
+ u();
147
+ });
148
+ l.observe(t);
149
+ for (const d of c)
150
+ l.observe(d);
151
+ return () => l.disconnect();
152
+ }, [
153
+ r.columns,
154
+ r.stickyHeader,
155
+ r.stickyFooter,
156
+ r.setMeasuredColumnWidths,
157
+ n
158
+ ]);
159
+ }
160
+ const w = (e) => e === "dark", N = (e) => e === "light", b = (e) => e === "system", y = (e) => e === "alt-system", te = (e) => w(e) || b(e), re = (e) => N(e) || y(e), Ee = (e) => !!(e && e !== B.NONE), j = (e) => e === E.HEADER, se = (e) => e === E.FOOTER, ne = "text-copy-light", U = "text-copy-dark", $ = "text-copy-light dark:text-copy-dark", oe = "text-copy-dark dark:text-copy-light", ee = ({ mode: e }) => f({
161
+ [ne]: w(e),
162
+ [U]: N(e),
163
+ [$]: b(e),
164
+ [oe]: y(e)
165
+ }), W = ({ mode: e, hasBlur: n }) => f({
166
+ [U]: w(e) && !n || N(e),
167
+ [$]: b(e) && n,
168
+ "text-copy-dark dark:text-copy-dark": (b(e) || y(e)) && !n
169
+ }), ze = ({ mode: e }) => f({
170
+ "bg-surface-darker": te(e),
171
+ "bg-surface-light": re(e),
172
+ "dark:bg-surface-light": b(e),
173
+ "dark:bg-surface-darker": y(e)
174
+ }), M = ({ hasBlur: e, sticky: n }) => f({
175
+ "bg-surface-medium/50 dark:bg-surface-medium/50": e && n,
176
+ "bg-surface-medium-light dark:bg-surface-medium-light": !e
177
+ }), Oe = ({ mode: e }) => f({
178
+ "border-table-dark": te(e),
179
+ "border-table-light": re(e),
180
+ "dark:border-table-light": b(e),
181
+ "dark:border-table-dark": y(e)
182
+ }), je = ({ blurEffect: e }) => f({
183
+ "backdrop-blur-sm": e === B.SMALL,
184
+ "backdrop-blur-md": e === B.MEDIUM,
185
+ "backdrop-blur-lg": e === B.LARGE
186
+ }), Me = ({ mode: e }) => f("text-lg font-medium", {
187
+ [U]: N(e),
188
+ [ne]: w(e),
189
+ [oe]: y(e),
190
+ [$]: b(e)
191
+ }), Ge = ({ mode: e }) => ({
192
+ inner: "relative",
193
+ overlay: f("absolute inset-0 z-20 cursor-not-allowed rounded-lg", "backdrop-blur-xs bg-white/30 dark:bg-black/30"),
194
+ loadingWrapper: f("absolute z-30 top-0 left-0 right-0 h-[min(100%,100vh)]", "flex items-center justify-center", "pointer-events-none"),
195
+ loadingText: Me({
196
+ mode: e
197
+ })
198
+ }), _e = ({ mode: e, className: n, wrapperClassName: r, stickyHeader: s, stickyFooter: t, loading: o }) => {
199
+ const a = o ? Ge({
200
+ mode: e
201
+ }) : null, c = s || t;
202
+ return {
203
+ overlay: a?.overlay ?? "",
204
+ inner: a?.inner ?? "",
205
+ loadingWrapper: a?.loadingWrapper ?? "",
206
+ loadingText: a?.loadingText ?? "",
207
+ wrapper: f("not-prose relative w-full rounded-lg shadow-md", {
208
+ "overflow-x-auto": !c && !o,
209
+ "overflow-hidden flex flex-col": c || o
210
+ }, ze({
211
+ mode: e
212
+ }), ee({
213
+ mode: e
214
+ }), r),
215
+ scrollableContent: f("overflow-y-auto overflow-x-hidden rounded-[inherit] flex-1 min-h-0"),
216
+ grid: f("my-0 w-full text-left text-sm grid", n, ee({
217
+ mode: e
218
+ }))
219
+ };
220
+ }, Le = ({ className: e, stickyHeader: n, mode: r, blurEffect: s }) => {
221
+ const t = Ee(s), o = W({
222
+ mode: r,
223
+ hasBlur: t
224
+ });
225
+ return n ? f("flex flex-col border-b border-table-medium shadow-md", "absolute left-0 right-0 z-20 top-0 rounded-t-lg", M({
226
+ hasBlur: t,
227
+ sticky: !0
228
+ }), o, je({
229
+ blurEffect: s
230
+ }), e) : f("contents", M({
231
+ hasBlur: t,
232
+ sticky: !1
233
+ }), o, e);
234
+ }, Ue = ({ captionClassName: e, mode: n, hasBlur: r, stickyHeader: s }) => f("py-2 text-sm text-center font-bold col-span-full", W({
235
+ mode: n,
236
+ hasBlur: r
237
+ }), !s && M({
238
+ hasBlur: r,
239
+ sticky: !1
240
+ }), e), _ = "group grid items-center", $e = ({ mode: e, className: n, cellWrapper: r, isLastRow: s, stickyHeader: t, stickyFooter: o }) => {
241
+ if (j(r) || se(r)) {
242
+ const c = j(r);
243
+ return (c ? !t : !o) ? f(_, M({
244
+ hasBlur: !1,
245
+ sticky: !1
246
+ }), c ? "border-b border-table-medium shadow-md" : "border-t border-table-medium", n) : f(_, n);
247
+ }
248
+ return f(_, s !== void 0 ? s ? "border-b border-b-transparent dark:border-b-transparent" : "border-b" : "border-b last:border-0", "hover:bg-surface-medium hover:text-copy-light", Oe({
249
+ mode: e
250
+ }), n);
251
+ }, ae = ({ cellWrapper: e, className: n, compact: r, align: s, mode: t, borderLeft: o, borderRight: a }) => f({
252
+ "px-2 py-1": r,
253
+ "px-4 py-3": !r
254
+ }, {
255
+ "text-left justify-start": s === "left" || !s,
256
+ "text-center justify-center": s === "center",
257
+ "text-right justify-end": s === "right"
258
+ }, {
259
+ "font-bold": j(e) || se(e)
260
+ }, "first:group-data-active:relative", "first:group-data-active:before:absolute first:group-data-active:before:left-0 first:group-data-active:before:top-0 first:group-data-active:before:bottom-0 first:group-data-active:before:w-1", "first:group-data-active:self-stretch first:group-data-active:flex first:group-data-active:items-center", {
261
+ "first:group-data-active:before:bg-table-active-dark": w(t),
262
+ "first:group-data-active:before:bg-table-active-light": N(t),
263
+ "first:group-data-active:before:bg-table-active-dark dark:first:group-data-active:before:bg-table-active-light": b(t),
264
+ "first:group-data-active:before:bg-table-active-light dark:first:group-data-active:before:bg-table-active-dark": y(t)
265
+ }, {
266
+ "self-stretch flex items-center": o || a,
267
+ "border-l border-l-table-dark": o && w(t),
268
+ "border-l border-l-table-light": o && N(t),
269
+ "border-l border-l-table-dark dark:border-l-table-light": o && b(t),
270
+ "border-l border-l-table-light dark:border-l-table-dark": o && y(t),
271
+ "border-r border-r-table-dark": a && w(t),
272
+ "border-r border-r-table-light": a && N(t),
273
+ "border-r border-r-table-dark dark:border-r-table-light": a && b(t),
274
+ "border-r border-r-table-light dark:border-r-table-dark": a && y(t)
275
+ }, n), We = (e) => j(e) ? "columnheader" : "gridcell";
276
+ const qe = ({ className: e, wrapperClassName: n, children: r, mode: s = "system", compact: t = !1, stickyHeader: o = !1, stickyFooter: a = !1, blurEffect: c = B.NONE, maxHeight: u, loading: l = !1, columns: d, ...g }) => {
277
+ const [m, h] = S(0), [k, C] = S(0), [p, z] = S(0), [x, G] = S(0), [O, ie] = S([]), q = D(() => h((v) => v + 1), []), X = D(() => h((v) => v - 1), []), V = D(() => C((v) => v + 1), []), P = D(() => C((v) => v - 1), []), le = m > 0, ce = k > 0, F = o && le, R = a && ce, [de, ue] = S(void 0), Y = D((v) => {
278
+ ue(v);
279
+ }, []), H = Q(() => _e({
280
+ mode: s,
281
+ className: e,
282
+ wrapperClassName: n,
283
+ stickyHeader: F,
284
+ stickyFooter: R,
285
+ loading: !!l
286
+ }), [
287
+ s,
288
+ e,
289
+ n,
290
+ F,
291
+ R,
292
+ l
293
+ ]), fe = Q(() => ({
294
+ mode: s,
295
+ compact: t,
296
+ stickyHeader: F,
297
+ stickyFooter: R,
298
+ blurEffect: c,
299
+ columns: d,
300
+ measuredColumnWidths: O,
301
+ setCaptionId: Y,
302
+ registerHeader: q,
303
+ unregisterHeader: X,
304
+ registerFooter: V,
305
+ unregisterFooter: P,
306
+ setHeaderHeight: z,
307
+ setFooterHeight: G,
308
+ setMeasuredColumnWidths: ie
309
+ }), [
310
+ s,
311
+ t,
312
+ F,
313
+ R,
314
+ c,
315
+ d,
316
+ O,
317
+ Y,
318
+ q,
319
+ X,
320
+ V,
321
+ P
322
+ ]), K = u ? {
323
+ maxHeight: typeof u == "number" ? `${u}px` : u
324
+ } : void 0, ge = {
325
+ ...K,
326
+ paddingTop: F ? p : void 0,
327
+ paddingBottom: R ? x : void 0
328
+ }, he = F || R, me = d ? {
329
+ gridTemplateColumns: d.join(" ")
330
+ } : void 0, J = /* @__PURE__ */ i("div", {
331
+ role: "grid",
332
+ "aria-labelledby": de,
333
+ className: H.grid,
334
+ style: me,
335
+ ...g,
336
+ children: r
337
+ }), be = typeof l == "string" ? l : l ? "Loading..." : null;
338
+ return /* @__PURE__ */ i(I.Provider, {
339
+ value: fe,
340
+ children: /* @__PURE__ */ A("div", {
341
+ className: H.inner,
342
+ children: [
343
+ l && /* @__PURE__ */ A(pe, {
344
+ children: [
345
+ /* @__PURE__ */ i("div", {
346
+ className: H.overlay,
347
+ "aria-hidden": "true"
348
+ }),
349
+ /* @__PURE__ */ i("div", {
350
+ className: H.loadingWrapper,
351
+ children: /* @__PURE__ */ i("span", {
352
+ className: H.loadingText,
353
+ role: "status",
354
+ children: be
355
+ })
356
+ })
357
+ ]
358
+ }),
359
+ /* @__PURE__ */ i("div", {
360
+ className: H.wrapper,
361
+ style: K,
362
+ children: he ? /* @__PURE__ */ i("div", {
363
+ className: H.scrollableContent,
364
+ style: ge,
365
+ children: J
366
+ }) : J
367
+ })
368
+ ]
369
+ })
370
+ });
371
+ }, it = (e) => /* @__PURE__ */ i(
372
+ qe,
373
+ {
374
+ stickyHeader: !0,
375
+ stickyFooter: !0,
376
+ compact: !0,
377
+ mode: "alt-system",
378
+ blurEffect: "medium",
379
+ wrapperClassName: f(
380
+ "ring-2 ring-surface-light",
381
+ "dark:ring-surface-medium",
382
+ "max-h-[clamp(12rem,calc(100dvh-24rem),60dvh)]",
383
+ "sm:max-h-[clamp(12rem,calc(100dvh-24rem),60dvh)]"
384
+ ),
385
+ ...e
386
+ }
387
+ );
388
+ const lt = ({ className: e, children: n, align: r, borderLeft: s, borderRight: t, colSpan: o, style: a, ...c }) => /* @__PURE__ */ i(I.Consumer, {
389
+ children: ({ mode: u, compact: l, cellWrapper: d }) => {
390
+ const g = ae({
391
+ cellWrapper: d,
392
+ className: e,
393
+ mode: u,
394
+ compact: l,
395
+ align: r,
396
+ borderLeft: s,
397
+ borderRight: t
398
+ }), m = We(d), h = o && o > 1 ? {
399
+ ...a,
400
+ gridColumn: `span ${o}`
401
+ } : a;
402
+ return /* @__PURE__ */ i("div", {
403
+ role: m,
404
+ className: g,
405
+ style: h,
406
+ ...c,
407
+ children: n
408
+ });
409
+ }
410
+ });
411
+ const Xe = (e) => e ? f(
412
+ "relative",
413
+ "focus-within:static",
414
+ "focus-within:after:border-transparent",
415
+ "after:absolute",
416
+ "after:content-['']",
417
+ "after:border-b-2",
418
+ "after:-bottom-1",
419
+ "after:left-0",
420
+ "after:right-0",
421
+ // the small border at the bottom of the button when it is active (sorted)
422
+ "after:border-table-light"
423
+ ) : "", Ve = ({ active: e = !1, className: n, onClick: r, labelRight: s, children: t, blurEffect: o, mode: a }) => {
424
+ const c = !!(o && o !== B.NONE), u = f(
425
+ // Base styles
426
+ "flex items-center cursor-pointer",
427
+ // Size - small
428
+ "h-6 px-1 sm:px-2",
429
+ // Font
430
+ "text-sm font-bold",
431
+ // Radius - small
432
+ "rounded-xs",
433
+ // Text color
434
+ W({
435
+ mode: a,
436
+ hasBlur: c
437
+ }),
438
+ // Focus styles
439
+ "focus:outline",
440
+ "focus:outline-2",
441
+ "focus:outline-offset-2",
442
+ "focus:outline-focus-medium",
443
+ // Hover styles
444
+ "hover:text-copy-light-hover",
445
+ "hover:bg-action-darker-hover",
446
+ // Active styles
447
+ "active:text-copy-medium-active",
448
+ "active:bg-action-dark-active",
449
+ // Custom className
450
+ n
451
+ ), l = Xe(e);
452
+ return /* @__PURE__ */ i("div", {
453
+ className: l,
454
+ children: /* @__PURE__ */ A("button", {
455
+ className: u,
456
+ type: "button",
457
+ onClick: r,
458
+ children: [
459
+ /* @__PURE__ */ i("span", {
460
+ className: "text-copy-light",
461
+ children: t
462
+ }),
463
+ s && /* @__PURE__ */ i("span", {
464
+ className: "pl-2",
465
+ children: s
466
+ })
467
+ ]
468
+ })
469
+ });
470
+ }, ct = ({ className: e, children: n, cellId: r, onSort: s, sortDirection: t, sortedCell: o, slotLeft: a, slotRight: c, buttonClassName: u, align: l, ...d }) => {
471
+ const g = o === r, m = () => {
472
+ s && s(r, g && t ? t : void 0);
473
+ }, h = () => g && t === "asc" ? /* @__PURE__ */ i(Se, {
474
+ size: "size-4",
475
+ monotone: !0
476
+ }) : g && t === "desc" ? /* @__PURE__ */ i(Te, {
477
+ size: "size-4",
478
+ monotone: !0
479
+ }) : /* @__PURE__ */ i(we, {
480
+ size: "size-4",
481
+ monotone: !0
482
+ }), k = () => g && t === "asc" ? "ascending" : g && t === "desc" ? "descending" : "other";
483
+ return /* @__PURE__ */ i(I.Consumer, {
484
+ children: ({ mode: C, compact: p, cellWrapper: z, blurEffect: x }) => {
485
+ const G = ae({
486
+ cellWrapper: z,
487
+ className: e,
488
+ mode: C,
489
+ compact: p,
490
+ align: l
491
+ }), O = f("flex", {
492
+ "justify-start": l === "left" || !l,
493
+ "justify-center": l === "center",
494
+ "justify-end": l === "right"
495
+ });
496
+ return /* @__PURE__ */ i("div", {
497
+ className: G,
498
+ role: "columnheader",
499
+ "aria-sort": k(),
500
+ ...d,
501
+ children: /* @__PURE__ */ A("div", {
502
+ className: O,
503
+ children: [
504
+ a,
505
+ /* @__PURE__ */ i(Ve, {
506
+ mode: C,
507
+ blurEffect: x,
508
+ active: g,
509
+ className: u,
510
+ onClick: m,
511
+ labelRight: n,
512
+ children: h()
513
+ }),
514
+ c
515
+ ]
516
+ })
517
+ });
518
+ }
519
+ });
520
+ };
521
+ const Pe = ({ caption: e, captionClassName: n, className: r, children: s, ...t }) => {
522
+ const o = ke();
523
+ return /* @__PURE__ */ i(I.Consumer, {
524
+ children: (a) => /* @__PURE__ */ i(Ye, {
525
+ caption: e,
526
+ captionClassName: n,
527
+ captionId: o,
528
+ className: r,
529
+ ctx: a,
530
+ ...t,
531
+ children: s
532
+ })
533
+ });
534
+ };
535
+ Pe.displayName = "DataGridHeader";
536
+ const Ye = ({ caption: e, captionClassName: n, captionId: r, className: s, ctx: t, children: o, ...a }) => {
537
+ const c = T(null);
538
+ return Z(() => (t.registerHeader?.(), () => {
539
+ t.unregisterHeader?.();
540
+ }), [
541
+ t.registerHeader,
542
+ t.unregisterHeader
543
+ ]), Z(() => (e && t.setCaptionId && t.setCaptionId(r), () => {
544
+ t.setCaptionId && t.setCaptionId(void 0);
545
+ }), [
546
+ e,
547
+ r,
548
+ t.setCaptionId
549
+ ]), L(() => {
550
+ const u = c.current;
551
+ if (!u || !t.stickyHeader || !t.setHeaderHeight)
552
+ return;
553
+ const l = new ResizeObserver((d) => {
554
+ const g = d[0]?.borderBoxSize?.[0]?.blockSize;
555
+ g !== void 0 && t.setHeaderHeight?.(g);
556
+ });
557
+ return l.observe(u), () => l.disconnect();
558
+ }, [
559
+ t.stickyHeader,
560
+ t.setHeaderHeight
561
+ ]), /* @__PURE__ */ i(I.Provider, {
562
+ value: {
563
+ ...t,
564
+ cellWrapper: E.HEADER
565
+ },
566
+ children: /* @__PURE__ */ A("div", {
567
+ ref: c,
568
+ role: "rowgroup",
569
+ className: Le({
570
+ className: s,
571
+ stickyHeader: t.stickyHeader,
572
+ mode: t.mode,
573
+ blurEffect: t.blurEffect
574
+ }),
575
+ ...a,
576
+ children: [
577
+ e && /* @__PURE__ */ i("div", {
578
+ id: r,
579
+ className: Ue({
580
+ captionClassName: n,
581
+ mode: t.mode,
582
+ hasBlur: !!(t.blurEffect && t.blurEffect !== "none"),
583
+ stickyHeader: !!t.stickyHeader
584
+ }),
585
+ children: e
586
+ }),
587
+ o
588
+ ]
589
+ })
590
+ });
591
+ };
592
+ const dt = ({ className: e, children: n, active: r, style: s, ...t }) => {
593
+ const o = ve.Children.count(n);
594
+ return /* @__PURE__ */ i(I.Consumer, {
595
+ children: ({ mode: a, cellWrapper: c, stickyHeader: u, stickyFooter: l, columns: d, measuredColumnWidths: g, isLastRow: m }) => {
596
+ const h = c === E.HEADER && u, k = c === E.FOOTER && l, C = h || k;
597
+ let p;
598
+ return d ? C ? g && g.length === d.length && g.some((x) => x > 0) ? p = {
599
+ gridTemplateColumns: g.map((x) => `${x}px`).join(" ")
600
+ } : p = {
601
+ gridTemplateColumns: d.join(" ")
602
+ } : p = {
603
+ gridColumn: "1 / -1",
604
+ gridTemplateColumns: "subgrid"
605
+ } : p = {
606
+ gridTemplateColumns: `repeat(${o}, minmax(0, 1fr))`
607
+ }, /* @__PURE__ */ i("div", {
608
+ role: "row",
609
+ className: $e({
610
+ mode: a,
611
+ className: e,
612
+ cellWrapper: c,
613
+ isLastRow: m,
614
+ stickyHeader: u,
615
+ stickyFooter: l
616
+ }),
617
+ style: {
618
+ ...p,
619
+ ...s
620
+ },
621
+ "data-active": r || void 0,
622
+ ...t,
623
+ children: n
624
+ });
625
+ }
626
+ });
627
+ }, ut = ({
628
+ label: e,
629
+ disabled: n,
630
+ onClick: r
631
+ }) => /* @__PURE__ */ i(
632
+ Re,
633
+ {
634
+ label: e,
635
+ placement: "top",
636
+ trigger: /* @__PURE__ */ i(
637
+ Ne,
638
+ {
639
+ noBorder: !0,
640
+ variant: "primary",
641
+ label: e,
642
+ disabled: n,
643
+ onClick: r,
644
+ children: /* @__PURE__ */ i(
645
+ Ae,
646
+ {
647
+ size: "size-3",
648
+ monotone: !0,
649
+ className: "text-copy-error-dark dark:text-copy-error-light"
650
+ }
651
+ )
652
+ }
653
+ )
654
+ }
655
+ );
656
+ export {
657
+ st as AnimatedWrapper,
658
+ ut as ButtonIconDelete,
659
+ it as DataGrid,
660
+ lt as DataGridCell,
661
+ ct as DataGridCellSort,
662
+ I as DataGridContext,
663
+ Pe as DataGridHeader,
664
+ dt as DataGridRow,
665
+ nt as InlineFilter,
666
+ ot as getBodyClass,
667
+ at as useColumnMeasurement
668
+ };
@@ -1,7 +1,7 @@
1
1
  import { jsx as Up } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as Pn, isProbablyMobile as $p } from "./App.LXYuxuaD.js";
2
+ import { getDefaultExportFromCjs as Pn, isProbablyMobile as $p } from "./App.6iDkXSOb.js";
3
3
  import Vp, { useMemo as qp } from "react";
4
- import { TRIMESTERS_SHORT as Zp, TRIMESTERS as Mn, TIME_RANGES as xs, TIME_RANGE_LABELS as Sn } from "./LogoEntry.DfnJLwfC.js";
4
+ import { TRIMESTERS_SHORT as Zp, TRIMESTERS as Mn, TIME_RANGES as xs, TIME_RANGE_LABELS as Sn } from "./LogoEntry.BtwLANob.js";
5
5
  var ys = { exports: {} }, Kp = ys.exports, Tn;
6
6
  function _p() {
7
7
  return Tn || (Tn = 1, (function(Ce, ce) {
@@ -1,11 +1,11 @@
1
1
  import { jsx as St } from "react/jsx-runtime";
2
- import { n as os, useUserPreferences as ls, formatTimestamp as Vt } from "./index.MdqXJbz5.js";
3
- import { numberFormatter as us, pluralize as cs, Bubble as fs } from "./App.LXYuxuaD.js";
2
+ import { n as os, useUserPreferences as ls, formatTimestamp as Vt } from "./index.Ds4-4dzy.js";
3
+ import { numberFormatter as us, pluralize as cs, Bubble as fs } from "./App.6iDkXSOb.js";
4
4
  import Jt from "clsx";
5
5
  import hs, { useState as Ae, useEffect as Qt, useContext as wt } from "react";
6
- import { useMarkdown as ds } from "./useMarkdown.CYWo-hGo.js";
7
- import { ChatContext as ms, AppContext as ps } from "./LogoEntry.DfnJLwfC.js";
8
- import { BubbleActions as gs } from "./BubbleActions.BSynTDf9.js";
6
+ import { useMarkdown as ds } from "./useMarkdown.CdWXCETb.js";
7
+ import { ChatContext as ms, AppContext as ps } from "./LogoEntry.BtwLANob.js";
8
+ import { BubbleActions as gs } from "./BubbleActions.DB_SDTs9.js";
9
9
  const Me = {
10
10
  isEmpty: !0
11
11
  };