@versini/sassysaint 8.119.1 → 8.119.3

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.DUUKJ4nJ.js → AboutChangelog.BCLzrxDJ.js} +2 -2
  2. package/dist/chunks/{AboutEntry.HowTPv8P.js → AboutEntry.CiKVa-DF.js} +7 -7
  3. package/dist/chunks/{App.YH7VhNjK.js → App.B9QnUXlt.js} +2281 -2217
  4. package/dist/chunks/{BubbleActions.CVas6oiy.js → BubbleActions.D4umTJGB.js} +3 -3
  5. package/dist/chunks/ButtonIconDelete.aOa-U89v.js +512 -0
  6. package/dist/chunks/{Chart.CgyzOc3_.js → Chart.C5Nn82Gw.js} +2 -2
  7. package/dist/chunks/{ChatBubbleAssistant.PmI4ABQt.js → ChatBubbleAssistant.D02rGmpy.js} +5 -5
  8. package/dist/chunks/{ChatBubbleUser.YIoXqbVF.js → ChatBubbleUser.Dzhjj2hz.js} +4 -4
  9. package/dist/chunks/{HistoryDataGrid.Dxc-zHra.js → HistoryDataGrid.B6LLRpB1.js} +101 -109
  10. package/dist/chunks/{HistoryEntry.fta5Qy7u.js → HistoryEntry.BkPbemHy.js} +5 -5
  11. package/dist/chunks/{InlineFilter.BV1LITjW.js → InlineFilter.B0qDNMUB.js} +3 -3
  12. package/dist/chunks/{LoginEntry.s9rmuYKn.js → LoginEntry.B_9BLbxz.js} +4 -4
  13. package/dist/chunks/{LogoEntry.BAI8lPSQ.js → LogoEntry.NR86cusR.js} +2 -2
  14. package/dist/chunks/{MemoriesEntry.z0U8T17Y.js → MemoriesEntry.BNQ1Zd_f.js} +6 -6
  15. package/dist/chunks/{ProfileEntry.CbUS7vRG.js → ProfileEntry.DHXtGymT.js} +4 -4
  16. package/dist/chunks/{SettingsEntry.LEugTL8A.js → SettingsEntry.C7V7Gazu.js} +5 -5
  17. package/dist/chunks/{UsageEntry.DMIbfTUl.js → UsageEntry.CTiwaF8P.js} +5 -5
  18. package/dist/chunks/{_baseUniq.3SecgKQH.js → _baseUniq.DOp1d0Hg.js} +1 -1
  19. package/dist/chunks/{arc.BDfa_lp3.js → arc.D7x_tqxd.js} +1 -1
  20. package/dist/chunks/{architecture-U656AL7Q.HFVQwsOS.js → architecture-U656AL7Q.Bu5SZlv8.js} +1 -1
  21. package/dist/chunks/{architectureDiagram-VXUJARFQ.BvrTiPQ0.js → architectureDiagram-VXUJARFQ.Dgz17ttm.js} +4 -4
  22. package/dist/chunks/{blockDiagram-VD42YOAC.DOklLUrl.js → blockDiagram-VD42YOAC.DaJq4zX4.js} +5 -5
  23. package/dist/chunks/{browser.DQk9GqZL.js → browser.DGyy4kkY.js} +1 -1
  24. package/dist/chunks/{c4Diagram-YG6GDRKO.BFUTTk1Y.js → c4Diagram-YG6GDRKO.BsmLbddK.js} +2 -2
  25. package/dist/chunks/{channel.BOFo9Gr-.js → channel.DcTDnG-B.js} +1 -1
  26. package/dist/chunks/{chunk-4BX2VUAB.CvDkLN8F.js → chunk-4BX2VUAB.KCzBOk4e.js} +1 -1
  27. package/dist/chunks/{chunk-55IACEB6.B2kRln8j.js → chunk-55IACEB6.816u7G9J.js} +1 -1
  28. package/dist/chunks/{chunk-B4BG7PRW.Corbwbnt.js → chunk-B4BG7PRW.BJSUTzN8.js} +4 -4
  29. package/dist/chunks/{chunk-DI55MBZ5.BT3HHSn0.js → chunk-DI55MBZ5.K6Eg9Ewh.js} +3 -3
  30. package/dist/chunks/{chunk-FMBD7UC4.5EY27HC-.js → chunk-FMBD7UC4.Cgtm-0uZ.js} +1 -1
  31. package/dist/chunks/{chunk-QN33PNHL.BbRol0tK.js → chunk-QN33PNHL.B4arjH5h.js} +1 -1
  32. package/dist/chunks/{chunk-QZHKN3VN.BDDo68fx.js → chunk-QZHKN3VN.DfnFISTN.js} +1 -1
  33. package/dist/chunks/{chunk-TZMSLE5B.DUziio9C.js → chunk-TZMSLE5B.DuNUGzDY.js} +1 -1
  34. package/dist/chunks/{classDiagram-2ON5EDUG.CQzgRWsN.js → classDiagram-2ON5EDUG.CFNbyq85.js} +2 -2
  35. package/dist/chunks/{classDiagram-v2-WZHVMYZB.CQzgRWsN.js → classDiagram-v2-WZHVMYZB.CFNbyq85.js} +2 -2
  36. package/dist/chunks/{clone.BbTV7Hf1.js → clone.DXxEN8I0.js} +1 -1
  37. package/dist/chunks/{cose-bilkent-S5V4N54A.H-phdC7M.js → cose-bilkent-S5V4N54A.3TJjWC3c.js} +2 -2
  38. package/dist/chunks/{dagre-6UL2VRFP.x6Rep04B.js → dagre-6UL2VRFP.ZVeC3nBp.js} +5 -5
  39. package/dist/chunks/{diagram-PSM6KHXK.CSCzs70K.js → diagram-PSM6KHXK.CpdBtqTh.js} +4 -4
  40. package/dist/chunks/{diagram-QEK2KX5R.Dtem9HUK.js → diagram-QEK2KX5R.B04_vXer.js} +3 -3
  41. package/dist/chunks/{diagram-S2PKOQOG.zbHWbMaf.js → diagram-S2PKOQOG.Dbdw3QXQ.js} +3 -3
  42. package/dist/chunks/{erDiagram-Q2GNP2WA.BtpqAsGU.js → erDiagram-Q2GNP2WA.CqezK60q.js} +4 -4
  43. package/dist/chunks/{flowDiagram-NV44I4VS.DWAr7BjD.js → flowDiagram-NV44I4VS.BvHoG3bZ.js} +5 -5
  44. package/dist/chunks/{ganttDiagram-JELNMOA3.CMrQ-dz3.js → ganttDiagram-JELNMOA3.D_KCS9qC.js} +2 -2
  45. package/dist/chunks/{gitGraph-F6HP7TQM.BpVVMz0e.js → gitGraph-F6HP7TQM.ByZT89Ar.js} +1 -1
  46. package/dist/chunks/{gitGraphDiagram-NY62KEGX.Dnudwhw8.js → gitGraphDiagram-NY62KEGX.WbjMSd4V.js} +4 -4
  47. package/dist/chunks/{graph.Dchkn011.js → graph.Cvad0tt4.js} +2 -2
  48. package/dist/chunks/{index.CtIbZ6tf.js → index.B-K-Y-Qm.js} +1 -1
  49. package/dist/chunks/{index.CKTPHcKB.js → index.B-fz6g96.js} +1 -1
  50. package/dist/chunks/{index.B-JCLT_X.js → index.BCRwO2M-.js} +3 -3
  51. package/dist/chunks/{index.CFiwZc0d.js → index.BHQGsyIo.js} +1 -1
  52. package/dist/chunks/{index.jtqzynwK.js → index.BrCTBC0V.js} +2 -2
  53. package/dist/chunks/{index.CJdOzh65.js → index.D0i6HSU_.js} +1 -1
  54. package/dist/chunks/{index.CxH0cB2j.js → index.Ddfm91zT.js} +3 -3
  55. package/dist/chunks/{index.C1iOYl0L.js → index.YJUe_Cuy.js} +1 -1
  56. package/dist/chunks/{index.B8WGlS1_.js → index.uFNowuqv.js} +1 -1
  57. package/dist/chunks/{info-NVLQJR56.D6y19kSs.js → info-NVLQJR56.ZKVDUcsk.js} +1 -1
  58. package/dist/chunks/{infoDiagram-WHAUD3N6.Df1Bl645.js → infoDiagram-WHAUD3N6.CvdcZadh.js} +2 -2
  59. package/dist/chunks/{journeyDiagram-XKPGCS4Q.Ci2alRy7.js → journeyDiagram-XKPGCS4Q.DGAoDEq-.js} +4 -4
  60. package/dist/chunks/{kanban-definition-3W4ZIXB7.DfuyRvt8.js → kanban-definition-3W4ZIXB7.CoFmbRaA.js} +2 -2
  61. package/dist/chunks/{layout.D90hHM4d.js → layout.hhpeizjh.js} +4 -4
  62. package/dist/chunks/{mermaid-parser.core.DLE_P-x2.js → mermaid-parser.core.CZD6iB9l.js} +10 -10
  63. package/dist/chunks/{min.B0AjWADq.js → min.D97zlk-h.js} +2 -2
  64. package/dist/chunks/{mindmap-definition-VGOIOE7T.Bu83LzTN.js → mindmap-definition-VGOIOE7T.B7p0yJz3.js} +3 -3
  65. package/dist/chunks/{packet-BFZMPI3H.DxZoEqgw.js → packet-BFZMPI3H.Cjaup6NR.js} +1 -1
  66. package/dist/chunks/{pie-7BOR55EZ.DWdiSl6K.js → pie-7BOR55EZ.c81pXzSK.js} +1 -1
  67. package/dist/chunks/{pieDiagram-ADFJNKIX.BDwKttQ7.js → pieDiagram-ADFJNKIX.zyXeeZLx.js} +4 -4
  68. package/dist/chunks/{quadrantDiagram-AYHSOK5B.CRt3S_H1.js → quadrantDiagram-AYHSOK5B.DR3wcKEK.js} +1 -1
  69. package/dist/chunks/{radar-NHE76QYJ.CoZXKuQy.js → radar-NHE76QYJ.lf63PaYs.js} +1 -1
  70. package/dist/chunks/{rehype-mermaid.Om4IoSir.js → rehype-mermaid._1aNKYDN.js} +33 -33
  71. package/dist/chunks/{requirementDiagram-UZGBJVZJ.DlBPAOx9.js → requirementDiagram-UZGBJVZJ.C94QhxCQ.js} +3 -3
  72. package/dist/chunks/{sankeyDiagram-TZEHDZUN.BZytE4s9.js → sankeyDiagram-TZEHDZUN.jvqFVwPh.js} +1 -1
  73. package/dist/chunks/{sequenceDiagram-WL72ISMW.Bbuw9Hz-.js → sequenceDiagram-WL72ISMW.Bq5ALSwU.js} +3 -3
  74. package/dist/chunks/{stateDiagram-FKZM4ZOC.BsnKKwn5.js → stateDiagram-FKZM4ZOC.BgoNYp65.js} +4 -4
  75. package/dist/chunks/{stateDiagram-v2-4FDKWEC3.BsNASJkO.js → stateDiagram-v2-4FDKWEC3.CZER9V0p.js} +2 -2
  76. package/dist/chunks/{timeline-definition-IT6M3QCI.R8tQley7.js → timeline-definition-IT6M3QCI.D5lfOytX.js} +2 -2
  77. package/dist/chunks/{treemap-KMMF4GRG.Cs8W98VP.js → treemap-KMMF4GRG.h5XUyc_o.js} +1 -1
  78. package/dist/chunks/{useMarkdown.Bzgv93hs.js → useMarkdown.D5uoWBI6.js} +8 -8
  79. package/dist/chunks/{xychartDiagram-PRI3JC2R.SMqCrVMM.js → xychartDiagram-PRI3JC2R.BIOs5AtO.js} +1 -1
  80. package/dist/components/SassySaint/SassySaint.js +1 -1
  81. package/dist/index.js +3 -3
  82. package/package.json +4 -4
  83. package/dist/chunks/ButtonIconDelete.DLIImGjj.js +0 -538
@@ -1,8 +1,8 @@
1
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.jtqzynwK.js";
3
- import { ButtonIcon as h, IconCopied as S, IconCopy as I, ChatContext as _, IconBranch as M, TOAST_CHAT_BRANCHED as z } from "./LogoEntry.BAI8lPSQ.js";
2
+ import { n as v, useUserPreferences as A } from "./index.BrCTBC0V.js";
3
+ import { ButtonIcon as h, IconCopied as S, IconCopy as I, ChatContext as _, IconBranch as M, TOAST_CHAT_BRANCHED as z } from "./LogoEntry.NR86cusR.js";
4
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.YH7VhNjK.js";
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.B9QnUXlt.js";
6
6
  const P = ({ children: e, richText: r = !1, mode: a = "system", focusMode: l = "system" }) => {
7
7
  const [o, c] = H(!1), n = N(null), p = g(async () => {
8
8
  if (navigator.clipboard)
@@ -0,0 +1,512 @@
1
+ import u from "clsx";
2
+ import ae, { createContext as oe, useContext as ne, useRef as q, useLayoutEffect as P, useState as N, useCallback as I, useMemo as $, useId as le, useEffect as V } from "react";
3
+ import { jsx as l, jsxs as T, Fragment as ie } from "react/jsx-runtime";
4
+ import { CellWrapper as m, BlurEffects as R, ButtonIcon as U, IconSortUp as de, IconSortDown as ce, IconSort as ue, IconDelete as fe } from "./LogoEntry.NR86cusR.js";
5
+ import { ResponsiveTooltip as ge } from "./App.B9QnUXlt.js";
6
+ const x = oe({
7
+ mode: "system"
8
+ });
9
+ function De(e, r) {
10
+ return e ? u("contents", r) : u("flex flex-col", r);
11
+ }
12
+ function Be(e, r) {
13
+ const s = ne(x), a = q([]);
14
+ P(() => {
15
+ const t = e.current, o = s.columns && (s.stickyHeader || s.stickyFooter);
16
+ if (!t || !o || !s.setMeasuredColumnWidths)
17
+ return;
18
+ const i = t.querySelector('[role="row"]');
19
+ if (!i)
20
+ return;
21
+ const d = i.querySelectorAll('[role="cell"], [role="columnheader"], [role="gridcell"]');
22
+ if (d.length === 0)
23
+ return;
24
+ const c = () => {
25
+ const n = Array.from(d).map((h) => h.getBoundingClientRect().width), b = a.current;
26
+ (n.length !== b.length || n.some((h, k) => h !== b[k])) && (a.current = n, s.setMeasuredColumnWidths?.(n));
27
+ };
28
+ c();
29
+ const f = new ResizeObserver(() => {
30
+ c();
31
+ });
32
+ f.observe(t);
33
+ for (const n of d)
34
+ f.observe(n);
35
+ return () => f.disconnect();
36
+ }, [
37
+ s.columns,
38
+ s.stickyHeader,
39
+ s.stickyFooter,
40
+ s.setMeasuredColumnWidths,
41
+ r
42
+ ]);
43
+ }
44
+ const D = ({ mode: e }) => u({
45
+ "text-copy-light": e === "dark",
46
+ "text-copy-dark": e === "light",
47
+ "text-copy-light dark:text-copy-dark": e === "system",
48
+ "text-copy-dark dark:text-copy-light": e === "alt-system"
49
+ }), be = ({ mode: e }) => u({
50
+ "bg-surface-darker": e === "dark" || e === "system",
51
+ "bg-surface-light": e === "light" || e === "alt-system",
52
+ "dark:bg-surface-light": e === "system",
53
+ "dark:bg-surface-darker": e === "alt-system"
54
+ }), _ = ({ mode: e, hasBlur: r, sticky: s }) => u({
55
+ // Semi-transparent for blur effect.
56
+ "bg-surface-darkest/50": r && s && (e === "dark" || e === "system"),
57
+ "bg-surface-medium/50": r && s && (e === "light" || e === "alt-system"),
58
+ "dark:bg-surface-medium/50": r && s && e === "system",
59
+ "dark:bg-surface-darkest/50": r && s && e === "alt-system",
60
+ // Solid backgrounds.
61
+ "bg-surface-darkest": !r && (e === "dark" || e === "system"),
62
+ "bg-surface-medium-light": !r && (e === "light" || e === "alt-system"),
63
+ "dark:bg-surface-medium-light": !r && e === "system",
64
+ "dark:bg-surface-darkest": !r && e === "alt-system"
65
+ }), he = ({ mode: e }) => u({
66
+ "border-table-dark": e === "dark" || e === "system",
67
+ "border-table-light": e === "light" || e === "alt-system",
68
+ "dark:border-table-light": e === "system",
69
+ "dark:border-table-dark": e === "alt-system"
70
+ }), ye = ({ blurEffect: e }) => u({
71
+ "backdrop-blur-sm": e === R.SMALL,
72
+ "backdrop-blur-md": e === R.MEDIUM,
73
+ "backdrop-blur-lg": e === R.LARGE
74
+ }), pe = ({ mode: e }) => u("text-lg font-medium", {
75
+ "text-copy-dark": e === "light",
76
+ "text-copy-light": e === "dark",
77
+ "text-copy-dark dark:text-copy-light": e === "alt-system",
78
+ "text-copy-light dark:text-copy-dark": e === "system"
79
+ }), me = ({ mode: e }) => ({
80
+ inner: "relative",
81
+ overlay: u("absolute inset-0 z-20 cursor-not-allowed rounded-lg", "backdrop-blur-xs bg-white/30 dark:bg-black/30"),
82
+ loadingWrapper: u("absolute z-30 top-0 left-0 right-0 h-[min(100%,100vh)]", "flex items-center justify-center", "pointer-events-none"),
83
+ loadingText: pe({
84
+ mode: e
85
+ })
86
+ }), ke = ({ mode: e, className: r, wrapperClassName: s, stickyHeader: a, stickyFooter: t, loading: o, hasColumns: i }) => {
87
+ const d = o ? me({
88
+ mode: e
89
+ }) : null, c = a || t;
90
+ return {
91
+ overlay: d?.overlay ?? "",
92
+ inner: d?.inner ?? "",
93
+ loadingWrapper: d?.loadingWrapper ?? "",
94
+ loadingText: d?.loadingText ?? "",
95
+ wrapper: u("not-prose relative w-full rounded-lg shadow-md", {
96
+ "overflow-x-auto": !c && !o,
97
+ "overflow-hidden flex flex-col": c || o
98
+ }, be({
99
+ mode: e
100
+ }), D({
101
+ mode: e
102
+ }), s),
103
+ scrollableContent: u("overflow-y-auto overflow-x-hidden rounded-[inherit] flex-1 min-h-0"),
104
+ grid: u("my-0 w-full text-left text-sm", i ? "grid" : "flex flex-col", r, D({
105
+ mode: e
106
+ }))
107
+ };
108
+ }, ve = ({ className: e, stickyHeader: r, mode: s, blurEffect: a, hasColumns: t }) => {
109
+ const o = !!(a && a !== R.NONE);
110
+ return t && !r ? u("contents", _({
111
+ mode: s,
112
+ hasBlur: o,
113
+ sticky: !!r
114
+ }), D({
115
+ mode: s
116
+ }), e) : u("flex flex-col", "border-b border-table-medium shadow-md", {
117
+ "absolute left-0 right-0 z-20 top-0 rounded-t-lg": r
118
+ }, _({
119
+ mode: s,
120
+ hasBlur: o,
121
+ sticky: !!r
122
+ }), D({
123
+ mode: s
124
+ }), r && ye({
125
+ blurEffect: a
126
+ }), e);
127
+ }, Ce = ({ captionClassName: e, hasColumns: r }) => u("py-2 text-sm text-center font-bold", r && "col-span-full", e), xe = ({ mode: e, className: r, cellWrapper: s, isLastRow: a }) => {
128
+ const t = "group grid items-center";
129
+ return s === m.HEADER || s === m.FOOTER ? u(t, r) : u(t, a !== void 0 ? a ? "border-b border-b-transparent dark:border-b-transparent" : "border-b" : "border-b last:border-0", "hover:bg-surface-medium hover:text-copy-light", he({
130
+ mode: e
131
+ }), r);
132
+ }, L = ({ cellWrapper: e, className: r, compact: s, align: a, mode: t, borderLeft: o, borderRight: i }) => {
133
+ const d = e === m.HEADER, c = e === m.FOOTER;
134
+ return u(
135
+ // Base padding.
136
+ {
137
+ "px-2 py-1": s,
138
+ "px-4 py-3": !s
139
+ },
140
+ // Text alignment.
141
+ {
142
+ "text-left justify-start": a === "left" || !a,
143
+ "text-center justify-center": a === "center",
144
+ "text-right justify-end": a === "right"
145
+ },
146
+ // Header/footer specific styles.
147
+ {
148
+ "font-bold": d || c
149
+ },
150
+ // Active row indicator.
151
+ "first:group-data-[active]:relative",
152
+ "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",
153
+ "first:group-data-[active]:self-stretch first:group-data-[active]:flex first:group-data-[active]:items-center",
154
+ // Active indicator color based on theme mode.
155
+ {
156
+ "first:group-data-[active]:before:bg-table-active-dark": t === "dark",
157
+ "first:group-data-[active]:before:bg-table-active-light": t === "light",
158
+ "first:group-data-[active]:before:bg-table-active-dark dark:first:group-data-[active]:before:bg-table-active-light": t === "system",
159
+ "first:group-data-[active]:before:bg-table-active-light dark:first:group-data-[active]:before:bg-table-active-dark": t === "alt-system"
160
+ },
161
+ // Vertical borders.
162
+ {
163
+ "self-stretch flex items-center": o || i,
164
+ "border-l border-l-table-dark": o && t === "dark",
165
+ "border-l border-l-table-light": o && t === "light",
166
+ "border-l border-l-table-dark dark:border-l-table-light": o && t === "system",
167
+ "border-l border-l-table-light dark:border-l-table-dark": o && t === "alt-system",
168
+ "border-r border-r-table-dark": i && t === "dark",
169
+ "border-r border-r-table-light": i && t === "light",
170
+ "border-r border-r-table-dark dark:border-r-table-light": i && t === "system",
171
+ "border-r border-r-table-light dark:border-r-table-dark": i && t === "alt-system"
172
+ },
173
+ r
174
+ );
175
+ }, He = (e) => e === m.HEADER ? "columnheader" : "gridcell";
176
+ const ze = ({ className: e, wrapperClassName: r, children: s, mode: a = "system", compact: t = !1, stickyHeader: o = !1, stickyFooter: i = !1, blurEffect: d = R.NONE, maxHeight: c, loading: f = !1, columns: n, ...b }) => {
177
+ const [g, h] = N(0), [k, H] = N(0), [y, E] = N(0), [v, B] = N(0), [F, J] = N([]), z = I(() => h((p) => p + 1), []), M = I(() => h((p) => p - 1), []), j = I(() => H((p) => p + 1), []), O = I(() => H((p) => p - 1), []), K = g > 0, Q = k > 0, w = o && K, S = i && Q, [X, Y] = N(void 0), A = I((p) => {
178
+ Y(p);
179
+ }, []), C = $(() => ke({
180
+ mode: a,
181
+ className: e,
182
+ wrapperClassName: r,
183
+ stickyHeader: w,
184
+ stickyFooter: S,
185
+ loading: !!f,
186
+ hasColumns: !!n
187
+ }), [
188
+ a,
189
+ e,
190
+ r,
191
+ w,
192
+ S,
193
+ f,
194
+ n
195
+ ]), Z = $(() => ({
196
+ mode: a,
197
+ compact: t,
198
+ stickyHeader: w,
199
+ stickyFooter: S,
200
+ blurEffect: d,
201
+ columns: n,
202
+ measuredColumnWidths: F,
203
+ setCaptionId: A,
204
+ registerHeader: z,
205
+ unregisterHeader: M,
206
+ registerFooter: j,
207
+ unregisterFooter: O,
208
+ setHeaderHeight: E,
209
+ setFooterHeight: B,
210
+ setMeasuredColumnWidths: J
211
+ }), [
212
+ a,
213
+ t,
214
+ w,
215
+ S,
216
+ d,
217
+ n,
218
+ F,
219
+ A,
220
+ z,
221
+ M,
222
+ j,
223
+ O
224
+ ]), G = c ? {
225
+ maxHeight: typeof c == "number" ? `${c}px` : c
226
+ } : void 0, ee = {
227
+ ...G,
228
+ paddingTop: w ? y : void 0,
229
+ paddingBottom: S ? v : void 0
230
+ }, te = w || S, re = n ? {
231
+ gridTemplateColumns: n.join(" ")
232
+ } : void 0, W = /* @__PURE__ */ l("div", {
233
+ role: "grid",
234
+ "aria-labelledby": X,
235
+ className: C.grid,
236
+ style: re,
237
+ ...b,
238
+ children: s
239
+ }), se = typeof f == "string" ? f : f ? "Loading..." : null;
240
+ return /* @__PURE__ */ l(x.Provider, {
241
+ value: Z,
242
+ children: /* @__PURE__ */ T("div", {
243
+ className: C.inner,
244
+ children: [
245
+ f && /* @__PURE__ */ T(ie, {
246
+ children: [
247
+ /* @__PURE__ */ l("div", {
248
+ className: C.overlay,
249
+ "aria-hidden": "true"
250
+ }),
251
+ /* @__PURE__ */ l("div", {
252
+ className: C.loadingWrapper,
253
+ children: /* @__PURE__ */ l("span", {
254
+ className: C.loadingText,
255
+ role: "status",
256
+ children: se
257
+ })
258
+ })
259
+ ]
260
+ }),
261
+ /* @__PURE__ */ l("div", {
262
+ className: C.wrapper,
263
+ style: G,
264
+ children: te ? /* @__PURE__ */ l("div", {
265
+ className: C.scrollableContent,
266
+ style: ee,
267
+ children: W
268
+ }) : W
269
+ })
270
+ ]
271
+ })
272
+ });
273
+ };
274
+ const Me = ({ className: e, children: r, align: s, borderLeft: a, borderRight: t, colSpan: o, style: i, ...d }) => /* @__PURE__ */ l(x.Consumer, {
275
+ children: ({ mode: c, compact: f, cellWrapper: n }) => {
276
+ const b = L({
277
+ cellWrapper: n,
278
+ className: e,
279
+ mode: c,
280
+ compact: f,
281
+ align: s,
282
+ borderLeft: a,
283
+ borderRight: t
284
+ }), g = He(n), h = o && o > 1 ? {
285
+ ...i,
286
+ gridColumn: `span ${o}`
287
+ } : i;
288
+ return /* @__PURE__ */ l("div", {
289
+ role: g,
290
+ className: b,
291
+ style: h,
292
+ ...d,
293
+ children: r
294
+ });
295
+ }
296
+ });
297
+ function we({ children: e, mode: r = "system", className: s, active: a = !1, ref: t, ...o }) {
298
+ const i = a ? u("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", {
299
+ "after:border-table-light": r === "dark",
300
+ "after:border-table-dark": r === "light",
301
+ "after:border-table-light dark:after:border-table-dark": r === "system",
302
+ "after:border-table-dark dark:after:border-table-light": r === "alt-system"
303
+ }) : "";
304
+ return /* @__PURE__ */ l("div", {
305
+ className: i,
306
+ children: /* @__PURE__ */ l(U, {
307
+ className: s,
308
+ ref: t,
309
+ mode: r,
310
+ radius: "small",
311
+ size: "small",
312
+ align: "center",
313
+ ...o,
314
+ children: e
315
+ })
316
+ });
317
+ }
318
+ const je = ({ className: e, children: r, cellId: s, onSort: a, sortDirection: t, sortedCell: o, slotLeft: i, slotRight: d, buttonClassName: c, focusMode: f = "alt-system", align: n, ...b }) => {
319
+ const g = o === s, h = () => {
320
+ a && a(s, g && t ? t : void 0);
321
+ }, k = () => g && t === "asc" ? /* @__PURE__ */ l(de, {
322
+ className: "size-4",
323
+ monotone: !0
324
+ }) : g && t === "desc" ? /* @__PURE__ */ l(ce, {
325
+ className: "size-4",
326
+ monotone: !0
327
+ }) : /* @__PURE__ */ l(ue, {
328
+ className: "size-4",
329
+ monotone: !0
330
+ }), H = () => g && t === "asc" ? "ascending" : g && t === "desc" ? "descending" : "other";
331
+ return /* @__PURE__ */ l(x.Consumer, {
332
+ children: ({ mode: y, compact: E, cellWrapper: v }) => {
333
+ const B = L({
334
+ cellWrapper: v,
335
+ className: e,
336
+ mode: y,
337
+ compact: E,
338
+ align: n
339
+ }), F = u("flex", {
340
+ "justify-start": n === "left" || !n,
341
+ "justify-center": n === "center",
342
+ "justify-end": n === "right"
343
+ });
344
+ return /* @__PURE__ */ l("div", {
345
+ className: B,
346
+ role: "columnheader",
347
+ "aria-sort": H(),
348
+ ...b,
349
+ children: /* @__PURE__ */ T("div", {
350
+ className: F,
351
+ children: [
352
+ i,
353
+ /* @__PURE__ */ l(we, {
354
+ active: g,
355
+ className: c,
356
+ onClick: h,
357
+ noBorder: !0,
358
+ focusMode: f,
359
+ mode: y,
360
+ labelRight: r,
361
+ children: k()
362
+ }),
363
+ d
364
+ ]
365
+ })
366
+ });
367
+ }
368
+ });
369
+ };
370
+ const Se = ({ caption: e, captionClassName: r, className: s, children: a, ...t }) => {
371
+ const o = le();
372
+ return /* @__PURE__ */ l(x.Consumer, {
373
+ children: (i) => /* @__PURE__ */ l(Ne, {
374
+ caption: e,
375
+ captionClassName: r,
376
+ captionId: o,
377
+ className: s,
378
+ ctx: i,
379
+ ...t,
380
+ children: a
381
+ })
382
+ });
383
+ };
384
+ Se.displayName = "DataGridHeader";
385
+ const Ne = ({ caption: e, captionClassName: r, captionId: s, className: a, ctx: t, children: o, ...i }) => {
386
+ const d = !!t.columns, c = q(null);
387
+ return V(() => (t.registerHeader?.(), () => {
388
+ t.unregisterHeader?.();
389
+ }), [
390
+ t.registerHeader,
391
+ t.unregisterHeader
392
+ ]), V(() => (e && t.setCaptionId && t.setCaptionId(s), () => {
393
+ t.setCaptionId && t.setCaptionId(void 0);
394
+ }), [
395
+ e,
396
+ s,
397
+ t.setCaptionId
398
+ ]), P(() => {
399
+ const f = c.current;
400
+ if (!f || !t.stickyHeader || !t.setHeaderHeight)
401
+ return;
402
+ const n = new ResizeObserver((b) => {
403
+ const g = b[0]?.borderBoxSize?.[0]?.blockSize;
404
+ g !== void 0 && t.setHeaderHeight?.(g);
405
+ });
406
+ return n.observe(f), () => n.disconnect();
407
+ }, [
408
+ t.stickyHeader,
409
+ t.setHeaderHeight
410
+ ]), /* @__PURE__ */ l(x.Provider, {
411
+ value: {
412
+ ...t,
413
+ cellWrapper: m.HEADER
414
+ },
415
+ children: /* @__PURE__ */ T("div", {
416
+ ref: c,
417
+ role: "rowgroup",
418
+ className: ve({
419
+ className: a,
420
+ stickyHeader: t.stickyHeader,
421
+ mode: t.mode,
422
+ blurEffect: t.blurEffect,
423
+ hasColumns: d
424
+ }),
425
+ ...i,
426
+ children: [
427
+ e && /* @__PURE__ */ l("div", {
428
+ id: s,
429
+ className: Ce({
430
+ captionClassName: r,
431
+ hasColumns: d
432
+ }),
433
+ children: e
434
+ }),
435
+ o
436
+ ]
437
+ })
438
+ });
439
+ };
440
+ const Oe = ({ className: e, children: r, active: s, style: a, ...t }) => {
441
+ const o = ae.Children.count(r);
442
+ return /* @__PURE__ */ l(x.Consumer, {
443
+ children: ({ mode: i, cellWrapper: d, stickyHeader: c, stickyFooter: f, columns: n, measuredColumnWidths: b, isLastRow: g }) => {
444
+ const h = d === m.HEADER && c, k = d === m.FOOTER && f, H = h || k;
445
+ let y;
446
+ return n ? H ? b && b.length === n.length && b.some((v) => v > 0) ? y = {
447
+ gridTemplateColumns: b.map((v) => `${v}px`).join(" ")
448
+ } : y = {
449
+ gridTemplateColumns: n.join(" ")
450
+ } : y = {
451
+ gridColumn: "1 / -1",
452
+ gridTemplateColumns: "subgrid"
453
+ } : y = {
454
+ gridTemplateColumns: `repeat(${o}, minmax(0, 1fr))`
455
+ }, /* @__PURE__ */ l("div", {
456
+ role: "row",
457
+ className: xe({
458
+ mode: i,
459
+ className: e,
460
+ cellWrapper: d,
461
+ isLastRow: g
462
+ }),
463
+ style: {
464
+ ...y,
465
+ ...a
466
+ },
467
+ "data-active": s || void 0,
468
+ ...t,
469
+ children: r
470
+ });
471
+ }
472
+ });
473
+ }, Ae = ({
474
+ label: e,
475
+ disabled: r,
476
+ onClick: s
477
+ }) => /* @__PURE__ */ l(
478
+ ge,
479
+ {
480
+ label: e,
481
+ placement: "top",
482
+ trigger: /* @__PURE__ */ l(
483
+ U,
484
+ {
485
+ noBorder: !0,
486
+ variant: "primary",
487
+ label: e,
488
+ disabled: r,
489
+ onClick: s,
490
+ children: /* @__PURE__ */ l(
491
+ fe,
492
+ {
493
+ size: "size-3",
494
+ monotone: !0,
495
+ className: "text-copy-error-dark dark:text-copy-error-light"
496
+ }
497
+ )
498
+ }
499
+ )
500
+ }
501
+ );
502
+ export {
503
+ Ae as ButtonIconDelete,
504
+ ze as DataGrid,
505
+ Me as DataGridCell,
506
+ je as DataGridCellSort,
507
+ x as DataGridContext,
508
+ Se as DataGridHeader,
509
+ Oe as DataGridRow,
510
+ De as getBodyClass,
511
+ Be as useColumnMeasurement
512
+ };
@@ -1,7 +1,7 @@
1
1
  import { jsx as Pp } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as dn, isProbablyMobile as Op } from "./App.YH7VhNjK.js";
2
+ import { getDefaultExportFromCjs as dn, isProbablyMobile as Op } from "./App.B9QnUXlt.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.BAI8lPSQ.js";
4
+ import { TRIMESTERS_SHORT as Ip, TRIMESTERS as on, TIME_RANGES as ls, TIME_RANGE_LABELS as an } from "./LogoEntry.NR86cusR.js";
5
5
  var hs = { exports: {} }, Dp = hs.exports, nn;
6
6
  function Bp() {
7
7
  return nn || (nn = 1, (function(Ae, pe) {
@@ -1,11 +1,11 @@
1
1
  import { jsx as vt } from "react/jsx-runtime";
2
- import { n as as, useUserPreferences as os, formatTimestamp as Vt } from "./index.jtqzynwK.js";
3
- import { numberFormatter as ls, pluralize as us, Bubble as cs } from "./App.YH7VhNjK.js";
2
+ import { n as as, useUserPreferences as os, formatTimestamp as Vt } from "./index.BrCTBC0V.js";
3
+ import { numberFormatter as ls, pluralize as us, Bubble as cs } from "./App.B9QnUXlt.js";
4
4
  import Zt from "clsx";
5
5
  import fs, { useState as Ae, useEffect as Jt, useContext as St } from "react";
6
- import { useMarkdown as hs } from "./useMarkdown.Bzgv93hs.js";
7
- import { ChatContext as ds, AppContext as ps } from "./LogoEntry.BAI8lPSQ.js";
8
- import { BubbleActions as ms } from "./BubbleActions.CVas6oiy.js";
6
+ import { useMarkdown as hs } from "./useMarkdown.D5uoWBI6.js";
7
+ import { ChatContext as ds, AppContext as ps } from "./LogoEntry.NR86cusR.js";
8
+ import { BubbleActions as ms } from "./BubbleActions.D4umTJGB.js";
9
9
  const Me = {
10
10
  isEmpty: !0
11
11
  };
@@ -1,9 +1,9 @@
1
1
  import { jsx as a, Fragment as S, jsxs as b } from "react/jsx-runtime";
2
- import { Bubble as k } from "./App.YH7VhNjK.js";
3
- import { Button as C } from "./LogoEntry.BAI8lPSQ.js";
2
+ import { Bubble as k } from "./App.B9QnUXlt.js";
3
+ import { Button as C } from "./LogoEntry.NR86cusR.js";
4
4
  import { useState as H, useMemo as m, isValidElement as T, useEffect as O } from "react";
5
- import { useMarkdown as w } from "./useMarkdown.Bzgv93hs.js";
6
- import { BubbleCopyToClipboard as I } from "./BubbleActions.CVas6oiy.js";
5
+ import { useMarkdown as w } from "./useMarkdown.D5uoWBI6.js";
6
+ import { BubbleCopyToClipboard as I } from "./BubbleActions.D4umTJGB.js";
7
7
  const L = 200, h = ({ string: e, idealLength: r = L }) => {
8
8
  if (e.length <= r)
9
9
  return {