@versini/sassysaint 8.119.0 → 8.119.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 (83) hide show
  1. package/dist/chunks/{AboutChangelog.B3zToB4T.js → AboutChangelog.DUUKJ4nJ.js} +2 -2
  2. package/dist/chunks/{AboutEntry.Dc0GMtzL.js → AboutEntry.HowTPv8P.js} +7 -7
  3. package/dist/chunks/{App.Bcw00dJK.js → App.YH7VhNjK.js} +16 -16
  4. package/dist/chunks/{BubbleActions.BcwPpzhU.js → BubbleActions.CVas6oiy.js} +3 -3
  5. package/dist/chunks/ButtonIconDelete.DLIImGjj.js +538 -0
  6. package/dist/chunks/{Chart.B0oqrdYo.js → Chart.CgyzOc3_.js} +2 -2
  7. package/dist/chunks/{ChatBubbleAssistant.DAwx85Wd.js → ChatBubbleAssistant.PmI4ABQt.js} +5 -5
  8. package/dist/chunks/{ChatBubbleUser.BRTLYDmZ.js → ChatBubbleUser.YIoXqbVF.js} +4 -4
  9. package/dist/chunks/{HistoryDataGrid.Bg984Jd_.js → HistoryDataGrid.Dxc-zHra.js} +158 -136
  10. package/dist/chunks/{HistoryEntry.4GpBDf9x.js → HistoryEntry.fta5Qy7u.js} +5 -5
  11. package/dist/chunks/{InlineFilter.Cv_LUpTp.js → InlineFilter.BV1LITjW.js} +3 -3
  12. package/dist/chunks/{LoginEntry.5bQhuYQl.js → LoginEntry.s9rmuYKn.js} +4 -4
  13. package/dist/chunks/{LogoEntry.CN5P16eA.js → LogoEntry.BAI8lPSQ.js} +1 -1
  14. package/dist/chunks/{MemoriesEntry.D0q1U5FD.js → MemoriesEntry.z0U8T17Y.js} +6 -6
  15. package/dist/chunks/{ProfileEntry.Ck-5SP70.js → ProfileEntry.CbUS7vRG.js} +4 -4
  16. package/dist/chunks/{SettingsEntry.CfB9DKIp.js → SettingsEntry.LEugTL8A.js} +5 -5
  17. package/dist/chunks/{UsageEntry.BCFJMOjQ.js → UsageEntry.DMIbfTUl.js} +5 -5
  18. package/dist/chunks/{_baseUniq.DRTEXwBu.js → _baseUniq.3SecgKQH.js} +1 -1
  19. package/dist/chunks/{arc.x_GRGNuD.js → arc.BDfa_lp3.js} +1 -1
  20. package/dist/chunks/{architecture-U656AL7Q.DSfD0nUy.js → architecture-U656AL7Q.HFVQwsOS.js} +1 -1
  21. package/dist/chunks/{architectureDiagram-VXUJARFQ.CAS-oDjc.js → architectureDiagram-VXUJARFQ.BvrTiPQ0.js} +4 -4
  22. package/dist/chunks/{blockDiagram-VD42YOAC.P_XB2AgQ.js → blockDiagram-VD42YOAC.DOklLUrl.js} +5 -5
  23. package/dist/chunks/{browser.oW1ZW8ge.js → browser.DQk9GqZL.js} +1 -1
  24. package/dist/chunks/{c4Diagram-YG6GDRKO.Dc9Vyv3k.js → c4Diagram-YG6GDRKO.BFUTTk1Y.js} +2 -2
  25. package/dist/chunks/{channel.TjlRRr3U.js → channel.BOFo9Gr-.js} +1 -1
  26. package/dist/chunks/{chunk-4BX2VUAB.BwgmyLAX.js → chunk-4BX2VUAB.CvDkLN8F.js} +1 -1
  27. package/dist/chunks/{chunk-55IACEB6.Cgq1oeLK.js → chunk-55IACEB6.B2kRln8j.js} +1 -1
  28. package/dist/chunks/{chunk-B4BG7PRW.Ds2wbzEG.js → chunk-B4BG7PRW.Corbwbnt.js} +4 -4
  29. package/dist/chunks/{chunk-DI55MBZ5.Bft9jyaz.js → chunk-DI55MBZ5.BT3HHSn0.js} +3 -3
  30. package/dist/chunks/{chunk-FMBD7UC4.DF-Zr883.js → chunk-FMBD7UC4.5EY27HC-.js} +1 -1
  31. package/dist/chunks/{chunk-QN33PNHL.BVMRH_Hs.js → chunk-QN33PNHL.BbRol0tK.js} +1 -1
  32. package/dist/chunks/{chunk-QZHKN3VN.DS306ds1.js → chunk-QZHKN3VN.BDDo68fx.js} +1 -1
  33. package/dist/chunks/{chunk-TZMSLE5B.Cl4RUaGp.js → chunk-TZMSLE5B.DUziio9C.js} +1 -1
  34. package/dist/chunks/{classDiagram-2ON5EDUG.DbFfjSp_.js → classDiagram-2ON5EDUG.CQzgRWsN.js} +2 -2
  35. package/dist/chunks/{classDiagram-v2-WZHVMYZB.DbFfjSp_.js → classDiagram-v2-WZHVMYZB.CQzgRWsN.js} +2 -2
  36. package/dist/chunks/{clone.B8XxgJj0.js → clone.BbTV7Hf1.js} +1 -1
  37. package/dist/chunks/{cose-bilkent-S5V4N54A.CL-tsB7O.js → cose-bilkent-S5V4N54A.H-phdC7M.js} +2 -2
  38. package/dist/chunks/{dagre-6UL2VRFP.7xKesqEK.js → dagre-6UL2VRFP.x6Rep04B.js} +5 -5
  39. package/dist/chunks/{diagram-PSM6KHXK.D6JNXJQr.js → diagram-PSM6KHXK.CSCzs70K.js} +4 -4
  40. package/dist/chunks/{diagram-QEK2KX5R.VaJKE9Ih.js → diagram-QEK2KX5R.Dtem9HUK.js} +3 -3
  41. package/dist/chunks/{diagram-S2PKOQOG.BjCuqhPd.js → diagram-S2PKOQOG.zbHWbMaf.js} +3 -3
  42. package/dist/chunks/{erDiagram-Q2GNP2WA.BYnxwTG-.js → erDiagram-Q2GNP2WA.BtpqAsGU.js} +4 -4
  43. package/dist/chunks/{flowDiagram-NV44I4VS.DefWDma3.js → flowDiagram-NV44I4VS.DWAr7BjD.js} +5 -5
  44. package/dist/chunks/{ganttDiagram-JELNMOA3.BrEeaW2n.js → ganttDiagram-JELNMOA3.CMrQ-dz3.js} +2 -2
  45. package/dist/chunks/{gitGraph-F6HP7TQM.C4_YWAr0.js → gitGraph-F6HP7TQM.BpVVMz0e.js} +1 -1
  46. package/dist/chunks/{gitGraphDiagram-NY62KEGX.GGrXKGya.js → gitGraphDiagram-NY62KEGX.Dnudwhw8.js} +4 -4
  47. package/dist/chunks/{graph.BxDrvENy.js → graph.Dchkn011.js} +2 -2
  48. package/dist/chunks/{index.BMADibmh.js → index.B-JCLT_X.js} +3 -3
  49. package/dist/chunks/{index.DvThh-C6.js → index.B8WGlS1_.js} +1 -1
  50. package/dist/chunks/{index.DOwjLeiM.js → index.C1iOYl0L.js} +1 -1
  51. package/dist/chunks/{index.tqKeN7sl.js → index.CFiwZc0d.js} +1 -1
  52. package/dist/chunks/{index.CR0NHbVR.js → index.CJdOzh65.js} +1 -1
  53. package/dist/chunks/{index.CZRaE0eA.js → index.CKTPHcKB.js} +1 -1
  54. package/dist/chunks/{index.DS9SCH32.js → index.CtIbZ6tf.js} +1 -1
  55. package/dist/chunks/{index.CsAjUl3G.js → index.CxH0cB2j.js} +3 -3
  56. package/dist/chunks/{index.o4ZD5ALX.js → index.jtqzynwK.js} +2 -2
  57. package/dist/chunks/{info-NVLQJR56.E0G9wIVE.js → info-NVLQJR56.D6y19kSs.js} +1 -1
  58. package/dist/chunks/{infoDiagram-WHAUD3N6.CY9ADLsc.js → infoDiagram-WHAUD3N6.Df1Bl645.js} +2 -2
  59. package/dist/chunks/{journeyDiagram-XKPGCS4Q.BZHhK7w4.js → journeyDiagram-XKPGCS4Q.Ci2alRy7.js} +4 -4
  60. package/dist/chunks/{kanban-definition-3W4ZIXB7.DQSZD0Em.js → kanban-definition-3W4ZIXB7.DfuyRvt8.js} +2 -2
  61. package/dist/chunks/{layout.DUh_4gWb.js → layout.D90hHM4d.js} +4 -4
  62. package/dist/chunks/{mermaid-parser.core.lAJFSSvC.js → mermaid-parser.core.DLE_P-x2.js} +10 -10
  63. package/dist/chunks/{min.B3NH5ZNz.js → min.B0AjWADq.js} +2 -2
  64. package/dist/chunks/{mindmap-definition-VGOIOE7T.CVTcq_-S.js → mindmap-definition-VGOIOE7T.Bu83LzTN.js} +3 -3
  65. package/dist/chunks/{packet-BFZMPI3H.CaaCaP6S.js → packet-BFZMPI3H.DxZoEqgw.js} +1 -1
  66. package/dist/chunks/{pie-7BOR55EZ.Ctr5Wngs.js → pie-7BOR55EZ.DWdiSl6K.js} +1 -1
  67. package/dist/chunks/{pieDiagram-ADFJNKIX.v0K5SYBL.js → pieDiagram-ADFJNKIX.BDwKttQ7.js} +4 -4
  68. package/dist/chunks/{quadrantDiagram-AYHSOK5B.CSGhc5R-.js → quadrantDiagram-AYHSOK5B.CRt3S_H1.js} +1 -1
  69. package/dist/chunks/{radar-NHE76QYJ.BYJioslS.js → radar-NHE76QYJ.CoZXKuQy.js} +1 -1
  70. package/dist/chunks/{rehype-mermaid.CYJb7tO-.js → rehype-mermaid.Om4IoSir.js} +33 -33
  71. package/dist/chunks/{requirementDiagram-UZGBJVZJ.07FdvPam.js → requirementDiagram-UZGBJVZJ.DlBPAOx9.js} +3 -3
  72. package/dist/chunks/{sankeyDiagram-TZEHDZUN.BJQl-LVq.js → sankeyDiagram-TZEHDZUN.BZytE4s9.js} +1 -1
  73. package/dist/chunks/{sequenceDiagram-WL72ISMW.D3HP-wCt.js → sequenceDiagram-WL72ISMW.Bbuw9Hz-.js} +3 -3
  74. package/dist/chunks/{stateDiagram-FKZM4ZOC.uXuYKEnS.js → stateDiagram-FKZM4ZOC.BsnKKwn5.js} +4 -4
  75. package/dist/chunks/{stateDiagram-v2-4FDKWEC3.i7NR_lBC.js → stateDiagram-v2-4FDKWEC3.BsNASJkO.js} +2 -2
  76. package/dist/chunks/{timeline-definition-IT6M3QCI.CfrxZtW7.js → timeline-definition-IT6M3QCI.R8tQley7.js} +2 -2
  77. package/dist/chunks/{treemap-KMMF4GRG.D0E-EXib.js → treemap-KMMF4GRG.Cs8W98VP.js} +1 -1
  78. package/dist/chunks/{useMarkdown.CVmi3L7b.js → useMarkdown.Bzgv93hs.js} +8 -8
  79. package/dist/chunks/{xychartDiagram-PRI3JC2R.BedGeb-X.js → xychartDiagram-PRI3JC2R.SMqCrVMM.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.CASHORv6.js +0 -523
@@ -1,12 +1,12 @@
1
- import { jsx as t, jsxs as h, Fragment as L } from "react/jsx-runtime";
2
- import { DataGridContext as P, useColumnMeasurement as X, getBodyClass as Z, DataGridHeader as J, DataGridRow as j, DataGridCell as d, DataGridCellSort as A, ButtonIconDelete as K, DataGrid as Q } from "./ButtonIconDelete.CASHORv6.js";
3
- import { forwardRef as ee, useContext as te, useRef as R, useState as q, useCallback as M, useEffect as N, useImperativeHandle as re, useMemo as G } from "react";
4
- import { CellWrapper as ne, IconCloseLight as se, ButtonIcon as O, IconRestore as oe, IconStarInCircle as le, IconStarInCircleLight as ae, CARDS as ce } from "./LogoEntry.CN5P16eA.js";
5
- import { pluralize as F, numberFormatter as ie, ResponsiveTooltip as U, isProbablyMobile as me } from "./App.Bcw00dJK.js";
6
- import k from "clsx";
7
- import { y as D, V as H, INFINITE_SCROLL_THRESHOLD as ue, INFINITE_SCROLL_LIMIT as de } from "./index.o4ZD5ALX.js";
8
- const fe = 20, xe = 5, pe = "20px", z = "data-row-index";
9
- function he(e) {
1
+ import { jsx as t, jsxs as h, Fragment as E } from "react/jsx-runtime";
2
+ import { DataGridContext as A, useColumnMeasurement as J, getBodyClass as K, DataGridHeader as Q, DataGridRow as q, DataGridCell as d, DataGridCellSort as B, ButtonIconDelete as ee, DataGrid as te } from "./ButtonIconDelete.DLIImGjj.js";
3
+ import { forwardRef as re, useContext as ne, useRef as D, useState as X, useCallback as P, useEffect as v, useImperativeHandle as se, useMemo as $ } from "react";
4
+ import { CellWrapper as F, IconCloseLight as oe, ButtonIcon as U, IconRestore as le, IconStarInCircle as ae, IconStarInCircleLight as ce, CARDS as ie } from "./LogoEntry.BAI8lPSQ.js";
5
+ import { pluralize as H, numberFormatter as me, ResponsiveTooltip as z, isProbablyMobile as ue } from "./App.YH7VhNjK.js";
6
+ import I from "clsx";
7
+ import { y as _, V, INFINITE_SCROLL_THRESHOLD as de, INFINITE_SCROLL_LIMIT as fe } from "./index.jtqzynwK.js";
8
+ const xe = 20, pe = 5, he = "20px", Y = "data-row-index";
9
+ function ge(e) {
10
10
  let r = e.parentElement;
11
11
  for (; r; ) {
12
12
  const l = getComputedStyle(r).overflowY;
@@ -16,104 +16,119 @@ function he(e) {
16
16
  }
17
17
  return null;
18
18
  }
19
- function ge({ data: e, children: r, batchSize: o = fe, threshold: l = xe, rootMargin: i = pe, onVisibleCountChange: f, className: x }, g) {
20
- const u = te(P), b = R(null), y = R(null), m = R(null), s = e.length, C = Math.min(o + l, s), [a, v] = q(C), I = a < s, T = M((n) => {
21
- const c = b.current;
22
- if (!c)
19
+ function be({ data: e, children: r, batchSize: o = xe, threshold: l = pe, rootMargin: i = he, onVisibleCountChange: f, className: x }, g) {
20
+ const m = ne(A), b = D(null), y = D(null), u = D(null), s = e.length, N = Math.min(o + l, s), [a, T] = X(N), C = a < s, R = P((n) => {
21
+ const k = b.current;
22
+ if (!k)
23
23
  return;
24
- const S = c.querySelector(`[${z}="${n}"]`);
25
- if (S) {
26
- const $ = S.querySelector('[role="row"]');
27
- $ && $.scrollIntoView({
24
+ const c = k.querySelector(`[${Y}="${n}"]`);
25
+ if (c) {
26
+ const S = c.querySelector('[role="row"]');
27
+ S && S.scrollIntoView({
28
28
  behavior: "smooth",
29
29
  block: "center"
30
30
  });
31
31
  }
32
32
  }, []);
33
- N(() => {
34
- if (m.current !== null) {
35
- const n = m.current;
33
+ v(() => {
34
+ if (u.current !== null) {
35
+ const n = u.current;
36
36
  n < a && (requestAnimationFrame(() => {
37
- T(n);
38
- }), m.current = null);
37
+ R(n);
38
+ }), u.current = null);
39
39
  }
40
40
  }, [
41
41
  a,
42
- T
43
- ]), re(g, () => ({
42
+ R
43
+ ]), se(g, () => ({
44
44
  scrollToIndex: (n) => {
45
45
  if (n < 0 || n >= s) {
46
46
  console.warn(`scrollToIndex: index ${n} is out of bounds (0-${s - 1})`);
47
47
  return;
48
48
  }
49
49
  if (n < a) {
50
- T(n);
50
+ R(n);
51
51
  return;
52
52
  }
53
- const c = Math.min(n + l + 1, s);
54
- m.current = n, v(c);
53
+ const k = Math.min(n + l + 1, s);
54
+ u.current = n, T(k);
55
55
  }
56
56
  }), [
57
57
  s,
58
58
  a,
59
59
  l,
60
- T
61
- ]), N(() => {
62
- v(Math.min(o + l, s));
60
+ R
61
+ ]), v(() => {
62
+ T(Math.min(o + l, s));
63
63
  }, [
64
64
  s,
65
65
  o,
66
66
  l
67
- ]), N(() => {
67
+ ]), v(() => {
68
68
  f?.(a, s);
69
69
  }, [
70
70
  a,
71
71
  s,
72
72
  f
73
73
  ]);
74
- const p = M((n) => {
75
- n[0]?.isIntersecting && v((S) => Math.min(S + o, s));
74
+ const p = P((n) => {
75
+ n[0]?.isIntersecting && T((c) => Math.min(c + o, s));
76
76
  }, [
77
77
  o,
78
78
  s
79
- ]), w = M((n) => {
80
- if (y.current && (y.current.disconnect(), y.current = null), n && I) {
81
- const c = he(n);
79
+ ]), w = P((n) => {
80
+ if (y.current && (y.current.disconnect(), y.current = null), n && C) {
81
+ const k = ge(n);
82
82
  y.current = new IntersectionObserver(p, {
83
- root: c,
83
+ root: k,
84
84
  rootMargin: i
85
85
  }), y.current.observe(n);
86
86
  }
87
87
  }, [
88
- I,
88
+ C,
89
89
  p,
90
90
  i
91
91
  ]);
92
- N(() => () => {
92
+ v(() => () => {
93
93
  y.current?.disconnect();
94
94
  }, []);
95
- const E = G(() => I ? Math.max(0, a - l) : -1, [
96
- I,
95
+ const M = $(() => C ? Math.max(0, a - l) : -1, [
96
+ C,
97
97
  a,
98
98
  l
99
- ]), B = G(() => {
100
- const n = [];
101
- for (let c = 0; c < a && c < s; c++)
102
- c === E && n.push(/* @__PURE__ */ t("div", {
99
+ ]), O = $(() => ({
100
+ ...m,
101
+ cellWrapper: F.BODY
102
+ }), [
103
+ m
104
+ ]), G = $(() => {
105
+ const n = [], k = Math.min(a, s) - 1;
106
+ for (let c = 0; c < a && c < s; c++) {
107
+ c === M && n.push(/* @__PURE__ */ t("div", {
103
108
  ref: w,
104
109
  "aria-hidden": "true",
105
110
  style: {
106
111
  height: "1px",
107
112
  background: "transparent"
108
113
  }
109
- }, "__infinite-scroll-marker-inline__")), n.push(/* @__PURE__ */ t("div", {
110
- [z]: c,
111
- style: {
112
- display: "contents"
114
+ }, "__infinite-scroll-marker-inline__"));
115
+ const S = !C && c === k;
116
+ n.push(/* @__PURE__ */ t(A.Provider, {
117
+ value: {
118
+ ...O,
119
+ rowIndex: c,
120
+ isLastRow: S
113
121
  },
114
- children: r(e[c], c)
122
+ children: /* @__PURE__ */ t("div", {
123
+ [Y]: c,
124
+ style: {
125
+ display: "contents"
126
+ },
127
+ children: r(e[c], c)
128
+ })
115
129
  }, c));
116
- return E === a && I && n.push(/* @__PURE__ */ t("div", {
130
+ }
131
+ return M === a && C && n.push(/* @__PURE__ */ t("div", {
117
132
  ref: w,
118
133
  "aria-hidden": "true",
119
134
  style: {
@@ -125,27 +140,28 @@ function ge({ data: e, children: r, batchSize: o = fe, threshold: l = xe, rootMa
125
140
  e,
126
141
  a,
127
142
  s,
128
- E,
129
- I,
143
+ M,
144
+ C,
130
145
  r,
131
- w
146
+ w,
147
+ O
132
148
  ]);
133
- X(b, B);
134
- const W = Z(!!u.columns, x);
135
- return /* @__PURE__ */ t(P.Provider, {
149
+ J(b, G);
150
+ const Z = K(!!m.columns, x);
151
+ return /* @__PURE__ */ t(A.Provider, {
136
152
  value: {
137
- ...u,
138
- cellWrapper: ne.BODY
153
+ ...m,
154
+ cellWrapper: F.BODY
139
155
  },
140
156
  children: /* @__PURE__ */ t("div", {
141
157
  ref: b,
142
158
  role: "rowgroup",
143
- className: W,
144
- children: B
159
+ className: Z,
160
+ children: G
145
161
  })
146
162
  });
147
163
  }
148
- const be = /* @__PURE__ */ ee(ge), ye = ({
164
+ const ye = /* @__PURE__ */ re(be), we = ({
149
165
  sortDirection: e,
150
166
  sortedCell: r,
151
167
  onSortChange: o,
@@ -156,45 +172,45 @@ const be = /* @__PURE__ */ ee(ge), ye = ({
156
172
  const x = (g) => {
157
173
  o(g);
158
174
  };
159
- return /* @__PURE__ */ t(J, { caption: l, children: /* @__PURE__ */ h(j, { children: [
175
+ return /* @__PURE__ */ t(Q, { caption: l, children: /* @__PURE__ */ h(q, { children: [
160
176
  /* @__PURE__ */ t(d, { className: "invisible", children: "Row" }),
161
- f ? /* @__PURE__ */ h(L, { children: [
177
+ f ? /* @__PURE__ */ h(E, { children: [
162
178
  /* @__PURE__ */ t(d, { className: "text-xs sm:text-sm", children: "Summary" }),
163
179
  i ? /* @__PURE__ */ t(d, { className: "text-xs sm:text-sm", children: "Date" }) : /* @__PURE__ */ t(
164
- A,
180
+ B,
165
181
  {
166
182
  focusMode: "system",
167
183
  buttonClassName: "text-xs sm:text-sm",
168
- cellId: D,
184
+ cellId: _,
169
185
  align: "left",
170
- sortDirection: r === D ? e : !1,
186
+ sortDirection: r === _ ? e : !1,
171
187
  sortedCell: r,
172
188
  onSort: x,
173
189
  children: "Date"
174
190
  }
175
191
  ),
176
192
  i ? /* @__PURE__ */ t(d, { align: "right", className: "text-xs sm:text-sm", children: "Tokens" }) : /* @__PURE__ */ t(
177
- A,
193
+ B,
178
194
  {
179
195
  focusMode: "system",
180
196
  buttonClassName: "text-xs sm:text-sm",
181
- cellId: H,
197
+ cellId: V,
182
198
  align: "right",
183
- sortDirection: r === H ? e : !1,
199
+ sortDirection: r === V ? e : !1,
184
200
  sortedCell: r,
185
201
  onSort: x,
186
202
  children: "Tokens"
187
203
  }
188
204
  )
189
- ] }) : /* @__PURE__ */ h(L, { children: [
205
+ ] }) : /* @__PURE__ */ h(E, { children: [
190
206
  i ? /* @__PURE__ */ t(d, { className: "text-xs sm:text-sm", children: "Date" }) : /* @__PURE__ */ t(
191
- A,
207
+ B,
192
208
  {
193
209
  focusMode: "system",
194
210
  buttonClassName: "text-xs sm:text-sm",
195
- cellId: D,
211
+ cellId: _,
196
212
  align: "left",
197
- sortDirection: r === D ? e : !1,
213
+ sortDirection: r === _ ? e : !1,
198
214
  sortedCell: r,
199
215
  onSort: x,
200
216
  children: "Date"
@@ -205,46 +221,46 @@ const be = /* @__PURE__ */ ee(ge), ye = ({
205
221
  /* @__PURE__ */ t(d, { align: "right", className: "text-xs sm:text-sm", children: "Actions" })
206
222
  ] }) });
207
223
  };
208
- const we = "av-pill", ke = ({ variant: e }) => k("rounded-xs border", {
224
+ const Ie = "av-pill", ke = ({ variant: e }) => I("rounded-xs border", {
209
225
  "border-border-information": e === "information",
210
226
  "border-border-warning": e === "warning",
211
227
  "border-border-success": e === "success",
212
228
  "border-border-error": e === "error"
213
- }), V = ({ variant: e }) => k("not-prose", {
229
+ }), W = ({ variant: e }) => I("not-prose", {
214
230
  "text-copy-information": e === "information",
215
231
  "text-copy-warning": e === "warning",
216
232
  "text-copy-success": e === "success",
217
233
  "text-copy-error": e === "error"
218
- }), Ie = ({ variant: e }) => k({
234
+ }), Ce = ({ variant: e }) => I({
219
235
  "bg-surface-information": e === "information",
220
236
  "bg-surface-warning": e === "warning",
221
237
  "bg-surface-success": e === "success",
222
238
  "bg-surface-error": e === "error"
223
- }), Ce = (e) => {
239
+ }), Ne = (e) => {
224
240
  const { className: r, variant: o } = e;
225
241
  return {
226
- main: k(we, "inline-flex items-center gap-1 px-2 py-0.5 text-xs", ke({
242
+ main: I(Ie, "inline-flex items-center gap-1 px-2 py-0.5 text-xs", ke({
227
243
  variant: o
228
- }), V({
244
+ }), W({
229
245
  variant: o
230
- }), Ie(e), r),
231
- button: k("inline-flex items-center justify-center", "ml-1", "focus:outline", "focus:outline-1", "focus:outline-offset-1", "focus:outline-focus-dark", "hover:bg-surface-medium/50", "rounded-full", V({
246
+ }), Ce(e), r),
247
+ button: I("inline-flex items-center justify-center", "ml-1", "focus:outline", "focus:outline-1", "focus:outline-offset-1", "focus:outline-focus-dark", "hover:bg-surface-medium/50", "rounded-full", W({
232
248
  variant: o
233
249
  }))
234
250
  };
235
- }, Y = ({ label: e, className: r, variant: o = "information", description: l, onClose: i }) => {
236
- const [f, x] = q(!0), g = (b) => {
251
+ }, j = ({ label: e, className: r, variant: o = "information", description: l, onClose: i }) => {
252
+ const [f, x] = X(!0), g = (b) => {
237
253
  i && (i(b), b.defaultPrevented || x(!1));
238
254
  };
239
255
  if (!f)
240
256
  return null;
241
- const u = Ce({
257
+ const m = Ne({
242
258
  className: r,
243
259
  variant: o
244
260
  });
245
261
  return /* @__PURE__ */ h("div", {
246
262
  role: "text",
247
- className: u.main,
263
+ className: m.main,
248
264
  children: [
249
265
  l && /* @__PURE__ */ t("span", {
250
266
  className: "sr-only",
@@ -256,25 +272,25 @@ const we = "av-pill", ke = ({ variant: e }) => k("rounded-xs border", {
256
272
  i && /* @__PURE__ */ t("button", {
257
273
  type: "button",
258
274
  onClick: g,
259
- className: u.button,
275
+ className: m.button,
260
276
  "aria-label": "Close",
261
- children: /* @__PURE__ */ t(se, {
277
+ children: /* @__PURE__ */ t(oe, {
262
278
  size: "size-3"
263
279
  })
264
280
  })
265
281
  ]
266
282
  });
267
283
  };
268
- function Ne(e, r, o) {
269
- return o && r > e ? `Showing ${F(`${e} chat`, e)} out of ${r}` : F(`${e} chat`, e);
284
+ function ve(e, r, o) {
285
+ return o && r > e ? `Showing ${H(`${e} chat`, e)} out of ${r}` : H(`${e} chat`, e);
270
286
  }
271
- const _ = {
287
+ const L = {
272
288
  rowNumber: "dark:text-copy-medium",
273
289
  summary: "dark:text-white sm:max-w-full text-xs sm:text-sm",
274
290
  timestamp: "dark:text-copy-medium sm:whitespace-nowrap text-xs sm:text-sm max-w-20 sm:max-w-none",
275
291
  tokenUsage: "dark:text-copy-medium text-xs sm:text-sm"
276
292
  };
277
- function ve({
293
+ function Te({
278
294
  item: e,
279
295
  index: r,
280
296
  onClickRestore: o,
@@ -283,33 +299,33 @@ function ve({
283
299
  showTokenUsage: f = !0,
284
300
  isActive: x = !1
285
301
  }) {
286
- const g = e.timestamp.split(",")[0], u = e.similarityScore !== void 0 && e.similarityScore !== null ? Math.round(e.similarityScore * 100) : null, b = u !== null && u < 40 ? "warning" : "success", y = e.keywordMatch === !0, m = /* @__PURE__ */ t(
302
+ const g = e.timestamp.split(",")[0], m = e.similarityScore !== void 0 && e.similarityScore !== null ? Math.round(e.similarityScore * 100) : null, b = m !== null && m < 40 ? "warning" : "success", y = e.keywordMatch === !0, u = /* @__PURE__ */ t(
287
303
  d,
288
304
  {
289
- className: k(_.summary),
305
+ className: I(L.summary),
290
306
  style: { wordBreak: "break-word" },
291
307
  children: /* @__PURE__ */ h("div", { className: "flex flex-col gap-1", children: [
292
308
  /* @__PURE__ */ h("div", { className: "flex flex-wrap gap-1", children: [
293
- u !== null && /* @__PURE__ */ t(
294
- Y,
309
+ m !== null && /* @__PURE__ */ t(
310
+ j,
295
311
  {
296
312
  variant: b,
297
- label: `${u}% semantic`
313
+ label: `${m}% semantic`
298
314
  }
299
315
  ),
300
- y && /* @__PURE__ */ t(Y, { variant: "information", label: "keyword" })
316
+ y && /* @__PURE__ */ t(j, { variant: "information", label: "keyword" })
301
317
  ] }),
302
318
  /* @__PURE__ */ t("span", { children: e.summary })
303
319
  ] })
304
320
  }
305
- ), s = /* @__PURE__ */ t(d, { className: k(_.timestamp), children: g }), C = f ? /* @__PURE__ */ t(d, { align: "right", className: k(_.tokenUsage), children: e.tokenUsage ? ie.format(e.tokenUsage) : "0" }) : null, a = /* @__PURE__ */ t(d, { align: "center", borderLeft: !0, children: /* @__PURE__ */ h("div", { className: "flex flex-col items-end sm:flex-row gap-2", children: [
321
+ ), s = /* @__PURE__ */ t(d, { className: I(L.timestamp), children: g }), N = f ? /* @__PURE__ */ t(d, { align: "right", className: I(L.tokenUsage), children: e.tokenUsage ? me.format(e.tokenUsage) : "0" }) : null, a = /* @__PURE__ */ t(d, { align: "center", borderLeft: !0, children: /* @__PURE__ */ h("div", { className: "flex flex-col items-end sm:flex-row gap-2", children: [
306
322
  /* @__PURE__ */ t(
307
- U,
323
+ z,
308
324
  {
309
325
  label: "Restore chat",
310
326
  placement: "top",
311
327
  trigger: /* @__PURE__ */ t(
312
- O,
328
+ U,
313
329
  {
314
330
  noBorder: !0,
315
331
  label: "Restore chat",
@@ -318,7 +334,7 @@ function ve({
318
334
  await o(e);
319
335
  },
320
336
  children: /* @__PURE__ */ t(
321
- oe,
337
+ le,
322
338
  {
323
339
  size: "size-3",
324
340
  monotone: !0,
@@ -330,12 +346,12 @@ function ve({
330
346
  }
331
347
  ),
332
348
  /* @__PURE__ */ t(
333
- U,
349
+ z,
334
350
  {
335
351
  label: e.favoriteChat ? "Remove from favorites" : "Add to favorites",
336
352
  placement: "top",
337
353
  trigger: /* @__PURE__ */ t(
338
- O,
354
+ U,
339
355
  {
340
356
  noBorder: !0,
341
357
  label: e.favoriteChat ? "Remove from favorites" : "Add to favorites",
@@ -343,13 +359,13 @@ function ve({
343
359
  onClick: async () => {
344
360
  await i(e);
345
361
  },
346
- children: e.favoriteChat ? /* @__PURE__ */ t(le, { size: "size-4", monotone: !0 }) : /* @__PURE__ */ t(ae, { size: "size-4", monotone: !0 })
362
+ children: e.favoriteChat ? /* @__PURE__ */ t(ae, { size: "size-4", monotone: !0 }) : /* @__PURE__ */ t(ce, { size: "size-4", monotone: !0 })
347
363
  }
348
364
  )
349
365
  }
350
366
  ),
351
367
  /* @__PURE__ */ t(
352
- K,
368
+ ee,
353
369
  {
354
370
  label: "Delete chat",
355
371
  disabled: !1,
@@ -359,15 +375,15 @@ function ve({
359
375
  }
360
376
  )
361
377
  ] }) });
362
- return /* @__PURE__ */ h(j, { active: x, children: [
363
- /* @__PURE__ */ t(d, { className: k(_.rowNumber), children: r + 1 }),
364
- f ? /* @__PURE__ */ h(L, { children: [
365
- m,
378
+ return /* @__PURE__ */ h(q, { active: x, children: [
379
+ /* @__PURE__ */ t(d, { className: I(L.rowNumber), children: r + 1 }),
380
+ f ? /* @__PURE__ */ h(E, { children: [
381
+ u,
366
382
  s,
367
- C
368
- ] }) : /* @__PURE__ */ h(L, { children: [
383
+ N
384
+ ] }) : /* @__PURE__ */ h(E, { children: [
369
385
  s,
370
- m
386
+ u
371
387
  ] }),
372
388
  a
373
389
  ] });
@@ -381,68 +397,74 @@ const Ae = ({
381
397
  onClickDelete: f,
382
398
  onClickFavorite: x,
383
399
  isLoading: g = !1,
384
- totalHistoryCount: u,
400
+ totalHistoryCount: m,
385
401
  isFiltered: b = !1,
386
402
  isSearchActive: y = !1,
387
- activeChatId: m
403
+ activeChatId: u
388
404
  }) => {
389
- const s = me(), C = R(null), a = R(!1);
390
- N(() => {
391
- if (!m || a.current)
405
+ const s = ue(), N = D(null), a = D(!1);
406
+ v(() => {
407
+ if (!u || a.current)
392
408
  return;
393
409
  const p = e.findIndex(
394
- (w) => w.id === m
410
+ (w) => w.id === u
395
411
  );
396
412
  if (p !== -1) {
397
413
  a.current = !0;
398
414
  const w = setTimeout(() => {
399
- C.current?.scrollToIndex(p);
415
+ N.current?.scrollToIndex(p);
400
416
  }, 100);
401
417
  return () => clearTimeout(w);
402
418
  }
403
- }, [m, e]), N(() => {
419
+ }, [u, e]), v(() => {
404
420
  a.current = !1;
405
- }, [m]);
406
- const v = Ne(
421
+ }, [u]);
422
+ const T = ve(
407
423
  e.length,
408
- u ?? e.length,
424
+ m ?? e.length,
409
425
  b
410
426
  );
411
427
  return /* @__PURE__ */ h(
412
- Q,
428
+ te,
413
429
  {
414
430
  stickyHeader: !0,
415
431
  stickyFooter: !0,
416
432
  compact: !0,
417
433
  mode: "alt-system",
418
434
  blurEffect: "medium",
419
- columns: s ? ["auto", "auto", "1fr", ".4fr"] : ["auto", "minmax(10px, 1fr)", ".3fr", ".3fr", ".3fr"],
420
- wrapperClassName: k(
435
+ columns: s ? ["auto", "auto", "1fr", "0.4fr"] : [
436
+ "auto",
437
+ "minmax(10px, 1fr)",
438
+ "0.3fr",
439
+ "0.3fr",
440
+ "0.3fr"
441
+ ],
442
+ wrapperClassName: I(
421
443
  "max-h-[clamp(12rem,calc(100dvh-24rem),60dvh)]",
422
444
  "sm:max-h-[clamp(12rem,calc(100dvh-24rem),60dvh)]"
423
445
  ),
424
446
  loading: g && e.length > 0,
425
447
  children: [
426
448
  /* @__PURE__ */ t(
427
- ye,
449
+ we,
428
450
  {
429
451
  sortDirection: r,
430
452
  sortedCell: o,
431
453
  onSortChange: l,
432
- caption: v,
454
+ caption: T,
433
455
  isSearchActive: y,
434
456
  showTokenUsage: !s
435
457
  }
436
458
  ),
437
459
  g && e.length === 0 ? /* @__PURE__ */ t("div", { className: "p-4 text-center", role: "status", "aria-live": "polite", children: "Loading..." }) : /* @__PURE__ */ t(
438
- be,
460
+ ye,
439
461
  {
440
- ref: C,
462
+ ref: N,
441
463
  data: e.filter((p) => p?.summary),
442
- batchSize: de,
443
- threshold: ue,
464
+ batchSize: fe,
465
+ threshold: de,
444
466
  children: (p, w) => /* @__PURE__ */ t(
445
- ve,
467
+ Te,
446
468
  {
447
469
  item: p,
448
470
  index: w,
@@ -450,9 +472,9 @@ const Ae = ({
450
472
  onClickDelete: f,
451
473
  onClickFavorite: x,
452
474
  showTokenUsage: !s,
453
- isActive: m === p.id
475
+ isActive: u === p.id
454
476
  },
455
- `${ce.HISTORY.TITLE}-${p.id}-${w}`
477
+ `${ie.HISTORY.TITLE}-${p.id}-${w}`
456
478
  )
457
479
  }
458
480
  )
@@ -1,13 +1,13 @@
1
1
  import { jsxs as i, jsx as a, Fragment as z } from "react/jsx-runtime";
2
- import { n as q, LOCAL_STORAGE_PREFIX as d, LOCAL_STORAGE_SORT_TIMESTAMP as X, LOCAL_STORAGE_SORT_TOKEN_USAGE as J, LOCAL_STORAGE_SORT as Z, y as x, LOCAL_STORAGE_CHAT_ID as $, useDeleteChat as ee, useToggleFavoriteChat as te, graphQLRequest as ae, SERVICE_TYPES as re, ACTION_SORT as se, V as oe, LOCAL_STORAGE_SEARCH as ie, LOCAL_STORAGE_FAVORITES_ONLY as ne, LOCAL_STORAGE_KEYWORD_MATCH_ALL as le, useChatsHistory as ce, useUserChatStats as de, ACTION_SEARCH as he } from "./index.o4ZD5ALX.js";
3
- import { InlineFilter as Ce, AnimatedWrapper as ue } from "./InlineFilter.Cv_LUpTp.js";
4
- import { HistoryContext as Q, ChatContext as me, SortDirections as c, APP_CLASSNAME as Se, TOAST_CHAT_DELETED as ye, HISTORY_TITLE as fe } from "./LogoEntry.CN5P16eA.js";
5
- import { useAiChat as Te, useLocalStorage as h, LazyToastContainerWrapper as pe, v4 as Ae, CHAT_RESET as ge, CHAT_SET_ATTACHMENTS as De, CHAT_SET_STATUS as _e, showErrorToast as Ee, ConfirmationPanel as Oe, Panel as ke, debounce as Le, Toggle as B, ButtonCancel as Re } from "./App.Bcw00dJK.js";
2
+ import { n as q, LOCAL_STORAGE_PREFIX as d, LOCAL_STORAGE_SORT_TIMESTAMP as X, LOCAL_STORAGE_SORT_TOKEN_USAGE as J, LOCAL_STORAGE_SORT as Z, y as x, LOCAL_STORAGE_CHAT_ID as $, useDeleteChat as ee, useToggleFavoriteChat as te, graphQLRequest as ae, SERVICE_TYPES as re, ACTION_SORT as se, V as oe, LOCAL_STORAGE_SEARCH as ie, LOCAL_STORAGE_FAVORITES_ONLY as ne, LOCAL_STORAGE_KEYWORD_MATCH_ALL as le, useChatsHistory as ce, useUserChatStats as de, ACTION_SEARCH as he } from "./index.jtqzynwK.js";
3
+ import { InlineFilter as Ce, AnimatedWrapper as ue } from "./InlineFilter.BV1LITjW.js";
4
+ import { HistoryContext as Q, ChatContext as me, SortDirections as c, APP_CLASSNAME as Se, TOAST_CHAT_DELETED as ye, HISTORY_TITLE as fe } from "./LogoEntry.BAI8lPSQ.js";
5
+ import { useAiChat as Te, useLocalStorage as h, LazyToastContainerWrapper as pe, v4 as Ae, CHAT_RESET as ge, CHAT_SET_ATTACHMENTS as De, CHAT_SET_STATUS as _e, showErrorToast as Ee, ConfirmationPanel as Oe, Panel as ke, debounce as Le, Toggle as B, ButtonCancel as Re } from "./App.YH7VhNjK.js";
6
6
  import { useRef as K, useContext as Y, Suspense as ve, lazy as we, useState as I, useCallback as W, useEffect as He } from "react";
7
7
  const be = we(
8
8
  () => import(
9
9
  /* webpackChunkName: "history-datagrid" */
10
- "./HistoryDataGrid.Bg984Jd_.js"
10
+ "./HistoryDataGrid.Dxc-zHra.js"
11
11
  ).then(
12
12
  (C) => ({ default: C.HistoryDataGrid })
13
13
  )
@@ -1,8 +1,8 @@
1
1
  import { jsx as s, jsxs as g } from "react/jsx-runtime";
2
2
  import { useRef as m, useState as A, useLayoutEffect as x } from "react";
3
- import { IconSearch as N, Button as b } from "./LogoEntry.CN5P16eA.js";
4
- import { Card as S } from "./index.tqKeN7sl.js";
5
- import { TextInput as v } from "./index.CZRaE0eA.js";
3
+ import { IconSearch as N, Button as b } from "./LogoEntry.BAI8lPSQ.js";
4
+ import { Card as S } from "./index.CFiwZc0d.js";
5
+ import { TextInput as v } from "./index.CKTPHcKB.js";
6
6
  const F = 300;
7
7
  function H(e, c) {
8
8
  const { duration: n = F, enabled: i = !0 } = c ?? {}, r = m(null), [t, a] = A({
@@ -1,8 +1,8 @@
1
1
  import { jsxs as i, jsx as e, Fragment as x } from "react/jsx-runtime";
2
- import { n as N, getLayoutPaddingClass as C, getMessageContaintWrapperClass as v, isTauri as w } from "./index.o4ZD5ALX.js";
3
- import { Logo as k, PASSWORD_PLACEHOLDER as M, ButtonIcon as u, IconShow as I, IconHide as L, Button as y, LOG_IN as E, LOG_IN_PASSKEY as S, IconPasskey as P } from "./LogoEntry.CN5P16eA.js";
4
- import { Card as B } from "./index.tqKeN7sl.js";
5
- import { TextInput as O, TextInputMask as T } from "./index.CZRaE0eA.js";
2
+ import { n as N, getLayoutPaddingClass as C, getMessageContaintWrapperClass as v, isTauri as w } from "./index.jtqzynwK.js";
3
+ import { Logo as k, PASSWORD_PLACEHOLDER as M, ButtonIcon as u, IconShow as I, IconHide as L, Button as y, LOG_IN as E, LOG_IN_PASSKEY as S, IconPasskey as P } from "./LogoEntry.BAI8lPSQ.js";
4
+ import { Card as B } from "./index.CFiwZc0d.js";
5
+ import { TextInput as O, TextInputMask as T } from "./index.CKTPHcKB.js";
6
6
  import { useState as r, useEffect as f } from "react";
7
7
  const G = () => {
8
8
  const { login: h, logoutReason: o, loginWithPasskey: g } = N(), [t, l] = r(""), [d, n] = r(""), [m, p] = r(!0), [s, c] = r({
@@ -1,7 +1,7 @@
1
1
  import B, { useRef as M, useEffect as z, useCallback as Q, useState as i1, useMemo as G, useContext as n1, useId as l1, useLayoutEffect as J } from "react";
2
2
  import { jsxs as n, jsx as r } from "react/jsx-runtime";
3
3
  import l from "clsx";
4
- import { B as h, e as h1, R as d1, E as u1 } from "./index.o4ZD5ALX.js";
4
+ import { B as h, e as h1, R as d1, E as u1 } from "./index.jtqzynwK.js";
5
5
  const p1 = {
6
6
  ASC: "asc",
7
7
  DESC: "desc"