@hiai-gg/docsmint 0.7.1 → 0.7.3

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 (109) hide show
  1. package/README.md +20 -1
  2. package/dist/backend/index.js +1 -1
  3. package/dist/frontend/CategoryDialog-bQKMpVFD.js +631 -0
  4. package/dist/frontend/ConfirmDialog-DF7kgkyq.js +139 -0
  5. package/dist/frontend/CreateSnapshotDialog-CojnWChs.js +222 -0
  6. package/dist/frontend/{DatePicker-CAw0wZZK.js → DatePicker-7FAbIOGg.js} +3 -3
  7. package/dist/frontend/DeleteDialog-BIlqRb1u.js +179 -0
  8. package/dist/frontend/{FolderNode-DzTqitR8.js → FolderNode-Cf443LBa.js} +1 -1
  9. package/dist/frontend/{HiAiEditor-B7MK19_j.js → HiAiEditor-CMZ-eL8s.js} +960 -954
  10. package/dist/frontend/SettingsDialog-DatuxOVX.js +980 -0
  11. package/dist/frontend/{ShareDialog-CwFa8mlk.js → ShareDialog-Bwz2y3Le.js} +1 -1
  12. package/dist/frontend/Sidebar-C_t5RrOJ.js +2101 -0
  13. package/dist/frontend/TagCreateDialog-Ch21yuWV.js +266 -0
  14. package/dist/frontend/app-shell.d.ts +3 -1
  15. package/dist/frontend/app-shell.js +155 -152
  16. package/dist/frontend/components/category-dialog.js +1 -1
  17. package/dist/frontend/components/create-snapshot-dialog.js +1 -1
  18. package/dist/frontend/components/delete-dialog.js +1 -1
  19. package/dist/frontend/components/editor/compact-editor.js +1 -1
  20. package/dist/frontend/components/editor/document-editor.js +1 -1
  21. package/dist/frontend/components/editor/extensions.js +1 -1
  22. package/dist/frontend/components/editor/markdown-toggle.js +1 -1
  23. package/dist/frontend/components/editor/markdown.js +1 -1
  24. package/dist/frontend/components/folder-node.js +1 -1
  25. package/dist/frontend/components/save-as-dialog.js +231 -226
  26. package/dist/frontend/components/settings.js +1 -1
  27. package/dist/frontend/components/share-dialog.js +1 -1
  28. package/dist/frontend/components/sidebar.js +1 -1
  29. package/dist/frontend/components/tag-create-dialog.js +1 -1
  30. package/dist/frontend/components/version-history.js +2 -2
  31. package/dist/frontend/confirm-dialog-8T6vsWL7.js +265 -0
  32. package/dist/frontend/dashboard.js +600 -592
  33. package/dist/frontend/dialog-CiSwD-_v.js +253 -0
  34. package/dist/frontend/{dropdown-menu-BXIl2E26.js → dropdown-menu-Bi5Iipwf.js} +6 -6
  35. package/dist/frontend/editor-content-sanitizer-CC_A8aaI.js +112 -0
  36. package/dist/frontend/{editorExtensions-BmINh76i.js → editorExtensions--HusV819.js} +3356 -3423
  37. package/dist/frontend/frontend.css +1 -1
  38. package/dist/frontend/{input-eHFb2qiL.js → input-N9dNSOWF.js} +2 -2
  39. package/dist/frontend/{label-_I1iiaNU.js → label-CK72_fw8.js} +2 -2
  40. package/dist/frontend/{markdown-A5xji16P.js → markdown-H6QB53zu.js} +1 -1
  41. package/dist/frontend/search.js +2 -2
  42. package/dist/frontend/{select-value-CtMyrvDJ.js → select-value-BD1DToYs.js} +6 -6
  43. package/dist/frontend/shared-document.js +95 -92
  44. package/dist/frontend/{textarea-2eslfANY.js → textarea-pl_fDBre.js} +2 -2
  45. package/dist/frontend/theme.js +1 -1
  46. package/dist/frontend/theme.svelte-DG3RS7wv.js +101 -0
  47. package/dist/frontend/{utils-CDBqTgoV.js → utils-CMQRlxbx.js} +1 -1
  48. package/dist/frontend-ssr/app-shell.js +8 -4
  49. package/dist/frontend-ssr/assets/CategoryDialog-DsXe54EF.js +608 -0
  50. package/dist/frontend-ssr/assets/ConfirmDialog-DrH653ua.js +136 -0
  51. package/dist/frontend-ssr/assets/{CreateSnapshotDialog-NM0n1Whr.js → CreateSnapshotDialog-D3-PjXVr.js} +92 -87
  52. package/dist/frontend-ssr/assets/{DatePicker-Dcok9XVm.js → DatePicker-C9suIA1S.js} +3 -3
  53. package/dist/frontend-ssr/assets/DeleteDialog-DxtMrS1O.js +159 -0
  54. package/dist/frontend-ssr/assets/{FolderNode-B84NL8Rg.js → FolderNode-ChD10Elp.js} +1 -1
  55. package/dist/frontend-ssr/assets/{HiAiEditor-tU0jmp6L.js → HiAiEditor-2X3Uyg1B.js} +59 -53
  56. package/dist/frontend-ssr/assets/{SettingsDialog-Dkp79L1B.js → SettingsDialog-DDy0hN8x.js} +372 -360
  57. package/dist/frontend-ssr/assets/{ShareDialog-B1-30sRR.js → ShareDialog-BwW_wF4G.js} +1 -1
  58. package/dist/frontend-ssr/assets/{Sidebar-CGp45ngo.js → Sidebar-Dy-5gXOf.js} +169 -128
  59. package/dist/frontend-ssr/assets/{TagCreateDialog-CGGtYSso.js → TagCreateDialog-BPzgOaX8.js} +93 -88
  60. package/dist/frontend-ssr/assets/{confirm-dialog-B-oV5wYk.js → confirm-dialog-wYC07DPx.js} +108 -88
  61. package/dist/frontend-ssr/assets/{dialog-1SB5neow.js → dialog-ClcuF7nD.js} +47 -12
  62. package/dist/frontend-ssr/assets/{dropdown-menu-DqoOkdqB.js → dropdown-menu-BKMGVNLL.js} +6 -6
  63. package/dist/frontend-ssr/assets/editor-content-sanitizer-Gjm93iR-.js +145 -0
  64. package/dist/frontend-ssr/assets/{editorExtensions-BwGeSPuX.js → editorExtensions-qNlZVP98.js} +2 -88
  65. package/dist/frontend-ssr/assets/{input-Df-QP3Km.js → input-DcDR8L8M.js} +2 -2
  66. package/dist/frontend-ssr/assets/{label-CbUOUz6L.js → label-Cz0_svJx.js} +2 -2
  67. package/dist/frontend-ssr/assets/{markdown-CB8DZ-LT.js → markdown-MhPwNWrC.js} +1 -1
  68. package/dist/frontend-ssr/assets/{select-value-CXEDWrZg.js → select-value-CaDktvDW.js} +6 -6
  69. package/dist/frontend-ssr/assets/{textarea-CHh8NuSS.js → textarea-BGrjPOgU.js} +2 -2
  70. package/dist/frontend-ssr/assets/theme.svelte-CN3BUhJG.js +136 -0
  71. package/dist/frontend-ssr/assets/{utils-DtX0ta7y.js → utils-Cg_R05dR.js} +1 -1
  72. package/dist/frontend-ssr/components/category-dialog.js +1 -1
  73. package/dist/frontend-ssr/components/create-snapshot-dialog.js +1 -1
  74. package/dist/frontend-ssr/components/delete-dialog.js +1 -1
  75. package/dist/frontend-ssr/components/editor/compact-editor.js +1 -1
  76. package/dist/frontend-ssr/components/editor/document-editor.js +1 -1
  77. package/dist/frontend-ssr/components/editor/extensions.js +1 -1
  78. package/dist/frontend-ssr/components/editor/markdown-toggle.js +1 -1
  79. package/dist/frontend-ssr/components/editor/markdown.js +1 -1
  80. package/dist/frontend-ssr/components/folder-node.js +1 -1
  81. package/dist/frontend-ssr/components/save-as-dialog.js +176 -171
  82. package/dist/frontend-ssr/components/settings.js +1 -1
  83. package/dist/frontend-ssr/components/share-dialog.js +1 -1
  84. package/dist/frontend-ssr/components/sidebar.js +1 -1
  85. package/dist/frontend-ssr/components/tag-create-dialog.js +1 -1
  86. package/dist/frontend-ssr/components/version-history.js +2 -2
  87. package/dist/frontend-ssr/dashboard.js +101 -94
  88. package/dist/frontend-ssr/search.js +2 -2
  89. package/dist/frontend-ssr/shared-document.js +3 -0
  90. package/dist/frontend-ssr/theme.js +1 -1
  91. package/dist/mcp-cli.js +1 -1
  92. package/dist/mcp-server.js +1 -1
  93. package/package.json +1 -1
  94. package/packages/cli/src/index.ts +1 -1
  95. package/server.json +3 -3
  96. package/dist/frontend/CategoryDialog-t_WIvFAG.js +0 -626
  97. package/dist/frontend/ConfirmDialog-_LlrA--f.js +0 -134
  98. package/dist/frontend/CreateSnapshotDialog-DW3PwAt5.js +0 -217
  99. package/dist/frontend/DeleteDialog-L1A3FhMM.js +0 -174
  100. package/dist/frontend/SettingsDialog-CS5L4nnU.js +0 -969
  101. package/dist/frontend/Sidebar-CDaFFmaQ.js +0 -2060
  102. package/dist/frontend/TagCreateDialog-C7Avn2_h.js +0 -261
  103. package/dist/frontend/confirm-dialog-BW2h2NE8.js +0 -250
  104. package/dist/frontend/dialog-C2iKObEu.js +0 -213
  105. package/dist/frontend/theme.svelte-DKfCy12k.js +0 -49
  106. package/dist/frontend-ssr/assets/CategoryDialog-B3MrZUho.js +0 -603
  107. package/dist/frontend-ssr/assets/ConfirmDialog-D1BDXXll.js +0 -131
  108. package/dist/frontend-ssr/assets/DeleteDialog-oHT_p_vG.js +0 -154
  109. package/dist/frontend-ssr/assets/theme.svelte-Co0-ssaD.js +0 -67
@@ -1,6 +1,6 @@
1
1
  import { Bn as share_expires_7d, Gn as share_toggle_password, Hn as share_expires_1h, Jn as share_create_title, Kn as share_password_protection, Un as share_expires_never, Vn as share_expires_1d, Wn as share_expires, pn as action_close, qn as share_create_link, zn as share_expires_30d } from "./messages-B1TjVIH8.js";
2
2
  import { a as getDocsmintRequestAdapter } from "./route-context-BPRerEtZ.js";
3
- import "./select-value-CXEDWrZg.js";
3
+ import "./select-value-CaDktvDW.js";
4
4
  import "./keyboard.svelte-BgF47N3L.js";
5
5
  import * as $ from "svelte/internal/server";
6
6
  //#region src/lib/components/share-configuration.ts
@@ -1,20 +1,20 @@
1
1
  import { $n as search_title, Ar as doc_delete_success, C as categories_new, D as sidebar_powered_by, Dr as doc_share, Er as doc_delete, Ir as dashboard_new_document, Nr as doc_title_label, Or as doc_tags, Qn as search_placeholder, Rn as settings_title, Rr as dashboard_title, _n as action_cancel, _r as folders_rename, an as sidebar_folders, ar as tags_new, bn as error_generic, br as folders_new, bt as editor_more_options, dn as action_go_to, dr as folders_name_placeholder, er as tags_add, f as sidebar_uncategorized, fr as folders_delete_success_description, gn as action_delete, hn as action_edit, hr as folders_delete_title, jr as doc_delete_confirm, kr as doc_delete_success_description, nr as tags_delete_title, on as sidebar_recent, pr as folders_delete_success, tr as tags_delete_description, un as action_loading, vn as action_save, vt as tags_load_error, yt as action_copy_content } from "./messages-B1TjVIH8.js";
2
2
  import { t as Icon } from "./Icon-QwirKi9Y.js";
3
- import { i as Check, n as Plus, r as File_text, t as FolderDialog } from "./confirm-dialog-B-oV5wYk.js";
3
+ import { a as File_text, i as Plus, o as Check, r as FolderDialog, t as getDocsmintShareAdapter } from "./confirm-dialog-wYC07DPx.js";
4
4
  import { t as Chevron_down } from "./chevron-down-CvqKATjM.js";
5
5
  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-Dkp79L1B.js";
9
+ import { t as SettingsDialog } from "./SettingsDialog-DDy0hN8x.js";
10
10
  import { n as Search, t as Tag } from "./tag-BmiVU_Ej.js";
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-DqoOkdqB.js";
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-BKMGVNLL.js";
12
12
  import { t as Loader_circle } from "./loader-circle-CIEWGyfP.js";
13
13
  import { a as getDocsmintRequestAdapter, i as resolveDocsmintRoute, n as navigateDocsmintRoute, t as getDocsmintRouteAdapter } from "./route-context-BPRerEtZ.js";
14
14
  import { t as cn } from "./utils-DvZnctjz.js";
15
- import { a as Dialog, i as Dialog_description, n as Dialog_header, o as Button, r as Dialog_footer, t as Dialog_title } from "./dialog-1SB5neow.js";
16
- import { t as Input } from "./input-Df-QP3Km.js";
17
- import { t as Label } from "./label-CbUOUz6L.js";
15
+ import { a as Dialog_content, i as Dialog_description, n as Dialog_header, o as Dialog, r as Dialog_footer, s as Button, t as Dialog_title } from "./dialog-ClcuF7nD.js";
16
+ import { t as Input } from "./input-DcDR8L8M.js";
17
+ import { t as Label } from "./label-Cz0_svJx.js";
18
18
  import { n as apiFetch } from "./client-DZMkDkDn.js";
19
19
  import { i as listCategories, r as deleteCategory } from "./categories-av9xjeg5.js";
20
20
  import { t as getFrontendExtensions } from "./context-Bi_mO-NS.js";
@@ -22,16 +22,16 @@ import { t as resolveExtensions } from "./resolve-BqHozBXl.js";
22
22
  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
- import { t as DeleteDialog } from "./DeleteDialog-oHT_p_vG.js";
26
- import { t as ShareDialog } from "./ShareDialog-B1-30sRR.js";
27
- import { t as CategoryDialog } from "./CategoryDialog-B3MrZUho.js";
25
+ import { t as DeleteDialog } from "./DeleteDialog-DxtMrS1O.js";
26
+ import { t as ShareDialog } from "./ShareDialog-BwW_wF4G.js";
27
+ import { t as CategoryDialog } from "./CategoryDialog-DsXe54EF.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
- import { t as FolderNode } from "./FolderNode-B84NL8Rg.js";
30
+ import { t as FolderNode } from "./FolderNode-ChD10Elp.js";
31
31
  import { i as setSelectedTag, n as refreshDocs, r as refreshTags, t as getSelectedTag } from "./tag-store.svelte-BM1lUI_P.js";
32
- import { t as ConfirmDialog } from "./ConfirmDialog-D1BDXXll.js";
32
+ import { t as ConfirmDialog } from "./ConfirmDialog-DrH653ua.js";
33
33
  import { i as deleteTag, o as listTags } from "./tags-BQsI_6OW.js";
34
- import { t as TagCreateDialog } from "./TagCreateDialog-CGGtYSso.js";
34
+ import { t as TagCreateDialog } from "./TagCreateDialog-BPzgOaX8.js";
35
35
  import * as $ from "svelte/internal/server";
36
36
  import { onDestroy, onMount } from "svelte";
37
37
  import { page } from "$app/state";
@@ -303,6 +303,7 @@ function FolderTree($$renderer, $$props) {
303
303
  $$renderer.component(($$renderer) => {
304
304
  const route = getDocsmintRouteAdapter();
305
305
  const request = getDocsmintRequestAdapter();
306
+ const share = getDocsmintShareAdapter();
306
307
  /**
307
308
  * Identifies where a doc dndzone lives in the tree. Every doc zone
308
309
  * (folder content, category root-doc bucket, Uncategorized root)
@@ -1240,77 +1241,83 @@ function FolderTree($$renderer, $$props) {
1240
1241
  $$settled = false;
1241
1242
  },
1242
1243
  children: ($$renderer) => {
1243
- Dialog_header($$renderer, {
1244
+ Dialog_content($$renderer, {
1244
1245
  children: ($$renderer) => {
1245
- Dialog_title($$renderer, {
1246
+ Dialog_header($$renderer, {
1246
1247
  children: ($$renderer) => {
1247
- $$renderer.push(`<!---->${$.escape(folders_rename())}`);
1248
+ Dialog_title($$renderer, {
1249
+ children: ($$renderer) => {
1250
+ $$renderer.push(`<!---->${$.escape(folders_rename())}`);
1251
+ },
1252
+ $$slots: { default: true }
1253
+ });
1254
+ $$renderer.push(`<!----> `);
1255
+ Dialog_description($$renderer, {
1256
+ children: ($$renderer) => {
1257
+ $$renderer.push(`<!---->${$.escape(renameTarget?.kind === "folder" ? folders_name_placeholder() : doc_title_label())}`);
1258
+ },
1259
+ $$slots: { default: true }
1260
+ });
1261
+ $$renderer.push(`<!---->`);
1248
1262
  },
1249
1263
  $$slots: { default: true }
1250
1264
  });
1251
- $$renderer.push(`<!----> `);
1252
- Dialog_description($$renderer, {
1265
+ $$renderer.push(`<!----> <form class="space-y-4"><div class="space-y-2">`);
1266
+ Label($$renderer, {
1267
+ for: "rename-input",
1253
1268
  children: ($$renderer) => {
1254
1269
  $$renderer.push(`<!---->${$.escape(renameTarget?.kind === "folder" ? folders_name_placeholder() : doc_title_label())}`);
1255
1270
  },
1256
1271
  $$slots: { default: true }
1257
1272
  });
1258
- $$renderer.push(`<!---->`);
1259
- },
1260
- $$slots: { default: true }
1261
- });
1262
- $$renderer.push(`<!----> <form class="space-y-4"><div class="space-y-2">`);
1263
- Label($$renderer, {
1264
- for: "rename-input",
1265
- children: ($$renderer) => {
1266
- $$renderer.push(`<!---->${$.escape(renameTarget?.kind === "folder" ? folders_name_placeholder() : doc_title_label())}`);
1267
- },
1268
- $$slots: { default: true }
1269
- });
1270
- $$renderer.push(`<!----> `);
1271
- Input($$renderer, {
1272
- id: "rename-input",
1273
- name: "name",
1274
- type: "text",
1275
- maxlength: 255,
1276
- required: true,
1277
- disabled: renameSubmitting,
1278
- "aria-invalid": renameError ? "true" : void 0,
1279
- "aria-describedby": renameError ? "rename-input-error" : void 0,
1280
- autocomplete: "off",
1281
- get value() {
1282
- return renameValue;
1283
- },
1284
- set value($$value) {
1285
- renameValue = $$value;
1286
- $$settled = false;
1287
- }
1288
- });
1289
- $$renderer.push(`<!----> `);
1290
- if (renameError) {
1291
- $$renderer.push("<!--[0-->");
1292
- $$renderer.push(`<p id="rename-input-error" class="text-xs text-destructive" role="alert">${$.escape(renameError)}</p>`);
1293
- } else $$renderer.push("<!--[-1-->");
1294
- $$renderer.push(`<!--]--></div></form> `);
1295
- Dialog_footer($$renderer, {
1296
- children: ($$renderer) => {
1297
- Button($$renderer, {
1298
- variant: "outline",
1299
- type: "button",
1300
- onclick: closeRenameDialog,
1273
+ $$renderer.push(`<!----> `);
1274
+ Input($$renderer, {
1275
+ id: "rename-input",
1276
+ name: "name",
1277
+ type: "text",
1278
+ maxlength: 255,
1279
+ required: true,
1301
1280
  disabled: renameSubmitting,
1302
- children: ($$renderer) => {
1303
- $$renderer.push(`<!---->${$.escape(action_cancel())}`);
1281
+ "aria-invalid": renameError ? "true" : void 0,
1282
+ "aria-describedby": renameError ? "rename-input-error" : void 0,
1283
+ autocomplete: "off",
1284
+ get value() {
1285
+ return renameValue;
1304
1286
  },
1305
- $$slots: { default: true }
1287
+ set value($$value) {
1288
+ renameValue = $$value;
1289
+ $$settled = false;
1290
+ }
1306
1291
  });
1307
1292
  $$renderer.push(`<!----> `);
1308
- Button($$renderer, {
1309
- type: "submit",
1310
- onclick: submitRename,
1311
- disabled: renameSubmitting || renameValue.trim().length === 0,
1293
+ if (renameError) {
1294
+ $$renderer.push("<!--[0-->");
1295
+ $$renderer.push(`<p id="rename-input-error" class="text-xs text-destructive" role="alert">${$.escape(renameError)}</p>`);
1296
+ } else $$renderer.push("<!--[-1-->");
1297
+ $$renderer.push(`<!--]--></div></form> `);
1298
+ Dialog_footer($$renderer, {
1312
1299
  children: ($$renderer) => {
1313
- $$renderer.push(`<!---->${$.escape(renameSubmitting ? action_loading() : action_save())}`);
1300
+ Button($$renderer, {
1301
+ variant: "outline",
1302
+ type: "button",
1303
+ onclick: closeRenameDialog,
1304
+ disabled: renameSubmitting,
1305
+ children: ($$renderer) => {
1306
+ $$renderer.push(`<!---->${$.escape(action_cancel())}`);
1307
+ },
1308
+ $$slots: { default: true }
1309
+ });
1310
+ $$renderer.push(`<!----> `);
1311
+ Button($$renderer, {
1312
+ type: "submit",
1313
+ onclick: submitRename,
1314
+ disabled: renameSubmitting || renameValue.trim().length === 0,
1315
+ children: ($$renderer) => {
1316
+ $$renderer.push(`<!---->${$.escape(renameSubmitting ? action_loading() : action_save())}`);
1317
+ },
1318
+ $$slots: { default: true }
1319
+ });
1320
+ $$renderer.push(`<!---->`);
1314
1321
  },
1315
1322
  $$slots: { default: true }
1316
1323
  });
@@ -1318,7 +1325,6 @@ function FolderTree($$renderer, $$props) {
1318
1325
  },
1319
1326
  $$slots: { default: true }
1320
1327
  });
1321
- $$renderer.push(`<!---->`);
1322
1328
  },
1323
1329
  $$slots: { default: true }
1324
1330
  });
@@ -1358,7 +1364,7 @@ function FolderTree($$renderer, $$props) {
1358
1364
  });
1359
1365
  $$renderer.push(`<!----> `);
1360
1366
  ShareDialog($$renderer, {
1361
- displayMode: "standalone",
1367
+ displayMode: share.displayMode,
1362
1368
  documentId: shareDocumentId,
1363
1369
  documentTitle: shareDocumentTitle,
1364
1370
  folderId: shareFolderId,
@@ -1389,6 +1395,7 @@ function FolderTree($$renderer, $$props) {
1389
1395
  function RecentDocs($$renderer, $$props) {
1390
1396
  $$renderer.component(($$renderer) => {
1391
1397
  const request = getDocsmintRequestAdapter();
1398
+ const share = getDocsmintShareAdapter();
1392
1399
  let recentDocs = [];
1393
1400
  let activeId = null;
1394
1401
  let loadError = null;
@@ -1403,6 +1410,14 @@ function RecentDocs($$renderer, $$props) {
1403
1410
  let showDeleteDialog = false;
1404
1411
  let deleteTarget = null;
1405
1412
  let deleteBusy = false;
1413
+ let showShareDialog = false;
1414
+ let shareDocumentId = "";
1415
+ let shareDocumentTitle = "";
1416
+ function openShareDialogForDocument(id, title) {
1417
+ shareDocumentId = id;
1418
+ shareDocumentTitle = title;
1419
+ showShareDialog = true;
1420
+ }
1406
1421
  async function fetchRecentDocs() {
1407
1422
  try {
1408
1423
  const tag = getSelectedTag();
@@ -1556,6 +1571,14 @@ function RecentDocs($$renderer, $$props) {
1556
1571
  $$slots: { default: true }
1557
1572
  });
1558
1573
  $$renderer.push(`<!----> `);
1574
+ Dropdown_menu_item($$renderer, {
1575
+ onSelect: () => openShareDialogForDocument(doc.id, doc.title),
1576
+ children: ($$renderer) => {
1577
+ $$renderer.push(`<!---->${$.escape(doc_share())}`);
1578
+ },
1579
+ $$slots: { default: true }
1580
+ });
1581
+ $$renderer.push(`<!----> `);
1559
1582
  Dropdown_menu_item($$renderer, {
1560
1583
  class: "text-destructive focus:text-destructive",
1561
1584
  onSelect: () => startDelete(doc.id, doc.title),
@@ -1587,77 +1610,83 @@ function RecentDocs($$renderer, $$props) {
1587
1610
  $$settled = false;
1588
1611
  },
1589
1612
  children: ($$renderer) => {
1590
- Dialog_header($$renderer, {
1613
+ Dialog_content($$renderer, {
1591
1614
  children: ($$renderer) => {
1592
- Dialog_title($$renderer, {
1615
+ Dialog_header($$renderer, {
1593
1616
  children: ($$renderer) => {
1594
- $$renderer.push(`<!---->${$.escape(folders_rename())}`);
1617
+ Dialog_title($$renderer, {
1618
+ children: ($$renderer) => {
1619
+ $$renderer.push(`<!---->${$.escape(folders_rename())}`);
1620
+ },
1621
+ $$slots: { default: true }
1622
+ });
1623
+ $$renderer.push(`<!----> `);
1624
+ Dialog_description($$renderer, {
1625
+ children: ($$renderer) => {
1626
+ $$renderer.push(`<!---->${$.escape(doc_title_label())}`);
1627
+ },
1628
+ $$slots: { default: true }
1629
+ });
1630
+ $$renderer.push(`<!---->`);
1595
1631
  },
1596
1632
  $$slots: { default: true }
1597
1633
  });
1598
- $$renderer.push(`<!----> `);
1599
- Dialog_description($$renderer, {
1634
+ $$renderer.push(`<!----> <form class="space-y-4"><div class="space-y-2">`);
1635
+ Label($$renderer, {
1636
+ for: "recent-rename-input",
1600
1637
  children: ($$renderer) => {
1601
1638
  $$renderer.push(`<!---->${$.escape(doc_title_label())}`);
1602
1639
  },
1603
1640
  $$slots: { default: true }
1604
1641
  });
1605
- $$renderer.push(`<!---->`);
1606
- },
1607
- $$slots: { default: true }
1608
- });
1609
- $$renderer.push(`<!----> <form class="space-y-4"><div class="space-y-2">`);
1610
- Label($$renderer, {
1611
- for: "recent-rename-input",
1612
- children: ($$renderer) => {
1613
- $$renderer.push(`<!---->${$.escape(doc_title_label())}`);
1614
- },
1615
- $$slots: { default: true }
1616
- });
1617
- $$renderer.push(`<!----> `);
1618
- Input($$renderer, {
1619
- id: "recent-rename-input",
1620
- name: "name",
1621
- type: "text",
1622
- maxlength: 255,
1623
- required: true,
1624
- disabled: renameSubmitting,
1625
- "aria-invalid": renameError ? "true" : void 0,
1626
- "aria-describedby": renameError ? "recent-rename-input-error" : void 0,
1627
- autocomplete: "off",
1628
- get value() {
1629
- return renameValue;
1630
- },
1631
- set value($$value) {
1632
- renameValue = $$value;
1633
- $$settled = false;
1634
- }
1635
- });
1636
- $$renderer.push(`<!----> `);
1637
- if (renameError) {
1638
- $$renderer.push("<!--[0-->");
1639
- $$renderer.push(`<p id="recent-rename-input-error" class="text-xs text-destructive" role="alert">${$.escape(renameError)}</p>`);
1640
- } else $$renderer.push("<!--[-1-->");
1641
- $$renderer.push(`<!--]--></div></form> `);
1642
- Dialog_footer($$renderer, {
1643
- children: ($$renderer) => {
1644
- Button($$renderer, {
1645
- variant: "outline",
1646
- type: "button",
1647
- onclick: closeRenameDialog,
1642
+ $$renderer.push(`<!----> `);
1643
+ Input($$renderer, {
1644
+ id: "recent-rename-input",
1645
+ name: "name",
1646
+ type: "text",
1647
+ maxlength: 255,
1648
+ required: true,
1648
1649
  disabled: renameSubmitting,
1649
- children: ($$renderer) => {
1650
- $$renderer.push(`<!---->${$.escape(action_cancel())}`);
1650
+ "aria-invalid": renameError ? "true" : void 0,
1651
+ "aria-describedby": renameError ? "recent-rename-input-error" : void 0,
1652
+ autocomplete: "off",
1653
+ get value() {
1654
+ return renameValue;
1651
1655
  },
1652
- $$slots: { default: true }
1656
+ set value($$value) {
1657
+ renameValue = $$value;
1658
+ $$settled = false;
1659
+ }
1653
1660
  });
1654
1661
  $$renderer.push(`<!----> `);
1655
- Button($$renderer, {
1656
- type: "submit",
1657
- onclick: submitRename,
1658
- disabled: renameSubmitting || renameValue.trim().length === 0,
1662
+ if (renameError) {
1663
+ $$renderer.push("<!--[0-->");
1664
+ $$renderer.push(`<p id="recent-rename-input-error" class="text-xs text-destructive" role="alert">${$.escape(renameError)}</p>`);
1665
+ } else $$renderer.push("<!--[-1-->");
1666
+ $$renderer.push(`<!--]--></div></form> `);
1667
+ Dialog_footer($$renderer, {
1659
1668
  children: ($$renderer) => {
1660
- $$renderer.push(`<!---->${$.escape(renameSubmitting ? action_loading() : action_save())}`);
1669
+ Button($$renderer, {
1670
+ variant: "outline",
1671
+ type: "button",
1672
+ onclick: closeRenameDialog,
1673
+ disabled: renameSubmitting,
1674
+ children: ($$renderer) => {
1675
+ $$renderer.push(`<!---->${$.escape(action_cancel())}`);
1676
+ },
1677
+ $$slots: { default: true }
1678
+ });
1679
+ $$renderer.push(`<!----> `);
1680
+ Button($$renderer, {
1681
+ type: "submit",
1682
+ onclick: submitRename,
1683
+ disabled: renameSubmitting || renameValue.trim().length === 0,
1684
+ children: ($$renderer) => {
1685
+ $$renderer.push(`<!---->${$.escape(renameSubmitting ? action_loading() : action_save())}`);
1686
+ },
1687
+ $$slots: { default: true }
1688
+ });
1689
+ $$renderer.push(`<!---->`);
1661
1690
  },
1662
1691
  $$slots: { default: true }
1663
1692
  });
@@ -1665,7 +1694,6 @@ function RecentDocs($$renderer, $$props) {
1665
1694
  },
1666
1695
  $$slots: { default: true }
1667
1696
  });
1668
- $$renderer.push(`<!---->`);
1669
1697
  },
1670
1698
  $$slots: { default: true }
1671
1699
  });
@@ -1687,6 +1715,19 @@ function RecentDocs($$renderer, $$props) {
1687
1715
  $$settled = false;
1688
1716
  }
1689
1717
  });
1718
+ $$renderer.push(`<!----> `);
1719
+ ShareDialog($$renderer, {
1720
+ displayMode: share.displayMode,
1721
+ documentId: shareDocumentId,
1722
+ documentTitle: shareDocumentTitle,
1723
+ get open() {
1724
+ return showShareDialog;
1725
+ },
1726
+ set open($$value) {
1727
+ showShareDialog = $$value;
1728
+ $$settled = false;
1729
+ }
1730
+ });
1690
1731
  $$renderer.push(`<!---->`);
1691
1732
  }
1692
1733
  do {
@@ -1903,7 +1944,7 @@ function Sidebar($$renderer, $$props) {
1903
1944
  let $$settled = true;
1904
1945
  let $$inner_renderer;
1905
1946
  function $$render_inner($$renderer) {
1906
- $$renderer.push(`<aside${$.attr("id", mobile ? "mobile-navigation" : void 0)}${$.attr("role", mobile && mobileOpen ? "dialog" : void 0)}${$.attr("aria-modal", mobile && mobileOpen ? "true" : void 0)}${$.attr("aria-label", mobile ? "Navigation" : void 0)}${$.attr("aria-hidden", mobile && !mobileOpen ? "true" : void 0)} tabindex="-1"${$.attr("inert", mobile && !mobileOpen, true)}${$.attr_class($.clsx(cn("flex flex-col border-r border-border bg-card", mobile && "fixed inset-y-0 left-0 z-50 h-full w-[80%] max-w-[320px] shadow-xl transition-transform duration-300 ease-out", mobile && (mobileOpen ? "translate-x-0" : "-translate-x-full"), !mobile && "relative h-screen", !mobile && "transition-[width] duration-200")))}${$.attr_style(mobile ? "padding-top: env(safe-area-inset-top);" : isCollapsed() ? "width: 48px;" : `width: ${width}px;`)}>`);
1947
+ $$renderer.push(`<aside${$.attr("id", mobile ? "mobile-navigation" : void 0)}${$.attr("role", mobile && mobileOpen ? "dialog" : void 0)}${$.attr("aria-modal", mobile && mobileOpen ? "true" : void 0)}${$.attr("aria-label", mobile ? "Navigation" : void 0)}${$.attr("aria-hidden", mobile && !mobileOpen ? "true" : void 0)} tabindex="-1"${$.attr("inert", mobile && !mobileOpen, true)}${$.attr_class($.clsx(cn("flex flex-col border-r border-border bg-card font-sans", mobile && "fixed inset-y-0 left-0 z-50 h-full w-[80%] max-w-[320px] shadow-xl transition-transform duration-300 ease-out", mobile && (mobileOpen ? "translate-x-0" : "-translate-x-full"), !mobile && "relative h-screen", !mobile && "transition-[width] duration-200")))}${$.attr_style(mobile ? "padding-top: env(safe-area-inset-top);" : isCollapsed() ? "width: 48px;" : `width: ${width}px;`)}>`);
1907
1948
  if (!mobile && !isCollapsed()) {
1908
1949
  $$renderer.push("<!--[0-->");
1909
1950
  $$renderer.push(`<div role="separator" tabindex="-1"${$.attr_class($.clsx(cn("absolute right-0 top-0 z-40 h-full w-1 cursor-col-resize hover:bg-primary/50 transition-colors", isResizing)))}></div>`);
@@ -2,9 +2,9 @@ import { _n as action_cancel, ar as tags_new, bn as error_generic, ir as tags_ed
2
2
  import { t as Loader_circle } from "./loader-circle-CIEWGyfP.js";
3
3
  import { a as getDocsmintRequestAdapter } from "./route-context-BPRerEtZ.js";
4
4
  import { t as cn } from "./utils-DvZnctjz.js";
5
- import { a as Dialog, i as Dialog_description, n as Dialog_header, o as Button, r as Dialog_footer, t as Dialog_title } from "./dialog-1SB5neow.js";
6
- import { t as Input } from "./input-Df-QP3Km.js";
7
- import { t as Label } from "./label-CbUOUz6L.js";
5
+ import { a as Dialog_content, i as Dialog_description, n as Dialog_header, o as Dialog, r as Dialog_footer, s as Button, t as Dialog_title } from "./dialog-ClcuF7nD.js";
6
+ import { t as Input } from "./input-DcDR8L8M.js";
7
+ import { t as Label } from "./label-Cz0_svJx.js";
8
8
  import { c as updateTag, l as updateTagInputSchema, n as createTag, r as createTagInputSchema } from "./tags-BQsI_6OW.js";
9
9
  import * as $ from "svelte/internal/server";
10
10
  //#region src/lib/components/TagCreateDialog.svelte
@@ -141,106 +141,112 @@ function TagCreateDialog($$renderer, $$props) {
141
141
  $$settled = false;
142
142
  },
143
143
  children: ($$renderer) => {
144
- Dialog_header($$renderer, {
144
+ Dialog_content($$renderer, {
145
145
  children: ($$renderer) => {
146
- Dialog_title($$renderer, {
146
+ Dialog_header($$renderer, {
147
147
  children: ($$renderer) => {
148
- $$renderer.push(`<!---->${$.escape(dialogTitle())}`);
148
+ Dialog_title($$renderer, {
149
+ children: ($$renderer) => {
150
+ $$renderer.push(`<!---->${$.escape(dialogTitle())}`);
151
+ },
152
+ $$slots: { default: true }
153
+ });
154
+ $$renderer.push(`<!----> `);
155
+ Dialog_description($$renderer, {
156
+ children: ($$renderer) => {
157
+ $$renderer.push(`<!---->${$.escape(tags_name_placeholder())}`);
158
+ },
159
+ $$slots: { default: true }
160
+ });
161
+ $$renderer.push(`<!---->`);
149
162
  },
150
163
  $$slots: { default: true }
151
164
  });
152
- $$renderer.push(`<!----> `);
153
- Dialog_description($$renderer, {
165
+ $$renderer.push(`<!----> <form class="space-y-4"><div class="space-y-2">`);
166
+ Label($$renderer, {
167
+ for: "tag-name",
168
+ class: "sr-only",
154
169
  children: ($$renderer) => {
155
170
  $$renderer.push(`<!---->${$.escape(tags_name_placeholder())}`);
156
171
  },
157
172
  $$slots: { default: true }
158
173
  });
159
- $$renderer.push(`<!---->`);
160
- },
161
- $$slots: { default: true }
162
- });
163
- $$renderer.push(`<!----> <form class="space-y-4"><div class="space-y-2">`);
164
- Label($$renderer, {
165
- for: "tag-name",
166
- class: "sr-only",
167
- children: ($$renderer) => {
168
- $$renderer.push(`<!---->${$.escape(tags_name_placeholder())}`);
169
- },
170
- $$slots: { default: true }
171
- });
172
- $$renderer.push(`<!----> `);
173
- Input($$renderer, {
174
- id: "tag-name",
175
- name: "name",
176
- type: "text",
177
- placeholder: tags_name_placeholder(),
178
- maxlength: 50,
179
- required: true,
180
- disabled: submitting,
181
- "aria-invalid": nameError ? "true" : void 0,
182
- "aria-describedby": nameError ? "tag-name-error" : void 0,
183
- autocomplete: "off",
184
- onkeydown: handleInputKeydown,
185
- get value() {
186
- return name;
187
- },
188
- set value($$value) {
189
- name = $$value;
190
- $$settled = false;
191
- }
192
- });
193
- $$renderer.push(`<!----> `);
194
- if (nameError) {
195
- $$renderer.push("<!--[0-->");
196
- $$renderer.push(`<p id="tag-name-error" class="text-xs text-destructive">${$.escape(nameError)}</p>`);
197
- } else $$renderer.push("<!--[-1-->");
198
- $$renderer.push(`<!--]--></div> <div class="space-y-2">`);
199
- Label($$renderer, {
200
- for: "tag-color",
201
- class: "text-xs text-muted-foreground",
202
- children: ($$renderer) => {
203
- $$renderer.push(`<!---->Color`);
204
- },
205
- $$slots: { default: true }
206
- });
207
- $$renderer.push(`<!----> <div id="tag-color" class="flex flex-wrap gap-2"><!--[-->`);
208
- const each_array = $.ensure_array_like(PRESET_COLORS);
209
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
210
- let preset = each_array[$$index];
211
- const selected = color === preset;
212
- $$renderer.push(`<button type="button"${$.attr_class($.clsx(cn("size-6 shrink-0 rounded-full border-2 transition-all", selected ? "scale-110 border-foreground" : "border-transparent hover:scale-105")))}${$.attr_style(`background-color: ${$.stringify(preset)};`)}${$.attr("aria-label", `Color ${$.stringify(preset)}`)}${$.attr("aria-pressed", selected)}${$.attr("disabled", submitting, true)}></button>`);
213
- }
214
- $$renderer.push(`<!--]--> <label${$.attr_class($.clsx(cn("relative inline-flex size-6 shrink-0 cursor-pointer items-center justify-center overflow-hidden rounded-full border-2 transition-all", !PRESET_COLORS.includes(color) ? "scale-110 border-foreground" : "border-transparent hover:scale-105")))}${$.attr_style(`background-color: ${$.stringify(color)};`)} title="Custom color"><input type="color"${$.attr("value", color)}${$.attr("disabled", submitting, true)} class="absolute inset-0 h-full w-full cursor-pointer opacity-0" aria-label="Custom color"/></label></div></div> `);
215
- if (submitError) {
216
- $$renderer.push("<!--[0-->");
217
- $$renderer.push(`<p class="text-xs text-destructive" role="alert">${$.escape(submitError)}</p>`);
218
- } else $$renderer.push("<!--[-1-->");
219
- $$renderer.push(`<!--]--></form> `);
220
- Dialog_footer($$renderer, {
221
- class: "gap-2 max-sm:flex-col max-sm:items-stretch",
222
- children: ($$renderer) => {
223
- Button($$renderer, {
224
- variant: "outline",
225
- type: "button",
226
- onclick: close,
174
+ $$renderer.push(`<!----> `);
175
+ Input($$renderer, {
176
+ id: "tag-name",
177
+ name: "name",
178
+ type: "text",
179
+ placeholder: tags_name_placeholder(),
180
+ maxlength: 50,
181
+ required: true,
227
182
  disabled: submitting,
183
+ "aria-invalid": nameError ? "true" : void 0,
184
+ "aria-describedby": nameError ? "tag-name-error" : void 0,
185
+ autocomplete: "off",
186
+ onkeydown: handleInputKeydown,
187
+ get value() {
188
+ return name;
189
+ },
190
+ set value($$value) {
191
+ name = $$value;
192
+ $$settled = false;
193
+ }
194
+ });
195
+ $$renderer.push(`<!----> `);
196
+ if (nameError) {
197
+ $$renderer.push("<!--[0-->");
198
+ $$renderer.push(`<p id="tag-name-error" class="text-xs text-destructive">${$.escape(nameError)}</p>`);
199
+ } else $$renderer.push("<!--[-1-->");
200
+ $$renderer.push(`<!--]--></div> <div class="space-y-2">`);
201
+ Label($$renderer, {
202
+ for: "tag-color",
203
+ class: "text-xs text-muted-foreground",
228
204
  children: ($$renderer) => {
229
- $$renderer.push(`<!---->${$.escape(action_cancel())}`);
205
+ $$renderer.push(`<!---->Color`);
230
206
  },
231
207
  $$slots: { default: true }
232
208
  });
233
- $$renderer.push(`<!----> `);
234
- Button($$renderer, {
235
- type: "submit",
236
- onclick: handleSubmit,
237
- disabled: submitting || name.trim().length === 0,
209
+ $$renderer.push(`<!----> <div id="tag-color" class="flex flex-wrap gap-2"><!--[-->`);
210
+ const each_array = $.ensure_array_like(PRESET_COLORS);
211
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
212
+ let preset = each_array[$$index];
213
+ const selected = color === preset;
214
+ $$renderer.push(`<button type="button"${$.attr_class($.clsx(cn("size-6 shrink-0 rounded-full border-2 transition-all", selected ? "scale-110 border-foreground" : "border-transparent hover:scale-105")))}${$.attr_style(`background-color: ${$.stringify(preset)};`)}${$.attr("aria-label", `Color ${$.stringify(preset)}`)}${$.attr("aria-pressed", selected)}${$.attr("disabled", submitting, true)}></button>`);
215
+ }
216
+ $$renderer.push(`<!--]--> <label${$.attr_class($.clsx(cn("relative inline-flex size-6 shrink-0 cursor-pointer items-center justify-center overflow-hidden rounded-full border-2 transition-all", !PRESET_COLORS.includes(color) ? "scale-110 border-foreground" : "border-transparent hover:scale-105")))}${$.attr_style(`background-color: ${$.stringify(color)};`)} title="Custom color"><input type="color"${$.attr("value", color)}${$.attr("disabled", submitting, true)} class="absolute inset-0 h-full w-full cursor-pointer opacity-0" aria-label="Custom color"/></label></div></div> `);
217
+ if (submitError) {
218
+ $$renderer.push("<!--[0-->");
219
+ $$renderer.push(`<p class="text-xs text-destructive" role="alert">${$.escape(submitError)}</p>`);
220
+ } else $$renderer.push("<!--[-1-->");
221
+ $$renderer.push(`<!--]--></form> `);
222
+ Dialog_footer($$renderer, {
223
+ class: "gap-2 max-sm:flex-col max-sm:items-stretch",
238
224
  children: ($$renderer) => {
239
- if (submitting) {
240
- $$renderer.push("<!--[0-->");
241
- Loader_circle($$renderer, { class: "mr-1 size-4 animate-spin" });
242
- } else $$renderer.push("<!--[-1-->");
243
- $$renderer.push(`<!--]--> ${$.escape(submitLabel())}`);
225
+ Button($$renderer, {
226
+ variant: "outline",
227
+ type: "button",
228
+ onclick: close,
229
+ disabled: submitting,
230
+ children: ($$renderer) => {
231
+ $$renderer.push(`<!---->${$.escape(action_cancel())}`);
232
+ },
233
+ $$slots: { default: true }
234
+ });
235
+ $$renderer.push(`<!----> `);
236
+ Button($$renderer, {
237
+ type: "submit",
238
+ onclick: handleSubmit,
239
+ disabled: submitting || name.trim().length === 0,
240
+ children: ($$renderer) => {
241
+ if (submitting) {
242
+ $$renderer.push("<!--[0-->");
243
+ Loader_circle($$renderer, { class: "mr-1 size-4 animate-spin" });
244
+ } else $$renderer.push("<!--[-1-->");
245
+ $$renderer.push(`<!--]--> ${$.escape(submitLabel())}`);
246
+ },
247
+ $$slots: { default: true }
248
+ });
249
+ $$renderer.push(`<!---->`);
244
250
  },
245
251
  $$slots: { default: true }
246
252
  });
@@ -248,7 +254,6 @@ function TagCreateDialog($$renderer, $$props) {
248
254
  },
249
255
  $$slots: { default: true }
250
256
  });
251
- $$renderer.push(`<!---->`);
252
257
  },
253
258
  $$slots: { default: true }
254
259
  });