@hiai-gg/docsmint 0.5.8 → 0.5.10
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.
- package/dist/backend/index.js +9 -3
- package/dist/frontend/{CategoryDialog-BYAFjX7E.js → CategoryDialog-CbXBMBZB.js} +3 -3
- package/dist/frontend/{Sidebar-B-zCJT9i.js → Sidebar-CzcLd6v5.js} +13 -13
- package/dist/frontend/app-shell.js +102 -46
- package/dist/frontend/components/category-dialog.js +1 -1
- package/dist/frontend/components/sidebar.js +1 -1
- package/dist/frontend/frontend.css +1 -1
- package/dist/frontend-ssr/app-shell.js +44 -1
- package/dist/frontend-ssr/assets/{CategoryDialog-BLxVoynx.js → CategoryDialog-QHEv_9N4.js} +4 -4
- package/dist/frontend-ssr/assets/{Sidebar-CO9LZRPa.js → Sidebar-CqsMw0Hd.js} +16 -16
- package/dist/frontend-ssr/components/category-dialog.js +1 -1
- package/dist/frontend-ssr/components/sidebar.js +1 -1
- package/package.json +1 -1
- package/packages/cli/src/index.ts +1 -1
- package/packages/mcp-server/src/index.ts +1 -1
package/dist/backend/index.js
CHANGED
|
@@ -194469,11 +194469,17 @@ async function reembedDocsInFolder(folderId, ownerId, workspaceId) {
|
|
|
194469
194469
|
return enqueued;
|
|
194470
194470
|
}
|
|
194471
194471
|
async function reembedDocsInFolderAdmin(folderId) {
|
|
194472
|
-
|
|
194473
|
-
|
|
194472
|
+
return reembedDocsInFolderAdminWith(folderId, loadAdminFolderDocumentIds);
|
|
194473
|
+
}
|
|
194474
|
+
async function loadAdminFolderDocumentIds(folderId, limit) {
|
|
194475
|
+
return withTenant(REEMBED_ADMIN_TENANT, (tx) => {
|
|
194474
194476
|
const query = tx.select({ id: documents.id }).from(documents).where(eq(documents.folderId, folderId));
|
|
194475
194477
|
return limit > 0 ? query.limit(limit) : query;
|
|
194476
194478
|
});
|
|
194479
|
+
}
|
|
194480
|
+
async function reembedDocsInFolderAdminWith(folderId, loadRows) {
|
|
194481
|
+
const limit = config3.FOLDER_REEMBED_BATCH_SIZE;
|
|
194482
|
+
const rows = await loadRows(folderId, limit);
|
|
194477
194483
|
const enqueued = await enqueueReembed(rows.map((r4) => r4.id));
|
|
194478
194484
|
if (enqueued > 0) {
|
|
194479
194485
|
logger3.info({ folderId, enqueued, limit, scope: "admin" }, "Re-embedding documents after admin folder reindex");
|
|
@@ -234280,7 +234286,7 @@ var swaggerConfig = {
|
|
|
234280
234286
|
},
|
|
234281
234287
|
info: {
|
|
234282
234288
|
title: "DocsMint API",
|
|
234283
|
-
version: "0.5.
|
|
234289
|
+
version: "0.5.10",
|
|
234284
234290
|
description: "Self-hosted AI-first documentation platform. Full-text + semantic search, version history, sharing, and folder organization.",
|
|
234285
234291
|
contact: { name: "HiAi-gg", url: "https://github.com/HiAi-gg/docsmint" },
|
|
234286
234292
|
license: {
|
|
@@ -26,7 +26,7 @@ function S(e, t) {
|
|
|
26
26
|
}
|
|
27
27
|
//#endregion
|
|
28
28
|
//#region src/lib/components/sidebar/CategoryDialog.svelte
|
|
29
|
-
var _e = x.from_html("<span class=\"font-medium text-foreground\"> </span> ", 1), ve = x.from_html("Delete <span class=\"font-medium text-foreground\"> </span> ", 1), C = x.from_html("<!> <!>", 1), ye = x.from_html("<div class=\"flex items-start gap-3 rounded-lg border border-primary/30 bg-primary/10 p-4\" role=\"status\" aria-live=\"polite\"><!> <div><p class=\"text-sm font-medium text-foreground\"> </p> <p class=\"text-sm text-muted-foreground\"><span class=\"font-medium text-foreground\"> </span> </p></div></div>"), be = x.from_html("<!> Copy API key", 1), xe = x.from_html("<div class=\"rounded-md border border-primary/20 bg-background/80 p-3\"><p class=\"text-xs font-medium text-foreground\">Copy the API key now. It remains available in Settings → API.</p> <code class=\"mt-2 block break-all rounded bg-muted p-2 text-xs text-foreground\"> </code> <!></div>"), w = x.from_html("<p class=\"text-xs text-destructive\" role=\"alert\"> </p>"), Se = x.from_html("<div class=\"space-y-3 rounded-lg border border-primary/30 bg-primary/10 p-4\" role=\"status\" aria-live=\"polite\"><div class=\"flex items-start gap-3\"><!> <div><p class=\"text-sm font-medium text-foreground\">Category created</p> <p class=\"text-sm text-muted-foreground\"> </p></div></div> <!> <!></div>"), Ce = x.from_html("<p id=\"category-dialog-name-error\" class=\"text-xs text-destructive\" role=\"alert\"> </p>"), T = x.from_html("<!> <!> <!>", 1), we = x.from_html("<div class=\"space-y-3 rounded-md border border-border/70 bg-muted/30 p-3\"><div class=\"flex flex-wrap items-center justify-between gap-2\"><!> <div class=\"flex flex-wrap gap-2\"><!> <!></div></div> <div class=\"grid gap-2 sm:grid-cols-3\"><label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Read</span></label> <label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Edit</span></label> <label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Write</span></label></div></div>"), Te = x.from_html("<div class=\"rounded-lg border border-primary/30 bg-primary/10 p-3 text-primary\"><p class=\"text-xs font-medium\">Copy now — this raw key is shown once.</p> <code class=\"mt-1 block break-all rounded bg-background/80 p-2 text-xs text-foreground\"> </code> <!></div>"), Ee = x.from_html("<div class=\"flex items-center justify-between gap-3 rounded-md bg-muted/40 px-3 py-2 text-xs\"><span> </span> <div class=\"flex shrink-0 gap-2\"><!> <!></div></div>"), De = x.from_html("<div class=\"space-y-3 rounded-md border border-border/70 p-3\"><div class=\"flex items-center justify-between gap-2\"><div
|
|
29
|
+
var _e = x.from_html("<span class=\"font-medium text-foreground\"> </span> ", 1), ve = x.from_html("Delete <span class=\"font-medium text-foreground\"> </span> ", 1), C = x.from_html("<!> <!>", 1), ye = x.from_html("<div class=\"flex items-start gap-3 rounded-lg border border-primary/30 bg-primary/10 p-4\" role=\"status\" aria-live=\"polite\"><!> <div><p class=\"text-sm font-medium text-foreground\"> </p> <p class=\"text-sm text-muted-foreground\"><span class=\"font-medium text-foreground\"> </span> </p></div></div>"), be = x.from_html("<!> Copy API key", 1), xe = x.from_html("<div class=\"rounded-md border border-primary/20 bg-background/80 p-3\"><p class=\"text-xs font-medium text-foreground\">Copy the API key now. It remains available in Settings → API.</p> <code class=\"mt-2 block break-all rounded bg-muted p-2 text-xs text-foreground\"> </code> <!></div>"), w = x.from_html("<p class=\"text-xs text-destructive\" role=\"alert\"> </p>"), Se = x.from_html("<div class=\"space-y-3 rounded-lg border border-primary/30 bg-primary/10 p-4\" role=\"status\" aria-live=\"polite\"><div class=\"flex items-start gap-3\"><!> <div><p class=\"text-sm font-medium text-foreground\">Category created</p> <p class=\"text-sm text-muted-foreground\"> </p></div></div> <!> <!></div>"), Ce = x.from_html("<p id=\"category-dialog-name-error\" class=\"text-xs text-destructive\" role=\"alert\"> </p>"), T = x.from_html("<!> <!> <!>", 1), we = x.from_html("<div class=\"space-y-3 rounded-md border border-border/70 bg-muted/30 p-3\"><div class=\"flex flex-wrap items-center justify-between gap-2\"><!> <div class=\"flex flex-wrap gap-2\"><!> <!></div></div> <div class=\"grid gap-2 sm:grid-cols-3\"><label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Read</span></label> <label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Edit</span></label> <label class=\"flex items-center gap-2 rounded-md border border-border/60 bg-background px-3 py-2 text-sm\"><input type=\"checkbox\" class=\"size-4 rounded border-input\"/> <span>Write</span></label></div></div>"), Te = x.from_html("<div class=\"rounded-lg border border-primary/30 bg-primary/10 p-3 text-primary\"><p class=\"text-xs font-medium\">Copy now — this raw key is shown once.</p> <code class=\"mt-1 block break-all rounded bg-background/80 p-2 text-xs text-foreground\"> </code> <!></div>"), Ee = x.from_html("<div class=\"flex items-center justify-between gap-3 rounded-md bg-muted/40 px-3 py-2 text-xs\"><span> </span> <div class=\"flex shrink-0 gap-2\"><!> <!></div></div>"), De = x.from_html("<div class=\"space-y-3 rounded-md border border-border/70 p-3\"><div class=\"flex items-center justify-between gap-2 max-sm:flex-col max-sm:items-stretch\"><div><!> <p class=\"text-xs text-muted-foreground\">The current permissions are saved before the key is issued.</p></div> <!></div> <!> <div class=\"max-h-48 space-y-2 overflow-y-auto pr-1\"></div></div>"), Oe = x.from_html("<form data-category-dialog-scroll=\"\" class=\"max-h-[calc(100dvh-12rem)] space-y-4 overflow-y-auto overscroll-contain pr-1\"><div class=\"space-y-2\"><!> <!> <!></div> <div class=\"space-y-2\"><!> <!></div> <!> <!></form>"), ke = x.from_html("<!> ", 1);
|
|
30
30
|
function E(E, D) {
|
|
31
31
|
x.push(D, !0);
|
|
32
32
|
let O = {
|
|
@@ -215,7 +215,7 @@ function E(E, D) {
|
|
|
215
215
|
var a = x.sibling(r);
|
|
216
216
|
x.template_effect((e) => {
|
|
217
217
|
x.set_text(i, `“${D.category?.name ?? "Category" ?? ""}”`), x.set_text(a, `?
|
|
218
|
-
|
|
218
|
+
${e ?? ""}`);
|
|
219
219
|
}, [() => c()]), x.append(e, n);
|
|
220
220
|
},
|
|
221
221
|
$$slots: { default: !0 }
|
|
@@ -475,7 +475,7 @@ function E(E, D) {
|
|
|
475
475
|
x.append(e, n);
|
|
476
476
|
},
|
|
477
477
|
$$slots: { default: !0 }
|
|
478
|
-
}), x.next(), x.reset(r);
|
|
478
|
+
}), x.next(2), x.reset(r);
|
|
479
479
|
var i = x.sibling(r, 2);
|
|
480
480
|
{
|
|
481
481
|
let e = x.derived(() => x.get(N) || x.get(V) || !x.get(q) || !x.get(Y));
|
|
@@ -26,7 +26,7 @@ import { c as Ke, r as qe, s as Je, t as Ye } from "./folders-ONG03Dkv.js";
|
|
|
26
26
|
import { t as Xe } from "./DeleteDialog-8k6JYWCx.js";
|
|
27
27
|
import { t as Ze } from "./clipboard-Cgzxc0_R.js";
|
|
28
28
|
import { t as Qe } from "./ShareDialog-BC-Jl6v1.js";
|
|
29
|
-
import { t as $e } from "./CategoryDialog-
|
|
29
|
+
import { t as $e } from "./CategoryDialog-CbXBMBZB.js";
|
|
30
30
|
import { n as et, t as tt } from "./document-drop-coordinator-C4xHMjwC.js";
|
|
31
31
|
import { a as nt, c as rt, d as it, f as at, i as ot, n as st, o as ct, p as lt, r as ut, s as dt, t as ft, u as pt } from "./subfolders-refresh-store.svelte-DxP21a1c.js";
|
|
32
32
|
import { t as mt } from "./FolderNode-DAAn_T8_.js";
|
|
@@ -162,7 +162,7 @@ var At = (e, t = V.noop) => {
|
|
|
162
162
|
c(r, { class: "size-4 shrink-0 text-muted-foreground" });
|
|
163
163
|
var i = V.sibling(r, 2), a = V.child(i, !0);
|
|
164
164
|
V.reset(i), V.reset(n), V.template_effect((e) => {
|
|
165
|
-
V.set_attribute(n, "href", `/docs/${t().id}`), V.set_class(n, 1, e), V.set_text(a, t().title);
|
|
165
|
+
V.set_attribute(n, "href", `/docs/${t().id}`), V.set_class(n, 1, e, "svelte-1nshngr"), V.set_text(a, t().title);
|
|
166
166
|
}, [() => V.clsx(F("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", H.params.id === t().id && "bg-accent text-accent-foreground font-medium"))]), V.append(e, n);
|
|
167
167
|
}, jt = V.from_html("<button><!></button>"), Mt = V.from_html("<!> <!> <!>", 1), Nt = V.from_html("<!> <!>", 1), Pt = V.from_html("<button type=\"button\"><!></button>"), Ft = V.from_html("<a data-sveltekit-noscroll=\"\"><span class=\"w-3.5 shrink-0\"></span> <!> <span class=\"min-w-0 truncate\"> </span></a>"), It = V.from_html("<p class=\"px-2 text-xs text-destructive\"> </p>"), Lt = V.from_html("<!> <!> <!> <!> <!> <!>", 1), Rt = V.from_html("<div><!></div>"), zt = V.from_html("<div class=\"group/doc flex w-full min-w-0 items-center gap-1\"><!> <!> <!></div>"), Bt = V.from_html("<div class=\"ml-0.5 space-y-0.5 border-l border-border pl-0.5\"><div></div> <div></div></div>"), Vt = V.from_html("<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>"), Ht = V.from_html("<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>"), Ut = V.from_html("<p id=\"rename-input-error\" class=\"text-xs text-destructive\" role=\"alert\"> </p>"), Wt = V.from_html("<!> <form class=\"space-y-4\"><div class=\"space-y-2\"><!> <!> <!></div></form> <!>", 1), Gt = V.from_html("<div class=\"space-y-1\"><div class=\"mb-2 flex items-center justify-between gap-1\"><a 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);
|
|
168
168
|
function Kt(e, i) {
|
|
@@ -180,11 +180,11 @@ function Kt(e, i) {
|
|
|
180
180
|
V.attribute_effect(r, (e, t) => ({
|
|
181
181
|
...n(),
|
|
182
182
|
type: "button",
|
|
183
|
-
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",
|
|
183
|
+
class: "sidebar-touch-action 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",
|
|
184
184
|
"aria-label": e,
|
|
185
185
|
title: t,
|
|
186
186
|
onclick: i
|
|
187
|
-
}), [() => C(), () => C()]), ee(V.child(r), { class: "size-3.5" }), V.reset(r), V.append(e, r);
|
|
187
|
+
}), [() => C(), () => C()], void 0, void 0, "svelte-1nshngr"), ee(V.child(r), { class: "size-3.5" }), V.reset(r), V.append(e, r);
|
|
188
188
|
},
|
|
189
189
|
$$slots: { child: !0 }
|
|
190
190
|
}), h(V.sibling(i, 2), {
|
|
@@ -236,7 +236,7 @@ function Kt(e, i) {
|
|
|
236
236
|
V.if(i, (e) => {
|
|
237
237
|
V.get(ln) === n().id ? e(a) : V.get(cn) === n().id ? e(s, 1) : e(c, -1);
|
|
238
238
|
}), V.reset(r), V.template_effect((e, t) => {
|
|
239
|
-
V.set_class(r, 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 ${V.get(cn) === n().id || V.get(ln) === n().id ? "opacity-100" : ""}
|
|
239
|
+
V.set_class(r, 1, `sidebar-touch-action 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 ${V.get(cn) === n().id || V.get(ln) === n().id ? "opacity-100" : ""}`, "svelte-1nshngr"), V.set_attribute(r, "aria-label", e), V.set_attribute(r, "title", t), r.disabled = V.get(ln) === n().id;
|
|
240
240
|
}, [() => re(), () => re()]), V.delegated("click", r, (e) => {
|
|
241
241
|
e.preventDefault(), e.stopPropagation(), dn(n().id);
|
|
242
242
|
}), V.append(e, r);
|
|
@@ -875,7 +875,7 @@ function Kt(e, i) {
|
|
|
875
875
|
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",
|
|
876
876
|
"aria-label": e,
|
|
877
877
|
title: t
|
|
878
|
-
}), [() => C(), () => C()]), ee(V.child(r), { class: "size-3.5" }), V.reset(r), V.append(e, r);
|
|
878
|
+
}), [() => C(), () => C()], void 0, void 0, "svelte-1nshngr"), ee(V.child(r), { class: "size-3.5" }), V.reset(r), V.append(e, r);
|
|
879
879
|
},
|
|
880
880
|
$$slots: { child: !0 }
|
|
881
881
|
}), h(V.sibling(i, 2), {
|
|
@@ -980,7 +980,7 @@ function Kt(e, i) {
|
|
|
980
980
|
useCursorForDetection: !0,
|
|
981
981
|
centreDraggedOnCursor: !0
|
|
982
982
|
})), V.reset(i), V.template_effect((e, t) => {
|
|
983
|
-
V.set_class(o, 1, e), V.set_class(d, 1, t);
|
|
983
|
+
V.set_class(o, 1, e, "svelte-1nshngr"), V.set_class(d, 1, t, "svelte-1nshngr");
|
|
984
984
|
}, [() => V.clsx(F("min-h-[8px] space-y-0.5 transition-all duration-150", V.get(L) && V.get(n).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")), () => V.clsx(F("min-h-[8px] space-y-0.5 transition-all duration-150", V.get(it) && V.get(r).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20"))]), V.event("consider", o, function(...e) {
|
|
985
985
|
V.get(s)?.apply(this, e);
|
|
986
986
|
}), V.event("finalize", o, function(...e) {
|
|
@@ -994,7 +994,7 @@ function Kt(e, i) {
|
|
|
994
994
|
V.if(y, (e) => {
|
|
995
995
|
V.get(i) && e(b);
|
|
996
996
|
}), V.reset(o), V.template_effect((e) => {
|
|
997
|
-
V.set_attribute(o, "data-is-dnd-shadow-item-hint", V.get(t)[ze]), V.set_attribute(l, "aria-expanded", V.get(i)), V.set_class(l, 1, e), V.set_text(v, V.get(t).category.name);
|
|
997
|
+
V.set_attribute(o, "data-is-dnd-shadow-item-hint", V.get(t)[ze]), V.set_attribute(l, "aria-expanded", V.get(i)), V.set_class(l, 1, e, "svelte-1nshngr"), V.set_text(v, V.get(t).category.name);
|
|
998
998
|
}, [() => V.clsx(F("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", V.get(R) && "hover:bg-accent/40 border border-dashed border-primary/30"))]), V.delegated("click", l, () => An(V.get(t).id)), V.event("mouseenter", l, () => {
|
|
999
999
|
V.get(I) && !V.get(i) && hn(V.get(t).id);
|
|
1000
1000
|
}), V.event("mouseleave", l, () => {
|
|
@@ -1046,7 +1046,7 @@ function Kt(e, i) {
|
|
|
1046
1046
|
useCursorForDetection: !0,
|
|
1047
1047
|
centreDraggedOnCursor: !0
|
|
1048
1048
|
})), V.reset(n), V.template_effect((e, t) => {
|
|
1049
|
-
V.set_class(r, 1, e), V.set_class(s, 1, t);
|
|
1049
|
+
V.set_class(r, 1, e, "svelte-1nshngr"), V.set_class(s, 1, t, "svelte-1nshngr");
|
|
1050
1050
|
}, [() => V.clsx(F("min-h-[8px] space-y-0.5 transition-all duration-150", V.get(L) && V.get(t).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")), () => V.clsx(F("min-h-[8px] space-y-0.5 transition-all duration-150", V.get(it) && V.get(xt).length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20"))]), V.event("consider", r, function(...e) {
|
|
1051
1051
|
V.get(i)?.apply(this, e);
|
|
1052
1052
|
}), V.event("finalize", r, function(...e) {
|
|
@@ -1060,7 +1060,7 @@ function Kt(e, i) {
|
|
|
1060
1060
|
V.if(m, (e) => {
|
|
1061
1061
|
V.get(D) && e(h);
|
|
1062
1062
|
}), V.reset(t), V.template_effect((e, t) => {
|
|
1063
|
-
V.set_attribute(o, "aria-expanded", V.get(D)), V.set_class(o, 1, e), V.set_text(p, t);
|
|
1063
|
+
V.set_attribute(o, "aria-expanded", V.get(D)), V.set_class(o, 1, e, "svelte-1nshngr"), V.set_text(p, t);
|
|
1064
1064
|
}, [() => V.clsx(F("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", V.get(R) && "hover:bg-accent/40 border border-dashed border-primary/30")), () => he()]), V.delegated("click", o, jn), V.event("mouseenter", o, () => {
|
|
1065
1065
|
V.get(I) && !V.get(D) && hn($);
|
|
1066
1066
|
}), V.event("mouseleave", o, () => {
|
|
@@ -1433,11 +1433,11 @@ function Zt(e, n) {
|
|
|
1433
1433
|
V.attribute_effect(r, (e, t) => ({
|
|
1434
1434
|
...n(),
|
|
1435
1435
|
type: "button",
|
|
1436
|
-
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",
|
|
1436
|
+
class: "sidebar-touch-action 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",
|
|
1437
1437
|
"aria-label": e,
|
|
1438
1438
|
title: t,
|
|
1439
1439
|
onclick: i
|
|
1440
|
-
}), [() => C(), () => C()]), ee(V.child(r), { class: "size-3.5" }), V.reset(r), V.append(e, r);
|
|
1440
|
+
}), [() => C(), () => C()], void 0, void 0, "svelte-1uwxs9f"), ee(V.child(r), { class: "size-3.5" }), V.reset(r), V.append(e, r);
|
|
1441
1441
|
},
|
|
1442
1442
|
$$slots: { child: !0 }
|
|
1443
1443
|
}), h(V.sibling(i, 2), {
|
|
@@ -1468,7 +1468,7 @@ function Zt(e, n) {
|
|
|
1468
1468
|
},
|
|
1469
1469
|
$$slots: { default: !0 }
|
|
1470
1470
|
}), V.reset(r), V.template_effect((e, t, r) => {
|
|
1471
|
-
V.set_attribute(i, "href", `/docs/${V.get(n).id}`), V.set_class(i, 1, e), V.set_text(p, V.get(n).title), V.set_text(v, V.get(n).updatedAt), V.set_class(y, 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 ${V.get(l) === V.get(n).id || V.get(u) === V.get(n).id ? "opacity-100" : ""}
|
|
1471
|
+
V.set_attribute(i, "href", `/docs/${V.get(n).id}`), V.set_class(i, 1, e, "svelte-1uwxs9f"), V.set_text(p, V.get(n).title), V.set_text(v, V.get(n).updatedAt), V.set_class(y, 1, `sidebar-touch-action 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 ${V.get(l) === V.get(n).id || V.get(u) === V.get(n).id ? "opacity-100" : ""}`, "svelte-1uwxs9f"), V.set_attribute(y, "aria-label", t), V.set_attribute(y, "title", r), y.disabled = V.get(u) === V.get(n).id;
|
|
1472
1472
|
}, [
|
|
1473
1473
|
() => V.clsx(F("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", V.get(a) === V.get(n).id && "bg-accent text-accent-foreground")),
|
|
1474
1474
|
() => re(),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./Icon-Db-o32_E.js";
|
|
2
2
|
import { n as t, r as n } from "./SettingsDialog-CyZSOjLE.js";
|
|
3
|
-
import { t as r } from "./Sidebar-
|
|
3
|
+
import { t as r } from "./Sidebar-CzcLd6v5.js";
|
|
4
4
|
import { D as i } from "./messages-DIovIZrK.js";
|
|
5
5
|
import { o as a, r as o } from "./route-context-DYQlUfzL.js";
|
|
6
6
|
import { d as s } from "./subfolders-refresh-store.svelte-DxP21a1c.js";
|
|
@@ -67,12 +67,15 @@ var v = d.state(!1), y = {
|
|
|
67
67
|
}
|
|
68
68
|
};
|
|
69
69
|
function b() {
|
|
70
|
+
d.set(v, !0);
|
|
71
|
+
}
|
|
72
|
+
function x() {
|
|
70
73
|
d.set(v, !1);
|
|
71
74
|
}
|
|
72
75
|
//#endregion
|
|
73
76
|
//#region src/lib/components/MobileSidebarToggle.svelte
|
|
74
|
-
var
|
|
75
|
-
function
|
|
77
|
+
var S = d.from_html("<button type=\"button\" class=\"mobile-sidebar-toggle fixed left-3 top-3 flex size-11 items-center justify-center rounded-md border border-border bg-background text-foreground shadow-sm transition-colors hover:bg-accent md:hidden\" style=\"top: calc(0.75rem + env(safe-area-inset-top));\"><!></button>");
|
|
78
|
+
function C(e, t) {
|
|
76
79
|
d.push(t, !0);
|
|
77
80
|
let n = d.prop(t, "buttonRef", 15, null), r = d.prop(t, "controls", 3, "mobile-navigation"), i = d.state(!1);
|
|
78
81
|
function a() {
|
|
@@ -95,7 +98,7 @@ function S(e, t) {
|
|
|
95
98
|
y.toggle();
|
|
96
99
|
}
|
|
97
100
|
var s = d.comment(), c = d.first_child(s), l = (e) => {
|
|
98
|
-
var t =
|
|
101
|
+
var t = S();
|
|
99
102
|
_(d.child(t), { class: "size-5" }), d.reset(t), d.bind_this(t, (e) => n(e), () => n()), d.template_effect(() => {
|
|
100
103
|
d.set_attribute(t, "aria-label", y.open ? "Close navigation menu" : "Open navigation menu"), d.set_attribute(t, "aria-expanded", y.open), d.set_attribute(t, "aria-controls", r());
|
|
101
104
|
}), d.delegated("click", t, o), d.append(e, t);
|
|
@@ -107,8 +110,8 @@ function S(e, t) {
|
|
|
107
110
|
d.delegate(["click"]);
|
|
108
111
|
//#endregion
|
|
109
112
|
//#region src/lib/components/ScrollToTop.svelte
|
|
110
|
-
var
|
|
111
|
-
function
|
|
113
|
+
var w = d.from_html("<button type=\"button\"><!></button>");
|
|
114
|
+
function T(e, t) {
|
|
112
115
|
d.push(t, !0);
|
|
113
116
|
let n = d.prop(t, "avoidEditorToolbar", 3, !1), r = d.state(!1), a = null, o = d.state("none"), s = d.state(void 0);
|
|
114
117
|
function c() {
|
|
@@ -169,7 +172,7 @@ function w(e, t) {
|
|
|
169
172
|
t.disconnect(), r.disconnect(), window.removeEventListener("resize", e);
|
|
170
173
|
};
|
|
171
174
|
});
|
|
172
|
-
var m =
|
|
175
|
+
var m = w();
|
|
173
176
|
let h, _;
|
|
174
177
|
g(d.child(m), { class: "size-5" }), d.reset(m), d.template_effect((e, t) => {
|
|
175
178
|
h = d.set_class(m, 1, `scroll-to-top fixed bottom-6 right-6 z-50 inline-flex size-10 items-center justify-center rounded-full border border-border bg-card text-muted-foreground shadow-md transition-all hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring ${d.get(r) ? "opacity-100 pointer-events-auto" : "opacity-0 pointer-events-none"}`, null, h, {
|
|
@@ -180,22 +183,44 @@ function w(e, t) {
|
|
|
180
183
|
}
|
|
181
184
|
d.delegate(["click"]);
|
|
182
185
|
//#endregion
|
|
186
|
+
//#region src/lib/stores/mobile-sidebar-gesture.ts
|
|
187
|
+
function E(e = {}) {
|
|
188
|
+
let t = e.edgeWidth ?? 36, n = e.openDistance ?? 40, r = e.scrollTolerance ?? 12, i = null, a = !1;
|
|
189
|
+
return {
|
|
190
|
+
start(e) {
|
|
191
|
+
return i = e.x <= t ? e : null, a = !1, i ? "tracking" : "idle";
|
|
192
|
+
},
|
|
193
|
+
move(e) {
|
|
194
|
+
if (!i || a) return a ? "cancelled" : "idle";
|
|
195
|
+
let t = e.x - i.x, o = Math.abs(e.y - i.y);
|
|
196
|
+
return o > r && o > Math.abs(t) ? (a = !0, "cancelled") : t >= n && o <= Math.max(r * 2, t) ? (i = null, "open") : "tracking";
|
|
197
|
+
},
|
|
198
|
+
end(e) {
|
|
199
|
+
let t = this.move(e);
|
|
200
|
+
return i = null, a = !1, t === "open" ? "open" : "idle";
|
|
201
|
+
},
|
|
202
|
+
cancel() {
|
|
203
|
+
i = null, a = !1;
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
//#endregion
|
|
183
208
|
//#region src/lib/hosts/mutation-refresh.ts
|
|
184
|
-
var
|
|
209
|
+
var D = {
|
|
185
210
|
documents: !1,
|
|
186
211
|
folders: !1,
|
|
187
212
|
tags: !1
|
|
188
213
|
};
|
|
189
|
-
function
|
|
214
|
+
function O(e, t) {
|
|
190
215
|
let n = (t?.method ?? (e instanceof Request ? e.method : "GET")).toUpperCase();
|
|
191
216
|
if (![
|
|
192
217
|
"POST",
|
|
193
218
|
"PUT",
|
|
194
219
|
"PATCH",
|
|
195
220
|
"DELETE"
|
|
196
|
-
].includes(n)) return
|
|
221
|
+
].includes(n)) return D;
|
|
197
222
|
let r = typeof e == "string" ? e : e instanceof URL ? e.href : e.url, i = new URL(r, "http://docsmint.local").pathname;
|
|
198
|
-
return /\/keys(?:\/|$)/.test(i) ?
|
|
223
|
+
return /\/keys(?:\/|$)/.test(i) ? D : /^\/api\/(?:v1\/)?tags(?:\/|$)/.test(i) || /^\/api\/(?:v1\/)?documents\/[^/]+\/tags(?:\/|$)/.test(i) ? {
|
|
199
224
|
documents: !0,
|
|
200
225
|
folders: !1,
|
|
201
226
|
tags: !0
|
|
@@ -203,24 +228,24 @@ function E(e, t) {
|
|
|
203
228
|
documents: !0,
|
|
204
229
|
folders: !0,
|
|
205
230
|
tags: !1
|
|
206
|
-
} :
|
|
231
|
+
} : D;
|
|
207
232
|
}
|
|
208
|
-
function
|
|
233
|
+
function k(e) {
|
|
209
234
|
return e.documents || e.folders || e.tags;
|
|
210
235
|
}
|
|
211
236
|
//#endregion
|
|
212
237
|
//#region src/lib/hosts/realtime-context.ts
|
|
213
|
-
var
|
|
214
|
-
function
|
|
215
|
-
m(
|
|
238
|
+
var A = Symbol("docsmint-realtime-adapter");
|
|
239
|
+
function j(e) {
|
|
240
|
+
m(A, e);
|
|
216
241
|
}
|
|
217
|
-
function
|
|
218
|
-
return f(
|
|
242
|
+
function M() {
|
|
243
|
+
return f(A);
|
|
219
244
|
}
|
|
220
245
|
//#endregion
|
|
221
246
|
//#region src/lib/hosts/DocsmintAppShellHost.svelte
|
|
222
|
-
var
|
|
223
|
-
function
|
|
247
|
+
var N = d.from_html("<div data-mobile-sidebar-edge=\"\" aria-hidden=\"true\" class=\"fixed inset-y-0 left-0 z-20 w-9 md:hidden\" style=\"touch-action: pan-y;\"></div>"), P = d.from_html("<button type=\"button\" tabindex=\"-1\" aria-label=\"Close navigation menu\" class=\"fixed inset-0 z-40 bg-black/50\"></button>"), F = d.from_html("<div class=\"flex h-screen\" data-docsmint-app-shell-host=\"\"><!> <main id=\"main-content\" class=\"relative flex-1 overflow-auto\"><!></main></div> <!> <!> <!>", 1), I = d.from_html("<!> <!>", 1);
|
|
248
|
+
function L(e, i) {
|
|
224
249
|
d.push(i, !0);
|
|
225
250
|
let f = d.prop(i, "request", 19, () => ({ fetch })), p = d.prop(i, "extensions", 19, () => ({}));
|
|
226
251
|
o({
|
|
@@ -230,12 +255,31 @@ function P(e, i) {
|
|
|
230
255
|
resolve: (e) => i.route.resolve(e),
|
|
231
256
|
navigate: (e, t) => i.route.navigate?.(e, t)
|
|
232
257
|
}), a({ fetch: async (...e) => {
|
|
233
|
-
let t = await f().fetch(...e), n =
|
|
234
|
-
return t.ok &&
|
|
258
|
+
let t = await f().fetch(...e), n = O(e[0], e[1]);
|
|
259
|
+
return t.ok && k(n) && (n.documents && c(), n.folders && s(), n.tags && l()), t;
|
|
235
260
|
} });
|
|
236
261
|
let m = h(() => i.realtime);
|
|
237
|
-
m &&
|
|
238
|
-
let g = d.state(null), _ = d.state(null), v = d.state(null),
|
|
262
|
+
m && j(m), n.init(), t.init();
|
|
263
|
+
let g = d.state(null), _ = d.state(null), v = d.state(null), S = d.state(!1), w = E();
|
|
264
|
+
function D(e) {
|
|
265
|
+
w.start({
|
|
266
|
+
x: e.clientX,
|
|
267
|
+
y: e.clientY
|
|
268
|
+
}), e.currentTarget.setPointerCapture(e.pointerId);
|
|
269
|
+
}
|
|
270
|
+
function A(e) {
|
|
271
|
+
w.move({
|
|
272
|
+
x: e.clientX,
|
|
273
|
+
y: e.clientY
|
|
274
|
+
}) === "open" && (e.preventDefault(), b());
|
|
275
|
+
}
|
|
276
|
+
function M(e) {
|
|
277
|
+
w.end({
|
|
278
|
+
x: e.clientX,
|
|
279
|
+
y: e.clientY
|
|
280
|
+
}) === "open" && b();
|
|
281
|
+
}
|
|
282
|
+
let L = [
|
|
239
283
|
"a[href]",
|
|
240
284
|
"button:not([disabled])",
|
|
241
285
|
"input:not([disabled])",
|
|
@@ -245,20 +289,20 @@ function P(e, i) {
|
|
|
245
289
|
].join(",");
|
|
246
290
|
d.user_effect(() => {
|
|
247
291
|
let e = window.matchMedia("(max-width: 767px)"), t = () => {
|
|
248
|
-
d.set(
|
|
292
|
+
d.set(S, e.matches, !0), d.get(S) || x();
|
|
249
293
|
};
|
|
250
294
|
return t(), e.addEventListener("change", t), () => e.removeEventListener("change", t);
|
|
251
295
|
}), d.user_effect(() => {
|
|
252
|
-
i.route.pathname,
|
|
296
|
+
i.route.pathname, x();
|
|
253
297
|
}), d.user_effect(() => {
|
|
254
|
-
if (!d.get(
|
|
298
|
+
if (!d.get(S) || !y.open || !d.get(_)) return;
|
|
255
299
|
let e = document.activeElement instanceof HTMLElement ? document.activeElement : d.get(v), t = document.body.style.overflow;
|
|
256
300
|
document.body.style.overflow = "hidden";
|
|
257
|
-
let n = () => Array.from(d.get(_)?.querySelectorAll(
|
|
301
|
+
let n = () => Array.from(d.get(_)?.querySelectorAll(L) ?? []).filter((e) => !e.hasAttribute("disabled")), r = (e) => {
|
|
258
302
|
let t = e.target instanceof Element ? e.target.closest("[role=\"dialog\"]") : null;
|
|
259
303
|
if (t && t !== d.get(_)) return;
|
|
260
304
|
if (e.key === "Escape") {
|
|
261
|
-
e.preventDefault(),
|
|
305
|
+
e.preventDefault(), x();
|
|
262
306
|
return;
|
|
263
307
|
}
|
|
264
308
|
if (e.key !== "Tab") return;
|
|
@@ -277,16 +321,16 @@ function P(e, i) {
|
|
|
277
321
|
cancelAnimationFrame(i), document.removeEventListener("keydown", r), document.body.style.overflow = t, e?.isConnected && e.focus();
|
|
278
322
|
};
|
|
279
323
|
});
|
|
280
|
-
var
|
|
281
|
-
u(
|
|
324
|
+
var R = I(), z = d.first_child(R);
|
|
325
|
+
u(z, {
|
|
282
326
|
get extensions() {
|
|
283
327
|
return p();
|
|
284
328
|
},
|
|
285
329
|
children: (e, t) => {
|
|
286
|
-
var n =
|
|
330
|
+
var n = F(), a = d.first_child(n), o = d.child(a);
|
|
287
331
|
r(o, {
|
|
288
332
|
get mobile() {
|
|
289
|
-
return d.get(
|
|
333
|
+
return d.get(S);
|
|
290
334
|
},
|
|
291
335
|
get mobileOpen() {
|
|
292
336
|
return y.open;
|
|
@@ -301,7 +345,7 @@ function P(e, i) {
|
|
|
301
345
|
var s = d.sibling(o, 2), c = d.child(s);
|
|
302
346
|
d.snippet(c, () => i.children), d.reset(s), d.bind_this(s, (e) => d.set(g, e), () => d.get(g)), d.reset(a);
|
|
303
347
|
var l = d.sibling(a, 2);
|
|
304
|
-
|
|
348
|
+
C(l, {
|
|
305
349
|
get buttonRef() {
|
|
306
350
|
return d.get(v);
|
|
307
351
|
},
|
|
@@ -310,21 +354,28 @@ function P(e, i) {
|
|
|
310
354
|
}
|
|
311
355
|
});
|
|
312
356
|
var u = d.sibling(l, 2), f = (e) => {
|
|
313
|
-
var t =
|
|
357
|
+
var t = N();
|
|
358
|
+
d.delegated("pointerdown", t, D), d.delegated("pointermove", t, A), d.delegated("pointerup", t, M), d.event("pointercancel", t, () => w.cancel()), d.append(e, t);
|
|
359
|
+
};
|
|
360
|
+
d.if(u, (e) => {
|
|
361
|
+
d.get(S) && !y.open && e(f);
|
|
362
|
+
});
|
|
363
|
+
var p = d.sibling(u, 2), m = (e) => {
|
|
364
|
+
var t = P();
|
|
314
365
|
d.delegated("click", t, function(...e) {
|
|
315
|
-
|
|
366
|
+
x?.apply(this, e);
|
|
316
367
|
}), d.append(e, t);
|
|
317
368
|
};
|
|
318
|
-
d.if(
|
|
319
|
-
d.get(
|
|
320
|
-
}), d.template_effect(() => s.inert = d.get(
|
|
369
|
+
d.if(p, (e) => {
|
|
370
|
+
d.get(S) && y.open && e(m);
|
|
371
|
+
}), d.template_effect(() => s.inert = d.get(S) && y.open), d.append(e, n);
|
|
321
372
|
},
|
|
322
373
|
$$slots: { default: !0 }
|
|
323
374
|
});
|
|
324
|
-
var
|
|
375
|
+
var B = d.sibling(z, 2), V = (e) => {
|
|
325
376
|
{
|
|
326
377
|
let t = d.derived(() => i.route.pathname.startsWith("/docs/"));
|
|
327
|
-
|
|
378
|
+
T(e, {
|
|
328
379
|
get scrollTarget() {
|
|
329
380
|
return d.get(g);
|
|
330
381
|
},
|
|
@@ -334,10 +385,15 @@ function P(e, i) {
|
|
|
334
385
|
});
|
|
335
386
|
}
|
|
336
387
|
};
|
|
337
|
-
d.if(
|
|
338
|
-
n.showScrollToTop && e(
|
|
339
|
-
}), d.append(e,
|
|
388
|
+
d.if(B, (e) => {
|
|
389
|
+
n.showScrollToTop && e(V);
|
|
390
|
+
}), d.append(e, R), d.pop();
|
|
340
391
|
}
|
|
341
|
-
d.delegate([
|
|
392
|
+
d.delegate([
|
|
393
|
+
"pointerdown",
|
|
394
|
+
"pointermove",
|
|
395
|
+
"pointerup",
|
|
396
|
+
"click"
|
|
397
|
+
]);
|
|
342
398
|
//#endregion
|
|
343
|
-
export {
|
|
399
|
+
export { L as DocsmintAppShellHost, M as getDocsmintRealtimeAdapter };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../CategoryDialog-
|
|
1
|
+
import { t as e } from "../CategoryDialog-CbXBMBZB.js";
|
|
2
2
|
export { e as CategoryDialog };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../Sidebar-
|
|
1
|
+
import { t as e } from "../Sidebar-CzcLd6v5.js";
|
|
2
2
|
export { e as Sidebar };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.editor-settings.svelte-1eaqpj summary:where(.svelte-1eaqpj){list-style:none}.editor-settings.svelte-1eaqpj summary:where(.svelte-1eaqpj)::-webkit-details-marker{display:none}.editor-settings-chevron.svelte-1eaqpj{font-size:20px;transition:transform .18s}.editor-settings[open].svelte-1eaqpj .editor-settings-chevron:where(.svelte-1eaqpj){transform:rotate(180deg)}.profile-advanced.svelte-1eaqpj summary:where(.svelte-1eaqpj){list-style:none}.profile-advanced.svelte-1eaqpj summary:where(.svelte-1eaqpj)::-webkit-details-marker{display:none}.profile-advanced-chevron.svelte-1eaqpj{font-size:20px;transition:transform .18s}.profile-advanced[open].svelte-1eaqpj .profile-advanced-chevron:where(.svelte-1eaqpj){transform:rotate(180deg)}.preference-switch.svelte-1eaqpj{border:1px solid var(--border);background:var(--muted);cursor:pointer;border-radius:999px;flex:none;width:42px;height:24px;padding:2px;transition:background .18s,border-color .18s;position:relative}.preference-switch.svelte-1eaqpj span:where(.svelte-1eaqpj){background:var(--background);border-radius:999px;width:18px;height:18px;transition:transform .18s;display:block;box-shadow:0 1px 3px #00000038}.preference-switch.enabled.svelte-1eaqpj{border-color:var(--primary);background:var(--primary)}.preference-switch.enabled.svelte-1eaqpj span:where(.svelte-1eaqpj){transform:translate(18px)}.preference-switch.svelte-1eaqpj:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.preference-switch.svelte-1eaqpj:disabled{cursor:not-allowed;opacity:.45}[data-select-viewport],[data-combobox-viewport]{scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important}[data-combobox-viewport]::-webkit-scrollbar{display:none!important}[data-select-viewport]::-webkit-scrollbar{display:none!important}:root{--layer-chrome:30;--layer-panel:100;--layer-popover:200;--layer-modal:1000}.link-dialog-body.svelte-1cfbs6u{flex-direction:column;gap:.5rem;padding:0 0 1rem;display:flex}.link-dialog-label.svelte-1cfbs6u{color:var(--foreground);font-size:.875rem;font-weight:500}.toolbar.svelte-vm4iq2{border-bottom:1px solid var(--border);background:var(--card);z-index:var(--layer-chrome);border-radius:7px 7px 0 0;flex-wrap:wrap;align-items:center;gap:1px;padding:6px 10px;display:flex;position:sticky;top:0}.toolbar-divider.svelte-vm4iq2{background:var(--border);width:1px;height:18px;margin:0 2px}.toolbar-btn.svelte-vm4iq2{min-width:34px;min-height:34px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.toolbar-btn.svelte-vm4iq2:hover:not(:disabled){background:var(--accent);color:var(--accent-foreground)}.toolbar-btn.active.svelte-vm4iq2{background:var(--primary);color:var(--primary-foreground)}.toolbar-btn.svelte-vm4iq2:disabled{opacity:.4;cursor:not-allowed}.dropdown.svelte-vm4iq2{justify-content:center;align-items:center;display:inline-flex;position:relative}.dropdown-trigger.svelte-vm4iq2{gap:2px;padding:0 6px}.dropdown-chevron{opacity:.6}.dropdown-popover.svelte-vm4iq2{z-index:var(--layer-popover);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px #0000001a}.dropdown-item.svelte-vm4iq2{min-height:32px;color:var(--popover-foreground);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:6px 10px;font-size:.875rem;transition:background .1s;display:inline-flex}.dropdown-item.svelte-vm4iq2:hover{background:var(--accent);color:var(--accent-foreground)}.dropdown-item.selected.svelte-vm4iq2{background:color-mix(in srgb, var(--primary) 18%, transparent);color:var(--foreground)}.highlight-picker.svelte-vm4iq2{justify-content:center;align-items:center;display:inline-flex;position:relative}.highlight-btn.svelte-vm4iq2{position:relative}.highlight-dot.svelte-vm4iq2{border:1px solid var(--border);opacity:0;pointer-events:none;border-radius:50%;width:8px;height:8px;transition:opacity .15s,transform .15s;position:absolute;bottom:6px;right:6px;transform:scale(.6)}.highlight-dot.visible.svelte-vm4iq2{opacity:1;transform:scale(1)}.highlight-popover.svelte-vm4iq2{z-index:var(--layer-popover);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;min-width:180px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px #0000001a}.highlight-swatch-grid.svelte-vm4iq2{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.highlight-swatch.svelte-vm4iq2{border:1px solid var(--border);cursor:pointer;border-radius:6px;width:28px;height:28px;padding:0;transition:transform .1s,box-shadow .1s}.highlight-swatch.svelte-vm4iq2:hover{box-shadow:0 0 0 2px var(--ring);transform:scale(1.08)}.highlight-swatch.selected.svelte-vm4iq2{box-shadow:0 0 0 2px var(--ring)}.dark .highlight-picker.svelte-vm4iq2 .highlight-swatch:where(.svelte-vm4iq2),.dark .highlight-picker.svelte-vm4iq2 .highlight-dot:where(.svelte-vm4iq2){background-blend-mode:multiply;background-image:linear-gradient(#0000009e,#0000009e)}.highlight-clear.svelte-vm4iq2{color:var(--muted-foreground);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:4px 8px;font-size:.75rem;display:inline-flex}.highlight-clear.svelte-vm4iq2:hover{background:var(--accent);color:var(--accent-foreground)}.visually-hidden-file-input.svelte-vm4iq2{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.image-btn.uploading.svelte-vm4iq2{color:var(--ring)}.image-btn.svelte-vm4iq2:disabled:not(.uploading){opacity:.4;cursor:not-allowed}@keyframes svelte-vm4iq2-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-btn.svelte-vm4iq2 .animate-spin{animation:1s linear infinite svelte-vm4iq2-spin}.image-error.svelte-vm4iq2{background:color-mix(in srgb, var(--destructive) 10%, transparent);color:var(--destructive);border-bottom:1px solid color-mix(in srgb, var(--destructive) 20%, transparent);justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.image-error-dismiss.svelte-vm4iq2{color:var(--destructive);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.emoji-picker.svelte-vm4iq2{justify-content:center;align-items:center;display:inline-flex;position:relative}.emoji-popover.svelte-vm4iq2{z-index:var(--layer-popover);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:8px;min-width:220px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px #0000001a}.emoji-grid.svelte-vm4iq2{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.emoji-button.svelte-vm4iq2{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:1.25rem;line-height:1;transition:background .1s,transform .1s;display:inline-flex}.emoji-button.svelte-vm4iq2:hover{background:var(--accent);transform:scale(1.08)}.emoji-button.svelte-vm4iq2:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.table-picker.svelte-vm4iq2{justify-content:center;align-items:center;display:inline-flex;position:relative}.table-popover.svelte-vm4iq2{z-index:var(--layer-popover);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:8px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px #0000001a}.table-grid.svelte-vm4iq2{grid-template-columns:repeat(8,18px);grid-auto-rows:18px;gap:3px;display:grid}.table-cell.svelte-vm4iq2{border:1px solid var(--border);background:var(--background);cursor:pointer;border-radius:3px;width:18px;height:18px;padding:0;transition:background 80ms,border-color 80ms}.table-cell.svelte-vm4iq2:hover{border-color:var(--primary)}.table-cell.active.svelte-vm4iq2{background:color-mix(in srgb, var(--primary) 35%, transparent);border-color:var(--primary)}.table-grid-label.svelte-vm4iq2{text-align:center;color:var(--muted-foreground);margin-top:8px;font-size:.75rem}.table-actions-popover.svelte-vm4iq2{width:min(280px,100vw - 24px);padding:6px}.table-action-group.svelte-vm4iq2{grid-template-columns:1fr;gap:2px;padding:4px 0;display:grid}.table-action-group.svelte-vm4iq2+.table-action-group:where(.svelte-vm4iq2){border-top:1px solid var(--border)}.table-action-heading.svelte-vm4iq2{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);padding:4px 8px 2px;font-size:.6875rem;font-weight:600}.table-action.svelte-vm4iq2{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:7px 8px;font-size:.8125rem}.table-action.svelte-vm4iq2:hover:not(:disabled),.table-action.svelte-vm4iq2:focus-visible{background:var(--accent);outline:none}.table-action.svelte-vm4iq2:focus-visible{box-shadow:0 0 0 2px var(--ring)}.table-action.svelte-vm4iq2:disabled{color:var(--muted-foreground);opacity:.45;cursor:not-allowed}.table-danger-action.svelte-vm4iq2{color:var(--destructive)}.table-danger-action.svelte-vm4iq2:hover:not(:disabled){background:color-mix(in srgb, var(--destructive) 12%, transparent)}.copy-btn.copied.svelte-vm4iq2{color:var(--primary)}.snapshot-btn.svelte-vm4iq2{color:var(--muted-foreground)}.toolbar.floating-bar.svelte-vm4iq2{z-index:var(--layer-popover);background:color-mix(in srgb, var(--background) 95%, transparent);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);box-shadow:0 10px 25px -5px #00000026, 0 8px 10px -6px #00000026, 0 0 0 1px var(--border);border-radius:12px;width:max-content;max-width:90vw;padding:10px 14px;animation:.2s ease-out svelte-vm4iq2-floatUp;position:fixed;top:auto;bottom:24px;left:50%;overflow:visible;transform:translate(-50%)}@media (width<=640px){.toolbar.floating-bar.svelte-vm4iq2{left:8px;right:8px;bottom:max(10px, env(safe-area-inset-bottom));border-radius:10px;width:auto;max-width:none;padding:8px;transform:none}.floating-toolbar-layout.svelte-vm4iq2{flex-flow:wrap;align-items:center;gap:4px;max-height:min(42vh,260px);padding-right:34px;display:flex;overflow-y:auto}.floating-toolbar-row.svelte-vm4iq2{display:contents}.floating-toolbar-spacer.svelte-vm4iq2{display:none}.floating-toolbar-close.svelte-vm4iq2{margin-left:0;position:absolute;top:6px;right:6px}.floating-toolbar-row-secondary.svelte-vm4iq2{display:contents}}.dropdown-popover.open-up.svelte-vm4iq2,.highlight-popover.open-up.svelte-vm4iq2,.emoji-popover.open-up.svelte-vm4iq2,.table-popover.open-up.svelte-vm4iq2{top:auto;bottom:calc(100% + 6px)}.dropdown-popover.open-left.svelte-vm4iq2,.highlight-popover.open-left.svelte-vm4iq2,.emoji-popover.open-left.svelte-vm4iq2,.table-popover.open-left.svelte-vm4iq2{left:auto;right:0}@keyframes svelte-vm4iq2-floatUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.editor-wrapper.svelte-9hjz5q{flex-direction:column;flex:1;min-height:0;display:flex}.editor-content.svelte-9hjz5q{flex:1;padding:24px;position:relative;overflow-y:auto}.editor-content.deferred-loading.svelte-9hjz5q{min-height:320px}.large-document-loader.svelte-9hjz5q{z-index:2;border:1px solid var(--border);background:color-mix(in srgb, var(--background) 94%, transparent);pointer-events:none;border-radius:12px;padding:20px;position:absolute;inset:24px}.large-document-loader-heading.svelte-9hjz5q{color:var(--muted-foreground);align-items:center;gap:10px;font-size:.875rem;font-weight:500;display:flex}.large-document-spinner.svelte-9hjz5q{border:2px solid var(--border);border-top-color:var(--primary);border-radius:999px;width:18px;height:18px;animation:.8s linear infinite svelte-9hjz5q-large-document-spin}.large-document-loader-lines.svelte-9hjz5q{gap:12px;margin-top:28px;display:grid}.large-document-loader-lines.svelte-9hjz5q span:where(.svelte-9hjz5q){background:linear-gradient(90deg, var(--muted) 20%, color-mix(in srgb, var(--muted) 55%, var(--background)) 50%, var(--muted) 80%);background-size:220% 100%;border-radius:999px;height:12px;animation:1.35s ease-in-out infinite svelte-9hjz5q-large-document-shimmer;display:block}@keyframes svelte-9hjz5q-large-document-spin{to{transform:rotate(360deg)}}@keyframes svelte-9hjz5q-large-document-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.large-document-spinner.svelte-9hjz5q,.large-document-loader-lines.svelte-9hjz5q span:where(.svelte-9hjz5q){animation:none}}.editor-content.svelte-9hjz5q .tiptap{min-height:300px;color:var(--foreground);outline:none;font-size:16px;line-height:1.7}.editor-content.svelte-9hjz5q .tiptap:focus-visible{outline:none}.editor-content.svelte-9hjz5q .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--muted-foreground);pointer-events:none;height:0}.editor-content.svelte-9hjz5q .tiptap h1{letter-spacing:-.025em;margin:1.5rem 0 .75rem;font-size:2rem;font-weight:800}.editor-content.svelte-9hjz5q .tiptap h2{letter-spacing:-.02em;margin:1.25rem 0 .5rem;font-size:1.5rem;font-weight:700}.editor-content.svelte-9hjz5q .tiptap h3{margin:1rem 0 .5rem;font-size:1.25rem;font-weight:600}.editor-content.svelte-9hjz5q .tiptap p{margin:.5rem 0}.editor-content.svelte-9hjz5q .tiptap ul:not([data-type=taskList]){margin:.5rem 0;padding-left:1.5rem;list-style-type:disc}.editor-content.svelte-9hjz5q .tiptap ol{margin:.5rem 0;padding-left:1.5rem;list-style-type:decimal}.editor-content.svelte-9hjz5q .tiptap li{margin:.25rem 0;display:list-item}.editor-content.svelte-9hjz5q .tiptap ul[data-type=taskList]{padding-left:.25rem;list-style:none}.editor-content.svelte-9hjz5q .tiptap ul[data-type=taskList] li{align-items:flex-start;gap:.5rem;display:flex}.editor-content.svelte-9hjz5q .tiptap ul[data-type=taskList] li>label{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:1.7em;margin:0;display:flex}.editor-content.svelte-9hjz5q .tiptap ul[data-type=taskList] li>div{flex:auto;min-width:0}.editor-content.svelte-9hjz5q .tiptap ul[data-type=taskList] li>div>p{margin:0}.editor-content.svelte-9hjz5q .tiptap ul[data-type=taskList] input[type=checkbox]{accent-color:var(--primary);cursor:pointer}.editor-content.svelte-9hjz5q .tiptap blockquote{border-left:3px solid var(--border);color:var(--muted-foreground);margin:.75rem 0;padding-left:1rem;font-style:italic}.editor-content.svelte-9hjz5q .tiptap code{background:var(--muted);border-radius:4px;padding:.125rem .375rem;font-family:Fira Code,Consolas,monospace;font-size:.875rem}.editor-content.svelte-9hjz5q .tiptap pre{background:var(--muted);color:var(--foreground);border:1px solid var(--border);border-radius:8px;margin:.75rem 0;padding:1rem;font-family:Fira Code,Consolas,monospace;font-size:.875rem;line-height:1.6;overflow-x:auto}.editor-content.svelte-9hjz5q .tiptap pre code{font-size:inherit;color:inherit;background:0 0;border-radius:0;padding:0}.editor-content.svelte-9hjz5q .tiptap pre .hljs-keyword{color:var(--hljs-keyword)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-string{color:var(--hljs-string)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-number{color:var(--hljs-number)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-function{color:var(--hljs-function)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-title{color:var(--hljs-title)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-comment{color:var(--hljs-comment);font-style:italic}.editor-content.svelte-9hjz5q .tiptap pre .hljs-built_in{color:var(--hljs-built_in)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-type{color:var(--hljs-type)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-attr{color:var(--hljs-attr)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-variable{color:var(--hljs-variable)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-literal{color:var(--hljs-literal)}.editor-content.svelte-9hjz5q .tiptap hr{border:none;border-top:2px solid var(--border);margin:1.5rem 0}.editor-content.svelte-9hjz5q .tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:.75rem 0;overflow:hidden}.editor-content.svelte-9hjz5q .tiptap th,.editor-content.svelte-9hjz5q .tiptap td{border:1px solid var(--border);vertical-align:top;text-align:left;min-width:3rem;padding:.4rem .6rem}.editor-content.svelte-9hjz5q .tiptap th{background:var(--muted);font-weight:600}.editor-content.svelte-9hjz5q .tiptap .selectedCell:after{content:"";background:color-mix(in srgb, var(--primary) 16%, transparent);pointer-events:none;position:absolute;inset:0}.editor-content.svelte-9hjz5q .tiptap td,.editor-content.svelte-9hjz5q .tiptap th{position:relative}.editor-content.svelte-9hjz5q .tiptap .column-resize-handle{background:var(--primary);cursor:col-resize;width:4px;position:absolute;top:0;bottom:0;right:-2px}.editor-content.svelte-9hjz5q .tiptap .doc-link{color:var(--primary);cursor:pointer;text-decoration:underline}.editor-content.svelte-9hjz5q .tiptap [data-resize-container][data-node=image]{max-width:100%;margin:.75rem 0}.editor-content.svelte-9hjz5q .tiptap [data-resize-wrapper]>.doc-image{border-radius:.5rem;max-width:100%;height:auto;display:block}.editor-content.svelte-9hjz5q .tiptap [data-resize-wrapper]{max-width:100%}.editor-content.svelte-9hjz5q .tiptap [data-resize-handle]{border:2px solid var(--background);background:var(--primary);width:12px;height:12px;box-shadow:0 1px 4px color-mix(in srgb, var(--foreground) 25%, transparent);opacity:0;border-radius:9999px;transition:opacity .12s}.editor-content.svelte-9hjz5q .tiptap .ProseMirror-selectednode [data-resize-handle],.editor-content.svelte-9hjz5q .tiptap [data-resize-state=true] [data-resize-handle]{opacity:1}.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=top-left],.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=bottom-right]{cursor:nwse-resize;transform:translate(50%,50%)}.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=top-right],.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=bottom-left]{cursor:nesw-resize;transform:translate(-50%,50%)}.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=top-left],.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=top-right]{transform:translate(var(--image-handle-x,50%), -50%)}.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=top-right],.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=bottom-right]{--image-handle-x:50%}.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=top-left],.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=bottom-left]{--image-handle-x:-50%}.editor-content.svelte-9hjz5q .tiptap mark{background-color:var(--highlight-default,#fde68a);border-radius:2px;padding:0 2px}.dark .editor-content.svelte-9hjz5q .tiptap mark{background-blend-mode:multiply;color:#fff;background-image:linear-gradient(#0000009e,#0000009e)}.editor-skeleton.svelte-9hjz5q{flex-direction:column;flex:1;display:flex}.skeleton-toolbar.svelte-9hjz5q{border-bottom:1px solid var(--border);gap:6px;padding:8px 12px;display:flex}.skeleton-icon.svelte-9hjz5q{background:var(--muted);border-radius:6px;width:32px;height:32px;animation:1.5s ease-in-out infinite svelte-9hjz5q-pulse}.skeleton-body.svelte-9hjz5q{flex-direction:column;gap:12px;padding:24px;display:flex}.skeleton-bar.svelte-9hjz5q{background:var(--muted);border-radius:4px;height:16px;animation:1.5s ease-in-out infinite svelte-9hjz5q-pulse}@keyframes svelte-9hjz5q-pulse{0%,to{opacity:1}50%{opacity:.4}}.title-input.svelte-vc365t{color:var(--foreground);background:0 0;border:none;border-bottom:2px solid #0000;outline:none;width:100%;margin-bottom:8px;padding:0 0 4px;font-size:2rem;font-weight:700;transition:border-color .15s}.title-input.svelte-vc365t::placeholder{color:var(--muted-foreground)}.title-input.focused.svelte-vc365t{border-bottom-color:var(--ring)}.title-input.svelte-vc365t:hover:not(.focused){border-bottom-color:var(--border)}.markdown-toggle.svelte-1k98zvf{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;position:relative}.copy-btn.svelte-1k98zvf{z-index:10;border:1px solid var(--border);background:color-mix(in srgb, var(--card) 85%, transparent);color:var(--muted-foreground);-webkit-backdrop-filter:blur(8px);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .2s;display:inline-flex;position:absolute;top:12px;right:24px;box-shadow:0 2px 8px #0000000d}.copy-btn.svelte-1k98zvf:hover{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.copy-btn.svelte-1k98zvf:active{transform:scale(.96)}.markdown-textarea.svelte-1k98zvf{box-sizing:border-box;resize:vertical;width:100%;height:100%;min-height:0;color:var(--foreground);background:var(--muted);tab-size:4;border:none;border-radius:8px;outline:none;flex:none;padding:56px 24px 24px;font-family:Fira Code,Consolas,Courier New,monospace;font-size:14px;line-height:1.7;transition:background .15s;display:block;overflow-y:hidden}.markdown-textarea.svelte-1k98zvf::placeholder{color:var(--muted-foreground)}.markdown-textarea.svelte-1k98zvf:focus{background:var(--background)}.datepicker.svelte-zmry26{position:relative}.dp-trigger.svelte-zmry26{border:1px solid var(--input);width:100%;height:2.25rem;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:0 .625rem;font-size:.875rem;display:inline-flex}.dp-trigger.svelte-zmry26:focus-visible{box-shadow:0 0 0 1px var(--ring);outline:none}.dp-placeholder.svelte-zmry26{color:var(--muted-foreground)}.dp-popover.svelte-zmry26{z-index:var(--layer-popover);background:var(--popover);width:16rem;color:var(--popover-foreground);border:1px solid var(--border);border-radius:8px;padding:8px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 16px #0000002e}.dp-header.svelte-zmry26{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.dp-title.svelte-zmry26{font-size:.8125rem;font-weight:600}.dp-nav.svelte-zmry26{width:1.75rem;height:1.75rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.dp-nav.svelte-zmry26:hover{background:var(--accent);color:var(--accent-foreground)}.dp-weekdays.svelte-zmry26,.dp-grid.svelte-zmry26{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-weekday.svelte-zmry26{text-align:center;color:var(--muted-foreground);padding:2px 0;font-size:.6875rem}.dp-empty.svelte-zmry26{aspect-ratio:1}.dp-day.svelte-zmry26{aspect-ratio:1;color:var(--foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:.8125rem;display:inline-flex}.dp-day.svelte-zmry26:hover{background:var(--accent);color:var(--accent-foreground)}.dp-day.today.svelte-zmry26{box-shadow:inset 0 0 0 1px var(--ring)}.dp-day.selected.svelte-zmry26,.dp-day.selected.svelte-zmry26:hover{background:var(--primary);color:var(--primary-foreground)}.dp-clear.svelte-zmry26{width:100%;color:var(--muted-foreground);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-top:6px;padding:4px 0;font-size:.75rem}.dp-clear.svelte-zmry26:hover{background:var(--accent);color:var(--accent-foreground)}.dashboard-shell.svelte-e61um3{position:relative}@media (width<=767px){.dashboard-header.svelte-e61um3{min-height:44px}.dashboard-header-actions.svelte-e61um3{top:calc(.75rem + env(safe-area-inset-top));z-index:10;position:absolute;right:.75rem}.dashboard-context-identity.svelte-e61um3{min-width:0;margin-left:56px}}@media (width<=520px){.dashboard-header-actions.svelte-e61um3 button{width:40px;height:40px;padding:0}.dashboard-action-label.svelte-e61um3{display:none}}@media (width<=449px){.dashboard-context-identity.svelte-e61um3{margin-left:52px}.dashboard-context-identity.svelte-e61um3 p:where(.svelte-e61um3){display:none}.dashboard-context-identity.svelte-e61um3 h1:where(.svelte-e61um3){font-size:1.25rem}}@media (width<=767px){.search-form.svelte-itf76n{margin-left:56px}}@media (width<=420px){.search-form.svelte-itf76n{margin-left:52px}}
|
|
1
|
+
.editor-settings.svelte-1eaqpj summary:where(.svelte-1eaqpj){list-style:none}.editor-settings.svelte-1eaqpj summary:where(.svelte-1eaqpj)::-webkit-details-marker{display:none}.editor-settings-chevron.svelte-1eaqpj{font-size:20px;transition:transform .18s}.editor-settings[open].svelte-1eaqpj .editor-settings-chevron:where(.svelte-1eaqpj){transform:rotate(180deg)}.profile-advanced.svelte-1eaqpj summary:where(.svelte-1eaqpj){list-style:none}.profile-advanced.svelte-1eaqpj summary:where(.svelte-1eaqpj)::-webkit-details-marker{display:none}.profile-advanced-chevron.svelte-1eaqpj{font-size:20px;transition:transform .18s}.profile-advanced[open].svelte-1eaqpj .profile-advanced-chevron:where(.svelte-1eaqpj){transform:rotate(180deg)}.preference-switch.svelte-1eaqpj{border:1px solid var(--border);background:var(--muted);cursor:pointer;border-radius:999px;flex:none;width:42px;height:24px;padding:2px;transition:background .18s,border-color .18s;position:relative}.preference-switch.svelte-1eaqpj span:where(.svelte-1eaqpj){background:var(--background);border-radius:999px;width:18px;height:18px;transition:transform .18s;display:block;box-shadow:0 1px 3px #00000038}.preference-switch.enabled.svelte-1eaqpj{border-color:var(--primary);background:var(--primary)}.preference-switch.enabled.svelte-1eaqpj span:where(.svelte-1eaqpj){transform:translate(18px)}.preference-switch.svelte-1eaqpj:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.preference-switch.svelte-1eaqpj:disabled{cursor:not-allowed;opacity:.45}[data-select-viewport],[data-combobox-viewport]{scrollbar-width:none!important;-ms-overflow-style:none!important;-webkit-overflow-scrolling:touch!important}[data-combobox-viewport]::-webkit-scrollbar{display:none!important}[data-select-viewport]::-webkit-scrollbar{display:none!important}@media (pointer:coarse){.sidebar-touch-action.svelte-1nshngr,.sidebar-touch-action.svelte-1uwxs9f{opacity:1;min-width:36px;min-height:36px}}:root{--layer-chrome:30;--layer-panel:100;--layer-popover:200;--layer-modal:1000}.link-dialog-body.svelte-1cfbs6u{flex-direction:column;gap:.5rem;padding:0 0 1rem;display:flex}.link-dialog-label.svelte-1cfbs6u{color:var(--foreground);font-size:.875rem;font-weight:500}.toolbar.svelte-vm4iq2{border-bottom:1px solid var(--border);background:var(--card);z-index:var(--layer-chrome);border-radius:7px 7px 0 0;flex-wrap:wrap;align-items:center;gap:1px;padding:6px 10px;display:flex;position:sticky;top:0}.toolbar-divider.svelte-vm4iq2{background:var(--border);width:1px;height:18px;margin:0 2px}.toolbar-btn.svelte-vm4iq2{min-width:34px;min-height:34px;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.toolbar-btn.svelte-vm4iq2:hover:not(:disabled){background:var(--accent);color:var(--accent-foreground)}.toolbar-btn.active.svelte-vm4iq2{background:var(--primary);color:var(--primary-foreground)}.toolbar-btn.svelte-vm4iq2:disabled{opacity:.4;cursor:not-allowed}.dropdown.svelte-vm4iq2{justify-content:center;align-items:center;display:inline-flex;position:relative}.dropdown-trigger.svelte-vm4iq2{gap:2px;padding:0 6px}.dropdown-chevron{opacity:.6}.dropdown-popover.svelte-vm4iq2{z-index:var(--layer-popover);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:2px;min-width:180px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px #0000001a}.dropdown-item.svelte-vm4iq2{min-height:32px;color:var(--popover-foreground);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:10px;padding:6px 10px;font-size:.875rem;transition:background .1s;display:inline-flex}.dropdown-item.svelte-vm4iq2:hover{background:var(--accent);color:var(--accent-foreground)}.dropdown-item.selected.svelte-vm4iq2{background:color-mix(in srgb, var(--primary) 18%, transparent);color:var(--foreground)}.highlight-picker.svelte-vm4iq2{justify-content:center;align-items:center;display:inline-flex;position:relative}.highlight-btn.svelte-vm4iq2{position:relative}.highlight-dot.svelte-vm4iq2{border:1px solid var(--border);opacity:0;pointer-events:none;border-radius:50%;width:8px;height:8px;transition:opacity .15s,transform .15s;position:absolute;bottom:6px;right:6px;transform:scale(.6)}.highlight-dot.visible.svelte-vm4iq2{opacity:1;transform:scale(1)}.highlight-popover.svelte-vm4iq2{z-index:var(--layer-popover);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;min-width:180px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px #0000001a}.highlight-swatch-grid.svelte-vm4iq2{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.highlight-swatch.svelte-vm4iq2{border:1px solid var(--border);cursor:pointer;border-radius:6px;width:28px;height:28px;padding:0;transition:transform .1s,box-shadow .1s}.highlight-swatch.svelte-vm4iq2:hover{box-shadow:0 0 0 2px var(--ring);transform:scale(1.08)}.highlight-swatch.selected.svelte-vm4iq2{box-shadow:0 0 0 2px var(--ring)}.dark .highlight-picker.svelte-vm4iq2 .highlight-swatch:where(.svelte-vm4iq2),.dark .highlight-picker.svelte-vm4iq2 .highlight-dot:where(.svelte-vm4iq2){background-blend-mode:multiply;background-image:linear-gradient(#0000009e,#0000009e)}.highlight-clear.svelte-vm4iq2{color:var(--muted-foreground);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:4px 8px;font-size:.75rem;display:inline-flex}.highlight-clear.svelte-vm4iq2:hover{background:var(--accent);color:var(--accent-foreground)}.visually-hidden-file-input.svelte-vm4iq2{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.image-btn.uploading.svelte-vm4iq2{color:var(--ring)}.image-btn.svelte-vm4iq2:disabled:not(.uploading){opacity:.4;cursor:not-allowed}@keyframes svelte-vm4iq2-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-btn.svelte-vm4iq2 .animate-spin{animation:1s linear infinite svelte-vm4iq2-spin}.image-error.svelte-vm4iq2{background:color-mix(in srgb, var(--destructive) 10%, transparent);color:var(--destructive);border-bottom:1px solid color-mix(in srgb, var(--destructive) 20%, transparent);justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.image-error-dismiss.svelte-vm4iq2{color:var(--destructive);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.emoji-picker.svelte-vm4iq2{justify-content:center;align-items:center;display:inline-flex;position:relative}.emoji-popover.svelte-vm4iq2{z-index:var(--layer-popover);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:8px;min-width:220px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px #0000001a}.emoji-grid.svelte-vm4iq2{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.emoji-button.svelte-vm4iq2{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:1.25rem;line-height:1;transition:background .1s,transform .1s;display:inline-flex}.emoji-button.svelte-vm4iq2:hover{background:var(--accent);transform:scale(1.08)}.emoji-button.svelte-vm4iq2:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.table-picker.svelte-vm4iq2{justify-content:center;align-items:center;display:inline-flex;position:relative}.table-popover.svelte-vm4iq2{z-index:var(--layer-popover);background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:8px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 4px 12px #0000001a}.table-grid.svelte-vm4iq2{grid-template-columns:repeat(8,18px);grid-auto-rows:18px;gap:3px;display:grid}.table-cell.svelte-vm4iq2{border:1px solid var(--border);background:var(--background);cursor:pointer;border-radius:3px;width:18px;height:18px;padding:0;transition:background 80ms,border-color 80ms}.table-cell.svelte-vm4iq2:hover{border-color:var(--primary)}.table-cell.active.svelte-vm4iq2{background:color-mix(in srgb, var(--primary) 35%, transparent);border-color:var(--primary)}.table-grid-label.svelte-vm4iq2{text-align:center;color:var(--muted-foreground);margin-top:8px;font-size:.75rem}.table-actions-popover.svelte-vm4iq2{width:min(280px,100vw - 24px);padding:6px}.table-action-group.svelte-vm4iq2{grid-template-columns:1fr;gap:2px;padding:4px 0;display:grid}.table-action-group.svelte-vm4iq2+.table-action-group:where(.svelte-vm4iq2){border-top:1px solid var(--border)}.table-action-heading.svelte-vm4iq2{letter-spacing:.04em;text-transform:uppercase;color:var(--muted-foreground);padding:4px 8px 2px;font-size:.6875rem;font-weight:600}.table-action.svelte-vm4iq2{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:7px 8px;font-size:.8125rem}.table-action.svelte-vm4iq2:hover:not(:disabled),.table-action.svelte-vm4iq2:focus-visible{background:var(--accent);outline:none}.table-action.svelte-vm4iq2:focus-visible{box-shadow:0 0 0 2px var(--ring)}.table-action.svelte-vm4iq2:disabled{color:var(--muted-foreground);opacity:.45;cursor:not-allowed}.table-danger-action.svelte-vm4iq2{color:var(--destructive)}.table-danger-action.svelte-vm4iq2:hover:not(:disabled){background:color-mix(in srgb, var(--destructive) 12%, transparent)}.copy-btn.copied.svelte-vm4iq2{color:var(--primary)}.snapshot-btn.svelte-vm4iq2{color:var(--muted-foreground)}.toolbar.floating-bar.svelte-vm4iq2{z-index:var(--layer-popover);background:color-mix(in srgb, var(--background) 95%, transparent);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);box-shadow:0 10px 25px -5px #00000026, 0 8px 10px -6px #00000026, 0 0 0 1px var(--border);border-radius:12px;width:max-content;max-width:90vw;padding:10px 14px;animation:.2s ease-out svelte-vm4iq2-floatUp;position:fixed;top:auto;bottom:24px;left:50%;overflow:visible;transform:translate(-50%)}@media (width<=640px){.toolbar.floating-bar.svelte-vm4iq2{left:8px;right:8px;bottom:max(10px, env(safe-area-inset-bottom));border-radius:10px;width:auto;max-width:none;padding:8px;transform:none}.floating-toolbar-layout.svelte-vm4iq2{flex-flow:wrap;align-items:center;gap:4px;max-height:none;padding-right:34px;display:flex;overflow:visible}.floating-toolbar-row.svelte-vm4iq2{display:contents}.floating-toolbar-spacer.svelte-vm4iq2{display:none}.floating-toolbar-close.svelte-vm4iq2{margin-left:0;position:absolute;top:6px;right:6px}.floating-toolbar-row-secondary.svelte-vm4iq2{display:contents}.toolbar.floating-bar.svelte-vm4iq2 .dropdown-popover:where(.svelte-vm4iq2),.toolbar.floating-bar.svelte-vm4iq2 .highlight-popover:where(.svelte-vm4iq2),.toolbar.floating-bar.svelte-vm4iq2 .emoji-popover:where(.svelte-vm4iq2),.toolbar.floating-bar.svelte-vm4iq2 .table-popover:where(.svelte-vm4iq2){overscroll-behavior:contain;max-width:calc(100vw - 16px);max-height:min(60dvh,360px);top:auto;bottom:calc(100% + 8px);overflow-y:auto}}.dropdown-popover.open-up.svelte-vm4iq2,.highlight-popover.open-up.svelte-vm4iq2,.emoji-popover.open-up.svelte-vm4iq2,.table-popover.open-up.svelte-vm4iq2{top:auto;bottom:calc(100% + 6px)}.dropdown-popover.open-left.svelte-vm4iq2,.highlight-popover.open-left.svelte-vm4iq2,.emoji-popover.open-left.svelte-vm4iq2,.table-popover.open-left.svelte-vm4iq2{left:auto;right:0}@keyframes svelte-vm4iq2-floatUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.editor-wrapper.svelte-9hjz5q{flex-direction:column;flex:1;min-height:0;display:flex}.editor-content.svelte-9hjz5q{flex:1;padding:24px;position:relative;overflow-y:auto}.editor-content.deferred-loading.svelte-9hjz5q{min-height:320px}.large-document-loader.svelte-9hjz5q{z-index:2;border:1px solid var(--border);background:color-mix(in srgb, var(--background) 94%, transparent);pointer-events:none;border-radius:12px;padding:20px;position:absolute;inset:24px}.large-document-loader-heading.svelte-9hjz5q{color:var(--muted-foreground);align-items:center;gap:10px;font-size:.875rem;font-weight:500;display:flex}.large-document-spinner.svelte-9hjz5q{border:2px solid var(--border);border-top-color:var(--primary);border-radius:999px;width:18px;height:18px;animation:.8s linear infinite svelte-9hjz5q-large-document-spin}.large-document-loader-lines.svelte-9hjz5q{gap:12px;margin-top:28px;display:grid}.large-document-loader-lines.svelte-9hjz5q span:where(.svelte-9hjz5q){background:linear-gradient(90deg, var(--muted) 20%, color-mix(in srgb, var(--muted) 55%, var(--background)) 50%, var(--muted) 80%);background-size:220% 100%;border-radius:999px;height:12px;animation:1.35s ease-in-out infinite svelte-9hjz5q-large-document-shimmer;display:block}@keyframes svelte-9hjz5q-large-document-spin{to{transform:rotate(360deg)}}@keyframes svelte-9hjz5q-large-document-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.large-document-spinner.svelte-9hjz5q,.large-document-loader-lines.svelte-9hjz5q span:where(.svelte-9hjz5q){animation:none}}.editor-content.svelte-9hjz5q .tiptap{min-height:300px;color:var(--foreground);outline:none;font-size:16px;line-height:1.7}.editor-content.svelte-9hjz5q .tiptap:focus-visible{outline:none}.editor-content.svelte-9hjz5q .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--muted-foreground);pointer-events:none;height:0}.editor-content.svelte-9hjz5q .tiptap h1{letter-spacing:-.025em;margin:1.5rem 0 .75rem;font-size:2rem;font-weight:800}.editor-content.svelte-9hjz5q .tiptap h2{letter-spacing:-.02em;margin:1.25rem 0 .5rem;font-size:1.5rem;font-weight:700}.editor-content.svelte-9hjz5q .tiptap h3{margin:1rem 0 .5rem;font-size:1.25rem;font-weight:600}.editor-content.svelte-9hjz5q .tiptap p{margin:.5rem 0}.editor-content.svelte-9hjz5q .tiptap ul:not([data-type=taskList]){margin:.5rem 0;padding-left:1.5rem;list-style-type:disc}.editor-content.svelte-9hjz5q .tiptap ol{margin:.5rem 0;padding-left:1.5rem;list-style-type:decimal}.editor-content.svelte-9hjz5q .tiptap li{margin:.25rem 0;display:list-item}.editor-content.svelte-9hjz5q .tiptap ul[data-type=taskList]{padding-left:.25rem;list-style:none}.editor-content.svelte-9hjz5q .tiptap ul[data-type=taskList] li{align-items:flex-start;gap:.5rem;display:flex}.editor-content.svelte-9hjz5q .tiptap ul[data-type=taskList] li>label{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;height:1.7em;margin:0;display:flex}.editor-content.svelte-9hjz5q .tiptap ul[data-type=taskList] li>div{flex:auto;min-width:0}.editor-content.svelte-9hjz5q .tiptap ul[data-type=taskList] li>div>p{margin:0}.editor-content.svelte-9hjz5q .tiptap ul[data-type=taskList] input[type=checkbox]{accent-color:var(--primary);cursor:pointer}.editor-content.svelte-9hjz5q .tiptap blockquote{border-left:3px solid var(--border);color:var(--muted-foreground);margin:.75rem 0;padding-left:1rem;font-style:italic}.editor-content.svelte-9hjz5q .tiptap code{background:var(--muted);border-radius:4px;padding:.125rem .375rem;font-family:Fira Code,Consolas,monospace;font-size:.875rem}.editor-content.svelte-9hjz5q .tiptap pre{background:var(--muted);color:var(--foreground);border:1px solid var(--border);border-radius:8px;margin:.75rem 0;padding:1rem;font-family:Fira Code,Consolas,monospace;font-size:.875rem;line-height:1.6;overflow-x:auto}.editor-content.svelte-9hjz5q .tiptap pre code{font-size:inherit;color:inherit;background:0 0;border-radius:0;padding:0}.editor-content.svelte-9hjz5q .tiptap pre .hljs-keyword{color:var(--hljs-keyword)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-string{color:var(--hljs-string)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-number{color:var(--hljs-number)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-function{color:var(--hljs-function)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-title{color:var(--hljs-title)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-comment{color:var(--hljs-comment);font-style:italic}.editor-content.svelte-9hjz5q .tiptap pre .hljs-built_in{color:var(--hljs-built_in)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-type{color:var(--hljs-type)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-attr{color:var(--hljs-attr)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-variable{color:var(--hljs-variable)}.editor-content.svelte-9hjz5q .tiptap pre .hljs-literal{color:var(--hljs-literal)}.editor-content.svelte-9hjz5q .tiptap hr{border:none;border-top:2px solid var(--border);margin:1.5rem 0}.editor-content.svelte-9hjz5q .tiptap table{border-collapse:collapse;table-layout:fixed;width:100%;margin:.75rem 0;overflow:hidden}.editor-content.svelte-9hjz5q .tiptap th,.editor-content.svelte-9hjz5q .tiptap td{border:1px solid var(--border);vertical-align:top;text-align:left;min-width:3rem;padding:.4rem .6rem}.editor-content.svelte-9hjz5q .tiptap th{background:var(--muted);font-weight:600}.editor-content.svelte-9hjz5q .tiptap .selectedCell:after{content:"";background:color-mix(in srgb, var(--primary) 16%, transparent);pointer-events:none;position:absolute;inset:0}.editor-content.svelte-9hjz5q .tiptap td,.editor-content.svelte-9hjz5q .tiptap th{position:relative}.editor-content.svelte-9hjz5q .tiptap .column-resize-handle{background:var(--primary);cursor:col-resize;width:4px;position:absolute;top:0;bottom:0;right:-2px}.editor-content.svelte-9hjz5q .tiptap .doc-link{color:var(--primary);cursor:pointer;text-decoration:underline}.editor-content.svelte-9hjz5q .tiptap [data-resize-container][data-node=image]{max-width:100%;margin:.75rem 0}.editor-content.svelte-9hjz5q .tiptap [data-resize-wrapper]>.doc-image{border-radius:.5rem;max-width:100%;height:auto;display:block}.editor-content.svelte-9hjz5q .tiptap [data-resize-wrapper]{max-width:100%}.editor-content.svelte-9hjz5q .tiptap [data-resize-handle]{border:2px solid var(--background);background:var(--primary);width:12px;height:12px;box-shadow:0 1px 4px color-mix(in srgb, var(--foreground) 25%, transparent);opacity:0;border-radius:9999px;transition:opacity .12s}.editor-content.svelte-9hjz5q .tiptap .ProseMirror-selectednode [data-resize-handle],.editor-content.svelte-9hjz5q .tiptap [data-resize-state=true] [data-resize-handle]{opacity:1}.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=top-left],.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=bottom-right]{cursor:nwse-resize;transform:translate(50%,50%)}.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=top-right],.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=bottom-left]{cursor:nesw-resize;transform:translate(-50%,50%)}.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=top-left],.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=top-right]{transform:translate(var(--image-handle-x,50%), -50%)}.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=top-right],.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=bottom-right]{--image-handle-x:50%}.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=top-left],.editor-content.svelte-9hjz5q .tiptap [data-resize-handle=bottom-left]{--image-handle-x:-50%}.editor-content.svelte-9hjz5q .tiptap mark{background-color:var(--highlight-default,#fde68a);border-radius:2px;padding:0 2px}.dark .editor-content.svelte-9hjz5q .tiptap mark{background-blend-mode:multiply;color:#fff;background-image:linear-gradient(#0000009e,#0000009e)}.editor-skeleton.svelte-9hjz5q{flex-direction:column;flex:1;display:flex}.skeleton-toolbar.svelte-9hjz5q{border-bottom:1px solid var(--border);gap:6px;padding:8px 12px;display:flex}.skeleton-icon.svelte-9hjz5q{background:var(--muted);border-radius:6px;width:32px;height:32px;animation:1.5s ease-in-out infinite svelte-9hjz5q-pulse}.skeleton-body.svelte-9hjz5q{flex-direction:column;gap:12px;padding:24px;display:flex}.skeleton-bar.svelte-9hjz5q{background:var(--muted);border-radius:4px;height:16px;animation:1.5s ease-in-out infinite svelte-9hjz5q-pulse}@keyframes svelte-9hjz5q-pulse{0%,to{opacity:1}50%{opacity:.4}}.title-input.svelte-vc365t{color:var(--foreground);background:0 0;border:none;border-bottom:2px solid #0000;outline:none;width:100%;margin-bottom:8px;padding:0 0 4px;font-size:2rem;font-weight:700;transition:border-color .15s}.title-input.svelte-vc365t::placeholder{color:var(--muted-foreground)}.title-input.focused.svelte-vc365t{border-bottom-color:var(--ring)}.title-input.svelte-vc365t:hover:not(.focused){border-bottom-color:var(--border)}.markdown-toggle.svelte-1k98zvf{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;position:relative}.copy-btn.svelte-1k98zvf{z-index:10;border:1px solid var(--border);background:color-mix(in srgb, var(--card) 85%, transparent);color:var(--muted-foreground);-webkit-backdrop-filter:blur(8px);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .2s;display:inline-flex;position:absolute;top:12px;right:24px;box-shadow:0 2px 8px #0000000d}.copy-btn.svelte-1k98zvf:hover{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.copy-btn.svelte-1k98zvf:active{transform:scale(.96)}.markdown-textarea.svelte-1k98zvf{box-sizing:border-box;resize:vertical;width:100%;height:100%;min-height:0;color:var(--foreground);background:var(--muted);tab-size:4;border:none;border-radius:8px;outline:none;flex:none;padding:56px 24px 24px;font-family:Fira Code,Consolas,Courier New,monospace;font-size:14px;line-height:1.7;transition:background .15s;display:block;overflow-y:hidden}.markdown-textarea.svelte-1k98zvf::placeholder{color:var(--muted-foreground)}.markdown-textarea.svelte-1k98zvf:focus{background:var(--background)}.datepicker.svelte-zmry26{position:relative}.dp-trigger.svelte-zmry26{border:1px solid var(--input);width:100%;height:2.25rem;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:0 .625rem;font-size:.875rem;display:inline-flex}.dp-trigger.svelte-zmry26:focus-visible{box-shadow:0 0 0 1px var(--ring);outline:none}.dp-placeholder.svelte-zmry26{color:var(--muted-foreground)}.dp-popover.svelte-zmry26{z-index:var(--layer-popover);background:var(--popover);width:16rem;color:var(--popover-foreground);border:1px solid var(--border);border-radius:8px;padding:8px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 4px 16px #0000002e}.dp-header.svelte-zmry26{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.dp-title.svelte-zmry26{font-size:.8125rem;font-weight:600}.dp-nav.svelte-zmry26{width:1.75rem;height:1.75rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.dp-nav.svelte-zmry26:hover{background:var(--accent);color:var(--accent-foreground)}.dp-weekdays.svelte-zmry26,.dp-grid.svelte-zmry26{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.dp-weekday.svelte-zmry26{text-align:center;color:var(--muted-foreground);padding:2px 0;font-size:.6875rem}.dp-empty.svelte-zmry26{aspect-ratio:1}.dp-day.svelte-zmry26{aspect-ratio:1;color:var(--foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:.8125rem;display:inline-flex}.dp-day.svelte-zmry26:hover{background:var(--accent);color:var(--accent-foreground)}.dp-day.today.svelte-zmry26{box-shadow:inset 0 0 0 1px var(--ring)}.dp-day.selected.svelte-zmry26,.dp-day.selected.svelte-zmry26:hover{background:var(--primary);color:var(--primary-foreground)}.dp-clear.svelte-zmry26{width:100%;color:var(--muted-foreground);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;margin-top:6px;padding:4px 0;font-size:.75rem}.dp-clear.svelte-zmry26:hover{background:var(--accent);color:var(--accent-foreground)}.dashboard-shell.svelte-e61um3{position:relative}@media (width<=767px){.dashboard-header.svelte-e61um3{min-height:44px}.dashboard-header-actions.svelte-e61um3{top:calc(.75rem + env(safe-area-inset-top));z-index:10;position:absolute;right:.75rem}.dashboard-context-identity.svelte-e61um3{min-width:0;margin-left:56px}}@media (width<=520px){.dashboard-header-actions.svelte-e61um3 button{width:40px;height:40px;padding:0}.dashboard-action-label.svelte-e61um3{display:none}}@media (width<=449px){.dashboard-context-identity.svelte-e61um3{margin-left:52px}.dashboard-context-identity.svelte-e61um3 p:where(.svelte-e61um3){display:none}.dashboard-context-identity.svelte-e61um3 h1:where(.svelte-e61um3){font-size:1.25rem}}@media (width<=767px){.search-form.svelte-itf76n{margin-left:56px}}@media (width<=420px){.search-form.svelte-itf76n{margin-left:52px}}
|
|
2
2
|
/*$vite$:1*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { E as scroll_to_top_aria } from "./assets/messages-BAQzILs4.js";
|
|
2
2
|
import { t as Icon } from "./assets/Icon-QwirKi9Y.js";
|
|
3
3
|
import { n as searchPreferences, r as editorPreferences } from "./assets/SettingsDialog-DVp0OxPO.js";
|
|
4
|
-
import { t as Sidebar } from "./assets/Sidebar-
|
|
4
|
+
import { t as Sidebar } from "./assets/Sidebar-CqsMw0Hd.js";
|
|
5
5
|
import { o as provideDocsmintRequestAdapter, r as provideDocsmintRouteAdapter } from "./assets/route-context-BPRerEtZ.js";
|
|
6
6
|
import { d as refreshFolders } from "./assets/subfolders-refresh-store.svelte-CXHxQWKh.js";
|
|
7
7
|
import { n as refreshDocs, r as refreshTags } from "./assets/tag-store.svelte-BM1lUI_P.js";
|
|
@@ -213,6 +213,46 @@ function ScrollToTop($$renderer, $$props) {
|
|
|
213
213
|
});
|
|
214
214
|
}
|
|
215
215
|
//#endregion
|
|
216
|
+
//#region src/lib/stores/mobile-sidebar-gesture.ts
|
|
217
|
+
function createEdgeSwipeTracker(options = {}) {
|
|
218
|
+
const edgeWidth = options.edgeWidth ?? 36;
|
|
219
|
+
const openDistance = options.openDistance ?? 40;
|
|
220
|
+
const scrollTolerance = options.scrollTolerance ?? 12;
|
|
221
|
+
let startPoint = null;
|
|
222
|
+
let cancelled = false;
|
|
223
|
+
return {
|
|
224
|
+
start(point) {
|
|
225
|
+
startPoint = point.x <= edgeWidth ? point : null;
|
|
226
|
+
cancelled = false;
|
|
227
|
+
return startPoint ? "tracking" : "idle";
|
|
228
|
+
},
|
|
229
|
+
move(point) {
|
|
230
|
+
if (!startPoint || cancelled) return cancelled ? "cancelled" : "idle";
|
|
231
|
+
const deltaX = point.x - startPoint.x;
|
|
232
|
+
const deltaY = Math.abs(point.y - startPoint.y);
|
|
233
|
+
if (deltaY > scrollTolerance && deltaY > Math.abs(deltaX)) {
|
|
234
|
+
cancelled = true;
|
|
235
|
+
return "cancelled";
|
|
236
|
+
}
|
|
237
|
+
if (deltaX >= openDistance && deltaY <= Math.max(scrollTolerance * 2, deltaX)) {
|
|
238
|
+
startPoint = null;
|
|
239
|
+
return "open";
|
|
240
|
+
}
|
|
241
|
+
return "tracking";
|
|
242
|
+
},
|
|
243
|
+
end(point) {
|
|
244
|
+
const result = this.move(point);
|
|
245
|
+
startPoint = null;
|
|
246
|
+
cancelled = false;
|
|
247
|
+
return result === "open" ? "open" : "idle";
|
|
248
|
+
},
|
|
249
|
+
cancel() {
|
|
250
|
+
startPoint = null;
|
|
251
|
+
cancelled = false;
|
|
252
|
+
}
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
//#endregion
|
|
216
256
|
//#region src/lib/hosts/mutation-refresh.ts
|
|
217
257
|
var noImpact = {
|
|
218
258
|
documents: false,
|
|
@@ -300,6 +340,7 @@ function DocsmintAppShellHost($$renderer, $$props) {
|
|
|
300
340
|
let sidebarElement = null;
|
|
301
341
|
let toggleButton = null;
|
|
302
342
|
let isMobile = false;
|
|
343
|
+
createEdgeSwipeTracker();
|
|
303
344
|
[
|
|
304
345
|
"a[href]",
|
|
305
346
|
"button:not([disabled])",
|
|
@@ -340,6 +381,8 @@ function DocsmintAppShellHost($$renderer, $$props) {
|
|
|
340
381
|
});
|
|
341
382
|
$$renderer.push(`<!----> `);
|
|
342
383
|
$$renderer.push("<!--[-1-->");
|
|
384
|
+
$$renderer.push(`<!--]--> `);
|
|
385
|
+
$$renderer.push("<!--[-1-->");
|
|
343
386
|
$$renderer.push(`<!--]-->`);
|
|
344
387
|
},
|
|
345
388
|
$$slots: { default: true }
|
|
@@ -241,7 +241,7 @@ function CategoryDialog($$renderer, $$props) {
|
|
|
241
241
|
Dialog_description($$renderer, {
|
|
242
242
|
children: ($$renderer) => {
|
|
243
243
|
$$renderer.push(`<!---->Delete <span class="font-medium text-foreground">“${$.escape(category?.name ?? "Category")}”</span>?
|
|
244
|
-
|
|
244
|
+
${$.escape(categories_delete_description())}`);
|
|
245
245
|
},
|
|
246
246
|
$$slots: { default: true }
|
|
247
247
|
});
|
|
@@ -294,7 +294,7 @@ function CategoryDialog($$renderer, $$props) {
|
|
|
294
294
|
$$renderer.push(`<!--]--></div>`);
|
|
295
295
|
} else if (!isDeleteMode()) {
|
|
296
296
|
$$renderer.push("<!--[2-->");
|
|
297
|
-
$$renderer.push(`<form class="space-y-4"><div class="space-y-2">`);
|
|
297
|
+
$$renderer.push(`<form data-category-dialog-scroll="" class="max-h-[calc(100dvh-12rem)] space-y-4 overflow-y-auto overscroll-contain pr-1"><div class="space-y-2">`);
|
|
298
298
|
Label($$renderer, {
|
|
299
299
|
for: "category-dialog-name",
|
|
300
300
|
children: ($$renderer) => {
|
|
@@ -477,14 +477,14 @@ function CategoryDialog($$renderer, $$props) {
|
|
|
477
477
|
$$renderer.push(`<!--]--> `);
|
|
478
478
|
if (mode === "edit" && apiMode === "category" && category?.id) {
|
|
479
479
|
$$renderer.push("<!--[0-->");
|
|
480
|
-
$$renderer.push(`<div class="space-y-3 rounded-md border border-border/70 p-3"><div class="flex items-center justify-between gap-2"><div>`);
|
|
480
|
+
$$renderer.push(`<div class="space-y-3 rounded-md border border-border/70 p-3"><div class="flex items-center justify-between gap-2 max-sm:flex-col max-sm:items-stretch"><div>`);
|
|
481
481
|
Label($$renderer, {
|
|
482
482
|
children: ($$renderer) => {
|
|
483
483
|
$$renderer.push(`<!---->Category API keys`);
|
|
484
484
|
},
|
|
485
485
|
$$slots: { default: true }
|
|
486
486
|
});
|
|
487
|
-
$$renderer.push(
|
|
487
|
+
$$renderer.push(`<!----> <p class="text-xs text-muted-foreground">The current permissions are saved before the key is issued.</p></div> `);
|
|
488
488
|
Button($$renderer, {
|
|
489
489
|
type: "button",
|
|
490
490
|
size: "sm",
|
|
@@ -24,7 +24,7 @@ import { c as updateDocument, r as deleteDocument, s as listDocuments, t as clea
|
|
|
24
24
|
import { c as updateFolder, r as deleteFolder, s as listFolders, t as createFolder } from "./folders-BX30gHv6.js";
|
|
25
25
|
import { t as DeleteDialog } from "./DeleteDialog-DG9Lm38J.js";
|
|
26
26
|
import { t as ShareDialog } from "./ShareDialog-BZd28sg-.js";
|
|
27
|
-
import { t as CategoryDialog } from "./CategoryDialog-
|
|
27
|
+
import { t as CategoryDialog } from "./CategoryDialog-QHEv_9N4.js";
|
|
28
28
|
import { n as createDocumentPlacementWriter, t as createDocumentDropCoordinator } from "./document-drop-coordinator-CEaYACsC.js";
|
|
29
29
|
import { a as getFolderFromRegistry, c as getPendingDocumentPlacement, d as refreshFolders, f as registerDocument, n as bumpSubfoldersRefresh, p as registerFolder, r as getDocumentFromRegistry, t as acknowledgeDocumentPlacement, u as publishDocumentPlacement } from "./subfolders-refresh-store.svelte-CXHxQWKh.js";
|
|
30
30
|
import { t as FolderNode } from "./FolderNode-kmilhDjO.js";
|
|
@@ -295,7 +295,7 @@ function SearchBar($$renderer, $$props) {
|
|
|
295
295
|
//#endregion
|
|
296
296
|
//#region src/lib/components/sidebar/FolderTree.svelte
|
|
297
297
|
function docRowInner($$renderer, doc) {
|
|
298
|
-
$$renderer.push(`<a${$.attr("href", `/docs/${doc.id}`)} data-sveltekit-noscroll=""${$.attr_class($.clsx(cn("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", page.params.id === doc.id && "bg-accent text-accent-foreground font-medium")))}><span class="w-3.5 shrink-0"></span> `);
|
|
298
|
+
$$renderer.push(`<a${$.attr("href", `/docs/${doc.id}`)} data-sveltekit-noscroll=""${$.attr_class($.clsx(cn("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", page.params.id === doc.id && "bg-accent text-accent-foreground font-medium")), "svelte-1nshngr")}><span class="w-3.5 shrink-0"></span> `);
|
|
299
299
|
File_text($$renderer, { class: "size-4 shrink-0 text-muted-foreground" });
|
|
300
300
|
$$renderer.push(`<!----> <span class="min-w-0 truncate">${$.escape(doc.title)}</span></a>`);
|
|
301
301
|
}
|
|
@@ -949,10 +949,10 @@ function FolderTree($$renderer, $$props) {
|
|
|
949
949
|
$$renderer.push(`<button${$.attributes({
|
|
950
950
|
...props,
|
|
951
951
|
type: "button",
|
|
952
|
-
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",
|
|
952
|
+
class: "sidebar-touch-action 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",
|
|
953
953
|
"aria-label": editor_more_options(),
|
|
954
954
|
title: editor_more_options()
|
|
955
|
-
})}>`);
|
|
955
|
+
}, "svelte-1nshngr")}>`);
|
|
956
956
|
Ellipsis_vertical($$renderer, { class: "size-3.5" });
|
|
957
957
|
$$renderer.push(`<!----></button>`);
|
|
958
958
|
}
|
|
@@ -999,7 +999,7 @@ function FolderTree($$renderer, $$props) {
|
|
|
999
999
|
});
|
|
1000
1000
|
}
|
|
1001
1001
|
function copyButton($$renderer, doc) {
|
|
1002
|
-
$$renderer.push(`<button type="button"${$.attr_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 ${copiedDocId === doc.id || copyLoadingDocId === doc.id ? "opacity-100" : ""}
|
|
1002
|
+
$$renderer.push(`<button type="button"${$.attr_class(`sidebar-touch-action 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 ${copiedDocId === doc.id || copyLoadingDocId === doc.id ? "opacity-100" : ""}`, "svelte-1nshngr")}${$.attr("aria-label", action_copy_content())}${$.attr("title", action_copy_content())}${$.attr("disabled", copyLoadingDocId === doc.id, true)}>`);
|
|
1003
1003
|
if (copyLoadingDocId === doc.id) {
|
|
1004
1004
|
$$renderer.push("<!--[0-->");
|
|
1005
1005
|
Loader_circle($$renderer, { class: "size-3.5 animate-spin" });
|
|
@@ -1061,7 +1061,7 @@ function FolderTree($$renderer, $$props) {
|
|
|
1061
1061
|
for (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {
|
|
1062
1062
|
let bucket = each_array[$$index_2];
|
|
1063
1063
|
const isBucketExpanded = expandedCategoryIds.has(bucket.id);
|
|
1064
|
-
$$renderer.push(`<div class="group/bucket"${$.attr("data-is-dnd-shadow-item-hint", bucket[SHADOW_ITEM_MARKER_PROPERTY_NAME])}><div class="flex w-full min-w-0 items-center gap-0.5"><button type="button"${$.attr("aria-expanded", isBucketExpanded)}${$.attr_class($.clsx(cn("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", draggedDocId && "hover:bg-accent/40 border border-dashed border-primary/30")))}>`);
|
|
1064
|
+
$$renderer.push(`<div class="group/bucket"${$.attr("data-is-dnd-shadow-item-hint", bucket[SHADOW_ITEM_MARKER_PROPERTY_NAME])}><div class="flex w-full min-w-0 items-center gap-0.5"><button type="button"${$.attr("aria-expanded", isBucketExpanded)}${$.attr_class($.clsx(cn("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", draggedDocId && "hover:bg-accent/40 border border-dashed border-primary/30")), "svelte-1nshngr")}>`);
|
|
1065
1065
|
if (isBucketExpanded) {
|
|
1066
1066
|
$$renderer.push("<!--[0-->");
|
|
1067
1067
|
Chevron_down($$renderer, { class: "size-3.5 shrink-0" });
|
|
@@ -1080,7 +1080,7 @@ function FolderTree($$renderer, $$props) {
|
|
|
1080
1080
|
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",
|
|
1081
1081
|
"aria-label": editor_more_options(),
|
|
1082
1082
|
title: editor_more_options()
|
|
1083
|
-
})}>`);
|
|
1083
|
+
}, "svelte-1nshngr")}>`);
|
|
1084
1084
|
Ellipsis_vertical($$renderer, { class: "size-3.5" });
|
|
1085
1085
|
$$renderer.push(`<!----></button>`);
|
|
1086
1086
|
}
|
|
@@ -1154,7 +1154,7 @@ function FolderTree($$renderer, $$props) {
|
|
|
1154
1154
|
$$renderer.push("<!--[0-->");
|
|
1155
1155
|
const zoneItems = bucketFoldersMap[bucket.id] ?? [];
|
|
1156
1156
|
const rootDocs = categoryRootDocsMap[bucket.id] ?? [];
|
|
1157
|
-
$$renderer.push(`<div class="ml-0.5 space-y-0.5 border-l border-border pl-0.5"><div${$.attr_class($.clsx(cn("min-h-[8px] space-y-0.5 transition-all duration-150", isDraggingFolder && zoneItems.length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")))}><!--[-->`);
|
|
1157
|
+
$$renderer.push(`<div class="ml-0.5 space-y-0.5 border-l border-border pl-0.5"><div${$.attr_class($.clsx(cn("min-h-[8px] space-y-0.5 transition-all duration-150", isDraggingFolder && zoneItems.length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")), "svelte-1nshngr")}><!--[-->`);
|
|
1158
1158
|
const each_array_1 = $.ensure_array_like(zoneItems);
|
|
1159
1159
|
for (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {
|
|
1160
1160
|
let folder = each_array_1[$$index];
|
|
@@ -1162,7 +1162,7 @@ function FolderTree($$renderer, $$props) {
|
|
|
1162
1162
|
folderBlock($$renderer, folder);
|
|
1163
1163
|
$$renderer.push(`<!----></div>`);
|
|
1164
1164
|
}
|
|
1165
|
-
$$renderer.push(`<!--]--></div> <div${$.attr_class($.clsx(cn("min-h-[8px] space-y-0.5 transition-all duration-150", isDraggingDoc && rootDocs.length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")))}><!--[-->`);
|
|
1165
|
+
$$renderer.push(`<!--]--></div> <div${$.attr_class($.clsx(cn("min-h-[8px] space-y-0.5 transition-all duration-150", isDraggingDoc && rootDocs.length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")), "svelte-1nshngr")}><!--[-->`);
|
|
1166
1166
|
const each_array_2 = $.ensure_array_like(rootDocs);
|
|
1167
1167
|
for (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {
|
|
1168
1168
|
let doc = each_array_2[$$index_1];
|
|
@@ -1181,14 +1181,14 @@ function FolderTree($$renderer, $$props) {
|
|
|
1181
1181
|
$$renderer.push(`<!--]--></div> `);
|
|
1182
1182
|
if (uncatBucket()) {
|
|
1183
1183
|
$$renderer.push("<!--[0-->");
|
|
1184
|
-
$$renderer.push(`<div class="group/bucket"><div class="flex w-full min-w-0 items-center gap-0.5"><button type="button"${$.attr("aria-expanded", uncategorizedExpanded)}${$.attr_class($.clsx(cn("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", draggedDocId && "hover:bg-accent/40 border border-dashed border-primary/30")))}>`);
|
|
1184
|
+
$$renderer.push(`<div class="group/bucket"><div class="flex w-full min-w-0 items-center gap-0.5"><button type="button"${$.attr("aria-expanded", uncategorizedExpanded)}${$.attr_class($.clsx(cn("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", draggedDocId && "hover:bg-accent/40 border border-dashed border-primary/30")), "svelte-1nshngr")}>`);
|
|
1185
1185
|
$$renderer.push("<!--[0-->");
|
|
1186
1186
|
Chevron_down($$renderer, { class: "size-3.5 shrink-0" });
|
|
1187
1187
|
$$renderer.push(`<!--]--> <span class="min-w-0 truncate">${$.escape(sidebar_uncategorized())}</span></button></div> `);
|
|
1188
1188
|
{
|
|
1189
1189
|
$$renderer.push("<!--[0-->");
|
|
1190
1190
|
const zoneItems = bucketFoldersMap[UNCATEGORIZED_KEY] ?? [];
|
|
1191
|
-
$$renderer.push(`<div class="ml-0.5 space-y-0.5 border-l border-border pl-0.5"><div${$.attr_class($.clsx(cn("min-h-[8px] space-y-0.5 transition-all duration-150", isDraggingFolder && zoneItems.length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")))}><!--[-->`);
|
|
1191
|
+
$$renderer.push(`<div class="ml-0.5 space-y-0.5 border-l border-border pl-0.5"><div${$.attr_class($.clsx(cn("min-h-[8px] space-y-0.5 transition-all duration-150", isDraggingFolder && zoneItems.length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")), "svelte-1nshngr")}><!--[-->`);
|
|
1192
1192
|
const each_array_3 = $.ensure_array_like(zoneItems);
|
|
1193
1193
|
for (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {
|
|
1194
1194
|
let folder = each_array_3[$$index_3];
|
|
@@ -1196,7 +1196,7 @@ function FolderTree($$renderer, $$props) {
|
|
|
1196
1196
|
folderBlock($$renderer, folder);
|
|
1197
1197
|
$$renderer.push(`<!----></div>`);
|
|
1198
1198
|
}
|
|
1199
|
-
$$renderer.push(`<!--]--></div> <div${$.attr_class($.clsx(cn("min-h-[8px] space-y-0.5 transition-all duration-150", isDraggingDoc && rootItems.length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")))}><!--[-->`);
|
|
1199
|
+
$$renderer.push(`<!--]--></div> <div${$.attr_class($.clsx(cn("min-h-[8px] space-y-0.5 transition-all duration-150", isDraggingDoc && rootItems.length === 0 && "min-h-[36px] bg-accent/20 rounded border border-dashed border-muted-foreground/20")), "svelte-1nshngr")}><!--[-->`);
|
|
1200
1200
|
const each_array_4 = $.ensure_array_like(rootItems);
|
|
1201
1201
|
for (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {
|
|
1202
1202
|
let doc = each_array_4[$$index_4];
|
|
@@ -1510,9 +1510,9 @@ function RecentDocs($$renderer, $$props) {
|
|
|
1510
1510
|
const each_array = $.ensure_array_like(recentDocs);
|
|
1511
1511
|
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
1512
1512
|
let doc = each_array[$$index];
|
|
1513
|
-
$$renderer.push(`<div class="group/doc flex min-w-0 items-center gap-1"><a${$.attr("href", `/docs/${doc.id}`)}${$.attr_class($.clsx(cn("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", activeId === doc.id && "bg-accent text-accent-foreground")))}>`);
|
|
1513
|
+
$$renderer.push(`<div class="group/doc flex min-w-0 items-center gap-1"><a${$.attr("href", `/docs/${doc.id}`)}${$.attr_class($.clsx(cn("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", activeId === doc.id && "bg-accent text-accent-foreground")), "svelte-1uwxs9f")}>`);
|
|
1514
1514
|
File_text($$renderer, { class: "size-4 shrink-0 text-muted-foreground" });
|
|
1515
|
-
$$renderer.push(`<!----> <div class="min-w-0 flex-1"><p class="truncate min-w-0">${$.escape(doc.title)}</p> <p class="text-xs text-muted-foreground">${$.escape(doc.updatedAt)}</p></div></a> <button type="button"${$.attr_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 ${copiedDocId === doc.id || copyLoadingDocId === doc.id ? "opacity-100" : ""}
|
|
1515
|
+
$$renderer.push(`<!----> <div class="min-w-0 flex-1"><p class="truncate min-w-0">${$.escape(doc.title)}</p> <p class="text-xs text-muted-foreground">${$.escape(doc.updatedAt)}</p></div></a> <button type="button"${$.attr_class(`sidebar-touch-action 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 ${copiedDocId === doc.id || copyLoadingDocId === doc.id ? "opacity-100" : ""}`, "svelte-1uwxs9f")}${$.attr("aria-label", action_copy_content())}${$.attr("title", action_copy_content())}${$.attr("disabled", copyLoadingDocId === doc.id, true)}>`);
|
|
1516
1516
|
if (copyLoadingDocId === doc.id) {
|
|
1517
1517
|
$$renderer.push("<!--[0-->");
|
|
1518
1518
|
Loader_circle($$renderer, { class: "size-3.5 animate-spin" });
|
|
@@ -1531,10 +1531,10 @@ function RecentDocs($$renderer, $$props) {
|
|
|
1531
1531
|
$$renderer.push(`<button${$.attributes({
|
|
1532
1532
|
...props,
|
|
1533
1533
|
type: "button",
|
|
1534
|
-
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",
|
|
1534
|
+
class: "sidebar-touch-action 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",
|
|
1535
1535
|
"aria-label": editor_more_options(),
|
|
1536
1536
|
title: editor_more_options()
|
|
1537
|
-
})}>`);
|
|
1537
|
+
}, "svelte-1uwxs9f")}>`);
|
|
1538
1538
|
Ellipsis_vertical($$renderer, { class: "size-3.5" });
|
|
1539
1539
|
$$renderer.push(`<!----></button>`);
|
|
1540
1540
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as CategoryDialog } from "../assets/CategoryDialog-
|
|
1
|
+
import { t as CategoryDialog } from "../assets/CategoryDialog-QHEv_9N4.js";
|
|
2
2
|
export { CategoryDialog };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as Sidebar } from "../assets/Sidebar-
|
|
1
|
+
import { t as Sidebar } from "../assets/Sidebar-CqsMw0Hd.js";
|
|
2
2
|
export { Sidebar };
|
package/package.json
CHANGED
|
@@ -24,7 +24,7 @@ import { registerSearch } from "./commands/search.js";
|
|
|
24
24
|
import { registerSnapshot } from "./commands/snapshot.js";
|
|
25
25
|
import { registerUpdate } from "./commands/update.js";
|
|
26
26
|
|
|
27
|
-
const VERSION = "0.5.
|
|
27
|
+
const VERSION = "0.5.10";
|
|
28
28
|
|
|
29
29
|
const program = new Command();
|
|
30
30
|
program
|