@hiai-gg/docsmint 0.3.0 → 0.3.2

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 (74) hide show
  1. package/README.md +26 -23
  2. package/{packages/sdk/dist → dist}/client.d.ts +16 -1
  3. package/{packages/sdk/dist → dist}/client.js +25 -1
  4. package/dist/frontend/DatePicker-BcMD49PV.js +275 -0
  5. package/dist/frontend/SettingsDialog-DiAyhzw0.js +4852 -0
  6. package/dist/frontend/ShareDialog-DaZf1raY.js +1317 -0
  7. package/dist/frontend/api/categories.d.ts +10 -0
  8. package/dist/frontend/api/categories.js +2 -0
  9. package/dist/frontend/api/documents.d.ts +10 -0
  10. package/dist/frontend/api/documents.js +2 -0
  11. package/dist/frontend/api/folders.d.ts +10 -0
  12. package/dist/frontend/api/folders.js +2 -0
  13. package/dist/frontend/api/settings.d.ts +8 -0
  14. package/dist/frontend/api/settings.js +2 -0
  15. package/dist/frontend/api/tags.d.ts +11 -0
  16. package/dist/frontend/api/tags.js +2 -0
  17. package/dist/frontend/categories-BE6ZpZl8.js +61 -0
  18. package/dist/frontend/client-B9hzI0W8.js +76 -0
  19. package/dist/frontend/client-C6QQGb0e.js +2766 -0
  20. package/dist/frontend/components/settings.d.ts +2 -0
  21. package/dist/frontend/components/settings.js +2 -0
  22. package/dist/frontend/components/sidebar.d.ts +2 -0
  23. package/dist/frontend/components/sidebar.js +4569 -0
  24. package/dist/frontend/context-DbnW5yib.js +31 -0
  25. package/dist/frontend/dashboard.d.ts +2 -0
  26. package/dist/frontend/dashboard.js +2152 -0
  27. package/dist/frontend/documents-DFVS9SsL.js +83 -0
  28. package/dist/frontend/extension.d.ts +2 -0
  29. package/dist/frontend/extension.js +10 -0
  30. package/dist/frontend/folders-CGe9diAG.js +91 -0
  31. package/dist/frontend/frontend.css +2 -0
  32. package/dist/frontend/i18n.d.ts +5 -0
  33. package/dist/frontend/i18n.js +8 -0
  34. package/dist/frontend/input-ieWIt8I7.js +257 -0
  35. package/dist/frontend/messages-CTGAsqFu.js +1106 -0
  36. package/dist/frontend/resolve-Bl6xmJl_.js +2068 -0
  37. package/dist/frontend/schemas-DwtKylCJ.js +3002 -0
  38. package/dist/frontend/search.d.ts +2 -0
  39. package/dist/frontend/search.js +1001 -0
  40. package/dist/frontend/settings-PCrOtied.js +1313 -0
  41. package/dist/frontend/shared-document.d.ts +3 -0
  42. package/dist/frontend/shared-document.js +193 -0
  43. package/dist/frontend/tag-C5xrg-bb.js +53 -0
  44. package/dist/frontend/tag-store.svelte-B3839FYq.js +6152 -0
  45. package/dist/frontend/tags-DVXTut0p.js +48 -0
  46. package/dist/frontend/theme.d.ts +4 -0
  47. package/dist/frontend/theme.js +8 -0
  48. package/dist/frontend/theme.svelte-ei0QxXa8.js +49 -0
  49. package/dist/index.d.ts +7 -0
  50. package/dist/index.js +3 -0
  51. package/dist/lifecycle.d.ts +90 -0
  52. package/dist/lifecycle.js +99 -0
  53. package/{packages/sdk/dist → dist}/types.d.ts +5 -0
  54. package/dist/workspace.d.ts +21 -0
  55. package/dist/workspace.js +66 -0
  56. package/package.json +70 -36
  57. package/packages/cli/src/index.ts +1 -1
  58. package/packages/db/src/schema.ts +41 -0
  59. package/packages/mcp-server/src/index.ts +1 -1
  60. package/frontend/src/lib/components/editor/shared-document.ts +0 -237
  61. package/frontend/src/lib/extensions/context.ts +0 -60
  62. package/frontend/src/lib/extensions/doc-tabs.ts +0 -18
  63. package/frontend/src/lib/extensions/resolve.ts +0 -48
  64. package/frontend/src/lib/extensions/types.ts +0 -202
  65. package/frontend/src/lib/hosts/DocsmintSharedDocumentHost.svelte +0 -65
  66. package/frontend/src/lib/hosts/HiaiDocsDashboardHost.svelte +0 -1007
  67. package/frontend/src/lib/hosts/HiaiDocsExtensionProvider.svelte +0 -20
  68. package/frontend/src/lib/hosts/HiaiDocsSearchHost.svelte +0 -996
  69. package/frontend/src/lib/hosts/index.ts +0 -25
  70. package/frontend/src/lib/index.ts +0 -65
  71. package/frontend/src/lib/stores/doc-tab-registry.svelte.ts +0 -68
  72. package/packages/sdk/dist/index.d.ts +0 -3
  73. package/packages/sdk/dist/index.js +0 -1
  74. /package/{packages/sdk/dist → dist}/types.js +0 -0
@@ -0,0 +1,4569 @@
1
+ import { $n as e, At as t, Bn as n, Bt as r, C as i, Fn as a, Ft as o, Gt as s, Hn as c, Ht as l, In as u, It as d, Jn as f, Ln as p, Mt as m, Nt as h, Pt as g, Qn as _, Rn as v, S as y, T as b, Ut as x, Vn as S, Vt as ee, Wt as C, Xn as te, Yn as w, _ as ne, _r as re, b as ie, dn as ae, dr as T, er as oe, f as se, fr as ce, g as E, h as D, hr as le, jt as ue, lr as de, m as fe, mr as pe, p as me, pr as he, rr as ge, ur as _e, v as ve, wt as ye, x as be, y as xe, yr as Se, zn as Ce } from "../messages-CTGAsqFu.js";
2
+ import { t as we } from "../context-DbnW5yib.js";
3
+ import { $ as O, A as k, C as Te, D as A, H as j, I as M, J as Ee, L as De, M as Oe, N, R as P, S as ke, T as Ae, _t as F, c as je, d as I, dt as Me, et as L, f as Ne, ft as Pe, g as Fe, gt as R, h as z, i as Ie, it as B, j as V, k as Le, l as Re, lt as H, m as ze, n as U, nt as Be, o as Ve, ot as W, q as G, s as He, t as Ue, tt as K, u as We, v as Ge, vt as Ke, x as qe, z as q } from "../client-C6QQGb0e.js";
4
+ import { n as Je, r as Ye, t as Xe } from "../resolve-Bl6xmJl_.js";
5
+ import { a as Ze, c as Qe, i as $e, n as et, o as tt, r as nt, s as rt, t as it } from "../input-ieWIt8I7.js";
6
+ import { _ as at, a as ot, c as st, d as ct, f as lt, g as ut, h as dt, i as ft, l as pt, m as mt, n as ht, o as gt, p as _t, s as vt, t as yt, u as bt } from "../tag-store.svelte-B3839FYq.js";
7
+ import { C as xt, D as St, O as Ct, S as wt, T as Tt, _ as Et, a as Dt, b as Ot, c as kt, d as At, f as jt, h as Mt, k as Nt, l as Pt, m as Ft, n as It, o as Lt, p as Rt, r as J, s as zt, t as Bt, u as Vt, v as Ht, w as Ut, x as Wt, y as Gt } from "../ShareDialog-DaZf1raY.js";
8
+ import { a as Kt, i as qt, n as Jt, o as Yt, r as Xt, s as Zt, t as Qt } from "../SettingsDialog-DiAyhzw0.js";
9
+ import { n as $t, t as en } from "../tag-C5xrg-bb.js";
10
+ import { t as tn } from "../client-B9hzI0W8.js";
11
+ import { c as nn, i as rn, r as an, s as on, t as sn } from "../documents-DFVS9SsL.js";
12
+ import { c as cn, r as ln, s as un, t as dn } from "../folders-CGe9diAG.js";
13
+ import { i as fn, r as pn, s as mn } from "../categories-BE6ZpZl8.js";
14
+ import { c as hn, i as gn, l as _n, n as vn, o as yn, r as bn } from "../tags-DVXTut0p.js";
15
+ import { onDestroy as xn, onMount as Sn, untrack as Cn } from "svelte";
16
+ import { goto as wn } from "$app/navigation";
17
+ import { page as Tn } from "$app/state";
18
+ //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/clock.svelte
19
+ function En(e, t) {
20
+ let n = Ue(t, [
21
+ "children",
22
+ "$$slots",
23
+ "$$events",
24
+ "$$legacy"
25
+ ]), r = [["circle", {
26
+ cx: "12",
27
+ cy: "12",
28
+ r: "10"
29
+ }], ["path", { d: "M12 6v6l4 2" }]];
30
+ Ye(e, Ie({ name: "clock" }, () => n, {
31
+ get iconNode() {
32
+ return r;
33
+ },
34
+ children: (e, n) => {
35
+ var r = Oe();
36
+ Te(L(r), t, "default", {}, null), V(e, r);
37
+ },
38
+ $$slots: { default: !0 }
39
+ }));
40
+ }
41
+ //#endregion
42
+ //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/panel-left-close.svelte
43
+ function Dn(e, t) {
44
+ let n = Ue(t, [
45
+ "children",
46
+ "$$slots",
47
+ "$$events",
48
+ "$$legacy"
49
+ ]), r = [
50
+ ["rect", {
51
+ width: "18",
52
+ height: "18",
53
+ x: "3",
54
+ y: "3",
55
+ rx: "2"
56
+ }],
57
+ ["path", { d: "M9 3v18" }],
58
+ ["path", { d: "m16 15-3-3 3-3" }]
59
+ ];
60
+ Ye(e, Ie({ name: "panel-left-close" }, () => n, {
61
+ get iconNode() {
62
+ return r;
63
+ },
64
+ children: (e, n) => {
65
+ var r = Oe();
66
+ Te(L(r), t, "default", {}, null), V(e, r);
67
+ },
68
+ $$slots: { default: !0 }
69
+ }));
70
+ }
71
+ //#endregion
72
+ //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/panel-left-open.svelte
73
+ function On(e, t) {
74
+ let n = Ue(t, [
75
+ "children",
76
+ "$$slots",
77
+ "$$events",
78
+ "$$legacy"
79
+ ]), r = [
80
+ ["rect", {
81
+ width: "18",
82
+ height: "18",
83
+ x: "3",
84
+ y: "3",
85
+ rx: "2"
86
+ }],
87
+ ["path", { d: "M9 3v18" }],
88
+ ["path", { d: "m14 9 3 3-3 3" }]
89
+ ];
90
+ Ye(e, Ie({ name: "panel-left-open" }, () => n, {
91
+ get iconNode() {
92
+ return r;
93
+ },
94
+ children: (e, n) => {
95
+ var r = Oe();
96
+ Te(L(r), t, "default", {}, null), V(e, r);
97
+ },
98
+ $$slots: { default: !0 }
99
+ }));
100
+ }
101
+ //#endregion
102
+ //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/settings.svelte
103
+ function kn(e, t) {
104
+ let n = Ue(t, [
105
+ "children",
106
+ "$$slots",
107
+ "$$events",
108
+ "$$legacy"
109
+ ]), r = [["path", { d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915" }], ["circle", {
110
+ cx: "12",
111
+ cy: "12",
112
+ r: "3"
113
+ }]];
114
+ Ye(e, Ie({ name: "settings" }, () => n, {
115
+ get iconNode() {
116
+ return r;
117
+ },
118
+ children: (e, n) => {
119
+ var r = Oe();
120
+ Te(L(r), t, "default", {}, null), V(e, r);
121
+ },
122
+ $$slots: { default: !0 }
123
+ }));
124
+ }
125
+ //#endregion
126
+ //#region src/lib/components/SearchBar.svelte
127
+ var An = N("<button type=\"button\" class=\"absolute right-2 top-1/2 inline-flex size-5 -translate-y-1/2 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\"><!></button>"), jn = N("<div><!> <input type=\"text\"/> <!></div>");
128
+ function Mn(e, t) {
129
+ Pe(t, !0);
130
+ let n = W(""), r = W(null);
131
+ function i() {
132
+ B(n, ""), j(r)?.focus();
133
+ }
134
+ var o = jn(), s = O(o);
135
+ $t(s, { class: "pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" });
136
+ var c = K(s, 2);
137
+ We(c), Ve(c, (e) => B(r, e), () => j(r));
138
+ var l = K(c, 2), u = (e) => {
139
+ var t = An();
140
+ st(O(t), { class: "size-3.5" }), F(t), G((e, n) => {
141
+ I(t, "aria-label", e), I(t, "title", n);
142
+ }, [() => ye(), () => ye()]), P("click", t, i), V(e, t);
143
+ };
144
+ A(l, (e) => {
145
+ j(n) && e(u);
146
+ }), F(o), G((e, t, n) => {
147
+ z(o, 1, e), I(c, "placeholder", t), z(c, 1, n);
148
+ }, [
149
+ () => Fe(J("relative", t.class)),
150
+ () => a(),
151
+ () => Fe(J("flex h-9 w-full rounded-md border border-input bg-transparent pl-9 py-1 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring", j(n) ? "pr-9" : "pr-3"))
152
+ ]), P("keydown", c, (e) => {
153
+ e.key === "Enter" && j(n).trim() && wn(`/search?q=${encodeURIComponent(j(n).trim())}`);
154
+ }), q("focus", c, () => {}), je(c, () => j(n), (e) => B(n, e)), V(e, o), Me();
155
+ }
156
+ De(["keydown", "click"]);
157
+ //#endregion
158
+ //#region ../node_modules/.bun/svelte@5.56.4/node_modules/svelte/src/easing/index.js
159
+ function Nn(e) {
160
+ let t = e - 1;
161
+ return t * t * t + 1;
162
+ }
163
+ //#endregion
164
+ //#region ../node_modules/.bun/svelte@5.56.4/node_modules/svelte/src/animate/index.js
165
+ function Pn(e, { from: t, to: n }, r = {}) {
166
+ var { delay: i = 0, duration: a = (e) => Math.sqrt(e) * 120, easing: o = Nn } = r, s = getComputedStyle(e), c = s.transform === "none" ? "" : s.transform, [l, u] = s.transformOrigin.split(" ").map(parseFloat);
167
+ l /= e.clientWidth, u /= e.clientHeight;
168
+ var d = Fn(e), f = e.clientWidth / n.width / d, p = e.clientHeight / n.height / d, m = t.left + t.width * l, h = t.top + t.height * u, g = n.left + n.width * l, _ = n.top + n.height * u, v = (m - g) * f, y = (h - _) * p, b = t.width / n.width, x = t.height / n.height;
169
+ return {
170
+ delay: i,
171
+ duration: typeof a == "function" ? a(Math.sqrt(v * v + y * y)) : a,
172
+ easing: o,
173
+ css: (e, t) => `transform: ${c} translate(${t * v}px, ${t * y}px) scale(${e + t * b}, ${e + t * x});`
174
+ };
175
+ }
176
+ function Fn(e) {
177
+ if ("currentCSSZoom" in e) return e.currentCSSZoom;
178
+ for (var t = e, n = 1; t !== null;) n *= +getComputedStyle(t).zoom, t = t.parentElement;
179
+ return n;
180
+ }
181
+ //#endregion
182
+ //#region ../node_modules/.bun/svelte-dnd-action@0.9.70+ff5f301bb2db9a0d/node_modules/svelte-dnd-action/dist/index.mjs
183
+ function In(e, t) {
184
+ var n = Object.keys(e);
185
+ if (Object.getOwnPropertySymbols) {
186
+ var r = Object.getOwnPropertySymbols(e);
187
+ t && (r = r.filter(function(t) {
188
+ return Object.getOwnPropertyDescriptor(e, t).enumerable;
189
+ })), n.push.apply(n, r);
190
+ }
191
+ return n;
192
+ }
193
+ function Ln(e) {
194
+ for (var t = 1; t < arguments.length; t++) {
195
+ var n = arguments[t] == null ? {} : arguments[t];
196
+ t % 2 ? In(Object(n), !0).forEach(function(t) {
197
+ zn(e, t, n[t]);
198
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : In(Object(n)).forEach(function(t) {
199
+ Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));
200
+ });
201
+ }
202
+ return e;
203
+ }
204
+ function Rn(e) {
205
+ "@babel/helpers - typeof";
206
+ return Rn = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(e) {
207
+ return typeof e;
208
+ } : function(e) {
209
+ return e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
210
+ }, Rn(e);
211
+ }
212
+ function zn(e, t, n) {
213
+ return t in e ? Object.defineProperty(e, t, {
214
+ value: n,
215
+ enumerable: !0,
216
+ configurable: !0,
217
+ writable: !0
218
+ }) : e[t] = n, e;
219
+ }
220
+ function Bn(e, t) {
221
+ if (e == null) return {};
222
+ var n = {}, r = Object.keys(e), i, a;
223
+ for (a = 0; a < r.length; a++) i = r[a], !(t.indexOf(i) >= 0) && (n[i] = e[i]);
224
+ return n;
225
+ }
226
+ function Vn(e, t) {
227
+ if (e == null) return {};
228
+ var n = Bn(e, t), r, i;
229
+ if (Object.getOwnPropertySymbols) {
230
+ var a = Object.getOwnPropertySymbols(e);
231
+ for (i = 0; i < a.length; i++) r = a[i], !(t.indexOf(r) >= 0) && Object.prototype.propertyIsEnumerable.call(e, r) && (n[r] = e[r]);
232
+ }
233
+ return n;
234
+ }
235
+ function Hn(e, t) {
236
+ return Gn(e) || qn(e, t) || Jn(e, t) || Zn();
237
+ }
238
+ function Un(e) {
239
+ return Wn(e) || Kn(e) || Jn(e) || Xn();
240
+ }
241
+ function Wn(e) {
242
+ if (Array.isArray(e)) return Yn(e);
243
+ }
244
+ function Gn(e) {
245
+ if (Array.isArray(e)) return e;
246
+ }
247
+ function Kn(e) {
248
+ if (typeof Symbol < "u" && e[Symbol.iterator] != null || e["@@iterator"] != null) return Array.from(e);
249
+ }
250
+ function qn(e, t) {
251
+ var n = e == null ? null : typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
252
+ if (n != null) {
253
+ var r = [], i = !0, a = !1, o, s;
254
+ try {
255
+ for (n = n.call(e); !(i = (o = n.next()).done) && (r.push(o.value), !(t && r.length === t)); i = !0);
256
+ } catch (e) {
257
+ a = !0, s = e;
258
+ } finally {
259
+ try {
260
+ !i && n.return != null && n.return();
261
+ } finally {
262
+ if (a) throw s;
263
+ }
264
+ }
265
+ return r;
266
+ }
267
+ }
268
+ function Jn(e, t) {
269
+ if (e) {
270
+ if (typeof e == "string") return Yn(e, t);
271
+ var n = Object.prototype.toString.call(e).slice(8, -1);
272
+ if (n === "Object" && e.constructor && (n = e.constructor.name), n === "Map" || n === "Set") return Array.from(e);
273
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Yn(e, t);
274
+ }
275
+ }
276
+ function Yn(e, t) {
277
+ (t == null || t > e.length) && (t = e.length);
278
+ for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
279
+ return r;
280
+ }
281
+ function Xn() {
282
+ throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
283
+ }
284
+ function Zn() {
285
+ throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
286
+ }
287
+ function Qn(e, t) {
288
+ var n = typeof Symbol < "u" && e[Symbol.iterator] || e["@@iterator"];
289
+ if (!n) {
290
+ if (Array.isArray(e) || (n = Jn(e)) || t && e && typeof e.length == "number") {
291
+ n && (e = n);
292
+ var r = 0, i = function() {};
293
+ return {
294
+ s: i,
295
+ n: function() {
296
+ return r >= e.length ? { done: !0 } : {
297
+ done: !1,
298
+ value: e[r++]
299
+ };
300
+ },
301
+ e: function(e) {
302
+ throw e;
303
+ },
304
+ f: i
305
+ };
306
+ }
307
+ throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
308
+ }
309
+ var a = !0, o = !1, s;
310
+ return {
311
+ s: function() {
312
+ n = n.call(e);
313
+ },
314
+ n: function() {
315
+ var e = n.next();
316
+ return a = e.done, e;
317
+ },
318
+ e: function(e) {
319
+ o = !0, s = e;
320
+ },
321
+ f: function() {
322
+ try {
323
+ !a && n.return != null && n.return();
324
+ } finally {
325
+ if (o) throw s;
326
+ }
327
+ }
328
+ };
329
+ }
330
+ var $n = "finalize", er = "consider";
331
+ function tr(e, t, n) {
332
+ e.dispatchEvent(new CustomEvent($n, { detail: {
333
+ items: t,
334
+ info: n
335
+ } }));
336
+ }
337
+ function nr(e, t, n) {
338
+ e.dispatchEvent(new CustomEvent(er, { detail: {
339
+ items: t,
340
+ info: n
341
+ } }));
342
+ }
343
+ var rr = "draggedEntered", ir = "draggedLeft", ar = "draggedOverIndex", or = "draggedLeftDocument", sr = {
344
+ LEFT_FOR_ANOTHER: "leftForAnother",
345
+ OUTSIDE_OF_ANY: "outsideOfAny"
346
+ };
347
+ function cr(e, t, n) {
348
+ e.dispatchEvent(new CustomEvent(rr, { detail: {
349
+ indexObj: t,
350
+ draggedEl: n
351
+ } }));
352
+ }
353
+ function lr(e, t, n) {
354
+ e.dispatchEvent(new CustomEvent(ir, { detail: {
355
+ draggedEl: t,
356
+ type: sr.LEFT_FOR_ANOTHER,
357
+ theOtherDz: n
358
+ } }));
359
+ }
360
+ function ur(e, t) {
361
+ e.dispatchEvent(new CustomEvent(ir, { detail: {
362
+ draggedEl: t,
363
+ type: sr.OUTSIDE_OF_ANY
364
+ } }));
365
+ }
366
+ function dr(e, t, n) {
367
+ e.dispatchEvent(new CustomEvent(ar, { detail: {
368
+ indexObj: t,
369
+ draggedEl: n
370
+ } }));
371
+ }
372
+ function fr(e) {
373
+ window.dispatchEvent(new CustomEvent(or, { detail: { draggedEl: e } }));
374
+ }
375
+ var pr = {
376
+ DRAG_STARTED: "dragStarted",
377
+ DRAGGED_ENTERED: rr,
378
+ DRAGGED_ENTERED_ANOTHER: "dragEnteredAnother",
379
+ DRAGGED_OVER_INDEX: ar,
380
+ DRAGGED_LEFT: ir,
381
+ DRAGGED_LEFT_ALL: "draggedLeftAll",
382
+ DROPPED_INTO_ZONE: "droppedIntoZone",
383
+ DROPPED_INTO_ANOTHER: "droppedIntoAnother",
384
+ DROPPED_OUTSIDE_OF_ANY: "droppedOutsideOfAny",
385
+ DRAG_STOPPED: "dragStopped"
386
+ }, mr = {
387
+ POINTER: "pointer",
388
+ KEYBOARD: "keyboard"
389
+ }, hr = "isDndShadowItem", gr = "data-is-dnd-shadow-item-internal", _r = "data-is-dnd-shadow-item-hint", vr = "id:dnd-shadow-placeholder-0000", yr = "dnd-action-dragged-el", Y = "id", br = 0;
390
+ function xr() {
391
+ br++;
392
+ }
393
+ function Sr() {
394
+ if (br === 0) throw Error("Bug! trying to decrement when there are no dropzones");
395
+ br--;
396
+ }
397
+ var Cr = typeof window > "u";
398
+ function wr(e) {
399
+ var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, n, r = t ? Nr(e) : e.getBoundingClientRect(), i = getComputedStyle(e), a = i.transform;
400
+ if (a) {
401
+ var o, s, c, l;
402
+ if (a.startsWith("matrix3d(")) n = a.slice(9, -1).split(/, /), o = +n[0], s = +n[5], c = +n[12], l = +n[13];
403
+ else if (a.startsWith("matrix(")) n = a.slice(7, -1).split(/, /), o = +n[0], s = +n[3], c = +n[4], l = +n[5];
404
+ else return r;
405
+ var u = i.transformOrigin, d = r.x - c - (1 - o) * parseFloat(u), f = r.y - l - (1 - s) * parseFloat(u.slice(u.indexOf(" ") + 1)), p = o ? r.width / o : e.offsetWidth, m = s ? r.height / s : e.offsetHeight;
406
+ return {
407
+ x: d,
408
+ y: f,
409
+ width: p,
410
+ height: m,
411
+ top: f,
412
+ right: d + p,
413
+ bottom: f + m,
414
+ left: d
415
+ };
416
+ } else return r;
417
+ }
418
+ function Tr(e) {
419
+ var t = wr(e);
420
+ return {
421
+ top: t.top + window.scrollY,
422
+ bottom: t.bottom + window.scrollY,
423
+ left: t.left + window.scrollX,
424
+ right: t.right + window.scrollX
425
+ };
426
+ }
427
+ function Er(e) {
428
+ var t = e.getBoundingClientRect();
429
+ return {
430
+ top: t.top + window.scrollY,
431
+ bottom: t.bottom + window.scrollY,
432
+ left: t.left + window.scrollX,
433
+ right: t.right + window.scrollX
434
+ };
435
+ }
436
+ function Dr(e) {
437
+ return {
438
+ x: (e.left + e.right) / 2,
439
+ y: (e.top + e.bottom) / 2
440
+ };
441
+ }
442
+ function Or(e, t) {
443
+ return Math.sqrt((e.x - t.x) ** 2 + (e.y - t.y) ** 2);
444
+ }
445
+ function kr(e, t) {
446
+ return e.y <= t.bottom && e.y >= t.top && e.x >= t.left && e.x <= t.right;
447
+ }
448
+ function Ar(e) {
449
+ return Dr(Er(e));
450
+ }
451
+ function jr(e, t) {
452
+ return Or(e, Ar(t));
453
+ }
454
+ function Mr(e) {
455
+ var t = Er(e);
456
+ return t.right < 0 || t.left > document.documentElement.scrollWidth || t.bottom < 0 || t.top > document.documentElement.scrollHeight;
457
+ }
458
+ function Nr(e) {
459
+ for (var t = e.getBoundingClientRect(), n = {
460
+ top: t.top,
461
+ bottom: t.bottom,
462
+ left: t.left,
463
+ right: t.right
464
+ }, r = !1, i = !1, a = e.parentElement; a && a !== document.body;) {
465
+ var o = window.getComputedStyle(a), s = o.overflowY, c = o.overflowX, l = s === "scroll" || s === "auto", u = c === "scroll" || c === "auto";
466
+ if (l || u) {
467
+ var d = a.getBoundingClientRect();
468
+ if (l) {
469
+ var f = Math.max(n.top, d.top), p = Math.min(n.bottom, d.bottom);
470
+ (f !== n.top || p !== n.bottom) && (r = !0), n.top = f, n.bottom = p;
471
+ }
472
+ if (u) {
473
+ var m = Math.max(n.left, d.left), h = Math.min(n.right, d.right);
474
+ (m !== n.left || h !== n.right) && (i = !0), n.left = m, n.right = h;
475
+ }
476
+ }
477
+ a = a.parentElement;
478
+ }
479
+ return r || i ? {
480
+ top: n.top,
481
+ bottom: n.bottom,
482
+ left: n.left,
483
+ right: n.right,
484
+ width: Math.max(0, n.right - n.left),
485
+ height: Math.max(0, n.bottom - n.top)
486
+ } : {
487
+ top: t.top,
488
+ bottom: t.bottom,
489
+ left: t.left,
490
+ right: t.right,
491
+ width: Math.max(0, t.right - t.left),
492
+ height: Math.max(0, t.bottom - t.top)
493
+ };
494
+ }
495
+ var Pr;
496
+ function Fr() {
497
+ Pr = /* @__PURE__ */ new Map();
498
+ }
499
+ Fr();
500
+ function Ir(e) {
501
+ var t = Array.from(e.children).findIndex(function(e) {
502
+ return e.getAttribute(gr);
503
+ });
504
+ if (t >= 0) return Pr.has(e) || Pr.set(e, /* @__PURE__ */ new Map()), Pr.get(e).set(t, Tr(e.children[t])), t;
505
+ }
506
+ function Lr(e, t) {
507
+ if (!kr(e, Tr(t))) return null;
508
+ var n = t.children;
509
+ if (n.length === 0) return {
510
+ index: 0,
511
+ isProximityBased: !0
512
+ };
513
+ for (var r = Ir(t), i = 0; i < n.length; i++) if (kr(e, Tr(n[i]))) {
514
+ var a = Pr.has(t) && Pr.get(t).get(i);
515
+ return a && !kr(e, a) ? {
516
+ index: r,
517
+ isProximityBased: !1
518
+ } : {
519
+ index: i,
520
+ isProximityBased: !1
521
+ };
522
+ }
523
+ for (var o = Number.MAX_VALUE, s = void 0, c = 0; c < n.length; c++) {
524
+ var l = jr(e, n[c]);
525
+ l < o && (o = l, s = c);
526
+ }
527
+ if (n.length > 0) {
528
+ var u = n.length, d = n[u - 1].cloneNode(!1);
529
+ d.style.visibility = "hidden", d.style.pointerEvents = "none", t.appendChild(d), jr(e, d) < o && (s = u), t.removeChild(d);
530
+ }
531
+ return {
532
+ index: s,
533
+ isProximityBased: !0
534
+ };
535
+ }
536
+ function Rr(e) {
537
+ return JSON.stringify(e, null, 2);
538
+ }
539
+ function zr(e) {
540
+ if (!e) throw Error("cannot get depth of a falsy node");
541
+ return Br(e, 0);
542
+ }
543
+ function Br(e) {
544
+ var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
545
+ return e.parentElement ? Br(e.parentElement, t + 1) : t - 1;
546
+ }
547
+ function Vr(e, t) {
548
+ if (Object.keys(e).length !== Object.keys(t).length) return !1;
549
+ for (var n in e) if (!{}.hasOwnProperty.call(t, n) || t[n] !== e[n]) return !1;
550
+ return !0;
551
+ }
552
+ function Hr(e, t) {
553
+ if (e.length !== t.length) return !1;
554
+ for (var n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1;
555
+ return !0;
556
+ }
557
+ var Ur = 200, Wr = 10, Gr;
558
+ function Kr(e, t) {
559
+ var n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : Ur, r = arguments.length > 3 ? arguments[3] : void 0, i = arguments.length > 4 ? arguments[4] : void 0, a, o, s = !1, c, l = Array.from(t).sort(function(e, t) {
560
+ return zr(t) - zr(e);
561
+ });
562
+ function u() {
563
+ var t = i(), d = r.multiScrollIfNeeded();
564
+ if (!d && c && Math.abs(c.x - t.x) < Wr && Math.abs(c.y - t.y) < Wr) {
565
+ Gr = window.setTimeout(u, n);
566
+ return;
567
+ }
568
+ if (Mr(e)) {
569
+ fr(e);
570
+ return;
571
+ }
572
+ c = t;
573
+ var f = !1, p = Qn(l), m;
574
+ try {
575
+ for (p.s(); !(m = p.n()).done;) {
576
+ var h = m.value;
577
+ d && Fr();
578
+ var g = Lr(t, h);
579
+ if (g !== null) {
580
+ var _ = g.index;
581
+ f = !0, h === a ? _ !== o && (dr(h, g, e), o = _) : (a && lr(a, e, h), cr(h, g, e), a = h);
582
+ break;
583
+ }
584
+ }
585
+ } catch (e) {
586
+ p.e(e);
587
+ } finally {
588
+ p.f();
589
+ }
590
+ !f && s && a ? (ur(a, e), a = void 0, o = void 0, s = !1) : s = !0, Gr = window.setTimeout(u, n);
591
+ }
592
+ u();
593
+ }
594
+ function qr() {
595
+ clearTimeout(Gr), Fr();
596
+ }
597
+ var Jr = 30;
598
+ function Yr() {
599
+ var e;
600
+ function t() {
601
+ e = {
602
+ directionObj: void 0,
603
+ stepPx: 0
604
+ };
605
+ }
606
+ t();
607
+ function n(t) {
608
+ var r = e, i = r.directionObj, a = r.stepPx;
609
+ i && (t.scrollBy(i.x * a, i.y * a), window.requestAnimationFrame(function() {
610
+ return n(t);
611
+ }));
612
+ }
613
+ function r(e) {
614
+ return Jr - e;
615
+ }
616
+ function i(i, a) {
617
+ if (!a) return !1;
618
+ var o = Xr(i, a), s = !!e.directionObj;
619
+ if (o === null) return s && t(), !1;
620
+ var c = !1, l = !1;
621
+ return a.scrollHeight > a.clientHeight && (o.bottom < Jr ? (c = !0, e.directionObj = {
622
+ x: 0,
623
+ y: 1
624
+ }, e.stepPx = r(o.bottom)) : o.top < Jr && (c = !0, e.directionObj = {
625
+ x: 0,
626
+ y: -1
627
+ }, e.stepPx = r(o.top)), !s && c) || a.scrollWidth > a.clientWidth && (o.right < Jr ? (l = !0, e.directionObj = {
628
+ x: 1,
629
+ y: 0
630
+ }, e.stepPx = r(o.right)) : o.left < Jr && (l = !0, e.directionObj = {
631
+ x: -1,
632
+ y: 0
633
+ }, e.stepPx = r(o.left)), !s && l) ? (n(a), !0) : (t(), !1);
634
+ }
635
+ return {
636
+ scrollIfNeeded: i,
637
+ resetScrolling: t
638
+ };
639
+ }
640
+ function Xr(e, t) {
641
+ var n = t === document.scrollingElement ? {
642
+ top: 0,
643
+ bottom: window.innerHeight,
644
+ left: 0,
645
+ right: window.innerWidth
646
+ } : t.getBoundingClientRect();
647
+ return kr(e, n) ? {
648
+ top: e.y - n.top,
649
+ bottom: n.bottom - e.y,
650
+ left: e.x - n.left,
651
+ right: n.right - e.x
652
+ } : null;
653
+ }
654
+ function Zr() {
655
+ var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], t = arguments.length > 1 ? arguments[1] : void 0, n = $r(e), r = Array.from(n).sort(function(e, t) {
656
+ return zr(t) - zr(e);
657
+ }), i = Yr(), a = i.scrollIfNeeded, o = i.resetScrolling;
658
+ function s() {
659
+ var e = t();
660
+ if (!e || !r) return !1;
661
+ for (var n = r.filter(function(t) {
662
+ return kr(e, t.getBoundingClientRect()) || t === document.scrollingElement;
663
+ }), i = 0; i < n.length; i++) if (a(e, n[i])) return !0;
664
+ return !1;
665
+ }
666
+ return {
667
+ multiScrollIfNeeded: n.size > 0 ? s : function() {
668
+ return !1;
669
+ },
670
+ destroy: function() {
671
+ return o();
672
+ }
673
+ };
674
+ }
675
+ function Qr(e) {
676
+ if (!e) return [];
677
+ for (var t = [], n = e; n;) window.getComputedStyle(n).overflow.split(" ").some(function(e) {
678
+ return e.includes("auto") || e.includes("scroll");
679
+ }) && t.push(n), n = n.parentElement;
680
+ return t;
681
+ }
682
+ function $r(e) {
683
+ var t = /* @__PURE__ */ new Set(), n = Qn(e), r;
684
+ try {
685
+ for (n.s(); !(r = n.n()).done;) {
686
+ var i = r.value;
687
+ Qr(i).forEach(function(e) {
688
+ return t.add(e);
689
+ });
690
+ }
691
+ } catch (e) {
692
+ n.e(e);
693
+ } finally {
694
+ n.f();
695
+ }
696
+ return (document.scrollingElement.scrollHeight > document.scrollingElement.clientHeight || document.scrollingElement.scrollWidth > document.scrollingElement.clientHeight) && t.add(document.scrollingElement), t;
697
+ }
698
+ function ei(e) {
699
+ var t = e.cloneNode(!0), n = [], r = e.tagName === "SELECT", i = r ? [e] : Un(e.querySelectorAll("select")), a = Qn(i), o;
700
+ try {
701
+ for (a.s(); !(o = a.n()).done;) {
702
+ var s = o.value;
703
+ n.push(s.value);
704
+ }
705
+ } catch (e) {
706
+ a.e(e);
707
+ } finally {
708
+ a.f();
709
+ }
710
+ if (i.length > 0) for (var c = r ? [t] : Un(t.querySelectorAll("select")), l = 0; l < c.length; l++) {
711
+ var u = c[l], d = n[l], f = u.querySelector(`option[value="${d}"`);
712
+ f && f.setAttribute("selected", !0);
713
+ }
714
+ var p = e.tagName === "CANVAS", m = p ? [e] : Un(e.querySelectorAll("canvas"));
715
+ if (m.length > 0) for (var h = p ? [t] : Un(t.querySelectorAll("canvas")), g = 0; g < h.length; g++) {
716
+ var _ = m[g], v = h[g];
717
+ v.width = _.width, v.height = _.height, _.width > 0 && _.height > 0 && v.getContext("2d").drawImage(_, 0, 0);
718
+ }
719
+ return t;
720
+ }
721
+ var ti = Object.freeze({ USE_COMPUTED_STYLE_INSTEAD_OF_BOUNDING_RECT: "USE_COMPUTED_STYLE_INSTEAD_OF_BOUNDING_RECT" }), ni = zn({}, ti.USE_COMPUTED_STYLE_INSTEAD_OF_BOUNDING_RECT, !1);
722
+ function ri(e) {
723
+ if (!ti[e]) throw Error(`Can't get non existing feature flag ${e}! Supported flags: ${Object.keys(ti)}`);
724
+ return ni[e];
725
+ }
726
+ var ii = .2;
727
+ function ai(e) {
728
+ return `${e} ${ii}s ease`;
729
+ }
730
+ function oi(e, t) {
731
+ var n = e.getBoundingClientRect(), r = ei(e);
732
+ li(e, r), r.id = yr, r.style.position = "fixed";
733
+ var i = n.top, a = n.left;
734
+ if (r.style.top = `${i}px`, r.style.left = `${a}px`, t) {
735
+ var o = Dr(n);
736
+ i -= o.y - t.y, a -= o.x - t.x, window.setTimeout(function() {
737
+ r.style.top = `${i}px`, r.style.left = `${a}px`;
738
+ }, 0);
739
+ }
740
+ return r.style.margin = "0", r.style.boxSizing = "border-box", r.style.height = `${n.height}px`, r.style.width = `${n.width}px`, r.style.transition = `${ai("top")}, ${ai("left")}, ${ai("background-color")}, ${ai("opacity")}, ${ai("color")} `, window.setTimeout(function() {
741
+ return r.style.transition += `, ${ai("width")}, ${ai("height")}`;
742
+ }, 0), r.style.zIndex = "9999", r.style.cursor = "grabbing", r;
743
+ }
744
+ function si(e) {
745
+ e.style.cursor = "grab";
746
+ }
747
+ function ci(e, t, n, r) {
748
+ li(t, e);
749
+ var i = t.getBoundingClientRect(), a = e.getBoundingClientRect(), o = i.width - a.width, s = i.height - a.height;
750
+ if (o || s) {
751
+ var c = {
752
+ left: (n - a.left) / a.width,
753
+ top: (r - a.top) / a.height
754
+ };
755
+ ri(ti.USE_COMPUTED_STYLE_INSTEAD_OF_BOUNDING_RECT) || (e.style.height = `${i.height}px`, e.style.width = `${i.width}px`), e.style.left = `${parseFloat(e.style.left) - c.left * o}px`, e.style.top = `${parseFloat(e.style.top) - c.top * s}px`;
756
+ }
757
+ }
758
+ function li(e, t) {
759
+ var n = window.getComputedStyle(e);
760
+ Array.from(n).filter(function(e) {
761
+ return e.startsWith("background") || e.startsWith("padding") || e.startsWith("font") || e.startsWith("text") || e.startsWith("align") || e.startsWith("justify") || e.startsWith("display") || e.startsWith("flex") || e.startsWith("border") || e === "opacity" || e === "color" || e === "list-style-type" || ri(ti.USE_COMPUTED_STYLE_INSTEAD_OF_BOUNDING_RECT) && (e === "width" || e === "height");
762
+ }).forEach(function(e) {
763
+ return t.style.setProperty(e, n.getPropertyValue(e), n.getPropertyPriority(e));
764
+ });
765
+ }
766
+ function ui(e, t) {
767
+ e.draggable = !1, e.ondragstart = function() {
768
+ return !1;
769
+ }, t ? (e.style.userSelect = "", e.style.WebkitUserSelect = "", e.style.cursor = "") : (e.style.userSelect = "none", e.style.WebkitUserSelect = "none", e.style.cursor = "grab");
770
+ }
771
+ function di(e) {
772
+ e.style.display = "none", e.style.position = "fixed", e.style.zIndex = "-5";
773
+ }
774
+ function fi(e) {
775
+ e.style.visibility = "hidden", e.setAttribute(gr, "true");
776
+ }
777
+ function pi(e) {
778
+ e.style.visibility = "", e.removeAttribute(gr);
779
+ }
780
+ function mi(e) {
781
+ var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : function() {}, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function() {
782
+ return [];
783
+ };
784
+ e.forEach(function(e) {
785
+ var r = t(e);
786
+ Object.keys(r).forEach(function(t) {
787
+ e.style[t] = r[t];
788
+ }), n(e).forEach(function(t) {
789
+ return e.classList.add(t);
790
+ });
791
+ });
792
+ }
793
+ function hi(e) {
794
+ var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : function() {}, n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : function() {
795
+ return [];
796
+ };
797
+ e.forEach(function(e) {
798
+ var r = t(e);
799
+ Object.keys(r).forEach(function(t) {
800
+ e.style[t] = "";
801
+ }), n(e).forEach(function(t) {
802
+ return e.classList.contains(t) && e.classList.remove(t);
803
+ });
804
+ });
805
+ }
806
+ function gi(e) {
807
+ var t = e.style.minHeight;
808
+ e.style.minHeight = window.getComputedStyle(e).getPropertyValue("height");
809
+ var n = e.style.minWidth;
810
+ return e.style.minWidth = window.getComputedStyle(e).getPropertyValue("width"), function() {
811
+ e.style.minHeight = t, e.style.minWidth = n;
812
+ };
813
+ }
814
+ var _i = "--any--", vi = 100, yi = 20, bi = 3, xi = 80, Si = { outline: "rgba(255, 255, 102, 0.7) solid 2px" }, Ci = "data-is-dnd-original-dragged-item", wi, X, Ti, Ei, Z, Di, Oi, ki, Ai, ji, Mi = !1, Ni = !1, Pi, Fi = !1, Ii = [], Li, Ri, zi = !1, Bi = !1, Vi = /* @__PURE__ */ new Map(), Q = /* @__PURE__ */ new Map(), Hi = /* @__PURE__ */ new WeakMap();
815
+ function Ui(e, t) {
816
+ Vi.has(t) || Vi.set(t, /* @__PURE__ */ new Set()), Vi.get(t).has(e) || (Vi.get(t).add(e), xr());
817
+ }
818
+ function Wi(e, t) {
819
+ Vi.get(t).delete(e), Sr(), Vi.get(t).size === 0 && Vi.delete(t);
820
+ }
821
+ function Gi() {
822
+ var e = Vi.get(Ei), t = Qn(e), n;
823
+ try {
824
+ for (t.s(); !(n = t.n()).done;) {
825
+ var r = n.value;
826
+ r.addEventListener(rr, Yi), r.addEventListener(ir, Xi), r.addEventListener(ar, Zi);
827
+ }
828
+ } catch (e) {
829
+ t.e(e);
830
+ } finally {
831
+ t.f();
832
+ }
833
+ window.addEventListener(or, $i);
834
+ var i = Math.max.apply(Math, Un(Array.from(e.keys()).map(function(e) {
835
+ return Q.get(e).dropAnimationDurationMs;
836
+ }))), a = i === 0 ? yi : Math.max(i, vi);
837
+ Li = Zr(e, function() {
838
+ return ji;
839
+ });
840
+ var o = Bi ? function() {
841
+ return {
842
+ x: ji.x + window.scrollX,
843
+ y: ji.y + window.scrollY
844
+ };
845
+ } : function() {
846
+ return Ar(X);
847
+ };
848
+ Kr(X, e, a * 1.07, Li, o);
849
+ }
850
+ function Ki() {
851
+ var e = Qn(Vi.get(Ei)), t;
852
+ try {
853
+ for (e.s(); !(t = e.n()).done;) {
854
+ var n = t.value;
855
+ n.removeEventListener(rr, Yi), n.removeEventListener(ir, Xi), n.removeEventListener(ar, Zi);
856
+ }
857
+ } catch (t) {
858
+ e.e(t);
859
+ } finally {
860
+ e.f();
861
+ }
862
+ window.removeEventListener(or, $i), Li &&= (Li.destroy(), void 0), qr();
863
+ }
864
+ function qi(e) {
865
+ return e.findIndex(function(e) {
866
+ return !!e[hr];
867
+ });
868
+ }
869
+ function Ji(e) {
870
+ var t;
871
+ return Ln(Ln({}, e), {}, (t = {}, zn(t, hr, !0), zn(t, Y, vr), t));
872
+ }
873
+ function Yi(e) {
874
+ var t = Q.get(e.currentTarget), n = t.items;
875
+ if (!(t.dropFromOthersDisabled && e.currentTarget !== Z)) {
876
+ if (Fi = !1, n = n.filter(function(e) {
877
+ return e[Y] !== Oi[Y] && e[Y] !== "id:dnd-shadow-placeholder-0000";
878
+ }), Z !== e.currentTarget) {
879
+ var r = Q.get(Z).items.filter(function(e) {
880
+ return !e[hr];
881
+ });
882
+ nr(Z, r, {
883
+ trigger: pr.DRAGGED_ENTERED_ANOTHER,
884
+ id: Ti[Y],
885
+ source: mr.POINTER
886
+ });
887
+ }
888
+ var i = e.detail.indexObj.index;
889
+ ki = e.currentTarget, n.splice(i, 0, Oi), nr(e.currentTarget, n, {
890
+ trigger: pr.DRAGGED_ENTERED,
891
+ id: Ti[Y],
892
+ source: mr.POINTER
893
+ });
894
+ }
895
+ }
896
+ function Xi(e) {
897
+ if (Mi) {
898
+ var t = Q.get(e.currentTarget), n = t.items;
899
+ if (!(t.dropFromOthersDisabled && e.currentTarget !== Z && e.currentTarget !== ki)) {
900
+ var r = Un(n), i = qi(r);
901
+ i !== -1 && r.splice(i, 1);
902
+ var a = ki;
903
+ ki = void 0;
904
+ var o = e.detail, s = o.type, c = o.theOtherDz;
905
+ if (s === sr.OUTSIDE_OF_ANY || s === sr.LEFT_FOR_ANOTHER && c !== Z && Q.get(c).dropFromOthersDisabled) {
906
+ Fi = !0, ki = Z;
907
+ var l = a === Z ? r : Un(Q.get(Z).items);
908
+ l.splice(Di, 0, Oi), nr(Z, l, {
909
+ trigger: pr.DRAGGED_LEFT_ALL,
910
+ id: Ti[Y],
911
+ source: mr.POINTER
912
+ });
913
+ }
914
+ nr(e.currentTarget, r, {
915
+ trigger: pr.DRAGGED_LEFT,
916
+ id: Ti[Y],
917
+ source: mr.POINTER
918
+ });
919
+ }
920
+ }
921
+ }
922
+ function Zi(e) {
923
+ var t = Q.get(e.currentTarget), n = t.items;
924
+ if (!(t.dropFromOthersDisabled && e.currentTarget !== Z)) {
925
+ var r = Un(n);
926
+ Fi = !1;
927
+ var i = e.detail.indexObj.index, a = qi(r);
928
+ a !== -1 && r.splice(a, 1), r.splice(i, 0, Oi), nr(e.currentTarget, r, {
929
+ trigger: pr.DRAGGED_OVER_INDEX,
930
+ id: Ti[Y],
931
+ source: mr.POINTER
932
+ });
933
+ }
934
+ }
935
+ function Qi(e) {
936
+ e.preventDefault();
937
+ var t = e.touches ? e.touches[0] : e;
938
+ ji = {
939
+ x: t.clientX,
940
+ y: t.clientY
941
+ }, X.style.transform = `translate3d(${ji.x - Ai.x}px, ${ji.y - Ai.y}px, 0)`;
942
+ }
943
+ function $i() {
944
+ Ni = !0, window.removeEventListener("mousemove", Qi), window.removeEventListener("touchmove", Qi), window.removeEventListener("mouseup", $i), window.removeEventListener("touchend", $i), Ki(), si(X), ki ||= Z;
945
+ var e = Q.get(ki), t = e.items, n = e.type;
946
+ hi(Vi.get(n), function(e) {
947
+ return Q.get(e).dropTargetStyle;
948
+ }, function(e) {
949
+ return Q.get(e).dropTargetClasses;
950
+ });
951
+ var r = qi(t);
952
+ r === -1 && ki === Z && (r = Di), t = t.map(function(e) {
953
+ return e.isDndShadowItem ? Ti : e;
954
+ });
955
+ function i() {
956
+ Pi(), tr(ki, t, {
957
+ trigger: Fi ? pr.DROPPED_OUTSIDE_OF_ANY : pr.DROPPED_INTO_ZONE,
958
+ id: Ti[Y],
959
+ source: mr.POINTER
960
+ }), ki !== Z && tr(Z, Q.get(Z).items, {
961
+ trigger: pr.DROPPED_INTO_ANOTHER,
962
+ id: Ti[Y],
963
+ source: mr.POINTER
964
+ });
965
+ var e = Array.from(ki.children).find(function(e) {
966
+ return e.getAttribute(gr);
967
+ });
968
+ e && pi(e), na();
969
+ }
970
+ Q.get(ki).dropAnimationDisabled ? i() : ea(r, i);
971
+ }
972
+ function ea(e, t) {
973
+ var n = wr(e > -1 ? ki.children[e] : ki, !1), r = {
974
+ x: n.left - parseFloat(X.style.left),
975
+ y: n.top - parseFloat(X.style.top)
976
+ }, i = Q.get(ki).dropAnimationDurationMs, a = `transform ${i}ms ease`;
977
+ X.style.transition = X.style.transition ? X.style.transition + "," + a : a, X.style.transform = `translate3d(${r.x}px, ${r.y}px, 0)`, window.setTimeout(t, i);
978
+ }
979
+ function ta(e, t) {
980
+ Ii.push({
981
+ dz: e,
982
+ destroy: t
983
+ }), window.requestAnimationFrame(function() {
984
+ di(e), document.body.appendChild(e);
985
+ });
986
+ }
987
+ function na() {
988
+ X && X.remove && X.remove(), wi && wi.remove && wi.remove(), X = void 0, wi = void 0, Ti = void 0, Ei = void 0, Z = void 0, Di = void 0, Oi = void 0, ki = void 0, Ai = void 0, ji = void 0, Mi = !1, Ni = !1, Pi = void 0, Fi = !1, Ri && clearTimeout(Ri), Ri = void 0, zi = !1, Bi = !1, Ii.length && (Ii.forEach(function(e) {
989
+ var t = e.dz, n = e.destroy;
990
+ n(), t.remove();
991
+ }), Ii = []);
992
+ }
993
+ function ra(e, t) {
994
+ var n = !1, r = {
995
+ items: void 0,
996
+ type: void 0,
997
+ flipDurationMs: 0,
998
+ dragDisabled: !1,
999
+ morphDisabled: !1,
1000
+ dropFromOthersDisabled: !1,
1001
+ dropTargetStyle: Si,
1002
+ dropTargetClasses: [],
1003
+ transformDraggedElement: function() {},
1004
+ centreDraggedOnCursor: !1,
1005
+ useCursorForDetection: !1,
1006
+ dropAnimationDisabled: !1,
1007
+ delayTouchStartMs: 0
1008
+ }, i = /* @__PURE__ */ new Map();
1009
+ function a() {
1010
+ window.addEventListener("mousemove", c, { passive: !1 }), window.addEventListener("touchmove", c, {
1011
+ passive: !1,
1012
+ capture: !1
1013
+ }), window.addEventListener("mouseup", s, { passive: !1 }), window.addEventListener("touchend", s, { passive: !1 });
1014
+ }
1015
+ function o() {
1016
+ window.removeEventListener("mousemove", c), window.removeEventListener("touchmove", c), window.removeEventListener("mouseup", s), window.removeEventListener("touchend", s), Ri && (clearTimeout(Ri), Ri = void 0, zi = !1);
1017
+ }
1018
+ function s(e) {
1019
+ if (o(), wi = void 0, Ai = void 0, ji = void 0, e.type === "touchend") {
1020
+ var t = new Event("click", {
1021
+ bubbles: !0,
1022
+ cancelable: !0
1023
+ });
1024
+ e.target.dispatchEvent(t);
1025
+ }
1026
+ }
1027
+ function c(e) {
1028
+ var t = !!e.touches, n = t ? e.touches[0] : e;
1029
+ if (t && r.delayTouchStartMs > 0 && !zi) {
1030
+ ji = {
1031
+ x: n.clientX,
1032
+ y: n.clientY
1033
+ }, (Math.abs(ji.x - Ai.x) >= bi || Math.abs(ji.y - Ai.y) >= bi) && (Ri &&= (clearTimeout(Ri), void 0), s(e));
1034
+ return;
1035
+ }
1036
+ e.preventDefault(), ji = {
1037
+ x: n.clientX,
1038
+ y: n.clientY
1039
+ }, (Math.abs(ji.x - Ai.x) >= bi || Math.abs(ji.y - Ai.y) >= bi) && (o(), u());
1040
+ }
1041
+ function l(e) {
1042
+ if (!(e.target !== e.currentTarget && (e.target.value !== void 0 || e.target.isContentEditable)) && !e.button && !Mi) {
1043
+ var t = !!e.touches, n = t && r.delayTouchStartMs > 0;
1044
+ n || e.preventDefault(), e.stopPropagation();
1045
+ var i = t ? e.touches[0] : e;
1046
+ Ai = {
1047
+ x: i.clientX,
1048
+ y: i.clientY
1049
+ }, ji = Ln({}, Ai), wi = e.currentTarget, n && (zi = !1, Ri = window.setTimeout(function() {
1050
+ wi && (zi = !0, o(), u());
1051
+ }, r.delayTouchStartMs)), a();
1052
+ }
1053
+ }
1054
+ function u() {
1055
+ Mi = !0;
1056
+ var e = i.get(wi);
1057
+ Di = e, Z = wi.parentElement;
1058
+ var t = Z.closest("dialog") || Z.closest("[popover]") || Z.getRootNode(), n = t.body || t, a = r.items, o = r.type, s = r.centreDraggedOnCursor, c = r.useCursorForDetection, l = Un(a);
1059
+ Ti = l[e], Ei = o, Oi = Ji(Ti), Bi = c, X = oi(wi, s && ji), n.appendChild(X);
1060
+ function u() {
1061
+ X && (wi.parentElement ? window.requestAnimationFrame(u) : (wi.setAttribute(Ci, !0), n.appendChild(wi), Gi(), di(wi), Oi[Y] = Ti[Y], X.focus()));
1062
+ }
1063
+ window.requestAnimationFrame(u), mi(Array.from(Vi.get(r.type)).filter(function(e) {
1064
+ return e === Z || !Q.get(e).dropFromOthersDisabled;
1065
+ }), function(e) {
1066
+ return Q.get(e).dropTargetStyle;
1067
+ }, function(e) {
1068
+ return Q.get(e).dropTargetClasses;
1069
+ }), l.splice(e, 1, Oi), Pi = gi(Z), nr(Z, l, {
1070
+ trigger: pr.DRAG_STARTED,
1071
+ id: Ti[Y],
1072
+ source: mr.POINTER
1073
+ }), window.addEventListener("mousemove", Qi, { passive: !1 }), window.addEventListener("touchmove", Qi, {
1074
+ passive: !1,
1075
+ capture: !1
1076
+ }), window.addEventListener("mouseup", $i, { passive: !1 }), window.addEventListener("touchend", $i, { passive: !1 });
1077
+ }
1078
+ function d(t) {
1079
+ var a = t.items, o = a === void 0 ? void 0 : a, s = t.flipDurationMs, c = s === void 0 ? 0 : s, u = t.type, d = u === void 0 ? _i : u, f = t.dragDisabled, p = f === void 0 ? !1 : f, m = t.morphDisabled, h = m === void 0 ? !1 : m, g = t.dropFromOthersDisabled, _ = g === void 0 ? !1 : g, v = t.dropTargetStyle, y = v === void 0 ? Si : v, b = t.dropTargetClasses, x = b === void 0 ? [] : b, S = t.transformDraggedElement, ee = S === void 0 ? function() {} : S, C = t.centreDraggedOnCursor, te = C === void 0 ? !1 : C, w = t.useCursorForDetection, ne = w === void 0 ? !1 : w, re = t.dropAnimationDisabled, ie = re === void 0 ? !1 : re, ae = t.delayTouchStart, T = ae === void 0 ? !1 : ae;
1080
+ r.dropAnimationDurationMs = c;
1081
+ var oe = 0;
1082
+ T === !0 ? oe = xi : typeof T == "number" && isFinite(T) && T >= 0 && (oe = T), r.delayTouchStartMs = oe, r.type && d !== r.type && Wi(e, r.type), r.type = d, r.items = Un(o), r.dragDisabled = p, r.morphDisabled = h, r.transformDraggedElement = ee, r.centreDraggedOnCursor = te, r.useCursorForDetection = ne, r.dropAnimationDisabled = ie, n && Mi && !Ni && (!Vr(y, r.dropTargetStyle) || !Hr(x, r.dropTargetClasses)) && (hi([e], function() {
1083
+ return r.dropTargetStyle;
1084
+ }, function() {
1085
+ return x;
1086
+ }), mi([e], function() {
1087
+ return y;
1088
+ }, function() {
1089
+ return x;
1090
+ })), r.dropTargetStyle = y, r.dropTargetClasses = Un(x);
1091
+ function se(e, t) {
1092
+ return Q.get(e) ? Q.get(e)[t] : r[t];
1093
+ }
1094
+ n && Mi && r.dropFromOthersDisabled !== _ && (_ ? hi([e], function(e) {
1095
+ return se(e, "dropTargetStyle");
1096
+ }, function(e) {
1097
+ return se(e, "dropTargetClasses");
1098
+ }) : mi([e], function(e) {
1099
+ return se(e, "dropTargetStyle");
1100
+ }, function(e) {
1101
+ return se(e, "dropTargetClasses");
1102
+ })), r.dropFromOthersDisabled = _, Q.set(e, r), Ui(e, d);
1103
+ for (var ce = Mi ? qi(r.items) : -1, E = 0; E < e.children.length; E++) {
1104
+ var D = e.children[E];
1105
+ if (ui(D, p), E === ce) {
1106
+ h || ci(X, D, ji.x, ji.y), r.transformDraggedElement(X, Ti, E), fi(D);
1107
+ continue;
1108
+ }
1109
+ D.removeEventListener("mousedown", Hi.get(D)), D.removeEventListener("touchstart", Hi.get(D)), p || (D.addEventListener("mousedown", l), D.addEventListener("touchstart", l), Hi.set(D, l)), i.set(D, E), n ||= !0;
1110
+ }
1111
+ }
1112
+ return d(t), {
1113
+ update: function(e) {
1114
+ d(e);
1115
+ },
1116
+ destroy: function() {
1117
+ function t() {
1118
+ Wi(e, Q.get(e).type), Q.delete(e);
1119
+ }
1120
+ Mi && !e.closest(`[${Ci}]`) ? ta(e, t) : t();
1121
+ }
1122
+ };
1123
+ }
1124
+ var ia, aa = {
1125
+ DND_ZONE_ACTIVE: "dnd-zone-active",
1126
+ DND_ZONE_DRAG_DISABLED: "dnd-zone-drag-disabled"
1127
+ }, oa = (ia = {}, zn(ia, aa.DND_ZONE_ACTIVE, "Tab to one the items and press space-bar or enter to start dragging it"), zn(ia, aa.DND_ZONE_DRAG_DISABLED, "This is a disabled drag and drop list"), ia), sa = "dnd-action-aria-alert", $;
1128
+ function ca() {
1129
+ $ || ($ = document.createElement("div"), (function() {
1130
+ $.id = sa, $.style.position = "fixed", $.style.bottom = "0", $.style.left = "0", $.style.zIndex = "-5", $.style.opacity = "0", $.style.height = "0", $.style.width = "0", $.setAttribute("role", "alert");
1131
+ })(), document.body.prepend($), Object.entries(oa).forEach(function(e) {
1132
+ var t = Hn(e, 2), n = t[0], r = t[1];
1133
+ return document.body.prepend(da(n, r));
1134
+ }));
1135
+ }
1136
+ function la() {
1137
+ return Cr ? null : (document.readyState === "complete" ? ca() : window.addEventListener("DOMContentLoaded", ca), Ln({}, aa));
1138
+ }
1139
+ function ua() {
1140
+ Cr || !$ || (Object.keys(oa).forEach(function(e) {
1141
+ return document.getElementById(e)?.remove();
1142
+ }), $.remove(), $ = void 0);
1143
+ }
1144
+ function da(e, t) {
1145
+ var n = document.createElement("div");
1146
+ return n.id = e, n.innerHTML = `<p>${t}</p>`, n.style.display = "none", n.style.position = "fixed", n.style.zIndex = "-5", n;
1147
+ }
1148
+ function fa(e) {
1149
+ if (!Cr) {
1150
+ $ || ca(), $.innerHTML = "";
1151
+ var t = document.createTextNode(e);
1152
+ $.appendChild(t), $.style.display = "none", $.style.display = "inline";
1153
+ }
1154
+ }
1155
+ var pa = "--any--", ma = { outline: "rgba(255, 255, 102, 0.7) solid 2px" }, ha = !1, ga, _a, va = "", ya, ba, xa = "", Sa = /* @__PURE__ */ new WeakSet(), Ca = /* @__PURE__ */ new WeakMap(), wa = /* @__PURE__ */ new WeakMap(), Ta = /* @__PURE__ */ new Map(), Ea = /* @__PURE__ */ new Map(), Da = /* @__PURE__ */ new Map(), Oa;
1156
+ function ka(e, t) {
1157
+ Da.size === 0 && (Oa = la(), window.addEventListener("keydown", ja), window.addEventListener("click", Ma)), Da.has(t) || Da.set(t, /* @__PURE__ */ new Set()), Da.get(t).has(e) || (Da.get(t).add(e), xr());
1158
+ }
1159
+ function Aa(e, t) {
1160
+ _a === e && Fa(), Da.get(t).delete(e), Sr(), Da.get(t).size === 0 && Da.delete(t), Da.size === 0 && (window.removeEventListener("keydown", ja), window.removeEventListener("click", Ma), Oa = void 0, ua());
1161
+ }
1162
+ function ja(e) {
1163
+ if (ha) switch (e.key) {
1164
+ case "Escape":
1165
+ Fa();
1166
+ break;
1167
+ }
1168
+ }
1169
+ function Ma() {
1170
+ ha && (Sa.has(document.activeElement) || Fa());
1171
+ }
1172
+ function Na(e) {
1173
+ if (ha) {
1174
+ var t = e.currentTarget;
1175
+ if (t !== _a) {
1176
+ va = t.getAttribute("aria-label") || "";
1177
+ var n = Ea.get(_a).items, r = n.find(function(e) {
1178
+ return e[Y] === ba;
1179
+ }), i = n.indexOf(r), a = n.splice(i, 1)[0], o = Ea.get(t), s = o.items, c = o.autoAriaDisabled;
1180
+ t.getBoundingClientRect().top < _a.getBoundingClientRect().top || t.getBoundingClientRect().left < _a.getBoundingClientRect().left ? (s.push(a), c || fa(`Moved item ${xa} to the end of the list ${va}`)) : (s.unshift(a), c || fa(`Moved item ${xa} to the beginning of the list ${va}`)), tr(_a, n, {
1181
+ trigger: pr.DROPPED_INTO_ANOTHER,
1182
+ id: ba,
1183
+ source: mr.KEYBOARD
1184
+ }), tr(t, s, {
1185
+ trigger: pr.DROPPED_INTO_ZONE,
1186
+ id: ba,
1187
+ source: mr.KEYBOARD
1188
+ }), _a = t;
1189
+ }
1190
+ }
1191
+ }
1192
+ function Pa() {
1193
+ Ta.forEach(function(e, t) {
1194
+ var n = e.update;
1195
+ return n(Ea.get(t));
1196
+ });
1197
+ }
1198
+ function Fa() {
1199
+ var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : !0;
1200
+ Ea.get(_a).autoAriaDisabled || fa(`Stopped dragging item ${xa}`), Sa.has(document.activeElement) && document.activeElement.blur(), e && nr(_a, Ea.get(_a).items, {
1201
+ trigger: pr.DRAG_STOPPED,
1202
+ id: ba,
1203
+ source: mr.KEYBOARD
1204
+ }), hi(Da.get(ga), function(e) {
1205
+ return Ea.get(e).dropTargetStyle;
1206
+ }, function(e) {
1207
+ return Ea.get(e).dropTargetClasses;
1208
+ }), ya = null, ba = null, xa = "", ga = null, _a = null, va = "", ha = !1, Pa();
1209
+ }
1210
+ function Ia(e, t) {
1211
+ var n = {
1212
+ items: void 0,
1213
+ type: void 0,
1214
+ dragDisabled: !1,
1215
+ zoneTabIndex: 0,
1216
+ zoneItemTabIndex: 0,
1217
+ dropFromOthersDisabled: !1,
1218
+ dropTargetStyle: ma,
1219
+ dropTargetClasses: [],
1220
+ autoAriaDisabled: !1
1221
+ };
1222
+ function r(e, t, n) {
1223
+ e.length <= 1 || e.splice(n, 1, e.splice(t, 1, e[n])[0]);
1224
+ }
1225
+ function i(t) {
1226
+ switch (t.key) {
1227
+ case "Enter":
1228
+ case " ":
1229
+ if ((t.target.disabled !== void 0 || t.target.href || t.target.isContentEditable) && !Sa.has(t.target)) return;
1230
+ t.preventDefault(), t.stopPropagation(), ha ? Fa() : a(t);
1231
+ break;
1232
+ case "ArrowDown":
1233
+ case "ArrowRight":
1234
+ if (!ha) return;
1235
+ t.preventDefault(), t.stopPropagation();
1236
+ var i = Ea.get(e).items, o = Array.from(e.children), s = o.indexOf(t.currentTarget);
1237
+ s < o.length - 1 && (n.autoAriaDisabled || fa(`Moved item ${xa} to position ${s + 2} in the list ${va}`), r(i, s, s + 1), tr(e, i, {
1238
+ trigger: pr.DROPPED_INTO_ZONE,
1239
+ id: ba,
1240
+ source: mr.KEYBOARD
1241
+ }));
1242
+ break;
1243
+ case "ArrowUp":
1244
+ case "ArrowLeft":
1245
+ if (!ha) return;
1246
+ t.preventDefault(), t.stopPropagation();
1247
+ var c = Ea.get(e).items, l = Array.from(e.children).indexOf(t.currentTarget);
1248
+ l > 0 && (n.autoAriaDisabled || fa(`Moved item ${xa} to position ${l} in the list ${va}`), r(c, l, l - 1), tr(e, c, {
1249
+ trigger: pr.DROPPED_INTO_ZONE,
1250
+ id: ba,
1251
+ source: mr.KEYBOARD
1252
+ }));
1253
+ break;
1254
+ }
1255
+ }
1256
+ function a(t) {
1257
+ s(t.currentTarget), _a = e, ga = n.type, ha = !0;
1258
+ var r = Array.from(Da.get(n.type)).filter(function(e) {
1259
+ return e === _a || !Ea.get(e).dropFromOthersDisabled;
1260
+ });
1261
+ if (mi(r, function(e) {
1262
+ return Ea.get(e).dropTargetStyle;
1263
+ }, function(e) {
1264
+ return Ea.get(e).dropTargetClasses;
1265
+ }), !n.autoAriaDisabled) {
1266
+ var i = `Started dragging item ${xa}. Use the arrow keys to move it within its list ${va}`;
1267
+ r.length > 1 && (i += ", or tab to another list in order to move the item into it"), fa(i);
1268
+ }
1269
+ nr(e, Ea.get(e).items, {
1270
+ trigger: pr.DRAG_STARTED,
1271
+ id: ba,
1272
+ source: mr.KEYBOARD
1273
+ }), Pa();
1274
+ }
1275
+ function o(e) {
1276
+ ha && e.currentTarget !== ya && (e.stopPropagation(), Fa(!1), a(e));
1277
+ }
1278
+ function s(t) {
1279
+ var r = Ea.get(e).items, i = Array.from(e.children), a = i.indexOf(t);
1280
+ ya = t, ya.tabIndex = n.zoneItemTabIndex, ba = r[a][Y], xa = i[a].getAttribute("aria-label") || "";
1281
+ }
1282
+ function c(t) {
1283
+ var r = t.items, a = r === void 0 ? [] : r, s = t.type, c = s === void 0 ? pa : s, l = t.dragDisabled, u = l === void 0 ? !1 : l, d = t.zoneTabIndex, f = d === void 0 ? 0 : d, p = t.zoneItemTabIndex, m = p === void 0 ? 0 : p, h = t.dropFromOthersDisabled, g = h === void 0 ? !1 : h, _ = t.dropTargetStyle, v = _ === void 0 ? ma : _, y = t.dropTargetClasses, b = y === void 0 ? [] : y, x = t.autoAriaDisabled, S = x === void 0 ? !1 : x;
1284
+ n.items = Un(a), n.dragDisabled = u, n.dropFromOthersDisabled = g, n.zoneTabIndex = f, n.zoneItemTabIndex = m, n.dropTargetStyle = v, n.dropTargetClasses = b, n.autoAriaDisabled = S, n.type && c !== n.type && Aa(e, n.type), n.type = c, ka(e, c), S || (e.setAttribute("role", "list"), e.setAttribute("aria-describedby", u ? Oa.DND_ZONE_DRAG_DISABLED : Oa.DND_ZONE_ACTIVE)), Ea.set(e, n), ha ? e.tabIndex = e === _a || ya.contains(e) || n.dropFromOthersDisabled || _a && n.type !== Ea.get(_a).type ? -1 : 0 : e.tabIndex = n.zoneTabIndex, e.addEventListener("focus", Na);
1285
+ for (var ee = function(t) {
1286
+ var r = e.children[t];
1287
+ Sa.add(r), r.tabIndex = ha ? -1 : n.zoneItemTabIndex, S || r.setAttribute("role", "listitem"), r.removeEventListener("keydown", Ca.get(r)), r.removeEventListener("click", wa.get(r)), u || (r.addEventListener("keydown", i), Ca.set(r, i), r.addEventListener("click", o), wa.set(r, o)), ha && n.items[t][Y] === ba && (ya = r, ya.tabIndex = n.zoneItemTabIndex, r.focus());
1288
+ }, C = 0; C < e.children.length; C++) ee(C);
1289
+ }
1290
+ c(t);
1291
+ var l = {
1292
+ update: function(e) {
1293
+ c(e);
1294
+ },
1295
+ destroy: function() {
1296
+ Aa(e, n.type), Ea.delete(e), Ta.delete(e);
1297
+ }
1298
+ };
1299
+ return Ta.set(e, l), l;
1300
+ }
1301
+ var La = [
1302
+ "items",
1303
+ "flipDurationMs",
1304
+ "type",
1305
+ "dragDisabled",
1306
+ "morphDisabled",
1307
+ "dropFromOthersDisabled",
1308
+ "zoneTabIndex",
1309
+ "zoneItemTabIndex",
1310
+ "dropTargetStyle",
1311
+ "dropTargetClasses",
1312
+ "transformDraggedElement",
1313
+ "autoAriaDisabled",
1314
+ "centreDraggedOnCursor",
1315
+ "useCursorForDetection",
1316
+ "delayTouchStart",
1317
+ "dropAnimationDisabled"
1318
+ ];
1319
+ function Ra(e, t) {
1320
+ if (za(e)) return {
1321
+ update: function() {},
1322
+ destroy: function() {}
1323
+ };
1324
+ Ba(t);
1325
+ var n = ra(e, t), r = Ia(e, t);
1326
+ return {
1327
+ update: function(e) {
1328
+ Ba(e), n.update(e), r.update(e);
1329
+ },
1330
+ destroy: function() {
1331
+ n.destroy(), r.destroy();
1332
+ }
1333
+ };
1334
+ }
1335
+ function za(e) {
1336
+ return !!e.closest(`[${_r}="true"]`);
1337
+ }
1338
+ function Ba(e) {
1339
+ var t = e.items;
1340
+ e.flipDurationMs, e.type, e.dragDisabled, e.morphDisabled, e.dropFromOthersDisabled;
1341
+ var n = e.zoneTabIndex, r = e.zoneItemTabIndex;
1342
+ e.dropTargetStyle;
1343
+ var i = e.dropTargetClasses;
1344
+ e.transformDraggedElement, e.autoAriaDisabled, e.centreDraggedOnCursor, e.useCursorForDetection;
1345
+ var a = e.delayTouchStart;
1346
+ e.dropAnimationDisabled;
1347
+ var o = Vn(e, La);
1348
+ if (Object.keys(o).length > 0 && console.warn("dndzone will ignore unknown options", o), !t) throw Error("no 'items' key provided to dndzone");
1349
+ var s = t.find(function(e) {
1350
+ return !{}.hasOwnProperty.call(e, Y);
1351
+ });
1352
+ if (s) throw Error(`missing '${Y}' property for item ${Rr(s)}`);
1353
+ if (i && !Array.isArray(i)) throw Error(`dropTargetClasses should be an array but instead it is a ${Rn(i)}, ${Rr(i)}`);
1354
+ if (n && !Va(n)) throw Error(`zoneTabIndex should be a number but instead it is a ${Rn(n)}, ${Rr(n)}`);
1355
+ if (r && !Va(r)) throw Error(`zoneItemTabIndex should be a number but instead it is a ${Rn(r)}, ${Rr(r)}`);
1356
+ if (a !== void 0 && a !== !1 && a !== !0 && !(typeof a == "number" && isFinite(a) && a >= 0)) throw Error(`delayTouchStart should be a boolean (true/false) or a non-negative number but instead it is a ${Rn(a)}, ${Rr(a)}`);
1357
+ }
1358
+ function Va(e) {
1359
+ return !isNaN(e) && function(e) {
1360
+ return (e | 0) === e;
1361
+ }(parseFloat(e));
1362
+ }
1363
+ //#endregion
1364
+ //#region src/lib/components/DeleteDialog.svelte
1365
+ var Ha = N("<span class=\"font-medium text-foreground\"> </span> ", 1), Ua = N("<!> <!>", 1), Wa = N("<!> <div class=\"flex items-start gap-3 rounded-lg border border-primary/30 bg-primary/10 p-4\" role=\"status\" aria-live=\"polite\"><!> <p class=\"text-sm text-muted-foreground\"><span class=\"font-medium text-foreground\"> </span> </p></div>", 1), Ga = N("Delete <span class=\"font-medium text-foreground\"> </span> ", 1), Ka = N("<p class=\"text-sm text-destructive\" role=\"alert\"> </p>"), qa = N("<!> ", 1);
1366
+ function Ja(e, t) {
1367
+ Pe(t, !0);
1368
+ let n = U(t, "open", 15, !1), r = U(t, "confirmLabel", 3, "Delete"), i = U(t, "cancelLabel", 3, "Cancel"), a = U(t, "doneLabel", 3, "Done"), o = U(t, "errorFallback", 3, "Failed to delete"), s = W(!1), c = W(!1), l = W(null);
1369
+ Ee(() => {
1370
+ n() || (B(c, !1), B(l, null));
1371
+ });
1372
+ async function u() {
1373
+ if (!(j(s) || j(c))) {
1374
+ B(s, !0), B(l, null);
1375
+ try {
1376
+ await t.onConfirm?.(), B(c, !0);
1377
+ } catch (e) {
1378
+ console.error("DeleteDialog: delete failed", e), B(l, e instanceof Error && e.message.trim() ? e.message : o(), !0);
1379
+ } finally {
1380
+ B(s, !1);
1381
+ }
1382
+ }
1383
+ }
1384
+ function d() {
1385
+ j(s) || (n(!1), t.onCancel?.());
1386
+ }
1387
+ function f(e) {
1388
+ if (!e && j(s)) {
1389
+ n(!0);
1390
+ return;
1391
+ }
1392
+ e || d();
1393
+ }
1394
+ tt(e, {
1395
+ onOpenChange: f,
1396
+ get open() {
1397
+ return n();
1398
+ },
1399
+ set open(e) {
1400
+ n(e);
1401
+ },
1402
+ children: (e, n) => {
1403
+ var o = Ua(), f = L(o), p = (e) => {
1404
+ var n = Wa(), r = L(n);
1405
+ nt(r, {
1406
+ children: (e, n) => {
1407
+ var r = Ua(), i = L(r);
1408
+ et(i, {
1409
+ children: (e, n) => {
1410
+ R();
1411
+ var r = M();
1412
+ G(() => k(r, t.successTitle)), V(e, r);
1413
+ },
1414
+ $$slots: { default: !0 }
1415
+ }), Ze(K(i, 2), {
1416
+ children: (e, n) => {
1417
+ var r = Ha(), i = L(r), a = O(i);
1418
+ F(i);
1419
+ var o = K(i);
1420
+ G(() => {
1421
+ k(a, `“${t.targetName ?? ""}”`), k(o, ` ${t.successDescription ?? ""}`);
1422
+ }), V(e, r);
1423
+ },
1424
+ $$slots: { default: !0 }
1425
+ }), V(e, r);
1426
+ },
1427
+ $$slots: { default: !0 }
1428
+ });
1429
+ var i = K(r, 2), a = O(i);
1430
+ Wt(a, { class: "mt-0.5 size-5 shrink-0 text-primary" });
1431
+ var o = K(a, 2), s = O(o), c = O(s);
1432
+ F(s);
1433
+ var l = K(s);
1434
+ F(o), F(i), G(() => {
1435
+ k(c, `“${t.targetName ?? ""}”`), k(l, ` ${t.successDescription ?? ""}`);
1436
+ }), V(e, n);
1437
+ }, m = (e) => {
1438
+ var n = Ua(), r = L(n);
1439
+ nt(r, {
1440
+ children: (e, n) => {
1441
+ var r = Ua(), i = L(r);
1442
+ et(i, {
1443
+ children: (e, n) => {
1444
+ R();
1445
+ var r = M();
1446
+ G(() => k(r, t.title)), V(e, r);
1447
+ },
1448
+ $$slots: { default: !0 }
1449
+ }), Ze(K(i, 2), {
1450
+ children: (e, n) => {
1451
+ R();
1452
+ var r = Ga(), i = K(L(r)), a = O(i);
1453
+ F(i);
1454
+ var o = K(i);
1455
+ G(() => {
1456
+ k(a, `“${t.targetName ?? ""}”`), k(o, `?
1457
+ ${t.description ?? ""}`);
1458
+ }), V(e, r);
1459
+ },
1460
+ $$slots: { default: !0 }
1461
+ }), V(e, r);
1462
+ },
1463
+ $$slots: { default: !0 }
1464
+ });
1465
+ var i = K(r, 2), a = (e) => {
1466
+ var t = Ka(), n = O(t, !0);
1467
+ F(t), G(() => k(n, j(l))), V(e, t);
1468
+ };
1469
+ A(i, (e) => {
1470
+ j(l) && e(a);
1471
+ }), V(e, n);
1472
+ };
1473
+ A(f, (e) => {
1474
+ j(c) ? e(p) : e(m, -1);
1475
+ }), $e(K(f, 2), {
1476
+ children: (e, t) => {
1477
+ var n = Ua(), o = L(n), l = (e) => {
1478
+ Qe(e, {
1479
+ variant: "outline",
1480
+ type: "button",
1481
+ onclick: d,
1482
+ get disabled() {
1483
+ return j(s);
1484
+ },
1485
+ children: (e, t) => {
1486
+ R();
1487
+ var n = M();
1488
+ G(() => k(n, i())), V(e, n);
1489
+ },
1490
+ $$slots: { default: !0 }
1491
+ });
1492
+ };
1493
+ A(o, (e) => {
1494
+ j(c) || e(l);
1495
+ });
1496
+ var f = K(o, 2);
1497
+ {
1498
+ let e = H(() => j(c) ? "default" : "destructive"), t = H(() => j(c) ? d : u);
1499
+ Qe(f, {
1500
+ type: "button",
1501
+ get variant() {
1502
+ return j(e);
1503
+ },
1504
+ get onclick() {
1505
+ return j(t);
1506
+ },
1507
+ get disabled() {
1508
+ return j(s);
1509
+ },
1510
+ children: (e, t) => {
1511
+ var n = qa(), i = L(n), o = (e) => {
1512
+ Je(e, { class: "mr-1 size-4 animate-spin" });
1513
+ };
1514
+ A(i, (e) => {
1515
+ j(s) && e(o);
1516
+ });
1517
+ var l = K(i);
1518
+ G(() => k(l, ` ${(j(c) ? a() : r()) ?? ""}`)), V(e, n);
1519
+ },
1520
+ $$slots: { default: !0 }
1521
+ });
1522
+ }
1523
+ V(e, n);
1524
+ },
1525
+ $$slots: { default: !0 }
1526
+ }), V(e, o);
1527
+ },
1528
+ $$slots: { default: !0 }
1529
+ }), Me();
1530
+ }
1531
+ //#endregion
1532
+ //#region src/lib/components/sidebar/category-dialog-feedback.ts
1533
+ function Ya(e, t) {
1534
+ return typeof e == "object" && e && "status" in e && e.status === 409 ? "A category with this name already exists." : e instanceof Error && e.message.trim().length > 0 ? e.message : t;
1535
+ }
1536
+ //#endregion
1537
+ //#region src/lib/components/sidebar/CategoryDialog.svelte
1538
+ var Xa = N("<span class=\"font-medium text-foreground\"> </span> ", 1), Za = N("Delete <span class=\"font-medium text-foreground\"> </span> ", 1), Qa = N("<!> <!>", 1), $a = N("<div class=\"flex items-start gap-3 rounded-lg border border-primary/30 bg-primary/10 p-4\" role=\"status\" aria-live=\"polite\"><!> <div><p class=\"text-sm font-medium text-foreground\"> </p> <p class=\"text-sm text-muted-foreground\"><span class=\"font-medium text-foreground\"> </span> </p></div></div>"), eo = N("<!> Copy API key", 1), to = N("<div class=\"rounded-md border border-primary/20 bg-background/80 p-3\"><p class=\"text-xs font-medium text-foreground\">Copy the API key now. It remains available in Settings → API.</p> <code class=\"mt-2 block break-all rounded bg-muted p-2 text-xs text-foreground\"> </code> <!></div>"), no = N("<p class=\"text-xs text-destructive\" role=\"alert\"> </p>"), ro = N("<div class=\"space-y-3 rounded-lg border border-primary/30 bg-primary/10 p-4\" role=\"status\" aria-live=\"polite\"><div class=\"flex items-start gap-3\"><!> <div><p class=\"text-sm font-medium text-foreground\">Category created</p> <p class=\"text-sm text-muted-foreground\"> </p></div></div> <!> <!></div>"), io = N("<p id=\"category-dialog-name-error\" class=\"text-xs text-destructive\" role=\"alert\"> </p>"), ao = N("<!> <!> <!>", 1), oo = N("<div class=\"space-y-3 rounded-md border border-border/70 bg-muted/30 p-3\"><div class=\"flex flex-wrap items-center justify-between gap-2\"><!> <div class=\"flex flex-wrap gap-2\"><!> <!></div></div> <div class=\"grid gap-2 sm:grid-cols-3\"><label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Read</span></label> <label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Edit</span></label> <label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Write</span></label></div></div>"), so = N("<p class=\"text-xs text-muted-foreground\">Save Category API access first, then reopen settings to issue a key.</p>"), co = N("<div class=\"rounded-lg border border-primary/30 bg-primary/10 p-3 text-primary\"><p class=\"text-xs font-medium\">Copy now — this raw key is shown once.</p> <code class=\"mt-1 block break-all rounded bg-background/80 p-2 text-xs text-foreground\"> </code> <!></div>"), lo = N("<div class=\"flex items-center justify-between gap-3 rounded-md bg-muted/40 px-3 py-2 text-xs\"><span> </span> <div class=\"flex shrink-0 gap-2\"><!> <!></div></div>"), uo = N("<div class=\"space-y-3 rounded-md border border-border/70 p-3\"><div class=\"flex items-center justify-between gap-2\"><div><!><p class=\"text-xs text-muted-foreground\">Keys inherit the saved permissions above.</p></div> <!></div> <!> <!> <div class=\"max-h-48 space-y-2 overflow-y-auto pr-1\"></div></div>"), fo = N("<form class=\"space-y-4\"><div class=\"space-y-2\"><!> <!> <!></div> <div class=\"space-y-2\"><!> <!></div> <!> <!></form>"), po = N("<!> ", 1);
1539
+ function mo(e, t) {
1540
+ Pe(t, !0);
1541
+ let n = {
1542
+ Root: at,
1543
+ Content: ut,
1544
+ Item: dt,
1545
+ Trigger: mt,
1546
+ Value: _t
1547
+ }, i = U(t, "open", 15, !1), a = W(""), o = W(null), s = W(!1), c = W("unavailable"), u = W(!1), d = W(!1), f = W(!1), p = W(Be([])), m = W(Be({})), h = W(null), g = W(!1), _ = W(null), v = W(null), b = W(null), S = H(() => j(h) ? j(m)[j(h)] : void 0);
1548
+ async function ee(e) {
1549
+ B(p, (await Kt()).keys.filter((t) => Xt(t.scopes) === e), !0);
1550
+ }
1551
+ async function te() {
1552
+ if (t.category?.id) {
1553
+ B(g, !0);
1554
+ try {
1555
+ let e = await qt(t.category.id);
1556
+ B(m, {
1557
+ ...j(m),
1558
+ [e.id]: e.key
1559
+ }, !0), B(h, e.id, !0), await ee(t.category.id);
1560
+ } catch (e) {
1561
+ B(o, e instanceof Error ? e.message : "Failed to create category API key", !0);
1562
+ } finally {
1563
+ B(g, !1);
1564
+ }
1565
+ }
1566
+ }
1567
+ async function w(e) {
1568
+ if (t.category?.id) {
1569
+ B(g, !0);
1570
+ try {
1571
+ await Zt(e);
1572
+ let { [e]: n, ...r } = j(m);
1573
+ B(m, r, !0), j(h) === e && B(h, null), await ee(t.category.id);
1574
+ } finally {
1575
+ B(g, !1);
1576
+ }
1577
+ }
1578
+ }
1579
+ async function re(e) {
1580
+ let t = j(m)[e.id] ?? await Yt(e.id);
1581
+ await navigator.clipboard.writeText(Jt(e, t));
1582
+ }
1583
+ Ee(() => {
1584
+ if (!i()) return;
1585
+ B(a, t.category?.name ?? "", !0);
1586
+ let e = t.category?.apiMode === "category" ? "category" : t.category?.apiMode === "global" || t.category?.apiMode === "general" ? "global" : "unavailable";
1587
+ B(c, e, !0), B(u, !!t.category?.apiPermissionRead, !0), B(d, !!t.category?.apiPermissionEdit, !0), B(f, !!t.category?.apiPermissionWrite, !0), e === "unavailable" && (B(u, !1), B(d, !1), B(f, !1)), B(m, {}, !0), B(h, null), B(p, [], !0), B(_, null), B(v, null), B(b, null), t.mode === "edit" && t.category?.id && ee(t.category.id), B(o, null);
1588
+ });
1589
+ let ae = H(() => j(a).trim()), T = H(() => t.mode === "delete"), oe = H(() => j(u) || j(d) || j(f)), se = H(() => j(b) ? fe() : j(T) ? E() : t.mode === "edit" ? be() : y()), ce = H(() => j(T) ? l() : t.mode === "edit" ? C() : r());
1590
+ function le(e) {
1591
+ return e === "category" ? "category" : e === "global" ? "global" : "unavailable";
1592
+ }
1593
+ function ue(e) {
1594
+ if (e === "read") {
1595
+ B(u, !0), B(d, !1), B(f, !1);
1596
+ return;
1597
+ }
1598
+ if (e === "write") {
1599
+ B(u, !1), B(d, !1), B(f, !0);
1600
+ return;
1601
+ }
1602
+ if (e === "read-write") {
1603
+ B(u, !0), B(d, !1), B(f, !0);
1604
+ return;
1605
+ }
1606
+ B(u, !0), B(d, !0), B(f, !0);
1607
+ }
1608
+ async function de(e) {
1609
+ if (e?.preventDefault(), !j(s)) {
1610
+ if (j(T)) {
1611
+ if (!t.onDelete) {
1612
+ pe();
1613
+ return;
1614
+ }
1615
+ B(s, !0);
1616
+ try {
1617
+ await t.onDelete(), B(b, t.category?.name ?? "Category", !0);
1618
+ } catch (e) {
1619
+ console.error("CategoryDialog: delete failed", e), B(o, e instanceof Error ? e.message : ne(), !0);
1620
+ } finally {
1621
+ B(s, !1);
1622
+ }
1623
+ return;
1624
+ }
1625
+ if (j(ae).length === 0) {
1626
+ B(o, "Name is required");
1627
+ return;
1628
+ }
1629
+ if (j(c) !== "unavailable" && !j(oe)) {
1630
+ B(o, "Select at least one permission");
1631
+ return;
1632
+ }
1633
+ if (!t.onSave) {
1634
+ pe();
1635
+ return;
1636
+ }
1637
+ B(o, null), B(s, !0);
1638
+ try {
1639
+ let e = await t.onSave({
1640
+ name: j(ae),
1641
+ apiMode: le(j(c)),
1642
+ apiPermissionRead: j(c) === "unavailable" ? !1 : j(u),
1643
+ apiPermissionEdit: j(c) === "unavailable" ? !1 : j(d),
1644
+ apiPermissionWrite: j(c) === "unavailable" ? !1 : j(f)
1645
+ });
1646
+ if (t.mode === "create" && e) {
1647
+ if (B(_, e.name, !0), j(c) === "category") try {
1648
+ B(v, (await qt(e.id)).key, !0);
1649
+ } catch (e) {
1650
+ B(o, `Category created, but its API key could not be created: ${Ya(e, "Unknown error")}`);
1651
+ }
1652
+ return;
1653
+ }
1654
+ pe();
1655
+ } catch (e) {
1656
+ console.error("CategoryDialog: save failed", e), B(o, Ya(e, t.mode === "edit" ? ve() : xe()), !0);
1657
+ } finally {
1658
+ B(s, !1);
1659
+ }
1660
+ }
1661
+ }
1662
+ function pe() {
1663
+ j(s) || (i(!1), t.onClose?.());
1664
+ }
1665
+ function he(e) {
1666
+ if (!e && j(s)) {
1667
+ i(!0);
1668
+ return;
1669
+ }
1670
+ e || pe();
1671
+ }
1672
+ tt(e, {
1673
+ onOpenChange: he,
1674
+ get open() {
1675
+ return i();
1676
+ },
1677
+ set open(e) {
1678
+ i(e);
1679
+ },
1680
+ children: (e, r) => {
1681
+ var i = ao(), l = L(i);
1682
+ nt(l, {
1683
+ children: (e, n) => {
1684
+ var r = Qa(), i = L(r);
1685
+ et(i, {
1686
+ children: (e, t) => {
1687
+ R();
1688
+ var n = M();
1689
+ G(() => k(n, j(se))), V(e, n);
1690
+ },
1691
+ $$slots: { default: !0 }
1692
+ });
1693
+ var a = K(i, 2), o = (e) => {
1694
+ Ze(e, {
1695
+ children: (e, t) => {
1696
+ var n = Xa(), r = L(n), i = O(r);
1697
+ F(r);
1698
+ var a = K(r);
1699
+ G((e) => {
1700
+ k(i, `“${j(b) ?? ""}”`), k(a, ` ${e ?? ""}`);
1701
+ }, [() => me()]), V(e, n);
1702
+ },
1703
+ $$slots: { default: !0 }
1704
+ });
1705
+ }, s = (e) => {
1706
+ Ze(e, {
1707
+ children: (e, n) => {
1708
+ R();
1709
+ var r = Za(), i = K(L(r)), a = O(i);
1710
+ F(i);
1711
+ var o = K(i);
1712
+ G((e) => {
1713
+ k(a, `“${t.category?.name ?? "Category" ?? ""}”`), k(o, `?
1714
+ ${e ?? ""}`);
1715
+ }, [() => D()]), V(e, r);
1716
+ },
1717
+ $$slots: { default: !0 }
1718
+ });
1719
+ }, c = (e) => {
1720
+ Ze(e, {
1721
+ children: (e, t) => {
1722
+ R();
1723
+ var n = M();
1724
+ G((e) => k(n, e), [() => ie()]), V(e, n);
1725
+ },
1726
+ $$slots: { default: !0 }
1727
+ });
1728
+ };
1729
+ A(a, (e) => {
1730
+ j(b) ? e(o) : j(T) ? e(s, 1) : e(c, -1);
1731
+ }), V(e, r);
1732
+ },
1733
+ $$slots: { default: !0 }
1734
+ });
1735
+ var h = K(l, 2), y = (e) => {
1736
+ var t = $a(), n = O(t);
1737
+ Wt(n, { class: "mt-0.5 size-5 shrink-0 text-primary" });
1738
+ var r = K(n, 2), i = O(r), a = O(i, !0);
1739
+ F(i);
1740
+ var o = K(i, 2), s = O(o), c = O(s);
1741
+ F(s);
1742
+ var l = K(s);
1743
+ F(o), F(r), F(t), G((e, t) => {
1744
+ k(a, e), k(c, `“${j(b) ?? ""}”`), k(l, ` ${t ?? ""}`);
1745
+ }, [() => fe(), () => me()]), V(e, t);
1746
+ }, ee = (e) => {
1747
+ var t = ro(), n = O(t), r = O(n);
1748
+ Wt(r, { class: "mt-0.5 size-5 shrink-0 text-primary" });
1749
+ var i = K(r, 2), a = K(O(i), 2), s = O(a);
1750
+ F(a), F(i), F(n);
1751
+ var c = K(n, 2), l = (e) => {
1752
+ var t = to(), n = K(O(t), 2), r = O(n, !0);
1753
+ F(n), Qe(K(n, 2), {
1754
+ type: "button",
1755
+ size: "sm",
1756
+ variant: "outline",
1757
+ class: "mt-2",
1758
+ onclick: () => navigator.clipboard.writeText(j(v) ?? ""),
1759
+ children: (e, t) => {
1760
+ var n = eo();
1761
+ Ut(L(n), { class: "mr-1 size-3.5" }), R(), V(e, n);
1762
+ },
1763
+ $$slots: { default: !0 }
1764
+ }), F(t), G(() => k(r, j(v))), V(e, t);
1765
+ };
1766
+ A(c, (e) => {
1767
+ j(v) && e(l);
1768
+ });
1769
+ var u = K(c, 2), d = (e) => {
1770
+ var t = no(), n = O(t, !0);
1771
+ F(t), G(() => k(n, j(o))), V(e, t);
1772
+ };
1773
+ A(u, (e) => {
1774
+ j(o) && e(d);
1775
+ }), F(t), G(() => k(s, `${j(_) ?? ""} is ready to use.`)), V(e, t);
1776
+ }, C = (e) => {
1777
+ var r = fo(), i = O(r), l = O(i);
1778
+ rt(l, {
1779
+ for: "category-dialog-name",
1780
+ children: (e, t) => {
1781
+ R();
1782
+ var n = M();
1783
+ G((e) => k(n, e), [() => ie()]), V(e, n);
1784
+ },
1785
+ $$slots: { default: !0 }
1786
+ });
1787
+ var h = K(l, 2);
1788
+ {
1789
+ let e = H(() => ie()), t = H(() => j(o) ? "true" : void 0), n = H(() => j(o) ? "category-dialog-name-error" : void 0);
1790
+ it(h, {
1791
+ id: "category-dialog-name",
1792
+ name: "name",
1793
+ type: "text",
1794
+ get placeholder() {
1795
+ return j(e);
1796
+ },
1797
+ maxlength: 255,
1798
+ required: !0,
1799
+ get disabled() {
1800
+ return j(s);
1801
+ },
1802
+ get "aria-invalid"() {
1803
+ return j(t);
1804
+ },
1805
+ get "aria-describedby"() {
1806
+ return j(n);
1807
+ },
1808
+ autocomplete: "off",
1809
+ get value() {
1810
+ return j(a);
1811
+ },
1812
+ set value(e) {
1813
+ B(a, e, !0);
1814
+ }
1815
+ });
1816
+ }
1817
+ var _ = K(h, 2), v = (e) => {
1818
+ var t = io(), n = O(t, !0);
1819
+ F(t), G(() => k(n, j(o))), V(e, t);
1820
+ };
1821
+ A(_, (e) => {
1822
+ j(o) && e(v);
1823
+ }), F(i);
1824
+ var y = K(i, 2), b = O(y);
1825
+ rt(b, {
1826
+ for: "category-dialog-api-mode",
1827
+ children: (e, t) => {
1828
+ R(), V(e, M("API access"));
1829
+ },
1830
+ $$slots: { default: !0 }
1831
+ }), ke(K(b, 2), () => n.Root, (e, t) => {
1832
+ t(e, {
1833
+ type: "single",
1834
+ get value() {
1835
+ return j(c);
1836
+ },
1837
+ get disabled() {
1838
+ return j(s);
1839
+ },
1840
+ onValueChange: (e) => {
1841
+ (e === "unavailable" || e === "global" || e === "category") && B(c, e, !0);
1842
+ },
1843
+ children: (e, t) => {
1844
+ var r = Qa(), i = L(r);
1845
+ ke(i, () => n.Trigger, (e, t) => {
1846
+ t(e, {
1847
+ id: "category-dialog-api-mode",
1848
+ class: "h-10 w-full",
1849
+ children: (e, t) => {
1850
+ var r = Oe();
1851
+ ke(L(r), () => n.Value, (e, t) => {
1852
+ t(e, {
1853
+ placeholder: "Select API access",
1854
+ children: (e, t) => {
1855
+ R();
1856
+ var n = M();
1857
+ G(() => k(n, j(c) === "unavailable" ? "Unavailable" : j(c) === "global" ? "Global" : "Category API")), V(e, n);
1858
+ },
1859
+ $$slots: { default: !0 }
1860
+ });
1861
+ }), V(e, r);
1862
+ },
1863
+ $$slots: { default: !0 }
1864
+ });
1865
+ }), ke(K(i, 2), () => n.Content, (e, t) => {
1866
+ t(e, {
1867
+ children: (e, t) => {
1868
+ var r = ao(), i = L(r);
1869
+ ke(i, () => n.Item, (e, t) => {
1870
+ t(e, {
1871
+ value: "unavailable",
1872
+ children: (e, t) => {
1873
+ R(), V(e, M("Unavailable"));
1874
+ },
1875
+ $$slots: { default: !0 }
1876
+ });
1877
+ });
1878
+ var a = K(i, 2);
1879
+ ke(a, () => n.Item, (e, t) => {
1880
+ t(e, {
1881
+ value: "global",
1882
+ children: (e, t) => {
1883
+ R(), V(e, M("Global"));
1884
+ },
1885
+ $$slots: { default: !0 }
1886
+ });
1887
+ }), ke(K(a, 2), () => n.Item, (e, t) => {
1888
+ t(e, {
1889
+ value: "category",
1890
+ children: (e, t) => {
1891
+ R(), V(e, M("Category API"));
1892
+ },
1893
+ $$slots: { default: !0 }
1894
+ });
1895
+ }), V(e, r);
1896
+ },
1897
+ $$slots: { default: !0 }
1898
+ });
1899
+ }), V(e, r);
1900
+ },
1901
+ $$slots: { default: !0 }
1902
+ });
1903
+ }), F(y);
1904
+ var x = K(y, 2), ee = (e) => {
1905
+ var t = oo(), n = O(t), r = O(n);
1906
+ rt(r, {
1907
+ class: "text-sm",
1908
+ children: (e, t) => {
1909
+ R(), V(e, M("Permissions"));
1910
+ },
1911
+ $$slots: { default: !0 }
1912
+ });
1913
+ var i = K(r, 2), a = O(i);
1914
+ Qe(a, {
1915
+ type: "button",
1916
+ variant: "outline",
1917
+ size: "sm",
1918
+ onclick: () => ue("read-write"),
1919
+ children: (e, t) => {
1920
+ R(), V(e, M("Read / Write"));
1921
+ },
1922
+ $$slots: { default: !0 }
1923
+ }), Qe(K(a, 2), {
1924
+ type: "button",
1925
+ variant: "outline",
1926
+ size: "sm",
1927
+ onclick: () => ue("read-edit-write"),
1928
+ children: (e, t) => {
1929
+ R(), V(e, M("Read / Edit / Write"));
1930
+ },
1931
+ $$slots: { default: !0 }
1932
+ }), F(i), F(n);
1933
+ var o = K(n, 2), c = O(o), l = O(c);
1934
+ We(l), R(2), F(c);
1935
+ var p = K(c, 2), m = O(p);
1936
+ We(m), R(2), F(p);
1937
+ var h = K(p, 2), g = O(h);
1938
+ We(g), R(2), F(h), F(o), F(t), G(() => {
1939
+ l.disabled = j(s), m.disabled = j(s), g.disabled = j(s);
1940
+ }), He(l, () => j(u), (e) => B(u, e)), He(m, () => j(d), (e) => B(d, e)), He(g, () => j(f), (e) => B(f, e)), V(e, t);
1941
+ };
1942
+ A(x, (e) => {
1943
+ j(c) !== "unavailable" && e(ee);
1944
+ });
1945
+ var C = K(x, 2), ne = (e) => {
1946
+ var n = uo(), r = O(n), i = O(r);
1947
+ rt(O(i), {
1948
+ children: (e, t) => {
1949
+ R(), V(e, M("Category API keys"));
1950
+ },
1951
+ $$slots: { default: !0 }
1952
+ }), R(), F(i);
1953
+ var a = K(i, 2);
1954
+ {
1955
+ let e = H(() => j(s) || j(g) || t.category.apiMode !== "category");
1956
+ Qe(a, {
1957
+ type: "button",
1958
+ size: "sm",
1959
+ onclick: te,
1960
+ get disabled() {
1961
+ return j(e);
1962
+ },
1963
+ children: (e, t) => {
1964
+ R(), V(e, M("Create key"));
1965
+ },
1966
+ $$slots: { default: !0 }
1967
+ });
1968
+ }
1969
+ F(r);
1970
+ var o = K(r, 2), c = (e) => {
1971
+ V(e, so());
1972
+ };
1973
+ A(o, (e) => {
1974
+ t.category.apiMode !== "category" && e(c);
1975
+ });
1976
+ var l = K(o, 2), u = (e) => {
1977
+ var t = co(), n = K(O(t), 2), r = O(n, !0);
1978
+ F(n), Qe(K(n, 2), {
1979
+ type: "button",
1980
+ size: "sm",
1981
+ variant: "outline",
1982
+ class: "mt-2",
1983
+ onclick: () => navigator.clipboard.writeText(j(S)),
1984
+ children: (e, t) => {
1985
+ R(), V(e, M("Copy key"));
1986
+ },
1987
+ $$slots: { default: !0 }
1988
+ }), F(t), G(() => k(r, j(S))), V(e, t);
1989
+ };
1990
+ A(l, (e) => {
1991
+ j(S) && e(u);
1992
+ });
1993
+ var d = K(l, 2);
1994
+ Ae(d, 21, () => j(p), (e) => e.id, (e, t) => {
1995
+ var n = lo(), r = O(n), i = O(r);
1996
+ F(r);
1997
+ var a = K(r, 2), o = O(a);
1998
+ {
1999
+ let e = H(() => !j(t).recoverable && !j(m)[j(t).id]);
2000
+ Qe(o, {
2001
+ type: "button",
2002
+ size: "sm",
2003
+ variant: "outline",
2004
+ onclick: () => re(j(t)),
2005
+ get disabled() {
2006
+ return j(e);
2007
+ },
2008
+ children: (e, n) => {
2009
+ R();
2010
+ var r = M();
2011
+ G(() => k(r, j(t).recoverable || j(m)[j(t).id] ? "Copy key" : "Rotate to enable copy")), V(e, r);
2012
+ },
2013
+ $$slots: { default: !0 }
2014
+ });
2015
+ }
2016
+ Qe(K(o, 2), {
2017
+ type: "button",
2018
+ size: "sm",
2019
+ variant: "destructive",
2020
+ onclick: () => w(j(t).id),
2021
+ get disabled() {
2022
+ return j(g);
2023
+ },
2024
+ children: (e, t) => {
2025
+ R(), V(e, M("Revoke"));
2026
+ },
2027
+ $$slots: { default: !0 }
2028
+ }), F(a), F(n), G(() => k(i, `${j(t).name ?? ""} · ${j(t).prefix ?? ""}…`)), V(e, n);
2029
+ }), F(d), F(n), V(e, n);
2030
+ };
2031
+ A(C, (e) => {
2032
+ t.mode === "edit" && j(c) === "category" && t.category?.id && e(ne);
2033
+ }), F(r), q("submit", r, de), V(e, r);
2034
+ }, ne = (e) => {
2035
+ var t = no(), n = O(t, !0);
2036
+ F(t), G(() => k(n, j(o))), V(e, t);
2037
+ };
2038
+ A(h, (e) => {
2039
+ j(b) ? e(y) : j(_) ? e(ee, 1) : j(T) ? j(o) && e(ne, 3) : e(C, 2);
2040
+ }), $e(K(h, 2), {
2041
+ class: "gap-2 max-sm:flex-col max-sm:items-stretch",
2042
+ children: (e, t) => {
2043
+ var n = Qa(), r = L(n), i = (e) => {
2044
+ Qe(e, {
2045
+ variant: "outline",
2046
+ type: "button",
2047
+ onclick: pe,
2048
+ get disabled() {
2049
+ return j(s);
2050
+ },
2051
+ children: (e, t) => {
2052
+ R();
2053
+ var n = M();
2054
+ G((e) => k(n, e), [() => x()]), V(e, n);
2055
+ },
2056
+ $$slots: { default: !0 }
2057
+ });
2058
+ };
2059
+ A(r, (e) => {
2060
+ !j(_) && !j(b) && e(i);
2061
+ });
2062
+ var a = K(r, 2);
2063
+ {
2064
+ let e = H(() => j(T) ? "button" : "submit"), t = H(() => j(T) ? "destructive" : "default"), n = H(() => j(_) || j(b) ? pe : de), r = H(() => j(s) || !j(T) && !j(_) && !j(b) && j(ae).length === 0);
2065
+ Qe(a, {
2066
+ get type() {
2067
+ return j(e);
2068
+ },
2069
+ get variant() {
2070
+ return j(t);
2071
+ },
2072
+ get onclick() {
2073
+ return j(n);
2074
+ },
2075
+ get disabled() {
2076
+ return j(r);
2077
+ },
2078
+ children: (e, t) => {
2079
+ var n = po(), r = L(n), i = (e) => {
2080
+ Je(e, { class: "mr-1 size-4 animate-spin" });
2081
+ };
2082
+ A(r, (e) => {
2083
+ j(s) && e(i);
2084
+ });
2085
+ var a = K(r);
2086
+ G(() => k(a, ` ${(j(_) || j(b) ? "Done" : j(ce)) ?? ""}`)), V(e, n);
2087
+ },
2088
+ $$slots: { default: !0 }
2089
+ });
2090
+ }
2091
+ V(e, n);
2092
+ },
2093
+ $$slots: { default: !0 }
2094
+ }), V(e, i);
2095
+ },
2096
+ $$slots: { default: !0 }
2097
+ }), Me();
2098
+ }
2099
+ //#endregion
2100
+ //#region src/lib/components/sidebar/document-drop-coordinator.ts
2101
+ function ho(e) {
2102
+ let t = /* @__PURE__ */ new Map();
2103
+ return function(n, r, i) {
2104
+ let a = t.get(n);
2105
+ a || (a = {
2106
+ chain: Promise.resolve(),
2107
+ confirmed: { ...i },
2108
+ generation: 0
2109
+ }, t.set(n, a));
2110
+ let o = {
2111
+ generation: ++a.generation,
2112
+ placement: { ...r },
2113
+ token: e.optimistic(n, r)
2114
+ }, s = a.chain.then(async () => {
2115
+ try {
2116
+ await e.patch(n, o.placement), a.confirmed = { ...o.placement }, e.acknowledge(n, o.token), e.refresh && e.refresh().catch(e.onRefreshError ?? (() => void 0));
2117
+ } catch (t) {
2118
+ throw e.acknowledge(n, o.token), o.generation === a.generation && e.rollback(n, a.confirmed), e.onError(t), t;
2119
+ }
2120
+ });
2121
+ return a.chain = s.catch(() => void 0), s;
2122
+ };
2123
+ }
2124
+ function go(e) {
2125
+ let t = e.defer ?? ((e) => setTimeout(e, 0)), n = e.cancel ?? clearTimeout, r = e.expire ?? ((e) => setTimeout(e, 1e3)), i = e.cancelExpire ?? clearTimeout, a;
2126
+ function o() {
2127
+ a?.pending && n(a.pending), a?.expiry && i(a.expiry), a = void 0;
2128
+ }
2129
+ function s(e) {
2130
+ return a?.id === e ? a : void 0;
2131
+ }
2132
+ return {
2133
+ pendingId(e) {
2134
+ return a && !a.resolved && a.token === e ? a.id : null;
2135
+ },
2136
+ begin(e, t) {
2137
+ a?.id === e && a.token === t || (o(), a = {
2138
+ id: e,
2139
+ token: t,
2140
+ resolved: !1,
2141
+ pending: null,
2142
+ expiry: null
2143
+ });
2144
+ },
2145
+ end(e, t) {
2146
+ let n = a;
2147
+ !n || n.id !== e || n.token !== t || n.resolved || n.expiry || (n.expiry = r(() => {
2148
+ a === n && !n.resolved && o();
2149
+ }));
2150
+ },
2151
+ cancel() {
2152
+ o();
2153
+ },
2154
+ zone(r, o) {
2155
+ let c = s(r);
2156
+ !c || c.resolved || (c.pending && n(c.pending), c.pending = t(() => {
2157
+ a === c && !c.resolved && (c.pending = null, c.expiry &&= (i(c.expiry), null), c.resolved = !0, e.persist(r, o));
2158
+ }));
2159
+ },
2160
+ header(t, r) {
2161
+ let a = s(t);
2162
+ !a || a.resolved || (a.pending && n(a.pending), a.pending = null, a.expiry && i(a.expiry), a.expiry = null, a.resolved = !0, e.persist(t, r));
2163
+ }
2164
+ };
2165
+ }
2166
+ //#endregion
2167
+ //#region src/lib/utils/dndzone.ts
2168
+ function _o(e, t) {
2169
+ let n = t, r = null, i = null, a = !1, o = !1, s = () => {
2170
+ o || (o = !0, (typeof queueMicrotask == "function" ? queueMicrotask : (e) => Promise.resolve().then(e))(c));
2171
+ }, c = () => {
2172
+ a || (r = Ra(e, n), i &&= (r.update(i), null));
2173
+ };
2174
+ return s(), {
2175
+ update(e) {
2176
+ r ? r.update(e) : (i = e, s());
2177
+ },
2178
+ destroy() {
2179
+ r ? (r.destroy(), r = null) : a = !0;
2180
+ }
2181
+ };
2182
+ }
2183
+ //#endregion
2184
+ //#region src/lib/components/sidebar/FolderNode.svelte
2185
+ var vo = N("<button><!></button>"), yo = N("<!> <!> <!> <!> <!> <!>", 1), bo = N("<!> <!>", 1), xo = N("<div><!></div>"), So = N("<p class=\"px-2 py-1 text-xs text-muted-foreground\">Loading subfolders…</p>"), Co = N("<p class=\"px-2 py-1 text-xs text-destructive\"> </p>"), wo = N("<div class=\"group/doc flex w-full min-w-0 items-center gap-1\"><!> <!> <!></div>"), To = N("<div class=\"ml-0.5 space-y-0.5 border-l border-border pl-0.5\"><div><!> <!> <!></div> <div></div></div>"), Eo = N("<div role=\"group\"><div class=\"group/folder flex w-full min-w-0 items-center gap-1\"><button type=\"button\"><!> <!> <span class=\"min-w-0 truncate\"> </span></button> <!></div> <!></div>");
2186
+ function Do(t, n) {
2187
+ Pe(n, !0);
2188
+ let r = U(n, "depth", 3, 0), i = U(n, "isDraggingFolder", 3, !1), a = U(n, "isDraggingDoc", 3, !1), o = U(n, "draggedDocId", 3, null), s = W(Be([])), c = W(!1), l = W(!1), u = W(null), f = W(Be([])), p = H(() => n.expandedFolderIds.has(n.folder.id)), h = H(() => n.folderDocsMap[n.folder.id] ?? []);
2189
+ async function g() {
2190
+ B(l, !0), B(u, null);
2191
+ try {
2192
+ B(s, (await un(n.folder.id)).map((e) => (Ht(e.id, e.parentId ?? null, e.categoryId ?? null, e.order ?? 0), {
2193
+ id: e.id,
2194
+ name: e.name,
2195
+ categoryId: e.categoryId ?? null,
2196
+ parentId: e.parentId,
2197
+ order: e.order ?? 0
2198
+ })), !0), B(f, j(s), !0), B(c, !0);
2199
+ } catch (e) {
2200
+ console.error("FolderNode: failed to load subfolders", e), B(u, e instanceof Error ? e.message : "Failed to load subfolders", !0);
2201
+ } finally {
2202
+ B(l, !1);
2203
+ }
2204
+ }
2205
+ function _() {
2206
+ let e = j(p);
2207
+ n.onToggleFolder(n.folder.id), e || g();
2208
+ }
2209
+ Ee(() => {
2210
+ Ft(n.folder.id) !== 0 && (!j(c) && !j(p) || g());
2211
+ });
2212
+ function v(e) {
2213
+ e.stopPropagation(), B(f, Array.isArray(e.detail.items) ? e.detail.items : [], !0), n.onConsiderSubfolders(n.folder.id)(e);
2214
+ }
2215
+ function y(e) {
2216
+ e.stopPropagation(), B(f, Array.isArray(e.detail.items) ? e.detail.items : [], !0), n.onFinalizeSubfolders(n.folder.id)(e);
2217
+ }
2218
+ var b = Eo(), x = O(b), S = O(x), ee = O(S);
2219
+ {
2220
+ let e = H(() => J("size-3.5 shrink-0 transition-transform", j(p) && "rotate-90"));
2221
+ bt(ee, { get class() {
2222
+ return j(e);
2223
+ } });
2224
+ }
2225
+ var C = K(ee, 2);
2226
+ pt(C, { class: "size-4 shrink-0 text-muted-foreground" });
2227
+ var te = K(C, 2), w = O(te, !0);
2228
+ F(te), F(S), Nt(K(S, 2), {
2229
+ children: (t, r) => {
2230
+ var i = bo(), a = L(i);
2231
+ Tt(a, {
2232
+ child: (e, t) => {
2233
+ let n = () => (t?.()).props;
2234
+ var r = vo();
2235
+ Re(r, (e, t) => ({
2236
+ ...n(),
2237
+ type: "button",
2238
+ class: "inline-flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-accent-foreground group-hover/folder:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
2239
+ "aria-label": e,
2240
+ title: t
2241
+ }), [() => m(), () => m()]), Ot(O(r), { class: "size-3.5" }), F(r), V(e, r);
2242
+ },
2243
+ $$slots: { child: !0 }
2244
+ }), Ct(K(a, 2), {
2245
+ align: "end",
2246
+ children: (t, r) => {
2247
+ var i = yo(), a = L(i);
2248
+ St(a, {
2249
+ onSelect: () => wn("/folders/" + n.folder.id),
2250
+ children: (e, t) => {
2251
+ R();
2252
+ var n = M();
2253
+ G((e) => k(n, e), [() => d()]), V(e, n);
2254
+ },
2255
+ $$slots: { default: !0 }
2256
+ });
2257
+ var o = K(a, 2);
2258
+ St(o, {
2259
+ onSelect: () => wn(`/docs/new?folder=${n.folder.id}`),
2260
+ children: (e, t) => {
2261
+ R();
2262
+ var n = M();
2263
+ G((e) => k(n, e), [() => re()]), V(e, n);
2264
+ },
2265
+ $$slots: { default: !0 }
2266
+ });
2267
+ var s = K(o, 2);
2268
+ St(s, {
2269
+ onSelect: () => n.onCreateSubfolder(n.folder.id),
2270
+ children: (e, t) => {
2271
+ R();
2272
+ var n = M();
2273
+ G((e) => k(n, e), [() => ge()]), V(e, n);
2274
+ },
2275
+ $$slots: { default: !0 }
2276
+ });
2277
+ var c = K(s, 2);
2278
+ St(c, {
2279
+ onSelect: () => n.onShare(n.folder.id, n.folder.name),
2280
+ children: (e, t) => {
2281
+ R();
2282
+ var n = M();
2283
+ G((e) => k(n, e), [() => _e()]), V(e, n);
2284
+ },
2285
+ $$slots: { default: !0 }
2286
+ });
2287
+ var l = K(c, 2);
2288
+ St(l, {
2289
+ onSelect: () => n.onRename(n.folder.id, n.folder.name),
2290
+ children: (e, t) => {
2291
+ R();
2292
+ var n = M();
2293
+ G((e) => k(n, e), [() => oe()]), V(e, n);
2294
+ },
2295
+ $$slots: { default: !0 }
2296
+ }), St(K(l, 2), {
2297
+ class: "text-destructive focus:text-destructive",
2298
+ onSelect: () => n.onDelete(n.folder.id, n.folder.name),
2299
+ children: (t, n) => {
2300
+ R();
2301
+ var r = M();
2302
+ G((e) => k(r, e), [() => e()]), V(t, r);
2303
+ },
2304
+ $$slots: { default: !0 }
2305
+ }), V(t, i);
2306
+ },
2307
+ $$slots: { default: !0 }
2308
+ }), V(t, i);
2309
+ },
2310
+ $$slots: { default: !0 }
2311
+ }), F(x);
2312
+ var ne = K(x, 2), ie = (e) => {
2313
+ var t = To(), s = O(t), c = O(s);
2314
+ Ae(c, 25, () => j(f), (e) => e.id, (e, t) => {
2315
+ let s = H(() => Do);
2316
+ var c = xo(), l = O(c);
2317
+ {
2318
+ let e = H(() => r() + 1);
2319
+ ke(l, () => j(s), (r, s) => {
2320
+ s(r, {
2321
+ get folder() {
2322
+ return j(t);
2323
+ },
2324
+ get depth() {
2325
+ return j(e);
2326
+ },
2327
+ get folderDocsMap() {
2328
+ return n.folderDocsMap;
2329
+ },
2330
+ get expandedFolderIds() {
2331
+ return n.expandedFolderIds;
2332
+ },
2333
+ get isDraggingGlobal() {
2334
+ return n.isDraggingGlobal;
2335
+ },
2336
+ get isDraggingFolder() {
2337
+ return i();
2338
+ },
2339
+ get isDraggingDoc() {
2340
+ return a();
2341
+ },
2342
+ get dragDisabled() {
2343
+ return n.dragDisabled;
2344
+ },
2345
+ get folderFlipDurationMs() {
2346
+ return n.folderFlipDurationMs;
2347
+ },
2348
+ get documentFlipDurationMs() {
2349
+ return n.documentFlipDurationMs;
2350
+ },
2351
+ get draggedDocId() {
2352
+ return o();
2353
+ },
2354
+ get onToggleFolder() {
2355
+ return n.onToggleFolder;
2356
+ },
2357
+ get onScheduleFolderExpand() {
2358
+ return n.onScheduleFolderExpand;
2359
+ },
2360
+ get onClearExpandTimer() {
2361
+ return n.onClearExpandTimer;
2362
+ },
2363
+ get onRename() {
2364
+ return n.onRename;
2365
+ },
2366
+ get onShare() {
2367
+ return n.onShare;
2368
+ },
2369
+ get onDelete() {
2370
+ return n.onDelete;
2371
+ },
2372
+ get onCreateSubfolder() {
2373
+ return n.onCreateSubfolder;
2374
+ },
2375
+ get onConsiderDocs() {
2376
+ return n.onConsiderDocs;
2377
+ },
2378
+ get onFinalizeDocs() {
2379
+ return n.onFinalizeDocs;
2380
+ },
2381
+ get onConsiderSubfolders() {
2382
+ return n.onConsiderSubfolders;
2383
+ },
2384
+ get onFinalizeSubfolders() {
2385
+ return n.onFinalizeSubfolders;
2386
+ },
2387
+ get onDropOnFolder() {
2388
+ return n.onDropOnFolder;
2389
+ },
2390
+ get docRowInner() {
2391
+ return n.docRowInner;
2392
+ },
2393
+ get copyButton() {
2394
+ return n.copyButton;
2395
+ },
2396
+ get docMenu() {
2397
+ return n.docMenu;
2398
+ }
2399
+ });
2400
+ });
2401
+ }
2402
+ F(c), qe(c, () => Pn, () => ({ duration: n.folderFlipDurationMs })), V(e, c);
2403
+ });
2404
+ var d = K(c, 2), p = (e) => {
2405
+ V(e, So());
2406
+ };
2407
+ A(d, (e) => {
2408
+ j(l) && e(p);
2409
+ });
2410
+ var m = K(d, 2), g = (e) => {
2411
+ var t = Co(), n = O(t, !0);
2412
+ F(t), G(() => k(n, j(u))), V(e, t);
2413
+ };
2414
+ A(m, (e) => {
2415
+ j(u) && e(g);
2416
+ }), F(s), Ge(s, (e, t) => _o?.(e, t), () => ({
2417
+ items: j(f),
2418
+ flipDurationMs: n.folderFlipDurationMs,
2419
+ type: "folder",
2420
+ dropTargetStyle: {},
2421
+ dragDisabled: n.dragDisabled
2422
+ }));
2423
+ var _ = K(s, 2), b = H(() => n.onConsiderDocs({
2424
+ kind: "folder",
2425
+ id: n.folder.id
2426
+ })), x = H(() => n.onFinalizeDocs({
2427
+ kind: "folder",
2428
+ id: n.folder.id
2429
+ }));
2430
+ Ae(_, 29, () => j(h), (e) => e.id, (e, t) => {
2431
+ var r = wo(), i = O(r);
2432
+ Le(i, () => n.docRowInner, () => j(t));
2433
+ var a = K(i, 2);
2434
+ Le(a, () => n.copyButton, () => j(t)), Le(K(a, 2), () => n.docMenu, () => j(t)), F(r), qe(r, () => Pn, () => ({ duration: n.documentFlipDurationMs })), V(e, r);
2435
+ }), F(_), Ge(_, (e, t) => _o?.(e, t), () => ({
2436
+ items: j(h),
2437
+ flipDurationMs: n.documentFlipDurationMs,
2438
+ type: "doc",
2439
+ dropTargetStyle: {},
2440
+ dragDisabled: n.dragDisabled,
2441
+ useCursorForDetection: !0,
2442
+ centreDraggedOnCursor: !0
2443
+ })), F(t), G((e, t) => {
2444
+ z(s, 1, e), z(_, 1, t);
2445
+ }, [() => Fe(J("min-h-[8px] space-y-0.5 transition-all duration-150", i() && j(f).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")), () => Fe(J("min-h-[8px] space-y-0.5 transition-all duration-150", a() && j(h).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20"))]), q("consider", s, v), q("finalize", s, y), q("consider", _, function(...e) {
2446
+ j(b)?.apply(this, e);
2447
+ }), q("finalize", _, function(...e) {
2448
+ j(x)?.apply(this, e);
2449
+ }), V(e, t);
2450
+ };
2451
+ A(ne, (e) => {
2452
+ j(p) && e(ie);
2453
+ }), F(b), G((e) => {
2454
+ I(b, "aria-label", n.folder.name), I(S, "aria-expanded", j(p)), z(S, 1, e), k(w, n.folder.name);
2455
+ }, [() => Fe(J("flex min-w-0 flex-1 items-center gap-1.5 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-accent hover:text-accent-foreground", Tn.params.id === n.folder.id && "bg-accent text-accent-foreground font-medium", o() && "hover:bg-accent/40 border border-dashed border-primary/30"))]), q("mouseenter", b, () => {
2456
+ n.isDraggingGlobal && !j(p) && n.onScheduleFolderExpand(n.folder.id);
2457
+ }), q("mouseleave", b, () => {
2458
+ n.isDraggingGlobal && n.onClearExpandTimer();
2459
+ }), P("click", S, _), q("dragover", S, (e) => {
2460
+ o() && (e.preventDefault(), e.dataTransfer && (e.dataTransfer.dropEffect = "move"));
2461
+ }), q("drop", S, (e) => n.onDropOnFolder(e, n.folder.id)), V(t, b), Me();
2462
+ }
2463
+ De(["click"]);
2464
+ //#endregion
2465
+ //#region src/lib/components/sidebar/FolderTree.svelte
2466
+ var Oo = (e, t = Ke) => {
2467
+ var n = No(), r = K(O(n), 2);
2468
+ xt(r, { class: "size-4 shrink-0 text-muted-foreground" });
2469
+ var i = K(r, 2), a = O(i, !0);
2470
+ F(i), F(n), G((e) => {
2471
+ I(n, "href", `/docs/${t().id}`), z(n, 1, e), k(a, t().title);
2472
+ }, [() => Fe(J("flex w-full min-w-0 items-center gap-1.5 rounded-md px-2 py-1 text-sm transition-colors hover:bg-accent hover:text-accent-foreground", Tn.params.id === t().id && "bg-accent text-accent-foreground font-medium"))]), V(e, n);
2473
+ }, ko = N("<button><!></button>"), Ao = N("<!> <!> <!>", 1), jo = N("<!> <!>", 1), Mo = N("<button type=\"button\"><!></button>"), No = N("<a data-sveltekit-noscroll=\"\"><span class=\"w-3.5 shrink-0\"></span> <!> <span class=\"min-w-0 truncate\"> </span></a>"), Po = N("<p class=\"px-2 text-xs text-destructive\"> </p>"), Fo = N("<!> <!> <!> <!> <!> <!>", 1), Io = N("<div><!></div>"), Lo = N("<div class=\"group/doc flex w-full min-w-0 items-center gap-1\"><!> <!> <!></div>"), Ro = N("<div class=\"ml-0.5 space-y-0.5 border-l border-border pl-0.5\"><div></div> <div></div></div>"), zo = N("<div class=\"group/bucket\"><div class=\"flex w-full min-w-0 items-center gap-0.5\"><button type=\"button\"><!> <span class=\"min-w-0 truncate\"> </span></button> <!></div> <!></div>"), Bo = N("<div class=\"group/bucket\"><div class=\"flex w-full min-w-0 items-center gap-0.5\"><button type=\"button\"><!> <span class=\"min-w-0 truncate\"> </span></button></div> <!></div>"), Vo = N("<p id=\"rename-input-error\" class=\"text-xs text-destructive\" role=\"alert\"> </p>"), Ho = N("<!> <form class=\"space-y-4\"><div class=\"space-y-2\"><!> <!> <!></div></form> <!>", 1), Uo = N("<div class=\"space-y-1\"><div class=\"mb-2 flex items-center justify-between gap-1\"><a href=\"/\" class=\"block flex-1 px-2 text-xs font-medium uppercase tracking-wider text-muted-foreground transition-colors hover:text-foreground\"> </a> <button type=\"button\" class=\"inline-flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"><!></button></div> <!> <!> <div class=\"min-h-[8px] space-y-1\"></div> <!> <button type=\"button\" class=\"flex w-full items-center gap-1.5 rounded-md px-2 py-1.5 text-sm text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground\"><!> <span> </span></button></div> <!> <!> <!> <!> <!>", 1);
2474
+ function Wo(e, t) {
2475
+ Pe(t, !0);
2476
+ let n = (e, t = Ke) => {
2477
+ Nt(e, {
2478
+ children: (e, n) => {
2479
+ var r = jo(), i = L(r);
2480
+ Tt(i, {
2481
+ child: (e, t) => {
2482
+ let n = () => (t?.()).props;
2483
+ var r = ko(), i = (e) => {
2484
+ e.preventDefault(), e.stopPropagation();
2485
+ };
2486
+ Re(r, (e, t) => ({
2487
+ ...n(),
2488
+ type: "button",
2489
+ class: "inline-flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-accent-foreground group-hover/doc:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
2490
+ "aria-label": e,
2491
+ title: t,
2492
+ onclick: i
2493
+ }), [() => m(), () => m()]), Ot(O(r), { class: "size-3.5" }), F(r), V(e, r);
2494
+ },
2495
+ $$slots: { child: !0 }
2496
+ }), Ct(K(i, 2), {
2497
+ align: "end",
2498
+ children: (e, n) => {
2499
+ var r = Ao(), i = L(r);
2500
+ St(i, {
2501
+ onSelect: () => cr("doc", t().id, t().title),
2502
+ children: (e, t) => {
2503
+ R();
2504
+ var n = M();
2505
+ G((e) => k(n, e), [() => oe()]), V(e, n);
2506
+ },
2507
+ $$slots: { default: !0 }
2508
+ });
2509
+ var a = K(i, 2);
2510
+ St(a, {
2511
+ onSelect: () => fr(t().id, t().title),
2512
+ children: (e, t) => {
2513
+ R();
2514
+ var n = M();
2515
+ G((e) => k(n, e), [() => _e()]), V(e, n);
2516
+ },
2517
+ $$slots: { default: !0 }
2518
+ }), St(K(a, 2), {
2519
+ class: "text-destructive focus:text-destructive",
2520
+ onSelect: () => dr("doc", t().id, t().title),
2521
+ children: (e, t) => {
2522
+ R();
2523
+ var n = M();
2524
+ G((e) => k(n, e), [() => l()]), V(e, n);
2525
+ },
2526
+ $$slots: { default: !0 }
2527
+ }), V(e, r);
2528
+ },
2529
+ $$slots: { default: !0 }
2530
+ }), V(e, r);
2531
+ },
2532
+ $$slots: { default: !0 }
2533
+ });
2534
+ }, r = (e, t = Ke) => {
2535
+ var n = Mo(), r = O(n), i = (e) => {
2536
+ Je(e, { class: "size-3.5 animate-spin" });
2537
+ }, a = (e) => {
2538
+ lt(e, { class: "size-3.5" });
2539
+ }, o = (e) => {
2540
+ Ut(e, { class: "size-3.5" });
2541
+ };
2542
+ A(r, (e) => {
2543
+ j(Kt) === t().id ? e(i) : j(Gt) === t().id ? e(a, 1) : e(o, -1);
2544
+ }), F(n), G((e, r) => {
2545
+ z(n, 1, `inline-flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-accent-foreground group-hover/doc:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ${j(Gt) === t().id || j(Kt) === t().id ? "opacity-100" : ""}`), I(n, "aria-label", e), I(n, "title", r), n.disabled = j(Kt) === t().id;
2546
+ }, [() => ue(), () => ue()]), P("click", n, (e) => {
2547
+ e.preventDefault(), e.stopPropagation(), Jt(t().id);
2548
+ }), V(e, n);
2549
+ }, a = (e, t = Ke) => {
2550
+ Do(e, {
2551
+ get folder() {
2552
+ return t();
2553
+ },
2554
+ get expandedFolderIds() {
2555
+ return j(y);
2556
+ },
2557
+ onToggleFolder: Mn,
2558
+ onRename: (e, t) => cr("folder", e, t),
2559
+ onDelete: (e, t) => dr("folder", e, t),
2560
+ onCreateSubfolder: Rn,
2561
+ onShare: pr,
2562
+ get dragDisabled() {
2563
+ return j(E);
2564
+ },
2565
+ get isDraggingGlobal() {
2566
+ return j(D);
2567
+ },
2568
+ get isDraggingFolder() {
2569
+ return j(fe);
2570
+ },
2571
+ get isDraggingDoc() {
2572
+ return j(me);
2573
+ },
2574
+ get draggedDocId() {
2575
+ return j(ve);
2576
+ },
2577
+ onScheduleFolderExpand: Xt,
2578
+ onClearExpandTimer: Yt,
2579
+ onConsiderDocs: Vn,
2580
+ onFinalizeDocs: Hn,
2581
+ onConsiderSubfolders: Xn,
2582
+ onFinalizeSubfolders: Zn,
2583
+ onDropOnFolder: Kn,
2584
+ get folderDocsMap() {
2585
+ return j(De);
2586
+ },
2587
+ folderFlipDurationMs: c,
2588
+ documentFlipDurationMs: u,
2589
+ get docRowInner() {
2590
+ return Oo;
2591
+ },
2592
+ get copyButton() {
2593
+ return r;
2594
+ },
2595
+ get docMenu() {
2596
+ return n;
2597
+ }
2598
+ });
2599
+ }, c = 200, u = 80, p = W(Be([])), g = W(Be([])), v = W(Be([])), y = W(Be(/* @__PURE__ */ new Set())), b = W(Be(/* @__PURE__ */ new Set())), S = W(!0), ne = W(null), ie = W(null), ae = null;
2600
+ function T(e) {
2601
+ B(ie, e, !0), ae &&= (clearTimeout(ae), null), e !== null && (ae = setTimeout(() => {
2602
+ B(ie, null), ae = null;
2603
+ }, 5e3));
2604
+ }
2605
+ let E = W(!1), D = W(!1), fe = W(!1), me = W(!1), ve = W(null), ye = 0, be = W(!1), xe = W(!1), Ce = 0, we = Promise.resolve(), Te = W(Be([])), De = W(Be({})), Oe = W(Be({})), N = W(Be({})), ke = W(Be([])), je = W(!1), Ne = W(null), Ie = W(null), Le = W(!1), ze = W(null), U = W(""), Ve = W(null), He = W(!1), Ue = W(!1), We = W(null), Ye = W(!1), Xe = W(""), at = W(""), st = W(""), ut = W(""), dt = W(""), ft = W(""), pt = W(!1), mt = W("create"), gt = W(null), _t = W(!1), vt = null, xt = W(null), Ft = null, Wt = W(null), Gt = W(null), Kt = W(null), qt = null;
2606
+ async function Jt(e) {
2607
+ if (typeof window > "u") return;
2608
+ let t = j(v).find((t) => t.id === e), n = "";
2609
+ B(Kt, e, !0);
2610
+ try {
2611
+ n = (await rn(e)).content ?? "";
2612
+ } catch (e) {
2613
+ console.error("FolderTree: failed to fetch full document for copy", e), n = t?.excerpt ?? t?.content ?? "";
2614
+ } finally {
2615
+ B(Kt, null);
2616
+ }
2617
+ n && await Dt(n) && (B(Gt, e, !0), qt && clearTimeout(qt), qt = setTimeout(() => {
2618
+ B(Gt, null), qt = null;
2619
+ }, 2e3));
2620
+ }
2621
+ function Yt() {
2622
+ vt !== null && (clearTimeout(vt), vt = null), B(xt, null);
2623
+ }
2624
+ function Xt(e) {
2625
+ Yt(), !j(y).has(e) && (B(xt, e, !0), vt = setTimeout(() => {
2626
+ if (j(xt) === e && !j(y).has(e)) {
2627
+ let t = new Set(j(y));
2628
+ t.add(e), B(y, t, !0);
2629
+ }
2630
+ vt = null, B(xt, null);
2631
+ }, 400));
2632
+ }
2633
+ function Zt() {
2634
+ Ft !== null && (clearTimeout(Ft), Ft = null), B(Wt, null);
2635
+ }
2636
+ function Qt(e) {
2637
+ Zt(), !(e === Cr ? j(S) : j(b).has(e)) && (B(Wt, e, !0), Ft = setTimeout(() => {
2638
+ if (j(Wt) === e) if (e === Cr) B(S, !0);
2639
+ else {
2640
+ let t = new Set(j(b));
2641
+ t.add(e), B(b, t, !0);
2642
+ }
2643
+ Ft = null, B(Wt, null);
2644
+ }, 400));
2645
+ }
2646
+ function $t(e) {
2647
+ return Array.isArray(e) ? e.filter((e) => typeof e == "object" && !!e && typeof e.id == "string") : [];
2648
+ }
2649
+ function en(e) {
2650
+ let t = [], n = {}, r = {};
2651
+ for (let i of e) if (i.folderId) {
2652
+ let e = r[i.folderId] ?? [];
2653
+ e.push(i), r[i.folderId] = e;
2654
+ } else if (i.categoryId) {
2655
+ let e = n[i.categoryId] ?? [];
2656
+ e.push(i), n[i.categoryId] = e;
2657
+ } else t.push(i);
2658
+ return {
2659
+ root: t,
2660
+ byCategory: n,
2661
+ byFolder: r
2662
+ };
2663
+ }
2664
+ function hn() {
2665
+ let { root: e, byCategory: t, byFolder: n } = en(j(v));
2666
+ B(Te, e, !0), B(Oe, t, !0), B(De, n, !0);
2667
+ }
2668
+ function gn() {
2669
+ let e = /* @__PURE__ */ new Map();
2670
+ for (let t of j(g)) e.set(t.id, []);
2671
+ let t = [];
2672
+ for (let n of j(p)) n.categoryId && e.has(n.categoryId) ? e.get(n.categoryId)?.push(n) : t.push(n);
2673
+ let n = {};
2674
+ for (let t of j(g)) n[t.id] = e.get(t.id) ?? [];
2675
+ n[Cr] = t, B(N, n, !0);
2676
+ }
2677
+ Ee(() => {
2678
+ j(p), j(g), !(j(be) || j(xe)) && (B(ke, j(Er).map((e) => ({
2679
+ id: e.id,
2680
+ category: e.category,
2681
+ folders: e.folders
2682
+ })), !0), gn());
2683
+ });
2684
+ async function _n() {
2685
+ try {
2686
+ B(p, ((await un(null))[0]?.children ?? []).map((e) => (Ht(e.id, e.parentId ?? null, e.categoryId ?? null, e.order ?? 0), {
2687
+ id: e.id,
2688
+ name: e.name,
2689
+ categoryId: e.categoryId ?? null,
2690
+ parentId: e.parentId,
2691
+ order: e.order ?? 0
2692
+ })), !0), B(ne, null);
2693
+ } catch (e) {
2694
+ console.error("FolderTree: failed to load folders", e), B(ne, "Failed to load folders");
2695
+ }
2696
+ }
2697
+ async function vn() {
2698
+ try {
2699
+ let e = await fn(), t = /* @__PURE__ */ new Set();
2700
+ for (let n of e) {
2701
+ if (t.has(n.id)) throw Error(`Categories response contains duplicate id: ${n.id}`);
2702
+ t.add(n.id);
2703
+ }
2704
+ B(g, e, !0);
2705
+ } catch (e) {
2706
+ console.error("FolderTree: failed to load categories", e);
2707
+ }
2708
+ }
2709
+ let yn = 0;
2710
+ async function bn() {
2711
+ let e = ++yn;
2712
+ try {
2713
+ let t = ht(), n = await on({
2714
+ limit: 100,
2715
+ ...t ? { tag: t } : {}
2716
+ });
2717
+ if (e !== yn) return;
2718
+ B(v, n.items.map((e) => Rt(e.id) ? {
2719
+ ...e,
2720
+ folderId: Rt(e.id)?.folderId ?? null,
2721
+ categoryId: Rt(e.id)?.categoryId ?? null
2722
+ } : e), !0), j(v).forEach((e) => {
2723
+ e.id, e.title, e.categoryId, e.folderId, Object.keys(e), Et(e.id, e.folderId ?? null, e.categoryId ?? null);
2724
+ }), hn();
2725
+ } catch (e) {
2726
+ console.error("FolderTree: failed to load documents", e), B(ne, "Failed to load documents");
2727
+ }
2728
+ }
2729
+ async function Tn() {
2730
+ sn(), await Promise.all([
2731
+ _n(),
2732
+ vn(),
2733
+ bn()
2734
+ ]);
2735
+ }
2736
+ function En(e, t) {
2737
+ yn++, Et(e, t.folderId, t.categoryId), B(v, j(v).map((n) => n.id === e ? {
2738
+ ...n,
2739
+ ...t
2740
+ } : n), !0), hn();
2741
+ }
2742
+ let Dn = ho({
2743
+ patch: (e, t) => nn(e, t),
2744
+ optimistic: (e, t) => Mt(e, t.folderId, t.categoryId),
2745
+ acknowledge: Lt,
2746
+ rollback: En,
2747
+ onError: (e) => {
2748
+ console.error("FolderTree: document move failed", e), T(e instanceof Error ? e.message : "Move failed");
2749
+ }
2750
+ });
2751
+ function On(e, t) {
2752
+ let n = kt(e);
2753
+ n && (n.folderId === t.folderId && n.categoryId === t.categoryId || Dn(e, t, n).catch(() => void 0));
2754
+ }
2755
+ let kn = go({ persist: On });
2756
+ Sn(() => {
2757
+ let e = setTimeout(() => {
2758
+ Tn();
2759
+ }, 500);
2760
+ return () => clearTimeout(e);
2761
+ }), xn(() => {
2762
+ kn.cancel(), ae &&= (clearTimeout(ae), null), vt &&= (clearTimeout(vt), null), Ft &&= (clearTimeout(Ft), null);
2763
+ }), Ee(() => {
2764
+ let e = yt(), t = At();
2765
+ e === 0 && t === 0 || Tn();
2766
+ }), Ee(() => {
2767
+ if (Pt() === 0) return;
2768
+ let e = jt();
2769
+ e && Cn(() => {
2770
+ yn++;
2771
+ let t = j(v).findIndex((t) => t.id === e.id);
2772
+ t !== -1 && (B(v, j(v).map((n, r) => r === t ? {
2773
+ ...n,
2774
+ folderId: e.folderId,
2775
+ categoryId: e.categoryId
2776
+ } : n), !0), hn());
2777
+ });
2778
+ });
2779
+ let An = !0;
2780
+ Ee(() => {
2781
+ if (ht(), An) {
2782
+ An = !1;
2783
+ return;
2784
+ }
2785
+ Tn();
2786
+ });
2787
+ async function jn() {
2788
+ await Tn();
2789
+ }
2790
+ function Mn(e) {
2791
+ let t = j(y).has(e), n = new Set(j(y));
2792
+ t ? n.delete(e) : n.add(e), B(y, n, !0), B(E, !0), typeof window < "u" && window.setTimeout(() => {
2793
+ B(E, !1);
2794
+ }, 250);
2795
+ }
2796
+ function Nn(e) {
2797
+ let t = new Set(j(b));
2798
+ t.has(e) ? t.delete(e) : t.add(e), B(b, t, !0);
2799
+ }
2800
+ function Fn() {
2801
+ B(S, !j(S));
2802
+ }
2803
+ function In() {
2804
+ B(Ne, null), B(Ie, null), B(je, !0);
2805
+ }
2806
+ function Ln(e) {
2807
+ B(Ne, null), B(Ie, e, !0), B(je, !0);
2808
+ }
2809
+ function Rn(e) {
2810
+ B(Ne, e, !0), B(Ie, null), B(je, !0);
2811
+ }
2812
+ async function zn(e) {
2813
+ let t = j(Ne), n = await dn({
2814
+ name: e,
2815
+ parentId: t,
2816
+ categoryId: j(Ie)
2817
+ });
2818
+ return await _n(), t && (B(y, new Set(j(y)).add(t), !0), zt(t)), n;
2819
+ }
2820
+ function Bn(e, t) {
2821
+ if (e.kind === "root") {
2822
+ B(Te, t, !0);
2823
+ return;
2824
+ }
2825
+ if (e.kind === "category") {
2826
+ B(Oe, {
2827
+ ...j(Oe),
2828
+ [e.id]: t
2829
+ }, !0);
2830
+ return;
2831
+ }
2832
+ B(De, {
2833
+ ...j(De),
2834
+ [e.id]: t
2835
+ }, !0);
2836
+ }
2837
+ function Vn(e) {
2838
+ return (t) => {
2839
+ t.stopPropagation();
2840
+ let n = !j(me);
2841
+ B(D, !0), B(me, !0), t.detail.info?.id && (B(ve, t.detail.info.id, !0), n && kn.begin(t.detail.info.id, ++ye)), Bn(e, $t(t.detail.items)), Yt();
2842
+ };
2843
+ }
2844
+ function Hn(e) {
2845
+ return (t) => {
2846
+ t.stopPropagation(), Bn(e, $t(t.detail.items)), Yt();
2847
+ let n = t.detail.info?.trigger === "droppedIntoAnother";
2848
+ t.detail.info?.trigger;
2849
+ let r = t.detail.info?.id ?? j(ve);
2850
+ !n && r && kn.zone(r, Un(e)), r && kn.end(r, ye), B(D, !1), B(me, !1), typeof window < "u" ? window.setTimeout(() => {
2851
+ j(ve) === r && B(ve, null);
2852
+ }, 0) : B(ve, null);
2853
+ };
2854
+ }
2855
+ function Un(e) {
2856
+ return {
2857
+ folderId: e.kind === "folder" ? e.id : null,
2858
+ categoryId: e.kind === "category" ? e.id : e.kind === "root" ? null : Vt(e.id)?.categoryId ?? null
2859
+ };
2860
+ }
2861
+ function Wn(e) {
2862
+ (j(ve) ?? kn.pendingId(ye)) && (e.preventDefault(), e.dataTransfer && (e.dataTransfer.dropEffect = "move"));
2863
+ }
2864
+ function Gn(e, t) {
2865
+ let n = j(ve) ?? kn.pendingId(ye);
2866
+ if (!n) return;
2867
+ e.preventDefault(), e.stopPropagation();
2868
+ let r = t === Cr ? null : t, i = kt(n);
2869
+ if (!i) return;
2870
+ let a = i.folderId !== null, o = i.categoryId !== r;
2871
+ (a || o) && kn.header(n, {
2872
+ folderId: null,
2873
+ categoryId: r
2874
+ }), B(ve, null);
2875
+ }
2876
+ function Kn(e, t) {
2877
+ let n = j(ve) ?? kn.pendingId(ye);
2878
+ if (!n) return;
2879
+ e.preventDefault(), e.stopPropagation();
2880
+ let r = Vt(t)?.categoryId ?? null, i = kt(n);
2881
+ i && (i.folderId !== t && kn.header(n, {
2882
+ folderId: t,
2883
+ categoryId: r
2884
+ }), B(ve, null));
2885
+ }
2886
+ let qn = "parent:";
2887
+ function Jn(e) {
2888
+ return (t) => {
2889
+ t.stopPropagation(), B(D, !0), B(fe, !0);
2890
+ let n = Qn(t.detail.items);
2891
+ e.startsWith(qn) || B(N, {
2892
+ ...j(N),
2893
+ [e]: n
2894
+ }, !0);
2895
+ };
2896
+ }
2897
+ function Yn(e) {
2898
+ return (t) => {
2899
+ t.stopPropagation();
2900
+ let n = Qn(t.detail.items), r = t.detail.info?.trigger === "droppedIntoAnother";
2901
+ e.startsWith(qn) || B(N, {
2902
+ ...j(N),
2903
+ [e]: n
2904
+ }, !0), B(D, !1), B(fe, !1), r || er(e, n);
2905
+ };
2906
+ }
2907
+ function Xn(e) {
2908
+ return Jn(`${qn}${e}`);
2909
+ }
2910
+ function Zn(e) {
2911
+ return Yn(`${qn}${e}`);
2912
+ }
2913
+ function Qn(e) {
2914
+ return Array.isArray(e) ? e.filter((e) => typeof e == "object" && !!e && typeof e.id == "string") : [];
2915
+ }
2916
+ function $n(e) {
2917
+ let t = /* @__PURE__ */ new Set();
2918
+ if (!e) return t;
2919
+ let n = e;
2920
+ for (; n && !t.has(n);) t.add(n), n = Vt(n)?.parentId ?? null;
2921
+ return t;
2922
+ }
2923
+ async function er(e, t) {
2924
+ let n = e.startsWith(qn), r = n || e === Cr ? null : e, i = n && e.slice(7) || null, a = /* @__PURE__ */ new Map(), o = n ? $n(i) : /* @__PURE__ */ new Set();
2925
+ if (n) for (let e of t) {
2926
+ if (o.has(e.id)) continue;
2927
+ let t = Vt(e.id);
2928
+ t && t.parentId !== i && (a.set(e.id, {
2929
+ folderId: e.id,
2930
+ parentId: i
2931
+ }), Ht(e.id, i, t.categoryId, t.order));
2932
+ }
2933
+ else for (let e of t) {
2934
+ let t = Vt(e.id);
2935
+ if (!t) continue;
2936
+ let n = t.categoryId !== r, i = t.parentId !== null;
2937
+ if (n || i) {
2938
+ let o = { folderId: e.id };
2939
+ n && (o.categoryId = r), i && (o.parentId = null), a.set(e.id, o), Ht(e.id, null, r, t.order);
2940
+ }
2941
+ }
2942
+ t.forEach((e, t) => {
2943
+ if (n && o.has(e.id)) return;
2944
+ let r = Vt(e.id);
2945
+ if (!r) return;
2946
+ let i = r.order !== t, s = a.get(e.id);
2947
+ s ? (s.order = t, Ht(e.id, s.parentId === void 0 ? r.parentId : s.parentId, s.categoryId === void 0 ? r.categoryId : s.categoryId, t)) : i && (a.set(e.id, {
2948
+ folderId: e.id,
2949
+ order: t
2950
+ }), Ht(e.id, r.parentId, r.categoryId, t));
2951
+ });
2952
+ let s = Array.from(a.values()), c = /* @__PURE__ */ new Set();
2953
+ if (n) {
2954
+ i && c.add(i);
2955
+ for (let e of t) {
2956
+ let t = e.parentId ?? null;
2957
+ t !== null && t !== i && c.add(t);
2958
+ }
2959
+ }
2960
+ if (s.length !== 0) try {
2961
+ await Promise.all(s.map((e) => {
2962
+ let { folderId: t, ...n } = e;
2963
+ return cn(t, n);
2964
+ })), await Tn(), gn();
2965
+ for (let e of c) zt(e);
2966
+ } catch (e) {
2967
+ console.error("FolderTree: folder DnD persist failed", e), T(e instanceof Error ? `Move failed: ${e.message}` : "Move failed: unknown error");
2968
+ }
2969
+ }
2970
+ function tr(e) {
2971
+ e.stopPropagation(), B(D, !0), B(be, !0), B(ke, rr(ir(e.detail.items)), !0);
2972
+ }
2973
+ function nr(e) {
2974
+ e.stopPropagation();
2975
+ let t = rr(ar(e.detail.items));
2976
+ B(ke, t, !0), B(D, !1), B(be, !1), or(t);
2977
+ }
2978
+ function rr(e) {
2979
+ let t = e.filter((e) => e.id !== Cr), n = j(ke).find((e) => e.id === Cr) ?? j(Er).find((e) => e.id === Cr);
2980
+ return n ? [...t, n] : t;
2981
+ }
2982
+ function ir(e) {
2983
+ if (!Array.isArray(e)) return [];
2984
+ let t = [];
2985
+ for (let n of e) {
2986
+ if (typeof n != "object" || !n || typeof n.id != "string") continue;
2987
+ let e = n;
2988
+ t.push(e);
2989
+ }
2990
+ return t;
2991
+ }
2992
+ function ar(e) {
2993
+ let t = ir(e), n = new Set(t.filter((e) => e[hr]).map((e) => e.id)), r = /* @__PURE__ */ new Set(), i = new Map([...j(ke), ...j(Er)].map((e) => [e.id, e])), a = [];
2994
+ for (let e of t) {
2995
+ if (n.has(e.id) && !e.isDndShadowItem || r.has(e.id)) continue;
2996
+ r.add(e.id);
2997
+ let t = i.get(e.id) ?? e;
2998
+ a.push({
2999
+ id: t.id,
3000
+ category: t.category,
3001
+ folders: t.folders
3002
+ });
3003
+ }
3004
+ return a;
3005
+ }
3006
+ function or(e) {
3007
+ let t = ++Ce;
3008
+ B(xe, !0);
3009
+ let n = e.map((e) => ({ ...e }));
3010
+ we = we.catch(() => void 0).then(async () => {
3011
+ try {
3012
+ await sr(n);
3013
+ } catch (e) {
3014
+ console.error("FolderTree: category DnD persist failed", e), T(e instanceof Error ? `Reorder failed: ${e.message}` : "Reorder failed: unknown error");
3015
+ } finally {
3016
+ t === Ce && (await Tn(), B(xe, !1));
3017
+ }
3018
+ });
3019
+ }
3020
+ async function sr(e) {
3021
+ let t = [];
3022
+ if (e.forEach((e, n) => {
3023
+ e.category && t.push({
3024
+ id: e.category.id,
3025
+ order: n
3026
+ });
3027
+ }), t.length !== 0) for (let e of t) await mn(e.id, { order: e.order });
3028
+ }
3029
+ function cr(e, t, n) {
3030
+ B(ze, {
3031
+ kind: e,
3032
+ id: t,
3033
+ name: n
3034
+ }, !0), B(U, n, !0), B(Ve, null), B(Le, !0);
3035
+ }
3036
+ function lr() {
3037
+ B(Le, !1), B(ze, null), B(U, ""), B(Ve, null), B(He, !1);
3038
+ }
3039
+ async function ur(e) {
3040
+ e?.preventDefault();
3041
+ let t = j(ze);
3042
+ if (!t) return;
3043
+ let n = j(U).trim();
3044
+ if (n.length === 0) {
3045
+ B(Ve, "Name is required");
3046
+ return;
3047
+ }
3048
+ B(He, !0);
3049
+ try {
3050
+ t.kind === "folder" ? await cn(t.id, { name: n }) : await nn(t.id, { title: n }), lr(), await Tn(), ot();
3051
+ } catch (e) {
3052
+ console.error("FolderTree: rename failed", e), B(Ve, e instanceof Error ? e.message : s(), !0);
3053
+ } finally {
3054
+ B(He, !1);
3055
+ }
3056
+ }
3057
+ function dr(e, t, n) {
3058
+ B(We, {
3059
+ kind: e,
3060
+ id: t,
3061
+ name: n
3062
+ }, !0), B(Ue, !0);
3063
+ }
3064
+ function fr(e, t) {
3065
+ B(Xe, e, !0), B(at, ""), B(dt, ""), B(st, t, !0), B(ut, ""), B(ft, ""), B(Ye, !0);
3066
+ }
3067
+ function pr(e, t) {
3068
+ B(at, e, !0), B(Xe, ""), B(dt, ""), B(ut, t, !0), B(st, ""), B(ft, ""), B(Ye, !0);
3069
+ }
3070
+ function mr(e, t) {
3071
+ B(dt, e, !0), B(Xe, ""), B(at, ""), B(ft, t, !0), B(st, ""), B(ut, ""), B(Ye, !0);
3072
+ }
3073
+ function gr() {
3074
+ B(Ue, !1), B(We, null);
3075
+ }
3076
+ async function _r() {
3077
+ let e = j(We);
3078
+ e && (e.kind === "folder" ? await ln(e.id) : await an(e.id), await Tn(), ot());
3079
+ }
3080
+ function vr() {
3081
+ B(mt, "create"), B(gt, null), B(pt, !0);
3082
+ }
3083
+ function yr(e) {
3084
+ B(mt, "edit"), B(gt, e, !0), B(pt, !0);
3085
+ }
3086
+ function Y(e) {
3087
+ B(mt, "delete"), B(gt, e, !0), B(pt, !0);
3088
+ }
3089
+ function br() {
3090
+ j(_t) || (B(pt, !1), B(gt, null), B(_t, !1));
3091
+ }
3092
+ async function xr(e) {
3093
+ B(_t, !0);
3094
+ try {
3095
+ let t = {
3096
+ name: e.name,
3097
+ apiMode: e.apiMode,
3098
+ apiPermissionRead: e.apiPermissionRead,
3099
+ apiPermissionEdit: e.apiPermissionEdit,
3100
+ apiPermissionWrite: e.apiPermissionWrite
3101
+ }, n;
3102
+ return n = j(mt) === "edit" && j(gt) ? await tn(`/api/categories/${encodeURIComponent(j(gt).id)}`, {
3103
+ method: "PATCH",
3104
+ body: t
3105
+ }) : await tn("/api/categories", {
3106
+ method: "POST",
3107
+ body: t
3108
+ }), await Tn(), n;
3109
+ } finally {
3110
+ B(_t, !1);
3111
+ }
3112
+ }
3113
+ async function Sr() {
3114
+ if (j(gt)) {
3115
+ B(_t, !0);
3116
+ try {
3117
+ await pn(j(gt).id), await Tn();
3118
+ } finally {
3119
+ B(_t, !1);
3120
+ }
3121
+ }
3122
+ }
3123
+ let Cr = "__uncategorized__", wr = H(() => j(ke).filter((e) => e.id !== Cr && e.category !== null)), Tr = H(() => j(ke).find((e) => e.id === Cr) ?? null), Er = H(() => {
3124
+ let e = /* @__PURE__ */ new Map();
3125
+ for (let t of j(g)) e.set(t.id, []);
3126
+ let t = [];
3127
+ for (let n of j(p)) n.categoryId && e.has(n.categoryId) ? e.get(n.categoryId)?.push(n) : t.push(n);
3128
+ let n = [];
3129
+ for (let t of j(g)) n.push({
3130
+ id: t.id,
3131
+ category: t,
3132
+ folders: e.get(t.id) ?? []
3133
+ });
3134
+ return n.push({
3135
+ id: Cr,
3136
+ category: null,
3137
+ folders: t
3138
+ }), n;
3139
+ });
3140
+ var Dr = { refreshFolderTree: jn }, Or = Uo(), kr = L(Or), Ar = O(kr), jr = O(Ar), Mr = O(jr, !0);
3141
+ F(jr);
3142
+ var Nr = K(jr, 2);
3143
+ wt(O(Nr), { class: "size-3.5" }), F(Nr), F(Ar);
3144
+ var Pr = K(Ar, 2), Fr = (e) => {
3145
+ var t = Po(), n = O(t, !0);
3146
+ F(t), G(() => k(n, j(ne))), V(e, t);
3147
+ };
3148
+ A(Pr, (e) => {
3149
+ j(ne) && e(Fr);
3150
+ });
3151
+ var Ir = K(Pr, 2), Lr = (e) => {
3152
+ var t = Po(), n = O(t, !0);
3153
+ F(t), G(() => k(n, j(ie))), V(e, t);
3154
+ };
3155
+ A(Ir, (e) => {
3156
+ j(ie) && e(Lr);
3157
+ });
3158
+ var Rr = K(Ir, 2);
3159
+ Ae(Rr, 29, () => j(wr), (e) => `${e.id}:${e.isDndShadowItem ? "shadow" : "item"}`, (e, t) => {
3160
+ let i = H(() => j(b).has(j(t).id));
3161
+ var o = zo(), s = O(o), c = O(s), u = O(c), f = (e) => {
3162
+ ct(e, { class: "size-3.5 shrink-0" });
3163
+ }, p = (e) => {
3164
+ bt(e, { class: "size-3.5 shrink-0" });
3165
+ };
3166
+ A(u, (e) => {
3167
+ j(i) ? e(f) : e(p, -1);
3168
+ });
3169
+ var h = K(u, 2), g = O(h, !0);
3170
+ F(h), F(c), Nt(K(c, 2), {
3171
+ children: (e, n) => {
3172
+ var r = jo(), i = L(r);
3173
+ Tt(i, {
3174
+ child: (e, t) => {
3175
+ let n = () => (t?.()).props;
3176
+ var r = ko();
3177
+ Re(r, (e, t) => ({
3178
+ ...n(),
3179
+ type: "button",
3180
+ class: "inline-flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-accent-foreground group-hover/bucket:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
3181
+ "aria-label": e,
3182
+ title: t
3183
+ }), [() => m(), () => m()]), Ot(O(r), { class: "size-3.5" }), F(r), V(e, r);
3184
+ },
3185
+ $$slots: { child: !0 }
3186
+ }), Ct(K(i, 2), {
3187
+ align: "end",
3188
+ children: (e, n) => {
3189
+ var r = Fo(), i = L(r);
3190
+ St(i, {
3191
+ onSelect: () => wn(`/?category=${j(t).category.id}`),
3192
+ children: (e, t) => {
3193
+ R();
3194
+ var n = M();
3195
+ G((e) => k(n, e), [() => d()]), V(e, n);
3196
+ },
3197
+ $$slots: { default: !0 }
3198
+ });
3199
+ var a = K(i, 2);
3200
+ St(a, {
3201
+ onSelect: () => wn(`/docs/new?category=${j(t).category.id}`),
3202
+ children: (e, t) => {
3203
+ R();
3204
+ var n = M();
3205
+ G((e) => k(n, e), [() => re()]), V(e, n);
3206
+ },
3207
+ $$slots: { default: !0 }
3208
+ });
3209
+ var o = K(a, 2);
3210
+ St(o, {
3211
+ onSelect: () => Ln(j(t).category.id),
3212
+ children: (e, t) => {
3213
+ R();
3214
+ var n = M();
3215
+ G((e) => k(n, e), [() => ge()]), V(e, n);
3216
+ },
3217
+ $$slots: { default: !0 }
3218
+ });
3219
+ var s = K(o, 2);
3220
+ St(s, {
3221
+ onSelect: () => mr(j(t).category.id, j(t).category.name),
3222
+ children: (e, t) => {
3223
+ R();
3224
+ var n = M();
3225
+ G((e) => k(n, e), [() => _e()]), V(e, n);
3226
+ },
3227
+ $$slots: { default: !0 }
3228
+ });
3229
+ var c = K(s, 2);
3230
+ St(c, {
3231
+ onSelect: () => yr(j(t).category),
3232
+ children: (e, t) => {
3233
+ R();
3234
+ var n = M();
3235
+ G((e) => k(n, e), [() => ee()]), V(e, n);
3236
+ },
3237
+ $$slots: { default: !0 }
3238
+ }), St(K(c, 2), {
3239
+ class: "text-destructive focus:text-destructive",
3240
+ onSelect: () => Y(j(t).category),
3241
+ children: (e, t) => {
3242
+ R();
3243
+ var n = M();
3244
+ G((e) => k(n, e), [() => l()]), V(e, n);
3245
+ },
3246
+ $$slots: { default: !0 }
3247
+ }), V(e, r);
3248
+ },
3249
+ $$slots: { default: !0 }
3250
+ }), V(e, r);
3251
+ },
3252
+ $$slots: { default: !0 }
3253
+ }), F(s);
3254
+ var _ = K(s, 2), v = (e) => {
3255
+ let i = H(() => j(N)[j(t).id] ?? []), o = H(() => j(Oe)[j(t).id] ?? []);
3256
+ var s = Ro(), c = O(s), l = H(() => Jn(j(t).id)), u = H(() => Yn(j(t).id));
3257
+ Ae(c, 29, () => j(i), (e) => e.id, (e, t) => {
3258
+ var n = Io();
3259
+ a(O(n), () => j(t)), F(n), qe(n, () => Pn, () => ({ duration: 200 })), V(e, n);
3260
+ }), F(c), Ge(c, (e, t) => _o?.(e, t), () => ({
3261
+ items: j(i),
3262
+ flipDurationMs: 200,
3263
+ type: "folder",
3264
+ dropTargetStyle: {},
3265
+ dragDisabled: j(E)
3266
+ }));
3267
+ var d = K(c, 2), f = H(() => Vn({
3268
+ kind: "category",
3269
+ id: j(t).id
3270
+ })), p = H(() => Hn({
3271
+ kind: "category",
3272
+ id: j(t).id
3273
+ }));
3274
+ Ae(d, 29, () => j(o), (e) => e.id, (e, t) => {
3275
+ var i = Lo(), a = O(i);
3276
+ Oo(a, () => j(t));
3277
+ var o = K(a, 2);
3278
+ r(o, () => j(t)), n(K(o, 2), () => j(t)), F(i), qe(i, () => Pn, () => ({ duration: 80 })), V(e, i);
3279
+ }), F(d), Ge(d, (e, t) => _o?.(e, t), () => ({
3280
+ items: j(o),
3281
+ flipDurationMs: 80,
3282
+ type: "doc",
3283
+ dropTargetStyle: {},
3284
+ dragDisabled: j(E),
3285
+ useCursorForDetection: !0,
3286
+ centreDraggedOnCursor: !0
3287
+ })), F(s), G((e, t) => {
3288
+ z(c, 1, e), z(d, 1, t);
3289
+ }, [() => Fe(J("min-h-[8px] space-y-0.5 transition-all duration-150", j(fe) && j(i).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")), () => Fe(J("min-h-[8px] space-y-0.5 transition-all duration-150", j(me) && j(o).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20"))]), q("consider", c, function(...e) {
3290
+ j(l)?.apply(this, e);
3291
+ }), q("finalize", c, function(...e) {
3292
+ j(u)?.apply(this, e);
3293
+ }), q("consider", d, function(...e) {
3294
+ j(f)?.apply(this, e);
3295
+ }), q("finalize", d, function(...e) {
3296
+ j(p)?.apply(this, e);
3297
+ }), V(e, s);
3298
+ };
3299
+ A(_, (e) => {
3300
+ j(i) && e(v);
3301
+ }), F(o), G((e) => {
3302
+ I(o, "data-is-dnd-shadow-item-hint", j(t)[hr]), I(c, "aria-expanded", j(i)), z(c, 1, e), k(g, j(t).category.name);
3303
+ }, [() => Fe(J("flex min-w-0 flex-1 items-center gap-1.5 rounded-md px-2 py-1.5 text-xs font-medium uppercase tracking-wider text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground", j(ve) && "hover:bg-accent/40 border border-dashed border-primary/30"))]), P("click", c, () => Nn(j(t).id)), q("mouseenter", c, () => {
3304
+ j(D) && !j(i) && Qt(j(t).id);
3305
+ }), q("mouseleave", c, () => {
3306
+ j(D) && Zt();
3307
+ }), q("dragover", c, Wn), q("drop", c, (e) => Gn(e, j(t).id)), qe(o, () => Pn, () => ({ duration: 200 })), V(e, o);
3308
+ }), F(Rr), Ge(Rr, (e, t) => _o?.(e, t), () => ({
3309
+ items: j(wr),
3310
+ flipDurationMs: 200,
3311
+ type: "category",
3312
+ dropTargetStyle: {},
3313
+ dragDisabled: j(E)
3314
+ }));
3315
+ var zr = K(Rr, 2), Br = (e) => {
3316
+ var t = Bo(), i = O(t), o = O(i), s = O(o), c = (e) => {
3317
+ ct(e, { class: "size-3.5 shrink-0" });
3318
+ }, l = (e) => {
3319
+ bt(e, { class: "size-3.5 shrink-0" });
3320
+ };
3321
+ A(s, (e) => {
3322
+ j(S) ? e(c) : e(l, -1);
3323
+ });
3324
+ var u = K(s, 2), d = O(u, !0);
3325
+ F(u), F(o), F(i);
3326
+ var f = K(i, 2), p = (e) => {
3327
+ let t = H(() => j(N)[Cr] ?? []);
3328
+ var i = Ro(), o = O(i), s = H(() => Jn(Cr)), c = H(() => Yn(Cr));
3329
+ Ae(o, 29, () => j(t), (e) => e.id, (e, t) => {
3330
+ var n = Io();
3331
+ a(O(n), () => j(t)), F(n), qe(n, () => Pn, () => ({ duration: 200 })), V(e, n);
3332
+ }), F(o), Ge(o, (e, t) => _o?.(e, t), () => ({
3333
+ items: j(t),
3334
+ flipDurationMs: 200,
3335
+ type: "folder",
3336
+ dropTargetStyle: {},
3337
+ dragDisabled: j(E)
3338
+ }));
3339
+ var l = K(o, 2), u = H(() => Vn({ kind: "root" })), d = H(() => Hn({ kind: "root" }));
3340
+ Ae(l, 29, () => j(Te), (e) => e.id, (e, t) => {
3341
+ var i = Lo(), a = O(i);
3342
+ Oo(a, () => j(t));
3343
+ var o = K(a, 2);
3344
+ r(o, () => j(t)), n(K(o, 2), () => j(t)), F(i), qe(i, () => Pn, () => ({ duration: 80 })), V(e, i);
3345
+ }), F(l), Ge(l, (e, t) => _o?.(e, t), () => ({
3346
+ items: j(Te),
3347
+ flipDurationMs: 80,
3348
+ type: "doc",
3349
+ dropTargetStyle: {},
3350
+ dragDisabled: j(E),
3351
+ useCursorForDetection: !0,
3352
+ centreDraggedOnCursor: !0
3353
+ })), F(i), G((e, t) => {
3354
+ z(o, 1, e), z(l, 1, t);
3355
+ }, [() => Fe(J("min-h-[8px] space-y-0.5 transition-all duration-150", j(fe) && j(t).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")), () => Fe(J("min-h-[8px] space-y-0.5 transition-all duration-150", j(me) && j(Te).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20"))]), q("consider", o, function(...e) {
3356
+ j(s)?.apply(this, e);
3357
+ }), q("finalize", o, function(...e) {
3358
+ j(c)?.apply(this, e);
3359
+ }), q("consider", l, function(...e) {
3360
+ j(u)?.apply(this, e);
3361
+ }), q("finalize", l, function(...e) {
3362
+ j(d)?.apply(this, e);
3363
+ }), V(e, i);
3364
+ };
3365
+ A(f, (e) => {
3366
+ j(S) && e(p);
3367
+ }), F(t), G((e, t) => {
3368
+ I(o, "aria-expanded", j(S)), z(o, 1, e), k(d, t);
3369
+ }, [() => Fe(J("flex min-w-0 flex-1 items-center gap-1.5 rounded-md px-2 py-1.5 text-xs font-medium uppercase tracking-wider text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground", j(ve) && "hover:bg-accent/40 border border-dashed border-primary/30")), () => se()]), P("click", o, Fn), q("mouseenter", o, () => {
3370
+ j(D) && !j(S) && Qt(Cr);
3371
+ }), q("mouseleave", o, () => {
3372
+ j(D) && Zt();
3373
+ }), q("dragover", o, Wn), q("drop", o, (e) => Gn(e, Cr)), V(e, t);
3374
+ };
3375
+ A(zr, (e) => {
3376
+ j(Tr) && e(Br);
3377
+ });
3378
+ var Vr = K(zr, 2), Hr = O(Vr);
3379
+ wt(Hr, { class: "size-3.5" });
3380
+ var Ur = K(Hr, 2), Wr = O(Ur, !0);
3381
+ F(Ur), F(Vr), F(kr);
3382
+ var Gr = K(kr, 2);
3383
+ It(Gr, {
3384
+ mode: "create",
3385
+ onSave: zn,
3386
+ closeOnSave: !1,
3387
+ get open() {
3388
+ return j(je);
3389
+ },
3390
+ set open(e) {
3391
+ B(je, e, !0);
3392
+ }
3393
+ });
3394
+ var Kr = K(Gr, 2);
3395
+ tt(Kr, {
3396
+ onOpenChange: (e) => {
3397
+ e || lr();
3398
+ },
3399
+ get open() {
3400
+ return j(Le);
3401
+ },
3402
+ set open(e) {
3403
+ B(Le, e, !0);
3404
+ },
3405
+ children: (e, t) => {
3406
+ var n = Ho(), r = L(n);
3407
+ nt(r, {
3408
+ children: (e, t) => {
3409
+ var n = jo(), r = L(n);
3410
+ et(r, {
3411
+ children: (e, t) => {
3412
+ R();
3413
+ var n = M();
3414
+ G((e) => k(n, e), [() => oe()]), V(e, n);
3415
+ },
3416
+ $$slots: { default: !0 }
3417
+ }), Ze(K(r, 2), {
3418
+ children: (e, t) => {
3419
+ R();
3420
+ var n = M();
3421
+ G((e) => k(n, e), [() => j(ze)?.kind === "folder" ? f() : le()]), V(e, n);
3422
+ },
3423
+ $$slots: { default: !0 }
3424
+ }), V(e, n);
3425
+ },
3426
+ $$slots: { default: !0 }
3427
+ });
3428
+ var i = K(r, 2), a = O(i), s = O(a);
3429
+ rt(s, {
3430
+ for: "rename-input",
3431
+ children: (e, t) => {
3432
+ R();
3433
+ var n = M();
3434
+ G((e) => k(n, e), [() => j(ze)?.kind === "folder" ? f() : le()]), V(e, n);
3435
+ },
3436
+ $$slots: { default: !0 }
3437
+ });
3438
+ var c = K(s, 2);
3439
+ {
3440
+ let e = H(() => j(Ve) ? "true" : void 0), t = H(() => j(Ve) ? "rename-input-error" : void 0);
3441
+ it(c, {
3442
+ id: "rename-input",
3443
+ name: "name",
3444
+ type: "text",
3445
+ maxlength: 255,
3446
+ required: !0,
3447
+ get disabled() {
3448
+ return j(He);
3449
+ },
3450
+ get "aria-invalid"() {
3451
+ return j(e);
3452
+ },
3453
+ get "aria-describedby"() {
3454
+ return j(t);
3455
+ },
3456
+ autocomplete: "off",
3457
+ get value() {
3458
+ return j(U);
3459
+ },
3460
+ set value(e) {
3461
+ B(U, e, !0);
3462
+ }
3463
+ });
3464
+ }
3465
+ var l = K(c, 2), u = (e) => {
3466
+ var t = Vo(), n = O(t, !0);
3467
+ F(t), G(() => k(n, j(Ve))), V(e, t);
3468
+ };
3469
+ A(l, (e) => {
3470
+ j(Ve) && e(u);
3471
+ }), F(a), F(i), $e(K(i, 2), {
3472
+ children: (e, t) => {
3473
+ var n = jo(), r = L(n);
3474
+ Qe(r, {
3475
+ variant: "outline",
3476
+ type: "button",
3477
+ onclick: lr,
3478
+ get disabled() {
3479
+ return j(He);
3480
+ },
3481
+ children: (e, t) => {
3482
+ R();
3483
+ var n = M();
3484
+ G((e) => k(n, e), [() => x()]), V(e, n);
3485
+ },
3486
+ $$slots: { default: !0 }
3487
+ });
3488
+ var i = K(r, 2);
3489
+ {
3490
+ let e = H(() => j(He) || j(U).trim().length === 0);
3491
+ Qe(i, {
3492
+ type: "submit",
3493
+ onclick: ur,
3494
+ get disabled() {
3495
+ return j(e);
3496
+ },
3497
+ children: (e, t) => {
3498
+ R();
3499
+ var n = M();
3500
+ G((e) => k(n, e), [() => j(He) ? o() : C()]), V(e, n);
3501
+ },
3502
+ $$slots: { default: !0 }
3503
+ });
3504
+ }
3505
+ V(e, n);
3506
+ },
3507
+ $$slots: { default: !0 }
3508
+ }), q("submit", i, ur), V(e, n);
3509
+ },
3510
+ $$slots: { default: !0 }
3511
+ });
3512
+ var qr = K(Kr, 2);
3513
+ {
3514
+ let e = H(() => j(We)?.name ?? ""), t = H(() => j(We)?.kind === "folder" ? _() : de()), n = H(() => j(We)?.kind === "folder" ? "Its documents will be moved to the root and will not be deleted." : pe()), r = H(() => j(We)?.kind === "folder" ? te() : he()), i = H(() => j(We)?.kind === "folder" ? w() : ce()), a = H(() => l()), o = H(() => x());
3515
+ Ja(qr, {
3516
+ get targetName() {
3517
+ return j(e);
3518
+ },
3519
+ get title() {
3520
+ return j(t);
3521
+ },
3522
+ get description() {
3523
+ return j(n);
3524
+ },
3525
+ get successTitle() {
3526
+ return j(r);
3527
+ },
3528
+ get successDescription() {
3529
+ return j(i);
3530
+ },
3531
+ get confirmLabel() {
3532
+ return j(a);
3533
+ },
3534
+ get cancelLabel() {
3535
+ return j(o);
3536
+ },
3537
+ onConfirm: _r,
3538
+ onCancel: gr,
3539
+ get open() {
3540
+ return j(Ue);
3541
+ },
3542
+ set open(e) {
3543
+ B(Ue, e, !0);
3544
+ }
3545
+ });
3546
+ }
3547
+ var Jr = K(qr, 2);
3548
+ {
3549
+ let e = H(() => j(gt) ?? void 0);
3550
+ mo(Jr, {
3551
+ get mode() {
3552
+ return j(mt);
3553
+ },
3554
+ get category() {
3555
+ return j(e);
3556
+ },
3557
+ onSave: xr,
3558
+ onDelete: Sr,
3559
+ onClose: br,
3560
+ get open() {
3561
+ return j(pt);
3562
+ },
3563
+ set open(e) {
3564
+ B(pt, e, !0);
3565
+ }
3566
+ });
3567
+ }
3568
+ return Bt(K(Jr, 2), {
3569
+ get documentId() {
3570
+ return j(Xe);
3571
+ },
3572
+ get documentTitle() {
3573
+ return j(st);
3574
+ },
3575
+ get folderId() {
3576
+ return j(at);
3577
+ },
3578
+ get folderName() {
3579
+ return j(ut);
3580
+ },
3581
+ get categoryId() {
3582
+ return j(dt);
3583
+ },
3584
+ get categoryName() {
3585
+ return j(ft);
3586
+ },
3587
+ get open() {
3588
+ return j(Ye);
3589
+ },
3590
+ set open(e) {
3591
+ B(Ye, e, !0);
3592
+ }
3593
+ }), G((e, t, n, r, i) => {
3594
+ I(jr, "title", e), k(Mr, t), I(Nr, "aria-label", n), I(Nr, "title", r), k(Wr, i);
3595
+ }, [
3596
+ () => Se(),
3597
+ () => h(),
3598
+ () => i(),
3599
+ () => i(),
3600
+ () => ge()
3601
+ ]), P("click", Nr, vr), q("consider", Rr, tr), q("finalize", Rr, nr), P("click", Vr, In), V(e, Or), Me(Dr);
3602
+ }
3603
+ De(["click"]);
3604
+ //#endregion
3605
+ //#region src/lib/components/sidebar/RecentDocs.svelte
3606
+ var Go = N("<p class=\"px-2 text-xs text-destructive\"> </p>"), Ko = N("<button><!></button>"), qo = N("<!> <!>", 1), Jo = N("<div class=\"group/doc flex min-w-0 items-center gap-1\"><a><!> <div class=\"min-w-0 flex-1\"><p class=\"truncate min-w-0\"> </p> <p class=\"text-xs text-muted-foreground\"> </p></div></a> <button type=\"button\"><!></button> <!></div>"), Yo = N("<p id=\"recent-rename-input-error\" class=\"text-xs text-destructive\" role=\"alert\"> </p>"), Xo = N("<!> <form class=\"space-y-4\"><div class=\"space-y-2\"><!> <!> <!></div></form> <!>", 1), Zo = N("<div class=\"space-y-1\"><h3 class=\"mb-2 px-2 text-xs font-medium uppercase tracking-wider text-muted-foreground\"> </h3> <!> <!></div> <!> <!>", 1);
3607
+ function Qo(e, t) {
3608
+ Pe(t, !0);
3609
+ let n = W(Be([])), r = W(null), i = W(null), a = W(null), c = W(null), u = null, d = W(!1), f = W(null), p = W(""), h = W(null), _ = W(!1), v = W(!1), y = W(null), b = W(!1);
3610
+ async function S() {
3611
+ try {
3612
+ let e = ht();
3613
+ B(n, (await on({
3614
+ limit: 6,
3615
+ ...e ? { tag: e } : {}
3616
+ })).items, !0), B(i, null);
3617
+ } catch (e) {
3618
+ console.error("RecentDocs: failed to load recent documents", e), B(i, "Failed to load recent documents");
3619
+ }
3620
+ }
3621
+ Sn(() => {
3622
+ S();
3623
+ }), Ee(() => {
3624
+ yt() !== 0 && S();
3625
+ });
3626
+ let ee = !0;
3627
+ Ee(() => {
3628
+ if (ht(), ee) {
3629
+ ee = !1;
3630
+ return;
3631
+ }
3632
+ S();
3633
+ });
3634
+ async function te() {
3635
+ await S();
3636
+ }
3637
+ xn(() => {
3638
+ u &&= (clearTimeout(u), null);
3639
+ });
3640
+ async function w(e, t) {
3641
+ if (e.preventDefault(), e.stopPropagation(), typeof window > "u") return;
3642
+ let r = j(n).find((e) => e.id === t), i = "";
3643
+ B(c, t, !0);
3644
+ try {
3645
+ i = (await rn(t)).content ?? "";
3646
+ } catch (e) {
3647
+ console.error("RecentDocs: failed to fetch full document for copy", e), i = r?.excerpt ?? r?.content ?? "";
3648
+ } finally {
3649
+ B(c, null);
3650
+ }
3651
+ i && await Dt(i) && (B(a, t, !0), u && clearTimeout(u), u = setTimeout(() => {
3652
+ B(a, null), u = null;
3653
+ }, 2e3));
3654
+ }
3655
+ function ne(e, t) {
3656
+ B(f, {
3657
+ id: e,
3658
+ title: t
3659
+ }, !0), B(p, t, !0), B(h, null), B(d, !0);
3660
+ }
3661
+ function re() {
3662
+ B(d, !1), B(f, null), B(p, ""), B(h, null), B(_, !1);
3663
+ }
3664
+ async function ie(e) {
3665
+ e?.preventDefault();
3666
+ let t = j(f);
3667
+ if (!t) return;
3668
+ let n = j(p).trim();
3669
+ if (n.length === 0) {
3670
+ B(h, "Name is required");
3671
+ return;
3672
+ }
3673
+ B(_, !0);
3674
+ try {
3675
+ await nn(t.id, { title: n }), re(), await S(), ot();
3676
+ } catch (e) {
3677
+ console.error("RecentDocs: rename failed", e), B(h, e instanceof Error ? e.message : s(), !0);
3678
+ } finally {
3679
+ B(_, !1);
3680
+ }
3681
+ }
3682
+ function ae(e, t) {
3683
+ B(y, {
3684
+ id: e,
3685
+ title: t
3686
+ }, !0), B(v, !0);
3687
+ }
3688
+ function T() {
3689
+ B(v, !1), B(y, null), B(b, !1);
3690
+ }
3691
+ async function se() {
3692
+ let e = j(y);
3693
+ if (!(!e || j(b))) {
3694
+ B(b, !0);
3695
+ try {
3696
+ await an(e.id), T(), await S(), ot();
3697
+ } catch (e) {
3698
+ console.error("RecentDocs: delete failed", e), B(i, e instanceof Error ? e.message : s(), !0), B(b, !1);
3699
+ }
3700
+ }
3701
+ }
3702
+ var ce = { refreshRecentDocs: te }, E = Zo(), D = L(E), fe = O(D), me = O(fe, !0);
3703
+ F(fe);
3704
+ var he = K(fe, 2), ge = (e) => {
3705
+ var t = Go(), n = O(t, !0);
3706
+ F(t), G(() => k(n, j(i))), V(e, t);
3707
+ };
3708
+ A(he, (e) => {
3709
+ j(i) && e(ge);
3710
+ }), Ae(K(he, 2), 17, () => j(n), (e) => e.id, (e, t) => {
3711
+ var n = Jo(), i = O(n), o = O(i);
3712
+ xt(o, { class: "size-4 shrink-0 text-muted-foreground" });
3713
+ var s = K(o, 2), u = O(s), d = O(u, !0);
3714
+ F(u);
3715
+ var f = K(u, 2), p = O(f, !0);
3716
+ F(f), F(s), F(i);
3717
+ var h = K(i, 2), g = O(h), _ = (e) => {
3718
+ Je(e, { class: "size-3.5 animate-spin" });
3719
+ }, v = (e) => {
3720
+ lt(e, { class: "size-3.5" });
3721
+ }, y = (e) => {
3722
+ Ut(e, { class: "size-3.5" });
3723
+ };
3724
+ A(g, (e) => {
3725
+ j(c) === j(t).id ? e(_) : j(a) === j(t).id ? e(v, 1) : e(y, -1);
3726
+ }), F(h), Nt(K(h, 2), {
3727
+ children: (e, n) => {
3728
+ var r = qo(), i = L(r);
3729
+ Tt(i, {
3730
+ child: (e, t) => {
3731
+ let n = () => (t?.()).props;
3732
+ var r = Ko(), i = (e) => {
3733
+ e.preventDefault(), e.stopPropagation();
3734
+ };
3735
+ Re(r, (e, t) => ({
3736
+ ...n(),
3737
+ type: "button",
3738
+ class: "inline-flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-accent-foreground group-hover/doc:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
3739
+ "aria-label": e,
3740
+ title: t,
3741
+ onclick: i
3742
+ }), [() => m(), () => m()]), Ot(O(r), { class: "size-3.5" }), F(r), V(e, r);
3743
+ },
3744
+ $$slots: { child: !0 }
3745
+ }), Ct(K(i, 2), {
3746
+ align: "end",
3747
+ children: (e, n) => {
3748
+ var r = qo(), i = L(r);
3749
+ St(i, {
3750
+ onSelect: () => ne(j(t).id, j(t).title),
3751
+ children: (e, t) => {
3752
+ R();
3753
+ var n = M();
3754
+ G((e) => k(n, e), [() => oe()]), V(e, n);
3755
+ },
3756
+ $$slots: { default: !0 }
3757
+ }), St(K(i, 2), {
3758
+ class: "text-destructive focus:text-destructive",
3759
+ onSelect: () => ae(j(t).id, j(t).title),
3760
+ children: (e, t) => {
3761
+ R();
3762
+ var n = M();
3763
+ G((e) => k(n, e), [() => l()]), V(e, n);
3764
+ },
3765
+ $$slots: { default: !0 }
3766
+ }), V(e, r);
3767
+ },
3768
+ $$slots: { default: !0 }
3769
+ }), V(e, r);
3770
+ },
3771
+ $$slots: { default: !0 }
3772
+ }), F(n), G((e, n, r) => {
3773
+ I(i, "href", `/docs/${j(t).id}`), z(i, 1, e), k(d, j(t).title), k(p, j(t).updatedAt), z(h, 1, `inline-flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground opacity-0 transition-opacity hover:bg-accent hover:text-accent-foreground group-hover/doc:opacity-100 focus-visible:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ${j(a) === j(t).id || j(c) === j(t).id ? "opacity-100" : ""}`), I(h, "aria-label", n), I(h, "title", r), h.disabled = j(c) === j(t).id;
3774
+ }, [
3775
+ () => Fe(J("flex min-w-0 flex-1 items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-accent hover:text-accent-foreground", j(r) === j(t).id && "bg-accent text-accent-foreground")),
3776
+ () => ue(),
3777
+ () => ue()
3778
+ ]), P("click", i, () => {
3779
+ B(r, j(t).id, !0);
3780
+ }), P("click", h, (e) => void w(e, j(t).id)), V(e, n);
3781
+ }), F(D);
3782
+ var _e = K(D, 2);
3783
+ tt(_e, {
3784
+ onOpenChange: (e) => {
3785
+ e || re();
3786
+ },
3787
+ get open() {
3788
+ return j(d);
3789
+ },
3790
+ set open(e) {
3791
+ B(d, e, !0);
3792
+ },
3793
+ children: (e, t) => {
3794
+ var n = Xo(), r = L(n);
3795
+ nt(r, {
3796
+ children: (e, t) => {
3797
+ var n = qo(), r = L(n);
3798
+ et(r, {
3799
+ children: (e, t) => {
3800
+ R();
3801
+ var n = M();
3802
+ G((e) => k(n, e), [() => oe()]), V(e, n);
3803
+ },
3804
+ $$slots: { default: !0 }
3805
+ }), Ze(K(r, 2), {
3806
+ children: (e, t) => {
3807
+ R();
3808
+ var n = M();
3809
+ G((e) => k(n, e), [() => le()]), V(e, n);
3810
+ },
3811
+ $$slots: { default: !0 }
3812
+ }), V(e, n);
3813
+ },
3814
+ $$slots: { default: !0 }
3815
+ });
3816
+ var i = K(r, 2), a = O(i), s = O(a);
3817
+ rt(s, {
3818
+ for: "recent-rename-input",
3819
+ children: (e, t) => {
3820
+ R();
3821
+ var n = M();
3822
+ G((e) => k(n, e), [() => le()]), V(e, n);
3823
+ },
3824
+ $$slots: { default: !0 }
3825
+ });
3826
+ var c = K(s, 2);
3827
+ {
3828
+ let e = H(() => j(h) ? "true" : void 0), t = H(() => j(h) ? "recent-rename-input-error" : void 0);
3829
+ it(c, {
3830
+ id: "recent-rename-input",
3831
+ name: "name",
3832
+ type: "text",
3833
+ maxlength: 255,
3834
+ required: !0,
3835
+ get disabled() {
3836
+ return j(_);
3837
+ },
3838
+ get "aria-invalid"() {
3839
+ return j(e);
3840
+ },
3841
+ get "aria-describedby"() {
3842
+ return j(t);
3843
+ },
3844
+ autocomplete: "off",
3845
+ get value() {
3846
+ return j(p);
3847
+ },
3848
+ set value(e) {
3849
+ B(p, e, !0);
3850
+ }
3851
+ });
3852
+ }
3853
+ var l = K(c, 2), u = (e) => {
3854
+ var t = Yo(), n = O(t, !0);
3855
+ F(t), G(() => k(n, j(h))), V(e, t);
3856
+ };
3857
+ A(l, (e) => {
3858
+ j(h) && e(u);
3859
+ }), F(a), F(i), $e(K(i, 2), {
3860
+ children: (e, t) => {
3861
+ var n = qo(), r = L(n);
3862
+ Qe(r, {
3863
+ variant: "outline",
3864
+ type: "button",
3865
+ onclick: re,
3866
+ get disabled() {
3867
+ return j(_);
3868
+ },
3869
+ children: (e, t) => {
3870
+ R();
3871
+ var n = M();
3872
+ G((e) => k(n, e), [() => x()]), V(e, n);
3873
+ },
3874
+ $$slots: { default: !0 }
3875
+ });
3876
+ var i = K(r, 2);
3877
+ {
3878
+ let e = H(() => j(_) || j(p).trim().length === 0);
3879
+ Qe(i, {
3880
+ type: "submit",
3881
+ onclick: ie,
3882
+ get disabled() {
3883
+ return j(e);
3884
+ },
3885
+ children: (e, t) => {
3886
+ R();
3887
+ var n = M();
3888
+ G((e) => k(n, e), [() => j(_) ? o() : C()]), V(e, n);
3889
+ },
3890
+ $$slots: { default: !0 }
3891
+ });
3892
+ }
3893
+ V(e, n);
3894
+ },
3895
+ $$slots: { default: !0 }
3896
+ }), q("submit", i, ie), V(e, n);
3897
+ },
3898
+ $$slots: { default: !0 }
3899
+ });
3900
+ var ve = K(_e, 2);
3901
+ {
3902
+ let e = H(() => de()), t = H(() => pe()), n = H(() => l()), r = H(() => x());
3903
+ Gt(ve, {
3904
+ get title() {
3905
+ return j(e);
3906
+ },
3907
+ get description() {
3908
+ return j(t);
3909
+ },
3910
+ get confirmLabel() {
3911
+ return j(n);
3912
+ },
3913
+ get cancelLabel() {
3914
+ return j(r);
3915
+ },
3916
+ variant: "destructive",
3917
+ get busy() {
3918
+ return j(b);
3919
+ },
3920
+ onConfirm: se,
3921
+ onCancel: T,
3922
+ get open() {
3923
+ return j(v);
3924
+ },
3925
+ set open(e) {
3926
+ B(v, e, !0);
3927
+ }
3928
+ });
3929
+ }
3930
+ return G((e) => k(me, e), [() => g()]), V(e, E), Me(ce);
3931
+ }
3932
+ De(["click"]);
3933
+ //#endregion
3934
+ //#region src/lib/components/TagCreateDialog.svelte
3935
+ var $o = N("<!> <!>", 1), es = N("<p id=\"tag-name-error\" class=\"text-xs text-destructive\"> </p>"), ts = N("<button type=\"button\"></button>"), ns = N("<p class=\"text-xs text-destructive\" role=\"alert\"> </p>"), rs = N("<!> ", 1), is = N("<!> <form class=\"space-y-4\"><div class=\"space-y-2\"><!> <!> <!></div> <div class=\"space-y-2\"><!> <div id=\"tag-color\" class=\"flex flex-wrap gap-2\"><!> <label title=\"Custom color\"><input type=\"color\" class=\"absolute inset-0 h-full w-full cursor-pointer opacity-0\" aria-label=\"Custom color\"/></label></div></div> <!></form> <!>", 1);
3936
+ function as(e, t) {
3937
+ Pe(t, !0);
3938
+ let i = [
3939
+ "#ef4444",
3940
+ "#f97316",
3941
+ "#f59e0b",
3942
+ "#eab308",
3943
+ "#84cc16",
3944
+ "#22c55e",
3945
+ "#10b981",
3946
+ "#06b6d4",
3947
+ "#3b82f6",
3948
+ "#8b5cf6",
3949
+ "#ec4899"
3950
+ ], a = i[9], l = U(t, "open", 15, !1), u = U(t, "mode", 3, "create"), d = U(t, "tag", 3, null), f = W(""), p = W(Be(a)), m = W(null), h = W(null), g = W(!1), _ = H(() => u() === "edit"), v = H(() => j(_) ? S() : c()), y = H(() => j(g) ? o() : j(_) ? C() : r());
3951
+ function b() {
3952
+ B(f, ""), B(p, a, !0), B(m, null), B(h, null), B(g, !1);
3953
+ }
3954
+ function ee(e) {
3955
+ if (!e) {
3956
+ b();
3957
+ return;
3958
+ }
3959
+ B(f, e.name, !0), B(p, e.color ?? a, !0), B(m, null), B(h, null), B(g, !1);
3960
+ }
3961
+ function te() {
3962
+ l(!1), b(), t.onClose?.();
3963
+ }
3964
+ function w(e) {
3965
+ e ? ee(d()) : (b(), l(!1), t.onClose?.());
3966
+ }
3967
+ function ne(e) {
3968
+ e.preventDefault(), B(m, null), B(h, null);
3969
+ let t = j(f).trim();
3970
+ if (t.length === 0) {
3971
+ B(m, n(), !0);
3972
+ return;
3973
+ }
3974
+ if (j(_) && d()) {
3975
+ let e = _n.safeParse({
3976
+ name: t,
3977
+ color: j(p)
3978
+ });
3979
+ if (!e.success) {
3980
+ let t = e.error.issues[0];
3981
+ B(m, t?.message ?? s(), !0);
3982
+ return;
3983
+ }
3984
+ ie(d().id, e.data);
3985
+ } else {
3986
+ let e = bn.safeParse({
3987
+ name: t,
3988
+ color: j(p)
3989
+ });
3990
+ if (!e.success) {
3991
+ let t = e.error.issues[0];
3992
+ B(m, t?.message ?? s(), !0);
3993
+ return;
3994
+ }
3995
+ re(e.data.name, j(p));
3996
+ }
3997
+ }
3998
+ async function re(e, n) {
3999
+ B(g, !0);
4000
+ try {
4001
+ let r = await vn(e, n);
4002
+ t.onCreated?.(r), te();
4003
+ } catch (e) {
4004
+ B(h, e instanceof Error ? e.message : s(), !0), console.error("TagCreateDialog: createTag failed", e);
4005
+ } finally {
4006
+ B(g, !1);
4007
+ }
4008
+ }
4009
+ async function ie(e, n) {
4010
+ B(g, !0);
4011
+ try {
4012
+ let r = await hn(e, n);
4013
+ t.onUpdated?.(r), te();
4014
+ } catch (e) {
4015
+ B(h, e instanceof Error ? e.message : s(), !0), console.error("TagCreateDialog: updateTag failed", e);
4016
+ } finally {
4017
+ B(g, !1);
4018
+ }
4019
+ }
4020
+ function ae(e) {
4021
+ e.key === "Enter" && !j(g) && (e.preventDefault(), ne(new Event("submit")));
4022
+ }
4023
+ Ee(() => {
4024
+ l() && u() === "edit" && d() && (B(f, d().name, !0), B(p, d().color ?? a, !0), B(m, null), B(h, null));
4025
+ }), tt(e, {
4026
+ onOpenChange: w,
4027
+ get open() {
4028
+ return l();
4029
+ },
4030
+ set open(e) {
4031
+ l(e);
4032
+ },
4033
+ children: (e, t) => {
4034
+ var r = is(), a = L(r);
4035
+ nt(a, {
4036
+ children: (e, t) => {
4037
+ var r = $o(), i = L(r);
4038
+ et(i, {
4039
+ children: (e, t) => {
4040
+ R();
4041
+ var n = M();
4042
+ G(() => k(n, j(v))), V(e, n);
4043
+ },
4044
+ $$slots: { default: !0 }
4045
+ }), Ze(K(i, 2), {
4046
+ children: (e, t) => {
4047
+ R();
4048
+ var r = M();
4049
+ G((e) => k(r, e), [() => n()]), V(e, r);
4050
+ },
4051
+ $$slots: { default: !0 }
4052
+ }), V(e, r);
4053
+ },
4054
+ $$slots: { default: !0 }
4055
+ });
4056
+ var o = K(a, 2), s = O(o), c = O(s);
4057
+ rt(c, {
4058
+ for: "tag-name",
4059
+ class: "sr-only",
4060
+ children: (e, t) => {
4061
+ R();
4062
+ var r = M();
4063
+ G((e) => k(r, e), [() => n()]), V(e, r);
4064
+ },
4065
+ $$slots: { default: !0 }
4066
+ });
4067
+ var l = K(c, 2);
4068
+ {
4069
+ let e = H(() => n()), t = H(() => j(m) ? "true" : void 0), r = H(() => j(m) ? "tag-name-error" : void 0);
4070
+ it(l, {
4071
+ id: "tag-name",
4072
+ name: "name",
4073
+ type: "text",
4074
+ get placeholder() {
4075
+ return j(e);
4076
+ },
4077
+ maxlength: 50,
4078
+ required: !0,
4079
+ get disabled() {
4080
+ return j(g);
4081
+ },
4082
+ get "aria-invalid"() {
4083
+ return j(t);
4084
+ },
4085
+ get "aria-describedby"() {
4086
+ return j(r);
4087
+ },
4088
+ autocomplete: "off",
4089
+ onkeydown: ae,
4090
+ get value() {
4091
+ return j(f);
4092
+ },
4093
+ set value(e) {
4094
+ B(f, e, !0);
4095
+ }
4096
+ });
4097
+ }
4098
+ var u = K(l, 2), d = (e) => {
4099
+ var t = es(), n = O(t, !0);
4100
+ F(t), G(() => k(n, j(m))), V(e, t);
4101
+ };
4102
+ A(u, (e) => {
4103
+ j(m) && e(d);
4104
+ }), F(s);
4105
+ var _ = K(s, 2), b = O(_);
4106
+ rt(b, {
4107
+ for: "tag-color",
4108
+ class: "text-xs text-muted-foreground",
4109
+ children: (e, t) => {
4110
+ R(), V(e, M("Color"));
4111
+ },
4112
+ $$slots: { default: !0 }
4113
+ });
4114
+ var S = K(b, 2), ee = O(S);
4115
+ Ae(ee, 16, () => i, (e) => e, (e, t) => {
4116
+ let n = H(() => j(p) === t);
4117
+ var r = ts();
4118
+ G((e) => {
4119
+ z(r, 1, e), ze(r, `background-color: ${t ?? ""};`), I(r, "aria-label", `Color ${t ?? ""}`), I(r, "aria-pressed", j(n)), r.disabled = j(g);
4120
+ }, [() => Fe(J("size-6 shrink-0 rounded-full border-2 transition-all", j(n) ? "scale-110 border-foreground" : "border-transparent hover:scale-105"))]), P("click", r, () => B(p, t, !0)), V(e, r);
4121
+ });
4122
+ var C = K(ee, 2), w = O(C);
4123
+ We(w), F(C), F(S), F(_);
4124
+ var re = K(_, 2), ie = (e) => {
4125
+ var t = ns(), n = O(t, !0);
4126
+ F(t), G(() => k(n, j(h))), V(e, t);
4127
+ };
4128
+ A(re, (e) => {
4129
+ j(h) && e(ie);
4130
+ }), F(o), $e(K(o, 2), {
4131
+ class: "gap-2 max-sm:flex-col max-sm:items-stretch",
4132
+ children: (e, t) => {
4133
+ var n = $o(), r = L(n);
4134
+ Qe(r, {
4135
+ variant: "outline",
4136
+ type: "button",
4137
+ onclick: te,
4138
+ get disabled() {
4139
+ return j(g);
4140
+ },
4141
+ children: (e, t) => {
4142
+ R();
4143
+ var n = M();
4144
+ G((e) => k(n, e), [() => x()]), V(e, n);
4145
+ },
4146
+ $$slots: { default: !0 }
4147
+ });
4148
+ var i = K(r, 2);
4149
+ {
4150
+ let e = H(() => j(g) || j(f).trim().length === 0);
4151
+ Qe(i, {
4152
+ type: "submit",
4153
+ onclick: ne,
4154
+ get disabled() {
4155
+ return j(e);
4156
+ },
4157
+ children: (e, t) => {
4158
+ var n = rs(), r = L(n), i = (e) => {
4159
+ Je(e, { class: "mr-1 size-4 animate-spin" });
4160
+ };
4161
+ A(r, (e) => {
4162
+ j(g) && e(i);
4163
+ });
4164
+ var a = K(r);
4165
+ G(() => k(a, ` ${j(y) ?? ""}`)), V(e, n);
4166
+ },
4167
+ $$slots: { default: !0 }
4168
+ });
4169
+ }
4170
+ V(e, n);
4171
+ },
4172
+ $$slots: { default: !0 }
4173
+ }), G((e) => {
4174
+ z(C, 1, e), ze(C, `background-color: ${j(p) ?? ""};`), Ne(w, j(p)), w.disabled = j(g);
4175
+ }, [() => Fe(J("relative inline-flex size-6 shrink-0 cursor-pointer items-center justify-center overflow-hidden rounded-full border-2 transition-all", i.includes(j(p)) ? "border-transparent hover:scale-105" : "scale-110 border-foreground"))]), q("submit", o, ne), P("input", w, (e) => B(p, e.currentTarget.value, !0)), V(e, r);
4176
+ },
4177
+ $$slots: { default: !0 }
4178
+ }), Me();
4179
+ }
4180
+ De(["click", "input"]);
4181
+ //#endregion
4182
+ //#region src/lib/components/sidebar/TagList.svelte
4183
+ var os = N("<p class=\"px-2 text-xs text-destructive\"> </p>"), ss = N("<button><!></button>"), cs = N("<!> <!>", 1), ls = N("<div><button type=\"button\" class=\"inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-xs font-medium\"><span class=\"size-2.5 shrink-0 rounded-full\"></span> </button> <!></div>"), us = N("<div class=\"space-y-1\"><h3 class=\"mb-2 px-2 text-xs font-medium uppercase tracking-wider text-muted-foreground\"> </h3> <!> <div class=\"flex flex-wrap gap-1 px-2\"><!> <button type=\"button\" class=\"inline-flex items-center gap-0.5 rounded-full px-2 py-0.5 text-xs text-muted-foreground transition-colors hover:bg-secondary hover:text-secondary-foreground\"><!> </button></div></div> <!> <!>", 1);
4184
+ function ds(e, n) {
4185
+ Pe(n, !0);
4186
+ let r = W(Be([])), i = W(null), a = W(!1), o = W(null), u = W(!1), d = W(null), f = W(!1);
4187
+ async function h() {
4188
+ try {
4189
+ B(r, await yn(), !0);
4190
+ } catch (e) {
4191
+ console.error("TagList: failed to load tags", e), B(i, t(), !0);
4192
+ }
4193
+ }
4194
+ Sn(() => {
4195
+ h();
4196
+ }), Ee(() => {
4197
+ ft(), h();
4198
+ });
4199
+ function g(e) {
4200
+ B(r, [...j(r), e], !0), gt(), h();
4201
+ }
4202
+ function _(e) {
4203
+ B(r, j(r).map((t) => t.id === e.id ? e : t), !0), gt();
4204
+ }
4205
+ function y(e) {
4206
+ B(o, e, !0), B(a, !0);
4207
+ }
4208
+ function b() {
4209
+ B(o, null);
4210
+ }
4211
+ function S(e) {
4212
+ B(d, e, !0), B(u, !0);
4213
+ }
4214
+ function C() {
4215
+ B(u, !1), B(d, null);
4216
+ }
4217
+ async function te() {
4218
+ let e = j(d);
4219
+ if (!(!e || j(f))) {
4220
+ B(f, !0);
4221
+ try {
4222
+ await gn(e.id), B(r, j(r).filter((t) => t.id !== e.id), !0), ht() === e.id && vt(null), B(u, !1), B(d, null), gt();
4223
+ } catch (e) {
4224
+ console.error("TagList: deleteTag failed", e), B(i, s(), !0);
4225
+ } finally {
4226
+ B(f, !1);
4227
+ }
4228
+ }
4229
+ }
4230
+ var w = us(), ne = L(w), re = O(ne), ie = O(re, !0);
4231
+ F(re);
4232
+ var ae = K(re, 2), oe = (e) => {
4233
+ var t = os(), n = O(t, !0);
4234
+ F(t), G(() => k(n, j(i))), V(e, t);
4235
+ };
4236
+ A(ae, (e) => {
4237
+ j(i) && e(oe);
4238
+ });
4239
+ var se = K(ae, 2), ce = O(se);
4240
+ Ae(ce, 17, () => j(r), (e) => e.id, (e, t) => {
4241
+ var n = ls(), r = O(n), i = O(r), a = K(i);
4242
+ F(r), Nt(K(r, 2), {
4243
+ children: (e, n) => {
4244
+ var r = cs(), i = L(r);
4245
+ Tt(i, {
4246
+ child: (e, n) => {
4247
+ let r = () => (n?.()).props;
4248
+ var i = ss();
4249
+ Re(i, (e, t, n) => ({
4250
+ ...r(),
4251
+ type: "button",
4252
+ class: e,
4253
+ "aria-label": t,
4254
+ title: n,
4255
+ disabled: j(f)
4256
+ }), [
4257
+ () => J("hidden size-5 items-center justify-center rounded-full hover:bg-black/10 focus-visible:inline-flex group-hover/tag:inline-flex mr-0.5 data-[state=open]:inline-flex", ht() === j(t).id && "inline-flex"),
4258
+ () => m(),
4259
+ () => m()
4260
+ ]);
4261
+ var a = O(i), o = (e) => {
4262
+ Je(e, { class: "size-3 animate-spin" });
4263
+ }, s = (e) => {
4264
+ Ot(e, { class: "size-3" });
4265
+ };
4266
+ A(a, (e) => {
4267
+ j(f) ? e(o) : e(s, -1);
4268
+ }), F(i), V(e, i);
4269
+ },
4270
+ $$slots: { child: !0 }
4271
+ }), Ct(K(i, 2), {
4272
+ align: "start",
4273
+ children: (e, n) => {
4274
+ var r = cs(), i = L(r);
4275
+ St(i, {
4276
+ onSelect: () => y(j(t)),
4277
+ children: (e, t) => {
4278
+ R();
4279
+ var n = M();
4280
+ G((e) => k(n, e), [() => ee()]), V(e, n);
4281
+ },
4282
+ $$slots: { default: !0 }
4283
+ }), St(K(i, 2), {
4284
+ class: "text-destructive focus:text-destructive",
4285
+ onSelect: () => S(j(t)),
4286
+ children: (e, t) => {
4287
+ R();
4288
+ var n = M();
4289
+ G((e) => k(n, e), [() => l()]), V(e, n);
4290
+ },
4291
+ $$slots: { default: !0 }
4292
+ }), V(e, r);
4293
+ },
4294
+ $$slots: { default: !0 }
4295
+ }), V(e, r);
4296
+ },
4297
+ $$slots: { default: !0 }
4298
+ }), F(n), G((e, o) => {
4299
+ z(n, 1, e), I(r, "aria-pressed", o), ze(i, `background-color: ${(j(t).color || "#888888") ?? ""}`), k(a, ` ${j(t).name ?? ""}`);
4300
+ }, [() => Fe(J("group/tag relative inline-flex items-center rounded-full transition-colors", ht() === j(t).id ? "bg-primary text-primary-foreground" : "bg-secondary text-secondary-foreground hover:bg-secondary/80")), () => ht() === j(t).id]), P("click", r, () => vt(ht() === j(t).id ? null : j(t).id, j(t).name)), V(e, n);
4301
+ });
4302
+ var E = K(ce, 2), D = O(E);
4303
+ wt(D, { class: "size-3" });
4304
+ var le = K(D);
4305
+ F(E), F(se), F(ne);
4306
+ var ue = K(ne, 2);
4307
+ {
4308
+ let e = H(() => j(o) ? "edit" : "create");
4309
+ as(ue, {
4310
+ get mode() {
4311
+ return j(e);
4312
+ },
4313
+ get tag() {
4314
+ return j(o);
4315
+ },
4316
+ onCreated: g,
4317
+ onUpdated: _,
4318
+ onClose: b,
4319
+ get open() {
4320
+ return j(a);
4321
+ },
4322
+ set open(e) {
4323
+ B(a, e, !0);
4324
+ }
4325
+ });
4326
+ }
4327
+ var de = K(ue, 2);
4328
+ {
4329
+ let e = H(() => Ce()), t = H(() => v()), n = H(() => l()), r = H(() => x());
4330
+ Gt(de, {
4331
+ get title() {
4332
+ return j(e);
4333
+ },
4334
+ get description() {
4335
+ return j(t);
4336
+ },
4337
+ get confirmLabel() {
4338
+ return j(n);
4339
+ },
4340
+ get cancelLabel() {
4341
+ return j(r);
4342
+ },
4343
+ variant: "destructive",
4344
+ get busy() {
4345
+ return j(f);
4346
+ },
4347
+ onConfirm: te,
4348
+ onCancel: C,
4349
+ get open() {
4350
+ return j(u);
4351
+ },
4352
+ set open(e) {
4353
+ B(u, e, !0);
4354
+ }
4355
+ });
4356
+ }
4357
+ G((e, t, n) => {
4358
+ k(ie, e), I(E, "aria-label", t), k(le, ` ${n ?? ""}`);
4359
+ }, [
4360
+ () => T(),
4361
+ () => c(),
4362
+ () => p()
4363
+ ]), P("click", E, () => {
4364
+ B(o, null), B(a, !0);
4365
+ }), V(e, w), Me();
4366
+ }
4367
+ De(["click"]);
4368
+ //#endregion
4369
+ //#region src/lib/components/sidebar/Sidebar.svelte
4370
+ var fs = N("<div role=\"separator\" tabindex=\"-1\"></div>"), ps = N("<button class=\"absolute -right-3 top-4 z-40 flex size-6 items-center justify-center rounded-full border border-border bg-background shadow-sm hover:bg-accent\"><!></button>"), ms = N("<!> <div class=\"h-px bg-border\"></div>", 1), hs = N("<span class=\"rounded bg-muted px-1.5 py-0.5 text-xs\"> </span>"), gs = N("<a class=\"flex items-center gap-2 rounded-md px-2 py-1.5 text-sm text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground aria-disabled:pointer-events-none aria-disabled:opacity-50\"><!> <span class=\"min-w-0 flex-1 truncate\"> </span> <!></a>"), _s = N("<div class=\"h-px bg-border\"></div> <nav class=\"space-y-1\" aria-label=\"Product navigation\"></nav>", 1), vs = N("<div class=\"flex flex-1 flex-col gap-4 overflow-y-auto p-3\"><!> <!> <!> <!> <!></div>"), ys = N("<span class=\"text-xs\"> </span>"), bs = N("<a class=\"flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground aria-disabled:pointer-events-none aria-disabled:opacity-50\"><!></a>"), xs = N("<div class=\"flex flex-1 flex-col items-center gap-1 pt-14\"><button class=\"flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground\"><!></button> <button class=\"flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground\"><!></button> <button class=\"flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground\"><!></button> <button class=\"flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground\"><!></button> <!></div>"), Ss = N("<div class=\"flex flex-col items-center gap-2\"><button type=\"button\" class=\"flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground\"><!></button> <a href=\"https://docsmint.com\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"flex size-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground\"><img src=\"/favicon.ico\" alt=\"DocsMint\" class=\"size-5 object-contain dark:hidden\"/> <img src=\"/favicon_white.ico\" alt=\"\" aria-hidden=\"true\" class=\"hidden size-5 object-contain dark:block\"/></a></div>"), Cs = N("<div class=\"flex items-center justify-between\"><a href=\"https://docsmint.com\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-xs text-muted-foreground hover:text-foreground transition-colors\"> </a> <button type=\"button\" class=\"flex size-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground\"><!></button></div>"), ws = N("<aside tabindex=\"-1\"><!> <!> <!> <div class=\"border-t border-border p-2\"><!></div></aside> <!>", 1);
4371
+ function Ts(e, t) {
4372
+ Pe(t, !0);
4373
+ let n = U(t, "mobile", 3, !1), r = U(t, "mobileOpen", 3, !1), i = U(t, "element", 15, null), a = "hiai_sidebar_collapsed", o = W(!1), s = W(!1), c = W("all"), l = H(() => !n() && j(o)), d = W(256), f = W(!1), p = we(), m = H(() => Xe(p.navigation, { pathname: Tn.url.pathname }));
4374
+ Ee(() => {
4375
+ if (typeof window < "u") {
4376
+ try {
4377
+ B(o, localStorage.getItem(a) === "1");
4378
+ } catch {}
4379
+ let e = localStorage.getItem("hiai_sidebar_width");
4380
+ if (e) {
4381
+ let t = parseInt(e, 10);
4382
+ !Number.isNaN(t) && t >= 180 && t <= 500 && B(d, t, !0);
4383
+ }
4384
+ }
4385
+ }), Ee(() => {
4386
+ if (j(f)) return window.addEventListener("mousemove", v), window.addEventListener("mouseup", y), () => {
4387
+ window.removeEventListener("mousemove", v), window.removeEventListener("mouseup", y);
4388
+ };
4389
+ });
4390
+ function _(e) {
4391
+ e.preventDefault(), B(f, !0);
4392
+ }
4393
+ function v(e) {
4394
+ B(d, Math.max(180, Math.min(500, e.clientX)), !0);
4395
+ }
4396
+ function y() {
4397
+ B(f, !1), localStorage.setItem("hiai_sidebar_width", j(d).toString());
4398
+ }
4399
+ function x() {
4400
+ wn("/search");
4401
+ }
4402
+ function S(e) {
4403
+ B(c, j(c) === e ? "all" : e, !0), B(o, !1), C();
4404
+ }
4405
+ function ee() {
4406
+ B(o, !j(o)), C(), j(o) && B(c, "all");
4407
+ }
4408
+ function C() {
4409
+ if (!(typeof localStorage > "u")) try {
4410
+ localStorage.setItem(a, j(o) ? "1" : "0");
4411
+ } catch {}
4412
+ }
4413
+ var te = ws(), w = L(te), ne = O(w), re = (e) => {
4414
+ var t = fs();
4415
+ G((e) => z(t, 1, e), [() => Fe(J("absolute right-0 top-0 z-40 h-full w-1 cursor-col-resize hover:bg-primary/50 transition-colors", j(f) && "bg-primary w-1"))]), P("mousedown", t, _), V(e, t);
4416
+ };
4417
+ A(ne, (e) => {
4418
+ !n() && !j(l) && e(re);
4419
+ });
4420
+ var ie = K(ne, 2), oe = (e) => {
4421
+ var t = ps(), n = O(t), r = (e) => {
4422
+ On(e, { class: "size-3.5" });
4423
+ }, i = (e) => {
4424
+ Dn(e, { class: "size-3.5" });
4425
+ };
4426
+ A(n, (e) => {
4427
+ j(l) ? e(r) : e(i, -1);
4428
+ }), F(t), P("click", t, ee), V(e, t);
4429
+ };
4430
+ A(ie, (e) => {
4431
+ n() || e(oe);
4432
+ });
4433
+ var se = K(ie, 2), ce = (e) => {
4434
+ var t = vs(), n = O(t);
4435
+ Mn(n, { class: "mr-5" });
4436
+ var r = K(n, 2), i = (e) => {
4437
+ var t = ms();
4438
+ Wo(L(t), {}), R(2), V(e, t);
4439
+ };
4440
+ A(r, (e) => {
4441
+ j(c) === "all" && e(i);
4442
+ });
4443
+ var a = K(r, 2), o = (e) => {
4444
+ var t = ms();
4445
+ Qo(L(t), {}), R(2), V(e, t);
4446
+ };
4447
+ A(a, (e) => {
4448
+ (j(c) === "all" || j(c) === "recent") && e(o);
4449
+ });
4450
+ var s = K(a, 2), l = (e) => {
4451
+ ds(e, {});
4452
+ };
4453
+ A(s, (e) => {
4454
+ (j(c) === "all" || j(c) === "tags") && e(l);
4455
+ });
4456
+ var u = K(s, 2), d = (e) => {
4457
+ var t = _s(), n = K(L(t), 2);
4458
+ Ae(n, 21, () => j(m), (e) => e.id, (e, t) => {
4459
+ let n = H(() => j(t).icon);
4460
+ var r = gs(), i = O(r), a = (e) => {
4461
+ var t = Oe();
4462
+ ke(L(t), () => j(n), (e, t) => {
4463
+ t(e, { class: "size-4" });
4464
+ }), V(e, t);
4465
+ };
4466
+ A(i, (e) => {
4467
+ j(n) && e(a);
4468
+ });
4469
+ var o = K(i, 2), s = O(o, !0);
4470
+ F(o);
4471
+ var c = K(o, 2), l = (e) => {
4472
+ var n = hs(), r = O(n, !0);
4473
+ F(n), G(() => k(r, j(t).badge)), V(e, n);
4474
+ };
4475
+ A(c, (e) => {
4476
+ j(t).badge !== void 0 && e(l);
4477
+ }), F(r), G(() => {
4478
+ I(r, "href", j(t).href ?? "#"), I(r, "aria-disabled", j(t).disabled), k(s, j(t).label);
4479
+ }), V(e, r);
4480
+ }), F(n), V(e, t);
4481
+ };
4482
+ A(u, (e) => {
4483
+ j(c) === "all" && j(m).length > 0 && e(d);
4484
+ }), F(t), V(e, t);
4485
+ }, E = (e) => {
4486
+ var t = xs(), n = O(t);
4487
+ pt(O(n), { class: "size-4" }), F(n);
4488
+ var r = K(n, 2);
4489
+ $t(O(r), { class: "size-4" }), F(r);
4490
+ var i = K(r, 2);
4491
+ En(O(i), { class: "size-4" }), F(i);
4492
+ var a = K(i, 2);
4493
+ en(O(a), { class: "size-4" }), F(a), Ae(K(a, 2), 17, () => j(m), (e) => e.id, (e, t) => {
4494
+ let n = H(() => j(t).icon);
4495
+ var r = bs(), i = O(r), a = (e) => {
4496
+ var t = Oe();
4497
+ ke(L(t), () => j(n), (e, t) => {
4498
+ t(e, { class: "size-4" });
4499
+ }), V(e, t);
4500
+ }, o = (e) => {
4501
+ var n = ys(), r = O(n, !0);
4502
+ F(n), G((e) => k(r, e), [() => j(t).label.slice(0, 1)]), V(e, n);
4503
+ };
4504
+ A(i, (e) => {
4505
+ j(n) ? e(a) : e(o, -1);
4506
+ }), F(r), G(() => {
4507
+ I(r, "href", j(t).href ?? "#"), I(r, "aria-disabled", j(t).disabled), I(r, "title", j(t).label), I(r, "aria-label", j(t).label);
4508
+ }), V(e, r);
4509
+ }), F(t), G((e, t, o, s, c, l, u, d) => {
4510
+ I(n, "title", e), I(n, "aria-label", t), I(r, "title", o), I(r, "aria-label", s), I(i, "title", c), I(i, "aria-label", l), I(a, "title", u), I(a, "aria-label", d);
4511
+ }, [
4512
+ () => h(),
4513
+ () => h(),
4514
+ () => u(),
4515
+ () => u(),
4516
+ () => g(),
4517
+ () => g(),
4518
+ () => T(),
4519
+ () => T()
4520
+ ]), P("click", n, () => wn("/")), P("click", r, x), P("click", i, () => S("recent")), P("click", a, () => S("tags")), V(e, t);
4521
+ };
4522
+ A(se, (e) => {
4523
+ j(l) ? e(E, -1) : e(ce);
4524
+ });
4525
+ var D = K(se, 2), le = O(D), ue = (e) => {
4526
+ var t = Ss(), n = O(t);
4527
+ kn(O(n), { class: "size-4" }), F(n);
4528
+ var r = K(n, 2);
4529
+ F(t), G((e, t, i, a) => {
4530
+ I(n, "title", e), I(n, "aria-label", t), I(r, "title", i), I(r, "aria-label", a);
4531
+ }, [
4532
+ () => ae(),
4533
+ () => ae(),
4534
+ () => b(),
4535
+ () => b()
4536
+ ]), P("click", n, () => {
4537
+ B(s, !0);
4538
+ }), V(e, t);
4539
+ }, de = (e) => {
4540
+ var t = Cs(), n = O(t), r = O(n, !0);
4541
+ F(n);
4542
+ var i = K(n, 2);
4543
+ kn(O(i), { class: "size-4" }), F(i), F(t), G((e, t, a, o) => {
4544
+ I(n, "title", e), k(r, t), I(i, "title", a), I(i, "aria-label", o);
4545
+ }, [
4546
+ () => b(),
4547
+ () => b(),
4548
+ () => ae(),
4549
+ () => ae()
4550
+ ]), P("click", i, () => {
4551
+ B(s, !0);
4552
+ }), V(e, t);
4553
+ };
4554
+ A(le, (e) => {
4555
+ j(l) ? e(ue) : e(de, -1);
4556
+ }), F(D), F(w), Ve(w, (e) => i(e), () => i()), Qt(K(w, 2), {
4557
+ get open() {
4558
+ return j(s);
4559
+ },
4560
+ set open(e) {
4561
+ B(s, e, !0);
4562
+ }
4563
+ }), G((e) => {
4564
+ I(w, "id", n() ? "mobile-navigation" : void 0), I(w, "role", n() && r() ? "dialog" : void 0), I(w, "aria-modal", n() && r() ? "true" : void 0), I(w, "aria-label", n() ? "Navigation" : void 0), I(w, "aria-hidden", n() && !r() ? "true" : void 0), w.inert = n() && !r(), z(w, 1, e), ze(w, n() ? "padding-top: env(safe-area-inset-top);" : j(l) ? "width: 48px;" : `width: ${j(d)}px;`);
4565
+ }, [() => Fe(J("flex flex-col border-r border-border bg-card", n() && "fixed inset-y-0 left-0 z-50 h-full w-[80%] max-w-[320px] shadow-xl transition-transform duration-300 ease-out", n() && (r() ? "translate-x-0" : "-translate-x-full"), !n() && "relative h-screen", !n() && !j(f) && "transition-[width] duration-200"))]), V(e, te), Me();
4566
+ }
4567
+ De(["mousedown", "click"]);
4568
+ //#endregion
4569
+ export { Ts as Sidebar };