@hiai-gg/docsmint 0.3.7 → 0.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/backend/src/lib/logger.ts +45 -15
- package/dist/backend/index.js +238 -150
- package/dist/client.d.ts +11 -0
- package/dist/client.js +9 -0
- package/dist/frontend/CategoryDialog-CxVyaBV5.js +611 -0
- package/dist/frontend/ConfirmDialog-NFGXRa3E.js +214 -0
- package/dist/frontend/CreateSnapshotDialog-BDgFTeFn.js +216 -0
- package/dist/frontend/DatePicker-BZRBluzF.js +256 -0
- package/dist/frontend/DeleteDialog-CvAr2WPu.js +174 -0
- package/dist/frontend/FolderNode-C6FJv99G.js +298 -0
- package/dist/frontend/FolderTreeSelector-CyB8y2Sm.js +103 -0
- package/dist/frontend/HiaiDocsExtensionProvider-DHWLzRUu.js +11 -0
- package/dist/frontend/Icon-CooFj4Ee.js +64 -0
- package/dist/frontend/SettingsDialog-BHh68rTB.js +1016 -0
- package/dist/frontend/ShareDialog-BUOkYSlw.js +165 -0
- package/dist/frontend/Sidebar-Cu3JrKDC.js +2021 -0
- package/dist/frontend/TagCreateDialog-B9YZBNHi.js +260 -0
- package/dist/frontend/api/settings.js +1 -1
- package/dist/frontend/app-shell.d.ts +8 -0
- package/dist/frontend/app-shell.js +291 -0
- package/dist/frontend/{bundle-mjs-CP6Owz-8.js → bundle-mjs-DllmqUxV.js} +583 -568
- package/dist/frontend/camera-iKXDOOWT.js +29 -0
- package/dist/frontend/check-D-UuvBuh.js +25 -0
- package/dist/frontend/chevron-down-CiPtYyFh.js +25 -0
- package/dist/frontend/circle-check-tSPE1V6t.js +29 -0
- package/dist/frontend/clock-DJHbHZb8.js +29 -0
- package/dist/frontend/components/category-dialog.js +1 -1
- package/dist/frontend/components/create-snapshot-dialog.js +1 -1
- package/dist/frontend/components/delete-dialog.js +1 -1
- package/dist/frontend/components/editor/document-editor.js +1367 -1356
- package/dist/frontend/components/editor/document-title.js +25 -25
- package/dist/frontend/components/editor/markdown-toggle.js +45 -45
- package/dist/frontend/components/folder-node.js +1 -1
- package/dist/frontend/components/folder-tree-selector.js +1 -1
- package/dist/frontend/components/save-as-dialog.js +169 -151
- package/dist/frontend/components/settings.js +1 -1
- package/dist/frontend/components/share-dialog.js +1 -1
- package/dist/frontend/components/sidebar.js +2 -2013
- package/dist/frontend/components/tag-create-dialog.js +1 -1
- package/dist/frontend/components/version-history.js +188 -187
- package/dist/frontend/confirm-dialog-C4jTRbiS.js +250 -0
- package/dist/frontend/copy-GppwRMjX.js +32 -0
- package/dist/frontend/dashboard.js +1187 -1155
- package/dist/frontend/dialog-Bevp9mmM.js +213 -0
- package/dist/frontend/{loader-circle-Bk-WFz9g.js → dist-C3857Spp.js} +93 -92
- package/dist/frontend/doc-tabs.js +2 -2
- package/dist/frontend/dropdown-menu-CRSby3e9.js +530 -0
- package/dist/frontend/extension.js +2 -11
- package/dist/frontend/{floating-layer-anchor-C51M4l6v.js → floating-layer-anchor-BDs7vO-M.js} +1414 -1412
- package/dist/frontend/folder-DeWhnD7O.js +45 -0
- package/dist/frontend/folder-refresh.js +1 -1
- package/dist/frontend/frontend.css +1 -1
- package/dist/frontend/i18n.js +2 -2
- package/dist/frontend/input-BWlOML_m.js +23 -0
- package/dist/frontend/keyboard.js +1 -1
- package/dist/frontend/{keyboard.svelte-D7H8DihC.js → keyboard.svelte-CApmX0vl.js} +53 -53
- package/dist/frontend/label-C2HfJNQ2.js +30 -0
- package/dist/frontend/{messages-BpYaLbzE.js → messages-C5Q890i2.js} +8 -8
- package/dist/frontend/rotate-ccw-B4Q7brmV.js +25 -0
- package/dist/frontend/search.js +673 -647
- package/dist/frontend/select-value-GXwx90Pr.js +1446 -0
- package/dist/frontend/{settings-blyobazp.js → settings-DSrUl4hW.js} +9 -9
- package/dist/frontend/shared-document.js +94 -94
- package/dist/frontend/subfolders-refresh-store.svelte-B2dKVmgz.js +65 -0
- package/dist/frontend/tag-HxRazVN_.js +54 -0
- package/dist/frontend/tag-store.svelte-CqrUXo0o.js +29 -0
- package/dist/frontend/textarea-DOAE-h42.js +23 -0
- package/dist/frontend/theme.js +1 -1
- package/dist/frontend/theme.svelte-DKfCy12k.js +49 -0
- package/dist/frontend/{utils-D8kmM3ub.js → utils-BPDRytUU.js} +2 -3
- package/dist/frontend/{utils-C0OW2678.js → utils-DrfHTcei.js} +2 -3
- package/dist/frontend/utils.js +1 -1
- package/dist/frontend/x-CzBsnJ2x.js +25 -0
- package/dist/frontend-ssr/api/attachments.js +2 -0
- package/dist/frontend-ssr/api/categories.js +2 -0
- package/dist/frontend-ssr/api/documents.js +2 -0
- package/dist/frontend-ssr/api/folders.js +2 -0
- package/dist/frontend-ssr/api/settings.js +2 -0
- package/dist/frontend-ssr/api/share.js +2 -0
- package/dist/frontend-ssr/api/tags.js +2 -0
- package/dist/frontend-ssr/app-shell.js +294 -0
- package/dist/frontend-ssr/assets/CategoryDialog-BcGW8-Kf.js +584 -0
- package/dist/frontend-ssr/assets/ConfirmDialog-DjMFKc0V.js +420 -0
- package/dist/frontend-ssr/assets/CreateSnapshotDialog-1bROJ-Rn.js +214 -0
- package/dist/frontend-ssr/assets/DatePicker-B1ML8OVz.js +312 -0
- package/dist/frontend-ssr/assets/DeleteDialog-tBYaP0L3.js +154 -0
- package/dist/frontend-ssr/assets/FolderNode-BZ0Q2QUS.js +171 -0
- package/dist/frontend-ssr/assets/FolderTreeSelector-DZNZ2oI6.js +147 -0
- package/dist/frontend-ssr/assets/HiaiDocsExtensionProvider-DAM-lX4R.js +13 -0
- package/dist/frontend-ssr/assets/Icon-B0Zqppjo.js +231 -0
- package/dist/frontend-ssr/assets/SettingsDialog-B8L_YqNA.js +1107 -0
- package/dist/frontend-ssr/assets/ShareDialog-vMvJLRfn.js +54 -0
- package/dist/frontend-ssr/assets/Sidebar-EHuUAx3W.js +2033 -0
- package/dist/frontend-ssr/assets/TagCreateDialog-B0DPEfmQ.js +264 -0
- package/dist/frontend-ssr/assets/api-keys-DFqX39MT.js +35 -0
- package/dist/frontend-ssr/assets/attachments-CWBxE3Vz.js +85 -0
- package/dist/frontend-ssr/assets/auth-client-x26kqY8Z.js +1286 -0
- package/dist/frontend-ssr/assets/camera-CdxscTw-.js +84 -0
- package/dist/frontend-ssr/assets/categories-AOqgcsn4.js +75 -0
- package/dist/frontend-ssr/assets/chevron-down-CSSNGNh_.js +80 -0
- package/dist/frontend-ssr/assets/chevron-right-B4p7Sk6X.js +80 -0
- package/dist/frontend-ssr/assets/circle-check-CI1v4vYh.js +84 -0
- package/dist/frontend-ssr/assets/client-DZMkDkDn.js +129 -0
- package/dist/frontend-ssr/assets/clipboard-CXOaoz2W.js +30 -0
- package/dist/frontend-ssr/assets/clock-IL-eX2di.js +84 -0
- package/dist/frontend-ssr/assets/confirm-dialog-BCthVwUY.js +429 -0
- package/dist/frontend-ssr/assets/context-jz1GGEUi.js +45 -0
- package/dist/frontend-ssr/assets/copy-CjV57nGQ.js +87 -0
- package/dist/frontend-ssr/assets/db-CnxeO66n.js +65 -0
- package/dist/frontend-ssr/assets/dialog-BOV1u6zP.js +157 -0
- package/dist/frontend-ssr/assets/dndzone-DMvTO_Jz.js +2114 -0
- package/dist/frontend-ssr/assets/document-drop-coordinator-CEaYACsC.js +109 -0
- package/dist/frontend-ssr/assets/documents-BnOTRdTY.js +108 -0
- package/dist/frontend-ssr/assets/dropdown-menu-Bj5rbqbB.js +555 -0
- package/dist/frontend-ssr/assets/editorExtensions-DUzwndMy.js +186 -0
- package/dist/frontend-ssr/assets/floating-layer-anchor-CYIE8Oj6.js +6114 -0
- package/dist/frontend-ssr/assets/folder-DChhG7qN.js +80 -0
- package/dist/frontend-ssr/assets/folders-CTfbS24J.js +127 -0
- package/dist/frontend-ssr/assets/identity-B3uHoDtf.js +99 -0
- package/dist/frontend-ssr/assets/input-DezGsU3y.js +19 -0
- package/dist/frontend-ssr/assets/keyboard.svelte-BgF47N3L.js +174 -0
- package/dist/frontend-ssr/assets/label-Bj8-TfFN.js +21 -0
- package/dist/frontend-ssr/assets/loader-circle-DZsrZ-er.js +80 -0
- package/dist/frontend-ssr/assets/markdown-CjqvGi5W.js +20 -0
- package/dist/frontend-ssr/assets/messages-CvqpZNJe.js +11125 -0
- package/dist/frontend-ssr/assets/resolve-BqHozBXl.js +32 -0
- package/dist/frontend-ssr/assets/rotate-ccw-BlgWwaiq.js +80 -0
- package/dist/frontend-ssr/assets/select-value-6Lk0ToYd.js +1526 -0
- package/dist/frontend-ssr/assets/settings-Bk5Hk9Vq.js +64 -0
- package/dist/frontend-ssr/assets/share-BTBJelxA.js +30 -0
- package/dist/frontend-ssr/assets/subfolders-refresh-store.svelte-DAh4gT16.js +77 -0
- package/dist/frontend-ssr/assets/tag-GZEuGWk1.js +166 -0
- package/dist/frontend-ssr/assets/tag-store.svelte-DPodKj6Z.js +21 -0
- package/dist/frontend-ssr/assets/tags-BId2wdYd.js +49 -0
- package/dist/frontend-ssr/assets/textarea-Dev-qSEc.js +21 -0
- package/dist/frontend-ssr/assets/theme.svelte-Co0-ssaD.js +67 -0
- package/dist/frontend-ssr/assets/utils-DtlPPXpJ.js +9 -0
- package/dist/frontend-ssr/assets/utils-DvZnctjz.js +23 -0
- package/dist/frontend-ssr/collaboration.js +39 -0
- package/dist/frontend-ssr/components/category-dialog.js +2 -0
- package/dist/frontend-ssr/components/create-snapshot-dialog.js +2 -0
- package/dist/frontend-ssr/components/delete-dialog.js +2 -0
- package/dist/frontend-ssr/components/editor/document-editor.js +2499 -0
- package/dist/frontend-ssr/components/editor/document-title.js +11 -0
- package/dist/frontend-ssr/components/editor/docx-serializer.js +186 -0
- package/dist/frontend-ssr/components/editor/extensions.js +2 -0
- package/dist/frontend-ssr/components/editor/markdown-toggle.js +20 -0
- package/dist/frontend-ssr/components/editor/markdown.js +2 -0
- package/dist/frontend-ssr/components/folder-node.js +2 -0
- package/dist/frontend-ssr/components/folder-tree-selector.js +2 -0
- package/dist/frontend-ssr/components/save-as-dialog.js +280 -0
- package/dist/frontend-ssr/components/settings.js +2 -0
- package/dist/frontend-ssr/components/share-dialog.js +2 -0
- package/dist/frontend-ssr/components/sidebar.js +2 -0
- package/dist/frontend-ssr/components/tag-create-dialog.js +2 -0
- package/dist/frontend-ssr/components/version-history.js +370 -0
- package/dist/frontend-ssr/dashboard.js +2542 -0
- package/dist/frontend-ssr/doc-tabs.js +23 -0
- package/dist/frontend-ssr/document-drop-coordinator.js +2 -0
- package/dist/frontend-ssr/extension.js +2 -0
- package/dist/frontend-ssr/folder-refresh.js +2 -0
- package/dist/frontend-ssr/i18n.js +10 -0
- package/dist/frontend-ssr/keyboard.js +2 -0
- package/dist/frontend-ssr/offline/identity.js +2 -0
- package/dist/frontend-ssr/search.js +332 -0
- package/dist/frontend-ssr/shared-document.js +273 -0
- package/dist/frontend-ssr/theme.js +9 -0
- package/dist/frontend-ssr/types.js +1 -0
- package/dist/frontend-ssr/utils/clipboard.js +2 -0
- package/dist/frontend-ssr/utils/dndzone.js +2 -0
- package/dist/frontend-ssr/utils.js +2 -0
- package/package.json +28 -1
- package/packages/cli/src/index.ts +1 -1
- package/packages/db/src/schema.ts +3 -0
- package/packages/mcp-server/src/index.ts +1 -1
- package/dist/frontend/CategoryDialog--rIE7FrH.js +0 -580
- package/dist/frontend/ConfirmDialog-Cpzyb55f.js +0 -212
- package/dist/frontend/CreateSnapshotDialog-CmkV-n2A.js +0 -216
- package/dist/frontend/DatePicker-Byynca7V.js +0 -257
- package/dist/frontend/DeleteDialog-ap6nOywZ.js +0 -174
- package/dist/frontend/FolderDialog-DmN_trV0.js +0 -247
- package/dist/frontend/FolderNode-C4B8a2fd.js +0 -317
- package/dist/frontend/FolderTreeSelector-D6ijiZTA.js +0 -100
- package/dist/frontend/Icon-DtNo0N1U.js +0 -64
- package/dist/frontend/SettingsDialog-2kTaTXAs.js +0 -992
- package/dist/frontend/ShareDialog-BBDGNF5n.js +0 -165
- package/dist/frontend/TagCreateDialog-DiLZnJo4.js +0 -258
- package/dist/frontend/camera-B7dAOd4s.js +0 -28
- package/dist/frontend/check-CDwRlG9T.js +0 -24
- package/dist/frontend/chevron-down-B7ZrjUmT.js +0 -24
- package/dist/frontend/circle-check-CDqeMB2d.js +0 -28
- package/dist/frontend/client-Bc5Fzx40.js +0 -2785
- package/dist/frontend/clock-Ck5Sn-Zl.js +0 -28
- package/dist/frontend/clsx-nmtDPO_P.js +0 -16
- package/dist/frontend/copy-CMAA6GP0.js +0 -31
- package/dist/frontend/dialog-BDkiG42a.js +0 -213
- package/dist/frontend/disclose-version-5I57E3LD.js +0 -3
- package/dist/frontend/ellipsis-vertical-BBuPldbW.js +0 -519
- package/dist/frontend/folder-TQjKY4yn.js +0 -44
- package/dist/frontend/index-client-jobkrWVL.js +0 -86
- package/dist/frontend/input-CBI6p4Xl.js +0 -23
- package/dist/frontend/label-C-GkhEp4.js +0 -30
- package/dist/frontend/rotate-ccw-CleZtJ5D.js +0 -24
- package/dist/frontend/select-value-CvrWRkXW.js +0 -1436
- package/dist/frontend/subfolders-refresh-store.svelte-BsheoQma.js +0 -65
- package/dist/frontend/tag-Dx3SmucJ.js +0 -53
- package/dist/frontend/tag-store.svelte-CIaF4sdZ.js +0 -29
- package/dist/frontend/textarea-Dfp78XlL.js +0 -23
- package/dist/frontend/theme.svelte-CROg1Hi5.js +0 -49
- package/dist/frontend/x-DaTdeDXv.js +0 -24
|
@@ -0,0 +1,2542 @@
|
|
|
1
|
+
import { Br as nav_documents, Cr as doc_duplicate, Er as doc_updated, Ir as dashboard_page_title, Lr as dashboard_new_document, O as dashboard_import, Or as doc_share, Rr as dashboard_subtitle, Sr as doc_move_to_folder, Tr as doc_open_menu, _n as action_save, _r as folders_delete, a as import_progress_error, br as folders_empty, c as import_progress_uploading, cr as folders_subfolder, d as sidebar_uncategorized, dn as action_back, dr as folders_documents, fn as action_close, gn as action_cancel, gr as folders_delete_title, gt as folder_page_title, hn as action_delete, hr as folders_delete_description, ht as share_copied, i as import_progress_summary, l as import_progress_total, ln as action_loading, lr as folders_subfolders, n as import_progress_empty, o as import_progress_done, r as import_progress_close, s as import_progress_processing, sr as folders_move, u as import_progress_title, ur as folders_document, vr as folders_rename, vt as action_copy_content, wr as doc_open, yr as folders_empty_description, yt as editor_more_options, zr as dashboard_title } from "./assets/messages-CvqpZNJe.js";
|
|
2
|
+
import { t as Icon } from "./assets/Icon-B0Zqppjo.js";
|
|
3
|
+
import { i as Folder_kanban, n as Badge, r as X, t as DatePicker } from "./assets/DatePicker-B1ML8OVz.js";
|
|
4
|
+
import { i as Check, n as Plus, r as File_text, t as FolderDialog } from "./assets/confirm-dialog-BCthVwUY.js";
|
|
5
|
+
import { t as Chevron_down } from "./assets/chevron-down-CSSNGNh_.js";
|
|
6
|
+
import { t as Chevron_right } from "./assets/chevron-right-B4p7Sk6X.js";
|
|
7
|
+
import { t as Copy } from "./assets/copy-CjV57nGQ.js";
|
|
8
|
+
import { n as Folder_open, t as FolderTreeSelector } from "./assets/FolderTreeSelector-DZNZ2oI6.js";
|
|
9
|
+
import { t as Folder } from "./assets/folder-DChhG7qN.js";
|
|
10
|
+
import { t as Rotate_ccw } from "./assets/rotate-ccw-BlgWwaiq.js";
|
|
11
|
+
import { a as Dropdown_menu, i as Dropdown_menu_content, n as Dropdown_menu_separator, o as Ellipsis_vertical, r as Dropdown_menu_item, t as Dropdown_menu_trigger } from "./assets/dropdown-menu-Bj5rbqbB.js";
|
|
12
|
+
import { t as Loader_circle } from "./assets/loader-circle-DZsrZ-er.js";
|
|
13
|
+
import { n as formatRelativeTime } from "./assets/utils-DvZnctjz.js";
|
|
14
|
+
import { t as cn } from "./assets/utils-DtlPPXpJ.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 "./assets/dialog-BOV1u6zP.js";
|
|
16
|
+
import { t as Label } from "./assets/label-Bj8-TfFN.js";
|
|
17
|
+
import { n as apiFetch } from "./assets/client-DZMkDkDn.js";
|
|
18
|
+
import "./assets/categories-AOqgcsn4.js";
|
|
19
|
+
import { t as getFrontendExtensions } from "./assets/context-jz1GGEUi.js";
|
|
20
|
+
import { t as resolveExtensions } from "./assets/resolve-BqHozBXl.js";
|
|
21
|
+
import { a as Select, i as Select_content, n as Select_trigger, r as Select_item, t as Select_value } from "./assets/select-value-6Lk0ToYd.js";
|
|
22
|
+
import { c as updateDocument, i as getDocument } from "./assets/documents-BnOTRdTY.js";
|
|
23
|
+
import { c as updateFolder, i as duplicateDocument } from "./assets/folders-CTfbS24J.js";
|
|
24
|
+
import { t as copyToClipboard } from "./assets/clipboard-CXOaoz2W.js";
|
|
25
|
+
import { t as ShareDialog } from "./assets/ShareDialog-vMvJLRfn.js";
|
|
26
|
+
import { d as refreshFolders, n as bumpSubfoldersRefresh } from "./assets/subfolders-refresh-store.svelte-DAh4gT16.js";
|
|
27
|
+
import { n as refreshDocs } from "./assets/tag-store.svelte-DPodKj6Z.js";
|
|
28
|
+
import { t as ConfirmDialog } from "./assets/ConfirmDialog-DjMFKc0V.js";
|
|
29
|
+
import * as $ from "svelte/internal/server";
|
|
30
|
+
import { goto, invalidateAll } from "$app/navigation";
|
|
31
|
+
import { page } from "$app/state";
|
|
32
|
+
//#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/arrow-left.svelte
|
|
33
|
+
function Arrow_left($$renderer, $$props) {
|
|
34
|
+
const $$sanitized_props = $.sanitize_props($$props);
|
|
35
|
+
/**
|
|
36
|
+
* @license lucide-svelte v1.0.1 - ISC
|
|
37
|
+
*
|
|
38
|
+
* ISC License
|
|
39
|
+
*
|
|
40
|
+
* Copyright (c) 2026 Lucide Icons and Contributors
|
|
41
|
+
*
|
|
42
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
43
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
44
|
+
* copyright notice and this permission notice appear in all copies.
|
|
45
|
+
*
|
|
46
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
47
|
+
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
48
|
+
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
49
|
+
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
50
|
+
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
51
|
+
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
52
|
+
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
53
|
+
*
|
|
54
|
+
* ---
|
|
55
|
+
*
|
|
56
|
+
* The following Lucide icons are derived from the Feather project:
|
|
57
|
+
*
|
|
58
|
+
* airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
|
|
59
|
+
*
|
|
60
|
+
* The MIT License (MIT) (for the icons listed above)
|
|
61
|
+
*
|
|
62
|
+
* Copyright (c) 2013-present Cole Bemis
|
|
63
|
+
*
|
|
64
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
65
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
66
|
+
* in the Software without restriction, including without limitation the rights
|
|
67
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
68
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
69
|
+
* furnished to do so, subject to the following conditions:
|
|
70
|
+
*
|
|
71
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
72
|
+
* copies or substantial portions of the Software.
|
|
73
|
+
*
|
|
74
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
75
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
76
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
77
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
78
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
79
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
80
|
+
* SOFTWARE.
|
|
81
|
+
*
|
|
82
|
+
*/
|
|
83
|
+
Icon($$renderer, $.spread_props([
|
|
84
|
+
{ name: "arrow-left" },
|
|
85
|
+
$$sanitized_props,
|
|
86
|
+
{
|
|
87
|
+
/**
|
|
88
|
+
* @component @name ArrowLeft
|
|
89
|
+
* @description Lucide SVG icon component, renders SVG Element with children.
|
|
90
|
+
*
|
|
91
|
+
* @preview  - https://lucide.dev/icons/arrow-left
|
|
92
|
+
* @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
|
|
93
|
+
*
|
|
94
|
+
* @param {Object} props - Lucide icons props and any valid SVG attribute
|
|
95
|
+
* @returns {FunctionalComponent} Svelte component
|
|
96
|
+
*
|
|
97
|
+
*/
|
|
98
|
+
iconNode: [["path", { "d": "m12 19-7-7 7-7" }], ["path", { "d": "M19 12H5" }]],
|
|
99
|
+
children: ($$renderer) => {
|
|
100
|
+
$$renderer.push(`<!--[-->`);
|
|
101
|
+
$.slot($$renderer, $$props, "default", {}, null);
|
|
102
|
+
$$renderer.push(`<!--]-->`);
|
|
103
|
+
},
|
|
104
|
+
$$slots: { default: true }
|
|
105
|
+
}
|
|
106
|
+
]));
|
|
107
|
+
}
|
|
108
|
+
//#endregion
|
|
109
|
+
//#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/arrow-up-right.svelte
|
|
110
|
+
function Arrow_up_right($$renderer, $$props) {
|
|
111
|
+
const $$sanitized_props = $.sanitize_props($$props);
|
|
112
|
+
/**
|
|
113
|
+
* @license lucide-svelte v1.0.1 - ISC
|
|
114
|
+
*
|
|
115
|
+
* ISC License
|
|
116
|
+
*
|
|
117
|
+
* Copyright (c) 2026 Lucide Icons and Contributors
|
|
118
|
+
*
|
|
119
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
120
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
121
|
+
* copyright notice and this permission notice appear in all copies.
|
|
122
|
+
*
|
|
123
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
124
|
+
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
125
|
+
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
126
|
+
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
127
|
+
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
128
|
+
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
129
|
+
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
130
|
+
*
|
|
131
|
+
* ---
|
|
132
|
+
*
|
|
133
|
+
* The following Lucide icons are derived from the Feather project:
|
|
134
|
+
*
|
|
135
|
+
* airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
|
|
136
|
+
*
|
|
137
|
+
* The MIT License (MIT) (for the icons listed above)
|
|
138
|
+
*
|
|
139
|
+
* Copyright (c) 2013-present Cole Bemis
|
|
140
|
+
*
|
|
141
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
142
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
143
|
+
* in the Software without restriction, including without limitation the rights
|
|
144
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
145
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
146
|
+
* furnished to do so, subject to the following conditions:
|
|
147
|
+
*
|
|
148
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
149
|
+
* copies or substantial portions of the Software.
|
|
150
|
+
*
|
|
151
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
152
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
153
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
154
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
155
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
156
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
157
|
+
* SOFTWARE.
|
|
158
|
+
*
|
|
159
|
+
*/
|
|
160
|
+
Icon($$renderer, $.spread_props([
|
|
161
|
+
{ name: "arrow-up-right" },
|
|
162
|
+
$$sanitized_props,
|
|
163
|
+
{
|
|
164
|
+
/**
|
|
165
|
+
* @component @name ArrowUpRight
|
|
166
|
+
* @description Lucide SVG icon component, renders SVG Element with children.
|
|
167
|
+
*
|
|
168
|
+
* @preview  - https://lucide.dev/icons/arrow-up-right
|
|
169
|
+
* @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
|
|
170
|
+
*
|
|
171
|
+
* @param {Object} props - Lucide icons props and any valid SVG attribute
|
|
172
|
+
* @returns {FunctionalComponent} Svelte component
|
|
173
|
+
*
|
|
174
|
+
*/
|
|
175
|
+
iconNode: [["path", { "d": "M7 7h10v10" }], ["path", { "d": "M7 17 17 7" }]],
|
|
176
|
+
children: ($$renderer) => {
|
|
177
|
+
$$renderer.push(`<!--[-->`);
|
|
178
|
+
$.slot($$renderer, $$props, "default", {}, null);
|
|
179
|
+
$$renderer.push(`<!--]-->`);
|
|
180
|
+
},
|
|
181
|
+
$$slots: { default: true }
|
|
182
|
+
}
|
|
183
|
+
]));
|
|
184
|
+
}
|
|
185
|
+
//#endregion
|
|
186
|
+
//#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/files.svelte
|
|
187
|
+
function Files($$renderer, $$props) {
|
|
188
|
+
const $$sanitized_props = $.sanitize_props($$props);
|
|
189
|
+
/**
|
|
190
|
+
* @license lucide-svelte v1.0.1 - ISC
|
|
191
|
+
*
|
|
192
|
+
* ISC License
|
|
193
|
+
*
|
|
194
|
+
* Copyright (c) 2026 Lucide Icons and Contributors
|
|
195
|
+
*
|
|
196
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
197
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
198
|
+
* copyright notice and this permission notice appear in all copies.
|
|
199
|
+
*
|
|
200
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
201
|
+
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
202
|
+
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
203
|
+
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
204
|
+
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
205
|
+
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
206
|
+
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
207
|
+
*
|
|
208
|
+
* ---
|
|
209
|
+
*
|
|
210
|
+
* The following Lucide icons are derived from the Feather project:
|
|
211
|
+
*
|
|
212
|
+
* airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
|
|
213
|
+
*
|
|
214
|
+
* The MIT License (MIT) (for the icons listed above)
|
|
215
|
+
*
|
|
216
|
+
* Copyright (c) 2013-present Cole Bemis
|
|
217
|
+
*
|
|
218
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
219
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
220
|
+
* in the Software without restriction, including without limitation the rights
|
|
221
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
222
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
223
|
+
* furnished to do so, subject to the following conditions:
|
|
224
|
+
*
|
|
225
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
226
|
+
* copies or substantial portions of the Software.
|
|
227
|
+
*
|
|
228
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
229
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
230
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
231
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
232
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
233
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
234
|
+
* SOFTWARE.
|
|
235
|
+
*
|
|
236
|
+
*/
|
|
237
|
+
Icon($$renderer, $.spread_props([
|
|
238
|
+
{ name: "files" },
|
|
239
|
+
$$sanitized_props,
|
|
240
|
+
{
|
|
241
|
+
/**
|
|
242
|
+
* @component @name Files
|
|
243
|
+
* @description Lucide SVG icon component, renders SVG Element with children.
|
|
244
|
+
*
|
|
245
|
+
* @preview  - https://lucide.dev/icons/files
|
|
246
|
+
* @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
|
|
247
|
+
*
|
|
248
|
+
* @param {Object} props - Lucide icons props and any valid SVG attribute
|
|
249
|
+
* @returns {FunctionalComponent} Svelte component
|
|
250
|
+
*
|
|
251
|
+
*/
|
|
252
|
+
iconNode: [
|
|
253
|
+
["path", { "d": "M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8" }],
|
|
254
|
+
["path", { "d": "M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z" }],
|
|
255
|
+
["path", { "d": "M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1" }]
|
|
256
|
+
],
|
|
257
|
+
children: ($$renderer) => {
|
|
258
|
+
$$renderer.push(`<!--[-->`);
|
|
259
|
+
$.slot($$renderer, $$props, "default", {}, null);
|
|
260
|
+
$$renderer.push(`<!--]-->`);
|
|
261
|
+
},
|
|
262
|
+
$$slots: { default: true }
|
|
263
|
+
}
|
|
264
|
+
]));
|
|
265
|
+
}
|
|
266
|
+
//#endregion
|
|
267
|
+
//#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/folder-input.svelte
|
|
268
|
+
function Folder_input($$renderer, $$props) {
|
|
269
|
+
const $$sanitized_props = $.sanitize_props($$props);
|
|
270
|
+
/**
|
|
271
|
+
* @license lucide-svelte v1.0.1 - ISC
|
|
272
|
+
*
|
|
273
|
+
* ISC License
|
|
274
|
+
*
|
|
275
|
+
* Copyright (c) 2026 Lucide Icons and Contributors
|
|
276
|
+
*
|
|
277
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
278
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
279
|
+
* copyright notice and this permission notice appear in all copies.
|
|
280
|
+
*
|
|
281
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
282
|
+
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
283
|
+
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
284
|
+
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
285
|
+
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
286
|
+
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
287
|
+
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
288
|
+
*
|
|
289
|
+
* ---
|
|
290
|
+
*
|
|
291
|
+
* The following Lucide icons are derived from the Feather project:
|
|
292
|
+
*
|
|
293
|
+
* airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
|
|
294
|
+
*
|
|
295
|
+
* The MIT License (MIT) (for the icons listed above)
|
|
296
|
+
*
|
|
297
|
+
* Copyright (c) 2013-present Cole Bemis
|
|
298
|
+
*
|
|
299
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
300
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
301
|
+
* in the Software without restriction, including without limitation the rights
|
|
302
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
303
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
304
|
+
* furnished to do so, subject to the following conditions:
|
|
305
|
+
*
|
|
306
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
307
|
+
* copies or substantial portions of the Software.
|
|
308
|
+
*
|
|
309
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
310
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
311
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
312
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
313
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
314
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
315
|
+
* SOFTWARE.
|
|
316
|
+
*
|
|
317
|
+
*/
|
|
318
|
+
Icon($$renderer, $.spread_props([
|
|
319
|
+
{ name: "folder-input" },
|
|
320
|
+
$$sanitized_props,
|
|
321
|
+
{
|
|
322
|
+
/**
|
|
323
|
+
* @component @name FolderInput
|
|
324
|
+
* @description Lucide SVG icon component, renders SVG Element with children.
|
|
325
|
+
*
|
|
326
|
+
* @preview  - https://lucide.dev/icons/folder-input
|
|
327
|
+
* @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
|
|
328
|
+
*
|
|
329
|
+
* @param {Object} props - Lucide icons props and any valid SVG attribute
|
|
330
|
+
* @returns {FunctionalComponent} Svelte component
|
|
331
|
+
*
|
|
332
|
+
*/
|
|
333
|
+
iconNode: [
|
|
334
|
+
["path", { "d": "M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1" }],
|
|
335
|
+
["path", { "d": "M2 13h10" }],
|
|
336
|
+
["path", { "d": "m9 16 3-3-3-3" }]
|
|
337
|
+
],
|
|
338
|
+
children: ($$renderer) => {
|
|
339
|
+
$$renderer.push(`<!--[-->`);
|
|
340
|
+
$.slot($$renderer, $$props, "default", {}, null);
|
|
341
|
+
$$renderer.push(`<!--]-->`);
|
|
342
|
+
},
|
|
343
|
+
$$slots: { default: true }
|
|
344
|
+
}
|
|
345
|
+
]));
|
|
346
|
+
}
|
|
347
|
+
//#endregion
|
|
348
|
+
//#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/layout-dashboard.svelte
|
|
349
|
+
function Layout_dashboard($$renderer, $$props) {
|
|
350
|
+
const $$sanitized_props = $.sanitize_props($$props);
|
|
351
|
+
/**
|
|
352
|
+
* @license lucide-svelte v1.0.1 - ISC
|
|
353
|
+
*
|
|
354
|
+
* ISC License
|
|
355
|
+
*
|
|
356
|
+
* Copyright (c) 2026 Lucide Icons and Contributors
|
|
357
|
+
*
|
|
358
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
359
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
360
|
+
* copyright notice and this permission notice appear in all copies.
|
|
361
|
+
*
|
|
362
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
363
|
+
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
364
|
+
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
365
|
+
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
366
|
+
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
367
|
+
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
368
|
+
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
369
|
+
*
|
|
370
|
+
* ---
|
|
371
|
+
*
|
|
372
|
+
* The following Lucide icons are derived from the Feather project:
|
|
373
|
+
*
|
|
374
|
+
* airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
|
|
375
|
+
*
|
|
376
|
+
* The MIT License (MIT) (for the icons listed above)
|
|
377
|
+
*
|
|
378
|
+
* Copyright (c) 2013-present Cole Bemis
|
|
379
|
+
*
|
|
380
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
381
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
382
|
+
* in the Software without restriction, including without limitation the rights
|
|
383
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
384
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
385
|
+
* furnished to do so, subject to the following conditions:
|
|
386
|
+
*
|
|
387
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
388
|
+
* copies or substantial portions of the Software.
|
|
389
|
+
*
|
|
390
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
391
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
392
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
393
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
394
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
395
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
396
|
+
* SOFTWARE.
|
|
397
|
+
*
|
|
398
|
+
*/
|
|
399
|
+
Icon($$renderer, $.spread_props([
|
|
400
|
+
{ name: "layout-dashboard" },
|
|
401
|
+
$$sanitized_props,
|
|
402
|
+
{
|
|
403
|
+
/**
|
|
404
|
+
* @component @name LayoutDashboard
|
|
405
|
+
* @description Lucide SVG icon component, renders SVG Element with children.
|
|
406
|
+
*
|
|
407
|
+
* @preview  - https://lucide.dev/icons/layout-dashboard
|
|
408
|
+
* @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
|
|
409
|
+
*
|
|
410
|
+
* @param {Object} props - Lucide icons props and any valid SVG attribute
|
|
411
|
+
* @returns {FunctionalComponent} Svelte component
|
|
412
|
+
*
|
|
413
|
+
*/
|
|
414
|
+
iconNode: [
|
|
415
|
+
["rect", {
|
|
416
|
+
"width": "7",
|
|
417
|
+
"height": "9",
|
|
418
|
+
"x": "3",
|
|
419
|
+
"y": "3",
|
|
420
|
+
"rx": "1"
|
|
421
|
+
}],
|
|
422
|
+
["rect", {
|
|
423
|
+
"width": "7",
|
|
424
|
+
"height": "5",
|
|
425
|
+
"x": "14",
|
|
426
|
+
"y": "3",
|
|
427
|
+
"rx": "1"
|
|
428
|
+
}],
|
|
429
|
+
["rect", {
|
|
430
|
+
"width": "7",
|
|
431
|
+
"height": "9",
|
|
432
|
+
"x": "14",
|
|
433
|
+
"y": "12",
|
|
434
|
+
"rx": "1"
|
|
435
|
+
}],
|
|
436
|
+
["rect", {
|
|
437
|
+
"width": "7",
|
|
438
|
+
"height": "5",
|
|
439
|
+
"x": "3",
|
|
440
|
+
"y": "16",
|
|
441
|
+
"rx": "1"
|
|
442
|
+
}]
|
|
443
|
+
],
|
|
444
|
+
children: ($$renderer) => {
|
|
445
|
+
$$renderer.push(`<!--[-->`);
|
|
446
|
+
$.slot($$renderer, $$props, "default", {}, null);
|
|
447
|
+
$$renderer.push(`<!--]-->`);
|
|
448
|
+
},
|
|
449
|
+
$$slots: { default: true }
|
|
450
|
+
}
|
|
451
|
+
]));
|
|
452
|
+
}
|
|
453
|
+
//#endregion
|
|
454
|
+
//#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/pencil.svelte
|
|
455
|
+
function Pencil($$renderer, $$props) {
|
|
456
|
+
const $$sanitized_props = $.sanitize_props($$props);
|
|
457
|
+
/**
|
|
458
|
+
* @license lucide-svelte v1.0.1 - ISC
|
|
459
|
+
*
|
|
460
|
+
* ISC License
|
|
461
|
+
*
|
|
462
|
+
* Copyright (c) 2026 Lucide Icons and Contributors
|
|
463
|
+
*
|
|
464
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
465
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
466
|
+
* copyright notice and this permission notice appear in all copies.
|
|
467
|
+
*
|
|
468
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
469
|
+
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
470
|
+
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
471
|
+
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
472
|
+
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
473
|
+
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
474
|
+
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
475
|
+
*
|
|
476
|
+
* ---
|
|
477
|
+
*
|
|
478
|
+
* The following Lucide icons are derived from the Feather project:
|
|
479
|
+
*
|
|
480
|
+
* airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
|
|
481
|
+
*
|
|
482
|
+
* The MIT License (MIT) (for the icons listed above)
|
|
483
|
+
*
|
|
484
|
+
* Copyright (c) 2013-present Cole Bemis
|
|
485
|
+
*
|
|
486
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
487
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
488
|
+
* in the Software without restriction, including without limitation the rights
|
|
489
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
490
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
491
|
+
* furnished to do so, subject to the following conditions:
|
|
492
|
+
*
|
|
493
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
494
|
+
* copies or substantial portions of the Software.
|
|
495
|
+
*
|
|
496
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
497
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
498
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
499
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
500
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
501
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
502
|
+
* SOFTWARE.
|
|
503
|
+
*
|
|
504
|
+
*/
|
|
505
|
+
Icon($$renderer, $.spread_props([
|
|
506
|
+
{ name: "pencil" },
|
|
507
|
+
$$sanitized_props,
|
|
508
|
+
{
|
|
509
|
+
/**
|
|
510
|
+
* @component @name Pencil
|
|
511
|
+
* @description Lucide SVG icon component, renders SVG Element with children.
|
|
512
|
+
*
|
|
513
|
+
* @preview  - https://lucide.dev/icons/pencil
|
|
514
|
+
* @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
|
|
515
|
+
*
|
|
516
|
+
* @param {Object} props - Lucide icons props and any valid SVG attribute
|
|
517
|
+
* @returns {FunctionalComponent} Svelte component
|
|
518
|
+
*
|
|
519
|
+
*/
|
|
520
|
+
iconNode: [["path", { "d": "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z" }], ["path", { "d": "m15 5 4 4" }]],
|
|
521
|
+
children: ($$renderer) => {
|
|
522
|
+
$$renderer.push(`<!--[-->`);
|
|
523
|
+
$.slot($$renderer, $$props, "default", {}, null);
|
|
524
|
+
$$renderer.push(`<!--]-->`);
|
|
525
|
+
},
|
|
526
|
+
$$slots: { default: true }
|
|
527
|
+
}
|
|
528
|
+
]));
|
|
529
|
+
}
|
|
530
|
+
//#endregion
|
|
531
|
+
//#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/share-2.svelte
|
|
532
|
+
function Share_2($$renderer, $$props) {
|
|
533
|
+
const $$sanitized_props = $.sanitize_props($$props);
|
|
534
|
+
/**
|
|
535
|
+
* @license lucide-svelte v1.0.1 - ISC
|
|
536
|
+
*
|
|
537
|
+
* ISC License
|
|
538
|
+
*
|
|
539
|
+
* Copyright (c) 2026 Lucide Icons and Contributors
|
|
540
|
+
*
|
|
541
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
542
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
543
|
+
* copyright notice and this permission notice appear in all copies.
|
|
544
|
+
*
|
|
545
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
546
|
+
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
547
|
+
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
548
|
+
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
549
|
+
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
550
|
+
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
551
|
+
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
552
|
+
*
|
|
553
|
+
* ---
|
|
554
|
+
*
|
|
555
|
+
* The following Lucide icons are derived from the Feather project:
|
|
556
|
+
*
|
|
557
|
+
* airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
|
|
558
|
+
*
|
|
559
|
+
* The MIT License (MIT) (for the icons listed above)
|
|
560
|
+
*
|
|
561
|
+
* Copyright (c) 2013-present Cole Bemis
|
|
562
|
+
*
|
|
563
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
564
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
565
|
+
* in the Software without restriction, including without limitation the rights
|
|
566
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
567
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
568
|
+
* furnished to do so, subject to the following conditions:
|
|
569
|
+
*
|
|
570
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
571
|
+
* copies or substantial portions of the Software.
|
|
572
|
+
*
|
|
573
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
574
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
575
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
576
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
577
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
578
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
579
|
+
* SOFTWARE.
|
|
580
|
+
*
|
|
581
|
+
*/
|
|
582
|
+
Icon($$renderer, $.spread_props([
|
|
583
|
+
{ name: "share-2" },
|
|
584
|
+
$$sanitized_props,
|
|
585
|
+
{
|
|
586
|
+
/**
|
|
587
|
+
* @component @name Share2
|
|
588
|
+
* @description Lucide SVG icon component, renders SVG Element with children.
|
|
589
|
+
*
|
|
590
|
+
* @preview  - https://lucide.dev/icons/share-2
|
|
591
|
+
* @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
|
|
592
|
+
*
|
|
593
|
+
* @param {Object} props - Lucide icons props and any valid SVG attribute
|
|
594
|
+
* @returns {FunctionalComponent} Svelte component
|
|
595
|
+
*
|
|
596
|
+
*/
|
|
597
|
+
iconNode: [
|
|
598
|
+
["circle", {
|
|
599
|
+
"cx": "18",
|
|
600
|
+
"cy": "5",
|
|
601
|
+
"r": "3"
|
|
602
|
+
}],
|
|
603
|
+
["circle", {
|
|
604
|
+
"cx": "6",
|
|
605
|
+
"cy": "12",
|
|
606
|
+
"r": "3"
|
|
607
|
+
}],
|
|
608
|
+
["circle", {
|
|
609
|
+
"cx": "18",
|
|
610
|
+
"cy": "19",
|
|
611
|
+
"r": "3"
|
|
612
|
+
}],
|
|
613
|
+
["line", {
|
|
614
|
+
"x1": "8.59",
|
|
615
|
+
"x2": "15.42",
|
|
616
|
+
"y1": "13.51",
|
|
617
|
+
"y2": "17.49"
|
|
618
|
+
}],
|
|
619
|
+
["line", {
|
|
620
|
+
"x1": "15.41",
|
|
621
|
+
"x2": "8.59",
|
|
622
|
+
"y1": "6.51",
|
|
623
|
+
"y2": "10.49"
|
|
624
|
+
}]
|
|
625
|
+
],
|
|
626
|
+
children: ($$renderer) => {
|
|
627
|
+
$$renderer.push(`<!--[-->`);
|
|
628
|
+
$.slot($$renderer, $$props, "default", {}, null);
|
|
629
|
+
$$renderer.push(`<!--]-->`);
|
|
630
|
+
},
|
|
631
|
+
$$slots: { default: true }
|
|
632
|
+
}
|
|
633
|
+
]));
|
|
634
|
+
}
|
|
635
|
+
//#endregion
|
|
636
|
+
//#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/trash-2.svelte
|
|
637
|
+
function Trash_2($$renderer, $$props) {
|
|
638
|
+
const $$sanitized_props = $.sanitize_props($$props);
|
|
639
|
+
/**
|
|
640
|
+
* @license lucide-svelte v1.0.1 - ISC
|
|
641
|
+
*
|
|
642
|
+
* ISC License
|
|
643
|
+
*
|
|
644
|
+
* Copyright (c) 2026 Lucide Icons and Contributors
|
|
645
|
+
*
|
|
646
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
647
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
648
|
+
* copyright notice and this permission notice appear in all copies.
|
|
649
|
+
*
|
|
650
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
651
|
+
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
652
|
+
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
653
|
+
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
654
|
+
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
655
|
+
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
656
|
+
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
657
|
+
*
|
|
658
|
+
* ---
|
|
659
|
+
*
|
|
660
|
+
* The following Lucide icons are derived from the Feather project:
|
|
661
|
+
*
|
|
662
|
+
* airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
|
|
663
|
+
*
|
|
664
|
+
* The MIT License (MIT) (for the icons listed above)
|
|
665
|
+
*
|
|
666
|
+
* Copyright (c) 2013-present Cole Bemis
|
|
667
|
+
*
|
|
668
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
669
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
670
|
+
* in the Software without restriction, including without limitation the rights
|
|
671
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
672
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
673
|
+
* furnished to do so, subject to the following conditions:
|
|
674
|
+
*
|
|
675
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
676
|
+
* copies or substantial portions of the Software.
|
|
677
|
+
*
|
|
678
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
679
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
680
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
681
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
682
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
683
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
684
|
+
* SOFTWARE.
|
|
685
|
+
*
|
|
686
|
+
*/
|
|
687
|
+
Icon($$renderer, $.spread_props([
|
|
688
|
+
{ name: "trash-2" },
|
|
689
|
+
$$sanitized_props,
|
|
690
|
+
{
|
|
691
|
+
/**
|
|
692
|
+
* @component @name Trash2
|
|
693
|
+
* @description Lucide SVG icon component, renders SVG Element with children.
|
|
694
|
+
*
|
|
695
|
+
* @preview  - https://lucide.dev/icons/trash-2
|
|
696
|
+
* @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
|
|
697
|
+
*
|
|
698
|
+
* @param {Object} props - Lucide icons props and any valid SVG attribute
|
|
699
|
+
* @returns {FunctionalComponent} Svelte component
|
|
700
|
+
*
|
|
701
|
+
*/
|
|
702
|
+
iconNode: [
|
|
703
|
+
["path", { "d": "M10 11v6" }],
|
|
704
|
+
["path", { "d": "M14 11v6" }],
|
|
705
|
+
["path", { "d": "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" }],
|
|
706
|
+
["path", { "d": "M3 6h18" }],
|
|
707
|
+
["path", { "d": "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" }]
|
|
708
|
+
],
|
|
709
|
+
children: ($$renderer) => {
|
|
710
|
+
$$renderer.push(`<!--[-->`);
|
|
711
|
+
$.slot($$renderer, $$props, "default", {}, null);
|
|
712
|
+
$$renderer.push(`<!--]-->`);
|
|
713
|
+
},
|
|
714
|
+
$$slots: { default: true }
|
|
715
|
+
}
|
|
716
|
+
]));
|
|
717
|
+
}
|
|
718
|
+
//#endregion
|
|
719
|
+
//#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/upload.svelte
|
|
720
|
+
function Upload($$renderer, $$props) {
|
|
721
|
+
const $$sanitized_props = $.sanitize_props($$props);
|
|
722
|
+
/**
|
|
723
|
+
* @license lucide-svelte v1.0.1 - ISC
|
|
724
|
+
*
|
|
725
|
+
* ISC License
|
|
726
|
+
*
|
|
727
|
+
* Copyright (c) 2026 Lucide Icons and Contributors
|
|
728
|
+
*
|
|
729
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
730
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
731
|
+
* copyright notice and this permission notice appear in all copies.
|
|
732
|
+
*
|
|
733
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
734
|
+
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
735
|
+
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
736
|
+
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
737
|
+
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
738
|
+
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
739
|
+
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
740
|
+
*
|
|
741
|
+
* ---
|
|
742
|
+
*
|
|
743
|
+
* The following Lucide icons are derived from the Feather project:
|
|
744
|
+
*
|
|
745
|
+
* airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
|
|
746
|
+
*
|
|
747
|
+
* The MIT License (MIT) (for the icons listed above)
|
|
748
|
+
*
|
|
749
|
+
* Copyright (c) 2013-present Cole Bemis
|
|
750
|
+
*
|
|
751
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
752
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
753
|
+
* in the Software without restriction, including without limitation the rights
|
|
754
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
755
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
756
|
+
* furnished to do so, subject to the following conditions:
|
|
757
|
+
*
|
|
758
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
759
|
+
* copies or substantial portions of the Software.
|
|
760
|
+
*
|
|
761
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
762
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
763
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
764
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
765
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
766
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
767
|
+
* SOFTWARE.
|
|
768
|
+
*
|
|
769
|
+
*/
|
|
770
|
+
Icon($$renderer, $.spread_props([
|
|
771
|
+
{ name: "upload" },
|
|
772
|
+
$$sanitized_props,
|
|
773
|
+
{
|
|
774
|
+
/**
|
|
775
|
+
* @component @name Upload
|
|
776
|
+
* @description Lucide SVG icon component, renders SVG Element with children.
|
|
777
|
+
*
|
|
778
|
+
* @preview  - https://lucide.dev/icons/upload
|
|
779
|
+
* @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
|
|
780
|
+
*
|
|
781
|
+
* @param {Object} props - Lucide icons props and any valid SVG attribute
|
|
782
|
+
* @returns {FunctionalComponent} Svelte component
|
|
783
|
+
*
|
|
784
|
+
*/
|
|
785
|
+
iconNode: [
|
|
786
|
+
["path", { "d": "M12 3v12" }],
|
|
787
|
+
["path", { "d": "m17 8-5-5-5 5" }],
|
|
788
|
+
["path", { "d": "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }]
|
|
789
|
+
],
|
|
790
|
+
children: ($$renderer) => {
|
|
791
|
+
$$renderer.push(`<!--[-->`);
|
|
792
|
+
$.slot($$renderer, $$props, "default", {}, null);
|
|
793
|
+
$$renderer.push(`<!--]-->`);
|
|
794
|
+
},
|
|
795
|
+
$$slots: { default: true }
|
|
796
|
+
}
|
|
797
|
+
]));
|
|
798
|
+
}
|
|
799
|
+
//#endregion
|
|
800
|
+
//#region ../node_modules/.bun/lucide-svelte@1.0.1+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/circle-x.svelte
|
|
801
|
+
function Circle_x($$renderer, $$props) {
|
|
802
|
+
const $$sanitized_props = $.sanitize_props($$props);
|
|
803
|
+
/**
|
|
804
|
+
* @license lucide-svelte v1.0.1 - ISC
|
|
805
|
+
*
|
|
806
|
+
* ISC License
|
|
807
|
+
*
|
|
808
|
+
* Copyright (c) 2026 Lucide Icons and Contributors
|
|
809
|
+
*
|
|
810
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
811
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
812
|
+
* copyright notice and this permission notice appear in all copies.
|
|
813
|
+
*
|
|
814
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
815
|
+
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
816
|
+
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
817
|
+
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
818
|
+
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
819
|
+
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
820
|
+
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
821
|
+
*
|
|
822
|
+
* ---
|
|
823
|
+
*
|
|
824
|
+
* The following Lucide icons are derived from the Feather project:
|
|
825
|
+
*
|
|
826
|
+
* airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
|
|
827
|
+
*
|
|
828
|
+
* The MIT License (MIT) (for the icons listed above)
|
|
829
|
+
*
|
|
830
|
+
* Copyright (c) 2013-present Cole Bemis
|
|
831
|
+
*
|
|
832
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
833
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
834
|
+
* in the Software without restriction, including without limitation the rights
|
|
835
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
836
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
837
|
+
* furnished to do so, subject to the following conditions:
|
|
838
|
+
*
|
|
839
|
+
* The above copyright notice and this permission notice shall be included in all
|
|
840
|
+
* copies or substantial portions of the Software.
|
|
841
|
+
*
|
|
842
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
843
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
844
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
845
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
846
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
847
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
848
|
+
* SOFTWARE.
|
|
849
|
+
*
|
|
850
|
+
*/
|
|
851
|
+
Icon($$renderer, $.spread_props([
|
|
852
|
+
{ name: "circle-x" },
|
|
853
|
+
$$sanitized_props,
|
|
854
|
+
{
|
|
855
|
+
/**
|
|
856
|
+
* @component @name CircleX
|
|
857
|
+
* @description Lucide SVG icon component, renders SVG Element with children.
|
|
858
|
+
*
|
|
859
|
+
* @preview  - https://lucide.dev/icons/circle-x
|
|
860
|
+
* @see https://lucide.dev/guide/packages/lucide-svelte - Documentation
|
|
861
|
+
*
|
|
862
|
+
* @param {Object} props - Lucide icons props and any valid SVG attribute
|
|
863
|
+
* @returns {FunctionalComponent} Svelte component
|
|
864
|
+
*
|
|
865
|
+
*/
|
|
866
|
+
iconNode: [
|
|
867
|
+
["circle", {
|
|
868
|
+
"cx": "12",
|
|
869
|
+
"cy": "12",
|
|
870
|
+
"r": "10"
|
|
871
|
+
}],
|
|
872
|
+
["path", { "d": "m15 9-6 6" }],
|
|
873
|
+
["path", { "d": "m9 9 6 6" }]
|
|
874
|
+
],
|
|
875
|
+
children: ($$renderer) => {
|
|
876
|
+
$$renderer.push(`<!--[-->`);
|
|
877
|
+
$.slot($$renderer, $$props, "default", {}, null);
|
|
878
|
+
$$renderer.push(`<!--]-->`);
|
|
879
|
+
},
|
|
880
|
+
$$slots: { default: true }
|
|
881
|
+
}
|
|
882
|
+
]));
|
|
883
|
+
}
|
|
884
|
+
//#endregion
|
|
885
|
+
//#region ../node_modules/.bun/@hiai-gg+hiai-ui@0.0.8+3149ccaa93f654b8/node_modules/@hiai-gg/hiai-ui/dist/components/ui/card/card.svelte
|
|
886
|
+
function Card($$renderer, $$props) {
|
|
887
|
+
$$renderer.component(($$renderer) => {
|
|
888
|
+
let { ref = null, class: className, children, $$slots, $$events, ...restProps } = $$props;
|
|
889
|
+
$$renderer.push(`<div${$.attributes({
|
|
890
|
+
class: $.clsx(cn("rounded-xl border border-border bg-card text-card-foreground shadow-sm", className)),
|
|
891
|
+
...restProps
|
|
892
|
+
})}>`);
|
|
893
|
+
if (children) {
|
|
894
|
+
$$renderer.push("<!--[0-->");
|
|
895
|
+
children($$renderer);
|
|
896
|
+
$$renderer.push(`<!---->`);
|
|
897
|
+
} else $$renderer.push("<!--[-1-->");
|
|
898
|
+
$$renderer.push(`<!--]--></div>`);
|
|
899
|
+
$.bind_props($$props, { ref });
|
|
900
|
+
});
|
|
901
|
+
}
|
|
902
|
+
//#endregion
|
|
903
|
+
//#region ../node_modules/.bun/@hiai-gg+hiai-ui@0.0.8+3149ccaa93f654b8/node_modules/@hiai-gg/hiai-ui/dist/components/ui/card/card-content.svelte
|
|
904
|
+
function Card_content($$renderer, $$props) {
|
|
905
|
+
$$renderer.component(($$renderer) => {
|
|
906
|
+
let { ref = null, class: className, children, $$slots, $$events, ...restProps } = $$props;
|
|
907
|
+
$$renderer.push(`<div${$.attributes({
|
|
908
|
+
class: $.clsx(cn("p-6 pt-0", className)),
|
|
909
|
+
...restProps
|
|
910
|
+
})}>`);
|
|
911
|
+
if (children) {
|
|
912
|
+
$$renderer.push("<!--[0-->");
|
|
913
|
+
children($$renderer);
|
|
914
|
+
$$renderer.push(`<!---->`);
|
|
915
|
+
} else $$renderer.push("<!--[-1-->");
|
|
916
|
+
$$renderer.push(`<!--]--></div>`);
|
|
917
|
+
$.bind_props($$props, { ref });
|
|
918
|
+
});
|
|
919
|
+
}
|
|
920
|
+
//#endregion
|
|
921
|
+
//#region ../node_modules/.bun/@hiai-gg+hiai-ui@0.0.8+3149ccaa93f654b8/node_modules/@hiai-gg/hiai-ui/dist/components/ui/card/card-header.svelte
|
|
922
|
+
function Card_header($$renderer, $$props) {
|
|
923
|
+
$$renderer.component(($$renderer) => {
|
|
924
|
+
let { ref = null, class: className, children, $$slots, $$events, ...restProps } = $$props;
|
|
925
|
+
$$renderer.push(`<div${$.attributes({
|
|
926
|
+
class: $.clsx(cn("flex flex-col space-y-1.5 p-6", className)),
|
|
927
|
+
...restProps
|
|
928
|
+
})}>`);
|
|
929
|
+
if (children) {
|
|
930
|
+
$$renderer.push("<!--[0-->");
|
|
931
|
+
children($$renderer);
|
|
932
|
+
$$renderer.push(`<!---->`);
|
|
933
|
+
} else $$renderer.push("<!--[-1-->");
|
|
934
|
+
$$renderer.push(`<!--]--></div>`);
|
|
935
|
+
$.bind_props($$props, { ref });
|
|
936
|
+
});
|
|
937
|
+
}
|
|
938
|
+
//#endregion
|
|
939
|
+
//#region src/lib/components/MoveDialog.svelte
|
|
940
|
+
function MoveDialog($$renderer, $$props) {
|
|
941
|
+
$$renderer.component(($$renderer) => {
|
|
942
|
+
let { open = false, itemId, itemType, initialParentId = null, initialCategoryId = null, onSave, onClose } = $$props;
|
|
943
|
+
let folders = [];
|
|
944
|
+
let categories = [];
|
|
945
|
+
let loading = false;
|
|
946
|
+
let busy = false;
|
|
947
|
+
let error = null;
|
|
948
|
+
let selectedParentId = null;
|
|
949
|
+
let selectedCategoryId = null;
|
|
950
|
+
const blockedFolderIds = $.derived(() => {
|
|
951
|
+
const blocked = /* @__PURE__ */ new Set();
|
|
952
|
+
if (itemType !== "folder") return blocked;
|
|
953
|
+
blocked.add(itemId);
|
|
954
|
+
let changed = true;
|
|
955
|
+
while (changed) {
|
|
956
|
+
changed = false;
|
|
957
|
+
for (const f of folders) {
|
|
958
|
+
const pid = f.parentId ?? null;
|
|
959
|
+
if (pid && blocked.has(pid) && !blocked.has(f.id)) {
|
|
960
|
+
blocked.add(f.id);
|
|
961
|
+
changed = true;
|
|
962
|
+
}
|
|
963
|
+
}
|
|
964
|
+
}
|
|
965
|
+
return blocked;
|
|
966
|
+
});
|
|
967
|
+
async function handleSubmit(e) {
|
|
968
|
+
e?.preventDefault();
|
|
969
|
+
if (busy) return;
|
|
970
|
+
busy = true;
|
|
971
|
+
try {
|
|
972
|
+
if (onSave) await onSave(selectedParentId === "" || selectedParentId === "null" ? null : selectedParentId, selectedCategoryId);
|
|
973
|
+
if (initialParentId) bumpSubfoldersRefresh(initialParentId);
|
|
974
|
+
if (selectedParentId && selectedParentId !== "" && selectedParentId !== "null") bumpSubfoldersRefresh(selectedParentId);
|
|
975
|
+
refreshFolders();
|
|
976
|
+
open = false;
|
|
977
|
+
} catch (err) {
|
|
978
|
+
console.error("Failed to move item", err);
|
|
979
|
+
error = err instanceof Error ? err.message : "Failed to move item";
|
|
980
|
+
} finally {
|
|
981
|
+
busy = false;
|
|
982
|
+
}
|
|
983
|
+
}
|
|
984
|
+
function close() {
|
|
985
|
+
if (busy) return;
|
|
986
|
+
open = false;
|
|
987
|
+
onClose?.();
|
|
988
|
+
}
|
|
989
|
+
let $$settled = true;
|
|
990
|
+
let $$inner_renderer;
|
|
991
|
+
function $$render_inner($$renderer) {
|
|
992
|
+
Dialog($$renderer, {
|
|
993
|
+
onOpenChange: (next) => {
|
|
994
|
+
if (!next) close();
|
|
995
|
+
},
|
|
996
|
+
get open() {
|
|
997
|
+
return open;
|
|
998
|
+
},
|
|
999
|
+
set open($$value) {
|
|
1000
|
+
open = $$value;
|
|
1001
|
+
$$settled = false;
|
|
1002
|
+
},
|
|
1003
|
+
children: ($$renderer) => {
|
|
1004
|
+
Dialog_header($$renderer, {
|
|
1005
|
+
children: ($$renderer) => {
|
|
1006
|
+
Dialog_title($$renderer, {
|
|
1007
|
+
children: ($$renderer) => {
|
|
1008
|
+
$$renderer.push(`<!---->${$.escape(itemType === "folder" ? folders_move() : doc_move_to_folder())}`);
|
|
1009
|
+
},
|
|
1010
|
+
$$slots: { default: true }
|
|
1011
|
+
});
|
|
1012
|
+
$$renderer.push(`<!----> `);
|
|
1013
|
+
Dialog_description($$renderer, {
|
|
1014
|
+
children: ($$renderer) => {
|
|
1015
|
+
$$renderer.push(`<!---->Choose a new parent folder and/or category for this ${$.escape(itemType)}.`);
|
|
1016
|
+
},
|
|
1017
|
+
$$slots: { default: true }
|
|
1018
|
+
});
|
|
1019
|
+
$$renderer.push(`<!---->`);
|
|
1020
|
+
},
|
|
1021
|
+
$$slots: { default: true }
|
|
1022
|
+
});
|
|
1023
|
+
$$renderer.push(`<!----> `);
|
|
1024
|
+
$$renderer.push("<!--[-1-->");
|
|
1025
|
+
$$renderer.push(`<form class="space-y-4 py-2">`);
|
|
1026
|
+
if (error) {
|
|
1027
|
+
$$renderer.push("<!--[0-->");
|
|
1028
|
+
$$renderer.push(`<p class="text-sm text-destructive" role="alert">${$.escape(error)}</p>`);
|
|
1029
|
+
} else $$renderer.push("<!--[-1-->");
|
|
1030
|
+
$$renderer.push(`<!--]--> <div class="space-y-2">`);
|
|
1031
|
+
Label($$renderer, {
|
|
1032
|
+
children: ($$renderer) => {
|
|
1033
|
+
$$renderer.push(`<!---->Parent Folder`);
|
|
1034
|
+
},
|
|
1035
|
+
$$slots: { default: true }
|
|
1036
|
+
});
|
|
1037
|
+
$$renderer.push(`<!----> `);
|
|
1038
|
+
FolderTreeSelector($$renderer, {
|
|
1039
|
+
folders,
|
|
1040
|
+
blockedIds: blockedFolderIds(),
|
|
1041
|
+
get selectedId() {
|
|
1042
|
+
return selectedParentId;
|
|
1043
|
+
},
|
|
1044
|
+
set selectedId($$value) {
|
|
1045
|
+
selectedParentId = $$value;
|
|
1046
|
+
$$settled = false;
|
|
1047
|
+
}
|
|
1048
|
+
});
|
|
1049
|
+
$$renderer.push(`<!----></div> <div class="space-y-2">`);
|
|
1050
|
+
Label($$renderer, {
|
|
1051
|
+
for: "move-dialog-category",
|
|
1052
|
+
children: ($$renderer) => {
|
|
1053
|
+
$$renderer.push(`<!---->Category`);
|
|
1054
|
+
},
|
|
1055
|
+
$$slots: { default: true }
|
|
1056
|
+
});
|
|
1057
|
+
$$renderer.push(`<!----> `);
|
|
1058
|
+
$$renderer.select({
|
|
1059
|
+
id: "move-dialog-category",
|
|
1060
|
+
value: selectedCategoryId,
|
|
1061
|
+
class: "h-9 w-full rounded-md border border-input bg-transparent px-2 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50"
|
|
1062
|
+
}, ($$renderer) => {
|
|
1063
|
+
$$renderer.option({ value: "" }, ($$renderer) => {
|
|
1064
|
+
$$renderer.push(`Uncategorized`);
|
|
1065
|
+
});
|
|
1066
|
+
$$renderer.push(`<!--[-->`);
|
|
1067
|
+
const each_array = $.ensure_array_like(categories);
|
|
1068
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
1069
|
+
let category = each_array[$$index];
|
|
1070
|
+
$$renderer.option({ value: category.id }, ($$renderer) => {
|
|
1071
|
+
$$renderer.push(`${$.escape(category.name)}`);
|
|
1072
|
+
});
|
|
1073
|
+
}
|
|
1074
|
+
$$renderer.push(`<!--]-->`);
|
|
1075
|
+
});
|
|
1076
|
+
$$renderer.push(`</div></form>`);
|
|
1077
|
+
$$renderer.push(`<!--]--> `);
|
|
1078
|
+
Dialog_footer($$renderer, {
|
|
1079
|
+
class: "mt-4",
|
|
1080
|
+
children: ($$renderer) => {
|
|
1081
|
+
Button($$renderer, {
|
|
1082
|
+
variant: "outline",
|
|
1083
|
+
type: "button",
|
|
1084
|
+
onclick: close,
|
|
1085
|
+
disabled: busy,
|
|
1086
|
+
children: ($$renderer) => {
|
|
1087
|
+
$$renderer.push(`<!---->${$.escape(action_cancel())}`);
|
|
1088
|
+
},
|
|
1089
|
+
$$slots: { default: true }
|
|
1090
|
+
});
|
|
1091
|
+
$$renderer.push(`<!----> `);
|
|
1092
|
+
Button($$renderer, {
|
|
1093
|
+
type: "button",
|
|
1094
|
+
onclick: handleSubmit,
|
|
1095
|
+
disabled: busy || loading,
|
|
1096
|
+
children: ($$renderer) => {
|
|
1097
|
+
if (busy) {
|
|
1098
|
+
$$renderer.push("<!--[0-->");
|
|
1099
|
+
Loader_circle($$renderer, { class: "mr-1 size-4 animate-spin" });
|
|
1100
|
+
} else $$renderer.push("<!--[-1-->");
|
|
1101
|
+
$$renderer.push(`<!--]--> ${$.escape(action_save())}`);
|
|
1102
|
+
},
|
|
1103
|
+
$$slots: { default: true }
|
|
1104
|
+
});
|
|
1105
|
+
$$renderer.push(`<!---->`);
|
|
1106
|
+
},
|
|
1107
|
+
$$slots: { default: true }
|
|
1108
|
+
});
|
|
1109
|
+
$$renderer.push(`<!---->`);
|
|
1110
|
+
},
|
|
1111
|
+
$$slots: { default: true }
|
|
1112
|
+
});
|
|
1113
|
+
}
|
|
1114
|
+
do {
|
|
1115
|
+
$$settled = true;
|
|
1116
|
+
$$inner_renderer = $$renderer.copy();
|
|
1117
|
+
$$render_inner($$inner_renderer);
|
|
1118
|
+
} while (!$$settled);
|
|
1119
|
+
$$renderer.subsume($$inner_renderer);
|
|
1120
|
+
$.bind_props($$props, { open });
|
|
1121
|
+
});
|
|
1122
|
+
}
|
|
1123
|
+
//#endregion
|
|
1124
|
+
//#region src/lib/utils/strip-markdown.ts
|
|
1125
|
+
/**
|
|
1126
|
+
* Strip common markdown syntax from a string, returning plain text.
|
|
1127
|
+
* Intended for preview snippets — not a full markdown-to-text converter.
|
|
1128
|
+
*/
|
|
1129
|
+
function stripMarkdown(markdown) {
|
|
1130
|
+
let text = markdown;
|
|
1131
|
+
text = text.replace(/^```[\s\S]*?\n([\s\S]*?)^```/gm, "$1");
|
|
1132
|
+
text = text.replace(/`([^`]+)`/g, "$1");
|
|
1133
|
+
text = text.replace(/!\[([^\]]*)\]\([^)]*\)/g, "");
|
|
1134
|
+
text = text.replace(/!\[[^\]]*\]\([^)]*$/g, "");
|
|
1135
|
+
text = text.replace(/\[([^\]]*)\]\([^)]*\)/g, "$1");
|
|
1136
|
+
text = text.replace(/\[[^\]]*\]\([^)]*$/g, "");
|
|
1137
|
+
text = text.replace(/\*\*([^*]+)\*\*/g, "$1");
|
|
1138
|
+
text = text.replace(/__([^_]+)__/g, "$1");
|
|
1139
|
+
text = text.replace(/\*([^*]+)\*/g, "$1");
|
|
1140
|
+
text = text.replace(/_([^_]+)_/g, "$1");
|
|
1141
|
+
text = text.replace(/~~([^~]+)~~/g, "$1");
|
|
1142
|
+
text = text.replace(/^#{1,6}\s+/gm, "");
|
|
1143
|
+
text = text.replace(/^>\s?/gm, "");
|
|
1144
|
+
text = text.replace(/^[-*_]{3,}\s*$/gm, "");
|
|
1145
|
+
text = text.replace(/^[\s]*[-*+]\s+/gm, "");
|
|
1146
|
+
text = text.replace(/^[\s]*\d+\.\s+/gm, "");
|
|
1147
|
+
text = text.replace(/\n{3,}/g, "\n\n");
|
|
1148
|
+
text = text.replace(/[^\S\n]+/g, " ");
|
|
1149
|
+
return text.trim();
|
|
1150
|
+
}
|
|
1151
|
+
//#endregion
|
|
1152
|
+
//#region src/lib/components/DocumentCard.svelte
|
|
1153
|
+
function DocumentCard($$renderer, $$props) {
|
|
1154
|
+
$$renderer.component(($$renderer) => {
|
|
1155
|
+
const { document: doc, onDelete, onDuplicate, onShare, duplicateBusy = false } = $$props;
|
|
1156
|
+
function navigateToDoc() {
|
|
1157
|
+
goto(`/docs/${doc.id}`);
|
|
1158
|
+
}
|
|
1159
|
+
let showMoveDialog = false;
|
|
1160
|
+
async function handleMove(parentId, categoryId) {
|
|
1161
|
+
await updateDocument(doc.id, {
|
|
1162
|
+
folderId: parentId,
|
|
1163
|
+
categoryId
|
|
1164
|
+
});
|
|
1165
|
+
await invalidateAll();
|
|
1166
|
+
}
|
|
1167
|
+
let contentCopied = false;
|
|
1168
|
+
let contentCopying = false;
|
|
1169
|
+
let copyTimer = null;
|
|
1170
|
+
async function handleCopyContent(e) {
|
|
1171
|
+
e.stopPropagation();
|
|
1172
|
+
if (typeof window === "undefined") return;
|
|
1173
|
+
let text = "";
|
|
1174
|
+
contentCopying = true;
|
|
1175
|
+
try {
|
|
1176
|
+
text = (await getDocument(doc.id)).content ?? "";
|
|
1177
|
+
} catch (err) {
|
|
1178
|
+
console.error("DocumentCard: failed to fetch full document for copy", err);
|
|
1179
|
+
text = doc.excerpt || doc.content || "";
|
|
1180
|
+
} finally {
|
|
1181
|
+
contentCopying = false;
|
|
1182
|
+
}
|
|
1183
|
+
if (!text) return;
|
|
1184
|
+
if (!await copyToClipboard(text)) return;
|
|
1185
|
+
contentCopied = true;
|
|
1186
|
+
if (copyTimer) clearTimeout(copyTimer);
|
|
1187
|
+
copyTimer = setTimeout(() => {
|
|
1188
|
+
contentCopied = false;
|
|
1189
|
+
copyTimer = null;
|
|
1190
|
+
}, 2e3);
|
|
1191
|
+
}
|
|
1192
|
+
const preview = $.derived(() => stripMarkdown(doc.excerpt || doc.content || "").slice(0, 100));
|
|
1193
|
+
let $$settled = true;
|
|
1194
|
+
let $$inner_renderer;
|
|
1195
|
+
function $$render_inner($$renderer) {
|
|
1196
|
+
Card($$renderer, {
|
|
1197
|
+
class: "group cursor-pointer transition-shadow duration-200 hover:shadow-md",
|
|
1198
|
+
onclick: navigateToDoc,
|
|
1199
|
+
onkeydown: (e) => {
|
|
1200
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
1201
|
+
e.preventDefault();
|
|
1202
|
+
navigateToDoc();
|
|
1203
|
+
}
|
|
1204
|
+
},
|
|
1205
|
+
role: "button",
|
|
1206
|
+
tabindex: 0,
|
|
1207
|
+
children: ($$renderer) => {
|
|
1208
|
+
Card_header($$renderer, {
|
|
1209
|
+
class: "flex-row items-start justify-between space-y-0 pb-2",
|
|
1210
|
+
children: ($$renderer) => {
|
|
1211
|
+
$$renderer.push(`<div class="flex items-center gap-2 text-muted-foreground">`);
|
|
1212
|
+
File_text($$renderer, { class: "size-4 shrink-0" });
|
|
1213
|
+
$$renderer.push(`<!----> <span class="text-xs">${$.escape(doc_updated({ time: formatRelativeTime(doc.updatedAt) }))}</span></div> `);
|
|
1214
|
+
Dropdown_menu($$renderer, {
|
|
1215
|
+
children: ($$renderer) => {
|
|
1216
|
+
Dropdown_menu_trigger($$renderer, {
|
|
1217
|
+
class: "inline-flex size-8 items-center justify-center rounded-md opacity-100 transition-opacity hover:bg-accent sm:opacity-0 sm:group-hover:opacity-100 focus-visible:opacity-100",
|
|
1218
|
+
onclick: (e) => e.stopPropagation(),
|
|
1219
|
+
children: ($$renderer) => {
|
|
1220
|
+
Ellipsis_vertical($$renderer, { class: "size-4" });
|
|
1221
|
+
$$renderer.push(`<!----> <span class="sr-only">${$.escape(doc_open_menu())}</span>`);
|
|
1222
|
+
},
|
|
1223
|
+
$$slots: { default: true }
|
|
1224
|
+
});
|
|
1225
|
+
$$renderer.push(`<!----> `);
|
|
1226
|
+
Dropdown_menu_content($$renderer, {
|
|
1227
|
+
align: "end",
|
|
1228
|
+
children: ($$renderer) => {
|
|
1229
|
+
Dropdown_menu_item($$renderer, {
|
|
1230
|
+
onclick: () => goto(`/docs/${doc.id}`),
|
|
1231
|
+
children: ($$renderer) => {
|
|
1232
|
+
Arrow_up_right($$renderer, { class: "size-4" });
|
|
1233
|
+
$$renderer.push(`<!----> ${$.escape(doc_open())}`);
|
|
1234
|
+
},
|
|
1235
|
+
$$slots: { default: true }
|
|
1236
|
+
});
|
|
1237
|
+
$$renderer.push(`<!----> `);
|
|
1238
|
+
Dropdown_menu_item($$renderer, {
|
|
1239
|
+
onclick: handleCopyContent,
|
|
1240
|
+
disabled: contentCopying,
|
|
1241
|
+
children: ($$renderer) => {
|
|
1242
|
+
if (contentCopying) {
|
|
1243
|
+
$$renderer.push("<!--[0-->");
|
|
1244
|
+
Loader_circle($$renderer, { class: "size-4 animate-spin" });
|
|
1245
|
+
$$renderer.push(`<!----> ${$.escape(action_copy_content())}`);
|
|
1246
|
+
} else if (contentCopied) {
|
|
1247
|
+
$$renderer.push("<!--[1-->");
|
|
1248
|
+
Check($$renderer, { class: "size-4" });
|
|
1249
|
+
$$renderer.push(`<!----> ${$.escape(share_copied())}`);
|
|
1250
|
+
} else {
|
|
1251
|
+
$$renderer.push("<!--[-1-->");
|
|
1252
|
+
Copy($$renderer, { class: "size-4" });
|
|
1253
|
+
$$renderer.push(`<!----> ${$.escape(action_copy_content())}`);
|
|
1254
|
+
}
|
|
1255
|
+
$$renderer.push(`<!--]-->`);
|
|
1256
|
+
},
|
|
1257
|
+
$$slots: { default: true }
|
|
1258
|
+
});
|
|
1259
|
+
$$renderer.push(`<!----> `);
|
|
1260
|
+
Dropdown_menu_item($$renderer, {
|
|
1261
|
+
disabled: duplicateBusy,
|
|
1262
|
+
onclick: (e) => {
|
|
1263
|
+
e.stopPropagation();
|
|
1264
|
+
onDuplicate?.(doc.id);
|
|
1265
|
+
},
|
|
1266
|
+
children: ($$renderer) => {
|
|
1267
|
+
if (duplicateBusy) {
|
|
1268
|
+
$$renderer.push("<!--[0-->");
|
|
1269
|
+
Loader_circle($$renderer, { class: "size-4 animate-spin" });
|
|
1270
|
+
$$renderer.push(`<!----> ${$.escape(action_loading())}`);
|
|
1271
|
+
} else {
|
|
1272
|
+
$$renderer.push("<!--[-1-->");
|
|
1273
|
+
Files($$renderer, { class: "size-4" });
|
|
1274
|
+
$$renderer.push(`<!----> ${$.escape(doc_duplicate())}`);
|
|
1275
|
+
}
|
|
1276
|
+
$$renderer.push(`<!--]-->`);
|
|
1277
|
+
},
|
|
1278
|
+
$$slots: { default: true }
|
|
1279
|
+
});
|
|
1280
|
+
$$renderer.push(`<!----> `);
|
|
1281
|
+
Dropdown_menu_item($$renderer, {
|
|
1282
|
+
onclick: (e) => {
|
|
1283
|
+
e.stopPropagation();
|
|
1284
|
+
showMoveDialog = true;
|
|
1285
|
+
},
|
|
1286
|
+
children: ($$renderer) => {
|
|
1287
|
+
Folder_input($$renderer, { class: "size-4" });
|
|
1288
|
+
$$renderer.push(`<!----> ${$.escape(doc_move_to_folder())}`);
|
|
1289
|
+
},
|
|
1290
|
+
$$slots: { default: true }
|
|
1291
|
+
});
|
|
1292
|
+
$$renderer.push(`<!----> `);
|
|
1293
|
+
Dropdown_menu_item($$renderer, {
|
|
1294
|
+
onclick: (e) => {
|
|
1295
|
+
e.stopPropagation();
|
|
1296
|
+
onShare?.(doc.id, doc.title);
|
|
1297
|
+
},
|
|
1298
|
+
children: ($$renderer) => {
|
|
1299
|
+
Share_2($$renderer, { class: "size-4" });
|
|
1300
|
+
$$renderer.push(`<!----> ${$.escape(doc_share())}`);
|
|
1301
|
+
},
|
|
1302
|
+
$$slots: { default: true }
|
|
1303
|
+
});
|
|
1304
|
+
$$renderer.push(`<!----> `);
|
|
1305
|
+
Dropdown_menu_separator($$renderer, {});
|
|
1306
|
+
$$renderer.push(`<!----> `);
|
|
1307
|
+
Dropdown_menu_item($$renderer, {
|
|
1308
|
+
class: "text-destructive",
|
|
1309
|
+
onclick: (e) => {
|
|
1310
|
+
e.stopPropagation();
|
|
1311
|
+
onDelete?.(doc.id);
|
|
1312
|
+
},
|
|
1313
|
+
children: ($$renderer) => {
|
|
1314
|
+
Trash_2($$renderer, { class: "size-4" });
|
|
1315
|
+
$$renderer.push(`<!----> ${$.escape(action_delete())}`);
|
|
1316
|
+
},
|
|
1317
|
+
$$slots: { default: true }
|
|
1318
|
+
});
|
|
1319
|
+
$$renderer.push(`<!---->`);
|
|
1320
|
+
},
|
|
1321
|
+
$$slots: { default: true }
|
|
1322
|
+
});
|
|
1323
|
+
$$renderer.push(`<!---->`);
|
|
1324
|
+
},
|
|
1325
|
+
$$slots: { default: true }
|
|
1326
|
+
});
|
|
1327
|
+
$$renderer.push(`<!---->`);
|
|
1328
|
+
},
|
|
1329
|
+
$$slots: { default: true }
|
|
1330
|
+
});
|
|
1331
|
+
$$renderer.push(`<!----> `);
|
|
1332
|
+
Card_content($$renderer, {
|
|
1333
|
+
children: ($$renderer) => {
|
|
1334
|
+
$$renderer.push(`<h3 class="mb-1 truncate text-sm font-medium leading-snug">${$.escape(doc.title)}</h3> `);
|
|
1335
|
+
if (preview()) {
|
|
1336
|
+
$$renderer.push("<!--[0-->");
|
|
1337
|
+
$$renderer.push(`<p class="mb-3 line-clamp-2 text-xs text-muted-foreground">${$.escape(preview())}</p>`);
|
|
1338
|
+
} else $$renderer.push("<!--[-1-->");
|
|
1339
|
+
$$renderer.push(`<!--]--> `);
|
|
1340
|
+
if (doc.tags.length > 0) {
|
|
1341
|
+
$$renderer.push("<!--[0-->");
|
|
1342
|
+
$$renderer.push(`<div class="flex flex-wrap gap-1"><!--[-->`);
|
|
1343
|
+
const each_array = $.ensure_array_like(doc.tags.slice(0, 3));
|
|
1344
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
1345
|
+
let tag = each_array[$$index];
|
|
1346
|
+
Badge($$renderer, {
|
|
1347
|
+
variant: "secondary",
|
|
1348
|
+
class: "text-[10px]",
|
|
1349
|
+
children: ($$renderer) => {
|
|
1350
|
+
$$renderer.push(`<!---->${$.escape(tag)}`);
|
|
1351
|
+
},
|
|
1352
|
+
$$slots: { default: true }
|
|
1353
|
+
});
|
|
1354
|
+
}
|
|
1355
|
+
$$renderer.push(`<!--]--> `);
|
|
1356
|
+
if (doc.tags.length > 3) {
|
|
1357
|
+
$$renderer.push("<!--[0-->");
|
|
1358
|
+
Badge($$renderer, {
|
|
1359
|
+
variant: "outline",
|
|
1360
|
+
class: "text-[10px]",
|
|
1361
|
+
children: ($$renderer) => {
|
|
1362
|
+
$$renderer.push(`<!---->+${$.escape(doc.tags.length - 3)}`);
|
|
1363
|
+
},
|
|
1364
|
+
$$slots: { default: true }
|
|
1365
|
+
});
|
|
1366
|
+
} else $$renderer.push("<!--[-1-->");
|
|
1367
|
+
$$renderer.push(`<!--]--></div>`);
|
|
1368
|
+
} else $$renderer.push("<!--[-1-->");
|
|
1369
|
+
$$renderer.push(`<!--]-->`);
|
|
1370
|
+
},
|
|
1371
|
+
$$slots: { default: true }
|
|
1372
|
+
});
|
|
1373
|
+
$$renderer.push(`<!---->`);
|
|
1374
|
+
},
|
|
1375
|
+
$$slots: { default: true }
|
|
1376
|
+
});
|
|
1377
|
+
$$renderer.push(`<!----> `);
|
|
1378
|
+
MoveDialog($$renderer, {
|
|
1379
|
+
itemId: doc.id,
|
|
1380
|
+
itemType: "document",
|
|
1381
|
+
initialParentId: doc.folderId,
|
|
1382
|
+
initialCategoryId: doc.categoryId,
|
|
1383
|
+
onSave: handleMove,
|
|
1384
|
+
get open() {
|
|
1385
|
+
return showMoveDialog;
|
|
1386
|
+
},
|
|
1387
|
+
set open($$value) {
|
|
1388
|
+
showMoveDialog = $$value;
|
|
1389
|
+
$$settled = false;
|
|
1390
|
+
}
|
|
1391
|
+
});
|
|
1392
|
+
$$renderer.push(`<!---->`);
|
|
1393
|
+
}
|
|
1394
|
+
do {
|
|
1395
|
+
$$settled = true;
|
|
1396
|
+
$$inner_renderer = $$renderer.copy();
|
|
1397
|
+
$$render_inner($$inner_renderer);
|
|
1398
|
+
} while (!$$settled);
|
|
1399
|
+
$$renderer.subsume($$inner_renderer);
|
|
1400
|
+
});
|
|
1401
|
+
}
|
|
1402
|
+
//#endregion
|
|
1403
|
+
//#region src/lib/components/FolderCard.svelte
|
|
1404
|
+
function FolderCard($$renderer, $$props) {
|
|
1405
|
+
$$renderer.component(($$renderer) => {
|
|
1406
|
+
const { folder, onDelete, onRename, onShare } = $$props;
|
|
1407
|
+
function navigateToFolder() {
|
|
1408
|
+
goto(`/folders/${folder.id}`);
|
|
1409
|
+
}
|
|
1410
|
+
let showMoveDialog = false;
|
|
1411
|
+
async function handleMove(parentId, categoryId) {
|
|
1412
|
+
await updateFolder(folder.id, {
|
|
1413
|
+
parentId,
|
|
1414
|
+
categoryId
|
|
1415
|
+
});
|
|
1416
|
+
await invalidateAll();
|
|
1417
|
+
}
|
|
1418
|
+
let $$settled = true;
|
|
1419
|
+
let $$inner_renderer;
|
|
1420
|
+
function $$render_inner($$renderer) {
|
|
1421
|
+
Card($$renderer, {
|
|
1422
|
+
class: "group cursor-pointer transition-shadow duration-200 hover:shadow-md",
|
|
1423
|
+
onclick: navigateToFolder,
|
|
1424
|
+
onkeydown: (e) => {
|
|
1425
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
1426
|
+
e.preventDefault();
|
|
1427
|
+
navigateToFolder();
|
|
1428
|
+
}
|
|
1429
|
+
},
|
|
1430
|
+
role: "button",
|
|
1431
|
+
tabindex: 0,
|
|
1432
|
+
children: ($$renderer) => {
|
|
1433
|
+
Card_content($$renderer, {
|
|
1434
|
+
class: "flex items-center gap-3 p-4",
|
|
1435
|
+
children: ($$renderer) => {
|
|
1436
|
+
$$renderer.push(`<div class="flex size-10 shrink-0 items-center justify-center rounded-lg bg-primary/10">`);
|
|
1437
|
+
Folder($$renderer, { class: "size-5 text-primary" });
|
|
1438
|
+
$$renderer.push(`<!----></div> <div class="min-w-0 flex-1"><h3 class="truncate text-sm font-medium">${$.escape(folder.name)}</h3> <p class="text-xs text-muted-foreground">${$.escape(folder.documentCount)} ${$.escape(folder.documentCount === 1 ? folders_document() : folders_documents())} · ${$.escape(folder.subfolderCount)} ${$.escape(folder.subfolderCount === 1 ? folders_subfolder() : folders_subfolders())} · ${$.escape(formatRelativeTime(folder.updatedAt))}</p></div> `);
|
|
1439
|
+
Dropdown_menu($$renderer, {
|
|
1440
|
+
children: ($$renderer) => {
|
|
1441
|
+
Dropdown_menu_trigger($$renderer, {
|
|
1442
|
+
class: "inline-flex size-8 shrink-0 items-center justify-center rounded-md opacity-100 transition-opacity hover:bg-accent sm:opacity-0 sm:group-hover:opacity-100 focus-visible:opacity-100",
|
|
1443
|
+
onclick: (e) => e.stopPropagation(),
|
|
1444
|
+
children: ($$renderer) => {
|
|
1445
|
+
Ellipsis_vertical($$renderer, { class: "size-4" });
|
|
1446
|
+
$$renderer.push(`<!----> <span class="sr-only">${$.escape(doc_open_menu())}</span>`);
|
|
1447
|
+
},
|
|
1448
|
+
$$slots: { default: true }
|
|
1449
|
+
});
|
|
1450
|
+
$$renderer.push(`<!----> `);
|
|
1451
|
+
Dropdown_menu_content($$renderer, {
|
|
1452
|
+
align: "end",
|
|
1453
|
+
children: ($$renderer) => {
|
|
1454
|
+
Dropdown_menu_item($$renderer, {
|
|
1455
|
+
onclick: () => goto(`/folders/${folder.id}`),
|
|
1456
|
+
children: ($$renderer) => {
|
|
1457
|
+
Folder($$renderer, { class: "size-4" });
|
|
1458
|
+
$$renderer.push(`<!----> ${$.escape(doc_open())}`);
|
|
1459
|
+
},
|
|
1460
|
+
$$slots: { default: true }
|
|
1461
|
+
});
|
|
1462
|
+
$$renderer.push(`<!----> `);
|
|
1463
|
+
Dropdown_menu_item($$renderer, {
|
|
1464
|
+
onclick: (e) => {
|
|
1465
|
+
e.stopPropagation();
|
|
1466
|
+
onRename?.(folder.id);
|
|
1467
|
+
},
|
|
1468
|
+
children: ($$renderer) => {
|
|
1469
|
+
Pencil($$renderer, { class: "size-4" });
|
|
1470
|
+
$$renderer.push(`<!----> ${$.escape(folders_rename())}`);
|
|
1471
|
+
},
|
|
1472
|
+
$$slots: { default: true }
|
|
1473
|
+
});
|
|
1474
|
+
$$renderer.push(`<!----> `);
|
|
1475
|
+
Dropdown_menu_item($$renderer, {
|
|
1476
|
+
onclick: (e) => {
|
|
1477
|
+
e.stopPropagation();
|
|
1478
|
+
showMoveDialog = true;
|
|
1479
|
+
},
|
|
1480
|
+
children: ($$renderer) => {
|
|
1481
|
+
Folder_input($$renderer, { class: "size-4" });
|
|
1482
|
+
$$renderer.push(`<!----> ${$.escape(folders_move())}`);
|
|
1483
|
+
},
|
|
1484
|
+
$$slots: { default: true }
|
|
1485
|
+
});
|
|
1486
|
+
$$renderer.push(`<!----> `);
|
|
1487
|
+
Dropdown_menu_item($$renderer, {
|
|
1488
|
+
onclick: (e) => {
|
|
1489
|
+
e.stopPropagation();
|
|
1490
|
+
onShare?.(folder.id, folder.name);
|
|
1491
|
+
},
|
|
1492
|
+
children: ($$renderer) => {
|
|
1493
|
+
Share_2($$renderer, { class: "size-4" });
|
|
1494
|
+
$$renderer.push(`<!----> ${$.escape(doc_share())}`);
|
|
1495
|
+
},
|
|
1496
|
+
$$slots: { default: true }
|
|
1497
|
+
});
|
|
1498
|
+
$$renderer.push(`<!----> `);
|
|
1499
|
+
Dropdown_menu_separator($$renderer, {});
|
|
1500
|
+
$$renderer.push(`<!----> `);
|
|
1501
|
+
Dropdown_menu_item($$renderer, {
|
|
1502
|
+
class: "text-destructive",
|
|
1503
|
+
onclick: (e) => {
|
|
1504
|
+
e.stopPropagation();
|
|
1505
|
+
onDelete?.(folder.id);
|
|
1506
|
+
},
|
|
1507
|
+
children: ($$renderer) => {
|
|
1508
|
+
Trash_2($$renderer, { class: "size-4" });
|
|
1509
|
+
$$renderer.push(`<!----> ${$.escape(action_delete())}`);
|
|
1510
|
+
},
|
|
1511
|
+
$$slots: { default: true }
|
|
1512
|
+
});
|
|
1513
|
+
$$renderer.push(`<!---->`);
|
|
1514
|
+
},
|
|
1515
|
+
$$slots: { default: true }
|
|
1516
|
+
});
|
|
1517
|
+
$$renderer.push(`<!---->`);
|
|
1518
|
+
},
|
|
1519
|
+
$$slots: { default: true }
|
|
1520
|
+
});
|
|
1521
|
+
$$renderer.push(`<!---->`);
|
|
1522
|
+
},
|
|
1523
|
+
$$slots: { default: true }
|
|
1524
|
+
});
|
|
1525
|
+
},
|
|
1526
|
+
$$slots: { default: true }
|
|
1527
|
+
});
|
|
1528
|
+
$$renderer.push(`<!----> `);
|
|
1529
|
+
MoveDialog($$renderer, {
|
|
1530
|
+
itemId: folder.id,
|
|
1531
|
+
itemType: "folder",
|
|
1532
|
+
initialParentId: folder.parentId,
|
|
1533
|
+
initialCategoryId: folder.categoryId,
|
|
1534
|
+
onSave: handleMove,
|
|
1535
|
+
get open() {
|
|
1536
|
+
return showMoveDialog;
|
|
1537
|
+
},
|
|
1538
|
+
set open($$value) {
|
|
1539
|
+
showMoveDialog = $$value;
|
|
1540
|
+
$$settled = false;
|
|
1541
|
+
}
|
|
1542
|
+
});
|
|
1543
|
+
$$renderer.push(`<!---->`);
|
|
1544
|
+
}
|
|
1545
|
+
do {
|
|
1546
|
+
$$settled = true;
|
|
1547
|
+
$$inner_renderer = $$renderer.copy();
|
|
1548
|
+
$$render_inner($$inner_renderer);
|
|
1549
|
+
} while (!$$settled);
|
|
1550
|
+
$$renderer.subsume($$inner_renderer);
|
|
1551
|
+
});
|
|
1552
|
+
}
|
|
1553
|
+
//#endregion
|
|
1554
|
+
//#region src/lib/components/ImportProgress.svelte
|
|
1555
|
+
function ImportProgress($$renderer, $$props) {
|
|
1556
|
+
$$renderer.component(($$renderer) => {
|
|
1557
|
+
const { open = true, items, onClose } = $$props;
|
|
1558
|
+
const total = $.derived(() => items.length);
|
|
1559
|
+
const done = $.derived(() => items.filter((i) => i.status === "done").length);
|
|
1560
|
+
const failed = $.derived(() => items.filter((i) => i.status === "error").length);
|
|
1561
|
+
const inFlight = $.derived(() => items.filter((i) => i.status === "uploading" || i.status === "processing").length);
|
|
1562
|
+
const settled = $.derived(() => inFlight() === 0);
|
|
1563
|
+
if (open) {
|
|
1564
|
+
$$renderer.push("<!--[0-->");
|
|
1565
|
+
$$renderer.push(`<div class="fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4" role="presentation"><div class="w-full max-w-md overflow-hidden rounded-lg border border-border bg-background shadow-2xl" role="dialog" tabindex="-1" aria-modal="true"${$.attr("aria-label", import_progress_title())}><div class="flex items-center justify-between border-b border-border px-4 py-3"><div><h2 class="text-sm font-semibold">${$.escape(import_progress_title())}</h2> `);
|
|
1566
|
+
if (total() > 0) {
|
|
1567
|
+
$$renderer.push("<!--[0-->");
|
|
1568
|
+
$$renderer.push(`<p class="mt-0.5 text-xs text-muted-foreground">${$.escape(import_progress_total({
|
|
1569
|
+
done: done(),
|
|
1570
|
+
total: total()
|
|
1571
|
+
}))}</p>`);
|
|
1572
|
+
} else $$renderer.push("<!--[-1-->");
|
|
1573
|
+
$$renderer.push(`<!--]--></div> <button type="button" class="rounded p-1 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:pointer-events-none disabled:opacity-50"${$.attr("aria-label", action_close())}${$.attr("disabled", !settled(), true)}>`);
|
|
1574
|
+
X($$renderer, { class: "size-4" });
|
|
1575
|
+
$$renderer.push(`<!----></button></div> <div class="max-h-[60vh] overflow-y-auto">`);
|
|
1576
|
+
if (items.length === 0) {
|
|
1577
|
+
$$renderer.push("<!--[0-->");
|
|
1578
|
+
$$renderer.push(`<div class="px-4 py-8 text-center text-sm text-muted-foreground">${$.escape(import_progress_empty())}</div>`);
|
|
1579
|
+
} else {
|
|
1580
|
+
$$renderer.push("<!--[-1-->");
|
|
1581
|
+
$$renderer.push(`<ul class="divide-y divide-border"><!--[-->`);
|
|
1582
|
+
const each_array = $.ensure_array_like(items);
|
|
1583
|
+
for (let idx = 0, $$length = each_array.length; idx < $$length; idx++) {
|
|
1584
|
+
let item = each_array[idx];
|
|
1585
|
+
$$renderer.push(`<li class="flex items-center gap-3 px-4 py-2.5 text-sm">`);
|
|
1586
|
+
File_text($$renderer, { class: "size-4 shrink-0 text-muted-foreground" });
|
|
1587
|
+
$$renderer.push(`<!----> <span class="min-w-0 flex-1 truncate">${$.escape(item.filename)}</span> <span class="inline-flex shrink-0 items-center gap-1 text-xs">`);
|
|
1588
|
+
if (item.status === "uploading") {
|
|
1589
|
+
$$renderer.push("<!--[0-->");
|
|
1590
|
+
Loader_circle($$renderer, { class: "size-3.5 animate-spin text-muted-foreground" });
|
|
1591
|
+
$$renderer.push(`<!----> <span class="text-muted-foreground">${$.escape(import_progress_uploading())}</span>`);
|
|
1592
|
+
} else if (item.status === "processing") {
|
|
1593
|
+
$$renderer.push("<!--[1-->");
|
|
1594
|
+
Loader_circle($$renderer, { class: "size-3.5 animate-spin text-muted-foreground" });
|
|
1595
|
+
$$renderer.push(`<!----> <span class="text-muted-foreground">${$.escape(import_progress_processing())}</span>`);
|
|
1596
|
+
} else if (item.status === "done") {
|
|
1597
|
+
$$renderer.push("<!--[2-->");
|
|
1598
|
+
Check($$renderer, { class: "size-3.5 text-emerald-600 dark:text-emerald-400" });
|
|
1599
|
+
$$renderer.push(`<!----> `);
|
|
1600
|
+
if (item.documentId) {
|
|
1601
|
+
$$renderer.push("<!--[0-->");
|
|
1602
|
+
$$renderer.push(`<a${$.attr("href", `/docs/${item.documentId}`)} class="inline-flex items-center gap-1 rounded bg-primary/10 px-2 py-0.5 text-xs font-semibold text-primary transition-colors hover:bg-primary/20"><span>View</span> `);
|
|
1603
|
+
Chevron_right($$renderer, { class: "size-3" });
|
|
1604
|
+
$$renderer.push(`<!----></a>`);
|
|
1605
|
+
} else {
|
|
1606
|
+
$$renderer.push("<!--[-1-->");
|
|
1607
|
+
$$renderer.push(`<span class="text-emerald-700 dark:text-emerald-400">${$.escape(import_progress_done())}</span>`);
|
|
1608
|
+
}
|
|
1609
|
+
$$renderer.push(`<!--]-->`);
|
|
1610
|
+
} else {
|
|
1611
|
+
$$renderer.push("<!--[-1-->");
|
|
1612
|
+
Circle_x($$renderer, { class: "size-3.5 text-destructive" });
|
|
1613
|
+
$$renderer.push(`<!----> <span class="text-destructive"${$.attr("title", item.error ?? "")}>${$.escape(import_progress_error())}</span>`);
|
|
1614
|
+
}
|
|
1615
|
+
$$renderer.push(`<!--]--></span></li>`);
|
|
1616
|
+
}
|
|
1617
|
+
$$renderer.push(`<!--]--></ul>`);
|
|
1618
|
+
}
|
|
1619
|
+
$$renderer.push(`<!--]--></div> `);
|
|
1620
|
+
if (settled() && total() > 0) {
|
|
1621
|
+
$$renderer.push("<!--[0-->");
|
|
1622
|
+
$$renderer.push(`<div class="flex items-center justify-between gap-2 border-t border-border bg-muted/50 px-4 py-3 text-sm"><p class="font-medium">${$.escape(import_progress_summary({
|
|
1623
|
+
imported: done(),
|
|
1624
|
+
failed: failed()
|
|
1625
|
+
}))}</p> <div class="flex items-center gap-2 ml-auto"><button type="button" class="inline-flex items-center gap-1 rounded-md bg-primary px-3 py-1 text-xs font-medium text-primary-foreground transition-colors hover:bg-primary/90">${$.escape(import_progress_close())}</button></div></div>`);
|
|
1626
|
+
} else $$renderer.push("<!--[-1-->");
|
|
1627
|
+
$$renderer.push(`<!--]--></div></div>`);
|
|
1628
|
+
} else $$renderer.push("<!--[-1-->");
|
|
1629
|
+
$$renderer.push(`<!--]-->`);
|
|
1630
|
+
});
|
|
1631
|
+
}
|
|
1632
|
+
//#endregion
|
|
1633
|
+
//#region src/lib/hosts/HiaiDocsDashboardHost.svelte
|
|
1634
|
+
function HiaiDocsDashboardHost($$renderer, $$props) {
|
|
1635
|
+
$$renderer.component(($$renderer) => {
|
|
1636
|
+
const Select$1 = {
|
|
1637
|
+
Root: Select,
|
|
1638
|
+
Content: Select_content,
|
|
1639
|
+
Item: Select_item,
|
|
1640
|
+
Trigger: Select_trigger,
|
|
1641
|
+
Value: Select_value
|
|
1642
|
+
};
|
|
1643
|
+
const { data, extensionContext = { pathname: "/" } } = $$props;
|
|
1644
|
+
const frontendExtensions = getFrontendExtensions();
|
|
1645
|
+
const dashboardWidgets = $.derived(() => resolveExtensions(frontendExtensions.dashboardWidgets, extensionContext));
|
|
1646
|
+
const activeFolderId = $.derived(() => page.url.searchParams.get("folder") || null);
|
|
1647
|
+
const activeCategoryId = $.derived(() => page.url.searchParams.get("category") || null);
|
|
1648
|
+
let searchQuery = "";
|
|
1649
|
+
let selectedTagId = null;
|
|
1650
|
+
let dateFrom = "";
|
|
1651
|
+
let dateTo = "";
|
|
1652
|
+
let showFolderDialog = false;
|
|
1653
|
+
let folderDialogMode = "create";
|
|
1654
|
+
let folderDialogTarget = null;
|
|
1655
|
+
let showDeleteFolderDialog = false;
|
|
1656
|
+
let deleteFolderTargetId = null;
|
|
1657
|
+
let deleteFolderBusy = false;
|
|
1658
|
+
let showShareDialog = false;
|
|
1659
|
+
let shareTarget = null;
|
|
1660
|
+
let importOpen = false;
|
|
1661
|
+
let importItems = [];
|
|
1662
|
+
let duplicatingDocumentId = null;
|
|
1663
|
+
let optimisticDocuments = [];
|
|
1664
|
+
function openShareDialogForDocument(id, title) {
|
|
1665
|
+
shareTarget = {
|
|
1666
|
+
kind: "document",
|
|
1667
|
+
documentId: id,
|
|
1668
|
+
title
|
|
1669
|
+
};
|
|
1670
|
+
showShareDialog = true;
|
|
1671
|
+
}
|
|
1672
|
+
function openShareDialogForFolder(id, name) {
|
|
1673
|
+
shareTarget = {
|
|
1674
|
+
kind: "folder",
|
|
1675
|
+
folderId: id,
|
|
1676
|
+
name
|
|
1677
|
+
};
|
|
1678
|
+
showShareDialog = true;
|
|
1679
|
+
}
|
|
1680
|
+
function openShareDialogForCategory(id, name) {
|
|
1681
|
+
shareTarget = {
|
|
1682
|
+
kind: "category",
|
|
1683
|
+
categoryId: id,
|
|
1684
|
+
name
|
|
1685
|
+
};
|
|
1686
|
+
showShareDialog = true;
|
|
1687
|
+
}
|
|
1688
|
+
function handleNewDocument() {
|
|
1689
|
+
let url = "/docs/new";
|
|
1690
|
+
const params = new URLSearchParams();
|
|
1691
|
+
if (activeFolderId()) params.set("folder", activeFolderId());
|
|
1692
|
+
if (activeCategoryId()) params.set("category", activeCategoryId());
|
|
1693
|
+
const qs = params.toString();
|
|
1694
|
+
if (qs) url += `?${qs}`;
|
|
1695
|
+
goto(url);
|
|
1696
|
+
}
|
|
1697
|
+
function handleRenameFolder(id) {
|
|
1698
|
+
const folder = activeFolderId() ? data.activeFolder?.children?.find((c) => c.id === id) : data.rootFolders.find((f) => f.id === id);
|
|
1699
|
+
if (!folder) return;
|
|
1700
|
+
folderDialogMode = "edit";
|
|
1701
|
+
folderDialogTarget = {
|
|
1702
|
+
id: folder.id,
|
|
1703
|
+
name: folder.name
|
|
1704
|
+
};
|
|
1705
|
+
showFolderDialog = true;
|
|
1706
|
+
}
|
|
1707
|
+
async function saveFolder(name) {
|
|
1708
|
+
if (folderDialogMode === "create") await apiFetch("/api/folders", {
|
|
1709
|
+
method: "POST",
|
|
1710
|
+
body: JSON.stringify({
|
|
1711
|
+
name,
|
|
1712
|
+
parentId: activeFolderId() || null,
|
|
1713
|
+
categoryId: activeFolderId() ? null : activeCategoryId() || null
|
|
1714
|
+
})
|
|
1715
|
+
});
|
|
1716
|
+
else if (folderDialogMode === "edit" && folderDialogTarget) await apiFetch(`/api/folders/${folderDialogTarget.id}`, {
|
|
1717
|
+
method: "PATCH",
|
|
1718
|
+
body: JSON.stringify({ name })
|
|
1719
|
+
});
|
|
1720
|
+
showFolderDialog = false;
|
|
1721
|
+
refreshFolders();
|
|
1722
|
+
await invalidateAll();
|
|
1723
|
+
}
|
|
1724
|
+
function handleDeleteFolder(id) {
|
|
1725
|
+
deleteFolderTargetId = id;
|
|
1726
|
+
showDeleteFolderDialog = true;
|
|
1727
|
+
}
|
|
1728
|
+
async function confirmDeleteFolder() {
|
|
1729
|
+
const id = deleteFolderTargetId;
|
|
1730
|
+
if (!id || deleteFolderBusy) return;
|
|
1731
|
+
deleteFolderBusy = true;
|
|
1732
|
+
try {
|
|
1733
|
+
await apiFetch(`/api/folders/${id}`, { method: "DELETE" });
|
|
1734
|
+
showDeleteFolderDialog = false;
|
|
1735
|
+
deleteFolderTargetId = null;
|
|
1736
|
+
await invalidateAll();
|
|
1737
|
+
refreshFolders();
|
|
1738
|
+
refreshDocs();
|
|
1739
|
+
} catch (e) {
|
|
1740
|
+
console.error("Failed to delete folder", e);
|
|
1741
|
+
} finally {
|
|
1742
|
+
deleteFolderBusy = false;
|
|
1743
|
+
}
|
|
1744
|
+
}
|
|
1745
|
+
async function handleDeleteDocument(id) {
|
|
1746
|
+
if (!confirm(`${action_delete()}?`)) return;
|
|
1747
|
+
try {
|
|
1748
|
+
await apiFetch(`/api/documents/${id}`, { method: "DELETE" });
|
|
1749
|
+
await invalidateAll();
|
|
1750
|
+
refreshDocs();
|
|
1751
|
+
} catch (e) {
|
|
1752
|
+
console.error("Failed to delete document", e);
|
|
1753
|
+
}
|
|
1754
|
+
}
|
|
1755
|
+
async function handleDuplicateDocument(id) {
|
|
1756
|
+
if (duplicatingDocumentId) return;
|
|
1757
|
+
duplicatingDocumentId = id;
|
|
1758
|
+
try {
|
|
1759
|
+
const duplicate = await duplicateDocument(id);
|
|
1760
|
+
optimisticDocuments = [...optimisticDocuments.filter((doc) => doc.id !== duplicate.id), duplicate];
|
|
1761
|
+
await invalidateAll();
|
|
1762
|
+
const currentDocuments = data.activeFolder?.documents ?? data.recentDocs;
|
|
1763
|
+
optimisticDocuments = optimisticDocuments.filter((doc) => !currentDocuments.some((current) => current.id === doc.id));
|
|
1764
|
+
refreshDocs();
|
|
1765
|
+
} catch (e) {
|
|
1766
|
+
console.error("Failed to duplicate document", e);
|
|
1767
|
+
} finally {
|
|
1768
|
+
duplicatingDocumentId = null;
|
|
1769
|
+
}
|
|
1770
|
+
}
|
|
1771
|
+
function triggerImport() {}
|
|
1772
|
+
function closeImport() {
|
|
1773
|
+
importOpen = false;
|
|
1774
|
+
setTimeout(() => {
|
|
1775
|
+
importItems = [];
|
|
1776
|
+
}, 200);
|
|
1777
|
+
}
|
|
1778
|
+
function updateFilters() {
|
|
1779
|
+
const params = new URLSearchParams(page.url.searchParams);
|
|
1780
|
+
if (searchQuery.trim());
|
|
1781
|
+
else params.delete("q");
|
|
1782
|
+
if (selectedTagId) params.set("tag", selectedTagId);
|
|
1783
|
+
else params.delete("tag");
|
|
1784
|
+
if (dateFrom) params.set("dateFrom", dateFrom);
|
|
1785
|
+
else params.delete("dateFrom");
|
|
1786
|
+
if (dateTo) params.set("dateTo", dateTo);
|
|
1787
|
+
else params.delete("dateTo");
|
|
1788
|
+
goto(`/?${params.toString()}`, {
|
|
1789
|
+
replaceState: true,
|
|
1790
|
+
keepFocus: true,
|
|
1791
|
+
noScroll: true
|
|
1792
|
+
});
|
|
1793
|
+
}
|
|
1794
|
+
const hasActiveFilters = $.derived(() => searchQuery.trim() !== "" || selectedTagId !== null || dateFrom !== "" || dateTo !== "");
|
|
1795
|
+
const filteredFolders = $.derived(() => {
|
|
1796
|
+
let list = activeFolderId() ? data.activeFolder?.children ?? [] : data.rootFolders;
|
|
1797
|
+
if (!activeFolderId() && activeCategoryId()) list = list.filter((f) => f.categoryId === activeCategoryId());
|
|
1798
|
+
if (searchQuery.trim());
|
|
1799
|
+
if (dateFrom) {
|
|
1800
|
+
const fromTime = new Date(dateFrom).getTime();
|
|
1801
|
+
list = list.filter((f) => new Date(f.updatedAt).getTime() >= fromTime);
|
|
1802
|
+
}
|
|
1803
|
+
if (dateTo) {
|
|
1804
|
+
const toTime = new Date(dateTo).getTime();
|
|
1805
|
+
list = list.filter((f) => new Date(f.updatedAt).getTime() <= toTime);
|
|
1806
|
+
}
|
|
1807
|
+
return list;
|
|
1808
|
+
});
|
|
1809
|
+
const filteredDocuments = $.derived(() => {
|
|
1810
|
+
let list = activeFolderId() ? data.activeFolder?.documents ?? [] : data.recentDocs;
|
|
1811
|
+
const extras = optimisticDocuments.filter((doc) => !list.some((current) => current.id === doc.id));
|
|
1812
|
+
if (extras.length > 0) list = [...list, ...extras];
|
|
1813
|
+
list = [...list].sort((a, b) => Date.parse(b.updatedAt) - Date.parse(a.updatedAt));
|
|
1814
|
+
if (searchQuery.trim());
|
|
1815
|
+
if (selectedTagId) {
|
|
1816
|
+
const tagId = selectedTagId;
|
|
1817
|
+
list = list.filter((d) => d.tags.includes(tagId));
|
|
1818
|
+
}
|
|
1819
|
+
if (dateFrom) {
|
|
1820
|
+
const fromTime = new Date(dateFrom).getTime();
|
|
1821
|
+
list = list.filter((d) => new Date(d.updatedAt).getTime() >= fromTime);
|
|
1822
|
+
}
|
|
1823
|
+
if (dateTo) {
|
|
1824
|
+
const toTime = new Date(dateTo).getTime();
|
|
1825
|
+
list = list.filter((d) => new Date(d.updatedAt).getTime() <= toTime);
|
|
1826
|
+
}
|
|
1827
|
+
return list;
|
|
1828
|
+
});
|
|
1829
|
+
const visibleSections = $.derived(() => {
|
|
1830
|
+
const byCategory = /* @__PURE__ */ new Map();
|
|
1831
|
+
for (const cat of data.categories) byCategory.set(cat.id, []);
|
|
1832
|
+
const uncategorized = [];
|
|
1833
|
+
for (const folder of filteredFolders()) if (folder.categoryId && byCategory.has(folder.categoryId)) byCategory.get(folder.categoryId)?.push(folder);
|
|
1834
|
+
else uncategorized.push(folder);
|
|
1835
|
+
const items = [];
|
|
1836
|
+
for (const cat of data.categories) items.push({
|
|
1837
|
+
key: cat.id,
|
|
1838
|
+
category: cat,
|
|
1839
|
+
folders: byCategory.get(cat.id) ?? []
|
|
1840
|
+
});
|
|
1841
|
+
items.push({
|
|
1842
|
+
key: "__uncategorized__",
|
|
1843
|
+
category: null,
|
|
1844
|
+
folders: uncategorized
|
|
1845
|
+
});
|
|
1846
|
+
if (activeCategoryId()) return items.filter((s) => s.key === activeCategoryId());
|
|
1847
|
+
return items.filter((s) => s.folders.length > 0);
|
|
1848
|
+
});
|
|
1849
|
+
const isRootEmpty = $.derived(() => filteredFolders().length === 0 && filteredDocuments().length === 0);
|
|
1850
|
+
const isFolderEmpty = $.derived(() => activeFolderId() && (data.activeFolder?.children?.length ?? 0) === 0 && (data.activeFolder?.documents?.length ?? 0) === 0);
|
|
1851
|
+
let $$settled = true;
|
|
1852
|
+
let $$inner_renderer;
|
|
1853
|
+
function $$render_inner($$renderer) {
|
|
1854
|
+
$.head("e61um3", $$renderer, ($$renderer) => {
|
|
1855
|
+
$$renderer.title(($$renderer) => {
|
|
1856
|
+
$$renderer.push(`<title>
|
|
1857
|
+
${$.escape(activeFolderId() ? folder_page_title({ name: data.activeFolder?.name || "Folder" }) : activeCategoryId() ? data.categories.find((c) => c.id === activeCategoryId())?.name || "Category" : dashboard_page_title())}
|
|
1858
|
+
</title>`);
|
|
1859
|
+
});
|
|
1860
|
+
});
|
|
1861
|
+
$$renderer.push(`<div class="dashboard-shell mx-auto max-w-5xl px-6 py-8 svelte-e61um3"><div class="dashboard-header mb-8 flex flex-wrap items-center justify-between gap-4 svelte-e61um3"><div class="dashboard-context-identity flex items-center gap-3 flex-1 min-w-0 svelte-e61um3">`);
|
|
1862
|
+
if (activeFolderId()) {
|
|
1863
|
+
$$renderer.push("<!--[0-->");
|
|
1864
|
+
const activeFolderCategoryId = data.activeFolder?.categoryId;
|
|
1865
|
+
Button($$renderer, {
|
|
1866
|
+
variant: "ghost",
|
|
1867
|
+
size: "icon",
|
|
1868
|
+
class: "size-8 shrink-0",
|
|
1869
|
+
onclick: () => {
|
|
1870
|
+
const parentId = data.activeFolder?.parentId;
|
|
1871
|
+
if (parentId) goto(`/?folder=${parentId}`);
|
|
1872
|
+
else goto("/");
|
|
1873
|
+
},
|
|
1874
|
+
title: action_back(),
|
|
1875
|
+
children: ($$renderer) => {
|
|
1876
|
+
Arrow_left($$renderer, { class: "size-4" });
|
|
1877
|
+
},
|
|
1878
|
+
$$slots: { default: true }
|
|
1879
|
+
});
|
|
1880
|
+
$$renderer.push(`<!----> `);
|
|
1881
|
+
Folder_open($$renderer, { class: "size-7 shrink-0 text-primary" });
|
|
1882
|
+
$$renderer.push(`<!----> <h1 class="text-2xl font-semibold tracking-tight truncate svelte-e61um3">${$.escape(data.activeFolder?.name || "Folder")}</h1> `);
|
|
1883
|
+
if (activeFolderCategoryId) {
|
|
1884
|
+
$$renderer.push("<!--[0-->");
|
|
1885
|
+
const cat = data.categories.find((c) => c.id === activeFolderCategoryId);
|
|
1886
|
+
if (cat) {
|
|
1887
|
+
$$renderer.push("<!--[0-->");
|
|
1888
|
+
Badge($$renderer, {
|
|
1889
|
+
variant: "secondary",
|
|
1890
|
+
children: ($$renderer) => {
|
|
1891
|
+
$$renderer.push(`<!---->${$.escape(cat.name)}`);
|
|
1892
|
+
},
|
|
1893
|
+
$$slots: { default: true }
|
|
1894
|
+
});
|
|
1895
|
+
} else $$renderer.push("<!--[-1-->");
|
|
1896
|
+
$$renderer.push(`<!--]-->`);
|
|
1897
|
+
} else $$renderer.push("<!--[-1-->");
|
|
1898
|
+
$$renderer.push(`<!--]-->`);
|
|
1899
|
+
} else if (activeCategoryId()) {
|
|
1900
|
+
$$renderer.push("<!--[1-->");
|
|
1901
|
+
Button($$renderer, {
|
|
1902
|
+
variant: "ghost",
|
|
1903
|
+
size: "icon",
|
|
1904
|
+
class: "size-8 shrink-0",
|
|
1905
|
+
onclick: () => goto("/"),
|
|
1906
|
+
title: action_back(),
|
|
1907
|
+
children: ($$renderer) => {
|
|
1908
|
+
Arrow_left($$renderer, { class: "size-4" });
|
|
1909
|
+
},
|
|
1910
|
+
$$slots: { default: true }
|
|
1911
|
+
});
|
|
1912
|
+
$$renderer.push(`<!----> `);
|
|
1913
|
+
Folder_kanban($$renderer, { class: "size-7 shrink-0 text-primary" });
|
|
1914
|
+
$$renderer.push(`<!----> <h1 class="text-2xl font-semibold tracking-tight truncate svelte-e61um3">${$.escape(data.categories.find((c) => c.id === activeCategoryId())?.name || "Category")}</h1>`);
|
|
1915
|
+
} else {
|
|
1916
|
+
$$renderer.push("<!--[-1-->");
|
|
1917
|
+
$$renderer.push(`<div class="dashboard-identity flex items-center gap-3"><div class="flex size-10 items-center justify-center rounded-lg bg-primary/10">`);
|
|
1918
|
+
Layout_dashboard($$renderer, { class: "size-5 text-primary" });
|
|
1919
|
+
$$renderer.push(`<!----></div> <div><h1 class="text-2xl font-semibold tracking-tight svelte-e61um3">${$.escape(dashboard_title())}</h1> <p class="text-sm text-muted-foreground svelte-e61um3">${$.escape(dashboard_subtitle())}</p></div></div>`);
|
|
1920
|
+
}
|
|
1921
|
+
$$renderer.push(`<!--]--></div> <div class="dashboard-header-actions ml-auto flex items-center justify-end gap-2 svelte-e61um3"><input type="file" accept=".md,.txt,.json,.markdown,.docx" multiple="" class="hidden"/> `);
|
|
1922
|
+
Button($$renderer, {
|
|
1923
|
+
variant: "outline",
|
|
1924
|
+
size: "sm",
|
|
1925
|
+
onclick: triggerImport,
|
|
1926
|
+
class: "text-muted-foreground",
|
|
1927
|
+
"aria-label": dashboard_import(),
|
|
1928
|
+
children: ($$renderer) => {
|
|
1929
|
+
Upload($$renderer, { class: "size-4" });
|
|
1930
|
+
$$renderer.push(`<!----> <span class="dashboard-action-label svelte-e61um3">${$.escape(dashboard_import())}</span>`);
|
|
1931
|
+
},
|
|
1932
|
+
$$slots: { default: true }
|
|
1933
|
+
});
|
|
1934
|
+
$$renderer.push(`<!----> `);
|
|
1935
|
+
Button($$renderer, {
|
|
1936
|
+
size: "sm",
|
|
1937
|
+
onclick: handleNewDocument,
|
|
1938
|
+
"aria-label": dashboard_new_document(),
|
|
1939
|
+
children: ($$renderer) => {
|
|
1940
|
+
Plus($$renderer, { class: "size-4" });
|
|
1941
|
+
$$renderer.push(`<!----> <span class="dashboard-action-label svelte-e61um3">${$.escape(dashboard_new_document())}</span>`);
|
|
1942
|
+
},
|
|
1943
|
+
$$slots: { default: true }
|
|
1944
|
+
});
|
|
1945
|
+
$$renderer.push(`<!----> `);
|
|
1946
|
+
if (activeFolderId() && data.activeFolder) {
|
|
1947
|
+
$$renderer.push("<!--[0-->");
|
|
1948
|
+
Button($$renderer, {
|
|
1949
|
+
variant: "outline",
|
|
1950
|
+
size: "sm",
|
|
1951
|
+
onclick: () => openShareDialogForFolder(activeFolderId(), data.activeFolder?.name || "Folder"),
|
|
1952
|
+
"aria-label": doc_share(),
|
|
1953
|
+
children: ($$renderer) => {
|
|
1954
|
+
Share_2($$renderer, { class: "size-3.5" });
|
|
1955
|
+
$$renderer.push(`<!----> <span class="dashboard-action-label svelte-e61um3">${$.escape(doc_share())}</span>`);
|
|
1956
|
+
},
|
|
1957
|
+
$$slots: { default: true }
|
|
1958
|
+
});
|
|
1959
|
+
} else if (activeCategoryId()) {
|
|
1960
|
+
$$renderer.push("<!--[1-->");
|
|
1961
|
+
const activeCategory = data.categories.find((category) => category.id === activeCategoryId());
|
|
1962
|
+
if (activeCategory) {
|
|
1963
|
+
$$renderer.push("<!--[0-->");
|
|
1964
|
+
Button($$renderer, {
|
|
1965
|
+
variant: "outline",
|
|
1966
|
+
size: "sm",
|
|
1967
|
+
onclick: () => openShareDialogForCategory(activeCategory.id, activeCategory.name),
|
|
1968
|
+
"aria-label": doc_share(),
|
|
1969
|
+
children: ($$renderer) => {
|
|
1970
|
+
Share_2($$renderer, { class: "size-3.5" });
|
|
1971
|
+
$$renderer.push(`<!----> <span class="dashboard-action-label svelte-e61um3">${$.escape(doc_share())}</span>`);
|
|
1972
|
+
},
|
|
1973
|
+
$$slots: { default: true }
|
|
1974
|
+
});
|
|
1975
|
+
} else $$renderer.push("<!--[-1-->");
|
|
1976
|
+
$$renderer.push(`<!--]-->`);
|
|
1977
|
+
} else $$renderer.push("<!--[-1-->");
|
|
1978
|
+
$$renderer.push(`<!--]--></div></div> `);
|
|
1979
|
+
if (dashboardWidgets().length > 0) {
|
|
1980
|
+
$$renderer.push("<!--[0-->");
|
|
1981
|
+
$$renderer.push(`<section class="mb-8 grid grid-cols-1 gap-4 md:grid-cols-2" data-hiai-docs-extension-zone="dashboard-widgets" aria-label="Dashboard extensions"><!--[-->`);
|
|
1982
|
+
const each_array = $.ensure_array_like(dashboardWidgets());
|
|
1983
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
1984
|
+
let widget = each_array[$$index];
|
|
1985
|
+
const Widget = widget.component;
|
|
1986
|
+
$$renderer.push(`<div class="rounded-xl border border-border bg-card p-4"${$.attr("data-hiai-docs-extension-id", widget.id)}>`);
|
|
1987
|
+
if (widget.title) {
|
|
1988
|
+
$$renderer.push("<!--[0-->");
|
|
1989
|
+
$$renderer.push(`<h2 class="mb-3 text-sm font-semibold">${$.escape(widget.title)}</h2>`);
|
|
1990
|
+
} else $$renderer.push("<!--[-1-->");
|
|
1991
|
+
$$renderer.push(`<!--]--> `);
|
|
1992
|
+
if (Widget) {
|
|
1993
|
+
$$renderer.push("<!--[-->");
|
|
1994
|
+
Widget($$renderer, { userId: extensionContext.userId });
|
|
1995
|
+
$$renderer.push("<!--]-->");
|
|
1996
|
+
} else {
|
|
1997
|
+
$$renderer.push("<!--[!-->");
|
|
1998
|
+
$$renderer.push("<!--]-->");
|
|
1999
|
+
}
|
|
2000
|
+
$$renderer.push(`</div>`);
|
|
2001
|
+
}
|
|
2002
|
+
$$renderer.push(`<!--]--></section>`);
|
|
2003
|
+
} else $$renderer.push("<!--[-1-->");
|
|
2004
|
+
$$renderer.push(`<!--]--> `);
|
|
2005
|
+
if (activeFolderId() && data.breadcrumb?.length > 0) {
|
|
2006
|
+
$$renderer.push("<!--[0-->");
|
|
2007
|
+
$$renderer.push(`<nav class="mb-6 flex flex-wrap items-center gap-1.5 text-sm text-muted-foreground" aria-label="Breadcrumbs"><a href="/" class="hover:text-foreground transition-colors">Home</a> <!--[-->`);
|
|
2008
|
+
const each_array_1 = $.ensure_array_like(data.breadcrumb);
|
|
2009
|
+
for (let idx = 0, $$length = each_array_1.length; idx < $$length; idx++) {
|
|
2010
|
+
let path = each_array_1[idx];
|
|
2011
|
+
Chevron_right($$renderer, { class: "size-3.5" });
|
|
2012
|
+
$$renderer.push(`<!----> `);
|
|
2013
|
+
if (idx === data.breadcrumb.length - 1) {
|
|
2014
|
+
$$renderer.push("<!--[0-->");
|
|
2015
|
+
$$renderer.push(`<span class="font-medium text-foreground truncate max-w-[150px]">${$.escape(path.name)}</span>`);
|
|
2016
|
+
} else {
|
|
2017
|
+
$$renderer.push("<!--[-1-->");
|
|
2018
|
+
$$renderer.push(`<a${$.attr("href", `/?folder=${$.stringify(path.id)}`)} class="hover:text-foreground transition-colors truncate max-w-[150px]">${$.escape(path.name)}</a>`);
|
|
2019
|
+
}
|
|
2020
|
+
$$renderer.push(`<!--]-->`);
|
|
2021
|
+
}
|
|
2022
|
+
$$renderer.push(`<!--]--></nav>`);
|
|
2023
|
+
} else $$renderer.push("<!--[-1-->");
|
|
2024
|
+
$$renderer.push(`<!--]--> <div class="mb-8 grid grid-cols-1 gap-4 rounded-xl border border-border bg-card p-4 sm:grid-cols-2 lg:grid-cols-5"><div class="space-y-1.5">`);
|
|
2025
|
+
Label($$renderer, {
|
|
2026
|
+
for: "dash-search",
|
|
2027
|
+
class: "text-[10px] font-semibold text-muted-foreground uppercase tracking-wider",
|
|
2028
|
+
children: ($$renderer) => {
|
|
2029
|
+
$$renderer.push(`<!---->Search`);
|
|
2030
|
+
},
|
|
2031
|
+
$$slots: { default: true }
|
|
2032
|
+
});
|
|
2033
|
+
$$renderer.push(`<!----> <input id="dash-search" type="text"${$.attr("value", searchQuery)} placeholder="Filter current view..." class="h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"/></div> <div class="space-y-1.5">`);
|
|
2034
|
+
Label($$renderer, {
|
|
2035
|
+
for: "dash-category",
|
|
2036
|
+
class: "text-[10px] font-semibold text-muted-foreground uppercase tracking-wider",
|
|
2037
|
+
children: ($$renderer) => {
|
|
2038
|
+
$$renderer.push(`<!---->Category`);
|
|
2039
|
+
},
|
|
2040
|
+
$$slots: { default: true }
|
|
2041
|
+
});
|
|
2042
|
+
$$renderer.push(`<!----> `);
|
|
2043
|
+
if (activeFolderId()) {
|
|
2044
|
+
$$renderer.push("<!--[0-->");
|
|
2045
|
+
$$renderer.push(`<div class="h-9 w-full rounded-md border border-input bg-muted/50 px-3 py-2 text-sm shadow-sm opacity-60 flex items-center select-none">Inherited from folder</div>`);
|
|
2046
|
+
} else {
|
|
2047
|
+
$$renderer.push("<!--[-1-->");
|
|
2048
|
+
if (Select$1.Root) {
|
|
2049
|
+
$$renderer.push("<!--[-->");
|
|
2050
|
+
Select$1.Root($$renderer, {
|
|
2051
|
+
type: "single",
|
|
2052
|
+
value: activeCategoryId() ?? "all",
|
|
2053
|
+
onValueChange: (val) => {
|
|
2054
|
+
const params = new URLSearchParams(page.url.searchParams);
|
|
2055
|
+
if (val && val !== "all") params.set("category", val);
|
|
2056
|
+
else params.delete("category");
|
|
2057
|
+
goto(`/?${params.toString()}`);
|
|
2058
|
+
},
|
|
2059
|
+
children: ($$renderer) => {
|
|
2060
|
+
if (Select$1.Trigger) {
|
|
2061
|
+
$$renderer.push("<!--[-->");
|
|
2062
|
+
Select$1.Trigger($$renderer, {
|
|
2063
|
+
class: "w-full text-foreground flex items-center justify-between bg-background border border-input px-3 py-2 text-sm rounded-md shadow-sm h-9",
|
|
2064
|
+
children: ($$renderer) => {
|
|
2065
|
+
if (Select$1.Value) {
|
|
2066
|
+
$$renderer.push("<!--[-->");
|
|
2067
|
+
Select$1.Value($$renderer, {
|
|
2068
|
+
placeholder: "All Categories",
|
|
2069
|
+
children: ($$renderer) => {
|
|
2070
|
+
$$renderer.push(`<!---->${$.escape(activeCategoryId() ? data.categories.find((c) => c.id === activeCategoryId())?.name ?? "All Categories" : "All Categories")}`);
|
|
2071
|
+
},
|
|
2072
|
+
$$slots: { default: true }
|
|
2073
|
+
});
|
|
2074
|
+
$$renderer.push("<!--]-->");
|
|
2075
|
+
} else {
|
|
2076
|
+
$$renderer.push("<!--[!-->");
|
|
2077
|
+
$$renderer.push("<!--]-->");
|
|
2078
|
+
}
|
|
2079
|
+
$$renderer.push(` `);
|
|
2080
|
+
Chevron_down($$renderer, { class: "size-4 opacity-50" });
|
|
2081
|
+
$$renderer.push(`<!---->`);
|
|
2082
|
+
},
|
|
2083
|
+
$$slots: { default: true }
|
|
2084
|
+
});
|
|
2085
|
+
$$renderer.push("<!--]-->");
|
|
2086
|
+
} else {
|
|
2087
|
+
$$renderer.push("<!--[!-->");
|
|
2088
|
+
$$renderer.push("<!--]-->");
|
|
2089
|
+
}
|
|
2090
|
+
$$renderer.push(` `);
|
|
2091
|
+
if (Select$1.Content) {
|
|
2092
|
+
$$renderer.push("<!--[-->");
|
|
2093
|
+
Select$1.Content($$renderer, {
|
|
2094
|
+
class: "w-[var(--bits-select-trigger-width)]",
|
|
2095
|
+
children: ($$renderer) => {
|
|
2096
|
+
if (Select$1.Item) {
|
|
2097
|
+
$$renderer.push("<!--[-->");
|
|
2098
|
+
Select$1.Item($$renderer, {
|
|
2099
|
+
value: "all",
|
|
2100
|
+
children: ($$renderer) => {
|
|
2101
|
+
$$renderer.push(`<!---->All Categories`);
|
|
2102
|
+
},
|
|
2103
|
+
$$slots: { default: true }
|
|
2104
|
+
});
|
|
2105
|
+
$$renderer.push("<!--]-->");
|
|
2106
|
+
} else {
|
|
2107
|
+
$$renderer.push("<!--[!-->");
|
|
2108
|
+
$$renderer.push("<!--]-->");
|
|
2109
|
+
}
|
|
2110
|
+
$$renderer.push(` <!--[-->`);
|
|
2111
|
+
const each_array_2 = $.ensure_array_like(data.categories);
|
|
2112
|
+
for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {
|
|
2113
|
+
let cat = each_array_2[$$index_2];
|
|
2114
|
+
if (Select$1.Item) {
|
|
2115
|
+
$$renderer.push("<!--[-->");
|
|
2116
|
+
Select$1.Item($$renderer, {
|
|
2117
|
+
value: cat.id,
|
|
2118
|
+
children: ($$renderer) => {
|
|
2119
|
+
$$renderer.push(`<!---->${$.escape(cat.name)}`);
|
|
2120
|
+
},
|
|
2121
|
+
$$slots: { default: true }
|
|
2122
|
+
});
|
|
2123
|
+
$$renderer.push("<!--]-->");
|
|
2124
|
+
} else {
|
|
2125
|
+
$$renderer.push("<!--[!-->");
|
|
2126
|
+
$$renderer.push("<!--]-->");
|
|
2127
|
+
}
|
|
2128
|
+
}
|
|
2129
|
+
$$renderer.push(`<!--]-->`);
|
|
2130
|
+
},
|
|
2131
|
+
$$slots: { default: true }
|
|
2132
|
+
});
|
|
2133
|
+
$$renderer.push("<!--]-->");
|
|
2134
|
+
} else {
|
|
2135
|
+
$$renderer.push("<!--[!-->");
|
|
2136
|
+
$$renderer.push("<!--]-->");
|
|
2137
|
+
}
|
|
2138
|
+
},
|
|
2139
|
+
$$slots: { default: true }
|
|
2140
|
+
});
|
|
2141
|
+
$$renderer.push("<!--]-->");
|
|
2142
|
+
} else {
|
|
2143
|
+
$$renderer.push("<!--[!-->");
|
|
2144
|
+
$$renderer.push("<!--]-->");
|
|
2145
|
+
}
|
|
2146
|
+
}
|
|
2147
|
+
$$renderer.push(`<!--]--></div> <div class="space-y-1.5">`);
|
|
2148
|
+
Label($$renderer, {
|
|
2149
|
+
for: "dash-tag",
|
|
2150
|
+
class: "text-[10px] font-semibold text-muted-foreground uppercase tracking-wider",
|
|
2151
|
+
children: ($$renderer) => {
|
|
2152
|
+
$$renderer.push(`<!---->Tag`);
|
|
2153
|
+
},
|
|
2154
|
+
$$slots: { default: true }
|
|
2155
|
+
});
|
|
2156
|
+
$$renderer.push(`<!----> `);
|
|
2157
|
+
if (Select$1.Root) {
|
|
2158
|
+
$$renderer.push("<!--[-->");
|
|
2159
|
+
Select$1.Root($$renderer, {
|
|
2160
|
+
type: "single",
|
|
2161
|
+
value: selectedTagId ?? "all",
|
|
2162
|
+
onValueChange: (val) => {
|
|
2163
|
+
selectedTagId = val === "all" ? null : val;
|
|
2164
|
+
updateFilters();
|
|
2165
|
+
},
|
|
2166
|
+
children: ($$renderer) => {
|
|
2167
|
+
if (Select$1.Trigger) {
|
|
2168
|
+
$$renderer.push("<!--[-->");
|
|
2169
|
+
Select$1.Trigger($$renderer, {
|
|
2170
|
+
class: "w-full text-foreground flex items-center justify-between bg-background border border-input px-3 py-2 text-sm rounded-md shadow-sm h-9",
|
|
2171
|
+
children: ($$renderer) => {
|
|
2172
|
+
if (Select$1.Value) {
|
|
2173
|
+
$$renderer.push("<!--[-->");
|
|
2174
|
+
Select$1.Value($$renderer, {
|
|
2175
|
+
placeholder: "All Tags",
|
|
2176
|
+
children: ($$renderer) => {
|
|
2177
|
+
$$renderer.push(`<!---->${$.escape(selectedTagId ? data.tags.find((t) => t.id === selectedTagId)?.name ?? "All Tags" : "All Tags")}`);
|
|
2178
|
+
},
|
|
2179
|
+
$$slots: { default: true }
|
|
2180
|
+
});
|
|
2181
|
+
$$renderer.push("<!--]-->");
|
|
2182
|
+
} else {
|
|
2183
|
+
$$renderer.push("<!--[!-->");
|
|
2184
|
+
$$renderer.push("<!--]-->");
|
|
2185
|
+
}
|
|
2186
|
+
$$renderer.push(` `);
|
|
2187
|
+
Chevron_down($$renderer, { class: "size-4 opacity-50" });
|
|
2188
|
+
$$renderer.push(`<!---->`);
|
|
2189
|
+
},
|
|
2190
|
+
$$slots: { default: true }
|
|
2191
|
+
});
|
|
2192
|
+
$$renderer.push("<!--]-->");
|
|
2193
|
+
} else {
|
|
2194
|
+
$$renderer.push("<!--[!-->");
|
|
2195
|
+
$$renderer.push("<!--]-->");
|
|
2196
|
+
}
|
|
2197
|
+
$$renderer.push(` `);
|
|
2198
|
+
if (Select$1.Content) {
|
|
2199
|
+
$$renderer.push("<!--[-->");
|
|
2200
|
+
Select$1.Content($$renderer, {
|
|
2201
|
+
class: "w-[var(--bits-select-trigger-width)]",
|
|
2202
|
+
children: ($$renderer) => {
|
|
2203
|
+
if (Select$1.Item) {
|
|
2204
|
+
$$renderer.push("<!--[-->");
|
|
2205
|
+
Select$1.Item($$renderer, {
|
|
2206
|
+
value: "all",
|
|
2207
|
+
children: ($$renderer) => {
|
|
2208
|
+
$$renderer.push(`<!---->All Tags`);
|
|
2209
|
+
},
|
|
2210
|
+
$$slots: { default: true }
|
|
2211
|
+
});
|
|
2212
|
+
$$renderer.push("<!--]-->");
|
|
2213
|
+
} else {
|
|
2214
|
+
$$renderer.push("<!--[!-->");
|
|
2215
|
+
$$renderer.push("<!--]-->");
|
|
2216
|
+
}
|
|
2217
|
+
$$renderer.push(` <!--[-->`);
|
|
2218
|
+
const each_array_3 = $.ensure_array_like(data.tags);
|
|
2219
|
+
for (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {
|
|
2220
|
+
let tag = each_array_3[$$index_3];
|
|
2221
|
+
if (Select$1.Item) {
|
|
2222
|
+
$$renderer.push("<!--[-->");
|
|
2223
|
+
Select$1.Item($$renderer, {
|
|
2224
|
+
value: tag.id,
|
|
2225
|
+
children: ($$renderer) => {
|
|
2226
|
+
$$renderer.push(`<!---->${$.escape(tag.name)}`);
|
|
2227
|
+
},
|
|
2228
|
+
$$slots: { default: true }
|
|
2229
|
+
});
|
|
2230
|
+
$$renderer.push("<!--]-->");
|
|
2231
|
+
} else {
|
|
2232
|
+
$$renderer.push("<!--[!-->");
|
|
2233
|
+
$$renderer.push("<!--]-->");
|
|
2234
|
+
}
|
|
2235
|
+
}
|
|
2236
|
+
$$renderer.push(`<!--]-->`);
|
|
2237
|
+
},
|
|
2238
|
+
$$slots: { default: true }
|
|
2239
|
+
});
|
|
2240
|
+
$$renderer.push("<!--]-->");
|
|
2241
|
+
} else {
|
|
2242
|
+
$$renderer.push("<!--[!-->");
|
|
2243
|
+
$$renderer.push("<!--]-->");
|
|
2244
|
+
}
|
|
2245
|
+
},
|
|
2246
|
+
$$slots: { default: true }
|
|
2247
|
+
});
|
|
2248
|
+
$$renderer.push("<!--]-->");
|
|
2249
|
+
} else {
|
|
2250
|
+
$$renderer.push("<!--[!-->");
|
|
2251
|
+
$$renderer.push("<!--]-->");
|
|
2252
|
+
}
|
|
2253
|
+
$$renderer.push(`</div> <div class="space-y-1.5">`);
|
|
2254
|
+
Label($$renderer, {
|
|
2255
|
+
for: "date-from",
|
|
2256
|
+
class: "text-[10px] font-semibold text-muted-foreground uppercase tracking-wider",
|
|
2257
|
+
children: ($$renderer) => {
|
|
2258
|
+
$$renderer.push(`<!---->From Date`);
|
|
2259
|
+
},
|
|
2260
|
+
$$slots: { default: true }
|
|
2261
|
+
});
|
|
2262
|
+
$$renderer.push(`<!----> `);
|
|
2263
|
+
DatePicker($$renderer, {
|
|
2264
|
+
id: "date-from",
|
|
2265
|
+
onchange: updateFilters,
|
|
2266
|
+
placeholder: "From Date",
|
|
2267
|
+
get value() {
|
|
2268
|
+
return dateFrom;
|
|
2269
|
+
},
|
|
2270
|
+
set value($$value) {
|
|
2271
|
+
dateFrom = $$value;
|
|
2272
|
+
$$settled = false;
|
|
2273
|
+
}
|
|
2274
|
+
});
|
|
2275
|
+
$$renderer.push(`<!----></div> <div class="space-y-1.5">`);
|
|
2276
|
+
Label($$renderer, {
|
|
2277
|
+
for: "date-to",
|
|
2278
|
+
class: "text-[10px] font-semibold text-muted-foreground uppercase tracking-wider",
|
|
2279
|
+
children: ($$renderer) => {
|
|
2280
|
+
$$renderer.push(`<!---->To Date`);
|
|
2281
|
+
},
|
|
2282
|
+
$$slots: { default: true }
|
|
2283
|
+
});
|
|
2284
|
+
$$renderer.push(`<!----> `);
|
|
2285
|
+
DatePicker($$renderer, {
|
|
2286
|
+
id: "date-to",
|
|
2287
|
+
onchange: updateFilters,
|
|
2288
|
+
placeholder: "To Date",
|
|
2289
|
+
get value() {
|
|
2290
|
+
return dateTo;
|
|
2291
|
+
},
|
|
2292
|
+
set value($$value) {
|
|
2293
|
+
dateTo = $$value;
|
|
2294
|
+
$$settled = false;
|
|
2295
|
+
}
|
|
2296
|
+
});
|
|
2297
|
+
$$renderer.push(`<!----></div></div> `);
|
|
2298
|
+
if (hasActiveFilters()) {
|
|
2299
|
+
$$renderer.push("<!--[0-->");
|
|
2300
|
+
$$renderer.push(`<div class="mb-6 flex flex-wrap items-center gap-2 rounded-xl border border-border bg-muted/30 px-4 py-2 text-sm"><span class="text-xs font-semibold text-muted-foreground uppercase tracking-wider">Filters:</span> `);
|
|
2301
|
+
if (searchQuery.trim());
|
|
2302
|
+
else $$renderer.push("<!--[-1-->");
|
|
2303
|
+
$$renderer.push(`<!--]--> `);
|
|
2304
|
+
if (selectedTagId) {
|
|
2305
|
+
$$renderer.push("<!--[0-->");
|
|
2306
|
+
const tag = data.tags.find((t) => t.id === selectedTagId);
|
|
2307
|
+
if (tag) {
|
|
2308
|
+
$$renderer.push("<!--[0-->");
|
|
2309
|
+
Badge($$renderer, {
|
|
2310
|
+
variant: "secondary",
|
|
2311
|
+
class: "flex items-center gap-1.5",
|
|
2312
|
+
children: ($$renderer) => {
|
|
2313
|
+
$$renderer.push(`<span class="size-2 rounded-full"${$.attr_style(`background-color: ${$.stringify(tag.color || "#cccccc")}`)}></span> <span>Tag: ${$.escape(tag.name)}</span> <button class="text-muted-foreground hover:text-foreground">`);
|
|
2314
|
+
X($$renderer, { class: "size-3" });
|
|
2315
|
+
$$renderer.push(`<!----></button>`);
|
|
2316
|
+
},
|
|
2317
|
+
$$slots: { default: true }
|
|
2318
|
+
});
|
|
2319
|
+
} else $$renderer.push("<!--[-1-->");
|
|
2320
|
+
$$renderer.push(`<!--]-->`);
|
|
2321
|
+
} else $$renderer.push("<!--[-1-->");
|
|
2322
|
+
$$renderer.push(`<!--]--> `);
|
|
2323
|
+
if (dateFrom || dateTo) {
|
|
2324
|
+
$$renderer.push("<!--[0-->");
|
|
2325
|
+
Badge($$renderer, {
|
|
2326
|
+
variant: "secondary",
|
|
2327
|
+
class: "flex items-center gap-1",
|
|
2328
|
+
children: ($$renderer) => {
|
|
2329
|
+
$$renderer.push(`<span>Date: ${$.escape(dateFrom || "*")} to ${$.escape(dateTo || "*")}</span> <button class="text-muted-foreground hover:text-foreground">`);
|
|
2330
|
+
X($$renderer, { class: "size-3" });
|
|
2331
|
+
$$renderer.push(`<!----></button>`);
|
|
2332
|
+
},
|
|
2333
|
+
$$slots: { default: true }
|
|
2334
|
+
});
|
|
2335
|
+
} else $$renderer.push("<!--[-1-->");
|
|
2336
|
+
$$renderer.push(`<!--]--> <button class="ml-auto inline-flex items-center gap-1 text-xs font-semibold text-destructive hover:underline">`);
|
|
2337
|
+
Rotate_ccw($$renderer, { class: "size-3" });
|
|
2338
|
+
$$renderer.push(`<!----> Clear Filters</button></div>`);
|
|
2339
|
+
} else $$renderer.push("<!--[-1-->");
|
|
2340
|
+
$$renderer.push(`<!--]--> `);
|
|
2341
|
+
if (activeFolderId()) {
|
|
2342
|
+
$$renderer.push("<!--[0-->");
|
|
2343
|
+
if (isFolderEmpty()) {
|
|
2344
|
+
$$renderer.push("<!--[0-->");
|
|
2345
|
+
$$renderer.push(`<div class="flex flex-col items-center justify-center py-20 text-center"><div class="mb-4 flex size-16 items-center justify-center rounded-full bg-muted">`);
|
|
2346
|
+
Folder_open($$renderer, { class: "size-8 text-muted-foreground" });
|
|
2347
|
+
$$renderer.push(`<!----></div> <h2 class="mb-2 text-lg font-semibold">Folder is empty</h2> <p class="mb-6 max-w-sm text-sm text-muted-foreground">Create a new document, subfolder, or drag and drop items here to get started.</p></div>`);
|
|
2348
|
+
} else {
|
|
2349
|
+
$$renderer.push("<!--[-1-->");
|
|
2350
|
+
if (filteredFolders().length > 0) {
|
|
2351
|
+
$$renderer.push("<!--[0-->");
|
|
2352
|
+
$$renderer.push(`<div class="mb-8"><h2 class="mb-3 text-xs font-semibold uppercase tracking-wider text-muted-foreground">Subfolders</h2> <div class="grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3"><!--[-->`);
|
|
2353
|
+
const each_array_4 = $.ensure_array_like(filteredFolders());
|
|
2354
|
+
for (let $$index_4 = 0, $$length = each_array_4.length; $$index_4 < $$length; $$index_4++) {
|
|
2355
|
+
let folder = each_array_4[$$index_4];
|
|
2356
|
+
FolderCard($$renderer, {
|
|
2357
|
+
folder,
|
|
2358
|
+
onDelete: handleDeleteFolder,
|
|
2359
|
+
onRename: handleRenameFolder,
|
|
2360
|
+
onShare: openShareDialogForFolder
|
|
2361
|
+
});
|
|
2362
|
+
}
|
|
2363
|
+
$$renderer.push(`<!--]--></div></div>`);
|
|
2364
|
+
} else $$renderer.push("<!--[-1-->");
|
|
2365
|
+
$$renderer.push(`<!--]--> `);
|
|
2366
|
+
if (filteredDocuments().length > 0) {
|
|
2367
|
+
$$renderer.push("<!--[0-->");
|
|
2368
|
+
$$renderer.push(`<div><h2 class="mb-3 text-xs font-semibold uppercase tracking-wider text-muted-foreground">${$.escape(nav_documents())}</h2> <div class="grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3"><!--[-->`);
|
|
2369
|
+
const each_array_5 = $.ensure_array_like(filteredDocuments());
|
|
2370
|
+
for (let $$index_5 = 0, $$length = each_array_5.length; $$index_5 < $$length; $$index_5++) {
|
|
2371
|
+
let doc = each_array_5[$$index_5];
|
|
2372
|
+
DocumentCard($$renderer, {
|
|
2373
|
+
document: doc,
|
|
2374
|
+
onDelete: handleDeleteDocument,
|
|
2375
|
+
onDuplicate: handleDuplicateDocument,
|
|
2376
|
+
onShare: openShareDialogForDocument,
|
|
2377
|
+
duplicateBusy: duplicatingDocumentId === doc.id
|
|
2378
|
+
});
|
|
2379
|
+
}
|
|
2380
|
+
$$renderer.push(`<!--]--></div></div>`);
|
|
2381
|
+
} else $$renderer.push("<!--[-1-->");
|
|
2382
|
+
$$renderer.push(`<!--]-->`);
|
|
2383
|
+
}
|
|
2384
|
+
$$renderer.push(`<!--]-->`);
|
|
2385
|
+
} else {
|
|
2386
|
+
$$renderer.push("<!--[-1-->");
|
|
2387
|
+
if (isRootEmpty()) {
|
|
2388
|
+
$$renderer.push("<!--[0-->");
|
|
2389
|
+
$$renderer.push(`<div class="flex flex-col items-center justify-center py-20 text-center"><div class="mb-4 flex size-16 items-center justify-center rounded-full bg-muted">`);
|
|
2390
|
+
File_text($$renderer, { class: "size-8 text-muted-foreground" });
|
|
2391
|
+
$$renderer.push(`<!----></div> <h2 class="mb-2 text-lg font-semibold">${$.escape(folders_empty())}</h2> <p class="mb-6 max-w-sm text-sm text-muted-foreground">${$.escape(folders_empty_description())}</p></div>`);
|
|
2392
|
+
} else {
|
|
2393
|
+
$$renderer.push("<!--[-1-->");
|
|
2394
|
+
$$renderer.push(`<!--[-->`);
|
|
2395
|
+
const each_array_6 = $.ensure_array_like(visibleSections());
|
|
2396
|
+
for (let $$index_7 = 0, $$length = each_array_6.length; $$index_7 < $$length; $$index_7++) {
|
|
2397
|
+
let section = each_array_6[$$index_7];
|
|
2398
|
+
const docSum = section.folders.reduce((acc, f) => acc + f.documentCount, 0);
|
|
2399
|
+
$$renderer.push(`<section${$.attr("id", `category-${$.stringify(section.key)}`)} class="mb-8"><div class="mb-3 flex items-center gap-2 text-xs font-medium uppercase tracking-wider text-muted-foreground"><h2>${$.escape(section.category ? section.category.name : sidebar_uncategorized())}</h2> `);
|
|
2400
|
+
Badge($$renderer, {
|
|
2401
|
+
variant: "secondary",
|
|
2402
|
+
class: "text-[10px]",
|
|
2403
|
+
children: ($$renderer) => {
|
|
2404
|
+
$$renderer.push(`<!---->${$.escape(docSum)} ${$.escape(docSum === 1 ? "file" : "files")}`);
|
|
2405
|
+
},
|
|
2406
|
+
$$slots: { default: true }
|
|
2407
|
+
});
|
|
2408
|
+
$$renderer.push(`<!----> `);
|
|
2409
|
+
if (section.category) {
|
|
2410
|
+
$$renderer.push("<!--[0-->");
|
|
2411
|
+
Dropdown_menu($$renderer, {
|
|
2412
|
+
children: ($$renderer) => {
|
|
2413
|
+
Dropdown_menu_trigger($$renderer, {
|
|
2414
|
+
class: "ml-auto inline-flex size-8 items-center justify-center rounded-md hover:bg-accent",
|
|
2415
|
+
"aria-label": editor_more_options(),
|
|
2416
|
+
children: ($$renderer) => {
|
|
2417
|
+
Ellipsis_vertical($$renderer, { class: "size-4" });
|
|
2418
|
+
},
|
|
2419
|
+
$$slots: { default: true }
|
|
2420
|
+
});
|
|
2421
|
+
$$renderer.push(`<!----> `);
|
|
2422
|
+
Dropdown_menu_content($$renderer, {
|
|
2423
|
+
align: "end",
|
|
2424
|
+
children: ($$renderer) => {
|
|
2425
|
+
Dropdown_menu_item($$renderer, {
|
|
2426
|
+
onSelect: () => openShareDialogForCategory(section.category.id, section.category.name),
|
|
2427
|
+
children: ($$renderer) => {
|
|
2428
|
+
Share_2($$renderer, { class: "size-4" });
|
|
2429
|
+
$$renderer.push(`<!----> ${$.escape(doc_share())}`);
|
|
2430
|
+
},
|
|
2431
|
+
$$slots: { default: true }
|
|
2432
|
+
});
|
|
2433
|
+
},
|
|
2434
|
+
$$slots: { default: true }
|
|
2435
|
+
});
|
|
2436
|
+
$$renderer.push(`<!---->`);
|
|
2437
|
+
},
|
|
2438
|
+
$$slots: { default: true }
|
|
2439
|
+
});
|
|
2440
|
+
} else $$renderer.push("<!--[-1-->");
|
|
2441
|
+
$$renderer.push(`<!--]--></div> <div class="grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3"><!--[-->`);
|
|
2442
|
+
const each_array_7 = $.ensure_array_like(section.folders);
|
|
2443
|
+
for (let $$index_6 = 0, $$length = each_array_7.length; $$index_6 < $$length; $$index_6++) {
|
|
2444
|
+
let folder = each_array_7[$$index_6];
|
|
2445
|
+
FolderCard($$renderer, {
|
|
2446
|
+
folder,
|
|
2447
|
+
onDelete: handleDeleteFolder,
|
|
2448
|
+
onRename: handleRenameFolder,
|
|
2449
|
+
onShare: openShareDialogForFolder
|
|
2450
|
+
});
|
|
2451
|
+
}
|
|
2452
|
+
$$renderer.push(`<!--]--></div></section>`);
|
|
2453
|
+
}
|
|
2454
|
+
$$renderer.push(`<!--]--> `);
|
|
2455
|
+
if (filteredDocuments().length > 0) {
|
|
2456
|
+
$$renderer.push("<!--[0-->");
|
|
2457
|
+
$$renderer.push(`<div class="mt-12 border-t border-border/60 pt-8"><h2 class="mb-4 text-sm font-semibold uppercase tracking-wider text-muted-foreground">${$.escape(hasActiveFilters() ? "Filtered Documents" : "Recent Documents")}</h2> <div class="grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3"><!--[-->`);
|
|
2458
|
+
const each_array_8 = $.ensure_array_like(filteredDocuments());
|
|
2459
|
+
for (let $$index_8 = 0, $$length = each_array_8.length; $$index_8 < $$length; $$index_8++) {
|
|
2460
|
+
let doc = each_array_8[$$index_8];
|
|
2461
|
+
DocumentCard($$renderer, {
|
|
2462
|
+
document: doc,
|
|
2463
|
+
onDelete: handleDeleteDocument,
|
|
2464
|
+
onDuplicate: handleDuplicateDocument,
|
|
2465
|
+
onShare: openShareDialogForDocument,
|
|
2466
|
+
duplicateBusy: duplicatingDocumentId === doc.id
|
|
2467
|
+
});
|
|
2468
|
+
}
|
|
2469
|
+
$$renderer.push(`<!--]--></div></div>`);
|
|
2470
|
+
} else $$renderer.push("<!--[-1-->");
|
|
2471
|
+
$$renderer.push(`<!--]-->`);
|
|
2472
|
+
}
|
|
2473
|
+
$$renderer.push(`<!--]-->`);
|
|
2474
|
+
}
|
|
2475
|
+
$$renderer.push(`<!--]--></div> `);
|
|
2476
|
+
FolderDialog($$renderer, {
|
|
2477
|
+
mode: folderDialogMode,
|
|
2478
|
+
folder: folderDialogTarget,
|
|
2479
|
+
onSave: saveFolder,
|
|
2480
|
+
get open() {
|
|
2481
|
+
return showFolderDialog;
|
|
2482
|
+
},
|
|
2483
|
+
set open($$value) {
|
|
2484
|
+
showFolderDialog = $$value;
|
|
2485
|
+
$$settled = false;
|
|
2486
|
+
}
|
|
2487
|
+
});
|
|
2488
|
+
$$renderer.push(`<!----> `);
|
|
2489
|
+
ConfirmDialog($$renderer, {
|
|
2490
|
+
title: folders_delete_title(),
|
|
2491
|
+
description: folders_delete_description(),
|
|
2492
|
+
confirmLabel: folders_delete(),
|
|
2493
|
+
cancelLabel: action_cancel(),
|
|
2494
|
+
variant: "destructive",
|
|
2495
|
+
busy: deleteFolderBusy,
|
|
2496
|
+
onConfirm: confirmDeleteFolder,
|
|
2497
|
+
onCancel: () => showDeleteFolderDialog = false,
|
|
2498
|
+
get open() {
|
|
2499
|
+
return showDeleteFolderDialog;
|
|
2500
|
+
},
|
|
2501
|
+
set open($$value) {
|
|
2502
|
+
showDeleteFolderDialog = $$value;
|
|
2503
|
+
$$settled = false;
|
|
2504
|
+
}
|
|
2505
|
+
});
|
|
2506
|
+
$$renderer.push(`<!----> `);
|
|
2507
|
+
if (shareTarget) {
|
|
2508
|
+
$$renderer.push("<!--[0-->");
|
|
2509
|
+
ShareDialog($$renderer, {
|
|
2510
|
+
documentId: shareTarget.kind === "document" ? shareTarget.documentId : "",
|
|
2511
|
+
documentTitle: shareTarget.kind === "document" ? shareTarget.title : "",
|
|
2512
|
+
folderId: shareTarget.kind === "folder" ? shareTarget.folderId : "",
|
|
2513
|
+
folderName: shareTarget.kind === "folder" ? shareTarget.name : "",
|
|
2514
|
+
categoryId: shareTarget.kind === "category" ? shareTarget.categoryId : "",
|
|
2515
|
+
categoryName: shareTarget.kind === "category" ? shareTarget.name : "",
|
|
2516
|
+
get open() {
|
|
2517
|
+
return showShareDialog;
|
|
2518
|
+
},
|
|
2519
|
+
set open($$value) {
|
|
2520
|
+
showShareDialog = $$value;
|
|
2521
|
+
$$settled = false;
|
|
2522
|
+
}
|
|
2523
|
+
});
|
|
2524
|
+
} else $$renderer.push("<!--[-1-->");
|
|
2525
|
+
$$renderer.push(`<!--]--> `);
|
|
2526
|
+
ImportProgress($$renderer, {
|
|
2527
|
+
open: importOpen,
|
|
2528
|
+
items: importItems,
|
|
2529
|
+
onClose: closeImport
|
|
2530
|
+
});
|
|
2531
|
+
$$renderer.push(`<!---->`);
|
|
2532
|
+
}
|
|
2533
|
+
do {
|
|
2534
|
+
$$settled = true;
|
|
2535
|
+
$$inner_renderer = $$renderer.copy();
|
|
2536
|
+
$$render_inner($$inner_renderer);
|
|
2537
|
+
} while (!$$settled);
|
|
2538
|
+
$$renderer.subsume($$inner_renderer);
|
|
2539
|
+
});
|
|
2540
|
+
}
|
|
2541
|
+
//#endregion
|
|
2542
|
+
export { HiaiDocsDashboardHost as DocsmintDashboardHost };
|