@hiai-gg/docsmint 0.3.7 → 0.3.9

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 (210) hide show
  1. package/backend/src/lib/logger.ts +45 -15
  2. package/dist/backend/index.js +238 -150
  3. package/dist/client.d.ts +11 -0
  4. package/dist/client.js +9 -0
  5. package/dist/frontend/CategoryDialog-CxVyaBV5.js +611 -0
  6. package/dist/frontend/ConfirmDialog-NFGXRa3E.js +214 -0
  7. package/dist/frontend/CreateSnapshotDialog-BDgFTeFn.js +216 -0
  8. package/dist/frontend/DatePicker-BZRBluzF.js +256 -0
  9. package/dist/frontend/DeleteDialog-CvAr2WPu.js +174 -0
  10. package/dist/frontend/FolderNode-C6FJv99G.js +298 -0
  11. package/dist/frontend/FolderTreeSelector-CyB8y2Sm.js +103 -0
  12. package/dist/frontend/HiaiDocsExtensionProvider-DHWLzRUu.js +11 -0
  13. package/dist/frontend/Icon-CooFj4Ee.js +64 -0
  14. package/dist/frontend/SettingsDialog-BHh68rTB.js +1016 -0
  15. package/dist/frontend/ShareDialog-BUOkYSlw.js +165 -0
  16. package/dist/frontend/Sidebar-Cu3JrKDC.js +2021 -0
  17. package/dist/frontend/TagCreateDialog-B9YZBNHi.js +260 -0
  18. package/dist/frontend/api/settings.js +1 -1
  19. package/dist/frontend/app-shell.d.ts +8 -0
  20. package/dist/frontend/app-shell.js +291 -0
  21. package/dist/frontend/{bundle-mjs-CP6Owz-8.js → bundle-mjs-DllmqUxV.js} +583 -568
  22. package/dist/frontend/camera-iKXDOOWT.js +29 -0
  23. package/dist/frontend/check-D-UuvBuh.js +25 -0
  24. package/dist/frontend/chevron-down-CiPtYyFh.js +25 -0
  25. package/dist/frontend/circle-check-tSPE1V6t.js +29 -0
  26. package/dist/frontend/clock-DJHbHZb8.js +29 -0
  27. package/dist/frontend/components/category-dialog.js +1 -1
  28. package/dist/frontend/components/create-snapshot-dialog.js +1 -1
  29. package/dist/frontend/components/delete-dialog.js +1 -1
  30. package/dist/frontend/components/editor/document-editor.js +1367 -1356
  31. package/dist/frontend/components/editor/document-title.js +25 -25
  32. package/dist/frontend/components/editor/markdown-toggle.js +45 -45
  33. package/dist/frontend/components/folder-node.js +1 -1
  34. package/dist/frontend/components/folder-tree-selector.js +1 -1
  35. package/dist/frontend/components/save-as-dialog.js +169 -151
  36. package/dist/frontend/components/settings.js +1 -1
  37. package/dist/frontend/components/share-dialog.js +1 -1
  38. package/dist/frontend/components/sidebar.js +2 -2013
  39. package/dist/frontend/components/tag-create-dialog.js +1 -1
  40. package/dist/frontend/components/version-history.js +188 -187
  41. package/dist/frontend/confirm-dialog-C4jTRbiS.js +250 -0
  42. package/dist/frontend/copy-GppwRMjX.js +32 -0
  43. package/dist/frontend/dashboard.js +1187 -1155
  44. package/dist/frontend/dialog-Bevp9mmM.js +213 -0
  45. package/dist/frontend/{loader-circle-Bk-WFz9g.js → dist-C3857Spp.js} +93 -92
  46. package/dist/frontend/doc-tabs.js +2 -2
  47. package/dist/frontend/dropdown-menu-CRSby3e9.js +530 -0
  48. package/dist/frontend/extension.js +2 -11
  49. package/dist/frontend/{floating-layer-anchor-C51M4l6v.js → floating-layer-anchor-BDs7vO-M.js} +1414 -1412
  50. package/dist/frontend/folder-DeWhnD7O.js +45 -0
  51. package/dist/frontend/folder-refresh.js +1 -1
  52. package/dist/frontend/frontend.css +1 -1
  53. package/dist/frontend/i18n.js +2 -2
  54. package/dist/frontend/input-BWlOML_m.js +23 -0
  55. package/dist/frontend/keyboard.js +1 -1
  56. package/dist/frontend/{keyboard.svelte-D7H8DihC.js → keyboard.svelte-CApmX0vl.js} +53 -53
  57. package/dist/frontend/label-C2HfJNQ2.js +30 -0
  58. package/dist/frontend/{messages-BpYaLbzE.js → messages-C5Q890i2.js} +8 -8
  59. package/dist/frontend/rotate-ccw-B4Q7brmV.js +25 -0
  60. package/dist/frontend/search.js +673 -647
  61. package/dist/frontend/select-value-GXwx90Pr.js +1446 -0
  62. package/dist/frontend/{settings-blyobazp.js → settings-DSrUl4hW.js} +9 -9
  63. package/dist/frontend/shared-document.js +94 -94
  64. package/dist/frontend/subfolders-refresh-store.svelte-B2dKVmgz.js +65 -0
  65. package/dist/frontend/tag-HxRazVN_.js +54 -0
  66. package/dist/frontend/tag-store.svelte-CqrUXo0o.js +29 -0
  67. package/dist/frontend/textarea-DOAE-h42.js +23 -0
  68. package/dist/frontend/theme.js +1 -1
  69. package/dist/frontend/theme.svelte-DKfCy12k.js +49 -0
  70. package/dist/frontend/{utils-D8kmM3ub.js → utils-BPDRytUU.js} +2 -3
  71. package/dist/frontend/{utils-C0OW2678.js → utils-DrfHTcei.js} +2 -3
  72. package/dist/frontend/utils.js +1 -1
  73. package/dist/frontend/x-CzBsnJ2x.js +25 -0
  74. package/dist/frontend-ssr/api/attachments.js +2 -0
  75. package/dist/frontend-ssr/api/categories.js +2 -0
  76. package/dist/frontend-ssr/api/documents.js +2 -0
  77. package/dist/frontend-ssr/api/folders.js +2 -0
  78. package/dist/frontend-ssr/api/settings.js +2 -0
  79. package/dist/frontend-ssr/api/share.js +2 -0
  80. package/dist/frontend-ssr/api/tags.js +2 -0
  81. package/dist/frontend-ssr/app-shell.js +294 -0
  82. package/dist/frontend-ssr/assets/CategoryDialog-BcGW8-Kf.js +584 -0
  83. package/dist/frontend-ssr/assets/ConfirmDialog-DjMFKc0V.js +420 -0
  84. package/dist/frontend-ssr/assets/CreateSnapshotDialog-1bROJ-Rn.js +214 -0
  85. package/dist/frontend-ssr/assets/DatePicker-B1ML8OVz.js +312 -0
  86. package/dist/frontend-ssr/assets/DeleteDialog-tBYaP0L3.js +154 -0
  87. package/dist/frontend-ssr/assets/FolderNode-BZ0Q2QUS.js +171 -0
  88. package/dist/frontend-ssr/assets/FolderTreeSelector-DZNZ2oI6.js +147 -0
  89. package/dist/frontend-ssr/assets/HiaiDocsExtensionProvider-DAM-lX4R.js +13 -0
  90. package/dist/frontend-ssr/assets/Icon-B0Zqppjo.js +231 -0
  91. package/dist/frontend-ssr/assets/SettingsDialog-B8L_YqNA.js +1107 -0
  92. package/dist/frontend-ssr/assets/ShareDialog-vMvJLRfn.js +54 -0
  93. package/dist/frontend-ssr/assets/Sidebar-EHuUAx3W.js +2033 -0
  94. package/dist/frontend-ssr/assets/TagCreateDialog-B0DPEfmQ.js +264 -0
  95. package/dist/frontend-ssr/assets/api-keys-DFqX39MT.js +35 -0
  96. package/dist/frontend-ssr/assets/attachments-CWBxE3Vz.js +85 -0
  97. package/dist/frontend-ssr/assets/auth-client-x26kqY8Z.js +1286 -0
  98. package/dist/frontend-ssr/assets/camera-CdxscTw-.js +84 -0
  99. package/dist/frontend-ssr/assets/categories-AOqgcsn4.js +75 -0
  100. package/dist/frontend-ssr/assets/chevron-down-CSSNGNh_.js +80 -0
  101. package/dist/frontend-ssr/assets/chevron-right-B4p7Sk6X.js +80 -0
  102. package/dist/frontend-ssr/assets/circle-check-CI1v4vYh.js +84 -0
  103. package/dist/frontend-ssr/assets/client-DZMkDkDn.js +129 -0
  104. package/dist/frontend-ssr/assets/clipboard-CXOaoz2W.js +30 -0
  105. package/dist/frontend-ssr/assets/clock-IL-eX2di.js +84 -0
  106. package/dist/frontend-ssr/assets/confirm-dialog-BCthVwUY.js +429 -0
  107. package/dist/frontend-ssr/assets/context-jz1GGEUi.js +45 -0
  108. package/dist/frontend-ssr/assets/copy-CjV57nGQ.js +87 -0
  109. package/dist/frontend-ssr/assets/db-CnxeO66n.js +65 -0
  110. package/dist/frontend-ssr/assets/dialog-BOV1u6zP.js +157 -0
  111. package/dist/frontend-ssr/assets/dndzone-DMvTO_Jz.js +2114 -0
  112. package/dist/frontend-ssr/assets/document-drop-coordinator-CEaYACsC.js +109 -0
  113. package/dist/frontend-ssr/assets/documents-BnOTRdTY.js +108 -0
  114. package/dist/frontend-ssr/assets/dropdown-menu-Bj5rbqbB.js +555 -0
  115. package/dist/frontend-ssr/assets/editorExtensions-DUzwndMy.js +186 -0
  116. package/dist/frontend-ssr/assets/floating-layer-anchor-CYIE8Oj6.js +6114 -0
  117. package/dist/frontend-ssr/assets/folder-DChhG7qN.js +80 -0
  118. package/dist/frontend-ssr/assets/folders-CTfbS24J.js +127 -0
  119. package/dist/frontend-ssr/assets/identity-B3uHoDtf.js +99 -0
  120. package/dist/frontend-ssr/assets/input-DezGsU3y.js +19 -0
  121. package/dist/frontend-ssr/assets/keyboard.svelte-BgF47N3L.js +174 -0
  122. package/dist/frontend-ssr/assets/label-Bj8-TfFN.js +21 -0
  123. package/dist/frontend-ssr/assets/loader-circle-DZsrZ-er.js +80 -0
  124. package/dist/frontend-ssr/assets/markdown-CjqvGi5W.js +20 -0
  125. package/dist/frontend-ssr/assets/messages-CvqpZNJe.js +11125 -0
  126. package/dist/frontend-ssr/assets/resolve-BqHozBXl.js +32 -0
  127. package/dist/frontend-ssr/assets/rotate-ccw-BlgWwaiq.js +80 -0
  128. package/dist/frontend-ssr/assets/select-value-6Lk0ToYd.js +1526 -0
  129. package/dist/frontend-ssr/assets/settings-Bk5Hk9Vq.js +64 -0
  130. package/dist/frontend-ssr/assets/share-BTBJelxA.js +30 -0
  131. package/dist/frontend-ssr/assets/subfolders-refresh-store.svelte-DAh4gT16.js +77 -0
  132. package/dist/frontend-ssr/assets/tag-GZEuGWk1.js +166 -0
  133. package/dist/frontend-ssr/assets/tag-store.svelte-DPodKj6Z.js +21 -0
  134. package/dist/frontend-ssr/assets/tags-BId2wdYd.js +49 -0
  135. package/dist/frontend-ssr/assets/textarea-Dev-qSEc.js +21 -0
  136. package/dist/frontend-ssr/assets/theme.svelte-Co0-ssaD.js +67 -0
  137. package/dist/frontend-ssr/assets/utils-DtlPPXpJ.js +9 -0
  138. package/dist/frontend-ssr/assets/utils-DvZnctjz.js +23 -0
  139. package/dist/frontend-ssr/collaboration.js +39 -0
  140. package/dist/frontend-ssr/components/category-dialog.js +2 -0
  141. package/dist/frontend-ssr/components/create-snapshot-dialog.js +2 -0
  142. package/dist/frontend-ssr/components/delete-dialog.js +2 -0
  143. package/dist/frontend-ssr/components/editor/document-editor.js +2499 -0
  144. package/dist/frontend-ssr/components/editor/document-title.js +11 -0
  145. package/dist/frontend-ssr/components/editor/docx-serializer.js +186 -0
  146. package/dist/frontend-ssr/components/editor/extensions.js +2 -0
  147. package/dist/frontend-ssr/components/editor/markdown-toggle.js +20 -0
  148. package/dist/frontend-ssr/components/editor/markdown.js +2 -0
  149. package/dist/frontend-ssr/components/folder-node.js +2 -0
  150. package/dist/frontend-ssr/components/folder-tree-selector.js +2 -0
  151. package/dist/frontend-ssr/components/save-as-dialog.js +280 -0
  152. package/dist/frontend-ssr/components/settings.js +2 -0
  153. package/dist/frontend-ssr/components/share-dialog.js +2 -0
  154. package/dist/frontend-ssr/components/sidebar.js +2 -0
  155. package/dist/frontend-ssr/components/tag-create-dialog.js +2 -0
  156. package/dist/frontend-ssr/components/version-history.js +370 -0
  157. package/dist/frontend-ssr/dashboard.js +2542 -0
  158. package/dist/frontend-ssr/doc-tabs.js +23 -0
  159. package/dist/frontend-ssr/document-drop-coordinator.js +2 -0
  160. package/dist/frontend-ssr/extension.js +2 -0
  161. package/dist/frontend-ssr/folder-refresh.js +2 -0
  162. package/dist/frontend-ssr/i18n.js +10 -0
  163. package/dist/frontend-ssr/keyboard.js +2 -0
  164. package/dist/frontend-ssr/offline/identity.js +2 -0
  165. package/dist/frontend-ssr/search.js +332 -0
  166. package/dist/frontend-ssr/shared-document.js +273 -0
  167. package/dist/frontend-ssr/theme.js +9 -0
  168. package/dist/frontend-ssr/types.js +1 -0
  169. package/dist/frontend-ssr/utils/clipboard.js +2 -0
  170. package/dist/frontend-ssr/utils/dndzone.js +2 -0
  171. package/dist/frontend-ssr/utils.js +2 -0
  172. package/package.json +28 -1
  173. package/packages/cli/src/index.ts +1 -1
  174. package/packages/db/src/schema.ts +3 -0
  175. package/packages/mcp-server/src/index.ts +1 -1
  176. package/dist/frontend/CategoryDialog--rIE7FrH.js +0 -580
  177. package/dist/frontend/ConfirmDialog-Cpzyb55f.js +0 -212
  178. package/dist/frontend/CreateSnapshotDialog-CmkV-n2A.js +0 -216
  179. package/dist/frontend/DatePicker-Byynca7V.js +0 -257
  180. package/dist/frontend/DeleteDialog-ap6nOywZ.js +0 -174
  181. package/dist/frontend/FolderDialog-DmN_trV0.js +0 -247
  182. package/dist/frontend/FolderNode-C4B8a2fd.js +0 -317
  183. package/dist/frontend/FolderTreeSelector-D6ijiZTA.js +0 -100
  184. package/dist/frontend/Icon-DtNo0N1U.js +0 -64
  185. package/dist/frontend/SettingsDialog-2kTaTXAs.js +0 -992
  186. package/dist/frontend/ShareDialog-BBDGNF5n.js +0 -165
  187. package/dist/frontend/TagCreateDialog-DiLZnJo4.js +0 -258
  188. package/dist/frontend/camera-B7dAOd4s.js +0 -28
  189. package/dist/frontend/check-CDwRlG9T.js +0 -24
  190. package/dist/frontend/chevron-down-B7ZrjUmT.js +0 -24
  191. package/dist/frontend/circle-check-CDqeMB2d.js +0 -28
  192. package/dist/frontend/client-Bc5Fzx40.js +0 -2785
  193. package/dist/frontend/clock-Ck5Sn-Zl.js +0 -28
  194. package/dist/frontend/clsx-nmtDPO_P.js +0 -16
  195. package/dist/frontend/copy-CMAA6GP0.js +0 -31
  196. package/dist/frontend/dialog-BDkiG42a.js +0 -213
  197. package/dist/frontend/disclose-version-5I57E3LD.js +0 -3
  198. package/dist/frontend/ellipsis-vertical-BBuPldbW.js +0 -519
  199. package/dist/frontend/folder-TQjKY4yn.js +0 -44
  200. package/dist/frontend/index-client-jobkrWVL.js +0 -86
  201. package/dist/frontend/input-CBI6p4Xl.js +0 -23
  202. package/dist/frontend/label-C-GkhEp4.js +0 -30
  203. package/dist/frontend/rotate-ccw-CleZtJ5D.js +0 -24
  204. package/dist/frontend/select-value-CvrWRkXW.js +0 -1436
  205. package/dist/frontend/subfolders-refresh-store.svelte-BsheoQma.js +0 -65
  206. package/dist/frontend/tag-Dx3SmucJ.js +0 -53
  207. package/dist/frontend/tag-store.svelte-CIaF4sdZ.js +0 -29
  208. package/dist/frontend/textarea-Dfp78XlL.js +0 -23
  209. package/dist/frontend/theme.svelte-CROg1Hi5.js +0 -49
  210. package/dist/frontend/x-DaTdeDXv.js +0 -24
@@ -1,2013 +1,2 @@
1
- import "../disclose-version-5I57E3LD.js";
2
- import { $ as e, A as t, E as n, F as r, I as i, K as a, L as o, M as s, Q as c, R as l, S as u, V as d, _ as f, _t as p, at as m, b as h, c as g, ct as _, d as v, dt as y, et as b, ft as x, g as S, gt as C, h as w, i as T, j as E, k as D, l as ee, m as O, n as k, o as A, q as j, rt as M, t as N, tt as P, u as F, vt as I, w as te, x as L } from "../client-Bc5Fzx40.js";
3
- import { t as ne } from "../loader-circle-Bk-WFz9g.js";
4
- import { a as re, i as ie, n as ae, o as oe, r as se, t as ce } from "../dialog-BDkiG42a.js";
5
- import { a as le, i as R, n as ue, o as de, t as fe } from "../ellipsis-vertical-BBuPldbW.js";
6
- import { t as pe } from "../label-C-GkhEp4.js";
7
- import { t as z } from "../Icon-DtNo0N1U.js";
8
- import { t as me } from "../check-CDwRlG9T.js";
9
- import { t as B } from "../chevron-down-B7ZrjUmT.js";
10
- import { n as V, t as he } from "../folder-TQjKY4yn.js";
11
- import { t as ge } from "../clock-Ck5Sn-Zl.js";
12
- import { t as _e } from "../copy-CMAA6GP0.js";
13
- import { n as ve, r as H, t as ye } from "../FolderDialog-DmN_trV0.js";
14
- import { t as be } from "../SettingsDialog-2kTaTXAs.js";
15
- import { n as U, t as W } from "../tag-Dx3SmucJ.js";
16
- import { t as xe } from "../x-DaTdeDXv.js";
17
- import { t as Se } from "../ConfirmDialog-Cpzyb55f.js";
18
- import { n as Ce } from "../client-GbtOH90i.js";
19
- import { c as we, i as Te, r as Ee, s as De, t as Oe } from "../documents-BsDkvzCm.js";
20
- import { c as ke, r as Ae, s as je, t as Me } from "../folders-CTuV_JtU.js";
21
- import { $n as Ne, C as Pe, Ci as Fe, Di as Ie, E as G, Ei as Le, Ft as Re, Hn as ze, Jn as Be, Jr as Ve, Mi as He, Pi as Ue, Qr as We, Si as Ge, Ti as Ke, Un as qe, Ut as Je, Vt as Ye, Wt as Xe, Xr as Ze, Yr as Qe, Zr as $e, ci as et, di as tt, er as nt, f as rt, gi as it, ir as at, ki as ot, li as st, nr as ct, pi as lt, qn as ut, si as dt, ti as ft, tr as pt, wi as K, wr as mt } from "../messages-BpYaLbzE.js";
22
- import { i as ht, r as gt, s as _t } from "../categories-izQovv2w.js";
23
- import { a as vt, c as yt, f as bt, i as xt, n as St, o as Ct, p as wt, r as Tt, s as Et, t as Dt, u as Ot } from "../subfolders-refresh-store.svelte-BsheoQma.js";
24
- import { t as kt } from "../clipboard-Cgzxc0_R.js";
25
- import { t as q } from "../utils-C0OW2678.js";
26
- import { t as At } from "../input-CBI6p4Xl.js";
27
- import { t as jt } from "../ShareDialog-BBDGNF5n.js";
28
- import { t as Mt } from "../context-BMD6XTPe.js";
29
- import { t as Nt } from "../resolve-BG4HgzpN.js";
30
- import { a as Pt, i as Ft, n as It, o as Lt, s as Rt, t as zt } from "../tag-store.svelte-CIaF4sdZ.js";
31
- import { i as Bt, o as Vt } from "../tags-CtCV0Djo.js";
32
- import { t as Ht } from "../DeleteDialog-ap6nOywZ.js";
33
- import { t as Ut } from "../CategoryDialog--rIE7FrH.js";
34
- import { n as Wt, t as Gt } from "../FolderNode-C4B8a2fd.js";
35
- import { n as Kt, t as qt } from "../dndzone-BzsOINtP.js";
36
- import { n as Jt, t as Yt } from "../document-drop-coordinator-C4xHMjwC.js";
37
- import { t as Xt } from "../TagCreateDialog-DiLZnJo4.js";
38
- import { onDestroy as Zt, onMount as Qt, untrack as $t } from "svelte";
39
- import { goto as en } from "$app/navigation";
40
- import { page as J } from "$app/state";
41
- //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/panel-left-close.svelte
42
- function tn(n, r) {
43
- let i = N(r, [
44
- "children",
45
- "$$slots",
46
- "$$events",
47
- "$$legacy"
48
- ]), a = [
49
- ["rect", {
50
- width: "18",
51
- height: "18",
52
- x: "3",
53
- y: "3",
54
- rx: "2"
55
- }],
56
- ["path", { d: "M9 3v18" }],
57
- ["path", { d: "m16 15-3-3 3-3" }]
58
- ];
59
- z(n, T({ name: "panel-left-close" }, () => i, {
60
- get iconNode() {
61
- return a;
62
- },
63
- children: (n, i) => {
64
- var a = E();
65
- u(e(a), r, "default", {}, null), t(n, a);
66
- },
67
- $$slots: { default: !0 }
68
- }));
69
- }
70
- //#endregion
71
- //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/panel-left-open.svelte
72
- function nn(n, r) {
73
- let i = N(r, [
74
- "children",
75
- "$$slots",
76
- "$$events",
77
- "$$legacy"
78
- ]), a = [
79
- ["rect", {
80
- width: "18",
81
- height: "18",
82
- x: "3",
83
- y: "3",
84
- rx: "2"
85
- }],
86
- ["path", { d: "M9 3v18" }],
87
- ["path", { d: "m14 9 3 3-3 3" }]
88
- ];
89
- z(n, T({ name: "panel-left-open" }, () => i, {
90
- get iconNode() {
91
- return a;
92
- },
93
- children: (n, i) => {
94
- var a = E();
95
- u(e(a), r, "default", {}, null), t(n, a);
96
- },
97
- $$slots: { default: !0 }
98
- }));
99
- }
100
- //#endregion
101
- //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/settings.svelte
102
- function rn(n, r) {
103
- let i = N(r, [
104
- "children",
105
- "$$slots",
106
- "$$events",
107
- "$$legacy"
108
- ]), a = [["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", {
109
- cx: "12",
110
- cy: "12",
111
- r: "3"
112
- }]];
113
- z(n, T({ name: "settings" }, () => i, {
114
- get iconNode() {
115
- return a;
116
- },
117
- children: (n, i) => {
118
- var a = E();
119
- u(e(a), r, "default", {}, null), t(n, a);
120
- },
121
- $$slots: { default: !0 }
122
- }));
123
- }
124
- //#endregion
125
- //#region src/lib/components/SearchBar.svelte
126
- var an = s("<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>"), on = s("<div><!> <input type=\"text\"/> <!></div>");
127
- function sn(e, r) {
128
- x(r, !0);
129
- let i = m(""), s = m(null);
130
- function u() {
131
- M(i, ""), d(s)?.focus();
132
- }
133
- var f = on(), h = c(f);
134
- U(h, { class: "pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground" });
135
- var _ = b(h, 2);
136
- F(_), A(_, (e) => M(s, e), () => d(s));
137
- var C = b(_, 2), T = (e) => {
138
- var n = an();
139
- xe(c(n), { class: "size-3.5" }), p(n), a((e, t) => {
140
- v(n, "aria-label", e), v(n, "title", t);
141
- }, [() => Re(), () => Re()]), o("click", n, u), t(e, n);
142
- };
143
- n(C, (e) => {
144
- d(i) && e(T);
145
- }), p(f), a((e, t, n) => {
146
- w(f, 1, e), v(_, "placeholder", t), w(_, 1, n);
147
- }, [
148
- () => S(q("relative", r.class)),
149
- () => Ve(),
150
- () => S(q("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", d(i) ? "pr-9" : "pr-3"))
151
- ]), o("keydown", _, (e) => {
152
- e.key === "Enter" && d(i).trim() && en(`/search?q=${encodeURIComponent(d(i).trim())}`);
153
- }), l("focus", _, () => {}), g(_, () => d(i), (e) => M(i, e)), t(e, f), y();
154
- }
155
- i(["keydown", "click"]);
156
- //#endregion
157
- //#region src/lib/components/sidebar/FolderTree.svelte
158
- var cn = (e, n = I) => {
159
- var r = pn(), i = b(c(r), 2);
160
- H(i, { class: "size-4 shrink-0 text-muted-foreground" });
161
- var o = b(i, 2), s = c(o, !0);
162
- p(o), p(r), a((e) => {
163
- v(r, "href", `/docs/${n().id}`), w(r, 1, e), D(s, n().title);
164
- }, [() => S(q("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", J.params.id === n().id && "bg-accent text-accent-foreground font-medium"))]), t(e, r);
165
- }, ln = s("<button><!></button>"), un = s("<!> <!> <!>", 1), dn = s("<!> <!>", 1), fn = s("<button type=\"button\"><!></button>"), pn = s("<a data-sveltekit-noscroll=\"\"><span class=\"w-3.5 shrink-0\"></span> <!> <span class=\"min-w-0 truncate\"> </span></a>"), mn = s("<p class=\"px-2 text-xs text-destructive\"> </p>"), hn = s("<!> <!> <!> <!> <!> <!>", 1), gn = s("<div><!></div>"), _n = s("<div class=\"group/doc flex w-full min-w-0 items-center gap-1\"><!> <!> <!></div>"), vn = s("<div class=\"ml-0.5 space-y-0.5 border-l border-border pl-0.5\"><div></div> <div></div></div>"), yn = s("<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>"), bn = s("<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>"), xn = s("<p id=\"rename-input-error\" class=\"text-xs text-destructive\" role=\"alert\"> </p>"), Sn = s("<!> <form class=\"space-y-4\"><div class=\"space-y-2\"><!> <!> <!></div></form> <!>", 1), Cn = s("<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);
166
- function wn(i, s) {
167
- x(s, !0);
168
- let u = (n, i = I) => {
169
- de(n, {
170
- children: (n, o) => {
171
- var s = dn(), l = e(s);
172
- ue(l, {
173
- child: (e, n) => {
174
- let r = () => (n?.()).props;
175
- var i = ln(), a = (e) => {
176
- e.preventDefault(), e.stopPropagation();
177
- };
178
- ee(i, (e, t) => ({
179
- ...r(),
180
- type: "button",
181
- 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",
182
- "aria-label": e,
183
- title: t,
184
- onclick: a
185
- }), [() => Xe(), () => Xe()]), fe(c(i), { class: "size-3.5" }), p(i), t(e, i);
186
- },
187
- $$slots: { child: !0 }
188
- }), le(b(l, 2), {
189
- align: "end",
190
- children: (n, o) => {
191
- var s = un(), c = e(s);
192
- R(c, {
193
- onSelect: () => Er("doc", i().id, i().title),
194
- children: (e, n) => {
195
- C();
196
- var i = r();
197
- a((e) => D(i, e), [() => lt()]), t(e, i);
198
- },
199
- $$slots: { default: !0 }
200
- });
201
- var l = b(c, 2);
202
- R(l, {
203
- onSelect: () => Ar(i().id, i().title),
204
- children: (e, n) => {
205
- C();
206
- var i = r();
207
- a((e) => D(i, e), [() => Fe()]), t(e, i);
208
- },
209
- $$slots: { default: !0 }
210
- }), R(b(l, 2), {
211
- class: "text-destructive focus:text-destructive",
212
- onSelect: () => kr("doc", i().id, i().title),
213
- children: (e, n) => {
214
- C();
215
- var i = r();
216
- a((e) => D(i, e), [() => nt()]), t(e, i);
217
- },
218
- $$slots: { default: !0 }
219
- }), t(n, s);
220
- },
221
- $$slots: { default: !0 }
222
- }), t(n, s);
223
- },
224
- $$slots: { default: !0 }
225
- });
226
- }, g = (e, r = I) => {
227
- var i = fn(), s = c(i), l = (e) => {
228
- ne(e, { class: "size-3.5 animate-spin" });
229
- }, u = (e) => {
230
- me(e, { class: "size-3.5" });
231
- }, f = (e) => {
232
- _e(e, { class: "size-3.5" });
233
- };
234
- n(s, (e) => {
235
- d(jn) === r().id ? e(l) : d(An) === r().id ? e(u, 1) : e(f, -1);
236
- }), p(i), a((e, t) => {
237
- w(i, 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 ${d(An) === r().id || d(jn) === r().id ? "opacity-100" : ""}`), v(i, "aria-label", e), v(i, "title", t), i.disabled = d(jn) === r().id;
238
- }, [() => Je(), () => Je()]), o("click", i, (e) => {
239
- e.preventDefault(), e.stopPropagation(), Nn(r().id);
240
- }), t(e, i);
241
- }, T = (e, t = I) => {
242
- Gt(e, {
243
- get folder() {
244
- return t();
245
- },
246
- get expandedFolderIds() {
247
- return d(F);
248
- },
249
- onToggleFolder: Zn,
250
- onRename: (e, t) => Er("folder", e, t),
251
- onDelete: (e, t) => kr("folder", e, t),
252
- onCreateSubfolder: nr,
253
- onShare: jr,
254
- get dragDisabled() {
255
- return d(U);
256
- },
257
- get isDraggingGlobal() {
258
- return d(W);
259
- },
260
- get isDraggingFolder() {
261
- return d(xe);
262
- },
263
- get isDraggingDoc() {
264
- return d(Se);
265
- },
266
- get draggedDocId() {
267
- return d(G);
268
- },
269
- onScheduleFolderExpand: Fn,
270
- onClearExpandTimer: Pn,
271
- onConsiderDocs: ar,
272
- onFinalizeDocs: or,
273
- onConsiderSubfolders: mr,
274
- onFinalizeSubfolders: hr,
275
- onDropOnFolder: ur,
276
- get folderDocsMap() {
277
- return d(Qe);
278
- },
279
- folderFlipDurationMs: E,
280
- documentFlipDurationMs: O,
281
- get docRowInner() {
282
- return cn;
283
- },
284
- get copyButton() {
285
- return g;
286
- },
287
- get docMenu() {
288
- return u;
289
- }
290
- });
291
- }, E = 200, O = 80, k = m(P([])), A = m(P([])), N = m(P([])), F = m(P(/* @__PURE__ */ new Set())), L = m(P(/* @__PURE__ */ new Set())), z = m(!0), he = m(null), ge = m(null), H = null;
292
- function be(e) {
293
- M(ge, e, !0), H &&= (clearTimeout(H), null), e !== null && (H = setTimeout(() => {
294
- M(ge, null), H = null;
295
- }, 5e3));
296
- }
297
- let U = m(!1), W = m(!1), xe = m(!1), Se = m(!1), G = m(null), Re = 0, Ve = m(!1), We = m(!1), qe = 0, Ye = Promise.resolve(), Ze = m(P([])), Qe = m(P({})), $e = m(P({})), ft = m(P({})), K = m(P([])), mt = m(!1), Mt = m(null), Nt = m(null), Ft = m(!1), Lt = m(null), Rt = m(""), Bt = m(null), Vt = m(!1), Xt = m(!1), J = m(null), tn = m(!1), nn = m(""), rn = m(""), an = m(""), on = m(""), sn = m(""), pn = m(""), wn = m(!1), Tn = m("create"), Y = m(null), X = m(!1), En = null, Dn = m(null), On = null, kn = m(null), An = m(null), jn = m(null), Mn = null;
298
- async function Nn(e) {
299
- if (typeof window > "u") return;
300
- let t = d(N).find((t) => t.id === e), n = "";
301
- M(jn, e, !0);
302
- try {
303
- n = (await Te(e)).content ?? "";
304
- } catch (e) {
305
- console.error("FolderTree: failed to fetch full document for copy", e), n = t?.excerpt ?? t?.content ?? "";
306
- } finally {
307
- M(jn, null);
308
- }
309
- n && await kt(n) && (M(An, e, !0), Mn && clearTimeout(Mn), Mn = setTimeout(() => {
310
- M(An, null), Mn = null;
311
- }, 2e3));
312
- }
313
- function Pn() {
314
- En !== null && (clearTimeout(En), En = null), M(Dn, null);
315
- }
316
- function Fn(e) {
317
- Pn(), !d(F).has(e) && (M(Dn, e, !0), En = setTimeout(() => {
318
- if (d(Dn) === e && !d(F).has(e)) {
319
- let t = new Set(d(F));
320
- t.add(e), M(F, t, !0);
321
- }
322
- En = null, M(Dn, null);
323
- }, 400));
324
- }
325
- function In() {
326
- On !== null && (clearTimeout(On), On = null), M(kn, null);
327
- }
328
- function Ln(e) {
329
- In(), !(e === $ ? d(z) : d(L).has(e)) && (M(kn, e, !0), On = setTimeout(() => {
330
- if (d(kn) === e) if (e === $) M(z, !0);
331
- else {
332
- let t = new Set(d(L));
333
- t.add(e), M(L, t, !0);
334
- }
335
- On = null, M(kn, null);
336
- }, 400));
337
- }
338
- function Rn(e) {
339
- return Array.isArray(e) ? e.filter((e) => typeof e == "object" && !!e && typeof e.id == "string") : [];
340
- }
341
- function zn(e) {
342
- let t = [], n = {}, r = {};
343
- for (let i of e) if (i.folderId) {
344
- let e = r[i.folderId] ?? [];
345
- e.push(i), r[i.folderId] = e;
346
- } else if (i.categoryId) {
347
- let e = n[i.categoryId] ?? [];
348
- e.push(i), n[i.categoryId] = e;
349
- } else t.push(i);
350
- return {
351
- root: t,
352
- byCategory: n,
353
- byFolder: r
354
- };
355
- }
356
- function Bn() {
357
- let { root: e, byCategory: t, byFolder: n } = zn(d(N));
358
- M(Ze, e, !0), M($e, t, !0), M(Qe, n, !0);
359
- }
360
- function Vn() {
361
- let e = /* @__PURE__ */ new Map();
362
- for (let t of d(A)) e.set(t.id, []);
363
- let t = [];
364
- for (let n of d(k)) n.categoryId && e.has(n.categoryId) ? e.get(n.categoryId)?.push(n) : t.push(n);
365
- let n = {};
366
- for (let t of d(A)) n[t.id] = e.get(t.id) ?? [];
367
- n[$] = t, M(ft, n, !0);
368
- }
369
- j(() => {
370
- d(k), d(A), !(d(Ve) || d(We)) && (M(K, d(Ur).map((e) => ({
371
- id: e.id,
372
- category: e.category,
373
- folders: e.folders
374
- })), !0), Vn());
375
- });
376
- async function Hn() {
377
- try {
378
- M(k, ((await je(null))[0]?.children ?? []).map((e) => (wt(e.id, e.parentId ?? null, e.categoryId ?? null, e.order ?? 0), {
379
- id: e.id,
380
- name: e.name,
381
- categoryId: e.categoryId ?? null,
382
- parentId: e.parentId,
383
- order: e.order ?? 0
384
- })), !0), M(he, null);
385
- } catch (e) {
386
- console.error("FolderTree: failed to load folders", e), M(he, "Failed to load folders");
387
- }
388
- }
389
- async function Un() {
390
- try {
391
- let e = await ht(), t = /* @__PURE__ */ new Set();
392
- for (let n of e) {
393
- if (t.has(n.id)) throw Error(`Categories response contains duplicate id: ${n.id}`);
394
- t.add(n.id);
395
- }
396
- M(A, e, !0);
397
- } catch (e) {
398
- console.error("FolderTree: failed to load categories", e);
399
- }
400
- }
401
- let Wn = 0;
402
- async function Gn() {
403
- let e = ++Wn;
404
- try {
405
- let t = It(), n = await De({
406
- limit: 100,
407
- ...t ? { tag: t } : {}
408
- });
409
- if (e !== Wn) return;
410
- M(N, n.items.map((e) => yt(e.id) ? {
411
- ...e,
412
- folderId: yt(e.id)?.folderId ?? null,
413
- categoryId: yt(e.id)?.categoryId ?? null
414
- } : e), !0), d(N).forEach((e) => {
415
- e.id, e.title, e.categoryId, e.folderId, Object.keys(e), bt(e.id, e.folderId ?? null, e.categoryId ?? null);
416
- }), Bn();
417
- } catch (e) {
418
- console.error("FolderTree: failed to load documents", e), M(he, "Failed to load documents");
419
- }
420
- }
421
- async function Z() {
422
- Oe(), await Promise.all([
423
- Hn(),
424
- Un(),
425
- Gn()
426
- ]);
427
- }
428
- function Kn(e, t) {
429
- Wn++, bt(e, t.folderId, t.categoryId), M(N, d(N).map((n) => n.id === e ? {
430
- ...n,
431
- ...t
432
- } : n), !0), Bn();
433
- }
434
- let qn = Jt({
435
- patch: (e, t) => we(e, t),
436
- optimistic: (e, t) => Ot(e, t.folderId, t.categoryId),
437
- acknowledge: Dt,
438
- rollback: Kn,
439
- onError: (e) => {
440
- console.error("FolderTree: document move failed", e), be(e instanceof Error ? e.message : "Move failed");
441
- }
442
- });
443
- function Jn(e, t) {
444
- let n = Tt(e);
445
- n && (n.folderId === t.folderId && n.categoryId === t.categoryId || qn(e, t, n).catch(() => void 0));
446
- }
447
- let Q = Yt({ persist: Jn });
448
- Qt(() => {
449
- let e = setTimeout(() => {
450
- Z();
451
- }, 500);
452
- return () => clearTimeout(e);
453
- }), Zt(() => {
454
- Q.cancel(), H &&= (clearTimeout(H), null), En &&= (clearTimeout(En), null), On &&= (clearTimeout(On), null);
455
- }), j(() => {
456
- let e = zt(), t = Ct();
457
- e === 0 && t === 0 || Z();
458
- }), j(() => {
459
- if (xt() === 0) return;
460
- let e = Et();
461
- e && $t(() => {
462
- Wn++;
463
- let t = d(N).findIndex((t) => t.id === e.id);
464
- t !== -1 && (M(N, d(N).map((n, r) => r === t ? {
465
- ...n,
466
- folderId: e.folderId,
467
- categoryId: e.categoryId
468
- } : n), !0), Bn());
469
- });
470
- });
471
- let Yn = !0;
472
- j(() => {
473
- if (It(), Yn) {
474
- Yn = !1;
475
- return;
476
- }
477
- Z();
478
- });
479
- async function Xn() {
480
- await Z();
481
- }
482
- function Zn(e) {
483
- let t = d(F).has(e), n = new Set(d(F));
484
- t ? n.delete(e) : n.add(e), M(F, n, !0), M(U, !0), typeof window < "u" && window.setTimeout(() => {
485
- M(U, !1);
486
- }, 250);
487
- }
488
- function Qn(e) {
489
- let t = new Set(d(L));
490
- t.has(e) ? t.delete(e) : t.add(e), M(L, t, !0);
491
- }
492
- function $n() {
493
- M(z, !d(z));
494
- }
495
- function er() {
496
- M(Mt, null), M(Nt, null), M(mt, !0);
497
- }
498
- function tr(e) {
499
- M(Mt, null), M(Nt, e, !0), M(mt, !0);
500
- }
501
- function nr(e) {
502
- M(Mt, e, !0), M(Nt, null), M(mt, !0);
503
- }
504
- async function rr(e) {
505
- let t = d(Mt), n = await Me({
506
- name: e,
507
- parentId: t,
508
- categoryId: d(Nt)
509
- });
510
- return await Hn(), t && (M(F, new Set(d(F)).add(t), !0), St(t)), n;
511
- }
512
- function ir(e, t) {
513
- if (e.kind === "root") {
514
- M(Ze, t, !0);
515
- return;
516
- }
517
- if (e.kind === "category") {
518
- M($e, {
519
- ...d($e),
520
- [e.id]: t
521
- }, !0);
522
- return;
523
- }
524
- M(Qe, {
525
- ...d(Qe),
526
- [e.id]: t
527
- }, !0);
528
- }
529
- function ar(e) {
530
- return (t) => {
531
- t.stopPropagation();
532
- let n = !d(Se);
533
- M(W, !0), M(Se, !0), t.detail.info?.id && (M(G, t.detail.info.id, !0), n && Q.begin(t.detail.info.id, ++Re)), ir(e, Rn(t.detail.items)), Pn();
534
- };
535
- }
536
- function or(e) {
537
- return (t) => {
538
- t.stopPropagation(), ir(e, Rn(t.detail.items)), Pn();
539
- let n = t.detail.info?.trigger === "droppedIntoAnother";
540
- t.detail.info?.trigger;
541
- let r = t.detail.info?.id ?? d(G);
542
- !n && r && Q.zone(r, sr(e)), r && Q.end(r, Re), M(W, !1), M(Se, !1), typeof window < "u" ? window.setTimeout(() => {
543
- d(G) === r && M(G, null);
544
- }, 0) : M(G, null);
545
- };
546
- }
547
- function sr(e) {
548
- return {
549
- folderId: e.kind === "folder" ? e.id : null,
550
- categoryId: e.kind === "category" ? e.id : e.kind === "root" ? null : vt(e.id)?.categoryId ?? null
551
- };
552
- }
553
- function cr(e) {
554
- (d(G) ?? Q.pendingId(Re)) && (e.preventDefault(), e.dataTransfer && (e.dataTransfer.dropEffect = "move"));
555
- }
556
- function lr(e, t) {
557
- let n = d(G) ?? Q.pendingId(Re);
558
- if (!n) return;
559
- e.preventDefault(), e.stopPropagation();
560
- let r = t === $ ? null : t, i = Tt(n);
561
- if (!i) return;
562
- let a = i.folderId !== null, o = i.categoryId !== r;
563
- (a || o) && Q.header(n, {
564
- folderId: null,
565
- categoryId: r
566
- }), M(G, null);
567
- }
568
- function ur(e, t) {
569
- let n = d(G) ?? Q.pendingId(Re);
570
- if (!n) return;
571
- e.preventDefault(), e.stopPropagation();
572
- let r = vt(t)?.categoryId ?? null, i = Tt(n);
573
- i && (i.folderId !== t && Q.header(n, {
574
- folderId: t,
575
- categoryId: r
576
- }), M(G, null));
577
- }
578
- let dr = "parent:";
579
- function fr(e) {
580
- return (t) => {
581
- t.stopPropagation(), M(W, !0), M(xe, !0);
582
- let n = gr(t.detail.items);
583
- e.startsWith(dr) || M(ft, {
584
- ...d(ft),
585
- [e]: n
586
- }, !0);
587
- };
588
- }
589
- function pr(e) {
590
- return (t) => {
591
- t.stopPropagation();
592
- let n = gr(t.detail.items), r = t.detail.info?.trigger === "droppedIntoAnother";
593
- e.startsWith(dr) || M(ft, {
594
- ...d(ft),
595
- [e]: n
596
- }, !0), M(W, !1), M(xe, !1), r || vr(e, n);
597
- };
598
- }
599
- function mr(e) {
600
- return fr(`${dr}${e}`);
601
- }
602
- function hr(e) {
603
- return pr(`${dr}${e}`);
604
- }
605
- function gr(e) {
606
- return Array.isArray(e) ? e.filter((e) => typeof e == "object" && !!e && typeof e.id == "string") : [];
607
- }
608
- function _r(e) {
609
- let t = /* @__PURE__ */ new Set();
610
- if (!e) return t;
611
- let n = e;
612
- for (; n && !t.has(n);) t.add(n), n = vt(n)?.parentId ?? null;
613
- return t;
614
- }
615
- async function vr(e, t) {
616
- let n = e.startsWith(dr), r = n || e === $ ? null : e, i = n && e.slice(7) || null, a = /* @__PURE__ */ new Map(), o = n ? _r(i) : /* @__PURE__ */ new Set();
617
- if (n) for (let e of t) {
618
- if (o.has(e.id)) continue;
619
- let t = vt(e.id);
620
- t && t.parentId !== i && (a.set(e.id, {
621
- folderId: e.id,
622
- parentId: i
623
- }), wt(e.id, i, t.categoryId, t.order));
624
- }
625
- else for (let e of t) {
626
- let t = vt(e.id);
627
- if (!t) continue;
628
- let n = t.categoryId !== r, i = t.parentId !== null;
629
- if (n || i) {
630
- let o = { folderId: e.id };
631
- n && (o.categoryId = r), i && (o.parentId = null), a.set(e.id, o), wt(e.id, null, r, t.order);
632
- }
633
- }
634
- t.forEach((e, t) => {
635
- if (n && o.has(e.id)) return;
636
- let r = vt(e.id);
637
- if (!r) return;
638
- let i = r.order !== t, s = a.get(e.id);
639
- s ? (s.order = t, wt(e.id, s.parentId === void 0 ? r.parentId : s.parentId, s.categoryId === void 0 ? r.categoryId : s.categoryId, t)) : i && (a.set(e.id, {
640
- folderId: e.id,
641
- order: t
642
- }), wt(e.id, r.parentId, r.categoryId, t));
643
- });
644
- let s = Array.from(a.values()), c = /* @__PURE__ */ new Set();
645
- if (n) {
646
- i && c.add(i);
647
- for (let e of t) {
648
- let t = e.parentId ?? null;
649
- t !== null && t !== i && c.add(t);
650
- }
651
- }
652
- if (s.length !== 0) try {
653
- await Promise.all(s.map((e) => {
654
- let { folderId: t, ...n } = e;
655
- return ke(t, n);
656
- })), await Z(), Vn();
657
- for (let e of c) St(e);
658
- } catch (e) {
659
- console.error("FolderTree: folder DnD persist failed", e), be(e instanceof Error ? `Move failed: ${e.message}` : "Move failed: unknown error");
660
- }
661
- }
662
- function yr(e) {
663
- e.stopPropagation(), M(W, !0), M(Ve, !0), M(K, xr(Sr(e.detail.items)), !0);
664
- }
665
- function br(e) {
666
- e.stopPropagation();
667
- let t = xr(Cr(e.detail.items));
668
- M(K, t, !0), M(W, !1), M(Ve, !1), wr(t);
669
- }
670
- function xr(e) {
671
- let t = e.filter((e) => e.id !== $), n = d(K).find((e) => e.id === $) ?? d(Ur).find((e) => e.id === $);
672
- return n ? [...t, n] : t;
673
- }
674
- function Sr(e) {
675
- if (!Array.isArray(e)) return [];
676
- let t = [];
677
- for (let n of e) {
678
- if (typeof n != "object" || !n || typeof n.id != "string") continue;
679
- let e = n;
680
- t.push(e);
681
- }
682
- return t;
683
- }
684
- function Cr(e) {
685
- let t = Sr(e), n = new Set(t.filter((e) => e[Kt]).map((e) => e.id)), r = /* @__PURE__ */ new Set(), i = new Map([...d(K), ...d(Ur)].map((e) => [e.id, e])), a = [];
686
- for (let e of t) {
687
- if (n.has(e.id) && !e.isDndShadowItem || r.has(e.id)) continue;
688
- r.add(e.id);
689
- let t = i.get(e.id) ?? e;
690
- a.push({
691
- id: t.id,
692
- category: t.category,
693
- folders: t.folders
694
- });
695
- }
696
- return a;
697
- }
698
- function wr(e) {
699
- let t = ++qe;
700
- M(We, !0);
701
- let n = e.map((e) => ({ ...e }));
702
- Ye = Ye.catch(() => void 0).then(async () => {
703
- try {
704
- await Tr(n);
705
- } catch (e) {
706
- console.error("FolderTree: category DnD persist failed", e), be(e instanceof Error ? `Reorder failed: ${e.message}` : "Reorder failed: unknown error");
707
- } finally {
708
- t === qe && (await Z(), M(We, !1));
709
- }
710
- });
711
- }
712
- async function Tr(e) {
713
- let t = [];
714
- if (e.forEach((e, n) => {
715
- e.category && t.push({
716
- id: e.category.id,
717
- order: n
718
- });
719
- }), t.length !== 0) for (let e of t) await _t(e.id, { order: e.order });
720
- }
721
- function Er(e, t, n) {
722
- M(Lt, {
723
- kind: e,
724
- id: t,
725
- name: n
726
- }, !0), M(Rt, n, !0), M(Bt, null), M(Ft, !0);
727
- }
728
- function Dr() {
729
- M(Ft, !1), M(Lt, null), M(Rt, ""), M(Bt, null), M(Vt, !1);
730
- }
731
- async function Or(e) {
732
- e?.preventDefault();
733
- let t = d(Lt);
734
- if (!t) return;
735
- let n = d(Rt).trim();
736
- if (n.length === 0) {
737
- M(Bt, "Name is required");
738
- return;
739
- }
740
- M(Vt, !0);
741
- try {
742
- t.kind === "folder" ? await ke(t.id, { name: n }) : await we(t.id, { title: n }), Dr(), await Z(), Pt();
743
- } catch (e) {
744
- console.error("FolderTree: rename failed", e), M(Bt, e instanceof Error ? e.message : at(), !0);
745
- } finally {
746
- M(Vt, !1);
747
- }
748
- }
749
- function kr(e, t, n) {
750
- M(J, {
751
- kind: e,
752
- id: t,
753
- name: n
754
- }, !0), M(Xt, !0);
755
- }
756
- function Ar(e, t) {
757
- M(nn, e, !0), M(rn, ""), M(sn, ""), M(an, t, !0), M(on, ""), M(pn, ""), M(tn, !0);
758
- }
759
- function jr(e, t) {
760
- M(rn, e, !0), M(nn, ""), M(sn, ""), M(on, t, !0), M(an, ""), M(pn, ""), M(tn, !0);
761
- }
762
- function Mr(e, t) {
763
- M(sn, e, !0), M(nn, ""), M(rn, ""), M(pn, t, !0), M(an, ""), M(on, ""), M(tn, !0);
764
- }
765
- function Nr() {
766
- M(Xt, !1), M(J, null);
767
- }
768
- async function Pr() {
769
- let e = d(J);
770
- e && (e.kind === "folder" ? await Ae(e.id) : await Ee(e.id), await Z(), Pt());
771
- }
772
- function Fr() {
773
- M(Tn, "create"), M(Y, null), M(wn, !0);
774
- }
775
- function Ir(e) {
776
- M(Tn, "edit"), M(Y, e, !0), M(wn, !0);
777
- }
778
- function Lr(e) {
779
- M(Tn, "delete"), M(Y, e, !0), M(wn, !0);
780
- }
781
- function Rr() {
782
- d(X) || (M(wn, !1), M(Y, null), M(X, !1));
783
- }
784
- async function zr(e) {
785
- M(X, !0);
786
- try {
787
- let t = {
788
- name: e.name,
789
- apiMode: e.apiMode,
790
- apiPermissionRead: e.apiPermissionRead,
791
- apiPermissionEdit: e.apiPermissionEdit,
792
- apiPermissionWrite: e.apiPermissionWrite
793
- }, n;
794
- return n = d(Tn) === "edit" && d(Y) ? await Ce(`/api/categories/${encodeURIComponent(d(Y).id)}`, {
795
- method: "PATCH",
796
- body: t
797
- }) : await Ce("/api/categories", {
798
- method: "POST",
799
- body: t
800
- }), await Z(), n;
801
- } finally {
802
- M(X, !1);
803
- }
804
- }
805
- async function Br() {
806
- if (d(Y)) {
807
- M(X, !0);
808
- try {
809
- await gt(d(Y).id), await Z();
810
- } finally {
811
- M(X, !1);
812
- }
813
- }
814
- }
815
- let $ = "__uncategorized__", Vr = _(() => d(K).filter((e) => e.id !== $ && e.category !== null)), Hr = _(() => d(K).find((e) => e.id === $) ?? null), Ur = _(() => {
816
- let e = /* @__PURE__ */ new Map();
817
- for (let t of d(A)) e.set(t.id, []);
818
- let t = [];
819
- for (let n of d(k)) n.categoryId && e.has(n.categoryId) ? e.get(n.categoryId)?.push(n) : t.push(n);
820
- let n = [];
821
- for (let t of d(A)) n.push({
822
- id: t.id,
823
- category: t,
824
- folders: e.get(t.id) ?? []
825
- });
826
- return n.push({
827
- id: $,
828
- category: null,
829
- folders: t
830
- }), n;
831
- });
832
- var Wr = { refreshFolderTree: Xn }, Gr = Cn(), Kr = e(Gr), qr = c(Kr), Jr = c(qr), Yr = c(Jr, !0);
833
- p(Jr);
834
- var Xr = b(Jr, 2);
835
- ve(c(Xr), { class: "size-3.5" }), p(Xr), p(qr);
836
- var Zr = b(qr, 2), Qr = (e) => {
837
- var n = mn(), r = c(n, !0);
838
- p(n), a(() => D(r, d(he))), t(e, n);
839
- };
840
- n(Zr, (e) => {
841
- d(he) && e(Qr);
842
- });
843
- var $r = b(Zr, 2), ei = (e) => {
844
- var n = mn(), r = c(n, !0);
845
- p(n), a(() => D(r, d(ge))), t(e, n);
846
- };
847
- n($r, (e) => {
848
- d(ge) && e(ei);
849
- });
850
- var ti = b($r, 2);
851
- te(ti, 29, () => d(Vr), (e) => `${e.id}:${e.isDndShadowItem ? "shadow" : "item"}`, (i, s) => {
852
- let m = _(() => d(L).has(d(s).id));
853
- var y = yn(), x = c(y), E = c(x), O = c(E), k = (e) => {
854
- B(e, { class: "size-3.5 shrink-0" });
855
- }, A = (e) => {
856
- V(e, { class: "size-3.5 shrink-0" });
857
- };
858
- n(O, (e) => {
859
- d(m) ? e(k) : e(A, -1);
860
- });
861
- var j = b(O, 2), M = c(j, !0);
862
- p(j), p(E), de(b(E, 2), {
863
- children: (n, i) => {
864
- var o = dn(), l = e(o);
865
- ue(l, {
866
- child: (e, n) => {
867
- let r = () => (n?.()).props;
868
- var i = ln();
869
- ee(i, (e, t) => ({
870
- ...r(),
871
- type: "button",
872
- 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",
873
- "aria-label": e,
874
- title: t
875
- }), [() => Xe(), () => Xe()]), fe(c(i), { class: "size-3.5" }), p(i), t(e, i);
876
- },
877
- $$slots: { child: !0 }
878
- }), le(b(l, 2), {
879
- align: "end",
880
- children: (n, i) => {
881
- var o = hn(), c = e(o);
882
- R(c, {
883
- onSelect: () => en(`/?category=${d(s).category.id}`),
884
- children: (e, n) => {
885
- C();
886
- var i = r();
887
- a((e) => D(i, e), [() => Be()]), t(e, i);
888
- },
889
- $$slots: { default: !0 }
890
- });
891
- var l = b(c, 2);
892
- R(l, {
893
- onSelect: () => en(`/docs/new?category=${d(s).category.id}`),
894
- children: (e, n) => {
895
- C();
896
- var i = r();
897
- a((e) => D(i, e), [() => He()]), t(e, i);
898
- },
899
- $$slots: { default: !0 }
900
- });
901
- var u = b(l, 2);
902
- R(u, {
903
- onSelect: () => tr(d(s).category.id),
904
- children: (e, n) => {
905
- C();
906
- var i = r();
907
- a((e) => D(i, e), [() => it()]), t(e, i);
908
- },
909
- $$slots: { default: !0 }
910
- });
911
- var f = b(u, 2);
912
- R(f, {
913
- onSelect: () => Mr(d(s).category.id, d(s).category.name),
914
- children: (e, n) => {
915
- C();
916
- var i = r();
917
- a((e) => D(i, e), [() => Fe()]), t(e, i);
918
- },
919
- $$slots: { default: !0 }
920
- });
921
- var p = b(f, 2);
922
- R(p, {
923
- onSelect: () => Ir(d(s).category),
924
- children: (e, n) => {
925
- C();
926
- var i = r();
927
- a((e) => D(i, e), [() => Ne()]), t(e, i);
928
- },
929
- $$slots: { default: !0 }
930
- }), R(b(p, 2), {
931
- class: "text-destructive focus:text-destructive",
932
- onSelect: () => Lr(d(s).category),
933
- children: (e, n) => {
934
- C();
935
- var i = r();
936
- a((e) => D(i, e), [() => nt()]), t(e, i);
937
- },
938
- $$slots: { default: !0 }
939
- }), t(n, o);
940
- },
941
- $$slots: { default: !0 }
942
- }), t(n, o);
943
- },
944
- $$slots: { default: !0 }
945
- }), p(x);
946
- var N = b(x, 2), P = (e) => {
947
- let n = _(() => d(ft)[d(s).id] ?? []), r = _(() => d($e)[d(s).id] ?? []);
948
- var i = vn(), o = c(i), m = _(() => fr(d(s).id)), v = _(() => pr(d(s).id));
949
- te(o, 29, () => d(n), (e) => e.id, (e, n) => {
950
- var r = gn();
951
- T(c(r), () => d(n)), p(r), h(r, () => Wt, () => ({ duration: 200 })), t(e, r);
952
- }), p(o), f(o, (e, t) => qt?.(e, t), () => ({
953
- items: d(n),
954
- flipDurationMs: 200,
955
- type: "folder",
956
- dropTargetStyle: {},
957
- dragDisabled: d(U)
958
- }));
959
- var y = b(o, 2), x = _(() => ar({
960
- kind: "category",
961
- id: d(s).id
962
- })), C = _(() => or({
963
- kind: "category",
964
- id: d(s).id
965
- }));
966
- te(y, 29, () => d(r), (e) => e.id, (e, n) => {
967
- var r = _n(), i = c(r);
968
- cn(i, () => d(n));
969
- var a = b(i, 2);
970
- g(a, () => d(n)), u(b(a, 2), () => d(n)), p(r), h(r, () => Wt, () => ({ duration: 80 })), t(e, r);
971
- }), p(y), f(y, (e, t) => qt?.(e, t), () => ({
972
- items: d(r),
973
- flipDurationMs: 80,
974
- type: "doc",
975
- dropTargetStyle: {},
976
- dragDisabled: d(U),
977
- useCursorForDetection: !0,
978
- centreDraggedOnCursor: !0
979
- })), p(i), a((e, t) => {
980
- w(o, 1, e), w(y, 1, t);
981
- }, [() => S(q("min-h-[8px] space-y-0.5 transition-all duration-150", d(xe) && d(n).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")), () => S(q("min-h-[8px] space-y-0.5 transition-all duration-150", d(Se) && d(r).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20"))]), l("consider", o, function(...e) {
982
- d(m)?.apply(this, e);
983
- }), l("finalize", o, function(...e) {
984
- d(v)?.apply(this, e);
985
- }), l("consider", y, function(...e) {
986
- d(x)?.apply(this, e);
987
- }), l("finalize", y, function(...e) {
988
- d(C)?.apply(this, e);
989
- }), t(e, i);
990
- };
991
- n(N, (e) => {
992
- d(m) && e(P);
993
- }), p(y), a((e) => {
994
- v(y, "data-is-dnd-shadow-item-hint", d(s)[Kt]), v(E, "aria-expanded", d(m)), w(E, 1, e), D(M, d(s).category.name);
995
- }, [() => S(q("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", d(G) && "hover:bg-accent/40 border border-dashed border-primary/30"))]), o("click", E, () => Qn(d(s).id)), l("mouseenter", E, () => {
996
- d(W) && !d(m) && Ln(d(s).id);
997
- }), l("mouseleave", E, () => {
998
- d(W) && In();
999
- }), l("dragover", E, cr), l("drop", E, (e) => lr(e, d(s).id)), h(y, () => Wt, () => ({ duration: 200 })), t(i, y);
1000
- }), p(ti), f(ti, (e, t) => qt?.(e, t), () => ({
1001
- items: d(Vr),
1002
- flipDurationMs: 200,
1003
- type: "category",
1004
- dropTargetStyle: {},
1005
- dragDisabled: d(U)
1006
- }));
1007
- var ni = b(ti, 2), ri = (e) => {
1008
- var r = bn(), i = c(r), s = c(i), m = c(s), y = (e) => {
1009
- B(e, { class: "size-3.5 shrink-0" });
1010
- }, x = (e) => {
1011
- V(e, { class: "size-3.5 shrink-0" });
1012
- };
1013
- n(m, (e) => {
1014
- d(z) ? e(y) : e(x, -1);
1015
- });
1016
- var C = b(m, 2), E = c(C, !0);
1017
- p(C), p(s), p(i);
1018
- var ee = b(i, 2), O = (e) => {
1019
- let n = _(() => d(ft)[$] ?? []);
1020
- var r = vn(), i = c(r), o = _(() => fr($)), s = _(() => pr($));
1021
- te(i, 29, () => d(n), (e) => e.id, (e, n) => {
1022
- var r = gn();
1023
- T(c(r), () => d(n)), p(r), h(r, () => Wt, () => ({ duration: 200 })), t(e, r);
1024
- }), p(i), f(i, (e, t) => qt?.(e, t), () => ({
1025
- items: d(n),
1026
- flipDurationMs: 200,
1027
- type: "folder",
1028
- dropTargetStyle: {},
1029
- dragDisabled: d(U)
1030
- }));
1031
- var m = b(i, 2), v = _(() => ar({ kind: "root" })), y = _(() => or({ kind: "root" }));
1032
- te(m, 29, () => d(Ze), (e) => e.id, (e, n) => {
1033
- var r = _n(), i = c(r);
1034
- cn(i, () => d(n));
1035
- var a = b(i, 2);
1036
- g(a, () => d(n)), u(b(a, 2), () => d(n)), p(r), h(r, () => Wt, () => ({ duration: 80 })), t(e, r);
1037
- }), p(m), f(m, (e, t) => qt?.(e, t), () => ({
1038
- items: d(Ze),
1039
- flipDurationMs: 80,
1040
- type: "doc",
1041
- dropTargetStyle: {},
1042
- dragDisabled: d(U),
1043
- useCursorForDetection: !0,
1044
- centreDraggedOnCursor: !0
1045
- })), p(r), a((e, t) => {
1046
- w(i, 1, e), w(m, 1, t);
1047
- }, [() => S(q("min-h-[8px] space-y-0.5 transition-all duration-150", d(xe) && d(n).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")), () => S(q("min-h-[8px] space-y-0.5 transition-all duration-150", d(Se) && d(Ze).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20"))]), l("consider", i, function(...e) {
1048
- d(o)?.apply(this, e);
1049
- }), l("finalize", i, function(...e) {
1050
- d(s)?.apply(this, e);
1051
- }), l("consider", m, function(...e) {
1052
- d(v)?.apply(this, e);
1053
- }), l("finalize", m, function(...e) {
1054
- d(y)?.apply(this, e);
1055
- }), t(e, r);
1056
- };
1057
- n(ee, (e) => {
1058
- d(z) && e(O);
1059
- }), p(r), a((e, t) => {
1060
- v(s, "aria-expanded", d(z)), w(s, 1, e), D(E, t);
1061
- }, [() => S(q("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", d(G) && "hover:bg-accent/40 border border-dashed border-primary/30")), () => rt()]), o("click", s, $n), l("mouseenter", s, () => {
1062
- d(W) && !d(z) && Ln($);
1063
- }), l("mouseleave", s, () => {
1064
- d(W) && In();
1065
- }), l("dragover", s, cr), l("drop", s, (e) => lr(e, $)), t(e, r);
1066
- };
1067
- n(ni, (e) => {
1068
- d(Hr) && e(ri);
1069
- });
1070
- var ii = b(ni, 2), ai = c(ii);
1071
- ve(ai, { class: "size-3.5" });
1072
- var oi = b(ai, 2), si = c(oi, !0);
1073
- p(oi), p(ii), p(Kr);
1074
- var ci = b(Kr, 2);
1075
- ye(ci, {
1076
- mode: "create",
1077
- onSave: rr,
1078
- closeOnSave: !1,
1079
- get open() {
1080
- return d(mt);
1081
- },
1082
- set open(e) {
1083
- M(mt, e, !0);
1084
- }
1085
- });
1086
- var li = b(ci, 2);
1087
- re(li, {
1088
- onOpenChange: (e) => {
1089
- e || Dr();
1090
- },
1091
- get open() {
1092
- return d(Ft);
1093
- },
1094
- set open(e) {
1095
- M(Ft, e, !0);
1096
- },
1097
- children: (i, o) => {
1098
- var s = Sn(), u = e(s);
1099
- ae(u, {
1100
- children: (n, i) => {
1101
- var o = dn(), s = e(o);
1102
- ce(s, {
1103
- children: (e, n) => {
1104
- C();
1105
- var i = r();
1106
- a((e) => D(i, e), [() => lt()]), t(e, i);
1107
- },
1108
- $$slots: { default: !0 }
1109
- }), ie(b(s, 2), {
1110
- children: (e, n) => {
1111
- C();
1112
- var i = r();
1113
- a((e) => D(i, e), [() => d(Lt)?.kind === "folder" ? dt() : ot()]), t(e, i);
1114
- },
1115
- $$slots: { default: !0 }
1116
- }), t(n, o);
1117
- },
1118
- $$slots: { default: !0 }
1119
- });
1120
- var f = b(u, 2), m = c(f), h = c(m);
1121
- pe(h, {
1122
- for: "rename-input",
1123
- children: (e, n) => {
1124
- C();
1125
- var i = r();
1126
- a((e) => D(i, e), [() => d(Lt)?.kind === "folder" ? dt() : ot()]), t(e, i);
1127
- },
1128
- $$slots: { default: !0 }
1129
- });
1130
- var g = b(h, 2);
1131
- {
1132
- let e = _(() => d(Bt) ? "true" : void 0), t = _(() => d(Bt) ? "rename-input-error" : void 0);
1133
- At(g, {
1134
- id: "rename-input",
1135
- name: "name",
1136
- type: "text",
1137
- maxlength: 255,
1138
- required: !0,
1139
- get disabled() {
1140
- return d(Vt);
1141
- },
1142
- get "aria-invalid"() {
1143
- return d(e);
1144
- },
1145
- get "aria-describedby"() {
1146
- return d(t);
1147
- },
1148
- autocomplete: "off",
1149
- get value() {
1150
- return d(Rt);
1151
- },
1152
- set value(e) {
1153
- M(Rt, e, !0);
1154
- }
1155
- });
1156
- }
1157
- var v = b(g, 2), y = (e) => {
1158
- var n = xn(), r = c(n, !0);
1159
- p(n), a(() => D(r, d(Bt))), t(e, n);
1160
- };
1161
- n(v, (e) => {
1162
- d(Bt) && e(y);
1163
- }), p(m), p(f), se(b(f, 2), {
1164
- children: (n, i) => {
1165
- var o = dn(), s = e(o);
1166
- oe(s, {
1167
- variant: "outline",
1168
- type: "button",
1169
- onclick: Dr,
1170
- get disabled() {
1171
- return d(Vt);
1172
- },
1173
- children: (e, n) => {
1174
- C();
1175
- var i = r();
1176
- a((e) => D(i, e), [() => pt()]), t(e, i);
1177
- },
1178
- $$slots: { default: !0 }
1179
- });
1180
- var c = b(s, 2);
1181
- {
1182
- let e = _(() => d(Vt) || d(Rt).trim().length === 0);
1183
- oe(c, {
1184
- type: "submit",
1185
- onclick: Or,
1186
- get disabled() {
1187
- return d(e);
1188
- },
1189
- children: (e, n) => {
1190
- C();
1191
- var i = r();
1192
- a((e) => D(i, e), [() => d(Vt) ? ut() : ct()]), t(e, i);
1193
- },
1194
- $$slots: { default: !0 }
1195
- });
1196
- }
1197
- t(n, o);
1198
- },
1199
- $$slots: { default: !0 }
1200
- }), l("submit", f, Or), t(i, s);
1201
- },
1202
- $$slots: { default: !0 }
1203
- });
1204
- var ui = b(li, 2);
1205
- {
1206
- let e = _(() => d(J)?.name ?? ""), t = _(() => d(J)?.kind === "folder" ? tt() : Ge()), n = _(() => d(J)?.kind === "folder" ? "Its documents will be moved to the root and will not be deleted." : Ie()), r = _(() => d(J)?.kind === "folder" ? st() : Le()), i = _(() => d(J)?.kind === "folder" ? et() : Ke()), a = _(() => nt()), o = _(() => pt());
1207
- Ht(ui, {
1208
- get targetName() {
1209
- return d(e);
1210
- },
1211
- get title() {
1212
- return d(t);
1213
- },
1214
- get description() {
1215
- return d(n);
1216
- },
1217
- get successTitle() {
1218
- return d(r);
1219
- },
1220
- get successDescription() {
1221
- return d(i);
1222
- },
1223
- get confirmLabel() {
1224
- return d(a);
1225
- },
1226
- get cancelLabel() {
1227
- return d(o);
1228
- },
1229
- onConfirm: Pr,
1230
- onCancel: Nr,
1231
- get open() {
1232
- return d(Xt);
1233
- },
1234
- set open(e) {
1235
- M(Xt, e, !0);
1236
- }
1237
- });
1238
- }
1239
- var di = b(ui, 2);
1240
- {
1241
- let e = _(() => d(Y) ?? void 0);
1242
- Ut(di, {
1243
- get mode() {
1244
- return d(Tn);
1245
- },
1246
- get category() {
1247
- return d(e);
1248
- },
1249
- onSave: zr,
1250
- onDelete: Br,
1251
- onClose: Rr,
1252
- get open() {
1253
- return d(wn);
1254
- },
1255
- set open(e) {
1256
- M(wn, e, !0);
1257
- }
1258
- });
1259
- }
1260
- return jt(b(di, 2), {
1261
- get documentId() {
1262
- return d(nn);
1263
- },
1264
- get documentTitle() {
1265
- return d(an);
1266
- },
1267
- get folderId() {
1268
- return d(rn);
1269
- },
1270
- get folderName() {
1271
- return d(on);
1272
- },
1273
- get categoryId() {
1274
- return d(sn);
1275
- },
1276
- get categoryName() {
1277
- return d(pn);
1278
- },
1279
- get open() {
1280
- return d(tn);
1281
- },
1282
- set open(e) {
1283
- M(tn, e, !0);
1284
- }
1285
- }), a((e, t, n, r, i) => {
1286
- v(Jr, "title", e), D(Yr, t), v(Xr, "aria-label", n), v(Xr, "title", r), D(si, i);
1287
- }, [
1288
- () => Ue(),
1289
- () => ze(),
1290
- () => Pe(),
1291
- () => Pe(),
1292
- () => it()
1293
- ]), o("click", Xr, Fr), l("consider", ti, yr), l("finalize", ti, br), o("click", ii, er), t(i, Gr), y(Wr);
1294
- }
1295
- i(["click"]);
1296
- //#endregion
1297
- //#region src/lib/components/sidebar/RecentDocs.svelte
1298
- var Tn = s("<p class=\"px-2 text-xs text-destructive\"> </p>"), Y = s("<button><!></button>"), X = s("<!> <!>", 1), En = s("<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>"), Dn = s("<p id=\"recent-rename-input-error\" class=\"text-xs text-destructive\" role=\"alert\"> </p>"), On = s("<!> <form class=\"space-y-4\"><div class=\"space-y-2\"><!> <!> <!></div></form> <!>", 1), kn = s("<div class=\"space-y-1\"><h3 class=\"mb-2 px-2 text-xs font-medium uppercase tracking-wider text-muted-foreground\"> </h3> <!> <!></div> <!> <!>", 1);
1299
- function An(i, s) {
1300
- x(s, !0);
1301
- let u = m(P([])), f = m(null), h = m(null), g = m(null), T = m(null), E = null, O = m(!1), k = m(null), A = m(""), N = m(null), F = m(!1), I = m(!1), L = m(null), z = m(!1);
1302
- async function B() {
1303
- try {
1304
- let e = It();
1305
- M(u, (await De({
1306
- limit: 6,
1307
- ...e ? { tag: e } : {}
1308
- })).items, !0), M(h, null);
1309
- } catch (e) {
1310
- console.error("RecentDocs: failed to load recent documents", e), M(h, "Failed to load recent documents");
1311
- }
1312
- }
1313
- Qt(() => {
1314
- B();
1315
- }), j(() => {
1316
- zt() !== 0 && B();
1317
- });
1318
- let V = !0;
1319
- j(() => {
1320
- if (It(), V) {
1321
- V = !1;
1322
- return;
1323
- }
1324
- B();
1325
- });
1326
- async function he() {
1327
- await B();
1328
- }
1329
- Zt(() => {
1330
- E &&= (clearTimeout(E), null);
1331
- });
1332
- async function ge(e, t) {
1333
- if (e.preventDefault(), e.stopPropagation(), typeof window > "u") return;
1334
- let n = d(u).find((e) => e.id === t), r = "";
1335
- M(T, t, !0);
1336
- try {
1337
- r = (await Te(t)).content ?? "";
1338
- } catch (e) {
1339
- console.error("RecentDocs: failed to fetch full document for copy", e), r = n?.excerpt ?? n?.content ?? "";
1340
- } finally {
1341
- M(T, null);
1342
- }
1343
- r && await kt(r) && (M(g, t, !0), E && clearTimeout(E), E = setTimeout(() => {
1344
- M(g, null), E = null;
1345
- }, 2e3));
1346
- }
1347
- function ve(e, t) {
1348
- M(k, {
1349
- id: e,
1350
- title: t
1351
- }, !0), M(A, t, !0), M(N, null), M(O, !0);
1352
- }
1353
- function ye() {
1354
- M(O, !1), M(k, null), M(A, ""), M(N, null), M(F, !1);
1355
- }
1356
- async function be(e) {
1357
- e?.preventDefault();
1358
- let t = d(k);
1359
- if (!t) return;
1360
- let n = d(A).trim();
1361
- if (n.length === 0) {
1362
- M(N, "Name is required");
1363
- return;
1364
- }
1365
- M(F, !0);
1366
- try {
1367
- await we(t.id, { title: n }), ye(), await B(), Pt();
1368
- } catch (e) {
1369
- console.error("RecentDocs: rename failed", e), M(N, e instanceof Error ? e.message : at(), !0);
1370
- } finally {
1371
- M(F, !1);
1372
- }
1373
- }
1374
- function U(e, t) {
1375
- M(L, {
1376
- id: e,
1377
- title: t
1378
- }, !0), M(I, !0);
1379
- }
1380
- function W() {
1381
- M(I, !1), M(L, null), M(z, !1);
1382
- }
1383
- async function xe() {
1384
- let e = d(L);
1385
- if (!(!e || d(z))) {
1386
- M(z, !0);
1387
- try {
1388
- await Ee(e.id), W(), await B(), Pt();
1389
- } catch (e) {
1390
- console.error("RecentDocs: delete failed", e), M(h, e instanceof Error ? e.message : at(), !0), M(z, !1);
1391
- }
1392
- }
1393
- }
1394
- var Ce = { refreshRecentDocs: he }, Oe = kn(), ke = e(Oe), Ae = c(ke), je = c(Ae, !0);
1395
- p(Ae);
1396
- var Me = b(Ae, 2), Ne = (e) => {
1397
- var n = Tn(), r = c(n, !0);
1398
- p(n), a(() => D(r, d(h))), t(e, n);
1399
- };
1400
- n(Me, (e) => {
1401
- d(h) && e(Ne);
1402
- }), te(b(Me, 2), 17, () => d(u), (e) => e.id, (i, s) => {
1403
- var l = En(), u = c(l), m = c(u);
1404
- H(m, { class: "size-4 shrink-0 text-muted-foreground" });
1405
- var h = b(m, 2), _ = c(h), y = c(_, !0);
1406
- p(_);
1407
- var x = b(_, 2), E = c(x, !0);
1408
- p(x), p(h), p(u);
1409
- var O = b(u, 2), k = c(O), A = (e) => {
1410
- ne(e, { class: "size-3.5 animate-spin" });
1411
- }, j = (e) => {
1412
- me(e, { class: "size-3.5" });
1413
- }, N = (e) => {
1414
- _e(e, { class: "size-3.5" });
1415
- };
1416
- n(k, (e) => {
1417
- d(T) === d(s).id ? e(A) : d(g) === d(s).id ? e(j, 1) : e(N, -1);
1418
- }), p(O), de(b(O, 2), {
1419
- children: (n, i) => {
1420
- var o = X(), l = e(o);
1421
- ue(l, {
1422
- child: (e, n) => {
1423
- let r = () => (n?.()).props;
1424
- var i = Y(), a = (e) => {
1425
- e.preventDefault(), e.stopPropagation();
1426
- };
1427
- ee(i, (e, t) => ({
1428
- ...r(),
1429
- type: "button",
1430
- 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",
1431
- "aria-label": e,
1432
- title: t,
1433
- onclick: a
1434
- }), [() => Xe(), () => Xe()]), fe(c(i), { class: "size-3.5" }), p(i), t(e, i);
1435
- },
1436
- $$slots: { child: !0 }
1437
- }), le(b(l, 2), {
1438
- align: "end",
1439
- children: (n, i) => {
1440
- var o = X(), c = e(o);
1441
- R(c, {
1442
- onSelect: () => ve(d(s).id, d(s).title),
1443
- children: (e, n) => {
1444
- C();
1445
- var i = r();
1446
- a((e) => D(i, e), [() => lt()]), t(e, i);
1447
- },
1448
- $$slots: { default: !0 }
1449
- }), R(b(c, 2), {
1450
- class: "text-destructive focus:text-destructive",
1451
- onSelect: () => U(d(s).id, d(s).title),
1452
- children: (e, n) => {
1453
- C();
1454
- var i = r();
1455
- a((e) => D(i, e), [() => nt()]), t(e, i);
1456
- },
1457
- $$slots: { default: !0 }
1458
- }), t(n, o);
1459
- },
1460
- $$slots: { default: !0 }
1461
- }), t(n, o);
1462
- },
1463
- $$slots: { default: !0 }
1464
- }), p(l), a((e, t, n) => {
1465
- v(u, "href", `/docs/${d(s).id}`), w(u, 1, e), D(y, d(s).title), D(E, d(s).updatedAt), w(O, 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 ${d(g) === d(s).id || d(T) === d(s).id ? "opacity-100" : ""}`), v(O, "aria-label", t), v(O, "title", n), O.disabled = d(T) === d(s).id;
1466
- }, [
1467
- () => S(q("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", d(f) === d(s).id && "bg-accent text-accent-foreground")),
1468
- () => Je(),
1469
- () => Je()
1470
- ]), o("click", u, () => {
1471
- M(f, d(s).id, !0);
1472
- }), o("click", O, (e) => void ge(e, d(s).id)), t(i, l);
1473
- }), p(ke);
1474
- var Pe = b(ke, 2);
1475
- re(Pe, {
1476
- onOpenChange: (e) => {
1477
- e || ye();
1478
- },
1479
- get open() {
1480
- return d(O);
1481
- },
1482
- set open(e) {
1483
- M(O, e, !0);
1484
- },
1485
- children: (i, o) => {
1486
- var s = On(), u = e(s);
1487
- ae(u, {
1488
- children: (n, i) => {
1489
- var o = X(), s = e(o);
1490
- ce(s, {
1491
- children: (e, n) => {
1492
- C();
1493
- var i = r();
1494
- a((e) => D(i, e), [() => lt()]), t(e, i);
1495
- },
1496
- $$slots: { default: !0 }
1497
- }), ie(b(s, 2), {
1498
- children: (e, n) => {
1499
- C();
1500
- var i = r();
1501
- a((e) => D(i, e), [() => ot()]), t(e, i);
1502
- },
1503
- $$slots: { default: !0 }
1504
- }), t(n, o);
1505
- },
1506
- $$slots: { default: !0 }
1507
- });
1508
- var f = b(u, 2), m = c(f), h = c(m);
1509
- pe(h, {
1510
- for: "recent-rename-input",
1511
- children: (e, n) => {
1512
- C();
1513
- var i = r();
1514
- a((e) => D(i, e), [() => ot()]), t(e, i);
1515
- },
1516
- $$slots: { default: !0 }
1517
- });
1518
- var g = b(h, 2);
1519
- {
1520
- let e = _(() => d(N) ? "true" : void 0), t = _(() => d(N) ? "recent-rename-input-error" : void 0);
1521
- At(g, {
1522
- id: "recent-rename-input",
1523
- name: "name",
1524
- type: "text",
1525
- maxlength: 255,
1526
- required: !0,
1527
- get disabled() {
1528
- return d(F);
1529
- },
1530
- get "aria-invalid"() {
1531
- return d(e);
1532
- },
1533
- get "aria-describedby"() {
1534
- return d(t);
1535
- },
1536
- autocomplete: "off",
1537
- get value() {
1538
- return d(A);
1539
- },
1540
- set value(e) {
1541
- M(A, e, !0);
1542
- }
1543
- });
1544
- }
1545
- var v = b(g, 2), y = (e) => {
1546
- var n = Dn(), r = c(n, !0);
1547
- p(n), a(() => D(r, d(N))), t(e, n);
1548
- };
1549
- n(v, (e) => {
1550
- d(N) && e(y);
1551
- }), p(m), p(f), se(b(f, 2), {
1552
- children: (n, i) => {
1553
- var o = X(), s = e(o);
1554
- oe(s, {
1555
- variant: "outline",
1556
- type: "button",
1557
- onclick: ye,
1558
- get disabled() {
1559
- return d(F);
1560
- },
1561
- children: (e, n) => {
1562
- C();
1563
- var i = r();
1564
- a((e) => D(i, e), [() => pt()]), t(e, i);
1565
- },
1566
- $$slots: { default: !0 }
1567
- });
1568
- var c = b(s, 2);
1569
- {
1570
- let e = _(() => d(F) || d(A).trim().length === 0);
1571
- oe(c, {
1572
- type: "submit",
1573
- onclick: be,
1574
- get disabled() {
1575
- return d(e);
1576
- },
1577
- children: (e, n) => {
1578
- C();
1579
- var i = r();
1580
- a((e) => D(i, e), [() => d(F) ? ut() : ct()]), t(e, i);
1581
- },
1582
- $$slots: { default: !0 }
1583
- });
1584
- }
1585
- t(n, o);
1586
- },
1587
- $$slots: { default: !0 }
1588
- }), l("submit", f, be), t(i, s);
1589
- },
1590
- $$slots: { default: !0 }
1591
- });
1592
- var Fe = b(Pe, 2);
1593
- {
1594
- let e = _(() => Ge()), t = _(() => Ie()), n = _(() => nt()), r = _(() => pt());
1595
- Se(Fe, {
1596
- get title() {
1597
- return d(e);
1598
- },
1599
- get description() {
1600
- return d(t);
1601
- },
1602
- get confirmLabel() {
1603
- return d(n);
1604
- },
1605
- get cancelLabel() {
1606
- return d(r);
1607
- },
1608
- variant: "destructive",
1609
- get busy() {
1610
- return d(z);
1611
- },
1612
- onConfirm: xe,
1613
- onCancel: W,
1614
- get open() {
1615
- return d(I);
1616
- },
1617
- set open(e) {
1618
- M(I, e, !0);
1619
- }
1620
- });
1621
- }
1622
- return a((e) => D(je, e), [() => qe()]), t(i, Oe), y(Ce);
1623
- }
1624
- i(["click"]);
1625
- //#endregion
1626
- //#region src/lib/components/sidebar/TagList.svelte
1627
- var jn = s("<p class=\"px-2 text-xs text-destructive\"> </p>"), Mn = s("<button><!></button>"), Nn = s("<!> <!>", 1), Pn = s("<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>"), Fn = s("<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);
1628
- function In(i, s) {
1629
- x(s, !0);
1630
- let l = m(P([])), u = m(null), f = m(!1), h = m(null), g = m(!1), T = m(null), E = m(!1);
1631
- async function k() {
1632
- try {
1633
- M(l, await Vt(), !0);
1634
- } catch (e) {
1635
- console.error("TagList: failed to load tags", e), M(u, Ye(), !0);
1636
- }
1637
- }
1638
- Qt(() => {
1639
- k();
1640
- }), j(() => {
1641
- Ft(), k();
1642
- });
1643
- function A(e) {
1644
- M(l, [...d(l), e], !0), Lt(), k();
1645
- }
1646
- function N(e) {
1647
- M(l, d(l).map((t) => t.id === e.id ? e : t), !0), Lt();
1648
- }
1649
- function F(e) {
1650
- M(h, e, !0), M(f, !0);
1651
- }
1652
- function I() {
1653
- M(h, null);
1654
- }
1655
- function L(e) {
1656
- M(T, e, !0), M(g, !0);
1657
- }
1658
- function re() {
1659
- M(g, !1), M(T, null);
1660
- }
1661
- async function ie() {
1662
- let e = d(T);
1663
- if (!(!e || d(E))) {
1664
- M(E, !0);
1665
- try {
1666
- await Bt(e.id), M(l, d(l).filter((t) => t.id !== e.id), !0), It() === e.id && Rt(null), M(g, !1), M(T, null), Lt();
1667
- } catch (e) {
1668
- console.error("TagList: deleteTag failed", e), M(u, at(), !0);
1669
- } finally {
1670
- M(E, !1);
1671
- }
1672
- }
1673
- }
1674
- var ae = Fn(), oe = e(ae), se = c(oe), ce = c(se, !0);
1675
- p(se);
1676
- var pe = b(se, 2), z = (e) => {
1677
- var n = jn(), r = c(n, !0);
1678
- p(n), a(() => D(r, d(u))), t(e, n);
1679
- };
1680
- n(pe, (e) => {
1681
- d(u) && e(z);
1682
- });
1683
- var me = b(pe, 2), B = c(me);
1684
- te(B, 17, () => d(l), (e) => e.id, (i, s) => {
1685
- var l = Pn(), u = c(l), f = c(u), m = b(f);
1686
- p(u), de(b(u, 2), {
1687
- children: (i, o) => {
1688
- var l = Nn(), u = e(l);
1689
- ue(u, {
1690
- child: (e, r) => {
1691
- let i = () => (r?.()).props;
1692
- var a = Mn();
1693
- ee(a, (e, t, n) => ({
1694
- ...i(),
1695
- type: "button",
1696
- class: e,
1697
- "aria-label": t,
1698
- title: n,
1699
- disabled: d(E)
1700
- }), [
1701
- () => q("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", It() === d(s).id && "inline-flex"),
1702
- () => Xe(),
1703
- () => Xe()
1704
- ]);
1705
- var o = c(a), l = (e) => {
1706
- ne(e, { class: "size-3 animate-spin" });
1707
- }, u = (e) => {
1708
- fe(e, { class: "size-3" });
1709
- };
1710
- n(o, (e) => {
1711
- d(E) ? e(l) : e(u, -1);
1712
- }), p(a), t(e, a);
1713
- },
1714
- $$slots: { child: !0 }
1715
- }), le(b(u, 2), {
1716
- align: "start",
1717
- children: (n, i) => {
1718
- var o = Nn(), c = e(o);
1719
- R(c, {
1720
- onSelect: () => F(d(s)),
1721
- children: (e, n) => {
1722
- C();
1723
- var i = r();
1724
- a((e) => D(i, e), [() => Ne()]), t(e, i);
1725
- },
1726
- $$slots: { default: !0 }
1727
- }), R(b(c, 2), {
1728
- class: "text-destructive focus:text-destructive",
1729
- onSelect: () => L(d(s)),
1730
- children: (e, n) => {
1731
- C();
1732
- var i = r();
1733
- a((e) => D(i, e), [() => nt()]), t(e, i);
1734
- },
1735
- $$slots: { default: !0 }
1736
- }), t(n, o);
1737
- },
1738
- $$slots: { default: !0 }
1739
- }), t(i, l);
1740
- },
1741
- $$slots: { default: !0 }
1742
- }), p(l), a((e, t) => {
1743
- w(l, 1, e), v(u, "aria-pressed", t), O(f, `background-color: ${(d(s).color || "#888888") ?? ""}`), D(m, ` ${d(s).name ?? ""}`);
1744
- }, [() => S(q("group/tag relative inline-flex items-center rounded-full transition-colors", It() === d(s).id ? "bg-primary text-primary-foreground" : "bg-secondary text-secondary-foreground hover:bg-secondary/80")), () => It() === d(s).id]), o("click", u, () => Rt(It() === d(s).id ? null : d(s).id, d(s).name)), t(i, l);
1745
- });
1746
- var V = b(B, 2), he = c(V);
1747
- ve(he, { class: "size-3" });
1748
- var ge = b(he);
1749
- p(V), p(me), p(oe);
1750
- var _e = b(oe, 2);
1751
- {
1752
- let e = _(() => d(h) ? "edit" : "create");
1753
- Xt(_e, {
1754
- get mode() {
1755
- return d(e);
1756
- },
1757
- get tag() {
1758
- return d(h);
1759
- },
1760
- onCreated: A,
1761
- onUpdated: N,
1762
- onClose: I,
1763
- get open() {
1764
- return d(f);
1765
- },
1766
- set open(e) {
1767
- M(f, e, !0);
1768
- }
1769
- });
1770
- }
1771
- var H = b(_e, 2);
1772
- {
1773
- let e = _(() => We()), t = _(() => $e()), n = _(() => nt()), r = _(() => pt());
1774
- Se(H, {
1775
- get title() {
1776
- return d(e);
1777
- },
1778
- get description() {
1779
- return d(t);
1780
- },
1781
- get confirmLabel() {
1782
- return d(n);
1783
- },
1784
- get cancelLabel() {
1785
- return d(r);
1786
- },
1787
- variant: "destructive",
1788
- get busy() {
1789
- return d(E);
1790
- },
1791
- onConfirm: ie,
1792
- onCancel: re,
1793
- get open() {
1794
- return d(g);
1795
- },
1796
- set open(e) {
1797
- M(g, e, !0);
1798
- }
1799
- });
1800
- }
1801
- a((e, t, n) => {
1802
- D(ce, e), v(V, "aria-label", t), D(ge, ` ${n ?? ""}`);
1803
- }, [
1804
- () => K(),
1805
- () => ft(),
1806
- () => Ze()
1807
- ]), o("click", V, () => {
1808
- M(h, null), M(f, !0);
1809
- }), t(i, ae), y();
1810
- }
1811
- i(["click"]);
1812
- //#endregion
1813
- //#region src/lib/components/sidebar/Sidebar.svelte
1814
- var Ln = s("<div role=\"separator\" tabindex=\"-1\"></div>"), Rn = s("<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>"), zn = s("<!> <div class=\"h-px bg-border\"></div>", 1), Bn = s("<span class=\"rounded bg-muted px-1.5 py-0.5 text-xs\"> </span>"), Vn = s("<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>"), Hn = s("<div class=\"h-px bg-border\"></div> <nav class=\"space-y-1\" aria-label=\"Product navigation\"></nav>", 1), Un = s("<div class=\"flex flex-1 flex-col gap-4 overflow-y-auto p-3\"><!> <!> <!> <!> <!></div>"), Wn = s("<span class=\"text-xs\"> </span>"), Gn = s("<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>"), Z = s("<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>"), Kn = s("<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>"), qn = s("<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>"), Jn = s("<aside tabindex=\"-1\"><!> <!> <!> <div class=\"border-t border-border p-2\"><!></div></aside> <!>", 1);
1815
- function Q(r, i) {
1816
- x(i, !0);
1817
- let s = k(i, "mobile", 3, !1), l = k(i, "mobileOpen", 3, !1), u = k(i, "element", 15, null), f = "hiai_sidebar_collapsed", h = m(!1), g = m(!1), T = m("all"), ee = _(() => !s() && d(h)), N = m(256), P = m(!1), F = Mt(), I = _(() => Nt(F.navigation, { pathname: J.url.pathname }));
1818
- j(() => {
1819
- if (typeof window < "u") {
1820
- try {
1821
- M(h, localStorage.getItem(f) === "1");
1822
- } catch {}
1823
- let e = localStorage.getItem("hiai_sidebar_width");
1824
- if (e) {
1825
- let t = parseInt(e, 10);
1826
- !Number.isNaN(t) && t >= 180 && t <= 500 && M(N, t, !0);
1827
- }
1828
- }
1829
- }), j(() => {
1830
- if (d(P)) return window.addEventListener("mousemove", re), window.addEventListener("mouseup", ie), () => {
1831
- window.removeEventListener("mousemove", re), window.removeEventListener("mouseup", ie);
1832
- };
1833
- });
1834
- function ne(e) {
1835
- e.preventDefault(), M(P, !0);
1836
- }
1837
- function re(e) {
1838
- M(N, Math.max(180, Math.min(500, e.clientX)), !0);
1839
- }
1840
- function ie() {
1841
- M(P, !1), localStorage.setItem("hiai_sidebar_width", d(N).toString());
1842
- }
1843
- function ae() {
1844
- en("/search");
1845
- }
1846
- function oe(e) {
1847
- M(T, d(T) === e ? "all" : e, !0), M(h, !1), ce();
1848
- }
1849
- function se() {
1850
- M(h, !d(h)), ce(), d(h) && M(T, "all");
1851
- }
1852
- function ce() {
1853
- if (!(typeof localStorage > "u")) try {
1854
- localStorage.setItem(f, d(h) ? "1" : "0");
1855
- } catch {}
1856
- }
1857
- var le = Jn(), R = e(le), ue = c(R), de = (e) => {
1858
- var n = Ln();
1859
- a((e) => w(n, 1, e), [() => S(q("absolute right-0 top-0 z-40 h-full w-1 cursor-col-resize hover:bg-primary/50 transition-colors", d(P) && "bg-primary w-1"))]), o("mousedown", n, ne), t(e, n);
1860
- };
1861
- n(ue, (e) => {
1862
- !s() && !d(ee) && e(de);
1863
- });
1864
- var fe = b(ue, 2), pe = (e) => {
1865
- var r = Rn(), i = c(r), a = (e) => {
1866
- nn(e, { class: "size-3.5" });
1867
- }, s = (e) => {
1868
- tn(e, { class: "size-3.5" });
1869
- };
1870
- n(i, (e) => {
1871
- d(ee) ? e(a) : e(s, -1);
1872
- }), p(r), o("click", r, se), t(e, r);
1873
- };
1874
- n(fe, (e) => {
1875
- s() || e(pe);
1876
- });
1877
- var z = b(fe, 2), me = (r) => {
1878
- var i = Un(), o = c(i);
1879
- sn(o, { class: "mr-5" });
1880
- var s = b(o, 2), l = (n) => {
1881
- var r = zn();
1882
- wn(e(r), {}), C(2), t(n, r);
1883
- };
1884
- n(s, (e) => {
1885
- d(T) === "all" && e(l);
1886
- });
1887
- var u = b(s, 2), f = (n) => {
1888
- var r = zn();
1889
- An(e(r), {}), C(2), t(n, r);
1890
- };
1891
- n(u, (e) => {
1892
- (d(T) === "all" || d(T) === "recent") && e(f);
1893
- });
1894
- var m = b(u, 2), h = (e) => {
1895
- In(e, {});
1896
- };
1897
- n(m, (e) => {
1898
- (d(T) === "all" || d(T) === "tags") && e(h);
1899
- });
1900
- var g = b(m, 2), y = (r) => {
1901
- var i = Hn(), o = b(e(i), 2);
1902
- te(o, 21, () => d(I), (e) => e.id, (r, i) => {
1903
- let o = _(() => d(i).icon);
1904
- var s = Vn(), l = c(s), u = (n) => {
1905
- var r = E();
1906
- L(e(r), () => d(o), (e, t) => {
1907
- t(e, { class: "size-4" });
1908
- }), t(n, r);
1909
- };
1910
- n(l, (e) => {
1911
- d(o) && e(u);
1912
- });
1913
- var f = b(l, 2), m = c(f, !0);
1914
- p(f);
1915
- var h = b(f, 2), g = (e) => {
1916
- var n = Bn(), r = c(n, !0);
1917
- p(n), a(() => D(r, d(i).badge)), t(e, n);
1918
- };
1919
- n(h, (e) => {
1920
- d(i).badge !== void 0 && e(g);
1921
- }), p(s), a(() => {
1922
- v(s, "href", d(i).href ?? "#"), v(s, "aria-disabled", d(i).disabled), D(m, d(i).label);
1923
- }), t(r, s);
1924
- }), p(o), t(r, i);
1925
- };
1926
- n(g, (e) => {
1927
- d(T) === "all" && d(I).length > 0 && e(y);
1928
- }), p(i), t(r, i);
1929
- }, B = (r) => {
1930
- var i = Z(), s = c(i);
1931
- he(c(s), { class: "size-4" }), p(s);
1932
- var l = b(s, 2);
1933
- U(c(l), { class: "size-4" }), p(l);
1934
- var u = b(l, 2);
1935
- ge(c(u), { class: "size-4" }), p(u);
1936
- var f = b(u, 2);
1937
- W(c(f), { class: "size-4" }), p(f), te(b(f, 2), 17, () => d(I), (e) => e.id, (r, i) => {
1938
- let o = _(() => d(i).icon);
1939
- var s = Gn(), l = c(s), u = (n) => {
1940
- var r = E();
1941
- L(e(r), () => d(o), (e, t) => {
1942
- t(e, { class: "size-4" });
1943
- }), t(n, r);
1944
- }, f = (e) => {
1945
- var n = Wn(), r = c(n, !0);
1946
- p(n), a((e) => D(r, e), [() => d(i).label.slice(0, 1)]), t(e, n);
1947
- };
1948
- n(l, (e) => {
1949
- d(o) ? e(u) : e(f, -1);
1950
- }), p(s), a(() => {
1951
- v(s, "href", d(i).href ?? "#"), v(s, "aria-disabled", d(i).disabled), v(s, "title", d(i).label), v(s, "aria-label", d(i).label);
1952
- }), t(r, s);
1953
- }), p(i), a((e, t, n, r, i, a, o, c) => {
1954
- v(s, "title", e), v(s, "aria-label", t), v(l, "title", n), v(l, "aria-label", r), v(u, "title", i), v(u, "aria-label", a), v(f, "title", o), v(f, "aria-label", c);
1955
- }, [
1956
- () => ze(),
1957
- () => ze(),
1958
- () => Qe(),
1959
- () => Qe(),
1960
- () => qe(),
1961
- () => qe(),
1962
- () => K(),
1963
- () => K()
1964
- ]), o("click", s, () => en("/")), o("click", l, ae), o("click", u, () => oe("recent")), o("click", f, () => oe("tags")), t(r, i);
1965
- };
1966
- n(z, (e) => {
1967
- d(ee) ? e(B, -1) : e(me);
1968
- });
1969
- var V = b(z, 2), _e = c(V), ve = (e) => {
1970
- var n = Kn(), r = c(n);
1971
- rn(c(r), { class: "size-4" }), p(r);
1972
- var i = b(r, 2);
1973
- p(n), a((e, t, n, a) => {
1974
- v(r, "title", e), v(r, "aria-label", t), v(i, "title", n), v(i, "aria-label", a);
1975
- }, [
1976
- () => mt(),
1977
- () => mt(),
1978
- () => G(),
1979
- () => G()
1980
- ]), o("click", r, () => {
1981
- M(g, !0);
1982
- }), t(e, n);
1983
- }, H = (e) => {
1984
- var n = qn(), r = c(n), i = c(r, !0);
1985
- p(r);
1986
- var s = b(r, 2);
1987
- rn(c(s), { class: "size-4" }), p(s), p(n), a((e, t, n, a) => {
1988
- v(r, "title", e), D(i, t), v(s, "title", n), v(s, "aria-label", a);
1989
- }, [
1990
- () => G(),
1991
- () => G(),
1992
- () => mt(),
1993
- () => mt()
1994
- ]), o("click", s, () => {
1995
- M(g, !0);
1996
- }), t(e, n);
1997
- };
1998
- n(_e, (e) => {
1999
- d(ee) ? e(ve) : e(H, -1);
2000
- }), p(V), p(R), A(R, (e) => u(e), () => u()), be(b(R, 2), {
2001
- get open() {
2002
- return d(g);
2003
- },
2004
- set open(e) {
2005
- M(g, e, !0);
2006
- }
2007
- }), a((e) => {
2008
- v(R, "id", s() ? "mobile-navigation" : void 0), v(R, "role", s() && l() ? "dialog" : void 0), v(R, "aria-modal", s() && l() ? "true" : void 0), v(R, "aria-label", s() ? "Navigation" : void 0), v(R, "aria-hidden", s() && !l() ? "true" : void 0), R.inert = s() && !l(), w(R, 1, e), O(R, s() ? "padding-top: env(safe-area-inset-top);" : d(ee) ? "width: 48px;" : `width: ${d(N)}px;`);
2009
- }, [() => S(q("flex flex-col border-r border-border bg-card", s() && "fixed inset-y-0 left-0 z-50 h-full w-[80%] max-w-[320px] shadow-xl transition-transform duration-300 ease-out", s() && (l() ? "translate-x-0" : "-translate-x-full"), !s() && "relative h-screen", !s() && !d(P) && "transition-[width] duration-200"))]), t(r, le), y();
2010
- }
2011
- i(["mousedown", "click"]);
2012
- //#endregion
2013
- export { Q as Sidebar };
1
+ import { t as e } from "../Sidebar-Cu3JrKDC.js";
2
+ export { e as Sidebar };