@hiai-gg/docsmint 0.5.8 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/LICENSE +39 -8
  2. package/README.md +67 -43
  3. package/dist/backend/index.js +53 -14
  4. package/dist/client.d.ts +3 -1
  5. package/dist/client.js +2 -0
  6. package/dist/frontend/{CategoryDialog-BYAFjX7E.js → CategoryDialog-CbXBMBZB.js} +3 -3
  7. package/dist/frontend/HiAiEditor-DSVG3GNd.js +2986 -0
  8. package/dist/frontend/SettingsDialog-BDNgf5rv.js +969 -0
  9. package/dist/frontend/ShareDialog-2Mty7hm4.js +258 -0
  10. package/dist/frontend/{Sidebar-B-zCJT9i.js → Sidebar-DX08utdV.js} +15 -15
  11. package/dist/frontend/app-shell.js +122 -65
  12. package/dist/frontend/components/category-dialog.js +1 -1
  13. package/dist/frontend/components/editor/compact-editor.d.ts +3 -0
  14. package/dist/frontend/components/editor/compact-editor.js +36 -0
  15. package/dist/frontend/components/editor/document-editor.js +2 -2986
  16. package/dist/frontend/components/settings.js +1 -1
  17. package/dist/frontend/components/share-dialog.d.ts +2 -1
  18. package/dist/frontend/components/share-dialog.js +1 -1
  19. package/dist/frontend/components/sidebar.js +1 -1
  20. package/dist/frontend/dashboard.js +1 -1
  21. package/dist/frontend/editor-preferences.d.ts +4 -0
  22. package/dist/frontend/editor-preferences.js +2 -0
  23. package/dist/frontend/editor-preferences.svelte-Bt_A9k7n.js +61 -0
  24. package/dist/frontend/frontend.css +1 -1
  25. package/dist/frontend-ssr/app-shell.js +46 -2
  26. package/dist/frontend-ssr/assets/{CategoryDialog-BLxVoynx.js → CategoryDialog-QHEv_9N4.js} +4 -4
  27. package/dist/frontend-ssr/assets/HiAiEditor-CUOJmKzT.js +2358 -0
  28. package/dist/frontend-ssr/assets/{SettingsDialog-DVp0OxPO.js → SettingsDialog-BjJIiVLc.js} +2 -64
  29. package/dist/frontend-ssr/assets/{ShareDialog-BZd28sg-.js → ShareDialog-C9C-XTm4.js} +1 -1
  30. package/dist/frontend-ssr/assets/{Sidebar-CO9LZRPa.js → Sidebar-C2sUfGNk.js} +18 -18
  31. package/dist/frontend-ssr/assets/editor-preferences.svelte-iI5jJM1x.js +65 -0
  32. package/dist/frontend-ssr/components/category-dialog.js +1 -1
  33. package/dist/frontend-ssr/components/editor/compact-editor.js +19 -0
  34. package/dist/frontend-ssr/components/editor/document-editor.js +1 -2357
  35. package/dist/frontend-ssr/components/settings.js +1 -1
  36. package/dist/frontend-ssr/components/share-dialog.js +1 -1
  37. package/dist/frontend-ssr/components/sidebar.js +1 -1
  38. package/dist/frontend-ssr/dashboard.js +1 -1
  39. package/dist/frontend-ssr/editor-preferences.js +2 -0
  40. package/dist/types.d.ts +5 -0
  41. package/package.json +16 -2
  42. package/packages/cli/src/index.ts +1 -1
  43. package/packages/mcp-server/src/index.ts +1 -1
  44. package/dist/frontend/SettingsDialog-CyZSOjLE.js +0 -1024
  45. package/dist/frontend/ShareDialog-BC-Jl6v1.js +0 -257
@@ -13,6 +13,7 @@ import { t as getFrontendExtensions } from "./context-Bi_mO-NS.js";
13
13
  import { t as resolveExtensions } from "./resolve-BqHozBXl.js";
14
14
  import { a as resolveOfflineIdentity, t as disableOfflineAccess } from "./identity-B3uHoDtf.js";
15
15
  import { n as getOfflineDB, t as deleteOfflineDB } from "./db-CnxeO66n.js";
16
+ import { t as editorPreferences } from "./editor-preferences.svelte-iI5jJM1x.js";
16
17
  import { t as themeStore } from "./theme.svelte-Co0-ssaD.js";
17
18
  import * as $ from "svelte/internal/server";
18
19
  import { onMount } from "svelte";
@@ -456,69 +457,6 @@ async function cleanupOfflineData() {
456
457
  } catch {}
457
458
  }
458
459
  //#endregion
459
- //#region src/lib/stores/editor-preferences.ts
460
- var DEFAULT_EDITOR_PREFERENCES = {
461
- showVisualMode: true,
462
- showMarkdownMode: true,
463
- minimalToolbar: false,
464
- showScrollToTop: true
465
- };
466
- function normalizeEditorPreferences(value) {
467
- if (!value || typeof value !== "object") return { ...DEFAULT_EDITOR_PREFERENCES };
468
- const candidate = value;
469
- const requestedVisualMode = typeof candidate.showVisualMode === "boolean" ? candidate.showVisualMode : DEFAULT_EDITOR_PREFERENCES.showVisualMode;
470
- const showMarkdownMode = typeof candidate.showMarkdownMode === "boolean" ? candidate.showMarkdownMode : DEFAULT_EDITOR_PREFERENCES.showMarkdownMode;
471
- return {
472
- showVisualMode: requestedVisualMode || !showMarkdownMode,
473
- showMarkdownMode,
474
- minimalToolbar: typeof candidate.minimalToolbar === "boolean" ? candidate.minimalToolbar : DEFAULT_EDITOR_PREFERENCES.minimalToolbar,
475
- showScrollToTop: typeof candidate.showScrollToTop === "boolean" ? candidate.showScrollToTop : DEFAULT_EDITOR_PREFERENCES.showScrollToTop
476
- };
477
- }
478
- //#endregion
479
- //#region src/lib/stores/editor-preferences.svelte.ts
480
- var STORAGE_KEY = "docsmint-editor-preferences";
481
- var preferences$1 = { ...DEFAULT_EDITOR_PREFERENCES };
482
- var initialized$1 = false;
483
- function isBrowser() {
484
- return typeof window !== "undefined" && typeof localStorage !== "undefined";
485
- }
486
- function init$1() {
487
- if (!isBrowser() || initialized$1) return;
488
- initialized$1 = true;
489
- try {
490
- preferences$1 = normalizeEditorPreferences(JSON.parse(localStorage.getItem(STORAGE_KEY) ?? "null"));
491
- } catch {
492
- preferences$1 = { ...DEFAULT_EDITOR_PREFERENCES };
493
- }
494
- }
495
- function update$1(patch) {
496
- preferences$1 = normalizeEditorPreferences({
497
- ...preferences$1,
498
- ...patch
499
- });
500
- if (isBrowser()) localStorage.setItem(STORAGE_KEY, JSON.stringify(preferences$1));
501
- }
502
- var editorPreferences = {
503
- get value() {
504
- return preferences$1;
505
- },
506
- get showMarkdownMode() {
507
- return preferences$1.showMarkdownMode;
508
- },
509
- get showVisualMode() {
510
- return preferences$1.showVisualMode;
511
- },
512
- get minimalToolbar() {
513
- return preferences$1.minimalToolbar;
514
- },
515
- get showScrollToTop() {
516
- return preferences$1.showScrollToTop;
517
- },
518
- init: init$1,
519
- update: update$1
520
- };
521
- //#endregion
522
460
  //#region src/lib/stores/search-preferences.ts
523
461
  var DEFAULT_SEARCH_PREFERENCES = { graphSearchEnabled: true };
524
462
  var SEARCH_PREFERENCES_KEY = "docsmint:search-preferences";
@@ -1112,4 +1050,4 @@ function SettingsDialog($$renderer, $$props) {
1112
1050
  });
1113
1051
  }
1114
1052
  //#endregion
1115
- export { searchPreferences as n, editorPreferences as r, SettingsDialog as t };
1053
+ export { searchPreferences as n, SettingsDialog as t };
@@ -6,7 +6,7 @@ import * as $ from "svelte/internal/server";
6
6
  //#region src/lib/components/ShareDialog.svelte
7
7
  function ShareDialog($$renderer, $$props) {
8
8
  $$renderer.component(($$renderer) => {
9
- let { open = false, documentId = "", documentTitle = "", folderId = "", folderName = "", categoryId = "", categoryName = "" } = $$props;
9
+ let { open = false, documentId = "", documentTitle = "", folderId = "", folderName = "", categoryId = "", categoryName = "", onCreated } = $$props;
10
10
  let usePassword = false;
11
11
  let expiresIn = "7d";
12
12
  getDocsmintRequestAdapter();
@@ -6,7 +6,7 @@ import { t as Chevron_right } from "./chevron-right-DKD7WXjz.js";
6
6
  import { t as Clock } from "./clock-CzsE58TH.js";
7
7
  import { t as Copy } from "./copy-DkkCPkBL.js";
8
8
  import { t as Folder } from "./folder-DYIE-XPP.js";
9
- import { t as SettingsDialog } from "./SettingsDialog-DVp0OxPO.js";
9
+ import { t as SettingsDialog } from "./SettingsDialog-BjJIiVLc.js";
10
10
  import { n as Search, t as Tag } from "./tag-BmiVU_Ej.js";
11
11
  import { a as Dropdown_menu, i as Dropdown_menu_content, o as Ellipsis_vertical, r as Dropdown_menu_item, t as Dropdown_menu_trigger } from "./dropdown-menu-Dn_vQq9b.js";
12
12
  import { t as Loader_circle } from "./loader-circle-CIEWGyfP.js";
@@ -23,8 +23,8 @@ import { n as SHADOW_ITEM_MARKER_PROPERTY_NAME } from "./dndzone-DMvTO_Jz.js";
23
23
  import { c as updateDocument, r as deleteDocument, s as listDocuments, t as clearDocumentsCache } from "./documents-CZ-wQohy.js";
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
- import { t as ShareDialog } from "./ShareDialog-BZd28sg-.js";
27
- import { t as CategoryDialog } from "./CategoryDialog-BLxVoynx.js";
26
+ import { t as ShareDialog } from "./ShareDialog-C9C-XTm4.js";
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" : ""}`)}${$.attr("aria-label", action_copy_content())}${$.attr("title", action_copy_content())}${$.attr("disabled", copyLoadingDocId === doc.id, true)}>`);
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" : ""}`)}${$.attr("aria-label", action_copy_content())}${$.attr("title", action_copy_content())}${$.attr("disabled", copyLoadingDocId === doc.id, true)}>`);
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
  }
@@ -0,0 +1,65 @@
1
+ import "svelte/internal/server";
2
+ //#region src/lib/stores/editor-preferences.ts
3
+ var DEFAULT_EDITOR_PREFERENCES = {
4
+ showVisualMode: true,
5
+ showMarkdownMode: true,
6
+ minimalToolbar: false,
7
+ showScrollToTop: true
8
+ };
9
+ function normalizeEditorPreferences(value) {
10
+ if (!value || typeof value !== "object") return { ...DEFAULT_EDITOR_PREFERENCES };
11
+ const candidate = value;
12
+ const requestedVisualMode = typeof candidate.showVisualMode === "boolean" ? candidate.showVisualMode : DEFAULT_EDITOR_PREFERENCES.showVisualMode;
13
+ const showMarkdownMode = typeof candidate.showMarkdownMode === "boolean" ? candidate.showMarkdownMode : DEFAULT_EDITOR_PREFERENCES.showMarkdownMode;
14
+ return {
15
+ showVisualMode: requestedVisualMode || !showMarkdownMode,
16
+ showMarkdownMode,
17
+ minimalToolbar: typeof candidate.minimalToolbar === "boolean" ? candidate.minimalToolbar : DEFAULT_EDITOR_PREFERENCES.minimalToolbar,
18
+ showScrollToTop: typeof candidate.showScrollToTop === "boolean" ? candidate.showScrollToTop : DEFAULT_EDITOR_PREFERENCES.showScrollToTop
19
+ };
20
+ }
21
+ //#endregion
22
+ //#region src/lib/stores/editor-preferences.svelte.ts
23
+ var STORAGE_KEY = "docsmint-editor-preferences";
24
+ var preferences = { ...DEFAULT_EDITOR_PREFERENCES };
25
+ var initialized = false;
26
+ function isBrowser() {
27
+ return typeof window !== "undefined" && typeof localStorage !== "undefined";
28
+ }
29
+ function init() {
30
+ if (!isBrowser() || initialized) return;
31
+ initialized = true;
32
+ try {
33
+ preferences = normalizeEditorPreferences(JSON.parse(localStorage.getItem(STORAGE_KEY) ?? "null"));
34
+ } catch {
35
+ preferences = { ...DEFAULT_EDITOR_PREFERENCES };
36
+ }
37
+ }
38
+ function update(patch) {
39
+ preferences = normalizeEditorPreferences({
40
+ ...preferences,
41
+ ...patch
42
+ });
43
+ if (isBrowser()) localStorage.setItem(STORAGE_KEY, JSON.stringify(preferences));
44
+ }
45
+ var editorPreferences = {
46
+ get value() {
47
+ return preferences;
48
+ },
49
+ get showMarkdownMode() {
50
+ return preferences.showMarkdownMode;
51
+ },
52
+ get showVisualMode() {
53
+ return preferences.showVisualMode;
54
+ },
55
+ get minimalToolbar() {
56
+ return preferences.minimalToolbar;
57
+ },
58
+ get showScrollToTop() {
59
+ return preferences.showScrollToTop;
60
+ },
61
+ init,
62
+ update
63
+ };
64
+ //#endregion
65
+ export { DEFAULT_EDITOR_PREFERENCES as n, normalizeEditorPreferences as r, editorPreferences as t };
@@ -1,2 +1,2 @@
1
- import { t as CategoryDialog } from "../assets/CategoryDialog-BLxVoynx.js";
1
+ import { t as CategoryDialog } from "../assets/CategoryDialog-QHEv_9N4.js";
2
2
  export { CategoryDialog };
@@ -0,0 +1,19 @@
1
+ import { t as HiAiEditor } from "../../assets/HiAiEditor-CUOJmKzT.js";
2
+ import "svelte/internal/server";
3
+ //#region src/lib/components/editor/CompactEditor.svelte
4
+ function CompactEditor($$renderer, $$props) {
5
+ let { content = "", contentJson, placeholder, onUpdate = (_output) => {}, editable = true, collaboration = null, documentId = "", documentUpdatedAt = "" } = $$props;
6
+ HiAiEditor($$renderer, {
7
+ content,
8
+ contentJson,
9
+ placeholder,
10
+ onUpdate,
11
+ editable,
12
+ collaboration,
13
+ documentId,
14
+ documentUpdatedAt,
15
+ minimalToolbar: true
16
+ });
17
+ }
18
+ //#endregion
19
+ export { CompactEditor };