@hiai-gg/docsmint 0.3.8 → 0.4.0

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 (107) hide show
  1. package/dist/backend/index.js +1 -1
  2. package/dist/client.d.ts +11 -0
  3. package/dist/client.js +9 -0
  4. package/dist/frontend/CategoryDialog-CxVyaBV5.js +611 -0
  5. package/dist/frontend/{ConfirmDialog-BLF3x_hr.js → ConfirmDialog-NFGXRa3E.js} +2 -2
  6. package/dist/frontend/{CreateSnapshotDialog-D5vPvFTL.js → CreateSnapshotDialog-BDgFTeFn.js} +40 -40
  7. package/dist/frontend/{DatePicker-CLNTdvTk.js → DatePicker-BZRBluzF.js} +102 -105
  8. package/dist/frontend/{DeleteDialog-DxYFJivN.js → DeleteDialog-CvAr2WPu.js} +39 -39
  9. package/dist/frontend/FolderNode--l1g8bcL.js +298 -0
  10. package/dist/frontend/HiaiDocsExtensionProvider-DHWLzRUu.js +11 -0
  11. package/dist/frontend/SettingsDialog-LyZUxxku.js +1016 -0
  12. package/dist/frontend/{ShareDialog-DYu3RKQu.js → ShareDialog-BUOkYSlw.js} +35 -35
  13. package/dist/frontend/Sidebar-BsJsD1mJ.js +2021 -0
  14. package/dist/frontend/{TagCreateDialog-DXQs2bL9.js → TagCreateDialog-B9YZBNHi.js} +38 -38
  15. package/dist/frontend/api/categories.js +1 -1
  16. package/dist/frontend/api/documents.js +1 -1
  17. package/dist/frontend/api/folders.js +1 -1
  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 +298 -0
  21. package/dist/frontend/{clsx-C7bIvsDS.js → bundle-mjs-DllmqUxV.js} +583 -583
  22. package/dist/frontend/{categories-izQovv2w.js → categories-Drnns7N6.js} +14 -14
  23. package/dist/frontend/components/category-dialog.js +1 -1
  24. package/dist/frontend/components/create-snapshot-dialog.js +1 -1
  25. package/dist/frontend/components/delete-dialog.js +1 -1
  26. package/dist/frontend/components/editor/document-editor.js +1102 -1102
  27. package/dist/frontend/components/editor/document-title.js +2 -2
  28. package/dist/frontend/components/editor/markdown-toggle.js +1 -1
  29. package/dist/frontend/components/folder-node.js +1 -1
  30. package/dist/frontend/components/save-as-dialog.js +75 -75
  31. package/dist/frontend/components/settings.js +1 -1
  32. package/dist/frontend/components/share-dialog.js +1 -1
  33. package/dist/frontend/components/sidebar.js +2 -2021
  34. package/dist/frontend/components/tag-create-dialog.js +1 -1
  35. package/dist/frontend/components/version-history.js +58 -58
  36. package/dist/frontend/{FolderDialog-CRVZM2Oi.js → confirm-dialog-C4jTRbiS.js} +69 -69
  37. package/dist/frontend/dashboard.js +1139 -1137
  38. package/dist/frontend/{dialog-D6NxYVmy.js → dialog-Bevp9mmM.js} +2 -2
  39. package/dist/frontend/{loader-circle-BA6aLO71.js → dist-C3857Spp.js} +81 -81
  40. package/dist/frontend/{documents-BsDkvzCm.js → documents-Bc7b_MSZ.js} +15 -15
  41. package/dist/frontend/{ellipsis-vertical-P9MHvCps.js → dropdown-menu-CRSby3e9.js} +182 -182
  42. package/dist/frontend/extension.js +2 -11
  43. package/dist/frontend/{floating-layer-anchor-CPwucTfd.js → floating-layer-anchor-BDs7vO-M.js} +1 -1
  44. package/dist/frontend/{folders-CTuV_JtU.js → folders-ONG03Dkv.js} +10 -10
  45. package/dist/frontend/frontend.css +1 -1
  46. package/dist/frontend/i18n.js +2 -2
  47. package/dist/frontend/{input-B5Rak-5G.js → input-BWlOML_m.js} +1 -1
  48. package/dist/frontend/{label-CW9rxoAb.js → label-C2HfJNQ2.js} +1 -1
  49. package/dist/frontend/{messages-BpYaLbzE.js → messages-C5Q890i2.js} +8 -8
  50. package/dist/frontend/route-context-BqQQ5c4i.js +29 -0
  51. package/dist/frontend/search.js +629 -629
  52. package/dist/frontend/{select-value-sF86Geyh.js → select-value-GXwx90Pr.js} +2 -2
  53. package/dist/frontend/{settings-blyobazp.js → settings-DSrUl4hW.js} +9 -9
  54. package/dist/frontend/{tag-store.svelte-CqrUXo0o.js → tag-store.svelte-CG7RrlDT.js} +1 -1
  55. package/dist/frontend/{textarea-i1720bE7.js → textarea-DOAE-h42.js} +1 -1
  56. package/dist/frontend/{utils-hzdMVeCv.js → utils-BPDRytUU.js} +1 -1
  57. package/dist/frontend/{utils-CffiyuTo.js → utils-DrfHTcei.js} +1 -1
  58. package/dist/frontend/utils.js +1 -1
  59. package/dist/frontend-ssr/api/categories.js +1 -1
  60. package/dist/frontend-ssr/api/documents.js +1 -1
  61. package/dist/frontend-ssr/api/folders.js +1 -1
  62. package/dist/frontend-ssr/api/settings.js +1 -1
  63. package/dist/frontend-ssr/app-shell.js +303 -0
  64. package/dist/frontend-ssr/assets/{CategoryDialog-C2xaZKHq.js → CategoryDialog-BcGW8-Kf.js} +4 -4
  65. package/dist/frontend-ssr/assets/{CreateSnapshotDialog-BRw1xJW1.js → CreateSnapshotDialog-1bROJ-Rn.js} +4 -4
  66. package/dist/frontend-ssr/assets/{DatePicker-DnXniwlZ.js → DatePicker-B1ML8OVz.js} +33 -33
  67. package/dist/frontend-ssr/assets/{FolderNode-DRfBfpft.js → FolderNode-CpHrpOED.js} +8 -6
  68. package/dist/frontend-ssr/assets/HiaiDocsExtensionProvider-DAM-lX4R.js +13 -0
  69. package/dist/frontend-ssr/assets/{SettingsDialog-CX8Noa8A.js → SettingsDialog-Dg97vv83.js} +20 -19
  70. package/dist/frontend-ssr/assets/{ShareDialog-Cge49ZdJ.js → ShareDialog-vMvJLRfn.js} +1 -1
  71. package/dist/frontend-ssr/assets/Sidebar-CrDk_HYY.js +2037 -0
  72. package/dist/frontend-ssr/assets/{TagCreateDialog-EAChgBF-.js → TagCreateDialog-B0DPEfmQ.js} +3 -3
  73. package/dist/frontend-ssr/assets/{categories-AOqgcsn4.js → categories-CTCtdv7V.js} +10 -10
  74. package/dist/frontend-ssr/assets/{FolderDialog-Dq7I2cKZ.js → confirm-dialog-BCthVwUY.js} +4 -4
  75. package/dist/frontend-ssr/assets/{documents-BnOTRdTY.js → documents-PObdTOiT.js} +8 -8
  76. package/dist/frontend-ssr/assets/{ellipsis-vertical-C-0hgkZn.js → dropdown-menu-Bj5rbqbB.js} +96 -96
  77. package/dist/frontend-ssr/assets/{folders-CTfbS24J.js → folders-BX30gHv6.js} +10 -10
  78. package/dist/frontend-ssr/assets/{messages-DhXqlcJI.js → messages-CvqpZNJe.js} +1 -1
  79. package/dist/frontend-ssr/assets/route-context-uca_b2Px.js +36 -0
  80. package/dist/frontend-ssr/assets/{select-value-DngdSmLI.js → select-value-6Lk0ToYd.js} +1 -1
  81. package/dist/frontend-ssr/assets/{tag-store.svelte-DPodKj6Z.js → tag-store.svelte-DvgUduhd.js} +1 -1
  82. package/dist/frontend-ssr/components/category-dialog.js +1 -1
  83. package/dist/frontend-ssr/components/create-snapshot-dialog.js +1 -1
  84. package/dist/frontend-ssr/components/delete-dialog.js +1 -1
  85. package/dist/frontend-ssr/components/editor/document-editor.js +5 -5
  86. package/dist/frontend-ssr/components/editor/document-title.js +1 -1
  87. package/dist/frontend-ssr/components/editor/markdown-toggle.js +1 -1
  88. package/dist/frontend-ssr/components/folder-node.js +1 -1
  89. package/dist/frontend-ssr/components/save-as-dialog.js +5 -5
  90. package/dist/frontend-ssr/components/settings.js +1 -1
  91. package/dist/frontend-ssr/components/share-dialog.js +1 -1
  92. package/dist/frontend-ssr/components/sidebar.js +1 -2032
  93. package/dist/frontend-ssr/components/tag-create-dialog.js +1 -1
  94. package/dist/frontend-ssr/components/version-history.js +3 -3
  95. package/dist/frontend-ssr/dashboard.js +45 -37
  96. package/dist/frontend-ssr/extension.js +1 -12
  97. package/dist/frontend-ssr/i18n.js +1 -1
  98. package/dist/frontend-ssr/search.js +9 -7
  99. package/package.json +7 -1
  100. package/packages/cli/src/index.ts +1 -1
  101. package/packages/mcp-server/src/index.ts +1 -1
  102. package/dist/frontend/CategoryDialog-DphkZqIB.js +0 -611
  103. package/dist/frontend/FolderNode-C2zG7uii.js +0 -298
  104. package/dist/frontend/SettingsDialog-DCM4-N6_.js +0 -1016
  105. package/dist/frontend-ssr/assets/{DeleteDialog-BCfZy3Zn.js → DeleteDialog-tBYaP0L3.js} +1 -1
  106. package/dist/frontend-ssr/assets/{floating-layer-anchor-uzw9K8qN.js → floating-layer-anchor-CYIE8Oj6.js} +1 -1
  107. package/dist/frontend-ssr/assets/{settings-E6qSAWM2.js → settings-Bk5Hk9Vq.js} +1 -1
@@ -0,0 +1,1016 @@
1
+ import { t as e } from "./Icon-CooFj4Ee.js";
2
+ import { n as t } from "./dist-C3857Spp.js";
3
+ import { Cr as n, Qn as r, Sr as i, Tr as a, _r as o, ar as s, br as c, cr as l, dr as u, fr as d, gr as f, hr as p, lr as m, mr as h, or as g, pr as _, sr as v, ur as y, vr as b, wr as x, xr as S, yr as C, z as ee, zt as w } from "./messages-C5Q890i2.js";
4
+ import { n as te, r as ne } from "./route-context-BqQQ5c4i.js";
5
+ import { t as T } from "./utils-BPDRytUU.js";
6
+ import { a as re, i as ie, n as ae, o as E, r as oe, t as se } from "./dialog-Bevp9mmM.js";
7
+ import { t as D } from "./input-BWlOML_m.js";
8
+ import { t as O } from "./label-C2HfJNQ2.js";
9
+ import { r as ce, t as le } from "./auth-client-Cygmp1I2.js";
10
+ import { a as ue, r as de } from "./settings-DSrUl4hW.js";
11
+ import { a as k, i as A, n as j, o as M, s as N, t as P } from "./api-keys-CpkrA8rD.js";
12
+ import { i as F } from "./categories-Drnns7N6.js";
13
+ import { t as fe } from "./context-BMD6XTPe.js";
14
+ import { t as pe } from "./resolve-BG4HgzpN.js";
15
+ import { n as I, t as L } from "./db-ByrlYfaI.js";
16
+ import { a as R, t as z } from "./identity-DyWeNzu_.js";
17
+ import { n as B, r as V, t as H } from "./search-preferences-B1GdbdUc.js";
18
+ import { t as me } from "./theme.svelte-DKfCy12k.js";
19
+ import "svelte/internal/disclose-version";
20
+ import * as U from "svelte/internal/client";
21
+ import "svelte/internal/flags/legacy";
22
+ import { onMount as he } from "svelte";
23
+ import { page as ge } from "$app/state";
24
+ //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/log-out.svelte
25
+ function _e(t, n) {
26
+ let r = U.legacy_rest_props(n, [
27
+ "children",
28
+ "$$slots",
29
+ "$$events",
30
+ "$$legacy"
31
+ ]), i = [
32
+ ["path", { d: "m16 17 5-5-5-5" }],
33
+ ["path", { d: "M21 12H9" }],
34
+ ["path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" }]
35
+ ];
36
+ e(t, U.spread_props({ name: "log-out" }, () => r, {
37
+ get iconNode() {
38
+ return i;
39
+ },
40
+ children: (e, t) => {
41
+ var r = U.comment(), i = U.first_child(r);
42
+ U.slot(i, n, "default", {}, null), U.append(e, r);
43
+ },
44
+ $$slots: { default: !0 }
45
+ }));
46
+ }
47
+ //#endregion
48
+ //#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/save.svelte
49
+ function ve(t, n) {
50
+ let r = U.legacy_rest_props(n, [
51
+ "children",
52
+ "$$slots",
53
+ "$$events",
54
+ "$$legacy"
55
+ ]), i = [
56
+ ["path", { d: "M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z" }],
57
+ ["path", { d: "M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7" }],
58
+ ["path", { d: "M7 3v4a1 1 0 0 0 1 1h7" }]
59
+ ];
60
+ e(t, U.spread_props({ name: "save" }, () => r, {
61
+ get iconNode() {
62
+ return i;
63
+ },
64
+ children: (e, t) => {
65
+ var r = U.comment(), i = U.first_child(r);
66
+ U.slot(i, n, "default", {}, null), U.append(e, r);
67
+ },
68
+ $$slots: { default: !0 }
69
+ }));
70
+ }
71
+ //#endregion
72
+ //#region ../node_modules/.bun/@hiai-gg+hiai-ui@0.0.8+3149ccaa93f654b8/node_modules/@hiai-gg/hiai-ui/dist/components/ui/tabs/tabs.svelte
73
+ var W = U.from_html("<div><!></div>");
74
+ function ye(e, t) {
75
+ U.push(t, !0);
76
+ let n = U.prop(t, "value", 15, "");
77
+ var r = W(), i = U.child(r), a = (e) => {
78
+ var n = U.comment(), r = U.first_child(n);
79
+ U.snippet(r, () => t.children), U.append(e, n);
80
+ };
81
+ U.if(i, (e) => {
82
+ t.children && e(a);
83
+ }), U.reset(r), U.template_effect((e) => {
84
+ U.set_class(r, 1, e), U.set_attribute(r, "data-tabs-value", n());
85
+ }, [() => U.clsx(T("w-full", t.class))]), U.append(e, r), U.pop();
86
+ }
87
+ //#endregion
88
+ //#region ../node_modules/.bun/@hiai-gg+hiai-ui@0.0.8+3149ccaa93f654b8/node_modules/@hiai-gg/hiai-ui/dist/components/ui/tabs/tabs-content.svelte
89
+ var be = U.from_html("<div role=\"tabpanel\"><!></div>");
90
+ function G(e, t) {
91
+ U.push(t, !0);
92
+ var n = U.comment(), r = U.first_child(n), i = (e) => {
93
+ var n = be(), r = U.child(n), i = (e) => {
94
+ var n = U.comment(), r = U.first_child(n);
95
+ U.snippet(r, () => t.children), U.append(e, n);
96
+ };
97
+ U.if(r, (e) => {
98
+ t.children && e(i);
99
+ }), U.reset(n), U.template_effect((e) => U.set_class(n, 1, e), [() => U.clsx(T("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", t.class))]), U.append(e, n);
100
+ };
101
+ U.if(r, (e) => {
102
+ t.currentValue === t.value && e(i);
103
+ }), U.append(e, n), U.pop();
104
+ }
105
+ //#endregion
106
+ //#region ../node_modules/.bun/@hiai-gg+hiai-ui@0.0.8+3149ccaa93f654b8/node_modules/@hiai-gg/hiai-ui/dist/components/ui/tabs/tabs-list.svelte
107
+ var xe = U.from_html("<div role=\"tablist\"><!></div>");
108
+ function Se(e, t) {
109
+ U.push(t, !0);
110
+ var n = xe(), r = U.child(n), i = (e) => {
111
+ var n = U.comment(), r = U.first_child(n);
112
+ U.snippet(r, () => t.children), U.append(e, n);
113
+ };
114
+ U.if(r, (e) => {
115
+ t.children && e(i);
116
+ }), U.reset(n), U.template_effect((e) => U.set_class(n, 1, e), [() => U.clsx(T("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground", t.class))]), U.append(e, n), U.pop();
117
+ }
118
+ //#endregion
119
+ //#region ../node_modules/.bun/@hiai-gg+hiai-ui@0.0.8+3149ccaa93f654b8/node_modules/@hiai-gg/hiai-ui/dist/components/ui/tabs/tabs-trigger.svelte
120
+ var Ce = U.from_html("<button type=\"button\" role=\"tab\"><!></button>");
121
+ function K(e, t) {
122
+ U.push(t, !0);
123
+ let n = U.prop(t, "selected", 3, !1);
124
+ function r() {
125
+ t.onclick?.(t.value);
126
+ }
127
+ var i = Ce(), a = U.child(i), o = (e) => {
128
+ var n = U.comment(), r = U.first_child(n);
129
+ U.snippet(r, () => t.children), U.append(e, n);
130
+ };
131
+ U.if(a, (e) => {
132
+ t.children && e(o);
133
+ }), U.reset(i), U.template_effect((e) => {
134
+ U.set_attribute(i, "aria-selected", n()), U.set_attribute(i, "data-state", n() ? "active" : "inactive"), U.set_class(i, 1, e);
135
+ }, [() => U.clsx(T("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", n() ? "bg-primary text-primary-foreground shadow" : "text-muted-foreground hover:bg-accent hover:text-accent-foreground", t.class))]), U.delegated("click", i, r), U.append(e, i), U.pop();
136
+ }
137
+ U.delegate(["click"]);
138
+ //#endregion
139
+ //#region src/lib/components/settings/ApiAccessSettings.svelte
140
+ var we = U.from_html("<div class=\"rounded-lg border border-primary/30 bg-primary/10 p-4 text-primary\"><p class=\"text-sm font-medium\">Copy this key now. It will not be shown again.</p> <code class=\"mt-2 block break-all rounded bg-background/80 p-2 text-xs text-foreground\"> </code> <!></div>"), q = U.from_html("<p class=\"text-sm text-destructive\" role=\"alert\"> </p>"), Te = U.from_html("<p class=\"text-sm text-muted-foreground\">Loading API access…</p>"), Ee = U.from_html("<div class=\"flex items-center justify-between rounded-md border p-3 text-sm\"><div><div class=\"font-medium\"> </div><div class=\"text-muted-foreground\"> </div></div> <!></div>"), De = U.from_html("<p class=\"text-sm text-muted-foreground\">No global API keys.</p>"), Oe = U.from_html("<div class=\"flex items-center justify-between gap-3 rounded-md border border-dashed p-3 text-sm\"><div><div class=\"font-medium\"> </div><div class=\"text-muted-foreground\"> </div></div> <div class=\"flex shrink-0 gap-2\"><!> <!></div></div>"), ke = U.from_html("<p class=\"text-sm text-muted-foreground\">No category API keys.</p>"), Ae = U.from_html("<div class=\"max-h-72 space-y-5 overflow-y-auto pr-1\" aria-label=\"API key management list\"><section class=\"space-y-2\"><h3 class=\"text-sm font-semibold\">Global keys</h3> <!></section> <section class=\"space-y-2\"><h3 class=\"text-sm font-semibold\">Category keys</h3> <!></section></div>"), je = U.from_html("<div class=\"space-y-5 rounded-lg border border-border bg-card p-6\"><div><h2 class=\"text-lg font-medium\">API</h2> <p class=\"text-sm text-muted-foreground\">Create a user-wide key or review category-scoped access. Global keys are shown once.</p></div> <div class=\"flex gap-2\"><!> <!></div> <!> <!> <!></div>");
141
+ function Me(e, t) {
142
+ U.push(t, !0);
143
+ let n = U.state(U.proxy([])), r = U.state(U.proxy([])), i = U.state("Global API key"), a = U.state(U.proxy({})), o = U.state(null), s = U.state(!0), c = U.state(!1), l = U.state(null), u = U.derived(() => U.get(o) ? U.get(a)[U.get(o)] : void 0), d = U.derived(() => U.get(n).filter((e) => e.scopes.includes("global"))), f = U.derived(() => U.get(n).filter((e) => j(e.scopes) !== null));
144
+ function p(e) {
145
+ return U.get(r).find((t) => t.id === e)?.name ?? "Unknown category";
146
+ }
147
+ async function m() {
148
+ U.set(s, !0), U.set(l, null);
149
+ try {
150
+ let [e, t] = await Promise.all([k(), F()]);
151
+ U.set(n, e.keys, !0), U.set(r, t, !0);
152
+ } catch (e) {
153
+ U.set(l, e instanceof Error ? e.message : "Failed to load API access", !0);
154
+ } finally {
155
+ U.set(s, !1);
156
+ }
157
+ }
158
+ he(m);
159
+ async function h() {
160
+ U.set(c, !0), U.set(l, null);
161
+ try {
162
+ let e = await A(U.get(i).trim() || void 0);
163
+ U.set(a, {
164
+ ...U.get(a),
165
+ [e.id]: e.key
166
+ }, !0), U.set(o, e.id, !0), await m();
167
+ } catch (e) {
168
+ U.set(l, e instanceof Error ? e.message : "Failed to create API key", !0);
169
+ } finally {
170
+ U.set(c, !1);
171
+ }
172
+ }
173
+ async function g(e) {
174
+ U.set(c, !0);
175
+ try {
176
+ await N(e);
177
+ let { [e]: t, ...n } = U.get(a);
178
+ U.set(a, n, !0), U.get(o) === e && U.set(o, null), await m();
179
+ } finally {
180
+ U.set(c, !1);
181
+ }
182
+ }
183
+ async function _(e) {
184
+ let t = U.get(a)[e.id] ?? await M(e.id);
185
+ await navigator.clipboard.writeText(P(e, t));
186
+ }
187
+ var v = je(), y = U.sibling(U.child(v), 2), b = U.child(y);
188
+ D(b, {
189
+ "aria-label": "Global API key name",
190
+ get value() {
191
+ return U.get(i);
192
+ },
193
+ set value(e) {
194
+ U.set(i, e, !0);
195
+ }
196
+ }), E(U.sibling(b, 2), {
197
+ onclick: h,
198
+ get disabled() {
199
+ return U.get(c);
200
+ },
201
+ children: (e, t) => {
202
+ U.next();
203
+ var n = U.text("Create global key");
204
+ U.append(e, n);
205
+ },
206
+ $$slots: { default: !0 }
207
+ }), U.reset(y);
208
+ var x = U.sibling(y, 2), S = (e) => {
209
+ var t = we(), n = U.sibling(U.child(t), 2), r = U.child(n, !0);
210
+ U.reset(n), E(U.sibling(n, 2), {
211
+ class: "mt-2",
212
+ size: "sm",
213
+ variant: "outline",
214
+ onclick: () => navigator.clipboard.writeText(U.get(u)),
215
+ children: (e, t) => {
216
+ U.next();
217
+ var n = U.text("Copy key");
218
+ U.append(e, n);
219
+ },
220
+ $$slots: { default: !0 }
221
+ }), U.reset(t), U.template_effect(() => U.set_text(r, U.get(u))), U.append(e, t);
222
+ };
223
+ U.if(x, (e) => {
224
+ U.get(u) && e(S);
225
+ });
226
+ var C = U.sibling(x, 2), ee = (e) => {
227
+ var t = q(), n = U.child(t, !0);
228
+ U.reset(t), U.template_effect(() => U.set_text(n, U.get(l))), U.append(e, t);
229
+ };
230
+ U.if(C, (e) => {
231
+ U.get(l) && e(ee);
232
+ });
233
+ var w = U.sibling(C, 2), te = (e) => {
234
+ var t = Te();
235
+ U.append(e, t);
236
+ }, ne = (e) => {
237
+ var t = Ae(), n = U.child(t), r = U.sibling(U.child(n), 2);
238
+ U.each(r, 17, () => U.get(d), (e) => e.id, (e, t) => {
239
+ var n = Ee(), r = U.child(n), i = U.child(r), a = U.child(i, !0);
240
+ U.reset(i);
241
+ var o = U.sibling(i), s = U.child(o);
242
+ U.reset(o), U.reset(r), E(U.sibling(r, 2), {
243
+ size: "sm",
244
+ variant: "destructive",
245
+ onclick: () => g(U.get(t).id),
246
+ get disabled() {
247
+ return U.get(c);
248
+ },
249
+ children: (e, t) => {
250
+ U.next();
251
+ var n = U.text("Revoke");
252
+ U.append(e, n);
253
+ },
254
+ $$slots: { default: !0 }
255
+ }), U.reset(n), U.template_effect(() => {
256
+ U.set_text(a, U.get(t).name), U.set_text(s, `${U.get(t).prefix ?? ""}…`);
257
+ }), U.append(e, n);
258
+ }, (e) => {
259
+ var t = De();
260
+ U.append(e, t);
261
+ }), U.reset(n);
262
+ var i = U.sibling(n, 2), o = U.sibling(U.child(i), 2);
263
+ U.each(o, 17, () => U.get(f), (e) => e.id, (e, t) => {
264
+ var n = Oe(), r = U.child(n), i = U.child(r), o = U.child(i);
265
+ U.reset(i);
266
+ var s = U.sibling(i), l = U.child(s);
267
+ U.reset(s), U.reset(r);
268
+ var u = U.sibling(r, 2), d = U.child(u);
269
+ {
270
+ let e = U.derived(() => !U.get(t).recoverable && !U.get(a)[U.get(t).id]);
271
+ E(d, {
272
+ size: "sm",
273
+ variant: "outline",
274
+ onclick: () => _(U.get(t)),
275
+ get disabled() {
276
+ return U.get(e);
277
+ },
278
+ children: (e, n) => {
279
+ U.next();
280
+ var r = U.text();
281
+ U.template_effect(() => U.set_text(r, U.get(t).recoverable || U.get(a)[U.get(t).id] ? "Copy key" : "Rotate to enable copy")), U.append(e, r);
282
+ },
283
+ $$slots: { default: !0 }
284
+ });
285
+ }
286
+ E(U.sibling(d, 2), {
287
+ size: "sm",
288
+ variant: "destructive",
289
+ onclick: () => g(U.get(t).id),
290
+ get disabled() {
291
+ return U.get(c);
292
+ },
293
+ children: (e, t) => {
294
+ U.next();
295
+ var n = U.text("Revoke");
296
+ U.append(e, n);
297
+ },
298
+ $$slots: { default: !0 }
299
+ }), U.reset(u), U.reset(n), U.template_effect((e, n) => {
300
+ U.set_text(o, `${e ?? ""}: ${U.get(t).name ?? ""}`), U.set_text(l, `${U.get(t).prefix ?? ""}… · ${n ?? ""}`);
301
+ }, [() => p(j(U.get(t).scopes)), () => U.get(t).scopes.map((e) => e.split(":").at(-1)).join(" / ")]), U.append(e, n);
302
+ }, (e) => {
303
+ var t = ke();
304
+ U.append(e, t);
305
+ }), U.reset(i), U.reset(t), U.append(e, t);
306
+ };
307
+ U.if(w, (e) => {
308
+ U.get(s) ? e(te) : e(ne, -1);
309
+ }), U.reset(v), U.append(e, v), U.pop();
310
+ }
311
+ //#endregion
312
+ //#region src/lib/offline/cleanup.ts
313
+ async function Ne() {
314
+ let e = null;
315
+ try {
316
+ e = await R();
317
+ } catch {} finally {
318
+ z();
319
+ }
320
+ let t = "hiai-docs::hiai-docs-pwa-local::pwa-v1";
321
+ try {
322
+ if (e) try {
323
+ let t = I(e);
324
+ await Promise.allSettled([
325
+ t.documents.clear(),
326
+ t.folders.clear(),
327
+ t.drafts.clear(),
328
+ t.mutationQueue?.clear(),
329
+ t.metadata.clear()
330
+ ]);
331
+ } finally {
332
+ await L(e).catch(() => void 0);
333
+ }
334
+ let n = await caches.keys();
335
+ await Promise.all(n.filter((e) => e.startsWith(`${t}::`) || e.startsWith(`${t}-`)).map((e) => caches.delete(e))), "serviceWorker" in navigator && (await navigator.serviceWorker.getRegistration("/"))?.active?.postMessage({
336
+ type: "CLEAR_HOST_CACHES",
337
+ cachePrefix: t
338
+ });
339
+ } catch {}
340
+ }
341
+ //#endregion
342
+ //#region src/lib/stores/editor-preferences.ts
343
+ var J = {
344
+ showVisualMode: !0,
345
+ showMarkdownMode: !0,
346
+ minimalToolbar: !1,
347
+ showScrollToTop: !0
348
+ };
349
+ function Pe(e) {
350
+ if (!e || typeof e != "object") return { ...J };
351
+ let t = e, n = typeof t.showVisualMode == "boolean" ? t.showVisualMode : J.showVisualMode, r = typeof t.showMarkdownMode == "boolean" ? t.showMarkdownMode : J.showMarkdownMode;
352
+ return {
353
+ showVisualMode: n || !r,
354
+ showMarkdownMode: r,
355
+ minimalToolbar: typeof t.minimalToolbar == "boolean" ? t.minimalToolbar : J.minimalToolbar,
356
+ showScrollToTop: typeof t.showScrollToTop == "boolean" ? t.showScrollToTop : J.showScrollToTop
357
+ };
358
+ }
359
+ //#endregion
360
+ //#region src/lib/stores/editor-preferences.svelte.ts
361
+ var Fe = "docsmint-editor-preferences", Y = U.state(U.proxy({ ...J })), Ie = !1;
362
+ function Le() {
363
+ return typeof window < "u" && typeof localStorage < "u";
364
+ }
365
+ function Re() {
366
+ if (!(!Le() || Ie)) {
367
+ Ie = !0;
368
+ try {
369
+ U.set(Y, Pe(JSON.parse(localStorage.getItem(Fe) ?? "null")), !0);
370
+ } catch {
371
+ U.set(Y, { ...J }, !0);
372
+ }
373
+ }
374
+ }
375
+ function ze(e) {
376
+ U.set(Y, Pe({
377
+ ...U.get(Y),
378
+ ...e
379
+ }), !0), Le() && localStorage.setItem(Fe, JSON.stringify(U.get(Y)));
380
+ }
381
+ var X = {
382
+ get value() {
383
+ return U.get(Y);
384
+ },
385
+ get showMarkdownMode() {
386
+ return U.get(Y).showMarkdownMode;
387
+ },
388
+ get showVisualMode() {
389
+ return U.get(Y).showVisualMode;
390
+ },
391
+ get minimalToolbar() {
392
+ return U.get(Y).minimalToolbar;
393
+ },
394
+ get showScrollToTop() {
395
+ return U.get(Y).showScrollToTop;
396
+ },
397
+ init: Re,
398
+ update: ze
399
+ }, Be = !1, Z = U.state(U.proxy({ ...H }));
400
+ function Ve() {
401
+ if (!(typeof localStorage > "u")) try {
402
+ localStorage.setItem(B, JSON.stringify(U.get(Z)));
403
+ } catch {}
404
+ }
405
+ function He() {
406
+ if (!(Be || typeof window > "u")) {
407
+ Be = !0;
408
+ try {
409
+ U.set(Z, V(JSON.parse(localStorage.getItem("docsmint:search-preferences") ?? "null")), !0);
410
+ } catch {
411
+ U.set(Z, { ...H }, !0);
412
+ }
413
+ }
414
+ }
415
+ function Ue(e) {
416
+ U.set(Z, {
417
+ ...U.get(Z),
418
+ ...e
419
+ }, !0), Ve();
420
+ }
421
+ var Q = {
422
+ get graphSearchEnabled() {
423
+ return U.get(Z).graphSearchEnabled;
424
+ },
425
+ init: He,
426
+ update: Ue
427
+ }, We = U.from_html("<!> <!>", 1), Ge = U.from_html("<!> <!> <!> <!> <!>", 1), Ke = U.from_html("<p class=\"text-xs text-muted-foreground\">Verification is required before the new address becomes active.</p>"), qe = U.from_html("<p class=\"text-sm text-destructive\"> </p>"), $ = U.from_html("<!> ", 1), Je = U.from_html("<form class=\"space-y-4\"><div class=\"space-y-2\"><!> <!></div> <div class=\"space-y-2\"><!> <!> <p class=\"text-xs text-muted-foreground\"> </p> <!></div> <div class=\"flex items-center justify-between gap-4 rounded-md border p-3\"><span><span class=\"block text-sm font-medium\">GraphRAG search</span> <span class=\"block text-xs text-muted-foreground\">Use graph expansion for related documents. Disable it for faster standard RAG search.</span></span> <button type=\"button\" role=\"switch\" aria-label=\"Use GraphRAG search\"><span class=\"svelte-1eaqpj\"></span></button></div> <!> <!></form>"), Ye = U.from_html("<form class=\"space-y-4\"><div class=\"space-y-2\"><!> <!></div> <div class=\"space-y-2\"><!> <!></div> <div class=\"space-y-2\"><!> <!></div> <!> <!></form>"), Xe = U.from_html("<button type=\"button\"> </button>"), Ze = U.from_html("<div class=\"space-y-6\"><div class=\"space-y-2\"><!> <p class=\"text-xs text-muted-foreground\"> </p></div> <div class=\"grid grid-cols-3 gap-2\"></div> <details class=\"editor-settings border-t pt-5 svelte-1eaqpj\"><summary class=\"flex cursor-pointer items-center justify-between gap-3 rounded-md px-1 py-2 svelte-1eaqpj\"><span><span class=\"block text-sm font-medium\">Editor modes</span> <span class=\"block text-xs text-muted-foreground\">Source views and toolbar layout</span></span> <span class=\"editor-settings-chevron svelte-1eaqpj\" aria-hidden=\"true\">⌄</span></summary> <div class=\"mt-3 space-y-3\"><div class=\"flex items-center justify-between gap-4 rounded-md border p-3\"><span><span class=\"block text-sm font-medium\">Visual editor</span> <span class=\"block text-xs text-muted-foreground\">Show the standard WYSIWYG editor mode.</span></span> <button type=\"button\" role=\"switch\" aria-label=\"Show visual editor\"><span class=\"svelte-1eaqpj\"></span></button></div> <div class=\"flex items-center justify-between gap-4 rounded-md border p-3\"><span><span class=\"block text-sm font-medium\">Raw Markdown</span> <span class=\"block text-xs text-muted-foreground\">Show the Markdown source button in documents.</span></span> <button type=\"button\" role=\"switch\" aria-label=\"Show Raw Markdown\"><span class=\"svelte-1eaqpj\"></span></button></div> <div class=\"flex items-center justify-between gap-4 rounded-md border p-3\"><span><span class=\"block text-sm font-medium\">Minimal toolbar</span> <span class=\"block text-xs text-muted-foreground\">Bold, italic, underline, lists, highlight, and copy.</span></span> <button type=\"button\" role=\"switch\" aria-label=\"Use minimal toolbar\"><span class=\"svelte-1eaqpj\"></span></button></div> <div class=\"flex items-center justify-between gap-4 rounded-md border p-3\"><span><span class=\"block text-sm font-medium\">Scroll to top</span> <span class=\"block text-xs text-muted-foreground\">Show the floating arrow after scrolling down.</span></span> <button type=\"button\" role=\"switch\" aria-label=\"Show scroll to top\"><span class=\"svelte-1eaqpj\"></span></button></div></div></details></div>"), Qe = U.from_html("<!> <!> <!> <!> <!> <!>", 1), $e = U.from_html("<!> <!> <!>", 1);
428
+ function et(e, T) {
429
+ U.push(T, !0);
430
+ let k = U.prop(T, "open", 15, !1), A = U.state("profile"), j = fe(), M = U.derived(() => pe(j.settingsSections, { pathname: ge.url.pathname })), N = U.state(""), P = U.state(""), F = U.state(""), I = U.state(""), L = U.state("idle"), R = U.state(""), z = U.state(""), B = U.state(""), V = U.state(""), H = U.state("idle"), W = U.state("");
431
+ he(async () => {
432
+ X.init(), Q.init();
433
+ try {
434
+ let e = await de();
435
+ e.name && U.set(N, e.name, !0), e.email && (U.set(P, e.email, !0), U.set(F, e.email, !0));
436
+ } catch {}
437
+ });
438
+ async function be() {
439
+ U.set(L, "saving"), U.set(R, "");
440
+ try {
441
+ if (await ue({ name: U.get(N) }), U.get(P).trim() !== "" && U.get(P).trim().toLowerCase() !== U.get(F).toLowerCase()) {
442
+ let { error: e } = await le.changeEmail({
443
+ newEmail: U.get(P).trim(),
444
+ callbackURL: "/"
445
+ });
446
+ if (e) throw Error(e.message ?? s());
447
+ U.set(I, U.get(P).trim(), !0);
448
+ }
449
+ U.set(L, "saved"), setTimeout(() => {
450
+ U.set(L, "idle");
451
+ }, 2e3);
452
+ } catch (e) {
453
+ U.set(L, "error"), U.set(R, e instanceof Error ? e.message : ee(), !0);
454
+ }
455
+ }
456
+ async function xe() {
457
+ if (U.set(W, ""), U.get(B) !== U.get(V)) {
458
+ U.set(H, "error"), U.set(W, l(), !0);
459
+ return;
460
+ }
461
+ if (U.get(B).length < 8) {
462
+ U.set(H, "error"), U.set(W, v(), !0);
463
+ return;
464
+ }
465
+ U.set(H, "saving");
466
+ try {
467
+ let { error: e } = await le.changePassword({
468
+ currentPassword: U.get(z),
469
+ newPassword: U.get(B),
470
+ revokeOtherSessions: !0
471
+ });
472
+ if (e) {
473
+ U.set(H, "error"), U.set(W, e.message ?? s(), !0);
474
+ return;
475
+ }
476
+ U.set(H, "saved"), U.set(z, ""), U.set(B, ""), U.set(V, ""), setTimeout(() => {
477
+ U.set(H, "idle");
478
+ }, 2e3);
479
+ } catch (e) {
480
+ U.set(H, "error"), U.set(W, e instanceof Error ? e.message : s(), !0);
481
+ }
482
+ }
483
+ function Ce(e) {
484
+ me.set(e);
485
+ }
486
+ let we = [
487
+ {
488
+ value: "light",
489
+ label: c(),
490
+ key: "light"
491
+ },
492
+ {
493
+ value: "dark",
494
+ label: C(),
495
+ key: "dark"
496
+ },
497
+ {
498
+ value: "system",
499
+ label: b(),
500
+ key: "system"
501
+ }
502
+ ], q = U.state(!1), Te = te();
503
+ async function Ee() {
504
+ U.set(q, !0);
505
+ try {
506
+ await Ne(), await ce(), k(!1), ne(Te, "/login");
507
+ } catch {
508
+ U.set(q, !1);
509
+ }
510
+ }
511
+ function De() {
512
+ k(!1);
513
+ }
514
+ var Oe = U.comment(), ke = U.first_child(Oe);
515
+ U.component(ke, () => re, (e, s) => {
516
+ s(e, {
517
+ get open() {
518
+ return k();
519
+ },
520
+ set open(e) {
521
+ k(e);
522
+ },
523
+ children: (e, s) => {
524
+ var c = $e(), l = U.first_child(c);
525
+ U.component(l, () => ae, (e, t) => {
526
+ t(e, {
527
+ children: (e, t) => {
528
+ var r = We(), i = U.first_child(r);
529
+ U.component(i, () => se, (e, t) => {
530
+ t(e, {
531
+ children: (e, t) => {
532
+ U.next();
533
+ var n = U.text();
534
+ U.template_effect((e) => U.set_text(n, e), [() => a()]), U.append(e, n);
535
+ },
536
+ $$slots: { default: !0 }
537
+ });
538
+ });
539
+ var o = U.sibling(i, 2);
540
+ U.component(o, () => ie, (e, t) => {
541
+ t(e, {
542
+ children: (e, t) => {
543
+ U.next();
544
+ var r = U.text();
545
+ U.template_effect((e) => U.set_text(r, e), [() => n()]), U.append(e, r);
546
+ },
547
+ $$slots: { default: !0 }
548
+ });
549
+ }), U.append(e, r);
550
+ },
551
+ $$slots: { default: !0 }
552
+ });
553
+ });
554
+ var v = U.sibling(l, 2);
555
+ U.component(v, () => ye, (e, n) => {
556
+ n(e, {
557
+ class: "w-full",
558
+ get value() {
559
+ return U.get(A);
560
+ },
561
+ set value(e) {
562
+ U.set(A, e, !0);
563
+ },
564
+ children: (e, n) => {
565
+ var r = Qe(), a = U.first_child(r);
566
+ U.component(a, () => Se, (e, t) => {
567
+ t(e, {
568
+ class: "grid w-full grid-cols-[repeat(auto-fit,minmax(0,1fr))] gap-1",
569
+ children: (e, t) => {
570
+ var n = Ge(), r = U.first_child(n);
571
+ {
572
+ let e = U.derived(() => U.get(A) === "profile");
573
+ U.component(r, () => K, (t, n) => {
574
+ n(t, {
575
+ value: "profile",
576
+ get selected() {
577
+ return U.get(e);
578
+ },
579
+ onclick: (e) => U.set(A, e, !0),
580
+ children: (e, t) => {
581
+ U.next();
582
+ var n = U.text();
583
+ U.template_effect((e) => U.set_text(n, e), [() => x()]), U.append(e, n);
584
+ },
585
+ $$slots: { default: !0 }
586
+ });
587
+ });
588
+ }
589
+ var i = U.sibling(r, 2);
590
+ {
591
+ let e = U.derived(() => U.get(A) === "password");
592
+ U.component(i, () => K, (t, n) => {
593
+ n(t, {
594
+ value: "password",
595
+ get selected() {
596
+ return U.get(e);
597
+ },
598
+ onclick: (e) => U.set(A, e, !0),
599
+ children: (e, t) => {
600
+ U.next();
601
+ var n = U.text();
602
+ U.template_effect((e) => U.set_text(n, e), [() => _()]), U.append(e, n);
603
+ },
604
+ $$slots: { default: !0 }
605
+ });
606
+ });
607
+ }
608
+ var a = U.sibling(i, 2);
609
+ {
610
+ let e = U.derived(() => U.get(A) === "api");
611
+ U.component(a, () => K, (t, n) => {
612
+ n(t, {
613
+ value: "api",
614
+ get selected() {
615
+ return U.get(e);
616
+ },
617
+ onclick: (e) => U.set(A, e, !0),
618
+ children: (e, t) => {
619
+ U.next();
620
+ var n = U.text("API");
621
+ U.append(e, n);
622
+ },
623
+ $$slots: { default: !0 }
624
+ });
625
+ });
626
+ }
627
+ var o = U.sibling(a, 2);
628
+ {
629
+ let e = U.derived(() => U.get(A) === "appearance");
630
+ U.component(o, () => K, (t, n) => {
631
+ n(t, {
632
+ value: "appearance",
633
+ get selected() {
634
+ return U.get(e);
635
+ },
636
+ onclick: (e) => U.set(A, e, !0),
637
+ children: (e, t) => {
638
+ U.next();
639
+ var n = U.text("Style");
640
+ U.append(e, n);
641
+ },
642
+ $$slots: { default: !0 }
643
+ });
644
+ });
645
+ }
646
+ var s = U.sibling(o, 2);
647
+ U.each(s, 17, () => U.get(M), (e) => e.id, (e, t) => {
648
+ var n = U.comment(), r = U.first_child(n);
649
+ {
650
+ let e = U.derived(() => U.get(A) === U.get(t).id);
651
+ U.component(r, () => K, (n, r) => {
652
+ r(n, {
653
+ get value() {
654
+ return U.get(t).id;
655
+ },
656
+ get selected() {
657
+ return U.get(e);
658
+ },
659
+ onclick: (e) => U.set(A, e, !0),
660
+ children: (e, n) => {
661
+ U.next();
662
+ var r = U.text();
663
+ U.template_effect(() => U.set_text(r, U.get(t).label)), U.append(e, r);
664
+ },
665
+ $$slots: { default: !0 }
666
+ });
667
+ });
668
+ }
669
+ U.append(e, n);
670
+ }), U.append(e, n);
671
+ },
672
+ $$slots: { default: !0 }
673
+ });
674
+ });
675
+ var s = U.sibling(a, 2);
676
+ U.component(s, () => G, (e, n) => {
677
+ n(e, {
678
+ value: "profile",
679
+ get currentValue() {
680
+ return U.get(A);
681
+ },
682
+ children: (e, n) => {
683
+ var r = Je(), i = U.child(r), a = U.child(i);
684
+ O(a, {
685
+ for: "settings-name",
686
+ children: (e, t) => {
687
+ U.next();
688
+ var n = U.text();
689
+ U.template_effect((e) => U.set_text(n, e), [() => p()]), U.append(e, n);
690
+ },
691
+ $$slots: { default: !0 }
692
+ }), D(U.sibling(a, 2), {
693
+ id: "settings-name",
694
+ type: "text",
695
+ name: "name",
696
+ autocomplete: "name",
697
+ get value() {
698
+ return U.get(N);
699
+ },
700
+ set value(e) {
701
+ U.set(N, e, !0);
702
+ }
703
+ }), U.reset(i);
704
+ var s = U.sibling(i, 2), c = U.child(s);
705
+ O(c, {
706
+ for: "settings-email",
707
+ children: (e, t) => {
708
+ U.next();
709
+ var n = U.text();
710
+ U.template_effect((e) => U.set_text(n, e), [() => o()]), U.append(e, n);
711
+ },
712
+ $$slots: { default: !0 }
713
+ });
714
+ var l = U.sibling(c, 2);
715
+ D(l, {
716
+ id: "settings-email",
717
+ type: "email",
718
+ name: "email",
719
+ autocomplete: "email",
720
+ get value() {
721
+ return U.get(P);
722
+ },
723
+ set value(e) {
724
+ U.set(P, e, !0);
725
+ }
726
+ });
727
+ var u = U.sibling(l, 2), d = U.child(u, !0);
728
+ U.reset(u);
729
+ var m = U.sibling(u, 2), g = (e) => {
730
+ var t = Ke();
731
+ U.append(e, t);
732
+ };
733
+ U.if(m, (e) => {
734
+ U.get(I) && e(g);
735
+ }), U.reset(s);
736
+ var _ = U.sibling(s, 2), v = U.sibling(U.child(_), 2);
737
+ let y;
738
+ U.reset(_);
739
+ var b = U.sibling(_, 2), x = (e) => {
740
+ var t = qe(), n = U.child(t, !0);
741
+ U.reset(t), U.template_effect(() => U.set_text(n, U.get(R))), U.append(e, t);
742
+ };
743
+ U.if(b, (e) => {
744
+ U.get(R) && e(x);
745
+ });
746
+ var S = U.sibling(b, 2);
747
+ {
748
+ let e = U.derived(() => U.get(L) === "saving");
749
+ E(S, {
750
+ type: "submit",
751
+ get disabled() {
752
+ return U.get(e);
753
+ },
754
+ class: "w-full sm:w-auto",
755
+ children: (e, n) => {
756
+ var r = $(), i = U.first_child(r), a = (e) => {
757
+ t(e, { class: "mr-2 size-4 animate-spin" });
758
+ }, o = (e) => {
759
+ ve(e, { class: "mr-2 size-4" });
760
+ };
761
+ U.if(i, (e) => {
762
+ U.get(L) === "saving" ? e(a) : e(o, -1);
763
+ });
764
+ var s = U.sibling(i);
765
+ U.template_effect((e) => U.set_text(s, ` ${e ?? ""}`), [() => U.get(L) === "saved" ? w() : h()]), U.append(e, r);
766
+ },
767
+ $$slots: { default: !0 }
768
+ });
769
+ }
770
+ U.reset(r), U.template_effect((e) => {
771
+ U.set_text(d, e), y = U.set_class(v, 1, "preference-switch svelte-1eaqpj", null, y, { enabled: Q.graphSearchEnabled }), U.set_attribute(v, "aria-checked", Q.graphSearchEnabled);
772
+ }, [() => f()]), U.event("submit", r, (e) => {
773
+ e.preventDefault(), be();
774
+ }), U.delegated("click", v, () => Q.update({ graphSearchEnabled: !Q.graphSearchEnabled })), U.append(e, r);
775
+ },
776
+ $$slots: { default: !0 }
777
+ });
778
+ });
779
+ var c = U.sibling(s, 2);
780
+ U.component(c, () => G, (e, n) => {
781
+ n(e, {
782
+ value: "password",
783
+ get currentValue() {
784
+ return U.get(A);
785
+ },
786
+ children: (e, n) => {
787
+ var r = Ye(), i = U.child(r), a = U.child(i);
788
+ O(a, {
789
+ for: "settings-current-password",
790
+ children: (e, t) => {
791
+ U.next();
792
+ var n = U.text();
793
+ U.template_effect((e) => U.set_text(n, e), [() => m()]), U.append(e, n);
794
+ },
795
+ $$slots: { default: !0 }
796
+ }), D(U.sibling(a, 2), {
797
+ id: "settings-current-password",
798
+ type: "password",
799
+ name: "current-password",
800
+ autocomplete: "current-password",
801
+ get value() {
802
+ return U.get(z);
803
+ },
804
+ set value(e) {
805
+ U.set(z, e, !0);
806
+ }
807
+ }), U.reset(i);
808
+ var o = U.sibling(i, 2), s = U.child(o);
809
+ O(s, {
810
+ for: "settings-new-password",
811
+ children: (e, t) => {
812
+ U.next();
813
+ var n = U.text();
814
+ U.template_effect((e) => U.set_text(n, e), [() => d()]), U.append(e, n);
815
+ },
816
+ $$slots: { default: !0 }
817
+ }), D(U.sibling(s, 2), {
818
+ id: "settings-new-password",
819
+ type: "password",
820
+ name: "new-password",
821
+ autocomplete: "new-password",
822
+ get value() {
823
+ return U.get(B);
824
+ },
825
+ set value(e) {
826
+ U.set(B, e, !0);
827
+ }
828
+ }), U.reset(o);
829
+ var c = U.sibling(o, 2), l = U.child(c);
830
+ O(l, {
831
+ for: "settings-confirm-password",
832
+ children: (e, t) => {
833
+ U.next();
834
+ var n = U.text();
835
+ U.template_effect((e) => U.set_text(n, e), [() => u()]), U.append(e, n);
836
+ },
837
+ $$slots: { default: !0 }
838
+ }), D(U.sibling(l, 2), {
839
+ id: "settings-confirm-password",
840
+ type: "password",
841
+ name: "confirm-password",
842
+ autocomplete: "new-password",
843
+ get value() {
844
+ return U.get(V);
845
+ },
846
+ set value(e) {
847
+ U.set(V, e, !0);
848
+ }
849
+ }), U.reset(c);
850
+ var f = U.sibling(c, 2), p = (e) => {
851
+ var t = qe(), n = U.child(t, !0);
852
+ U.reset(t), U.template_effect(() => U.set_text(n, U.get(W))), U.append(e, t);
853
+ };
854
+ U.if(f, (e) => {
855
+ U.get(W) && e(p);
856
+ });
857
+ var h = U.sibling(f, 2);
858
+ {
859
+ let e = U.derived(() => U.get(H) === "saving");
860
+ E(h, {
861
+ type: "submit",
862
+ get disabled() {
863
+ return U.get(e);
864
+ },
865
+ class: "w-full sm:w-auto",
866
+ children: (e, n) => {
867
+ var r = $(), i = U.first_child(r), a = (e) => {
868
+ t(e, { class: "mr-2 size-4 animate-spin" });
869
+ };
870
+ U.if(i, (e) => {
871
+ U.get(H) === "saving" && e(a);
872
+ });
873
+ var o = U.sibling(i);
874
+ U.template_effect((e) => U.set_text(o, ` ${e ?? ""}`), [() => U.get(H) === "saved" ? w() : y()]), U.append(e, r);
875
+ },
876
+ $$slots: { default: !0 }
877
+ });
878
+ }
879
+ U.reset(r), U.event("submit", r, (e) => {
880
+ e.preventDefault(), xe();
881
+ }), U.append(e, r);
882
+ },
883
+ $$slots: { default: !0 }
884
+ });
885
+ });
886
+ var l = U.sibling(c, 2);
887
+ U.component(l, () => G, (e, t) => {
888
+ t(e, {
889
+ value: "appearance",
890
+ get currentValue() {
891
+ return U.get(A);
892
+ },
893
+ children: (e, t) => {
894
+ var n = Ze(), r = U.child(n), a = U.child(r);
895
+ O(a, {
896
+ children: (e, t) => {
897
+ U.next();
898
+ var n = U.text();
899
+ U.template_effect((e) => U.set_text(n, e), [() => S()]), U.append(e, n);
900
+ },
901
+ $$slots: { default: !0 }
902
+ });
903
+ var o = U.sibling(a, 2), s = U.child(o, !0);
904
+ U.reset(o), U.reset(r);
905
+ var c = U.sibling(r, 2);
906
+ U.each(c, 21, () => we, (e) => e.key, (e, t) => {
907
+ var n = Xe(), r = U.child(n, !0);
908
+ U.reset(n), U.template_effect((e) => {
909
+ U.set_class(n, 1, e, "svelte-1eaqpj"), U.set_text(r, U.get(t).label);
910
+ }, [() => U.clsx(["rounded-md border px-3 py-2 text-sm font-medium transition-colors", me.value === U.get(t).value ? "border-primary bg-primary text-primary-foreground" : "border-border text-muted-foreground hover:bg-accent hover:text-accent-foreground"].join(" "))]), U.delegated("click", n, () => Ce(U.get(t).value)), U.append(e, n);
911
+ }), U.reset(c);
912
+ var l = U.sibling(c, 2), u = U.sibling(U.child(l), 2), d = U.child(u), f = U.sibling(U.child(d), 2);
913
+ let p;
914
+ U.reset(d);
915
+ var m = U.sibling(d, 2), h = U.sibling(U.child(m), 2);
916
+ let g;
917
+ U.reset(m);
918
+ var _ = U.sibling(m, 2), v = U.sibling(U.child(_), 2);
919
+ let y;
920
+ U.reset(_);
921
+ var b = U.sibling(_, 2), x = U.sibling(U.child(b), 2);
922
+ let C;
923
+ U.reset(b), U.reset(u), U.reset(l), U.reset(n), U.template_effect((e) => {
924
+ U.set_text(s, e), p = U.set_class(f, 1, "preference-switch svelte-1eaqpj", null, p, { enabled: X.showVisualMode }), U.set_attribute(f, "aria-checked", X.showVisualMode), f.disabled = !X.showMarkdownMode, g = U.set_class(h, 1, "preference-switch svelte-1eaqpj", null, g, { enabled: X.showMarkdownMode }), U.set_attribute(h, "aria-checked", X.showMarkdownMode), h.disabled = !X.showVisualMode, y = U.set_class(v, 1, "preference-switch svelte-1eaqpj", null, y, { enabled: X.minimalToolbar }), U.set_attribute(v, "aria-checked", X.minimalToolbar), C = U.set_class(x, 1, "preference-switch svelte-1eaqpj", null, C, { enabled: X.showScrollToTop }), U.set_attribute(x, "aria-checked", X.showScrollToTop);
925
+ }, [() => i()]), U.delegated("click", f, () => X.update({ showVisualMode: !X.showVisualMode })), U.delegated("click", h, () => X.update({ showMarkdownMode: !X.showMarkdownMode })), U.delegated("click", v, () => X.update({ minimalToolbar: !X.minimalToolbar })), U.delegated("click", x, () => X.update({ showScrollToTop: !X.showScrollToTop })), U.append(e, n);
926
+ },
927
+ $$slots: { default: !0 }
928
+ });
929
+ });
930
+ var g = U.sibling(l, 2);
931
+ U.component(g, () => G, (e, t) => {
932
+ t(e, {
933
+ value: "api",
934
+ get currentValue() {
935
+ return U.get(A);
936
+ },
937
+ children: (e, t) => {
938
+ Me(e, {});
939
+ },
940
+ $$slots: { default: !0 }
941
+ });
942
+ });
943
+ var v = U.sibling(g, 2);
944
+ U.each(v, 17, () => U.get(M), (e) => e.id, (e, t) => {
945
+ var n = U.comment(), r = U.first_child(n);
946
+ U.component(r, () => G, (e, n) => {
947
+ n(e, {
948
+ get value() {
949
+ return U.get(t).id;
950
+ },
951
+ get currentValue() {
952
+ return U.get(A);
953
+ },
954
+ children: (e, n) => {
955
+ let r = U.derived(() => U.get(t).component);
956
+ var i = U.comment(), a = U.first_child(i);
957
+ U.component(a, () => U.get(r), (e, t) => {
958
+ t(e, {});
959
+ }), U.append(e, i);
960
+ },
961
+ $$slots: { default: !0 }
962
+ });
963
+ }), U.append(e, n);
964
+ }), U.append(e, r);
965
+ },
966
+ $$slots: { default: !0 }
967
+ });
968
+ });
969
+ var b = U.sibling(v, 2);
970
+ U.component(b, () => oe, (e, t) => {
971
+ t(e, {
972
+ class: "settings-dialog-footer gap-4 max-sm:flex-col max-sm:items-stretch",
973
+ children: (e, t) => {
974
+ var n = We(), i = U.first_child(n), a = (e) => {
975
+ E(e, {
976
+ id: "logout-button",
977
+ variant: "ghost",
978
+ onclick: Ee,
979
+ get disabled() {
980
+ return U.get(q);
981
+ },
982
+ class: "mr-auto text-muted-foreground hover:text-destructive max-sm:mr-0",
983
+ children: (e, t) => {
984
+ var n = $(), r = U.first_child(n);
985
+ _e(r, { class: "mr-2 size-4" });
986
+ var i = U.sibling(r);
987
+ U.template_effect((e) => U.set_text(i, ` ${e ?? ""}`), [() => U.get(q) ? "…" : g()]), U.append(e, n);
988
+ },
989
+ $$slots: { default: !0 }
990
+ });
991
+ };
992
+ U.if(i, (e) => {
993
+ U.get(A) === "profile" && e(a);
994
+ }), E(U.sibling(i, 2), {
995
+ variant: "outline",
996
+ onclick: De,
997
+ class: "w-full sm:w-auto",
998
+ children: (e, t) => {
999
+ U.next();
1000
+ var n = U.text();
1001
+ U.template_effect((e) => U.set_text(n, e), [() => r()]), U.append(e, n);
1002
+ },
1003
+ $$slots: { default: !0 }
1004
+ }), U.append(e, n);
1005
+ },
1006
+ $$slots: { default: !0 }
1007
+ });
1008
+ }), U.append(e, c);
1009
+ },
1010
+ $$slots: { default: !0 }
1011
+ });
1012
+ }), U.append(e, Oe), U.pop();
1013
+ }
1014
+ U.delegate(["click"]);
1015
+ //#endregion
1016
+ export { Q as n, X as r, et as t };