@kedataindo/docflow-vue 0.0.74 → 0.0.76

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var Zh=Object.defineProperty;var Qh=(e,t,n)=>t in e?Zh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var kn=(e,t,n)=>Qh(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ee=require("@kedataindo/docflow-core"),s=require("vue"),rr=require("@kedataindo/docflow-layout-engine");function rf(e){const t=s.ref(null),n=s.shallowRef(null),i=s.ref(!1),r=s.computed(()=>{var c;return((c=n.value)==null?void 0:c.editor)??null}),a=s.computed(()=>{var c;return((c=n.value)==null?void 0:c.pluginActions)??{}}),o=()=>{if(!t.value||n.value)return;const c=s.unref(e.collaboration),u=s.unref(e.content),f=Ee.createEditor({target:t.value,content:u,plugins:e.plugins,editable:e.editable??!0,collaboration:c,onUpdate:e.onUpdate,getPageMap:e.getPageMap,paginationOptions:e.paginationOptions,onImageUpload:e.onImageUpload,citation:e.citation,aiStream:e.aiStream,aiDraft:e.aiDraft,debug:e.debug});n.value=f,s.nextTick(()=>{i.value=!0})},l=()=>{var c;(c=n.value)==null||c.destroy(),n.value=null,i.value=!1};return s.onMounted(()=>{o()}),s.onUnmounted(()=>{l()}),s.watch(()=>e.editable,c=>{r.value&&r.value.setEditable(c??!0)}),s.watch(()=>{const c=s.unref(e.collaboration);return c?{room:c.room,provider:c.provider}:null},async(c,u)=>{JSON.stringify(c)!==JSON.stringify(u)&&(l(),await s.nextTick(),o())},{deep:!0}),{editorRef:t,docsEditor:n,editor:r,pluginActions:a,isReady:i}}function Yh(e){const t=s.computed(()=>{var r,a,o;return(o=(a=(r=e.value)==null?void 0:r.storage)==null?void 0:a.editorContext)==null?void 0:o.aiStream}),n=s.computed(()=>{var r,a,o;return(o=(a=(r=e.value)==null?void 0:r.storage)==null?void 0:a.editorContext)==null?void 0:o.aiDraft}),i=s.computed(()=>!!t.value);return{aiStream:t,aiDraft:n,isAIAvailable:i}}const tu="docs-editor-theme",ss=s.ref(!1);function zo(){const e=n=>{if(ss.value=n,typeof document<"u"){const i=document.documentElement;n?i.classList.add("dark"):i.classList.remove("dark")}typeof localStorage<"u"&&localStorage.setItem(tu,n?"dark":"light")},t=()=>e(!ss.value);return s.onMounted(()=>{let n=!1;if(typeof localStorage<"u"){const i=localStorage.getItem(tu);i?n=i==="dark":typeof window<"u"&&(n=window.matchMedia("(prefers-color-scheme: dark)").matches)}e(n)}),{isDark:ss,toggle:t}}function eb(e,t){let n=1;return e.state.doc.nodesBetween(0,t-1,(i,r)=>{i.isBlock&&r>0&&n++},1),n}function tb(e,t){let n;return e.state.doc.nodesBetween(0,t,i=>{i.type.name==="heading"&&i.textContent.trim()&&(n=i.textContent.trim())}),n}function nb(e,t,n){try{const{view:i}=e,r=i.coordsAtPos(n),a=i.coordsAtPos(t);if(!r||!a)return 1;const o=parseFloat(getComputedStyle(i.dom).lineHeight)||parseFloat(getComputedStyle(i.dom).fontSize)*1.6||24;return o<=0?1:Math.max(1,Math.round((r.top-a.top)/o)+1)}catch{return 1}}function ib(e){const t=e.view.dom,n=t.querySelector("[data-rm-pagination]");if(!n)return{page:1,pageCount:1};const i=t.getBoundingClientRect();if(i.height===0||i.width===0)return{page:1,pageCount:1};const r=n.children.length||1;let a=1;try{const o=e.view.coordsAtPos(e.state.selection.head);if(!o)return{page:a,pageCount:r};const l=Array.from(n.querySelectorAll(".rm-page-break")),c=t.getBoundingClientRect(),u=o.top-c.top+t.scrollTop;let f=1,m=!1;for(const p of l){const h=p.querySelector(".breaker");if(h instanceof HTMLElement&&u<h.offsetTop){a=f,m=!0;break}f++}m||(a=f)}catch{a=1}return{page:a,pageCount:r}}function Il(e){const t=e.state,{$from:n,head:i}=t.selection;let r=n.depth;for(;r>0&&!n.node(r).isBlock;)r--;const a=n.before(r),o=n.node(r),l=o.isBlock?o.type.name:void 0,{page:c,pageCount:u}=ib(e);return{page:c,pageCount:u,paragraphIndex:a>0?eb(e,a):1,line:nb(e,a,i),...l?{blockType:l}:{},section:tb(e,i)}}const af={common:{save:"Save",cancel:"Cancel",create:"Create",delete:"Delete",rename:"Rename",duplicate:"Duplicate",move:"Move",moveToFolder:"Move to folder",moveDocument:"Move Document",noFolder:"(No Folder)",search:"Search",loading:"Loading...",error:"Error",dismiss:"Dismiss",emptyDocument:"(Empty Document)",confirmDelete:"Are you sure you want to delete this document?",undo:"Undo",restore:"Restore",deleteForever:"Delete forever",back:"Back",confirmPermanentDelete:"Permanently delete this document? This cannot be undone.",confirmPermanentDeleteBulk:"Permanently delete {count} documents? This cannot be undone.",selectAll:"Select all",clearSelection:"Clear selection"},header:{file:"File",new:"New",newDocument:"New document",helpMeCreate:"Help me create",fromTemplate:"From a template",open:"Open",makeACopy:"Make a copy",share:"Share",email:"Email",emailDraft:"Email draft",download:"Download",rename:"Rename",move:"Move",moveToFolder:"Move to folder",moveToTrash:"Move to trash",addToStarred:"Add to Starred",versionHistory:"Version history",language:"Language",pageSetup:"Page setup",print:"Print",details:"Details",security:"Security limitations",edit:"Edit",view:"View",insert:"Insert",format:"Format",tools:"Tools",extensions:"Extensions",help:"Help",backToDocuments:"Back to Documents",clickToRename:"Click to rename",starDocument:"Star document",unstarDocument:"Unstar document",sandbox:"Sandbox (toggle simulated collaborators)",theme:"Theme",account:"Account",markdown:"Markdown (.md)",html:"Web page (.html)",htmlZip:"Web page (.html, zipped)",text:"Plain text (.txt)",docx:"Microsoft Word (.docx)",pdf:"PDF Document (.pdf)",odt:"OpenDocument Format (.odt)",rtf:"Rich Text Format (.rtf)",undo:"Undo",redo:"Redo",selectAll:"Select all",cut:"Cut",copy:"Copy",paste:"Paste",pasteWithoutFormatting:"Paste without formatting",delete:"Delete",findAndReplace:"Find and replace",showSidebar:"Show outline",focusMode:"Full focus mode",showRuler:"Show ruler",meetingNotes:"Meeting notes",image:"Image",table:"Table",codeBlock:"Code block",link:"Link",header:"Header",footer:"Footer",footnote:"Footnote",tableOfContents:"Table of contents",bold:"Bold text",italic:"Italic text",underline:"Underline",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",alignIndent:"Align & indent",alignLeft:"Align left",alignCenter:"Align center",alignRight:"Align right",alignJustify:"Justify",bulletsNumbering:"Bullets & numbering",bulletList:"Bulleted list",numberedList:"Numbered list",taskList:"Task list",horizontalLine:"Horizontal line",pageNumbers:"Page numbers",pageNumberInHeader:"Insert in header",pageNumberInFooter:"Insert in footer",break:"Break",pageBreak:"Page break",pageBreakShortcut:"Ctrl+Enter",smartElements:"Smart elements",dateChip:"Date",peopleChip:"People",fileChip:"File",dropdownChip:"Dropdown",locationChip:"Location",pagelessFormat:"Pageless format",clearFormatting:"Clear formatting",spellCheck:"Spell check",wordCount:"Word count",preferences:"Preferences",manageExtensions:"Manage extensions…",keyboardShortcuts:"Keyboard shortcuts",reportIssue:"Report issue",about:"About DocsEditor"},toolbar:{undo:"Undo",redo:"Redo",print:"Print",spelling:"Spelling",zoom:"100%",paragraphStyle:"Paragraph style",normalText:"Normal text",fontFamily:"Font family",decreaseFontSize:"Decrease font size",increaseFontSize:"Increase font size",fontSize:"Font size",lists:"Lists",alignment:"Alignment",insert:"Insert",comments:"Comments",history:"History",ai:"AI",tableOfContents:"Table of contents",references:"References"},statusBar:{liveSyncActive:"Live Sync Active",connecting:"Connecting…",saving:"Saving changes…",offline:"Offline",lastSavedAt:"Last saved at",never:"Never",pageSize:"Page size",page:"Page",of:"of",pageless:"Pageless",words:"words",characters:"characters"},editor:{share:{title:"Share document",close:"Close",shareableLink:"Shareable link",copy:"Copy",copied:"Link copied to clipboard",couldNotCopy:"Could not copy link",collaborators:"Collaborators",addCollaborator:"Add collaborator by email",placeholder:"colleague@example.com",add:"Add",userNotFound:"User not found",failedToAdd:"Failed to add collaborator",visibility:"Visibility",private:"Private",privateDescription:"Only you and people you invite can access this document.",restricted:"Restricted",restrictedDescription:"Anyone with the link can view this document."},print:"Print",logOut:"Log out",rename:{title:"Rename document",label:"Document title",save:"Save",cancel:"Cancel"},pageSetup:{title:"Page setup",paperSize:"Paper size",orientation:"Orientation",portrait:"Portrait",landscape:"Landscape",margins:"Margins",top:"Top",bottom:"Bottom",left:"Left",right:"Right",apply:"Apply",cancel:"Cancel"},details:{title:"Document details",titleLabel:"Title",owner:"Owner",location:"Location",noFolder:"(No folder)",created:"Created",modified:"Last modified",statistics:"Statistics",words:"Words",characters:"Characters",pages:"Pages",loading:"Loading document details…"},email:{title:"Email this file",to:"To",toPlaceholder:"recipient@example.com",subject:"Subject",body:"Body",send:"Send",copyLink:"Copy link",shareableLink:"Shareable link",defaultSubject:"Document: {title}",defaultBody:"You can view this document at: {url}"},linkDialog:{insertTitle:"Insert link",editTitle:"Edit link",text:"Text to display",textPlaceholder:"Link text",url:"URL",urlPlaceholder:"https://example.com",insert:"Insert",update:"Update",remove:"Remove link",cancel:"Cancel",urlRequired:"URL is required",urlInvalid:"Please enter a valid URL"},findReplace:{title:"Find and replace",findPlaceholder:"Find in document",replacePlaceholder:"Replace with",next:"Next",previous:"Previous",replace:"Replace",replaceAll:"Replace all",noMatches:"No matches",matchCount:"{current} of {total}",close:"Close"},headerFooter:{header:"Header",footer:"Footer",headerPlaceholder:"e.g. Document Title",footerPlaceholder:"e.g. Page {page} of {total}",headerLeftPlaceholder:"e.g. Document Title",headerRightPlaceholder:"e.g. Page {page}",differentFirstPage:"Different first page",differentOddEven:"Different odd & even pages",options:"Options",formatHeader:"Header format",pageNumber:"Page numbers",removeHeader:"Remove header",removeFooter:"Remove footer",alignPlacement:"Content placement",alignLeft:"Align left",alignCenter:"Align center",alignRight:"Align right",placementSection:"Placement",placementHint:"Header/footer content is aligned within the text area (left/center/right).",headerFooterFormatTitle:"Header & footer",marginSection:"Margin",headerTopMargin:"Header (centimeters from top)",footerBottomMargin:"Footer (centimeters from bottom)",layoutSection:"Layout",pageNumberTitle:"Page numbers",positionSection:"Position",positionHeader:"Header",positionFooter:"Footer",showOnFirstPage:"Show on first page",numberingSection:"Numbering",startAt:"Start at",continueFromPrevious:"Continue from previous section",hideOnPages:"Hide page numbers on",hideOnPagesPlaceholder:"e.g. 1, 3-5",hideOnPagesHint:"Separate with commas; use a dash for ranges (e.g. 1, 3-5). Pages are still counted, only the number is hidden.",apply:"Apply",cancel:"Cancel",save:"Save"},showOutline:"Show document outline",loadingDocument:"Loading document"},slashMenu:{title:"Suggested",basicBlocks:"Basic Blocks",noMatch:"No matching commands"},documentTabs:{documentTabs:"Document Tabs",addTab:"Add tab",rename:"Rename",delete:"Delete",outline:"Outline",untitledHeading:"Untitled Heading {level}",placeholder:"Headings you add to the document will appear here."},theme:{lightMode:"Switch to light mode",darkMode:"Switch to dark mode"},sidebars:{ai:{title:"AI Writing Helper",description:"A server-side AI co-writer to draft, summarize, or edit your copy.",quickMacros:"Quick AI Macros",summarize:"Summarize",fixGrammar:"Fix Grammar",continue:"Continue",toSpanish:"To Spanish",generations:"AI Generations",aiDrafting:"AI drafting…",copy:"Copy",copied:"Copied",insert:"Insert",inserted:"Inserted",noDraft:"Ask anything about your document, or run a quick macro above.",promptPlaceholder:"Ask AI to draft outline, write content, rewrite tone…",promptAI:"Prompt AI",close:"Close",you:"You",assistant:"Assistant",notConfigured:"AI is not configured on this deployment.",selectTextFirst:"Select text in the document first",improveSelection:"Improve selection",draft:"Draft with citations",draftPlaceholder:"Ask the AI to draft text grounded on your reference library…",promptDraft:"Draft",citations:"Citations",emptyResponse:"The AI returned an empty response.",aiError:"AI request failed",contextLabel:"Attached context",pageShort:"p.",paragraphShort:"Para.",lineShort:"Line",selectionContext:"Selected text"},comments:{title:"Discussion Panel",placeholder:"Select text to add a comment…",addComment:"Add comment",resolve:"Resolve",reply:"Reply…",replyInThread:"Reply in thread",active:"Active",resolved:"Resolved",creatingAnchored:"Creating anchored comment:",quote:"Quote:",resolvedBy:"Resolved by {user}",noComments:"No {mode} comments yet.",commentOnSelection:"Comment on selection…",generalComment:"Add general comment to document…",anchoredComment:"Anchored comment",general:"General comment",post:"Post",orphaned:"Text deleted",delete:"Delete",confirmDelete:"Delete this comment thread? This cannot be undone."},history:{title:"History",empty:"No history yet.",version:"Version",restore:"Restore",closePreview:"Close Preview",restoreThis:"Restore This",viewingPreview:"Viewing Revision Preview",readOnlyPreview:"You are previewing version #{index}. Your editor is temporarily read-only.",modifiedBy:"Modified by:",saveNamedSnapshot:"Save Named Snapshot",snapshotPlaceholder:"e.g. Approved Final Draft…",noSnapshots:"No snapshots saved yet.",save:"Save",cancel:"Cancel",preview:"Preview"},toc:{title:"Contents",empty:"No headings yet.",untitledHeading:"Untitled Heading {level}",newSection:"New {tag} Section",startWriting:"Start writing here…",closeOutline:"Close outline",searchHeadings:"Search headings…",noHeadings:"No Headings Yet",noHeadingsDescription:"Use headers (H1, H2, or H3) to structure your document. An interactive outline will generate here automatically.",quickInsert:"Quick Insert",headingLevel:"Heading {level}",noMatchingHeaders:"No matching headers found",tryDifferentTerm:"Try searching with a different term.",outlineLayout:"Outline Layout",outlineSync:"Outline syncs automatically. Click any header to instantly jump, focus, and scroll the editor to that section."},references:{title:"References",subtitle:"Manage sources and insert citations.",close:"Close references",citationStyle:"Citation style",searchSources:"Search sources…",addSource:"Add source",editSource:"Edit source",noSources:"No sources yet",noSourcesDescription:"Add your first reference to start citing. Citations and the bibliography follow the active style automatically.",noMatchingSources:"No matching sources found",cite:"Cite",edit:"Edit",delete:"Delete",back:"Back to list",anonymous:"Anonymous",etAl:"et al.",confirmDelete:'Delete source "{title}"? Citations referencing it will stop rendering.',import:{title:"Import",fromDoi:"From DOI (CrossRef)",doiPlaceholder:"Paste a DOI or DOI link…",importDoi:"Import DOI",doiSuccess:"Source imported from CrossRef.",doiFailed:"DOI could not be resolved.",fromFile:"From BibTeX / RIS file",pickFile:"Choose .bib or .ris file",importing:"Importing…",batchSuccess:"{count} source(s) imported.",partial:"{ok} imported, {failed} failed.",failed:"Import failed."},types:{book:"Book","article-journal":"Journal article",chapter:"Book chapter",webpage:"Web page",report:"Report",thesis:"Thesis",document:"Document"},form:{type:"Source type",title:"Title",authors:"Authors",familyName:"Family name",givenName:"Given name",addAuthor:"Add author",year:"Year",journal:"Journal",bookTitle:"Book title",publisher:"Publisher",publisherPlace:"Place",volume:"Volume",issue:"Issue",pages:"Pages",save:"Save changes",create:"Add source",cancel:"Cancel"}}},dashboard:{allDocuments:"All Documents",starred:"Starred",folders:"Folders",createFolder:"Create New Folder",folderNamePlaceholder:"Folder name…",noFolders:"No folders created yet.",startNewDocument:"Start a New Document",blankDocument:"Blank Document",blankDescription:"Fresh slate",meetingNotes:"Meeting Notes",meetingNotesDescription:"Attendees & Action Items",projectProposal:"Project Proposal",projectProposalDescription:"Objectives & Deliverables",officialLetter:"Official Letter",officialLetterDescription:"Pre-formatted header",searchPlaceholder:"Search titles or full-text contents…",modified:"Modified",alphabetical:"Alphabetical",created:"Created",gridView:"Grid View",listView:"List View",activeFilters:"Active Filters:",folder:"Folder",starredOnly:"Starred Only",search:"Search",noDocuments:"No documents found",noDocumentsDescription:"No files match your current filters. Select a template or create a blank file to start drafting!",createBlankDocument:"Create Blank Document",loadingDocuments:"Loading documents...",folderCreated:"Folder created.",folderAlreadyExists:"A folder with that name already exists.",folderLoadError:"Could not load folders. Please try again.",folderCreateError:"Could not create the folder. Please try again.",documentTitle:"Document Title",lastModified:"Last Modified",actions:"Actions",trash:"Trash",trashEmpty:"Trash is empty",trashEmptyDescription:"Deleted documents will appear here.",trashedAt:"Trashed",movedToTrash:"Moved to trash:",selectedCount:"{count} selected",documentDeleteError:"Could not delete one or more documents. Please try again."},auth:{signInTitle:"Sign in to create and edit documents",signInWithGoogle:"Sign in with Google",signInWithEmail:"Sign in with Email",signInWithGitHub:"Sign in with GitHub",signInWith:"Sign in with {provider}",or:"or",email:"Email",password:"Password",name:"Name",signIn:"Sign In",signUp:"Sign Up",signOut:"Sign out",noAccount:"Don't have an account? Sign up",hasAccount:"Already have an account? Sign in",invalidCredentials:"Invalid email or password",accountCreated:"Account created! You are now signed in.",loadDocumentsError:"Failed to load documents. Is the server running?",retry:"Try again",rateLimited:"Server is rate limiting requests.",retryIn:"Retrying in {seconds}s…",networkError:"Could not reach the server. Check your connection.",noProviders:"No authentication providers configured. Check your server environment variables."},language:{label:"Language",en:"English",id:"Indonesian"}},of={common:{save:"Simpan",cancel:"Batal",create:"Buat",delete:"Hapus",rename:"Ubah nama",duplicate:"Duplikat",move:"Pindah",moveToFolder:"Pindah ke folder",moveDocument:"Pindahkan Dokumen",noFolder:"(Tanpa Folder)",search:"Cari",loading:"Memuat…",error:"Kesalahan",dismiss:"Tutup",emptyDocument:"(Dokumen Kosong)",confirmDelete:"Apakah Anda yakin ingin menghapus dokumen ini?",undo:"Batalkan",restore:"Pulihkan",deleteForever:"Hapus permanen",back:"Kembali",confirmPermanentDelete:"Hapus dokumen ini secara permanen? Tindakan ini tidak dapat dibatalkan.",confirmPermanentDeleteBulk:"Hapus {count} dokumen secara permanen? Tindakan ini tidak dapat dibatalkan.",selectAll:"Pilih semua",clearSelection:"Hapus pilihan"},header:{file:"Berkas",new:"Baru",newDocument:"Dokumen baru",helpMeCreate:"Bantu saya membuat",fromTemplate:"Dari templat",open:"Buka",makeACopy:"Buat salinan",share:"Bagikan",email:"Email",emailDraft:"Draf Email",download:"Unduh",rename:"Ubah nama",move:"Pindah",moveToFolder:"Pindah ke folder",moveToTrash:"Pindah ke sampah",addToStarred:"Tambahkan ke Bintang",versionHistory:"Riwayat versi",language:"Bahasa",pageSetup:"Penataan halaman",print:"Cetak",details:"Detail",security:"Batasan keamanan",edit:"Sunting",view:"Tampilan",insert:"Sisipkan",format:"Format",tools:"Alat",extensions:"Ekstensi",help:"Bantuan",backToDocuments:"Kembali ke Dokumen",clickToRename:"Klik untuk mengganti nama",starDocument:"Bintangi dokumen",unstarDocument:"Hapus bintang",sandbox:"Sandbox (alihkan kolaborator simulasi)",theme:"Tema",account:"Akun",markdown:"Markdown (.md)",html:"Halaman web (.html)",htmlZip:"Halaman web (.html, ter-zip)",text:"Teks biasa (.txt)",docx:"Microsoft Word (.docx)",pdf:"Dokumen PDF (.pdf)",odt:"OpenDocument Format (.odt)",rtf:"Rich Text Format (.rtf)",undo:"Urungkan",redo:"Ulangi",selectAll:"Pilih semua",cut:"Potong",copy:"Salin",paste:"Tempel",pasteWithoutFormatting:"Tempel tanpa pemformatan",delete:"Hapus",findAndReplace:"Temukan dan ganti",showSidebar:"Tampilkan kerangka",focusMode:"Mode Fokus Penuh",showRuler:"Tampilkan penggaris",meetingNotes:"Catatan Rapat",image:"Gambar",table:"Tabel",codeBlock:"Kode Blok",link:"Tautan",header:"Header",footer:"Footer",footnote:"Catatan Kaki",tableOfContents:"Daftar isi",bold:"Teks Tebal",italic:"Teks Miring",underline:"Garis Bawah",heading1:"Judul 1",heading2:"Judul 2",heading3:"Judul 3",heading4:"Judul 4",heading5:"Judul 5",heading6:"Judul 6",alignIndent:"Perataan & indentasi",alignLeft:"Rata kiri",alignCenter:"Rata tengah",alignRight:"Rata kanan",alignJustify:"Rata kiri-kanan",bulletsNumbering:"Bullet & penomoran",bulletList:"Daftar ber-bullet",numberedList:"Daftar bernomor",taskList:"Daftar tugas",horizontalLine:"Garis horizontal",pageNumbers:"Nomor halaman",pageNumberInHeader:"Sisipkan di header",pageNumberInFooter:"Sisipkan di footer",break:"Pemisah",pageBreak:"Pemisah halaman",pageBreakShortcut:"Ctrl+Enter",smartElements:"Elemen pintar",dateChip:"Tanggal",peopleChip:"Orang",fileChip:"Berkas",dropdownChip:"Dropdown",locationChip:"Lokasi",pagelessFormat:"Format tanpa halaman",clearFormatting:"Hapus pemformatan",spellCheck:"Periksa ejaan",wordCount:"Hitungan kata",preferences:"Preferensi",manageExtensions:"Kelola ekstensi…",keyboardShortcuts:"Pintasan keyboard",reportIssue:"Laporkan masalah",about:"Tentang DocsEditor"},toolbar:{undo:"Urungkan",redo:"Ulangi",print:"Cetak",spelling:"Ejaan",zoom:"100%",paragraphStyle:"Gaya paragraf",normalText:"Teks normal",fontFamily:"Keluarga font",decreaseFontSize:"Kecilkan font",increaseFontSize:"Perbesar font",fontSize:"Ukuran font",lists:"Daftar",alignment:"Perataan",insert:"Sisipkan",comments:"Komentar",history:"Riwayat",ai:"AI",tableOfContents:"Daftar isi",references:"Referensi"},statusBar:{liveSyncActive:"Sinkron Langsung Aktif",connecting:"Menghubungkan…",saving:"Menyimpan perubahan…",offline:"Luring",lastSavedAt:"Terakhir disimpan",never:"Tidak pernah",pageSize:"Ukuran halaman",page:"Halaman",of:"dari",pageless:"Tanpa halaman",words:"kata",characters:"karakter"},editor:{share:{title:"Bagikan dokumen",close:"Tutup",shareableLink:"Tautan dapat dibagikan",copy:"Salin",copied:"Tautan disalin ke papan klip",couldNotCopy:"Tidak dapat menyalin tautan",collaborators:"Kolaborator",addCollaborator:"Tambahkan kolaborator lewat email",placeholder:"rekan@contoh.com",add:"Tambah",userNotFound:"Pengguna tidak ditemukan",failedToAdd:"Gagal menambahkan kolaborator",visibility:"Visibilitas",private:"Pribadi",privateDescription:"Hanya Anda dan orang yang Anda undang yang dapat mengakses dokumen ini.",restricted:"Terbatas",restrictedDescription:"Siapa pun dengan tautan dapat melihat dokumen ini."},print:"Cetak",logOut:"Keluar",rename:{title:"Ubah nama dokumen",label:"Judul dokumen",save:"Simpan",cancel:"Batal"},pageSetup:{title:"Penataan halaman",paperSize:"Ukuran kertas",orientation:"Orientasi",portrait:"Potret",landscape:"Lanskap",margins:"Margin",top:"Atas",bottom:"Bawah",left:"Kiri",right:"Kanan",apply:"Terapkan",cancel:"Batal"},details:{title:"Detail dokumen",titleLabel:"Judul",owner:"Pemilik",location:"Lokasi",noFolder:"(Tanpa folder)",created:"Dibuat",modified:"Terakhir diubah",statistics:"Statistik",words:"Kata",characters:"Karakter",pages:"Halaman",loading:"Memuat detail dokumen…"},email:{title:"Email file ini",to:"Kepada",toPlaceholder:"penerima@contoh.com",subject:"Subjek",body:"Isi",send:"Kirim",copyLink:"Salin tautan",shareableLink:"Tautan dapat dibagikan",defaultSubject:"Dokumen: {title}",defaultBody:"Anda dapat melihat dokumen ini di: {url}"},linkDialog:{insertTitle:"Sisipkan tautan",editTitle:"Edit tautan",text:"Teks yang ditampilkan",textPlaceholder:"Teks tautan",url:"URL",urlPlaceholder:"https://contoh.com",insert:"Sisipkan",update:"Perbarui",remove:"Hapus tautan",cancel:"Batal",urlRequired:"URL wajib diisi",urlInvalid:"Masukkan URL yang valid"},findReplace:{title:"Temukan dan ganti",findPlaceholder:"Temukan di dokumen",replacePlaceholder:"Ganti dengan",next:"Berikutnya",previous:"Sebelumnya",replace:"Ganti",replaceAll:"Ganti semua",noMatches:"Tidak ada hasil",matchCount:"{current} dari {total}",close:"Tutup"},headerFooter:{header:"Header",footer:"Footer",headerPlaceholder:"mis. Judul Dokumen",footerPlaceholder:"mis. Halaman {page} dari {total}",headerLeftPlaceholder:"mis. Judul Dokumen",headerRightPlaceholder:"mis. Halaman {page}",differentFirstPage:"Halaman pertama berbeda",differentOddEven:"Halaman ganjil & genap berbeda",options:"Opsi",formatHeader:"Format header",pageNumber:"Nomor halaman",removeHeader:"Hapus header",removeFooter:"Hapus footer",alignPlacement:"Peletakkan konten",alignLeft:"Rata kiri",alignCenter:"Rata tengah",alignRight:"Rata kanan",placementSection:"Peletakkan",placementHint:"Konten header/footer disejajarkan di dalam area teks (kiri/tengah/kanan).",headerFooterFormatTitle:"Header & footer",marginSection:"Margin",headerTopMargin:"Header (sentimeter dari atas)",footerBottomMargin:"Footer (sentimeter dari bawah)",layoutSection:"Tata letak",pageNumberTitle:"Nomor halaman",positionSection:"Posisi",positionHeader:"Header",positionFooter:"Footer",showOnFirstPage:"Tampilkan di halaman pertama",numberingSection:"Penomoran",startAt:"Dimulai dari",continueFromPrevious:"Lanjutkan dari bagian sebelumnya",hideOnPages:"Sembunyikan nomor di halaman",hideOnPagesPlaceholder:"mis. 1, 3-5",hideOnPagesHint:"Pisahkan dengan koma; gunakan tanda hubung untuk rentang (mis. 1, 3-5). Halaman tetap dihitung, hanya nomornya yang disembunyikan.",apply:"Terapkan",cancel:"Batal",save:"Simpan"},showOutline:"Tampilkan kerangka dokumen",loadingDocument:"Memuat dokumen"},slashMenu:{title:"Saran",basicBlocks:"Blok Dasar",noMatch:"Tidak ada perintah yang cocok"},documentTabs:{documentTabs:"Tab Dokumen",addTab:"Tambah tab",rename:"Ubah nama",delete:"Hapus",outline:"Kerangka",untitledHeading:"Judul Tanpa Nama {level}",placeholder:"Tajuk yang Anda tambahkan ke dokumen akan muncul di sini."},theme:{lightMode:"Beralih ke mode terang",darkMode:"Beralih ke mode gelap"},sidebars:{ai:{title:"AI Writing Helper",description:"Penulis AI sisi-server untuk menyusun, merangkum, atau menyunting tulisan Anda.",quickMacros:"Makro AI Cepat",summarize:"Rangkum",fixGrammar:"Perbaiki Tata Bahasa",continue:"Lanjutkan",toSpanish:"Ke Spanyol",generations:"Hasil AI",aiDrafting:"AI menyusun…",copy:"Salin",copied:"Tersalin",insert:"Sisipkan",inserted:"Tersisip",noDraft:"Tanya apa saja tentang dokumen Anda, atau jalankan makro cepat di atas.",promptPlaceholder:"Minta AI membuat kerangka, menulis konten, menulis ulang nada…",promptAI:"Perintah AI",close:"Tutup",you:"Anda",assistant:"Asisten",notConfigured:"AI belum dikonfigurasi pada deployment ini.",selectTextFirst:"Pilih teks di dokumen terlebih dahulu",improveSelection:"Perbaiki pilihan",draft:"Draf dengan sitasi",draftPlaceholder:"Minta AI menyusun teks berbasis pustaka referensi Anda…",promptDraft:"Susun",citations:"Sitasi",emptyResponse:"AI mengembalikan respons kosong.",aiError:"Permintaan AI gagal",contextLabel:"Konteks yang dilampirkan",pageShort:"Hal.",paragraphShort:"Alinea",lineShort:"Baris",selectionContext:"Teks terpilih"},comments:{title:"Panel Diskusi",placeholder:"Pilih teks untuk menambahkan komentar…",addComment:"Tambah komentar",resolve:"Selesai",reply:"Balas…",replyInThread:"Balas di thread",active:"Aktif",resolved:"Selesai",creatingAnchored:"Membuat komentar terpaut:",quote:"Kutipan:",resolvedBy:"Diselesaikan oleh {user}",noComments:"Belum ada komentar {mode}.",commentOnSelection:"Komentari pilihan…",generalComment:"Tambahkan komentar umum ke dokumen…",anchoredComment:"Komentar terpaut",general:"Komentar umum",post:"Kirim",orphaned:"Teks dihapus",delete:"Hapus",confirmDelete:"Hapus thread komentar ini? Tindakan ini tidak dapat dibatalkan."},history:{title:"Riwayat",empty:"Belum ada riwayat.",version:"Versi",restore:"Pulihkan",closePreview:"Tutup Pratinjau",restoreThis:"Pulihkan Ini",viewingPreview:"Melihat Pratinjau Revisi",readOnlyPreview:"Anda sedang melihat pratinjau versi #{index}. Editor Anda untuk sementara hanya-baca.",modifiedBy:"Diubah oleh:",saveNamedSnapshot:"Simpan Snapshot Bernama",snapshotPlaceholder:"mis. Final Draft Disetujui…",noSnapshots:"Belum ada snapshot yang disimpan.",save:"Simpan",cancel:"Batal",preview:"Pratinjau"},toc:{title:"Daftar Isi",empty:"Belum ada judul.",untitledHeading:"Judul Tanpa Nama {level}",newSection:"Bagian {tag} Baru",startWriting:"Mulai menulis di sini…",closeOutline:"Tutup kerangka",searchHeadings:"Cari judul…",noHeadings:"Belum Ada Judul",noHeadingsDescription:"Gunakan header (H1, H2, atau H3) untuk menyusun dokumen. Kerangka interaktif akan dibuat otomatis di sini.",quickInsert:"Sisipkan Cepat",headingLevel:"Judul {level}",noMatchingHeaders:"Tidak ada header yang cocok",tryDifferentTerm:"Coba cari dengan istilah lain.",outlineLayout:"Tata Letak Kerangka",outlineSync:"Kerangka tersinkronisasi otomatis. Klik header apa pun untuk langsung melompat, fokus, dan menggulir editor ke bagian tersebut."},references:{title:"Referensi",subtitle:"Kelola sumber dan sisipkan sitasi.",close:"Tutup referensi",citationStyle:"Gaya sitasi",searchSources:"Cari sumber…",addSource:"Tambah sumber",editSource:"Ubah sumber",noSources:"Belum ada sumber",noSourcesDescription:"Tambahkan referensi pertama Anda untuk mulai menyitasi. Sitasi dan daftar pustaka mengikuti gaya aktif secara otomatis.",noMatchingSources:"Tidak ada sumber yang cocok",cite:"Sitasi",edit:"Ubah",delete:"Hapus",back:"Kembali ke daftar",anonymous:"Anonim",etAl:"dkk.",confirmDelete:'Hapus sumber "{title}"? Sitasi yang merujuknya akan berhenti ditampilkan.',import:{title:"Impor",fromDoi:"Dari DOI (CrossRef)",doiPlaceholder:"Tempel DOI atau tautan DOI…",importDoi:"Impor DOI",doiSuccess:"Sumber berhasil diimpor dari CrossRef.",doiFailed:"DOI tidak dapat ditemukan.",fromFile:"Dari berkas BibTeX / RIS",pickFile:"Pilih berkas .bib atau .ris",importing:"Mengimpor…",batchSuccess:"{count} sumber berhasil diimpor.",partial:"{ok} berhasil, {failed} gagal.",failed:"Impor gagal."},types:{book:"Buku","article-journal":"Artikel jurnal",chapter:"Bab buku",webpage:"Halaman web",report:"Laporan",thesis:"Tesis",document:"Dokumen"},form:{type:"Jenis sumber",title:"Judul",authors:"Penulis",familyName:"Nama keluarga",givenName:"Nama depan",addAuthor:"Tambah penulis",year:"Tahun",journal:"Jurnal",bookTitle:"Judul buku",publisher:"Penerbit",publisherPlace:"Kota terbit",volume:"Volume",issue:"Edisi",pages:"Halaman",save:"Simpan perubahan",create:"Tambah sumber",cancel:"Batal"}}},dashboard:{allDocuments:"Semua Dokumen",starred:"Berbintang",folders:"Folder",createFolder:"Buat Folder Baru",folderNamePlaceholder:"Nama folder…",noFolders:"Belum ada folder.",startNewDocument:"Mulai Dokumen Baru",blankDocument:"Dokumen Kosong",blankDescription:"Kertas kosong",meetingNotes:"Catatan Rapat",meetingNotesDescription:"Peserta & Tindak Lanjut",projectProposal:"Proposal Proyek",projectProposalDescription:"Tujuan & Hasil",officialLetter:"Surat Resmi",officialLetterDescription:"Header yang sudah diformat",searchPlaceholder:"Cari judul atau isi dokumen…",modified:"Diubah",alphabetical:"Abjad",created:"Dibuat",gridView:"Tampilan Grid",listView:"Tampilan Daftar",activeFilters:"Filter Aktif:",folder:"Folder",starredOnly:"Hanya Berbintang",search:"Cari",noDocuments:"Tidak ada dokumen",noDocumentsDescription:"Tidak ada file yang cocok dengan filter. Pilih template atau buat dokumen kosong untuk mulai menulis!",createBlankDocument:"Buat Dokumen Kosong",loadingDocuments:"Memuat dokumen...",folderCreated:"Folder berhasil dibuat.",folderAlreadyExists:"Folder dengan nama tersebut sudah ada.",folderLoadError:"Folder tidak dapat dimuat. Silakan coba lagi.",folderCreateError:"Folder tidak dapat dibuat. Silakan coba lagi.",documentTitle:"Judul Dokumen",lastModified:"Terakhir Diubah",actions:"Aksi",trash:"Sampah",trashEmpty:"Sampah kosong",trashEmptyDescription:"Dokumen yang dihapus akan muncul di sini.",trashedAt:"Dihapus",movedToTrash:"Dipindahkan ke sampah:",selectedCount:"{count} dipilih",documentDeleteError:"Tidak dapat menghapus satu atau lebih dokumen. Silakan coba lagi."},auth:{signInTitle:"Masuk untuk membuat dan menyunting dokumen",signInWithGoogle:"Masuk dengan Google",signInWithEmail:"Masuk dengan Email",signInWithGitHub:"Masuk dengan GitHub",signInWith:"Masuk dengan {provider}",or:"atau",email:"Email",password:"Kata sandi",name:"Nama",signIn:"Masuk",signUp:"Daftar",signOut:"Keluar",noAccount:"Belum punya akun? Daftar",hasAccount:"Sudah punya akun? Masuk",invalidCredentials:"Email atau kata sandi salah",accountCreated:"Akun dibuat! Anda sekarang masuk.",loadDocumentsError:"Gagal memuat dokumen. Apakah server berjalan?",retry:"Coba lagi",rateLimited:"Server sedang membatasi permintaan.",retryIn:"Mencoba ulang dalam {seconds} detik…",networkError:"Tidak bisa menghubungi server. Periksa koneksi Anda.",noProviders:"Tidak ada penyedia autentikasi yang dikonfigurasi. Periksa variabel lingkungan server."},language:{label:"Bahasa",en:"English",id:"Indonesia"}},La={en:af,id:of},Rl="en",rb={en:af.language.en,id:of.language.id};function sf(e){return La[e]??La[Rl]}function Ba(e){return typeof e=="string"&&e in La}const lf=Symbol("docflow-locale"),cf="docflow-locale";function ab(e){if(e&&Ba(e))return e;try{const t=localStorage.getItem(cf);if(t&&Ba(t))return t}catch{}return Rl}function ob(e,t){const n=t.split(".");let i=e;for(const r of n){if(i===null||typeof i!="object")return;i=i[r]}return i}function uf(e){const t=s.ref(ab(e));return{locale:t,setLocale:r=>{if(Ba(r)){t.value=r;try{localStorage.setItem(cf,r)}catch{}}},t:(r,a)=>{const o=sf(t.value),l=ob(o,r);if(typeof l!="string")return r;let c=l;if(a)for(const[u,f]of Object.entries(a))c=c.replace(new RegExp(`\\{${u}\\}`,"g"),String(f));return c}}}function ht(){const e=s.inject(lf,null);return e||uf()}function df(e){const t=uf(e);return s.provide(lf,t),t}function ff(e){return rb[e]??e}function pf(){return["en","id"]}function sb(e){const t=s.ref({totalPages:1,visiblePages:[],config:{pageSize:{id:"a4",name:"A4",pageWidth:794,pageHeight:1123},margins:{top:20,bottom:20,left:50,right:50},pageGap:50,headerLeft:"",headerRight:"",footerLeft:"",footerRight:""}}),n=s.computed(()=>t.value.totalPages),i=s.computed(()=>t.value.visiblePages),r=s.ref(!1);let a=null,o=null;const l=()=>{var p;return((p=e.enabled)==null?void 0:p.value)??!0},c=async()=>{var g;if(!l())return;const p=e.editorRef.value,h=e.scrollRef.value;!((g=p==null?void 0:p.view)!=null&&g.dom)||!h||(a=new rr.VirtualPageOverlay(p.view.dom,e.config,h,e.bufferPages??2),a.observe(),t.value=await a.layout(),r.value=!0,o=new ResizeObserver(async()=>{a&&(t.value=await a.layout())}),o.observe(p.view.dom))},u=async p=>{a&&l()&&(t.value=await a.updateConfig(p))},f=()=>{a&&l()&&(t.value=a.getData())};let m=null;return s.onMounted(()=>{l()&&(m=setInterval(f,250))}),s.onUnmounted(()=>{m&&clearInterval(m),a==null||a.disconnect(),o==null||o.disconnect()}),s.watch([()=>{var p,h;return(h=(p=e.editorRef.value)==null?void 0:p.view)==null?void 0:h.dom},e.scrollRef,()=>{var p;return(p=e.enabled)==null?void 0:p.value}],()=>{l()&&!r.value?c():!l()&&r.value&&(m&&(clearInterval(m),m=null),a==null||a.disconnect(),o==null||o.disconnect(),a=null,o=null,r.value=!1)},{immediate:!0}),s.watch(()=>e.config,p=>{r.value&&l()&&u(p)},{deep:!0}),{data:t,totalPages:n,visiblePages:i,isReady:r,refreshData:f,updateConfig:u}}const lb={key:0,class:"virtual-page-overlay","aria-hidden":"true"},cb=["innerHTML"],ub=["innerHTML"],db=["innerHTML"],fb=["innerHTML"],pb=s.defineComponent({__name:"VirtualPageOverlay",props:{data:{},isReady:{type:Boolean}},setup(e){const t=e,n=s.computed(()=>t.data.visiblePages),i=s.computed(()=>t.data.config),r=s.computed(()=>i.value.pageSize),a=s.computed(()=>({height:`${i.value.pageGap}px`})),o=s.computed(()=>({paddingTop:`${i.value.margins.top}px`,paddingLeft:`${i.value.margins.left}px`,paddingRight:`${i.value.margins.right}px`,height:`${i.value.margins.top}px`})),l=s.computed(()=>({paddingBottom:`${i.value.margins.bottom}px`,paddingLeft:`${i.value.margins.left}px`,paddingRight:`${i.value.margins.right}px`}));function c(f){return{top:`${f.top}px`,height:`${r.value.pageHeight+i.value.pageGap}px`,width:`${r.value.pageWidth}px`}}function u(f,m){return f.replace(/\{page\}/g,String(m+1)).replace(/\{total\}/g,String(t.data.totalPages))}return(f,m)=>e.isReady?(s.openBlock(),s.createElementBlock("div",lb,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.value,p=>(s.openBlock(),s.createElementBlock("div",{key:p.index,class:"vp-page",style:s.normalizeStyle(c(p))},[s.createElementVNode("div",{class:"vp-gap",style:s.normalizeStyle(a.value)},null,4),s.createElementVNode("div",{class:"vp-header",style:s.normalizeStyle(o.value)},[s.createElementVNode("span",{class:"vp-header-left",innerHTML:i.value.headerLeft},null,8,cb),s.createElementVNode("span",{class:"vp-header-right",innerHTML:i.value.headerRight},null,8,ub)],4),s.createElementVNode("div",{class:"vp-footer",style:s.normalizeStyle(l.value)},[s.createElementVNode("span",{class:"vp-footer-left",innerHTML:u(i.value.footerLeft,p.index)},null,8,db),s.createElementVNode("span",{class:"vp-footer-right",innerHTML:u(i.value.footerRight,p.index)},null,8,fb)],4)],4))),128))])):s.createCommentVNode("",!0)}}),Ll=(e,t)=>{const n=e.__vccOpts||e;for(const[i,r]of t)n[i]=r;return n},mb=Ll(pb,[["__scopeId","data-v-a48fe1b6"]]),hb={class:"px-2 py-1.5 text-[10px] font-semibold uppercase text-slate-400"},bb=["onClick","onMouseenter"],gb={class:"text-slate-500 dark:text-slate-400"},mf=s.defineComponent({__name:"SlashMenu",props:{editor:{},commands:{}},setup(e){const{t}=ht(),n=e,i=s.ref(!1),r=s.ref(""),a=s.ref(0),o=s.ref({top:0,left:0}),l=s.ref([]);function c(){if(!n.editor)return;const{view:h}=n.editor,{selection:g}=h.state,b=h.coordsAtPos(g.head);o.value={top:b.bottom+4,left:b.left}}function u(h){var A,R,_,E;if(!n.editor)return;const{view:g}=n.editor,{selection:b}=g.state,y=b.head,v=g.state.doc.resolve(y),x=v.start(),w=v.parent.textContent.slice(0,v.parentOffset).lastIndexOf("/");if(w>=0){const z=x+w,P=g.state.tr.delete(z,y);g.dispatch(P)}const S=n.editor;if(typeof((A=S.commands)==null?void 0:A[h.command])=="function")S.commands[h.command]();else if(S.chain)try{(E=(_=(R=S.chain().focus())[h.command])==null?void 0:_.call(R))==null||E.run()}catch{}i.value=!1,r.value=""}function f(){i.value=!1,r.value=""}function m(){if(!n.editor)return;const{view:h}=n.editor,{selection:g}=h.state,b=g.head,y=h.state.doc.resolve(b),v=y.parent.textContent.slice(0,y.parentOffset),x=v.lastIndexOf("/");if(x>=0){const k=v.slice(0,x),w=v.slice(x+1);if((k===""||k.endsWith(" ")||k===`
1
+ "use strict";var Zh=Object.defineProperty;var Qh=(e,t,n)=>t in e?Zh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var kn=(e,t,n)=>Qh(e,typeof t!="symbol"?t+"":t,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ee=require("@kedataindo/docflow-core"),s=require("vue"),rr=require("@kedataindo/docflow-layout-engine");function rf(e){const t=s.ref(null),n=s.shallowRef(null),i=s.ref(!1),r=s.computed(()=>{var c;return((c=n.value)==null?void 0:c.editor)??null}),a=s.computed(()=>{var c;return((c=n.value)==null?void 0:c.pluginActions)??{}}),o=()=>{if(!t.value||n.value)return;const c=s.unref(e.collaboration),u=s.unref(e.content),f=Ee.createEditor({target:t.value,content:u,plugins:e.plugins,editable:e.editable??!0,collaboration:c,onUpdate:e.onUpdate,getPageMap:e.getPageMap,paginationOptions:e.paginationOptions,onImageUpload:e.onImageUpload,citation:e.citation,aiStream:e.aiStream,aiDraft:e.aiDraft,debug:e.debug});n.value=f,s.nextTick(()=>{i.value=!0})},l=()=>{var c;(c=n.value)==null||c.destroy(),n.value=null,i.value=!1};return s.onMounted(()=>{o()}),s.onUnmounted(()=>{l()}),s.watch(()=>e.editable,c=>{r.value&&r.value.setEditable(c??!0)}),s.watch(()=>s.unref(e.collaboration),async(c,u)=>{c!==u&&(l(),await s.nextTick(),o())}),{editorRef:t,docsEditor:n,editor:r,pluginActions:a,isReady:i}}function Yh(e){const t=s.computed(()=>{var r,a,o;return(o=(a=(r=e.value)==null?void 0:r.storage)==null?void 0:a.editorContext)==null?void 0:o.aiStream}),n=s.computed(()=>{var r,a,o;return(o=(a=(r=e.value)==null?void 0:r.storage)==null?void 0:a.editorContext)==null?void 0:o.aiDraft}),i=s.computed(()=>!!t.value);return{aiStream:t,aiDraft:n,isAIAvailable:i}}const tu="docs-editor-theme",ss=s.ref(!1);function zo(){const e=n=>{if(ss.value=n,typeof document<"u"){const i=document.documentElement;n?i.classList.add("dark"):i.classList.remove("dark")}typeof localStorage<"u"&&localStorage.setItem(tu,n?"dark":"light")},t=()=>e(!ss.value);return s.onMounted(()=>{let n=!1;if(typeof localStorage<"u"){const i=localStorage.getItem(tu);i?n=i==="dark":typeof window<"u"&&(n=window.matchMedia("(prefers-color-scheme: dark)").matches)}e(n)}),{isDark:ss,toggle:t}}function eb(e,t){let n=1;return e.state.doc.nodesBetween(0,t-1,(i,r)=>{i.isBlock&&r>0&&n++},1),n}function tb(e,t){let n;return e.state.doc.nodesBetween(0,t,i=>{i.type.name==="heading"&&i.textContent.trim()&&(n=i.textContent.trim())}),n}function nb(e,t,n){try{const{view:i}=e,r=i.coordsAtPos(n),a=i.coordsAtPos(t);if(!r||!a)return 1;const o=parseFloat(getComputedStyle(i.dom).lineHeight)||parseFloat(getComputedStyle(i.dom).fontSize)*1.6||24;return o<=0?1:Math.max(1,Math.round((r.top-a.top)/o)+1)}catch{return 1}}function ib(e){const t=e.view.dom,n=t.querySelector("[data-rm-pagination]");if(!n)return{page:1,pageCount:1};const i=t.getBoundingClientRect();if(i.height===0||i.width===0)return{page:1,pageCount:1};const r=n.children.length||1;let a=1;try{const o=e.view.coordsAtPos(e.state.selection.head);if(!o)return{page:a,pageCount:r};const l=Array.from(n.querySelectorAll(".rm-page-break")),c=t.getBoundingClientRect(),u=o.top-c.top+t.scrollTop;let f=1,m=!1;for(const p of l){const h=p.querySelector(".breaker");if(h instanceof HTMLElement&&u<h.offsetTop){a=f,m=!0;break}f++}m||(a=f)}catch{a=1}return{page:a,pageCount:r}}function Il(e){const t=e.state,{$from:n,head:i}=t.selection;let r=n.depth;for(;r>0&&!n.node(r).isBlock;)r--;const a=n.before(r),o=n.node(r),l=o.isBlock?o.type.name:void 0,{page:c,pageCount:u}=ib(e);return{page:c,pageCount:u,paragraphIndex:a>0?eb(e,a):1,line:nb(e,a,i),...l?{blockType:l}:{},section:tb(e,i)}}const af={common:{save:"Save",cancel:"Cancel",create:"Create",delete:"Delete",rename:"Rename",duplicate:"Duplicate",move:"Move",moveToFolder:"Move to folder",moveDocument:"Move Document",noFolder:"(No Folder)",search:"Search",loading:"Loading...",error:"Error",dismiss:"Dismiss",emptyDocument:"(Empty Document)",confirmDelete:"Are you sure you want to delete this document?",undo:"Undo",restore:"Restore",deleteForever:"Delete forever",back:"Back",confirmPermanentDelete:"Permanently delete this document? This cannot be undone.",confirmPermanentDeleteBulk:"Permanently delete {count} documents? This cannot be undone.",selectAll:"Select all",clearSelection:"Clear selection"},header:{file:"File",new:"New",newDocument:"New document",helpMeCreate:"Help me create",fromTemplate:"From a template",open:"Open",makeACopy:"Make a copy",share:"Share",email:"Email",emailDraft:"Email draft",download:"Download",rename:"Rename",move:"Move",moveToFolder:"Move to folder",moveToTrash:"Move to trash",addToStarred:"Add to Starred",versionHistory:"Version history",language:"Language",pageSetup:"Page setup",print:"Print",details:"Details",security:"Security limitations",edit:"Edit",view:"View",insert:"Insert",format:"Format",tools:"Tools",extensions:"Extensions",help:"Help",backToDocuments:"Back to Documents",clickToRename:"Click to rename",starDocument:"Star document",unstarDocument:"Unstar document",sandbox:"Sandbox (toggle simulated collaborators)",theme:"Theme",account:"Account",markdown:"Markdown (.md)",html:"Web page (.html)",htmlZip:"Web page (.html, zipped)",text:"Plain text (.txt)",docx:"Microsoft Word (.docx)",pdf:"PDF Document (.pdf)",odt:"OpenDocument Format (.odt)",rtf:"Rich Text Format (.rtf)",undo:"Undo",redo:"Redo",selectAll:"Select all",cut:"Cut",copy:"Copy",paste:"Paste",pasteWithoutFormatting:"Paste without formatting",delete:"Delete",findAndReplace:"Find and replace",showSidebar:"Show outline",focusMode:"Full focus mode",showRuler:"Show ruler",meetingNotes:"Meeting notes",image:"Image",table:"Table",codeBlock:"Code block",link:"Link",header:"Header",footer:"Footer",footnote:"Footnote",tableOfContents:"Table of contents",bold:"Bold text",italic:"Italic text",underline:"Underline",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",alignIndent:"Align & indent",alignLeft:"Align left",alignCenter:"Align center",alignRight:"Align right",alignJustify:"Justify",bulletsNumbering:"Bullets & numbering",bulletList:"Bulleted list",numberedList:"Numbered list",taskList:"Task list",horizontalLine:"Horizontal line",pageNumbers:"Page numbers",pageNumberInHeader:"Insert in header",pageNumberInFooter:"Insert in footer",break:"Break",pageBreak:"Page break",pageBreakShortcut:"Ctrl+Enter",smartElements:"Smart elements",dateChip:"Date",peopleChip:"People",fileChip:"File",dropdownChip:"Dropdown",locationChip:"Location",pagelessFormat:"Pageless format",clearFormatting:"Clear formatting",spellCheck:"Spell check",wordCount:"Word count",preferences:"Preferences",manageExtensions:"Manage extensions…",keyboardShortcuts:"Keyboard shortcuts",reportIssue:"Report issue",about:"About DocsEditor"},toolbar:{undo:"Undo",redo:"Redo",print:"Print",spelling:"Spelling",zoom:"100%",paragraphStyle:"Paragraph style",normalText:"Normal text",fontFamily:"Font family",decreaseFontSize:"Decrease font size",increaseFontSize:"Increase font size",fontSize:"Font size",lists:"Lists",alignment:"Alignment",insert:"Insert",comments:"Comments",history:"History",ai:"AI",tableOfContents:"Table of contents",references:"References"},statusBar:{liveSyncActive:"Live Sync Active",connecting:"Connecting…",saving:"Saving changes…",offline:"Offline",lastSavedAt:"Last saved at",never:"Never",pageSize:"Page size",page:"Page",of:"of",pageless:"Pageless",words:"words",characters:"characters"},editor:{share:{title:"Share document",close:"Close",shareableLink:"Shareable link",copy:"Copy",copied:"Link copied to clipboard",couldNotCopy:"Could not copy link",collaborators:"Collaborators",addCollaborator:"Add collaborator by email",placeholder:"colleague@example.com",add:"Add",userNotFound:"User not found",failedToAdd:"Failed to add collaborator",visibility:"Visibility",private:"Private",privateDescription:"Only you and people you invite can access this document.",restricted:"Restricted",restrictedDescription:"Anyone with the link can view this document."},print:"Print",logOut:"Log out",rename:{title:"Rename document",label:"Document title",save:"Save",cancel:"Cancel"},pageSetup:{title:"Page setup",paperSize:"Paper size",orientation:"Orientation",portrait:"Portrait",landscape:"Landscape",margins:"Margins",top:"Top",bottom:"Bottom",left:"Left",right:"Right",apply:"Apply",cancel:"Cancel"},details:{title:"Document details",titleLabel:"Title",owner:"Owner",location:"Location",noFolder:"(No folder)",created:"Created",modified:"Last modified",statistics:"Statistics",words:"Words",characters:"Characters",pages:"Pages",loading:"Loading document details…"},email:{title:"Email this file",to:"To",toPlaceholder:"recipient@example.com",subject:"Subject",body:"Body",send:"Send",copyLink:"Copy link",shareableLink:"Shareable link",defaultSubject:"Document: {title}",defaultBody:"You can view this document at: {url}"},linkDialog:{insertTitle:"Insert link",editTitle:"Edit link",text:"Text to display",textPlaceholder:"Link text",url:"URL",urlPlaceholder:"https://example.com",insert:"Insert",update:"Update",remove:"Remove link",cancel:"Cancel",urlRequired:"URL is required",urlInvalid:"Please enter a valid URL"},findReplace:{title:"Find and replace",findPlaceholder:"Find in document",replacePlaceholder:"Replace with",next:"Next",previous:"Previous",replace:"Replace",replaceAll:"Replace all",noMatches:"No matches",matchCount:"{current} of {total}",close:"Close"},headerFooter:{header:"Header",footer:"Footer",headerPlaceholder:"e.g. Document Title",footerPlaceholder:"e.g. Page {page} of {total}",headerLeftPlaceholder:"e.g. Document Title",headerRightPlaceholder:"e.g. Page {page}",differentFirstPage:"Different first page",differentOddEven:"Different odd & even pages",options:"Options",formatHeader:"Header format",pageNumber:"Page numbers",removeHeader:"Remove header",removeFooter:"Remove footer",alignPlacement:"Content placement",alignLeft:"Align left",alignCenter:"Align center",alignRight:"Align right",placementSection:"Placement",placementHint:"Header/footer content is aligned within the text area (left/center/right).",headerFooterFormatTitle:"Header & footer",marginSection:"Margin",headerTopMargin:"Header (centimeters from top)",footerBottomMargin:"Footer (centimeters from bottom)",layoutSection:"Layout",pageNumberTitle:"Page numbers",positionSection:"Position",positionHeader:"Header",positionFooter:"Footer",showOnFirstPage:"Show on first page",numberingSection:"Numbering",startAt:"Start at",continueFromPrevious:"Continue from previous section",hideOnPages:"Hide page numbers on",hideOnPagesPlaceholder:"e.g. 1, 3-5",hideOnPagesHint:"Separate with commas; use a dash for ranges (e.g. 1, 3-5). Pages are still counted, only the number is hidden.",apply:"Apply",cancel:"Cancel",save:"Save"},showOutline:"Show document outline",loadingDocument:"Loading document"},slashMenu:{title:"Suggested",basicBlocks:"Basic Blocks",noMatch:"No matching commands"},documentTabs:{documentTabs:"Document Tabs",addTab:"Add tab",rename:"Rename",delete:"Delete",outline:"Outline",untitledHeading:"Untitled Heading {level}",placeholder:"Headings you add to the document will appear here."},theme:{lightMode:"Switch to light mode",darkMode:"Switch to dark mode"},sidebars:{ai:{title:"AI Writing Helper",description:"A server-side AI co-writer to draft, summarize, or edit your copy.",quickMacros:"Quick AI Macros",summarize:"Summarize",fixGrammar:"Fix Grammar",continue:"Continue",toSpanish:"To Spanish",generations:"AI Generations",aiDrafting:"AI drafting…",copy:"Copy",copied:"Copied",insert:"Insert",inserted:"Inserted",noDraft:"Ask anything about your document, or run a quick macro above.",promptPlaceholder:"Ask AI to draft outline, write content, rewrite tone…",promptAI:"Prompt AI",close:"Close",you:"You",assistant:"Assistant",notConfigured:"AI is not configured on this deployment.",selectTextFirst:"Select text in the document first",improveSelection:"Improve selection",draft:"Draft with citations",draftPlaceholder:"Ask the AI to draft text grounded on your reference library…",promptDraft:"Draft",citations:"Citations",emptyResponse:"The AI returned an empty response.",aiError:"AI request failed",contextLabel:"Attached context",pageShort:"p.",paragraphShort:"Para.",lineShort:"Line",selectionContext:"Selected text"},comments:{title:"Discussion Panel",placeholder:"Select text to add a comment…",addComment:"Add comment",resolve:"Resolve",reply:"Reply…",replyInThread:"Reply in thread",active:"Active",resolved:"Resolved",creatingAnchored:"Creating anchored comment:",quote:"Quote:",resolvedBy:"Resolved by {user}",noComments:"No {mode} comments yet.",commentOnSelection:"Comment on selection…",generalComment:"Add general comment to document…",anchoredComment:"Anchored comment",general:"General comment",post:"Post",orphaned:"Text deleted",delete:"Delete",confirmDelete:"Delete this comment thread? This cannot be undone."},history:{title:"History",empty:"No history yet.",version:"Version",restore:"Restore",closePreview:"Close Preview",restoreThis:"Restore This",viewingPreview:"Viewing Revision Preview",readOnlyPreview:"You are previewing version #{index}. Your editor is temporarily read-only.",modifiedBy:"Modified by:",saveNamedSnapshot:"Save Named Snapshot",snapshotPlaceholder:"e.g. Approved Final Draft…",noSnapshots:"No snapshots saved yet.",save:"Save",cancel:"Cancel",preview:"Preview"},toc:{title:"Contents",empty:"No headings yet.",untitledHeading:"Untitled Heading {level}",newSection:"New {tag} Section",startWriting:"Start writing here…",closeOutline:"Close outline",searchHeadings:"Search headings…",noHeadings:"No Headings Yet",noHeadingsDescription:"Use headers (H1, H2, or H3) to structure your document. An interactive outline will generate here automatically.",quickInsert:"Quick Insert",headingLevel:"Heading {level}",noMatchingHeaders:"No matching headers found",tryDifferentTerm:"Try searching with a different term.",outlineLayout:"Outline Layout",outlineSync:"Outline syncs automatically. Click any header to instantly jump, focus, and scroll the editor to that section."},references:{title:"References",subtitle:"Manage sources and insert citations.",close:"Close references",citationStyle:"Citation style",searchSources:"Search sources…",addSource:"Add source",editSource:"Edit source",noSources:"No sources yet",noSourcesDescription:"Add your first reference to start citing. Citations and the bibliography follow the active style automatically.",noMatchingSources:"No matching sources found",cite:"Cite",edit:"Edit",delete:"Delete",back:"Back to list",anonymous:"Anonymous",etAl:"et al.",confirmDelete:'Delete source "{title}"? Citations referencing it will stop rendering.',import:{title:"Import",fromDoi:"From DOI (CrossRef)",doiPlaceholder:"Paste a DOI or DOI link…",importDoi:"Import DOI",doiSuccess:"Source imported from CrossRef.",doiFailed:"DOI could not be resolved.",fromFile:"From BibTeX / RIS file",pickFile:"Choose .bib or .ris file",importing:"Importing…",batchSuccess:"{count} source(s) imported.",partial:"{ok} imported, {failed} failed.",failed:"Import failed."},types:{book:"Book","article-journal":"Journal article",chapter:"Book chapter",webpage:"Web page",report:"Report",thesis:"Thesis",document:"Document"},form:{type:"Source type",title:"Title",authors:"Authors",familyName:"Family name",givenName:"Given name",addAuthor:"Add author",year:"Year",journal:"Journal",bookTitle:"Book title",publisher:"Publisher",publisherPlace:"Place",volume:"Volume",issue:"Issue",pages:"Pages",save:"Save changes",create:"Add source",cancel:"Cancel"}}},dashboard:{allDocuments:"All Documents",starred:"Starred",folders:"Folders",createFolder:"Create New Folder",folderNamePlaceholder:"Folder name…",noFolders:"No folders created yet.",startNewDocument:"Start a New Document",blankDocument:"Blank Document",blankDescription:"Fresh slate",meetingNotes:"Meeting Notes",meetingNotesDescription:"Attendees & Action Items",projectProposal:"Project Proposal",projectProposalDescription:"Objectives & Deliverables",officialLetter:"Official Letter",officialLetterDescription:"Pre-formatted header",searchPlaceholder:"Search titles or full-text contents…",modified:"Modified",alphabetical:"Alphabetical",created:"Created",gridView:"Grid View",listView:"List View",activeFilters:"Active Filters:",folder:"Folder",starredOnly:"Starred Only",search:"Search",noDocuments:"No documents found",noDocumentsDescription:"No files match your current filters. Select a template or create a blank file to start drafting!",createBlankDocument:"Create Blank Document",loadingDocuments:"Loading documents...",folderCreated:"Folder created.",folderAlreadyExists:"A folder with that name already exists.",folderLoadError:"Could not load folders. Please try again.",folderCreateError:"Could not create the folder. Please try again.",documentTitle:"Document Title",lastModified:"Last Modified",actions:"Actions",trash:"Trash",trashEmpty:"Trash is empty",trashEmptyDescription:"Deleted documents will appear here.",trashedAt:"Trashed",movedToTrash:"Moved to trash:",selectedCount:"{count} selected",documentDeleteError:"Could not delete one or more documents. Please try again."},auth:{signInTitle:"Sign in to create and edit documents",signInWithGoogle:"Sign in with Google",signInWithEmail:"Sign in with Email",signInWithGitHub:"Sign in with GitHub",signInWith:"Sign in with {provider}",or:"or",email:"Email",password:"Password",name:"Name",signIn:"Sign In",signUp:"Sign Up",signOut:"Sign out",noAccount:"Don't have an account? Sign up",hasAccount:"Already have an account? Sign in",invalidCredentials:"Invalid email or password",accountCreated:"Account created! You are now signed in.",loadDocumentsError:"Failed to load documents. Is the server running?",retry:"Try again",rateLimited:"Server is rate limiting requests.",retryIn:"Retrying in {seconds}s…",networkError:"Could not reach the server. Check your connection.",noProviders:"No authentication providers configured. Check your server environment variables."},language:{label:"Language",en:"English",id:"Indonesian"}},of={common:{save:"Simpan",cancel:"Batal",create:"Buat",delete:"Hapus",rename:"Ubah nama",duplicate:"Duplikat",move:"Pindah",moveToFolder:"Pindah ke folder",moveDocument:"Pindahkan Dokumen",noFolder:"(Tanpa Folder)",search:"Cari",loading:"Memuat…",error:"Kesalahan",dismiss:"Tutup",emptyDocument:"(Dokumen Kosong)",confirmDelete:"Apakah Anda yakin ingin menghapus dokumen ini?",undo:"Batalkan",restore:"Pulihkan",deleteForever:"Hapus permanen",back:"Kembali",confirmPermanentDelete:"Hapus dokumen ini secara permanen? Tindakan ini tidak dapat dibatalkan.",confirmPermanentDeleteBulk:"Hapus {count} dokumen secara permanen? Tindakan ini tidak dapat dibatalkan.",selectAll:"Pilih semua",clearSelection:"Hapus pilihan"},header:{file:"Berkas",new:"Baru",newDocument:"Dokumen baru",helpMeCreate:"Bantu saya membuat",fromTemplate:"Dari templat",open:"Buka",makeACopy:"Buat salinan",share:"Bagikan",email:"Email",emailDraft:"Draf Email",download:"Unduh",rename:"Ubah nama",move:"Pindah",moveToFolder:"Pindah ke folder",moveToTrash:"Pindah ke sampah",addToStarred:"Tambahkan ke Bintang",versionHistory:"Riwayat versi",language:"Bahasa",pageSetup:"Penataan halaman",print:"Cetak",details:"Detail",security:"Batasan keamanan",edit:"Sunting",view:"Tampilan",insert:"Sisipkan",format:"Format",tools:"Alat",extensions:"Ekstensi",help:"Bantuan",backToDocuments:"Kembali ke Dokumen",clickToRename:"Klik untuk mengganti nama",starDocument:"Bintangi dokumen",unstarDocument:"Hapus bintang",sandbox:"Sandbox (alihkan kolaborator simulasi)",theme:"Tema",account:"Akun",markdown:"Markdown (.md)",html:"Halaman web (.html)",htmlZip:"Halaman web (.html, ter-zip)",text:"Teks biasa (.txt)",docx:"Microsoft Word (.docx)",pdf:"Dokumen PDF (.pdf)",odt:"OpenDocument Format (.odt)",rtf:"Rich Text Format (.rtf)",undo:"Urungkan",redo:"Ulangi",selectAll:"Pilih semua",cut:"Potong",copy:"Salin",paste:"Tempel",pasteWithoutFormatting:"Tempel tanpa pemformatan",delete:"Hapus",findAndReplace:"Temukan dan ganti",showSidebar:"Tampilkan kerangka",focusMode:"Mode Fokus Penuh",showRuler:"Tampilkan penggaris",meetingNotes:"Catatan Rapat",image:"Gambar",table:"Tabel",codeBlock:"Kode Blok",link:"Tautan",header:"Header",footer:"Footer",footnote:"Catatan Kaki",tableOfContents:"Daftar isi",bold:"Teks Tebal",italic:"Teks Miring",underline:"Garis Bawah",heading1:"Judul 1",heading2:"Judul 2",heading3:"Judul 3",heading4:"Judul 4",heading5:"Judul 5",heading6:"Judul 6",alignIndent:"Perataan & indentasi",alignLeft:"Rata kiri",alignCenter:"Rata tengah",alignRight:"Rata kanan",alignJustify:"Rata kiri-kanan",bulletsNumbering:"Bullet & penomoran",bulletList:"Daftar ber-bullet",numberedList:"Daftar bernomor",taskList:"Daftar tugas",horizontalLine:"Garis horizontal",pageNumbers:"Nomor halaman",pageNumberInHeader:"Sisipkan di header",pageNumberInFooter:"Sisipkan di footer",break:"Pemisah",pageBreak:"Pemisah halaman",pageBreakShortcut:"Ctrl+Enter",smartElements:"Elemen pintar",dateChip:"Tanggal",peopleChip:"Orang",fileChip:"Berkas",dropdownChip:"Dropdown",locationChip:"Lokasi",pagelessFormat:"Format tanpa halaman",clearFormatting:"Hapus pemformatan",spellCheck:"Periksa ejaan",wordCount:"Hitungan kata",preferences:"Preferensi",manageExtensions:"Kelola ekstensi…",keyboardShortcuts:"Pintasan keyboard",reportIssue:"Laporkan masalah",about:"Tentang DocsEditor"},toolbar:{undo:"Urungkan",redo:"Ulangi",print:"Cetak",spelling:"Ejaan",zoom:"100%",paragraphStyle:"Gaya paragraf",normalText:"Teks normal",fontFamily:"Keluarga font",decreaseFontSize:"Kecilkan font",increaseFontSize:"Perbesar font",fontSize:"Ukuran font",lists:"Daftar",alignment:"Perataan",insert:"Sisipkan",comments:"Komentar",history:"Riwayat",ai:"AI",tableOfContents:"Daftar isi",references:"Referensi"},statusBar:{liveSyncActive:"Sinkron Langsung Aktif",connecting:"Menghubungkan…",saving:"Menyimpan perubahan…",offline:"Luring",lastSavedAt:"Terakhir disimpan",never:"Tidak pernah",pageSize:"Ukuran halaman",page:"Halaman",of:"dari",pageless:"Tanpa halaman",words:"kata",characters:"karakter"},editor:{share:{title:"Bagikan dokumen",close:"Tutup",shareableLink:"Tautan dapat dibagikan",copy:"Salin",copied:"Tautan disalin ke papan klip",couldNotCopy:"Tidak dapat menyalin tautan",collaborators:"Kolaborator",addCollaborator:"Tambahkan kolaborator lewat email",placeholder:"rekan@contoh.com",add:"Tambah",userNotFound:"Pengguna tidak ditemukan",failedToAdd:"Gagal menambahkan kolaborator",visibility:"Visibilitas",private:"Pribadi",privateDescription:"Hanya Anda dan orang yang Anda undang yang dapat mengakses dokumen ini.",restricted:"Terbatas",restrictedDescription:"Siapa pun dengan tautan dapat melihat dokumen ini."},print:"Cetak",logOut:"Keluar",rename:{title:"Ubah nama dokumen",label:"Judul dokumen",save:"Simpan",cancel:"Batal"},pageSetup:{title:"Penataan halaman",paperSize:"Ukuran kertas",orientation:"Orientasi",portrait:"Potret",landscape:"Lanskap",margins:"Margin",top:"Atas",bottom:"Bawah",left:"Kiri",right:"Kanan",apply:"Terapkan",cancel:"Batal"},details:{title:"Detail dokumen",titleLabel:"Judul",owner:"Pemilik",location:"Lokasi",noFolder:"(Tanpa folder)",created:"Dibuat",modified:"Terakhir diubah",statistics:"Statistik",words:"Kata",characters:"Karakter",pages:"Halaman",loading:"Memuat detail dokumen…"},email:{title:"Email file ini",to:"Kepada",toPlaceholder:"penerima@contoh.com",subject:"Subjek",body:"Isi",send:"Kirim",copyLink:"Salin tautan",shareableLink:"Tautan dapat dibagikan",defaultSubject:"Dokumen: {title}",defaultBody:"Anda dapat melihat dokumen ini di: {url}"},linkDialog:{insertTitle:"Sisipkan tautan",editTitle:"Edit tautan",text:"Teks yang ditampilkan",textPlaceholder:"Teks tautan",url:"URL",urlPlaceholder:"https://contoh.com",insert:"Sisipkan",update:"Perbarui",remove:"Hapus tautan",cancel:"Batal",urlRequired:"URL wajib diisi",urlInvalid:"Masukkan URL yang valid"},findReplace:{title:"Temukan dan ganti",findPlaceholder:"Temukan di dokumen",replacePlaceholder:"Ganti dengan",next:"Berikutnya",previous:"Sebelumnya",replace:"Ganti",replaceAll:"Ganti semua",noMatches:"Tidak ada hasil",matchCount:"{current} dari {total}",close:"Tutup"},headerFooter:{header:"Header",footer:"Footer",headerPlaceholder:"mis. Judul Dokumen",footerPlaceholder:"mis. Halaman {page} dari {total}",headerLeftPlaceholder:"mis. Judul Dokumen",headerRightPlaceholder:"mis. Halaman {page}",differentFirstPage:"Halaman pertama berbeda",differentOddEven:"Halaman ganjil & genap berbeda",options:"Opsi",formatHeader:"Format header",pageNumber:"Nomor halaman",removeHeader:"Hapus header",removeFooter:"Hapus footer",alignPlacement:"Peletakkan konten",alignLeft:"Rata kiri",alignCenter:"Rata tengah",alignRight:"Rata kanan",placementSection:"Peletakkan",placementHint:"Konten header/footer disejajarkan di dalam area teks (kiri/tengah/kanan).",headerFooterFormatTitle:"Header & footer",marginSection:"Margin",headerTopMargin:"Header (sentimeter dari atas)",footerBottomMargin:"Footer (sentimeter dari bawah)",layoutSection:"Tata letak",pageNumberTitle:"Nomor halaman",positionSection:"Posisi",positionHeader:"Header",positionFooter:"Footer",showOnFirstPage:"Tampilkan di halaman pertama",numberingSection:"Penomoran",startAt:"Dimulai dari",continueFromPrevious:"Lanjutkan dari bagian sebelumnya",hideOnPages:"Sembunyikan nomor di halaman",hideOnPagesPlaceholder:"mis. 1, 3-5",hideOnPagesHint:"Pisahkan dengan koma; gunakan tanda hubung untuk rentang (mis. 1, 3-5). Halaman tetap dihitung, hanya nomornya yang disembunyikan.",apply:"Terapkan",cancel:"Batal",save:"Simpan"},showOutline:"Tampilkan kerangka dokumen",loadingDocument:"Memuat dokumen"},slashMenu:{title:"Saran",basicBlocks:"Blok Dasar",noMatch:"Tidak ada perintah yang cocok"},documentTabs:{documentTabs:"Tab Dokumen",addTab:"Tambah tab",rename:"Ubah nama",delete:"Hapus",outline:"Kerangka",untitledHeading:"Judul Tanpa Nama {level}",placeholder:"Tajuk yang Anda tambahkan ke dokumen akan muncul di sini."},theme:{lightMode:"Beralih ke mode terang",darkMode:"Beralih ke mode gelap"},sidebars:{ai:{title:"AI Writing Helper",description:"Penulis AI sisi-server untuk menyusun, merangkum, atau menyunting tulisan Anda.",quickMacros:"Makro AI Cepat",summarize:"Rangkum",fixGrammar:"Perbaiki Tata Bahasa",continue:"Lanjutkan",toSpanish:"Ke Spanyol",generations:"Hasil AI",aiDrafting:"AI menyusun…",copy:"Salin",copied:"Tersalin",insert:"Sisipkan",inserted:"Tersisip",noDraft:"Tanya apa saja tentang dokumen Anda, atau jalankan makro cepat di atas.",promptPlaceholder:"Minta AI membuat kerangka, menulis konten, menulis ulang nada…",promptAI:"Perintah AI",close:"Tutup",you:"Anda",assistant:"Asisten",notConfigured:"AI belum dikonfigurasi pada deployment ini.",selectTextFirst:"Pilih teks di dokumen terlebih dahulu",improveSelection:"Perbaiki pilihan",draft:"Draf dengan sitasi",draftPlaceholder:"Minta AI menyusun teks berbasis pustaka referensi Anda…",promptDraft:"Susun",citations:"Sitasi",emptyResponse:"AI mengembalikan respons kosong.",aiError:"Permintaan AI gagal",contextLabel:"Konteks yang dilampirkan",pageShort:"Hal.",paragraphShort:"Alinea",lineShort:"Baris",selectionContext:"Teks terpilih"},comments:{title:"Panel Diskusi",placeholder:"Pilih teks untuk menambahkan komentar…",addComment:"Tambah komentar",resolve:"Selesai",reply:"Balas…",replyInThread:"Balas di thread",active:"Aktif",resolved:"Selesai",creatingAnchored:"Membuat komentar terpaut:",quote:"Kutipan:",resolvedBy:"Diselesaikan oleh {user}",noComments:"Belum ada komentar {mode}.",commentOnSelection:"Komentari pilihan…",generalComment:"Tambahkan komentar umum ke dokumen…",anchoredComment:"Komentar terpaut",general:"Komentar umum",post:"Kirim",orphaned:"Teks dihapus",delete:"Hapus",confirmDelete:"Hapus thread komentar ini? Tindakan ini tidak dapat dibatalkan."},history:{title:"Riwayat",empty:"Belum ada riwayat.",version:"Versi",restore:"Pulihkan",closePreview:"Tutup Pratinjau",restoreThis:"Pulihkan Ini",viewingPreview:"Melihat Pratinjau Revisi",readOnlyPreview:"Anda sedang melihat pratinjau versi #{index}. Editor Anda untuk sementara hanya-baca.",modifiedBy:"Diubah oleh:",saveNamedSnapshot:"Simpan Snapshot Bernama",snapshotPlaceholder:"mis. Final Draft Disetujui…",noSnapshots:"Belum ada snapshot yang disimpan.",save:"Simpan",cancel:"Batal",preview:"Pratinjau"},toc:{title:"Daftar Isi",empty:"Belum ada judul.",untitledHeading:"Judul Tanpa Nama {level}",newSection:"Bagian {tag} Baru",startWriting:"Mulai menulis di sini…",closeOutline:"Tutup kerangka",searchHeadings:"Cari judul…",noHeadings:"Belum Ada Judul",noHeadingsDescription:"Gunakan header (H1, H2, atau H3) untuk menyusun dokumen. Kerangka interaktif akan dibuat otomatis di sini.",quickInsert:"Sisipkan Cepat",headingLevel:"Judul {level}",noMatchingHeaders:"Tidak ada header yang cocok",tryDifferentTerm:"Coba cari dengan istilah lain.",outlineLayout:"Tata Letak Kerangka",outlineSync:"Kerangka tersinkronisasi otomatis. Klik header apa pun untuk langsung melompat, fokus, dan menggulir editor ke bagian tersebut."},references:{title:"Referensi",subtitle:"Kelola sumber dan sisipkan sitasi.",close:"Tutup referensi",citationStyle:"Gaya sitasi",searchSources:"Cari sumber…",addSource:"Tambah sumber",editSource:"Ubah sumber",noSources:"Belum ada sumber",noSourcesDescription:"Tambahkan referensi pertama Anda untuk mulai menyitasi. Sitasi dan daftar pustaka mengikuti gaya aktif secara otomatis.",noMatchingSources:"Tidak ada sumber yang cocok",cite:"Sitasi",edit:"Ubah",delete:"Hapus",back:"Kembali ke daftar",anonymous:"Anonim",etAl:"dkk.",confirmDelete:'Hapus sumber "{title}"? Sitasi yang merujuknya akan berhenti ditampilkan.',import:{title:"Impor",fromDoi:"Dari DOI (CrossRef)",doiPlaceholder:"Tempel DOI atau tautan DOI…",importDoi:"Impor DOI",doiSuccess:"Sumber berhasil diimpor dari CrossRef.",doiFailed:"DOI tidak dapat ditemukan.",fromFile:"Dari berkas BibTeX / RIS",pickFile:"Pilih berkas .bib atau .ris",importing:"Mengimpor…",batchSuccess:"{count} sumber berhasil diimpor.",partial:"{ok} berhasil, {failed} gagal.",failed:"Impor gagal."},types:{book:"Buku","article-journal":"Artikel jurnal",chapter:"Bab buku",webpage:"Halaman web",report:"Laporan",thesis:"Tesis",document:"Dokumen"},form:{type:"Jenis sumber",title:"Judul",authors:"Penulis",familyName:"Nama keluarga",givenName:"Nama depan",addAuthor:"Tambah penulis",year:"Tahun",journal:"Jurnal",bookTitle:"Judul buku",publisher:"Penerbit",publisherPlace:"Kota terbit",volume:"Volume",issue:"Edisi",pages:"Halaman",save:"Simpan perubahan",create:"Tambah sumber",cancel:"Batal"}}},dashboard:{allDocuments:"Semua Dokumen",starred:"Berbintang",folders:"Folder",createFolder:"Buat Folder Baru",folderNamePlaceholder:"Nama folder…",noFolders:"Belum ada folder.",startNewDocument:"Mulai Dokumen Baru",blankDocument:"Dokumen Kosong",blankDescription:"Kertas kosong",meetingNotes:"Catatan Rapat",meetingNotesDescription:"Peserta & Tindak Lanjut",projectProposal:"Proposal Proyek",projectProposalDescription:"Tujuan & Hasil",officialLetter:"Surat Resmi",officialLetterDescription:"Header yang sudah diformat",searchPlaceholder:"Cari judul atau isi dokumen…",modified:"Diubah",alphabetical:"Abjad",created:"Dibuat",gridView:"Tampilan Grid",listView:"Tampilan Daftar",activeFilters:"Filter Aktif:",folder:"Folder",starredOnly:"Hanya Berbintang",search:"Cari",noDocuments:"Tidak ada dokumen",noDocumentsDescription:"Tidak ada file yang cocok dengan filter. Pilih template atau buat dokumen kosong untuk mulai menulis!",createBlankDocument:"Buat Dokumen Kosong",loadingDocuments:"Memuat dokumen...",folderCreated:"Folder berhasil dibuat.",folderAlreadyExists:"Folder dengan nama tersebut sudah ada.",folderLoadError:"Folder tidak dapat dimuat. Silakan coba lagi.",folderCreateError:"Folder tidak dapat dibuat. Silakan coba lagi.",documentTitle:"Judul Dokumen",lastModified:"Terakhir Diubah",actions:"Aksi",trash:"Sampah",trashEmpty:"Sampah kosong",trashEmptyDescription:"Dokumen yang dihapus akan muncul di sini.",trashedAt:"Dihapus",movedToTrash:"Dipindahkan ke sampah:",selectedCount:"{count} dipilih",documentDeleteError:"Tidak dapat menghapus satu atau lebih dokumen. Silakan coba lagi."},auth:{signInTitle:"Masuk untuk membuat dan menyunting dokumen",signInWithGoogle:"Masuk dengan Google",signInWithEmail:"Masuk dengan Email",signInWithGitHub:"Masuk dengan GitHub",signInWith:"Masuk dengan {provider}",or:"atau",email:"Email",password:"Kata sandi",name:"Nama",signIn:"Masuk",signUp:"Daftar",signOut:"Keluar",noAccount:"Belum punya akun? Daftar",hasAccount:"Sudah punya akun? Masuk",invalidCredentials:"Email atau kata sandi salah",accountCreated:"Akun dibuat! Anda sekarang masuk.",loadDocumentsError:"Gagal memuat dokumen. Apakah server berjalan?",retry:"Coba lagi",rateLimited:"Server sedang membatasi permintaan.",retryIn:"Mencoba ulang dalam {seconds} detik…",networkError:"Tidak bisa menghubungi server. Periksa koneksi Anda.",noProviders:"Tidak ada penyedia autentikasi yang dikonfigurasi. Periksa variabel lingkungan server."},language:{label:"Bahasa",en:"English",id:"Indonesia"}},La={en:af,id:of},Rl="en",rb={en:af.language.en,id:of.language.id};function sf(e){return La[e]??La[Rl]}function Ba(e){return typeof e=="string"&&e in La}const lf=Symbol("docflow-locale"),cf="docflow-locale";function ab(e){if(e&&Ba(e))return e;try{const t=localStorage.getItem(cf);if(t&&Ba(t))return t}catch{}return Rl}function ob(e,t){const n=t.split(".");let i=e;for(const r of n){if(i===null||typeof i!="object")return;i=i[r]}return i}function uf(e){const t=s.ref(ab(e));return{locale:t,setLocale:r=>{if(Ba(r)){t.value=r;try{localStorage.setItem(cf,r)}catch{}}},t:(r,a)=>{const o=sf(t.value),l=ob(o,r);if(typeof l!="string")return r;let c=l;if(a)for(const[u,f]of Object.entries(a))c=c.replace(new RegExp(`\\{${u}\\}`,"g"),String(f));return c}}}function ht(){const e=s.inject(lf,null);return e||uf()}function df(e){const t=uf(e);return s.provide(lf,t),t}function ff(e){return rb[e]??e}function pf(){return["en","id"]}function sb(e){const t=s.ref({totalPages:1,visiblePages:[],config:{pageSize:{id:"a4",name:"A4",pageWidth:794,pageHeight:1123},margins:{top:20,bottom:20,left:50,right:50},pageGap:50,headerLeft:"",headerRight:"",footerLeft:"",footerRight:""}}),n=s.computed(()=>t.value.totalPages),i=s.computed(()=>t.value.visiblePages),r=s.ref(!1);let a=null,o=null;const l=()=>{var p;return((p=e.enabled)==null?void 0:p.value)??!0},c=async()=>{var g;if(!l())return;const p=e.editorRef.value,h=e.scrollRef.value;!((g=p==null?void 0:p.view)!=null&&g.dom)||!h||(a=new rr.VirtualPageOverlay(p.view.dom,e.config,h,e.bufferPages??2),a.observe(),t.value=await a.layout(),r.value=!0,o=new ResizeObserver(async()=>{a&&(t.value=await a.layout())}),o.observe(p.view.dom))},u=async p=>{a&&l()&&(t.value=await a.updateConfig(p))},f=()=>{a&&l()&&(t.value=a.getData())};let m=null;return s.onMounted(()=>{l()&&(m=setInterval(f,250))}),s.onUnmounted(()=>{m&&clearInterval(m),a==null||a.disconnect(),o==null||o.disconnect()}),s.watch([()=>{var p,h;return(h=(p=e.editorRef.value)==null?void 0:p.view)==null?void 0:h.dom},e.scrollRef,()=>{var p;return(p=e.enabled)==null?void 0:p.value}],()=>{l()&&!r.value?c():!l()&&r.value&&(m&&(clearInterval(m),m=null),a==null||a.disconnect(),o==null||o.disconnect(),a=null,o=null,r.value=!1)},{immediate:!0}),s.watch(()=>e.config,p=>{r.value&&l()&&u(p)},{deep:!0}),{data:t,totalPages:n,visiblePages:i,isReady:r,refreshData:f,updateConfig:u}}const lb={key:0,class:"virtual-page-overlay","aria-hidden":"true"},cb=["innerHTML"],ub=["innerHTML"],db=["innerHTML"],fb=["innerHTML"],pb=s.defineComponent({__name:"VirtualPageOverlay",props:{data:{},isReady:{type:Boolean}},setup(e){const t=e,n=s.computed(()=>t.data.visiblePages),i=s.computed(()=>t.data.config),r=s.computed(()=>i.value.pageSize),a=s.computed(()=>({height:`${i.value.pageGap}px`})),o=s.computed(()=>({paddingTop:`${i.value.margins.top}px`,paddingLeft:`${i.value.margins.left}px`,paddingRight:`${i.value.margins.right}px`,height:`${i.value.margins.top}px`})),l=s.computed(()=>({paddingBottom:`${i.value.margins.bottom}px`,paddingLeft:`${i.value.margins.left}px`,paddingRight:`${i.value.margins.right}px`}));function c(f){return{top:`${f.top}px`,height:`${r.value.pageHeight+i.value.pageGap}px`,width:`${r.value.pageWidth}px`}}function u(f,m){return f.replace(/\{page\}/g,String(m+1)).replace(/\{total\}/g,String(t.data.totalPages))}return(f,m)=>e.isReady?(s.openBlock(),s.createElementBlock("div",lb,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(n.value,p=>(s.openBlock(),s.createElementBlock("div",{key:p.index,class:"vp-page",style:s.normalizeStyle(c(p))},[s.createElementVNode("div",{class:"vp-gap",style:s.normalizeStyle(a.value)},null,4),s.createElementVNode("div",{class:"vp-header",style:s.normalizeStyle(o.value)},[s.createElementVNode("span",{class:"vp-header-left",innerHTML:i.value.headerLeft},null,8,cb),s.createElementVNode("span",{class:"vp-header-right",innerHTML:i.value.headerRight},null,8,ub)],4),s.createElementVNode("div",{class:"vp-footer",style:s.normalizeStyle(l.value)},[s.createElementVNode("span",{class:"vp-footer-left",innerHTML:u(i.value.footerLeft,p.index)},null,8,db),s.createElementVNode("span",{class:"vp-footer-right",innerHTML:u(i.value.footerRight,p.index)},null,8,fb)],4)],4))),128))])):s.createCommentVNode("",!0)}}),Ll=(e,t)=>{const n=e.__vccOpts||e;for(const[i,r]of t)n[i]=r;return n},mb=Ll(pb,[["__scopeId","data-v-a48fe1b6"]]),hb={class:"px-2 py-1.5 text-[10px] font-semibold uppercase text-slate-400"},bb=["onClick","onMouseenter"],gb={class:"text-slate-500 dark:text-slate-400"},mf=s.defineComponent({__name:"SlashMenu",props:{editor:{},commands:{}},setup(e){const{t}=ht(),n=e,i=s.ref(!1),r=s.ref(""),a=s.ref(0),o=s.ref({top:0,left:0}),l=s.ref([]);function c(){if(!n.editor)return;const{view:h}=n.editor,{selection:g}=h.state,b=h.coordsAtPos(g.head);o.value={top:b.bottom+4,left:b.left}}function u(h){var A,R,_,E;if(!n.editor)return;const{view:g}=n.editor,{selection:b}=g.state,y=b.head,v=g.state.doc.resolve(y),x=v.start(),w=v.parent.textContent.slice(0,v.parentOffset).lastIndexOf("/");if(w>=0){const z=x+w,P=g.state.tr.delete(z,y);g.dispatch(P)}const S=n.editor;if(typeof((A=S.commands)==null?void 0:A[h.command])=="function")S.commands[h.command]();else if(S.chain)try{(E=(_=(R=S.chain().focus())[h.command])==null?void 0:_.call(R))==null||E.run()}catch{}i.value=!1,r.value=""}function f(){i.value=!1,r.value=""}function m(){if(!n.editor)return;const{view:h}=n.editor,{selection:g}=h.state,b=g.head,y=h.state.doc.resolve(b),v=y.parent.textContent.slice(0,y.parentOffset),x=v.lastIndexOf("/");if(x>=0){const k=v.slice(0,x),w=v.slice(x+1);if((k===""||k.endsWith(" ")||k===`
2
2
  `)&&!w.includes(" ")){r.value=w,i.value=!0,a.value=0,c();return}}i.value=!1}s.watch(()=>n.editor,h=>{h&&(h.on("update",m),h.on("selectionUpdate",()=>{i.value&&c()}))}),s.watch([r,()=>n.commands],()=>{const h=r.value.toLowerCase();l.value=h?n.commands.filter(g=>g.name.toLowerCase().includes(h)):n.commands});function p(h){if(i.value){if(h.key==="ArrowDown"&&(h.preventDefault(),a.value=Math.min(a.value+1,l.value.length-1)),h.key==="ArrowUp"&&(h.preventDefault(),a.value=Math.max(a.value-1,0)),h.key==="Enter"){h.preventDefault();const g=l.value[a.value];g&&u(g)}h.key==="Escape"&&(h.preventDefault(),f())}}return s.onMounted(()=>{document.addEventListener("keydown",p)}),s.onUnmounted(()=>{document.removeEventListener("keydown",p)}),(h,g)=>(s.openBlock(),s.createBlock(s.Teleport,{to:"body"},[i.value&&l.value.length>0?(s.openBlock(),s.createElementBlock("div",{key:0,class:"docs-slash-menu fixed z-[999] w-56 max-h-64 overflow-y-auto rounded-lg border border-slate-200 bg-white p-1 shadow-xl dark:border-slate-700 dark:bg-slate-800",style:s.normalizeStyle({top:o.value.top+"px",left:o.value.left+"px"})},[s.createElementVNode("div",hb,s.toDisplayString(s.unref(t)("slashMenu.basicBlocks")),1),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(l.value,(b,y)=>(s.openBlock(),s.createElementBlock("button",{key:b.command,class:s.normalizeClass(["flex w-full items-center gap-2 rounded-md px-3 py-2 text-left text-sm transition-colors",y===a.value?"bg-slate-100 dark:bg-slate-700":"hover:bg-slate-50 dark:hover:bg-slate-700/50"]),onClick:v=>u(b),onMouseenter:v=>a.value=y},[s.createElementVNode("span",gb,s.toDisplayString(b.name),1)],42,bb))),128))],4)):s.createCommentVNode("",!0)]))}});/**
3
3
  * @license lucide-vue-next v1.0.0 - ISC
4
4
  *
@@ -15239,7 +15239,7 @@ ${n.innerHTML}
15239
15239
  `," ")!==a.originalText?null:{...a,from:l,to:c}}return a}},props:{decorations(r){const a=at.getState(r);if(!a)return t=null,je.empty;const o=[];if(a.mode==="transform"&&a.to>a.from&&o.push(ft.inline(a.from,a.to,{class:"docs-ai-selection"})),a.status==="prompt"){const l=n();o.push(ft.widget(a.to,l.dom,{key:"docs-ai-prompt",side:1,stopEvent:l.stopEvent}))}else{t=null;const l=i(a);o.push(ft.widget(a.to,l.dom,{key:`docs-ai-ghost-${a.status}-${a.text.length}-${(a.error??"").length}`,side:1,stopEvent:l.stopEvent}))}return je.create(r.doc,o)},handleKeyDown(r,a){const o=at.getState(e.state);return o?a.key==="Escape"?(e.commands.aiReject(),!0):o.status==="prompt"?!1:(a.key==="Enter"||a.key==="Tab")&&o.status!=="error"?(a.preventDefault(),e.commands.aiAccept(),!0):!1:!1}}})]},onTransaction(){const e=this.editor.storage.ai;e.preview=at.getState(this.editor.state)??null},onDestroy(){var t;const e=this.editor.storage.ai;(t=e.abort)==null||t.abort(),e.abort=null,e.preview=null}});Ee.definePlugin({id:"ai",tiptapExtensions:[A5,WE.configure({html:!0,linkify:!0,breaks:!1})],slashCommands:[{name:"AI",description:"Generate text with AI",command:"aiGenerate"}]});Et.create({name:"comment",inclusive:!0,addAttributes(){return{threadId:{default:null,parseHTML:e=>e.getAttribute("data-comment-thread"),renderHTML:e=>e.threadId?{"data-comment-thread":e.threadId,class:"docs-comment"}:{}},pos:{default:null,renderHTML:()=>({})}}},parseHTML(){return[{tag:"span[data-comment-thread]"}]},renderHTML({HTMLAttributes:e}){return["span",e,0]}});function Ol(){return new Date().toISOString().slice(0,10)}function Yd(e){if(!e)return"Pick a date";const t=new Date(e+"T00:00:00");return isNaN(t.getTime())?"Pick a date":t.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function T5(e){return(e||"?").trim().charAt(0).toUpperCase()||"?"}var si=["To Do","In Progress","Review","Approved"];function ef(e){return e.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"")}var N5=Ae.create({name:"dateChip",group:"inline",inline:!0,selectable:!0,draggable:!1,atom:!0,addAttributes(){return{date:{default:Ol(),parseHTML:e=>e.getAttribute("data-date")??Ol(),renderHTML:e=>({"data-date":e.date??""})}}},parseHTML(){return[{tag:'span[data-node-type="date-chip"]'}]},renderHTML({node:e,HTMLAttributes:t}){return["span",Fe(t,{"data-node-type":"date-chip",class:"docs-chip docs-chip--date"}),Yd(e.attrs.date)]},addNodeView(){return e=>{let t=e.node;const n=e.getPos,i=e.view,r=document.createElement("span");r.className="docs-chip docs-chip--date",r.setAttribute("data-node-type","date-chip"),r.setAttribute("contenteditable","false");const a=()=>{r.querySelector("input")||(r.textContent=Yd(t.attrs.date),r.setAttribute("data-date",t.attrs.date))};return a(),r.addEventListener("click",o=>{if(o.preventDefault(),o.stopPropagation(),r.querySelector("input"))return;const l=document.createElement("input");l.type="date",l.value=t.attrs.date,l.className="docs-chip-date-input",r.replaceChildren(l),l.focus();const c=()=>{const u=l.value,f=n();typeof f=="number"&&i.dispatch(i.state.tr.setNodeMarkup(f,void 0,{date:u})),setTimeout(a,30)};l.addEventListener("change",c),l.addEventListener("blur",()=>setTimeout(a,30))}),{dom:r,update(o){return o.type.name!=="dateChip"?!1:(t=o,a(),!0)}}}}}),O5=Ae.create({name:"peopleChip",group:"inline",inline:!0,selectable:!0,draggable:!1,atom:!0,addAttributes(){return{userId:{default:"",parseHTML:e=>e.getAttribute("data-user-id")??"",renderHTML:e=>e.userId?{"data-user-id":e.userId}:{}},name:{default:"",parseHTML:e=>e.getAttribute("data-name")??"",renderHTML:e=>({"data-name":e.name??""})}}},parseHTML(){return[{tag:'span[data-node-type="people-chip"]'}]},renderHTML({node:e,HTMLAttributes:t}){return["span",Fe(t,{"data-node-type":"people-chip",class:"docs-chip docs-chip--people"}),`@${e.attrs.name||"user"}`]},addNodeView(){return e=>{let t=e.node;const n=document.createElement("span");n.className="docs-chip docs-chip--people",n.setAttribute("data-node-type","people-chip"),n.setAttribute("contenteditable","false");const i=()=>{const r=t.attrs.name||"user";n.innerHTML="";const a=document.createElement("span");a.className="docs-chip-avatar",a.textContent=T5(r),n.appendChild(a);const o=document.createElement("span");o.className="docs-chip-label",o.textContent="@"+r,n.appendChild(o)};return i(),{dom:n,update(r){return r.type.name!=="peopleChip"?!1:(t=r,i(),!0)}}}}}),M5=Ae.create({name:"fileChip",group:"inline",inline:!0,selectable:!0,draggable:!1,atom:!0,addAttributes(){return{fileId:{default:"",parseHTML:e=>e.getAttribute("data-file-id")??"",renderHTML:e=>e.fileId?{"data-file-id":e.fileId}:{}},name:{default:"",parseHTML:e=>e.getAttribute("data-name")??"",renderHTML:e=>({"data-name":e.name??""})}}},parseHTML(){return[{tag:'span[data-node-type="file-chip"]'}]},renderHTML({node:e,HTMLAttributes:t}){return["span",Fe(t,{"data-node-type":"file-chip",class:"docs-chip docs-chip--file"}),e.attrs.name||"file"]},addNodeView(){return e=>{let t=e.node;const n=document.createElement("span");n.className="docs-chip docs-chip--file",n.setAttribute("data-node-type","file-chip"),n.setAttribute("contenteditable","false");const i=()=>{const r=t.attrs.name||"Untitled file";n.innerHTML="";const a=document.createElement("span");a.className="docs-chip-icon",a.textContent="🗎",n.appendChild(a);const o=document.createElement("span");o.className="docs-chip-label",o.textContent=r,n.appendChild(o)};return i(),{dom:n,update(r){return r.type.name!=="fileChip"?!1:(t=r,i(),!0)}}}}}),D5=Ae.create({name:"dropdownChip",group:"inline",inline:!0,selectable:!0,draggable:!1,atom:!0,addAttributes(){return{options:{default:si,parseHTML:e=>{const t=e.getAttribute("data-options")??"",n=t?t.split("|"):[];return n.length?n:si},renderHTML:e=>({"data-options":(e.options??[]).join("|")})},selected:{default:si[0],parseHTML:e=>e.getAttribute("data-selected")??si[0],renderHTML:e=>({"data-selected":e.selected??""})}}},parseHTML(){return[{tag:'span[data-node-type="dropdown-chip"]'}]},renderHTML({node:e,HTMLAttributes:t}){return["span",Fe(t,{"data-node-type":"dropdown-chip",class:"docs-chip docs-chip--dropdown"}),e.attrs.selected||""]},addNodeView(){return e=>{let t=e.node;const n=e.getPos,i=e.view,r=document.createElement("span");r.className="docs-chip docs-chip--dropdown",r.setAttribute("data-node-type","dropdown-chip"),r.setAttribute("contenteditable","false");const a=()=>{const o=t.attrs.options??si,l=t.attrs.selected??o[0]??"";r.innerHTML="";const c=document.createElement("select");c.className="docs-chip-select",c.addEventListener("mousedown",u=>u.stopPropagation());for(const u of o){const f=document.createElement("option");f.value=u,f.textContent=u,u===l&&(f.selected=!0),c.appendChild(f)}c.addEventListener("change",()=>{const u=n();typeof u=="number"&&i.dispatch(i.state.tr.setNodeMarkup(u,void 0,{...t.attrs,selected:c.value}))}),r.appendChild(c)};return a(),{dom:r,update(o){return o.type.name!=="dropdownChip"?!1:(t=o,a(),!0)}}}}}),z5=Ae.create({name:"locationChip",group:"inline",inline:!0,selectable:!0,draggable:!1,atom:!0,addAttributes(){return{label:{default:"",parseHTML:e=>e.getAttribute("data-label")??"",renderHTML:e=>({"data-label":e.label??""})},lat:{default:null,parseHTML:e=>{const t=e.getAttribute("data-lat");return t===null?null:Number(t)},renderHTML:e=>e.lat!=null?{"data-lat":e.lat}:{}},lng:{default:null,parseHTML:e=>{const t=e.getAttribute("data-lng");return t===null?null:Number(t)},renderHTML:e=>e.lng!=null?{"data-lng":e.lng}:{}}}},parseHTML(){return[{tag:'span[data-node-type="location-chip"]'}]},renderHTML({node:e,HTMLAttributes:t}){return["span",Fe(t,{"data-node-type":"location-chip",class:"docs-chip docs-chip--location"}),e.attrs.label||""]},addNodeView(){return e=>{let t=e.node;const n=document.createElement("span");n.className="docs-chip docs-chip--location",n.setAttribute("data-node-type","location-chip"),n.setAttribute("contenteditable","false");const i=()=>{const r=t.attrs.label||"Add location";n.innerHTML="";const a=document.createElement("span");a.className="docs-chip-icon",a.textContent="📍",n.appendChild(a);const o=document.createElement("span");o.className="docs-chip-label",o.textContent=r,n.appendChild(o)};return i(),{dom:n,update(r){return r.type.name!=="locationChip"?!1:(t=r,i(),!0)}}}}});Ee.definePlugin({id:"smart-elements",tiptapExtensions:[N5,O5,M5,D5,z5],slashCommands:[{name:"Date",command:"insertDateChip"},{name:"People",command:"insertPeopleChip"},{name:"File",command:"insertFileChip"},{name:"Dropdown",command:"insertDropdownChip"},{name:"Location",command:"insertLocationChip"}],commands:{insertDateChip:e=>e.chain().focus().insertContent({type:"dateChip",attrs:{date:Ol()}}).run(),insertPeopleChip:e=>{const t=typeof window<"u"&&typeof window.prompt=="function"?window.prompt("Enter user name:","")??"":"";if(!t.trim())return!1;const n=t.trim();return e.chain().focus().insertContent({type:"peopleChip",attrs:{userId:ef(n),name:n}}).run()},insertFileChip:e=>{const t=typeof window<"u"&&typeof window.prompt=="function"?window.prompt("Enter file/document name:","")??"":"";if(!t.trim())return!1;const n=t.trim();return e.chain().focus().insertContent({type:"fileChip",attrs:{fileId:ef(n),name:n}}).run()},insertDropdownChip:e=>e.chain().focus().insertContent({type:"dropdownChip",attrs:{options:si,selected:si[0]}}).run(),insertLocationChip:e=>{const t=typeof window<"u"&&typeof window.prompt=="function"?window.prompt("Enter location name:","")??"":"";return t.trim()?e.chain().focus().insertContent({type:"locationChip",attrs:{label:t.trim()}}).run():!1}}});var Ml=new rt("docflow/table-page-split"),gh="head",vh=16;function I5(e,t){var r,a,o,l,c;const n=(r=t==null?void 0:t.storage)==null?void 0:r.PaginationPlus;if(n&&typeof n.pageHeight=="number"){const u=((o=(a=n.headerHeight)==null?void 0:a.get)==null?void 0:o.call(a,1))??0,f=((c=(l=n.footerHeight)==null?void 0:l.get)==null?void 0:c.call(l,1))??0,m=n.pageHeight-(n.marginTop??0)-(n.marginBottom??0)-(n.contentMarginTop??0)-(n.contentMarginBottom??0)-u-f;if(Number.isFinite(m)&&m>0)return m}const i=e.dom.style.getPropertyValue("--rm-max-content-child-height");if(i){const u=parseFloat(i);if(Number.isFinite(u)&&u>0)return u}return null}function R5(e){return!e||!(e instanceof HTMLElement)?0:e.getBoundingClientRect().height}function L5(e,t,n){try{const r=e.coordsAtPos(t+1).top,a=e.dom.querySelector("[data-rm-pagination]");if(!a)return n;const o=a.querySelectorAll(".rm-page-break .breaker");for(let l=0;l<o.length;l++){const c=o[l];if(!(c instanceof HTMLElement))continue;const u=c.getBoundingClientRect().top;if(u>r)return Math.max(1,Math.floor(u-r))}return n}catch{return null}}function B5(e,t){const n=e.childCount,i=t.querySelectorAll(":scope > tbody > tr");if(i.length!==n)return null;const r=[];let a=0;for(let o=0;o<i.length;o++){const l=R5(i[o]);a+=l,r.push({rowIndex:o,heightPx:l,cumulativePx:a})}return r}function xh(e,t){if(e.length<2||e[e.length-1].cumulativePx<=t)return-1;let n=0,i=e.length-2,r=-1;for(;n<=i;){const a=n+i>>1;e[a].cumulativePx<=t?(r=a,n=a+1):i=a-1}return r}function P5(e,t){if(t<0||e.childCount===0)return 0;let n=0;return e.forEach((i,r,a)=>{a<=t&&(n=r+i.nodeSize)}),n}function yh(e,t){const n=[];let i=0;for(let r=t+1;r<e.length;r++)i+=e[r].heightPx,n.push({rowIndex:r,heightPx:e[r].heightPx,cumulativePx:i});return n}function kh(e,t,n,i,r,a,o){const c=xh(t,o===0?n:i);if(c<0)return[e];if(o>=vh)return[e];const u=P5(e,c),f=e.content,m=f.cut(0,u),p=f.cut(u),h={...e.attrs,tablePageSplit:gh},g={...e.attrs,tablePageSplit:null},b=a.create(h,m,e.marks),y=a.create(g,p,e.marks),v=e.childCount,x=b.childCount,k=y.childCount;if(x+k!==v)throw new Error(`[tablePageSplitPlugin] row-count invariant violated: expected ${v}, got ${x} + ${k} = ${x+k}`);const w=yh(t,c),S=kh(y,w,n,i,r,a,o+1);return S.length===1?[b,y]:[b,...S]}function F5(e,t,n){var o,l;let i=e,r=t,a=0;for(let c=0;c<vh;c++){const u=xh(i,r);if(u<0)return a===0?null:((o=i[i.length-1])==null?void 0:o.cumulativePx)??0;a++,i=yh(i,u),r=n}return((l=i[i.length-1])==null?void 0:l.cumulativePx)??0}function V5(e,t){var m;if(!e||e.isDestroyed)return;const n=e,i=n.state,{schema:r}=i,a=r.nodes.table;if(!a)return;const o=I5(n,t);if(o==null)return;const l=[];if(i.doc.descendants((p,h)=>{if(p.type!==a||p.attrs.tablePageSplit===gh)return!0;const g=n.nodeDOM(h);if(!(g instanceof HTMLElement))return!0;const b=B5(p,g);return b&&l.push({pos:h,node:p,measurements:b}),!0}),l.length===0)return;const c=[];let u=null;for(let p=0;p<l.length;p++){const{pos:h,node:g,measurements:b}=l[p],y=p===0?L5(n,h,o)??o:u??o,v=kh(g,b,y,o,r,a,0);v.length>1&&c.push({pos:h,node:g,chain:v});const x=F5(b,y,o);if(x===null){const k=((m=b[b.length-1])==null?void 0:m.cumulativePx)??0;u=Math.max(0,y-k)}else u=Math.max(0,o-x)}if(c.length===0)return;const f=i.tr;c.sort((p,h)=>h.pos-p.pos);for(const{pos:p,node:h,chain:g}of c)f.replaceWith(p,p+h.nodeSize,g);f.setMeta(Ml,{splitAtRow:-1}),n.dispatch(f)}var U5=Ke.create({name:"tablePageSplit",addProseMirrorPlugins(){let e=null,t=!1;const i=this.editor??null;return[new ct({key:Ml,view(r){return e=r,{destroy(){e=null}}},appendTransaction(r,a,o){return r.some(l=>l.getMeta("PAGE_COUNT_META_KEY")!==void 0)||r.some(l=>{const c=l.getMeta(Ml);return c!==void 0&&c.splitAtRow!==void 0})||!e||e.isDestroyed||t||(t=!0,queueMicrotask(()=>{t=!1,!(!e||e.isDestroyed)&&V5(e,i)})),null}})]}});Ee.definePlugin({id:"tablePageSplit",tiptapExtensions:[U5]});var yt={open:!1,query:"",position:{top:0,left:0},commands:[],selectedIndex:0},H5=[];function Do(){H5.forEach(e=>e())}function Ps(){yt={...yt,open:!1,query:""},Do()}function Na(e,t){const{selection:n}=e.state,i=n.head,r=e.coordsAtPos(i),a=j5(),o=t?a.filter(l=>l.name.toLowerCase().includes(t.toLowerCase())):a;yt={open:!0,query:t,position:{top:r.bottom+4,left:r.left},commands:o.map(l=>({...l,action:null})),selectedIndex:0},Do()}var Dl=new Map;function q5(e,t){const n=Dl.get(e)||[];Dl.set(e,[...n,...t])}function j5(){const e=[];Dl.forEach(n=>{e.push(...n)});const t=new Set;return e.filter(n=>t.has(n.name)?!1:(t.add(n.name),!0))}var $5=Ke.create({name:"slashMenu",addProseMirrorPlugins(){return[new ct({key:new rt("slashMenu"),props:{handleTextInput(e,t,n,i){if(i==="/"){const r=e.state.doc.resolve(t),a=r.parent.textContent.slice(0,r.parentOffset);if(a===""||a.endsWith(" "))return setTimeout(()=>Na(e,""),10),!1}if(yt.open&&i.length===1&&/[a-zA-Z]/.test(i)){const r=yt.query+i;return Na(e,r),!1}return!1},handleKeyDown(e,t){if(!yt.open)return!1;if(t.key==="ArrowDown")return t.preventDefault(),yt.selectedIndex=Math.min(yt.selectedIndex+1,yt.commands.length-1),Do(),!0;if(t.key==="ArrowUp")return t.preventDefault(),yt.selectedIndex=Math.max(yt.selectedIndex-1,0),Do(),!0;if(t.key==="Enter"){t.preventDefault();const n=yt.commands[yt.selectedIndex];if(n){const i=e.state.doc.resolve(e.state.selection.head),r=i.start(),a=r+i.parent.textContent.lastIndexOf("/");if(a>=r){const l=e.state.tr.delete(a,e.state.selection.head);e.dispatch(l)}const o=e._tiptapEditor;if(o){const l=o;typeof l[n.command]=="function"&&l[n.command]()}}return Ps(),!0}if(t.key==="Escape")return Ps(),!0;if(t.key==="Backspace")if(yt.query.length>0){const n=yt.query.slice(0,-1);return n?Na(e,n):Na(e,""),!1}else{const n=e.state.doc.resolve(e.state.selection.head),i=n.start(),r=n.parent.textContent.lastIndexOf("/");if(r>=0){const a=e.state.tr.delete(i+r,e.state.selection.head);e.dispatch(a)}return Ps(),!0}return!1}}})]}});Ee.definePlugin({id:"slash-menu",tiptapExtensions:[$5],hooks:{onInit(e){q5("default",[])}}});const zl=/\[(\d{1,3})\]/g;function W5(e){return e.replace(zl,"")}function G5(e,t,n){const i=[];let r=0;zl.lastIndex=0;let a;for(;(a=zl.exec(e))!==null;){const l=Number(a[1]),c=t.get(l),u=e.slice(r,a.index);if(u&&i.push(u),!c){r=a.index+a[0].length;continue}i.push(hh(n,{sourceId:c.sourceId})),r=a.index+a[0].length}const o=e.slice(r);return o&&i.push(o),i}const K5={class:"ai-sidebar flex h-full w-80 flex-shrink-0 flex-col border-l border-slate-200 bg-white/80 text-slate-800 backdrop-blur-xl transition-all dark:border-white/5 dark:bg-[#0a0f1e]/85 dark:text-slate-100"},X5={class:"flex items-start justify-between border-b border-slate-200 p-4 dark:border-white/5"},J5={class:"flex items-center gap-1.5 font-mono text-xs font-bold uppercase tracking-widest text-slate-500 dark:text-slate-400"},Z5={class:"mt-1.5 text-[10px] leading-relaxed text-slate-400 dark:text-slate-500"},Q5=["aria-label"],Y5={key:0,class:"flex flex-1 flex-col items-center justify-center p-6 text-center text-slate-400 dark:text-slate-500"},e6={class:"text-xs"},t6={class:"space-y-2 border-b border-slate-200 p-4 dark:border-white/5"},n6={class:"block font-mono text-[10px] font-bold uppercase tracking-widest text-slate-400 dark:text-slate-500"},i6={class:"grid grid-cols-2 gap-2"},r6=["disabled","title","onClick"],a6={key:0,class:"flex h-full flex-col items-center justify-center p-4 text-center text-slate-400 dark:text-slate-500"},o6={class:"text-[10px]"},s6={class:"flex items-center gap-1 font-mono text-[9px] font-bold uppercase tracking-widest text-slate-400 dark:text-slate-500"},l6={key:0,class:"animate-pulse text-cyan-500"},c6={key:0,class:"flex flex-wrap gap-1 pl-1"},u6={key:1,class:"flex gap-1.5"},d6=["onClick"],f6=["onClick"],p6={class:"border-t border-slate-200 bg-slate-50 p-4 dark:border-white/5 dark:bg-[#0a0f1e]/80"},m6={key:0,class:"mb-2 space-y-1"},h6={class:"block font-mono text-[9px] font-bold uppercase tracking-widest text-slate-400 dark:text-slate-500"},b6={class:"flex flex-wrap gap-1"},g6={key:0,class:"inline-flex items-center gap-1 rounded-full border border-cyan-500/30 bg-cyan-500/5 px-2 py-0.5 text-[10px] font-semibold text-cyan-700 dark:border-cyan-400/30 dark:bg-cyan-500/10 dark:text-cyan-300"},v6=["title"],x6={class:"truncate"},y6=["disabled","placeholder","onKeydown"],k6={class:"flex justify-end"},w6=["disabled"],wh=s.defineComponent({__name:"AISidebar",props:{editor:{},aiStream:{type:Function},aiDraft:{type:Function}},emits:["close"],setup(e,{emit:t}){const n=e,i=t,{t:r}=ht();function a(){return n.editor?s.toRaw(n.editor):null}const o=s.ref([]),l=s.ref(""),c=s.ref(!1),u=s.ref(null),f=s.ref(null),m=s.ref(null);let p=null;const h=s.computed(()=>{var I,N,L;return n.aiStream?n.aiStream:(L=(N=(I=a())==null?void 0:I.storage)==null?void 0:N.editorContext)==null?void 0:L.aiStream}),g=s.computed(()=>{var I,N,L;return n.aiDraft?n.aiDraft:(L=(N=(I=a())==null?void 0:I.storage)==null?void 0:N.editorContext)==null?void 0:L.aiDraft}),b=s.ref(!1),y=s.ref(0);function v(){y.value++}s.watch(()=>n.editor,(I,N)=>{N&&s.toRaw(N).off("transaction",v),I&&s.toRaw(I).on("transaction",v)},{immediate:!0});const x=s.computed(()=>{var D;y.value;const I=(D=a())==null?void 0:D.state;if(!I||I.selection.empty)return null;const{from:N,to:L}=I.selection;return{from:N,to:L,text:I.doc.textBetween(N,L,`
15240
15240
  `," ")}}),k=s.computed(()=>{y.value;const I=a();if(!I)return{};try{return Il(I)}catch{return{}}}),w=s.computed(()=>{const I=k.value,N=[];return I.page&&I.pageCount&&I.pageCount>1&&N.push(`${r("sidebars.ai.pageShort")} ${I.page}/${I.pageCount}`),I.paragraphIndex&&I.paragraphIndex>1&&N.push(`${r("sidebars.ai.paragraphShort")} ${I.paragraphIndex}`),I.line&&I.line>1&&N.push(`${r("sidebars.ai.lineShort")} ${I.line}`),I.section&&N.push(I.section.length>40?`${I.section.slice(0,40)}…`:I.section),N.join(" · ")}),S=s.computed(()=>{const I=x.value;if(!I||!I.text.trim())return"";const N=I.text.trim().replace(/\s+/g," ");return N.length>60?`“${N.slice(0,60)}…”`:`“${N}”`});function A(){var K;const I=(K=a())==null?void 0:K.state;if(!I)return;const{from:N,to:L}=I.selection,D=1500;return{before:I.doc.textBetween(Math.max(0,N-D),N,`
15241
15241
  `," "),after:I.doc.textBetween(L,Math.min(I.doc.content.size,L+D),`
15242
- `," ")}}function R(){const I=A();return{before:(I==null?void 0:I.before)??"",after:(I==null?void 0:I.after)??"",...k.value}}async function _(){await s.nextTick(),m.value&&(m.value.scrollTop=m.value.scrollHeight)}async function E(I,N){const L=h.value;if(!L||c.value)return;p==null||p.abort(),p=new AbortController,c.value=!0,o.value.push({role:"user",text:N}),o.value.push({role:"assistant",text:"",streaming:!0});const D=o.value.length-1;await _();try{for await(const K of L(I,p.signal))o.value[D].text+=K,_();o.value[D].text||(o.value[D].text=r("sidebars.ai.emptyResponse"),o.value[D].error=!0)}catch(K){p.signal.aborted||(o.value[D].text=`${r("sidebars.ai.aiError")}: ${K instanceof Error?K.message:String(K)}`,o.value[D].error=!0)}finally{o.value[D].streaming=!1,c.value=!1,p=null,_()}}function z(){const I=l.value.trim();if(!I||c.value)return;if(l.value="",b.value){P({prompt:I,context:R()},I);return}const N=x.value;E({action:"chat",prompt:I,...N?{selection:N.text}:{},context:R()},I)}async function P(I,N){const L=g.value;if(!L||c.value)return;p==null||p.abort(),p=new AbortController,c.value=!0,o.value.push({role:"user",text:N}),o.value.push({role:"assistant",text:"",streaming:!0});const D=o.value.length-1;await _();try{for await(const K of L(I,p.signal))K.type==="delta"?(o.value[D].text+=K.text,_()):K.type==="done"?o.value[D].citations=K.citations:K.type==="error"&&(o.value[D].text=`${r("sidebars.ai.aiError")}: ${K.message}`,o.value[D].error=!0,o.value[D].citations=void 0);!o.value[D].text&&!o.value[D].error&&(o.value[D].text=r("sidebars.ai.emptyResponse"),o.value[D].error=!0)}catch(K){p.signal.aborted||(o.value[D].text=`${r("sidebars.ai.aiError")}: ${K instanceof Error?K.message:String(K)}`,o.value[D].error=!0,o.value[D].citations=void 0)}finally{o.value[D].streaming=!1,c.value=!1,p=null,_()}}function U(){b.value=!b.value,s.nextTick(()=>{const I=document.querySelector(".ai-sidebar textarea");I==null||I.focus()})}function V(I){if(c.value||!I.action)return;const N=x.value;I.needsSelection&&!N||E({action:I.action,...N?{selection:N.text}:{},...I.prompt?{prompt:I.prompt}:{},context:R()},I.prompt??I.label)}function B(){var I,N,L;x.value&&((L=(N=(I=a())==null?void 0:I.commands)==null?void 0:N.aiTransform)==null||L.call(N,{action:"rewrite"}))}const j=s.computed(()=>[{label:r("sidebars.ai.summarize"),icon:xr,color:"text-cyan-500",action:"summarize",needsSelection:!0},{label:r("sidebars.ai.fixGrammar"),icon:Cb,color:"text-emerald-500",action:"grammar",needsSelection:!0},{label:r("sidebars.ai.continue"),icon:A0,color:"text-amber-500",action:"generate",prompt:"Continue writing naturally from where the text ends, matching the existing style."},{label:r("sidebars.ai.toSpanish"),icon:bf,color:"text-cyan-500",action:"translate",prompt:"translate to Spanish",needsSelection:!0},{label:r("sidebars.ai.improveSelection"),icon:u0,color:"text-violet-500",improve:!0,needsSelection:!0},{label:r("sidebars.ai.draft"),icon:Va,color:"text-cyan-500",draft:!0,disabled:!g.value}]);function $(I,N){I.text&&(navigator.clipboard.writeText(I.text),u.value=N,setTimeout(()=>u.value=null,2e3))}function Y(I){f.value=I,setTimeout(()=>{f.value===I&&(f.value=null)},2e3)}function W(I,N){const L=a();if(!I.text||!L)return;const{state:D,view:K}=L,{from:ne,to:ee}=D.selection;if(!I.citations||I.citations.length===0){Kd(L,K,ne,ee,I.text),K.focus(),Y(N);return}const ie=Ui(L);if(!ie){Kd(L,K,ne,ee,W5(I.text)),K.focus(),Y(N);return}const G=new Map(I.citations.map(fe=>[fe.ref,fe])),H=G5(I.text,G,ie),q=D.schema,re=H.map(fe=>typeof fe=="string"?q.text(fe):q.nodeFromJSON(fe)).filter(fe=>!!fe),ce=new ae(J.from(re),0,0);K.dispatch(D.tr.replace(ne,ee,ce)),K.focus(),Y(N)}s.onMounted(()=>{s.nextTick(()=>{var I;(I=document.querySelector(".ai-sidebar textarea"))==null||I.focus()})});function oe(){p==null||p.abort(),c.value=!1,i("close")}return s.onUnmounted(()=>{var I;p==null||p.abort(),(I=a())==null||I.off("transaction",v)}),(I,N)=>{var L;return s.openBlock(),s.createElementBlock("div",K5,[s.createElementVNode("div",X5,[s.createElementVNode("div",null,[s.createElementVNode("h3",J5,[s.createVNode(s.unref(Un),{class:"h-4 w-4 animate-pulse text-cyan-400"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.ai.title")),1)]),s.createElementVNode("p",Z5,s.toDisplayString(s.unref(r)("sidebars.ai.description")),1)]),s.createElementVNode("button",{type:"button",class:"rounded-md p-1 text-slate-400 transition-colors hover:bg-slate-100 hover:text-slate-600 dark:hover:bg-white/5 dark:hover:text-slate-200","aria-label":s.unref(r)("sidebars.ai.close"),onClick:oe},[s.createVNode(s.unref(Wt),{class:"h-4 w-4"})],8,Q5)]),h.value?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[s.createElementVNode("div",t6,[s.createElementVNode("span",n6,s.toDisplayString(s.unref(r)("sidebars.ai.quickMacros")),1),s.createElementVNode("div",i6,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(j.value,D=>(s.openBlock(),s.createElementBlock("button",{key:D.label,type:"button",disabled:c.value||D.needsSelection&&!x.value||"disabled"in D&&D.disabled,title:D.needsSelection&&!x.value?s.unref(r)("sidebars.ai.selectTextFirst"):D.label,class:s.normalizeClass(["flex items-center gap-1.5 rounded-lg border px-2.5 py-1.5 text-left text-[11px] font-bold transition-colors disabled:opacity-40","draft"in D&&D.draft&&b.value?"border-cyan-500 bg-cyan-500/10 text-cyan-700 dark:border-cyan-400/50 dark:bg-cyan-500/15 dark:text-cyan-300":"border-slate-200 bg-slate-50 text-slate-700 hover:border-cyan-500/50 dark:border-white/10 dark:bg-white/[0.02] dark:text-slate-300 dark:hover:border-cyan-500/30"]),onClick:K=>D.improve?B():"draft"in D&&D.draft?U():V(D)},[(s.openBlock(),s.createBlock(s.resolveDynamicComponent(D.icon),{class:s.normalizeClass(["h-3 w-3",D.color])},null,8,["class"])),s.createElementVNode("span",null,s.toDisplayString(D.label),1)],10,r6))),128))])]),s.createElementVNode("div",{ref_key:"turnsEl",ref:m,class:"flex-1 space-y-3 overflow-y-auto p-4"},[o.value.length===0?(s.openBlock(),s.createElementBlock("div",a6,[s.createVNode(s.unref(Un),{class:"mb-2 h-6 w-6 text-cyan-500 opacity-30"}),s.createElementVNode("p",o6,s.toDisplayString(s.unref(r)("sidebars.ai.noDraft")),1)])):s.createCommentVNode("",!0),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(o.value,(D,K)=>(s.openBlock(),s.createElementBlock("div",{key:K,class:s.normalizeClass(["flex flex-col gap-1",D.role==="user"?"items-end":"items-start"])},[s.createElementVNode("span",s6,[D.role==="user"?(s.openBlock(),s.createBlock(s.unref(jl),{key:0,class:"h-2.5 w-2.5"})):(s.openBlock(),s.createBlock(s.unref(Un),{key:1,class:"h-2.5 w-2.5 text-cyan-400"})),s.createTextVNode(" "+s.toDisplayString(D.role==="user"?s.unref(r)("sidebars.ai.you"):s.unref(r)("sidebars.ai.assistant")),1)]),s.createElementVNode("div",{class:s.normalizeClass(["max-w-full whitespace-pre-wrap rounded-xl px-3 py-2 text-xs leading-relaxed",[D.role==="user"?"bg-cyan-500/10 text-slate-700 dark:bg-cyan-500/15 dark:text-slate-200":D.error?"bg-red-50 text-red-700 dark:bg-red-500/10 dark:text-red-300":"bg-slate-100 text-slate-700 dark:bg-white/[0.04] dark:text-slate-300"]])},[s.createTextVNode(s.toDisplayString(D.text),1),D.streaming?(s.openBlock(),s.createElementBlock("span",l6,"▌")):s.createCommentVNode("",!0)],2),D.role==="assistant"&&D.citations&&D.citations.length>0?(s.openBlock(),s.createElementBlock("div",c6,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(D.citations,ne=>(s.openBlock(),s.createElementBlock("span",{key:ne.ref,class:"inline-flex items-center gap-1 rounded-full border border-cyan-500/30 bg-cyan-500/5 px-2 py-0.5 text-[10px] font-semibold text-cyan-700 dark:border-cyan-400/30 dark:bg-cyan-500/10 dark:text-cyan-300"},[s.createVNode(s.unref(Va),{class:"h-2.5 w-2.5"}),s.createTextVNode(s.toDisplayString(ne.label),1)]))),128))])):s.createCommentVNode("",!0),D.role==="assistant"&&!D.streaming&&!D.error&&D.text?(s.openBlock(),s.createElementBlock("div",u6,[s.createElementVNode("button",{type:"button",class:"flex items-center gap-1 rounded-lg border border-slate-200 bg-white px-2 py-1 text-[10px] font-semibold text-slate-600 transition-all hover:bg-slate-50 dark:border-white/10 dark:bg-white/[0.02] dark:text-slate-300 dark:hover:bg-white/5",onClick:ne=>$(D,K)},[(s.openBlock(),s.createBlock(s.resolveDynamicComponent(u.value===K?s.unref(Pa):s.unref(qs)),{class:s.normalizeClass(["h-3 w-3",u.value===K?"text-emerald-500":""])},null,8,["class"])),s.createElementVNode("span",null,s.toDisplayString(u.value===K?s.unref(r)("sidebars.ai.copied"):s.unref(r)("sidebars.ai.copy")),1)],8,d6),s.createElementVNode("button",{type:"button",class:"flex items-center gap-1 rounded-lg bg-cyan-500 px-2 py-1 text-[10px] font-bold text-black shadow-cyan transition-all hover:bg-cyan-400",onClick:ne=>W(D,K)},[(s.openBlock(),s.createBlock(s.resolveDynamicComponent(f.value===K?s.unref(Pa):s.unref(_b)),{class:"h-3 w-3"})),s.createElementVNode("span",null,s.toDisplayString(f.value===K?s.unref(r)("sidebars.ai.inserted"):s.unref(r)("sidebars.ai.insert")),1)],8,f6)])):s.createCommentVNode("",!0)],2))),128))],512),s.createElementVNode("div",p6,[w.value||S.value?(s.openBlock(),s.createElementBlock("div",m6,[s.createElementVNode("span",h6,s.toDisplayString(s.unref(r)("sidebars.ai.contextLabel")),1),s.createElementVNode("div",b6,[w.value?(s.openBlock(),s.createElementBlock("span",g6,[s.createVNode(s.unref(dt),{class:"h-2.5 w-2.5"}),s.createTextVNode(s.toDisplayString(w.value),1)])):s.createCommentVNode("",!0),S.value?(s.openBlock(),s.createElementBlock("span",{key:1,class:"inline-flex max-w-full items-center gap-1 truncate rounded-full border border-violet-500/30 bg-violet-500/5 px-2 py-0.5 text-[10px] font-semibold text-violet-700 dark:border-violet-400/30 dark:bg-violet-500/10 dark:text-violet-300",title:(L=x.value)==null?void 0:L.text},[s.createElementVNode("span",x6,s.toDisplayString(S.value),1)],8,v6)):s.createCommentVNode("",!0)])])):s.createCommentVNode("",!0),s.createElementVNode("form",{class:"space-y-2",onSubmit:s.withModifiers(z,["prevent"])},[s.withDirectives(s.createElementVNode("textarea",{"onUpdate:modelValue":N[0]||(N[0]=D=>l.value=D),rows:"2",disabled:c.value,placeholder:b.value?s.unref(r)("sidebars.ai.draftPlaceholder"):s.unref(r)("sidebars.ai.promptPlaceholder"),class:"w-full min-h-[55px] resize-none rounded-xl border border-slate-200 bg-white p-2.5 text-xs text-slate-800 transition-all focus:border-cyan-500/50 focus:shadow-cyan focus:outline-none disabled:opacity-60 dark:border-white/10 dark:bg-white/[0.02] dark:text-slate-100 dark:focus:border-cyan-500/30",onKeydown:s.withKeys(s.withModifiers(z,["exact","prevent"]),["enter"])},null,40,y6),[[s.vModelText,l.value]]),s.createElementVNode("div",k6,[s.createElementVNode("button",{type:"submit",disabled:c.value||!l.value.trim(),class:"flex items-center gap-1 rounded-lg bg-cyan-500 px-3.5 py-2 text-xs font-bold text-black shadow-cyan transition-all hover:bg-cyan-400 disabled:opacity-40"},[s.createVNode(s.unref(Ws),{class:"h-3.5 w-3.5"}),s.createTextVNode(" "+s.toDisplayString(b.value?s.unref(r)("sidebars.ai.promptDraft"):s.unref(r)("sidebars.ai.promptAI")),1)],8,w6)])],32)])],64)):(s.openBlock(),s.createElementBlock("div",Y5,[s.createVNode(s.unref(Un),{class:"mb-2 h-6 w-6 text-cyan-500 opacity-30"}),s.createElementVNode("p",e6,s.toDisplayString(s.unref(r)("sidebars.ai.notConfigured")),1)]))])}}}),_6={class:"comments-sidebar flex h-full w-80 flex-shrink-0 flex-col border-l border-slate-200 bg-white/80 text-slate-800 backdrop-blur-xl transition-all dark:border-white/5 dark:bg-[#0a0f1e]/85 dark:text-slate-100"},S6={class:"border-b border-slate-200 p-4 dark:border-white/5"},C6={class:"mb-3 flex items-center justify-between"},E6={class:"flex items-center gap-1.5 font-mono text-xs font-bold uppercase tracking-widest text-slate-500 dark:text-slate-400"},A6={class:"flex rounded-xl border border-slate-200 bg-slate-50 p-1 text-[11px] font-semibold dark:border-white/10 dark:bg-white/[0.02]"},T6={key:0,class:"mb-1 rounded-xl border border-cyan-500/25 bg-cyan-500/5 p-2.5 text-xs text-cyan-700 animate-fadeIn dark:border-cyan-500/15 dark:bg-cyan-500/10 dark:text-cyan-400"},N6={class:"mb-1 font-mono text-[9px] font-bold uppercase tracking-wider"},O6={class:"line-clamp-1 border-l-2 border-cyan-400 bg-cyan-500/10 py-0.5 pl-2.5 italic dark:bg-cyan-500/5"},M6={class:"flex-1 space-y-4 overflow-y-auto p-4"},D6={class:"flex items-start justify-between"},z6={class:"flex items-center gap-2"},I6={class:"text-xs font-bold text-slate-800 dark:text-slate-200"},R6={class:"font-mono text-[9px] text-slate-400 dark:text-slate-500"},L6={class:"flex items-center gap-1.5"},B6=["title","onClick"],P6=["title","onClick"],F6={key:0,class:"inline-flex items-center gap-1 rounded-full border border-amber-400/40 bg-amber-500/10 px-2 py-0.5 text-[10px] font-bold uppercase tracking-wider text-amber-600 dark:border-amber-500/30 dark:text-amber-400"},V6={class:"whitespace-pre-wrap break-words text-xs leading-relaxed text-slate-700 dark:text-slate-300"},U6={key:2,class:"space-y-2.5 border-l border-slate-200 pl-4 pt-1 dark:border-white/10"},H6={class:"flex items-center gap-1.5"},q6={class:"text-[10px] font-bold text-slate-600 dark:text-slate-300"},j6={class:"font-mono text-[8px] text-slate-400 dark:text-slate-500"},$6={class:"break-words pl-1 text-xs text-slate-600 dark:text-slate-400"},W6={key:3,class:"flex items-center justify-between border-t border-slate-100 pt-2 dark:border-white/5"},G6={key:0,class:"flex w-full items-center gap-1.5"},K6=["onUpdate:modelValue","placeholder","onKeydown"],X6=["onClick"],J6=["onClick"],Z6={key:4,class:"rounded-lg border border-green-100/40 bg-green-50/55 p-2 text-[10px] text-green-700 dark:border-green-500/10 dark:bg-green-950/10 dark:text-green-400"},Q6={key:0},Y6={key:0,class:"py-12 text-center text-slate-400 dark:text-slate-500"},eA={class:"text-xs"},tA={key:0,class:"border-t border-slate-200 bg-slate-50 p-4 dark:border-white/5 dark:bg-[#0a0f1e]/80"},nA=["placeholder"],iA={class:"flex items-center justify-between"},rA={class:"font-mono text-[9px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},aA=["disabled"],_h=s.defineComponent({__name:"CommentsSidebar",props:{comments:{},selectedTextSnippet:{},selectedTextIndex:{},orphanedIds:{}},emits:["add-comment","add-reply","resolve-comment","delete-comment"],setup(e,{emit:t}){const n=e,i=t,{t:r}=ht(),a=s.ref(""),o=s.ref({}),l=s.ref(null),c=s.ref("active"),u=s.computed(()=>(n.comments??[]).filter(b=>c.value==="resolved"?b.resolved:!b.resolved));function f(){a.value.trim()&&i("add-comment",a.value.trim(),n.selectedTextSnippet,n.selectedTextIndex)}function m(b){const y=o.value[b]||"";y.trim()&&(i("add-reply",b,y.trim()),o.value={...o.value,[b]:""},l.value=null)}function p(b){return b.split(" ").map(y=>y[0]).join("").slice(0,2).toUpperCase()}function h(b){var y;return((y=n.orphanedIds)==null?void 0:y.includes(b.id))===!0}function g(b){typeof window<"u"&&!window.confirm(r("sidebars.comments.confirmDelete"))||i("delete-comment",b)}return(b,y)=>(s.openBlock(),s.createElementBlock("div",_6,[s.createElementVNode("div",S6,[s.createElementVNode("div",C6,[s.createElementVNode("h3",E6,[s.createVNode(s.unref(wf),{class:"h-4 w-4 text-cyan-400"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.comments.title")),1)]),s.createElementVNode("div",A6,[s.createElementVNode("button",{type:"button",class:s.normalizeClass([c.value==="active"?"bg-cyan-500/15 text-cyan-600 dark:text-cyan-400 font-bold":"text-slate-400 hover:text-slate-600","rounded-lg px-2.5 py-1 transition-all"]),onClick:y[0]||(y[0]=v=>c.value="active")},s.toDisplayString(s.unref(r)("sidebars.comments.active")),3),s.createElementVNode("button",{type:"button",class:s.normalizeClass([c.value==="resolved"?"bg-cyan-500/15 text-cyan-600 dark:text-cyan-400 font-bold":"text-slate-400 hover:text-slate-600","rounded-lg px-2.5 py-1 transition-all"]),onClick:y[1]||(y[1]=v=>c.value="resolved")},s.toDisplayString(s.unref(r)("sidebars.comments.resolved")),3)])]),e.selectedTextSnippet?(s.openBlock(),s.createElementBlock("div",T6,[s.createElementVNode("p",N6,s.toDisplayString(s.unref(r)("sidebars.comments.creatingAnchored")),1),s.createElementVNode("p",O6,' "'+s.toDisplayString(e.selectedTextSnippet)+'" ',1)])):s.createCommentVNode("",!0)]),s.createElementVNode("div",M6,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(u.value,v=>(s.openBlock(),s.createElementBlock("div",{key:v.id,class:"relative space-y-3 rounded-2xl border border-slate-200/60 bg-slate-50/60 p-4 transition-all hover:border-cyan-500/30 hover:shadow-cyan dark:border-white/5 dark:bg-[#02040a]/40"},[s.createElementVNode("div",D6,[s.createElementVNode("div",z6,[s.createElementVNode("div",{class:"flex h-6 w-6 items-center justify-center rounded-full text-[10px] font-bold text-white shadow-sm",style:s.normalizeStyle({backgroundColor:v.authorColor})},s.toDisplayString(p(v.authorName)),5),s.createElementVNode("div",null,[s.createElementVNode("h4",I6,s.toDisplayString(v.authorName),1),s.createElementVNode("p",R6,s.toDisplayString(new Date(v.createdAt).toLocaleTimeString()),1)])]),s.createElementVNode("div",L6,[v.resolved?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("button",{key:0,type:"button",class:"rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-green-500/10 hover:text-green-500",title:s.unref(r)("sidebars.comments.resolve"),onClick:x=>i("resolve-comment",v.id)},[s.createVNode(s.unref(Mb),{class:"h-4 w-4"})],8,B6)),h(v)?(s.openBlock(),s.createElementBlock("button",{key:1,type:"button",class:"rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-red-500/10 hover:text-red-500",title:s.unref(r)("sidebars.comments.delete"),onClick:x=>g(v.id)},[s.createVNode(s.unref(yr),{class:"h-4 w-4"})],8,P6)):s.createCommentVNode("",!0)])]),h(v)?(s.openBlock(),s.createElementBlock("div",F6,s.toDisplayString(s.unref(r)("sidebars.comments.orphaned")),1)):s.createCommentVNode("",!0),v.anchorText?(s.openBlock(),s.createElementBlock("div",{key:1,class:s.normalizeClass(["max-w-full truncate rounded-r-lg border-l-2 py-1 pl-2.5 text-[10px] italic text-slate-500 dark:text-slate-400",h(v)?"border-amber-500/50 bg-amber-50/50 line-through opacity-70 dark:border-amber-500/40 dark:bg-amber-500/5":"border-cyan-500/50 bg-slate-100 dark:border-cyan-500/40 dark:bg-white/5"])},s.toDisplayString(s.unref(r)("sidebars.comments.quote"))+' "'+s.toDisplayString(v.anchorText)+'" ',3)):s.createCommentVNode("",!0),s.createElementVNode("p",V6,s.toDisplayString(v.content),1),v.replies.length>0?(s.openBlock(),s.createElementBlock("div",U6,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(v.replies,x=>(s.openBlock(),s.createElementBlock("div",{key:x.id,class:"space-y-1"},[s.createElementVNode("div",H6,[s.createElementVNode("div",{class:"flex h-4.5 w-4.5 items-center justify-center rounded-full text-[8px] font-bold text-white shadow-sm",style:s.normalizeStyle({backgroundColor:x.authorColor})},s.toDisplayString(p(x.authorName)),5),s.createElementVNode("span",q6,s.toDisplayString(x.authorName),1),s.createElementVNode("span",j6,s.toDisplayString(new Date(x.createdAt).toLocaleTimeString()),1)]),s.createElementVNode("p",$6,s.toDisplayString(x.content),1)]))),128))])):s.createCommentVNode("",!0),v.resolved?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("div",W6,[l.value===v.id?(s.openBlock(),s.createElementBlock("div",G6,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":x=>o.value[v.id]=x,type:"text",placeholder:s.unref(r)("sidebars.comments.reply"),class:"flex-1 rounded-lg border border-slate-200 bg-white px-2.5 py-1.5 text-xs text-slate-800 focus:border-cyan-500/50 focus:outline-none dark:border-white/10 dark:bg-white/[0.02] dark:text-slate-100 dark:focus:border-cyan-500/30",onKeydown:s.withKeys(x=>m(v.id),["enter"])},null,40,K6),[[s.vModelText,o.value[v.id]]]),s.createElementVNode("button",{type:"button",class:"rounded-lg bg-cyan-500 p-1.5 font-bold text-black shadow-cyan hover:bg-cyan-400",onClick:x=>m(v.id)},[s.createVNode(s.unref(Ws),{class:"h-3.5 w-3.5"})],8,X6)])):(s.openBlock(),s.createElementBlock("button",{key:1,type:"button",class:"flex items-center gap-1 text-[10px] font-bold text-cyan-600 transition-all hover:text-cyan-500",onClick:x=>l.value=v.id},[s.createVNode(s.unref(m0),{class:"h-3 w-3"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.comments.replyInThread")),1)],8,J6))])),v.resolved?(s.openBlock(),s.createElementBlock("div",Z6,[s.createTextVNode(s.toDisplayString(s.unref(r)("sidebars.comments.resolvedBy").replace("{user}",v.resolvedByName||v.resolvedBy||"You"))+" ",1),v.resolvedAt?(s.openBlock(),s.createElementBlock("span",Q6,"at "+s.toDisplayString(new Date(v.resolvedAt).toLocaleTimeString()),1)):s.createCommentVNode("",!0)])):s.createCommentVNode("",!0)]))),128)),u.value.length===0?(s.openBlock(),s.createElementBlock("div",Y6,[s.createVNode(s.unref(i0),{class:"mx-auto mb-2 h-8 w-8 text-cyan-500 opacity-50"}),s.createElementVNode("p",eA,s.toDisplayString(s.unref(r)("sidebars.comments.noComments").replace("{mode}",c.value)),1)])):s.createCommentVNode("",!0)]),c.value==="active"?(s.openBlock(),s.createElementBlock("div",tA,[s.createElementVNode("form",{class:"space-y-2",onSubmit:s.withModifiers(f,["prevent"])},[s.withDirectives(s.createElementVNode("textarea",{"onUpdate:modelValue":y[2]||(y[2]=v=>a.value=v),rows:"2",placeholder:e.selectedTextSnippet?s.unref(r)("sidebars.comments.commentOnSelection"):s.unref(r)("sidebars.comments.generalComment"),class:"w-full min-h-[60px] resize-none rounded-xl border border-slate-200 bg-white p-2.5 text-xs text-slate-800 transition-all focus:border-cyan-500/50 focus:shadow-cyan focus:outline-none dark:border-white/10 dark:bg-white/[0.02] dark:text-slate-100 dark:focus:border-cyan-500/30"},null,8,nA),[[s.vModelText,a.value]]),s.createElementVNode("div",iA,[s.createElementVNode("span",rA,s.toDisplayString(e.selectedTextSnippet?s.unref(r)("sidebars.comments.anchoredComment"):s.unref(r)("sidebars.comments.general")),1),s.createElementVNode("button",{type:"submit",disabled:!a.value.trim(),class:"flex items-center gap-1 rounded-lg bg-cyan-500 px-3.5 py-2 text-xs font-bold text-black shadow-cyan transition-all hover:bg-cyan-400 disabled:opacity-50"},[s.createVNode(s.unref(Ws),{class:"h-3.5 w-3.5"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.comments.post")),1)],8,aA)])],32)])):s.createCommentVNode("",!0)]))}}),oA={class:"history-sidebar flex h-full w-80 flex-shrink-0 flex-col border-l border-slate-200 bg-white/80 text-slate-800 backdrop-blur-xl transition-all dark:border-white/5 dark:bg-[#0a0f1e]/85 dark:text-slate-100"},sA={class:"border-b border-slate-200 p-4 dark:border-white/5"},lA={class:"flex items-center gap-1.5 font-mono text-xs font-bold uppercase tracking-widest text-slate-500 dark:text-slate-400"},cA={class:"mt-1.5 text-[10px] leading-relaxed text-slate-400 dark:text-slate-500"},uA={class:"flex-1 space-y-3 overflow-y-auto p-4"},dA={key:0,class:"space-y-2 rounded-2xl border border-amber-500/30 bg-amber-500/10 p-3.5 text-xs animate-fadeIn dark:border-amber-500/20"},fA={class:"flex items-start gap-1.5 text-amber-700 dark:text-amber-400"},pA={class:"font-bold"},mA={class:"mt-0.5 text-[10px] leading-relaxed text-amber-600 dark:text-amber-500"},hA={class:"flex justify-end gap-2 pt-1"},bA={class:"space-y-2.5"},gA={class:"mb-1 flex items-center justify-between"},vA={class:"rounded-md bg-slate-200 px-1.5 py-0.5 font-mono text-[9px] font-bold text-slate-500 dark:bg-cyan-500/10 dark:text-cyan-400"},xA={class:"flex items-center gap-0.5 font-mono text-[9px] text-slate-400 dark:text-slate-500"},yA={class:"text-xs font-bold leading-snug text-slate-800 dark:text-slate-200"},kA={class:"flex items-center gap-1.5 text-[10px] text-slate-500"},wA={class:"font-semibold text-slate-600 dark:text-slate-300"},_A={class:"flex justify-end gap-2 border-t border-slate-200/50 pt-2 dark:border-white/5"},SA=["onClick"],CA=["onClick"],EA={key:0,class:"py-6 text-center text-xs text-slate-400 dark:text-slate-500"},AA={class:"border-t border-slate-200 bg-slate-50 p-4 dark:border-white/5 dark:bg-[#0a0f1e]/85"},TA=["placeholder"],NA={class:"flex justify-end gap-2"},OA={type:"submit",class:"rounded-lg bg-cyan-500 px-3.5 py-1.5 text-xs font-bold text-black shadow-cyan hover:bg-cyan-400"},Sh=s.defineComponent({__name:"HistorySidebar",props:{snapshots:{},activePreviewIndex:{}},emits:["save-snapshot","restore-snapshot","preview-snapshot"],setup(e,{emit:t}){const n=e,i=t,{t:r}=ht(),a=s.ref(""),o=s.ref(!1);function l(){a.value.trim()&&(i("save-snapshot",a.value.trim()),a.value="",o.value=!1)}const c=s.computed(()=>n.snapshots??[]);return(u,f)=>(s.openBlock(),s.createElementBlock("div",oA,[s.createElementVNode("div",sA,[s.createElementVNode("h3",lA,[s.createVNode(s.unref(Fl),{class:"h-4 w-4 text-cyan-400"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.history.title")),1)]),s.createElementVNode("p",cA,s.toDisplayString(s.unref(r)("sidebars.history.empty")),1)]),s.createElementVNode("div",uA,[e.activePreviewIndex!==null?(s.openBlock(),s.createElementBlock("div",dA,[s.createElementVNode("div",fA,[s.createVNode(s.unref(k0),{class:"mt-0.5 h-4 w-4 flex-shrink-0 text-amber-500"}),s.createElementVNode("div",null,[s.createElementVNode("p",pA,s.toDisplayString(s.unref(r)("sidebars.history.viewingPreview")),1),s.createElementVNode("p",mA,s.toDisplayString(s.unref(r)("sidebars.history.readOnlyPreview").replace("{index}",String(e.activePreviewIndex))),1)])]),s.createElementVNode("div",hA,[s.createElementVNode("button",{type:"button",class:"rounded-lg px-2.5 py-1 text-[10px] font-semibold text-slate-500 hover:bg-white/5 hover:text-slate-700 dark:text-slate-400",onClick:f[0]||(f[0]=m=>i("preview-snapshot",null))},s.toDisplayString(s.unref(r)("sidebars.history.closePreview")),1),s.createElementVNode("button",{type:"button",class:"flex items-center gap-1 rounded-lg bg-cyan-500 px-3 py-1 text-[10px] font-bold text-black shadow-cyan transition-all hover:bg-cyan-400",onClick:f[1]||(f[1]=()=>{i("restore-snapshot",e.activePreviewIndex),i("preview-snapshot",null)})},[s.createVNode(s.unref(uu),{class:"h-3 w-3"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.history.restoreThis")),1)])])])):s.createCommentVNode("",!0),s.createElementVNode("div",bA,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(c.value,m=>(s.openBlock(),s.createElementBlock("div",{key:m.versionIndex,class:s.normalizeClass(["space-y-2.5 rounded-2xl border p-4 transition-all",e.activePreviewIndex===m.versionIndex?"border-cyan-500/40 bg-cyan-500/5 shadow-cyan dark:border-cyan-500/30":"border-slate-200/60 bg-slate-50/60 hover:border-cyan-500/30 dark:border-white/5 dark:bg-[#02040a]/40 dark:hover:border-white/10"])},[s.createElementVNode("div",null,[s.createElementVNode("div",gA,[s.createElementVNode("span",vA,s.toDisplayString(s.unref(r)("sidebars.history.version"))+" #"+s.toDisplayString(m.versionIndex),1),s.createElementVNode("span",xA,[s.createVNode(s.unref(Pl),{class:"h-2.5 w-2.5"}),s.createTextVNode(" "+s.toDisplayString(new Date(m.timestamp).toLocaleDateString())+" "+s.toDisplayString(new Date(m.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})),1)])]),s.createElementVNode("h4",yA,s.toDisplayString(m.title),1)]),s.createElementVNode("div",kA,[s.createVNode(s.unref(jl),{class:"h-3.5 w-3.5"}),s.createElementVNode("span",null,[s.createTextVNode(s.toDisplayString(s.unref(r)("sidebars.history.modifiedBy"))+" ",1),s.createElementVNode("strong",wA,s.toDisplayString(m.modifiedBy),1)])]),s.createElementVNode("div",_A,[e.activePreviewIndex!==m.versionIndex?(s.openBlock(),s.createElementBlock("button",{key:0,type:"button",class:"flex items-center gap-1 text-[10px] font-bold text-slate-500 transition-colors hover:text-cyan-600 dark:text-slate-400 dark:hover:text-cyan-400",onClick:p=>i("preview-snapshot",m)},[s.createVNode(s.unref(Bb),{class:"h-3 w-3"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.history.preview")),1)],8,SA)):s.createCommentVNode("",!0),s.createElementVNode("button",{type:"button",class:"flex items-center gap-1 text-[10px] font-bold text-cyan-600 transition-colors hover:text-cyan-500 dark:text-cyan-400 dark:hover:text-cyan-300",onClick:p=>i("restore-snapshot",m.versionIndex)},[s.createVNode(s.unref(uu),{class:"h-3 w-3"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.history.restore")),1)],8,CA)])],2))),128)),c.value.length===0?(s.openBlock(),s.createElementBlock("p",EA,s.toDisplayString(s.unref(r)("sidebars.history.noSnapshots")),1)):s.createCommentVNode("",!0)])]),s.createElementVNode("div",AA,[o.value?(s.openBlock(),s.createElementBlock("form",{key:0,class:"space-y-2 animate-fadeIn",onSubmit:s.withModifiers(l,["prevent"])},[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":f[2]||(f[2]=m=>a.value=m),type:"text",required:"",placeholder:s.unref(r)("sidebars.history.snapshotPlaceholder"),class:"w-full rounded-xl border border-slate-200 bg-white px-2.5 py-1.5 text-xs text-slate-800 transition-all focus:border-cyan-500/50 focus:shadow-cyan focus:outline-none dark:border-white/10 dark:bg-white/[0.02] dark:text-slate-100 dark:focus:border-cyan-500/30"},null,8,TA),[[s.vModelText,a.value]]),s.createElementVNode("div",NA,[s.createElementVNode("button",{type:"button",class:"rounded-lg px-2.5 py-1 text-[10px] text-slate-500 hover:bg-white/5 dark:text-slate-400",onClick:f[3]||(f[3]=m=>o.value=!1)},s.toDisplayString(s.unref(r)("sidebars.history.cancel")),1),s.createElementVNode("button",OA,s.toDisplayString(s.unref(r)("sidebars.history.save")),1)])],32)):(s.openBlock(),s.createElementBlock("button",{key:1,type:"button",class:"flex w-full items-center justify-center gap-1.5 rounded-xl border border-dashed border-slate-300 py-2.5 text-xs font-bold text-slate-500 transition-all hover:border-cyan-500 hover:bg-cyan-500/5 hover:text-cyan-500 dark:border-white/10 dark:text-slate-400 dark:hover:border-cyan-400/50 dark:hover:text-cyan-400",onClick:f[4]||(f[4]=m=>o.value=!0)},[s.createVNode(s.unref(b0),{class:"h-3.5 w-3.5 animate-pulse"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.history.saveNamedSnapshot")),1)]))])]))}}),MA={class:"w-full max-w-md rounded-xl border border-slate-200 bg-white p-6 shadow-2xl dark:border-slate-800 dark:bg-[#0e1525]"},DA={class:"mb-4 flex items-center justify-between"},zA={class:"text-lg font-bold text-slate-800 dark:text-slate-100"},IA={key:0,class:"space-y-4"},RA={class:"flex items-start gap-3"},LA={class:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-cyan-500/10 text-cyan-600 dark:text-cyan-400"},BA={class:"text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},PA={class:"text-sm font-medium text-slate-800 dark:text-slate-200"},FA={class:"flex items-start gap-3"},VA={class:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-blue-500/10 text-blue-600 dark:text-blue-400"},UA={class:"text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},HA={class:"text-sm font-medium text-slate-800 dark:text-slate-200"},qA={class:"text-xs text-slate-500 dark:text-slate-400"},jA={class:"flex items-start gap-3"},$A={class:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-amber-500/10 text-amber-600 dark:text-amber-400"},WA={class:"text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},GA={class:"text-sm font-medium text-slate-800 dark:text-slate-200"},KA={class:"grid grid-cols-2 gap-3"},XA={class:"flex items-start gap-3"},JA={class:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-emerald-500/10 text-emerald-600 dark:text-emerald-400"},ZA={class:"text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},QA={class:"text-xs font-medium text-slate-800 dark:text-slate-200"},YA={class:"flex items-start gap-3"},e8={class:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-purple-500/10 text-purple-600 dark:text-purple-400"},t8={class:"text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},n8={class:"text-xs font-medium text-slate-800 dark:text-slate-200"},i8={class:"rounded-lg border border-slate-200 bg-slate-50 p-4 dark:border-slate-700/50 dark:bg-white/5"},r8={class:"mb-2 flex items-center gap-2 text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},a8={class:"grid grid-cols-3 gap-3 text-center"},o8={class:"text-lg font-bold text-slate-800 dark:text-slate-100"},s8={class:"text-[10px] uppercase tracking-wide text-slate-500 dark:text-slate-400"},l8={class:"text-lg font-bold text-slate-800 dark:text-slate-100"},c8={class:"text-[10px] uppercase tracking-wide text-slate-500 dark:text-slate-400"},u8={class:"text-lg font-bold text-slate-800 dark:text-slate-100"},d8={class:"text-[10px] uppercase tracking-wide text-slate-500 dark:text-slate-400"},f8={key:1,class:"py-8 text-center text-sm text-slate-500 dark:text-slate-400"},Ch=s.defineComponent({__name:"DetailsDialog",props:{isOpen:{type:Boolean},meta:{}},emits:["close"],setup(e,{emit:t}){const{t:n}=ht(),i=t;function r(a){return a?new Date(a).toLocaleString():"-"}return(a,o)=>e.isOpen?(s.openBlock(),s.createElementBlock("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-slate-900/50 p-4 backdrop-blur-sm",onClick:o[1]||(o[1]=s.withModifiers(l=>i("close"),["self"]))},[s.createElementVNode("div",MA,[s.createElementVNode("div",DA,[s.createElementVNode("h2",zA,s.toDisplayString(s.unref(n)("editor.details.title")),1),s.createElementVNode("button",{type:"button",class:"rounded p-1 text-slate-400 transition hover:bg-slate-100 hover:text-slate-600 dark:hover:bg-white/5 dark:hover:text-slate-300",onClick:o[0]||(o[0]=l=>i("close"))},[s.createVNode(s.unref(Wt),{class:"h-4 w-4"})])]),e.meta?(s.openBlock(),s.createElementBlock("div",IA,[s.createElementVNode("div",RA,[s.createElementVNode("div",LA,[s.createVNode(s.unref(dt),{class:"h-4 w-4"})]),s.createElementVNode("div",null,[s.createElementVNode("label",BA,s.toDisplayString(s.unref(n)("editor.details.titleLabel")),1),s.createElementVNode("p",PA,s.toDisplayString(e.meta.title),1)])]),s.createElementVNode("div",FA,[s.createElementVNode("div",VA,[s.createVNode(s.unref(jl),{class:"h-4 w-4"})]),s.createElementVNode("div",null,[s.createElementVNode("label",UA,s.toDisplayString(s.unref(n)("editor.details.owner")),1),s.createElementVNode("p",HA,s.toDisplayString(e.meta.owner.name),1),s.createElementVNode("p",qA,s.toDisplayString(e.meta.owner.email),1)])]),s.createElementVNode("div",jA,[s.createElementVNode("div",$A,[s.createVNode(s.unref(Ub),{class:"h-4 w-4"})]),s.createElementVNode("div",null,[s.createElementVNode("label",WA,s.toDisplayString(s.unref(n)("editor.details.location")),1),s.createElementVNode("p",GA,s.toDisplayString(e.meta.folderName||s.unref(n)("editor.details.noFolder")),1)])]),s.createElementVNode("div",KA,[s.createElementVNode("div",XA,[s.createElementVNode("div",JA,[s.createVNode(s.unref(Pl),{class:"h-4 w-4"})]),s.createElementVNode("div",null,[s.createElementVNode("label",ZA,s.toDisplayString(s.unref(n)("editor.details.created")),1),s.createElementVNode("p",QA,s.toDisplayString(r(e.meta.createdAt)),1)])]),s.createElementVNode("div",YA,[s.createElementVNode("div",e8,[s.createVNode(s.unref(zb),{class:"h-4 w-4"})]),s.createElementVNode("div",null,[s.createElementVNode("label",t8,s.toDisplayString(s.unref(n)("editor.details.modified")),1),s.createElementVNode("p",n8,s.toDisplayString(r(e.meta.updatedAt)),1)])])]),s.createElementVNode("div",i8,[s.createElementVNode("div",r8,[s.createVNode(s.unref(Fa),{class:"h-3.5 w-3.5"}),s.createTextVNode(" "+s.toDisplayString(s.unref(n)("editor.details.statistics")),1)]),s.createElementVNode("div",a8,[s.createElementVNode("div",null,[s.createElementVNode("p",o8,s.toDisplayString(e.meta.wordCount),1),s.createElementVNode("p",s8,s.toDisplayString(s.unref(n)("editor.details.words")),1)]),s.createElementVNode("div",null,[s.createElementVNode("p",l8,s.toDisplayString(e.meta.charCount),1),s.createElementVNode("p",c8,s.toDisplayString(s.unref(n)("editor.details.characters")),1)]),s.createElementVNode("div",null,[s.createElementVNode("p",u8,s.toDisplayString(e.meta.pageCount),1),s.createElementVNode("p",d8,s.toDisplayString(s.unref(n)("editor.details.pages")),1)])])])])):(s.openBlock(),s.createElementBlock("div",f8,s.toDisplayString(s.unref(n)("editor.details.loading")),1))])])):s.createCommentVNode("",!0)}}),p8={class:"w-full max-w-md rounded-xl border border-slate-200 bg-white p-6 shadow-2xl dark:border-slate-800 dark:bg-[#0e1525]"},m8={class:"mb-4 flex items-center justify-between"},h8={class:"flex items-center gap-2"},b8={class:"flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10 text-cyan-600 dark:text-cyan-400"},g8={class:"text-lg font-bold text-slate-800 dark:text-slate-100"},v8={class:"mb-4 rounded-md border border-slate-200 bg-slate-50 p-3 dark:border-slate-700/50 dark:bg-white/5"},x8={class:"mb-1 block text-[11px] font-bold uppercase tracking-wide text-slate-500 dark:text-slate-400"},y8={class:"flex items-center gap-2"},k8=["value"],w8=["title"],_8={class:"space-y-3"},S8={class:"mb-1 block text-xs font-medium text-slate-600 dark:text-slate-400"},C8=["placeholder"],E8={class:"mb-1 block text-xs font-medium text-slate-600 dark:text-slate-400"},A8={class:"mb-1 block text-xs font-medium text-slate-600 dark:text-slate-400"},T8={class:"mt-5 flex justify-end gap-2"},N8=["href"],Eh=s.defineComponent({__name:"EmailDialog",props:{isOpen:{type:Boolean},documentTitle:{},shareUrl:{},defaultRecipient:{}},emits:["close","copy-link"],setup(e,{emit:t}){const{t:n}=ht(),i=e,r=t,a=s.ref(i.defaultRecipient||""),o=s.ref(""),l=s.ref(""),c=s.ref(!1),u=s.ref(!1),f=s.computed(()=>n("editor.email.defaultSubject",{title:i.documentTitle})),m=s.computed(()=>n("editor.email.defaultBody",{url:i.shareUrl})),p=s.computed(()=>o.value===f.value),h=s.computed(()=>l.value===m.value);s.watch(()=>i.documentTitle,()=>{o.value=f.value},{immediate:!0}),s.watch(()=>i.shareUrl,()=>{l.value=m.value},{immediate:!0});const g=s.computed(()=>{const v=new URLSearchParams;o.value.trim()&&v.set("subject",o.value.trim()),l.value.trim()&&v.set("body",l.value.trim());const x=v.toString();let k=`mailto:${a.value.trim()}`;return x&&(k+=`?${x}`),k});function b(){r("copy-link")}function y(){a.value=i.defaultRecipient||"",o.value=f.value,l.value=m.value,c.value=!1,u.value=!1}return s.watch(()=>i.isOpen,v=>{v&&y()}),(v,x)=>e.isOpen?(s.openBlock(),s.createElementBlock("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-slate-900/50 p-4 backdrop-blur-sm",onClick:x[10]||(x[10]=s.withModifiers(k=>r("close"),["self"]))},[s.createElementVNode("div",p8,[s.createElementVNode("div",m8,[s.createElementVNode("div",h8,[s.createElementVNode("div",b8,[s.createVNode(s.unref(js),{class:"h-4 w-4"})]),s.createElementVNode("h2",g8,s.toDisplayString(s.unref(n)("editor.email.title")),1)]),s.createElementVNode("button",{type:"button",class:"rounded p-1 text-slate-400 transition hover:bg-slate-100 hover:text-slate-600 dark:hover:bg-white/5 dark:hover:text-slate-300",onClick:x[0]||(x[0]=k=>r("close"))},[s.createVNode(s.unref(Wt),{class:"h-4 w-4"})])]),s.createElementVNode("div",v8,[s.createElementVNode("label",x8,s.toDisplayString(s.unref(n)("editor.email.shareableLink")),1),s.createElementVNode("div",y8,[s.createElementVNode("input",{type:"text",value:e.shareUrl,readonly:"",class:"flex-1 rounded-md border border-slate-300 bg-white px-2 py-1.5 text-xs text-slate-700 dark:border-slate-600 dark:bg-slate-900 dark:text-slate-300"},null,8,k8),s.createElementVNode("button",{type:"button",class:"flex h-7 w-7 items-center justify-center rounded-md border border-slate-300 text-slate-500 transition hover:bg-slate-100 dark:border-slate-600 dark:text-slate-400 dark:hover:bg-slate-700",title:s.unref(n)("editor.email.copyLink"),onClick:b},[s.createVNode(s.unref(Ul),{class:"h-3.5 w-3.5"})],8,w8)])]),s.createElementVNode("div",_8,[s.createElementVNode("div",null,[s.createElementVNode("label",S8,s.toDisplayString(s.unref(n)("editor.email.to")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":x[1]||(x[1]=k=>a.value=k),type:"email",class:"w-full rounded-md border border-slate-300 bg-white px-3 py-2 text-xs text-slate-700 focus:border-cyan-500 focus:outline-none dark:border-slate-600 dark:bg-slate-900 dark:text-slate-300",placeholder:s.unref(n)("editor.email.toPlaceholder")},null,8,C8),[[s.vModelText,a.value]])]),s.createElementVNode("div",null,[s.createElementVNode("label",E8,s.toDisplayString(s.unref(n)("editor.email.subject")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":x[2]||(x[2]=k=>o.value=k),type:"text",class:s.normalizeClass(["w-full rounded-md border border-slate-300 bg-white px-3 py-2 text-xs focus:border-cyan-500 focus:outline-none dark:border-slate-600 dark:bg-slate-900",p.value&&!c.value?"text-slate-400 dark:text-slate-500":"text-slate-700 dark:text-slate-300"]),onFocus:x[3]||(x[3]=k=>c.value=!0),onBlur:x[4]||(x[4]=k=>c.value=!1)},null,34),[[s.vModelText,o.value]])]),s.createElementVNode("div",null,[s.createElementVNode("label",A8,s.toDisplayString(s.unref(n)("editor.email.body")),1),s.withDirectives(s.createElementVNode("textarea",{"onUpdate:modelValue":x[5]||(x[5]=k=>l.value=k),rows:"4",class:s.normalizeClass(["w-full resize-none rounded-md border border-slate-300 bg-white px-3 py-2 text-xs focus:border-cyan-500 focus:outline-none dark:border-slate-600 dark:bg-slate-900",h.value&&!u.value?"text-slate-400 dark:text-slate-500":"text-slate-700 dark:text-slate-300"]),onFocus:x[6]||(x[6]=k=>u.value=!0),onBlur:x[7]||(x[7]=k=>u.value=!1)},null,34),[[s.vModelText,l.value]])])]),s.createElementVNode("div",T8,[s.createElementVNode("button",{type:"button",class:"rounded-md px-3 py-1.5 text-xs font-semibold text-slate-700 transition hover:bg-slate-100 dark:text-slate-300",onClick:x[8]||(x[8]=k=>r("close"))},s.toDisplayString(s.unref(n)("common.cancel")),1),s.createElementVNode("a",{href:g.value,class:"inline-flex rounded-md bg-cyan-600 px-3 py-1.5 text-xs font-semibold text-white transition hover:bg-cyan-700",onClick:x[9]||(x[9]=k=>r("close"))},s.toDisplayString(s.unref(n)("editor.email.send")),9,N8)])])])):s.createCommentVNode("",!0)}}),O8=["aria-label"],M8={class:"flex items-center gap-1.5"},D8=["placeholder"],z8={class:"w-16 flex-shrink-0 text-center text-[11px] text-slate-400 dark:text-slate-500"},I8=["disabled","title"],R8=["disabled","title"],L8=["title"],B8={class:"mt-2 flex items-center gap-1.5"},P8=["placeholder","onKeydown"],F8=["disabled"],V8=["disabled"],U8=s.defineComponent({__name:"FindReplaceDialog",props:{isOpen:{type:Boolean},editor:{}},emits:["close"],setup(e,{emit:t}){const{t:n}=ht(),i=e,r=t,a=s.ref(null),o=s.ref(""),l=s.ref(""),c=s.ref({query:"",matches:[],activeIndex:0}),u=s.computed(()=>{if(!o.value)return"";const{matches:x,activeIndex:k}=c.value;return x.length===0?n("editor.findReplace.noMatches"):n("editor.findReplace.matchCount",{current:k+1,total:x.length})}),f=()=>{i.editor&&(c.value=Ee.getSearchState(i.editor))};s.watch(()=>i.editor,(x,k)=>{k==null||k.off("transaction",f),x==null||x.on("transaction",f)}),s.watch(()=>i.isOpen,async x=>{var k,w;if(i.editor)if(x){const{from:S,to:A}=i.editor.state.selection;S!==A&&(o.value=i.editor.state.doc.textBetween(S,A," ")),m(),i.editor.on("transaction",f),await s.nextTick(),(k=a.value)==null||k.focus(),(w=a.value)==null||w.select()}else v()});function m(){i.editor&&(Ee.setSearchQuery(i.editor,o.value),f())}s.watch(o,m);function p(){i.editor&&Ee.searchNext(i.editor)}function h(){i.editor&&Ee.searchPrev(i.editor)}function g(){i.editor&&Ee.replaceCurrent(i.editor,l.value)}function b(){i.editor&&Ee.replaceAll(i.editor,l.value)}function y(x){x.key==="Enter"&&x.shiftKey?(x.preventDefault(),h()):x.key==="Enter"?(x.preventDefault(),p()):x.key==="Escape"&&(x.preventDefault(),v())}function v(){var x;i.editor&&Ee.clearSearch(i.editor),(x=i.editor)==null||x.off("transaction",f),o.value="",l.value="",c.value={query:"",matches:[],activeIndex:0},r("close")}return s.onUnmounted(()=>{var x;(x=i.editor)==null||x.off("transaction",f)}),(x,k)=>e.isOpen?(s.openBlock(),s.createElementBlock("div",{key:0,class:"absolute right-4 top-16 z-40 w-[340px] rounded-xl border border-slate-200 bg-white p-3 shadow-2xl dark:border-slate-700 dark:bg-[#0e1525]",role:"dialog","aria-label":s.unref(n)("editor.findReplace.title")},[s.createElementVNode("div",M8,[s.withDirectives(s.createElementVNode("input",{ref_key:"findInput",ref:a,"onUpdate:modelValue":k[0]||(k[0]=w=>o.value=w),type:"text",placeholder:s.unref(n)("editor.findReplace.findPlaceholder"),class:"min-w-0 flex-1 rounded-lg border border-slate-200 bg-transparent px-2.5 py-1.5 text-sm text-slate-800 focus:border-cyan-500 focus:outline-none dark:border-slate-600 dark:text-slate-100",onKeydown:y},null,40,D8),[[s.vModelText,o.value]]),s.createElementVNode("span",z8,s.toDisplayString(u.value),1),s.createElementVNode("button",{type:"button",class:"flex h-7 w-7 items-center justify-center rounded-md text-slate-500 transition-colors hover:bg-slate-100 disabled:opacity-30 dark:text-slate-400 dark:hover:bg-slate-800",disabled:c.value.matches.length===0,title:s.unref(n)("editor.findReplace.previous"),onClick:h},[s.createVNode(s.unref(Nb),{class:"h-4 w-4"})],8,I8),s.createElementVNode("button",{type:"button",class:"flex h-7 w-7 items-center justify-center rounded-md text-slate-500 transition-colors hover:bg-slate-100 disabled:opacity-30 dark:text-slate-400 dark:hover:bg-slate-800",disabled:c.value.matches.length===0,title:s.unref(n)("editor.findReplace.next"),onClick:p},[s.createVNode(s.unref(en),{class:"h-4 w-4"})],8,R8),s.createElementVNode("button",{type:"button",class:"flex h-7 w-7 items-center justify-center rounded-md text-slate-400 transition-colors hover:bg-slate-100 hover:text-slate-600 dark:hover:bg-slate-800",title:s.unref(n)("editor.findReplace.close"),onClick:v},[s.createVNode(s.unref(Wt),{class:"h-4 w-4"})],8,L8)]),s.createElementVNode("div",B8,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":k[1]||(k[1]=w=>l.value=w),type:"text",placeholder:s.unref(n)("editor.findReplace.replacePlaceholder"),class:"min-w-0 flex-1 rounded-lg border border-slate-200 bg-transparent px-2.5 py-1.5 text-sm text-slate-800 focus:border-cyan-500 focus:outline-none dark:border-slate-600 dark:text-slate-100",onKeydown:s.withKeys(s.withModifiers(g,["prevent"]),["enter"])},null,40,P8),[[s.vModelText,l.value]]),s.createElementVNode("button",{type:"button",class:"flex-shrink-0 rounded-lg border border-slate-200 px-2.5 py-1.5 text-xs font-semibold text-slate-600 transition-colors hover:bg-slate-50 disabled:opacity-30 dark:border-slate-600 dark:text-slate-300 dark:hover:bg-white/5",disabled:c.value.matches.length===0,onClick:g},s.toDisplayString(s.unref(n)("editor.findReplace.replace")),9,F8),s.createElementVNode("button",{type:"button",class:"flex-shrink-0 rounded-lg border border-slate-200 px-2.5 py-1.5 text-xs font-semibold text-slate-600 transition-colors hover:bg-slate-50 disabled:opacity-30 dark:border-slate-600 dark:text-slate-300 dark:hover:bg-white/5",disabled:c.value.matches.length===0,onClick:b},s.toDisplayString(s.unref(n)("editor.findReplace.replaceAll")),9,V8)])],8,O8)):s.createCommentVNode("",!0)}}),H8={class:"w-full max-w-md rounded-lg border border-slate-200 bg-white p-6 shadow-xl dark:border-slate-700 dark:bg-slate-800"},q8={class:"mb-4 flex items-center justify-between"},j8={class:"flex items-center gap-2 text-base font-semibold text-slate-900 dark:text-slate-100"},$8={class:"mb-4"},W8={class:"mb-1 block text-xs font-medium text-slate-600 dark:text-slate-400"},G8=["placeholder"],K8={class:"mb-2"},X8={class:"mb-1 block text-xs font-medium text-slate-600 dark:text-slate-400"},J8=["placeholder"],Z8={key:0,class:"mt-1 text-[11px] text-red-600 dark:text-red-400"},Q8={class:"flex items-center justify-end gap-2 pt-2"},Y8=s.defineComponent({__name:"LinkDialog",props:{isOpen:{type:Boolean},initialText:{},initialUrl:{},isEditing:{type:Boolean}},emits:["apply","remove","close"],setup(e,{emit:t}){const{t:n}=ht(),i=e,r=t,a=s.ref(""),o=s.ref(""),l=s.ref("");s.watch(()=>i.isOpen,g=>{g&&(a.value=i.initialText??"",o.value=i.initialUrl??"https://",l.value="")});function c(){const g=o.value.trim();if(!g)return l.value=n("editor.linkDialog.urlRequired"),!1;if(/^(\/|#|mailto:|tel:)/.test(g))return l.value="",!0;try{return new URL(g),l.value="",!0}catch{return l.value=n("editor.linkDialog.urlInvalid"),!1}}function u(g){const b=g.trim();return/^(\/|#|mailto:|tel:)/.test(b)||/^https?:\/\//i.test(b)?b:`https://${b}`}function f(){c()&&r("apply",{text:a.value.trim(),url:u(o.value)})}function m(){r("remove")}function p(){r("close")}function h(g){g.key==="Escape"&&p()}return(g,b)=>e.isOpen?(s.openBlock(),s.createElementBlock("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",onClick:s.withModifiers(p,["self"]),onKeydown:h},[s.createElementVNode("div",H8,[s.createElementVNode("div",q8,[s.createElementVNode("h3",j8,[s.createVNode(s.unref(Ul),{class:"h-5 w-5 text-slate-500 dark:text-slate-400"}),s.createTextVNode(" "+s.toDisplayString(e.isEditing?s.unref(n)("editor.linkDialog.editTitle"):s.unref(n)("editor.linkDialog.insertTitle")),1)]),s.createElementVNode("button",{type:"button",class:"rounded-md p-1 text-sm text-slate-400 transition-all hover:bg-slate-100 hover:text-slate-600 dark:hover:bg-slate-700 dark:hover:text-slate-300",onClick:p},[s.createVNode(s.unref(Wt),{class:"h-4 w-4"})])]),s.createElementVNode("div",$8,[s.createElementVNode("label",W8,s.toDisplayString(s.unref(n)("editor.linkDialog.text")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":b[0]||(b[0]=y=>a.value=y),type:"text",placeholder:s.unref(n)("editor.linkDialog.textPlaceholder"),class:"w-full rounded-md border border-slate-300 bg-white px-3 py-2 text-xs text-slate-700 dark:border-slate-600 dark:bg-slate-900 dark:text-slate-300",onKeydown:s.withKeys(f,["enter"])},null,40,G8),[[s.vModelText,a.value]])]),s.createElementVNode("div",K8,[s.createElementVNode("label",X8,s.toDisplayString(s.unref(n)("editor.linkDialog.url")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":b[1]||(b[1]=y=>o.value=y),type:"text",placeholder:s.unref(n)("editor.linkDialog.urlPlaceholder"),class:"w-full rounded-md border border-slate-300 bg-white px-3 py-2 text-xs text-slate-700 dark:border-slate-600 dark:bg-slate-900 dark:text-slate-300",onKeydown:s.withKeys(f,["enter"])},null,40,J8),[[s.vModelText,o.value]]),l.value?(s.openBlock(),s.createElementBlock("p",Z8,s.toDisplayString(l.value),1)):s.createCommentVNode("",!0)]),s.createElementVNode("div",Q8,[e.isEditing?(s.openBlock(),s.createElementBlock("button",{key:0,type:"button",class:"mr-auto flex items-center gap-1 rounded-md px-3 py-1.5 text-xs font-semibold text-red-600 hover:bg-red-50 dark:text-red-400 dark:hover:bg-red-950/40",onClick:m},[s.createVNode(s.unref(yr),{class:"h-3.5 w-3.5"}),s.createTextVNode(" "+s.toDisplayString(s.unref(n)("editor.linkDialog.remove")),1)])):s.createCommentVNode("",!0),s.createElementVNode("button",{type:"button",class:"rounded-md px-3 py-1.5 text-xs font-semibold hover:bg-slate-100 dark:text-slate-300 dark:hover:bg-slate-700",onClick:p},s.toDisplayString(s.unref(n)("editor.linkDialog.cancel")),1),s.createElementVNode("button",{type:"button",class:"rounded-md bg-cyan-600 px-3 py-1.5 text-xs font-semibold text-white transition-all hover:bg-cyan-700",onClick:f},s.toDisplayString(e.isEditing?s.unref(n)("editor.linkDialog.update"):s.unref(n)("editor.linkDialog.insert")),1)])])],32)):s.createCommentVNode("",!0)}});async function tf(e,t){var n,i;if(typeof document>"u")return!1;try{if(t&&typeof ClipboardItem<"u"&&((n=navigator.clipboard)!=null&&n.write)){const r=new ClipboardItem({"text/plain":new Blob([e],{type:"text/plain"}),"text/html":new Blob([t],{type:"text/html"})});return await navigator.clipboard.write([r]),!0}if((i=navigator.clipboard)!=null&&i.writeText)return await navigator.clipboard.writeText(e),!0}catch{}try{const r=document.createElement("textarea");r.value=e,r.style.position="fixed",r.style.opacity="0",document.body.appendChild(r),r.select();const a=document.execCommand("copy");return r.remove(),a}catch{return!1}}async function eT(){var e;if(typeof navigator>"u"||!((e=navigator.clipboard)!=null&&e.read))return null;try{const t=await navigator.clipboard.read();for(const n of t)if(n.types.includes("text/html"))return await(await n.getType("text/html")).text();for(const n of t)if(n.types.includes("text/plain"))return await(await n.getType("text/plain")).text();return null}catch{return null}}async function Fs(){var e;if(typeof navigator>"u"||!((e=navigator.clipboard)!=null&&e.readText))return null;try{return await navigator.clipboard.readText()}catch{return null}}const tT={class:"docs-editor flex h-screen w-full flex-col overflow-hidden bg-slate-50 transition-colors dark:bg-[#02040a]"},nT=["title","aria-label"],iT={class:"docs-editor__body relative flex flex-1 overflow-hidden"},rT=["title"],aT={class:"flex flex-1 flex-col items-center gap-4 w-full relative"},oT=["aria-label"],sT={key:5,class:"fixed inset-0 z-50 flex items-center justify-center bg-slate-900/40 backdrop-blur-sm px-4 select-none"},lT={class:"w-full max-w-sm rounded-3xl border border-slate-100 bg-white p-7 shadow-2xl dark:border-slate-800 dark:bg-[#0e1525] text-slate-800 dark:text-slate-200"},cT={class:"text-xl font-medium mb-6 text-slate-900 dark:text-white"},uT={class:"mb-6"},dT={class:"text-xs font-semibold text-slate-700 dark:text-slate-300 mb-3"},fT={class:"space-y-4"},pT={class:"text-xs font-medium text-slate-600 dark:text-slate-400 block mb-1.5"},mT={class:"text-xs font-medium text-slate-600 dark:text-slate-400 block mb-1.5"},hT={class:"mb-8"},bT={class:"text-xs font-semibold text-slate-700 dark:text-slate-300 mb-3"},gT={class:"space-y-3"},vT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none"},xT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none"},yT={class:"flex justify-end items-center gap-3"},kT={key:6,class:"fixed inset-0 z-50 flex items-center justify-center bg-slate-900/40 backdrop-blur-sm px-4 select-none"},wT={class:"w-full max-w-sm rounded-3xl border border-slate-100 bg-white p-7 shadow-2xl dark:border-slate-800 dark:bg-[#0e1525] text-slate-800 dark:text-slate-200"},_T={class:"text-xl font-medium mb-6 text-slate-900 dark:text-white"},ST={class:"mb-6"},CT={class:"text-xs font-semibold text-slate-700 dark:text-slate-300 mb-3"},ET={class:"space-y-3"},AT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none"},TT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none"},NT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none pt-1"},OT=["checked"],MT={class:"mb-6"},DT={class:"text-xs font-semibold text-slate-700 dark:text-slate-300 mb-3"},zT=["aria-label"],IT=["title","onClick"],RT={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},LT=["d"],BT={class:"text-[11px] text-slate-400 dark:text-slate-500 mt-1.5"},PT={class:"mb-8"},FT={class:"text-xs font-semibold text-slate-700 dark:text-slate-300 mb-3"},VT={class:"space-y-3"},UT={class:"flex items-center gap-3"},HT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none"},qT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none"},jT={class:"pt-2"},$T={class:"block text-xs font-medium text-slate-600 dark:text-slate-400 mb-1.5"},WT=["placeholder"],GT={class:"text-[11px] text-slate-400 dark:text-slate-500 mt-1"},KT={class:"flex justify-end items-center gap-3"},XT={key:7,class:"fixed inset-0 z-50 flex items-center justify-center bg-slate-900/50 backdrop-blur-sm px-4"},JT={class:"w-full max-w-md rounded-xl border border-slate-200 bg-white p-6 shadow-2xl dark:border-slate-800 dark:bg-[#0e1525] text-slate-800 dark:text-slate-200"},ZT={class:"text-lg font-bold mb-4"},QT={class:"mb-4"},YT={class:"block text-xs font-semibold text-slate-600 dark:text-slate-400 mb-1.5"},eN=["value"],tN={class:"mb-4"},nN={class:"block text-xs font-semibold text-slate-600 dark:text-slate-400 mb-1.5"},iN={class:"flex gap-2"},rN={class:"mb-6"},aN={class:"block text-xs font-semibold text-slate-600 dark:text-slate-400 mb-1.5"},oN={class:"grid grid-cols-2 gap-3"},sN={class:"text-[11px] text-slate-500 dark:text-slate-400 block mb-1"},lN=["max"],cN={class:"text-[11px] text-slate-500 dark:text-slate-400 block mb-1"},uN=["max"],dN={class:"text-[11px] text-slate-500 dark:text-slate-400 block mb-1"},fN=["max"],pN={class:"text-[11px] text-slate-500 dark:text-slate-400 block mb-1"},mN=["max"],hN={class:"flex justify-end gap-2"},bN=189,ir=37.795,Vs=0,Us=5,nf=.1,Oi=0,gN=s.defineComponent({__name:"DocsEditor",props:{modelValue:{default:void 0},plugins:{default:()=>[]},editable:{type:Boolean,default:!0},collaboration:{default:void 0},pageSize:{default:"a4"},pageless:{type:Boolean,default:!1},virtualPages:{type:Boolean,default:!1},title:{default:"Untitled Document"},collaborators:{default:()=>[]},starred:{type:Boolean,default:!1},connectionState:{default:"connected"},userName:{default:""},userAvatar:{default:""},locale:{default:void 0},documentMeta:{default:void 0},shareUrl:{default:""},onImageUpload:{type:Function,default:void 0},citation:{default:void 0},aiStream:{type:Function,default:void 0},aiDraft:{type:Function,default:void 0},onAiChat:{type:Function,default:void 0},debug:{type:Boolean,default:!1},comments:{default:()=>[]},selectedTextSnippet:{default:""},selectedTextIndex:{default:void 0},snapshots:{default:()=>[]},activePreviewIndex:{default:null},orientation:{default:"portrait"},margins:{default:()=>({top:94,bottom:94,left:94,right:94})},headerMarginCm:{default:.5},footerMarginCm:{default:.5}},emits:["update:modelValue","update:title","update:pageSize","update:orientation","update:margins","update:header-footer-margins","update:pageless","update:pageCount","update:locale","citation-sources-change","update:citation-style","toggle-star","back","share","menu-click","export","ready","add-comment","add-reply","resolve-comment","delete-comment","save-snapshot","restore-snapshot","preview-snapshot"],setup(e,{emit:t}){var Xc,Jc,Zc,Qc,Yc;const n=e,i=t,{locale:r,setLocale:a,t:o}=df(n.locale);s.watch(()=>n.locale,C=>{C&&C!==r.value&&a(C)}),s.watch(r,C=>{i("update:locale",C)});const l=s.ref({top:((Xc=n.margins)==null?void 0:Xc.top)??94,bottom:((Jc=n.margins)==null?void 0:Jc.bottom)??94,left:((Zc=n.margins)==null?void 0:Zc.left)??94,right:((Qc=n.margins)==null?void 0:Qc.right)??94});function c(C,T=.5){const M=typeof C=="number"?C:Number(C);if(!Number.isFinite(M))return T;const Q=Math.min(Us,Math.max(Vs,M));return Math.round(Q*10)/10}const u=s.ref(n.orientation??"portrait"),f=s.ref(n.pageSize??"a4"),m=s.ref(n.pageless??!1);s.watch(()=>n.orientation,C=>{C!==void 0&&(u.value=C)}),s.watch(()=>n.margins,C=>{C!==void 0&&(l.value={...C})}),s.watch(()=>n.headerMarginCm,C=>{typeof C=="number"&&Number.isFinite(C)&&(fn.value=c(C))}),s.watch(()=>n.footerMarginCm,C=>{typeof C=="number"&&Number.isFinite(C)&&(pn.value=c(C))});const p=s.computed(()=>{const C=rr.getPageSize(f.value)??rr.PAGE_SIZES[0];let T=C.pageWidth,M=C.pageHeight;return u.value==="landscape"&&([T,M]=[M,T]),{pageHeight:M,pageWidth:T,margins:{...l.value}}}),h=s.computed(()=>`${p.value.pageWidth}px`),{isDark:g}=zo(),b=s.computed(()=>n.virtualPages===!0),y=s.computed(()=>({enabled:!m.value&&!b.value,pageHeight:p.value.pageHeight,pageWidth:p.value.pageWidth,marginTop:p.value.margins.top,marginBottom:p.value.margins.bottom,marginLeft:p.value.margins.left,marginRight:p.value.margins.right,contentMarginTop:0,contentMarginBottom:0,pageGap:40,pageBreakBackground:g.value?"#02040a":"#f1f5f9",headerLeft:"",headerRight:"",footerLeft:"",footerRight:"",onHeaderClick:C=>{var T;((T=C==null?void 0:C.event)==null?void 0:T.detail)===2&&la(C==null?void 0:C.event)},onFooterClick:C=>{var T;((T=C==null?void 0:C.event)==null?void 0:T.detail)===2&&ca(C==null?void 0:C.event)}})),v=C=>{const T=C;return T&&typeof T=="object"&&T.type==="tabbed-doc"&&Array.isArray(T.tabs)?T:{type:"tabbed-doc",activeTabId:"tab-1",tabs:[{id:"tab-1",label:"Tab 1",content:C||{type:"doc",content:[{type:"paragraph"}]}}]}},x=C=>{if(!Array.isArray(C))return[];const T=new Set;for(const M of C)typeof M=="number"&&Number.isFinite(M)&&M>=1&&T.add(Math.floor(M));return[...T].sort((M,Q)=>M-Q)},k=v(n.modelValue),w=s.ref(k.headerLeft||""),S=s.ref(k.headerRight||""),A=s.ref(k.footerLeft||""),R=s.ref(k.footerRight||""),_=s.ref(k.headerAlign),E=s.ref(k.footerAlign),z=s.ref(k.tabs.map(C=>({id:C.id,label:C.label,active:C.id===k.activeTabId}))),P=s.ref({});k.tabs.forEach(C=>{P.value[C.id]=C.content});const U=s.ref(k.activeTabId),V=s.computed(()=>P.value[U.value]),B=s.ref(!1),j=s.ref(null),$=s.ref(null);let Y=null;const W=s.ref(localStorage.getItem("docflow:view:showRuler")!=="false"),oe=s.ref(!1);s.watch(W,C=>{localStorage.setItem("docflow:view:showRuler",C?"true":"false")});const I=s.ref(0),N=s.ref(0),L=s.ref("saved"),D=s.ref(Date.now()),K=s.ref(null),ne=s.ref(new Set);let ee=null;const ie=s.ref(!1);function G(){if(!O.value||!X.value)return;const C=O.value.state.doc;if(n.collaboration&&!ie.value&&C.content.size<=2)return;ie.value=!0;const T=new Set;C.descendants(M=>{for(const Q of M.marks)Q.type.name==="comment"&&Q.attrs.threadId&&T.add(Q.attrs.threadId);return!0}),ne.value=T}function H(){ee&&clearTimeout(ee),ee=setTimeout(G,200)}const q=s.computed(()=>{if(!ie.value)return[];const C=ne.value;return(n.comments??[]).filter(T=>T.anchorIndex!=null&&!C.has(T.id)).map(T=>T.id)});s.onUnmounted(()=>{ee&&clearTimeout(ee)});const re=s.computed(()=>{const C=[];for(const T of n.plugins)for(const M of T.slashCommands||[])C.push({name:M.name,command:M.command});return C}),ce=()=>{const C={type:"tabbed-doc",activeTabId:U.value,tabs:z.value.map(T=>({id:T.id,label:T.label,content:P.value[T.id]})),headerLeft:w.value,headerRight:S.value,footerLeft:A.value,footerRight:R.value,headerAlign:_.value,footerAlign:E.value,hiddenPageNumbers:Ji.value};i("update:modelValue",C),L.value="saving",K.value&&clearTimeout(K.value),K.value=setTimeout(()=>{L.value="saved",D.value=Date.now()},800)},fe=s.ref((()=>{var T;const C=(T=n.citation)==null?void 0:T.sources;return Array.isArray(C)?[...C]:typeof C=="function"?[...C()]:[]})()),Oe=s.ref(((Yc=n.citation)==null?void 0:Yc.style)||"chicago-notes-bibliography");let pe=null;const Se=s.ref(!1),ut=C=>{pe==null||pe(C),pe=null,Se.value=!1},Jt=()=>new Promise(C=>{ut(null),pe=C,Se.value=!0,$.value="references"}),Le=s.computed(()=>{const C=n.citation;if(C)return{...C,sources:()=>fe.value,onSourceRequest:C.onSourceRequest??Jt}}),{editorRef:Ut,editor:O,pluginActions:F,isReady:X,docsEditor:ze}=rf({content:V,plugins:n.plugins,editable:n.editable,collaboration:n.collaboration,onImageUpload:n.onImageUpload,citation:Le.value,aiStream:n.aiStream,aiDraft:n.aiDraft,debug:n.debug,getPageMap:()=>new Map,paginationOptions:y.value,onUpdate:C=>{P.value[U.value]=C,ce()}}),Xe=()=>{var C,T,M;return((M=(T=(C=O.value)==null?void 0:C.storage)==null?void 0:T.citationEngine)==null?void 0:M.engine)??null},He=()=>{var C;(C=Xe())==null||C.updateSources(fe.value),i("citation-sources-change",fe.value)},un=C=>{fe.value=[...fe.value,C],He()},Nn=C=>{fe.value=fe.value.map(T=>T.id===C.id?C:T),He()},Yn=C=>{fe.value=fe.value.filter(T=>T.id!==C),He()},Ht=C=>{var T;Oe.value=C,(T=Xe())==null||T.setStyle(C),i("update:citation-style",C)},On=C=>{var T,M;pe?(ut(C),$.value=null):(M=(T=F.value).insertCitation)==null||M.call(T,{sourceId:C})};s.watch($,(C,T)=>{T==="references"&&C!=="references"&&ut(null)});const qe=s.ref(!1),Nt=s.ref(""),$i=s.computed(()=>{var C,T;return!!((C=n.citation)!=null&&C.onImportDoi||(T=n.citation)!=null&&T.onImportBibliography)}),Hr=async C=>{const T=n.citation;if(!(!(T!=null&&T.onImportDoi)||qe.value)){qe.value=!0,Nt.value="";try{const M=await T.onImportDoi(C);if(!M){Nt.value=o("sidebars.references.import.doiFailed");return}const Q=fe.value.some(se=>se.id===M.id);fe.value=Q?fe.value.map(se=>se.id===M.id?M:se):[...fe.value,M],He(),Nt.value=o("sidebars.references.import.doiSuccess")}catch{Nt.value=o("sidebars.references.import.doiFailed")}finally{qe.value=!1}}},qr=async C=>{const T=n.citation;if(!(!(T!=null&&T.onImportBibliography)||qe.value)){qe.value=!0,Nt.value="";try{const{imported:M,failed:Q}=await T.onImportBibliography(C);if(M.length>0){const se=new Map(fe.value.map(de=>[de.id,de]));for(const de of M)se.set(de.id,de);fe.value=[...se.values()],He()}Nt.value=Q>0?o("sidebars.references.import.partial").replace("{ok}",String(M.length)).replace("{failed}",String(Q)):o("sidebars.references.import.batchSuccess").replace("{count}",String(M.length))}catch{Nt.value=o("sidebars.references.import.failed")}finally{qe.value=!1}}},Wi=()=>{var T;const C=((T=O.value)==null?void 0:T.getText())??"";N.value=C.length,I.value=C.trim()?C.trim().split(/\s+/).length:0},jr=()=>{if(!O.value)return null;const{from:C,to:T,head:M}=O.value.state.selection;if(C===T)return null;const Q=O.value.view.coordsAtPos(M);if(!Q)return null;const se=12,de=180,ye=Q.top-48,ve=(Q.left+Q.right)/2;if(typeof window>"u")return{top:Math.max(se,ye),left:ve};const me=Math.min(de,Math.max(0,window.innerWidth/2-se)),ue=se+me,le=window.innerWidth-se-me,he=Math.max(se,window.innerHeight-48);return{top:Math.min(he,Math.max(se,ye)),left:Math.min(le,Math.max(ue,ve))}},$r=()=>{if(!O.value){B.value=!1,j.value=null;return}const{from:C,to:T}=O.value.state.selection;B.value=C!==T,j.value=C!==T?jr():null},wt=s.ref(null),qt=()=>{B.value&&(j.value=jr())},jt=s.ref(1),gt=s.ref(1),Gi=s.computed(()=>{const C=p.value;return{pageSize:{id:f.value,name:f.value.toUpperCase(),pageWidth:C.pageWidth,pageHeight:C.pageHeight},margins:{top:C.margins.top,bottom:C.margins.bottom,left:C.margins.left,right:C.margins.right},pageGap:40,headerLeft:w.value,headerRight:S.value,footerLeft:A.value,footerRight:R.value}}),{data:Ko,totalPages:wi,isReady:dn,refreshData:Wr}=sb({editorRef:s.computed(()=>O.value),scrollRef:wt,config:Gi.value,bufferPages:2,enabled:b});s.watch([wi,dn],()=>{b.value&&dn.value&&(jt.value=wi.value)}),s.watch(b,C=>{C&&Wr()});const ei=()=>{if(!O.value||!X.value){jt.value=1,gt.value=1;return}const C=O.value.view.dom,T=C.querySelector("[data-rm-pagination]");T?jt.value=T.children.length||1:jt.value=1;try{const{selection:M}=O.value.state,Q=O.value.view.coordsAtPos(M.head);if(Q&&T){const se=Array.from(T.querySelectorAll(".rm-page-break")),de=C.getBoundingClientRect(),ye=Q.top-de.top+C.scrollTop;let ve=1,me=!1;for(let ue=0;ue<se.length;ue++){const le=se[ue].querySelector(".breaker");if(le instanceof HTMLElement&&ye<le.offsetTop){gt.value=ve,me=!0;break}ve++}me||(gt.value=ve)}else gt.value=1}catch{gt.value=1}};s.watch(p,C=>{O.value&&(O.value.commands.updatePageHeight(C.pageHeight),O.value.commands.updatePageWidth(C.pageWidth),O.value.commands.updateMargins({top:C.margins.top,bottom:C.margins.bottom,left:C.margins.left,right:C.margins.right}),ei())});const Ot=C=>{C!==m.value&&(m.value=C,i("update:pageless",C),O.value&&(C?O.value.commands.disablePagination():O.value.commands.enablePagination(),setTimeout(()=>{ei(),ua()},60)))};s.watch(()=>n.pageless,C=>Ot(C??!1));const Je=s.ref(!1),$t=s.ref(!1),ti=s.ref(""),Ic=s.ref(""),Xo=s.ref(""),Ah=s.ref(""),fn=s.ref(c(n.headerMarginCm)),pn=s.ref(c(n.footerMarginCm)),Gr=s.ref(!1),Ki=s.ref(fn.value),Xi=s.ref(pn.value),Kr=s.ref(!1),Xr=s.ref(!1),Jr=s.ref(!1),ni=s.ref("header"),Ji=s.ref(x(k.hiddenPageNumbers)),Zr=s.ref("startAt"),Qr=s.ref(1),Mn=s.ref("header"),_i=s.ref([]),Si=s.ref(""),Ci=s.ref("startAt"),Yr=s.ref(1),ea=s.ref(_.value),ta=s.ref(E.value),Jo=s.ref(!1),Th=s.computed(()=>Zo.value??"right"),Zo=s.computed({get:()=>Mn.value==="footer"?ta.value:ea.value,set:C=>{Mn.value==="footer"?ta.value=C:ea.value=C}}),Nh=C=>{Jo.value=!0,Zo.value=Zo.value===C?void 0:C},Oh=C=>({left:"M21 5H3 M15 12H3 M17 19H3",center:"M21 5H3 M17 12H7 M19 19H5",right:"M21 5H3 M21 12H9 M21 19H7"})[C],Mh=s.computed(()=>!_i.value.includes(1)),Dh=C=>{const T=C.target.checked;let M=_i.value;T?M=M.filter(Q=>Q!==1):M.includes(1)||(M=[...M,1].sort((Q,se)=>Q-se)),_i.value=M,Si.value=Lc(M)};s.watch(Si,C=>{_i.value=Rc(C)});const Rc=C=>{const T=new Set;for(const M of String(C||"").split(",")){const Q=M.trim();if(!Q)continue;const se=Q.match(/^(\d+)\s*-\s*(\d+)$/);if(se){const de=Math.max(1,Number(se[1])),ye=Math.max(de,Number(se[2]));for(let ve=de;ve<=ye;ve++)T.add(ve)}else/^\d+$/.test(Q)&&T.add(Math.max(1,Number(Q)))}return[...T].sort((M,Q)=>M-Q)},Lc=C=>{const T=[...C].filter(de=>Number.isFinite(de)&&de>=1).sort((de,ye)=>de-ye);if(T.length===0)return"";const M=[];let Q=T[0],se=T[0];for(let de=1;de<=T.length;de++){const ye=T[de];if(ye===se+1){se=ye;continue}M.push(Q===se?String(Q):`${Q}-${se}`),Q=ye,se=ye}return M.join(", ")},Qo=C=>{const T=C+1;if(Ji.value.includes(T))return"";let M=T;return Zr.value==="startAt"&&(M=C+Qr.value),String(M)};let Yo=!1;const Bt=(C=!0)=>{if(!(!O.value||!X.value||Yo)){Yo=!0;try{const T=String(jt.value),M=O.value.view.dom;(()=>{const le=(he,Ce)=>{M.classList.remove(`rm-hf-${he}-align-left`,`rm-hf-${he}-align-center`,`rm-hf-${he}-align-right`),Ce&&M.classList.add(`rm-hf-${he}-align-${Ce}`)};le("header",_.value),le("footer",E.value)})();const se=w.value.replace(/{total}/g,T),de=S.value.replace(/{total}/g,T),ye=A.value.replace(/{total}/g,T),ve=R.value.replace(/{total}/g,T);O.value.commands.updateHeaderContent(se,de),O.value.commands.updateFooterContent(ye,ve);const me=`${Math.max(0,fn.value)*ir}px`,ue=`${Math.max(0,pn.value)*ir}px`;M.style.setProperty("--rm-header-margin-top",me),M.style.setProperty("--rm-footer-margin-bottom",ue),C&&O.value.view.dispatch(O.value.state.tr),setTimeout(()=>{requestAnimationFrame(()=>{if(!O.value||O.value.view.dom!==M)return;const le=(Te,Ne)=>{let Me=se,De=de;return Ne&&Je.value?(Me=ti.value.replace(/{total}/g,T),De=Ic.value.replace(/{total}/g,T)):$t.value&&Te%2===0&&(Me=Xo.value.replace(/{total}/g,T),De=Ah.value.replace(/{total}/g,T)),{left:Me.replace(/{page}/g,Qo(Te-1)),right:De.replace(/{page}/g,Qo(Te-1))}},he=(Te,Ne,Me)=>{const De=le(Ne,Me),Ie=Te.querySelector(".rm-page-header-left"),Ve=Te.querySelector(".rm-page-header-right");Ie&&(Ie.innerHTML=De.left),Ve&&(Ve.innerHTML=De.right)},Ce=M.querySelector(".rm-first-page-header");Ce&&he(Ce,1,!0),Array.from(M.querySelectorAll(".rm-page-break .rm-page-header")).forEach((Te,Ne)=>{he(Te,Ne+2,!1)}),Array.from(M.querySelectorAll(".rm-page-break .rm-page-footer")).forEach((Te,Ne)=>{const Me=Ne+1,De=Qo(Me-1),Ie=Te.querySelector(".rm-page-footer-left"),Ve=Te.querySelector(".rm-page-footer-right");Ie&&(Ie.innerHTML=ye.replace(/{page}/g,De)),Ve&&(Ve.innerHTML=ve.replace(/{page}/g,De))})})},50)}finally{Yo=!1}}};s.watch(Je,()=>{Bt()}),s.watch([$t,fn,pn,ni,Ji,Zr,Qr],()=>{Bt()}),s.watch(jt,C=>{Bt(!1),i("update:pageCount",C)}),s.watch(g,C=>{O.value&&(O.value.commands.updatePageBreakBackground(C?"#02040a":"#f1f5f9"),O.value.view.dispatch(O.value.state.tr))}),s.watch(y,C=>{if(!O.value||!X.value)return;const T=O.value.storage.PaginationPlus;!T||!(T.pageHeight!==C.pageHeight||T.pageWidth!==C.pageWidth||T.marginTop!==C.marginTop||T.marginBottom!==C.marginBottom||T.marginLeft!==C.marginLeft||T.marginRight!==C.marginRight||T.pageGap!==C.pageGap||T.contentMarginTop!==C.contentMarginTop||T.contentMarginBottom!==C.contentMarginBottom||T.pageBreakBackground!==C.pageBreakBackground||T.enabled!==C.enabled)||(T.pageHeight=C.pageHeight,T.pageWidth=C.pageWidth,T.marginTop=C.marginTop,T.marginBottom=C.marginBottom,T.marginLeft=C.marginLeft,T.marginRight=C.marginRight,T.pageGap=C.pageGap,T.contentMarginTop=C.contentMarginTop,T.contentMarginBottom=C.contentMarginBottom,T.pageBreakBackground=C.pageBreakBackground,T.enabled=C.enabled,O.value.view.dispatch(O.value.state.tr))},{deep:!0}),s.watch(X,C=>{var T,M,Q,se,de,ye,ve,me;C&&O.value&&(!w.value&&!S.value&&!A.value&&!R.value&&(w.value=((M=(T=O.value.storage.PaginationPlus)==null?void 0:T.appliedConfig)==null?void 0:M.headerLeft)||"",S.value=((se=(Q=O.value.storage.PaginationPlus)==null?void 0:Q.appliedConfig)==null?void 0:se.headerRight)||"",A.value=((ye=(de=O.value.storage.PaginationPlus)==null?void 0:de.appliedConfig)==null?void 0:ye.footerLeft)||"",R.value=((me=(ve=O.value.storage.PaginationPlus)==null?void 0:ve.appliedConfig)==null?void 0:me.footerRight)||""),Fc(),Bt(),ze.value&&i("ready",ze.value),O.value.on("selectionUpdate",()=>{$r(),ei()}),O.value.on("transaction",()=>{ei(),Wi(),H()}),$r(),Wi(),ei(),H(),setTimeout(()=>{var le;return(le=O.value)==null?void 0:le.commands.focus("start")},50),[100,300,600,1200,2500].forEach(le=>{setTimeout(()=>{O.value&&O.value.view.dispatch(O.value.state.tr)},le)}),O.value.view.dom.addEventListener("keydown",le=>{(le.metaKey||le.ctrlKey)&&le.key.toLowerCase()==="k"&&(le.preventDefault(),Bc())}),Y&&O.value.view.dom.removeEventListener("keydown",Y),Y=le=>{(le.metaKey||le.ctrlKey)&&le.key.toLowerCase()==="l"&&(le.preventDefault(),as())},O.value.view.dom.addEventListener("keydown",Y),O.value.view.dom.addEventListener("click",le=>{const he=le.target;if(!he||le.detail!==2||he.closest('.rm-google-docs-header-bar, .rm-google-docs-footer-bar, .rm-options-dropdown, [contenteditable="true"]'))return;if(he.closest(".rm-page-header, .rm-first-page-header")){la(le);return}if(he.closest(".rm-page-footer")){ca(le);return}const Ne=he.closest(".rm-with-pagination, .rm-page-break, .page, .docs-editor-page");if(Ne){const Me=Ne.getBoundingClientRect(),De=le.clientY-Me.top,Ie=fn.value*37.795;if(De>=0&&De<=Math.max(Ie,40)+15){let $e=null;Ne.classList.contains("rm-page-break")&&($e=Ne.querySelector(".rm-page-header")),$e||($e=document.querySelector(".rm-page-header, .rm-first-page-header")),$e&&la(le);return}const Ve=Me.bottom-le.clientY,xt=pn.value*37.795;if(Ve>=0&&Ve<=Math.max(xt,40)+15){let $e=null;Ne.classList.contains("rm-page-break")&&($e=Ne.querySelector(".rm-page-footer")),$e||($e=document.querySelector(".rm-page-footer")),$e&&ca(le)}}}))}),s.watch(()=>n.collaboration,()=>{},{deep:!0}),s.onUnmounted(()=>{mn(!1),K.value&&clearTimeout(K.value),Ai&&clearTimeout(Ai),hn&&clearTimeout(hn),window.removeEventListener("resize",Kc)});const na=s.ref(!1),es=s.ref(!1),ts=s.ref(!1),ia=s.ref(!1),Zi=s.ref(!1),ra=s.ref(""),ns=s.ref(""),aa=s.ref(!1);function Bc(){if(!O.value)return;const{state:C}=O.value,{from:T,to:M,empty:Q}=C.selection,se=O.value.getAttributes("link");se.href?(aa.value=!0,ns.value=se.href,Q?ra.value="":ra.value=C.doc.textBetween(T,M," ")):(aa.value=!1,ns.value="https://",ra.value=Q?"":C.doc.textBetween(T,M," ")),Zi.value=!0}function zh(C){if(!O.value)return;const{state:T}=O.value,{from:M,to:Q,empty:se}=T.selection,de=C.text.trim(),ye=O.value.chain().focus();aa.value||O.value.isActive("link")?(ye.setLink({href:C.url,target:"_blank"}).run(),de&&!se&&ye.insertContentAt({from:M,to:Q},de).run()):de?ye.insertContentAt({from:M,to:Q},{type:"text",text:de,marks:[{type:"link",attrs:{href:C.url,target:"_blank"}}]}).run():se?ye.insertContent({type:"text",text:C.url,marks:[{type:"link",attrs:{href:C.url,target:"_blank"}}]}).run():ye.setLink({href:C.url,target:"_blank"}).run(),Zi.value=!1}function Ih(){if(!O.value)return;O.value.chain().focus().unsetLink().run(),Zi.value=!1}const oa=s.ref(f.value),ii=s.ref(u.value),et=s.ref({top:Dn(l.value.top),bottom:Dn(l.value.bottom),left:Dn(l.value.left),right:Dn(l.value.right)}),Qi=Number((bN/ir).toFixed(1));function Dn(C){return Math.round(C/ir*10)/10}function sa(C){return Math.round(C*ir)}const Rh=()=>{oa.value=f.value,ii.value=u.value,et.value={top:Dn(l.value.top),bottom:Dn(l.value.bottom),left:Dn(l.value.left),right:Dn(l.value.right)},na.value=!0},Lh=()=>{const C=T=>{const M=typeof T=="number"?T:Number(T);return Number.isFinite(M)?Math.min(Qi,Math.max(Oi,M)):Oi};f.value=oa.value,u.value=ii.value,et.value={top:C(et.value.top),bottom:C(et.value.bottom),left:C(et.value.left),right:C(et.value.right)},l.value={top:sa(et.value.top),bottom:sa(et.value.bottom),left:sa(et.value.left),right:sa(et.value.right)},i("update:pageSize",f.value),i("update:orientation",ii.value),i("update:margins",{...l.value}),na.value=!1},is=s.ref(!1),zn={value:null},rs=s.ref(!1),In={value:null},Bh=()=>{Ki.value=fn.value,Xi.value=pn.value,Kr.value=Je.value,Xr.value=$t.value,Gr.value=!0},Ph=()=>{fn.value=c(Ki.value),pn.value=c(Xi.value),Ki.value=fn.value,Xi.value=pn.value,Je.value=Kr.value,$t.value=Xr.value,Gr.value=!1,Bt(),i("update:header-footer-margins",{headerMarginCm:fn.value,footerMarginCm:pn.value}),ce()},Pc=()=>{Fc(),Mn.value=ni.value,_i.value=[...Ji.value],Si.value=Lc(_i.value),Ci.value=Zr.value,Yr.value=Qr.value,ea.value=_.value,ta.value=E.value,Jo.value=!1,Jr.value=!0},Fc=()=>{const C="{page}",T=[w.value,S.value].some(Q=>Q.includes(C));[A.value,R.value].some(Q=>Q.includes(C))&&!T?ni.value="footer":ni.value="header"},Fh=()=>{ni.value=Mn.value,Ji.value=Rc(Si.value),Zr.value=Ci.value,Qr.value=Yr.value,Jr.value=!1;const C="{page}";ni.value==="footer"?(S.value.includes(C)&&(S.value=S.value.replace(/{page}/g,"").trim()),R.value=C):(R.value.includes(C)&&(R.value=R.value.replace(/{page}/g,"").trim()),S.value=C),Jo.value&&(ni.value==="footer"?E.value=ta.value:_.value=ea.value),Bt(),ce()},Vh=()=>{w.value="",S.value="",Bt(),ce(),is.value=!1},Uh=()=>{A.value="",R.value="",Bt(),ce(),rs.value=!1},Hh=()=>A.value,qh=C=>{const T=C===1,M=C%2===0;return Je.value&&T?ti.value:$t.value&&M?Xo.value:w.value},mn=(C=!0)=>{var Q;const T=zn.value;if(!T)return;const M=T.input.innerHTML.trim();document.removeEventListener("mousedown",T.onOutsideMouseDown),window.removeEventListener("resize",T.onResize),window.removeEventListener("scroll",T.onWindowScroll),(Q=wt.value)==null||Q.removeEventListener("scroll",T.onScroll),T.overlay.remove(),T.generatedContent&&(T.generatedContent.style.visibility=""),T.targetHeader.classList.remove("rm-header-active"),zn.value=null,is.value=!1,C&&(Je.value&&T.isFirstPage?ti.value=M:$t.value&&T.pageIndex%2===0?Xo.value=M:w.value=M,Bt(),ce())},Ei=(C=!0)=>{var Q;const T=In.value;if(!T)return;const M=T.input.innerHTML.trim();document.removeEventListener("mousedown",T.onOutsideMouseDown),window.removeEventListener("resize",T.onResize),window.removeEventListener("scroll",T.onWindowScroll),(Q=wt.value)==null||Q.removeEventListener("scroll",T.onScroll),T.overlay.remove(),T.generatedContent&&(T.generatedContent.style.visibility=""),T.targetFooter.classList.remove("rm-footer-active"),In.value=null,rs.value=!1,C&&(A.value=M,Bt(),ce())},Vc=C=>{if(!C.targetHeader.parentNode||!O.value)return;const T=O.value.view.dom,M=C.targetHeader.getBoundingClientRect(),Q=T.getBoundingClientRect(),se=getComputedStyle(T),de=parseFloat(se.getPropertyValue("--rm-margin-left"))||0,ye=parseFloat(se.getPropertyValue("--rm-margin-right"))||0,ve=C.targetHeader.querySelector(".rm-page-header-content"),me=(ve==null?void 0:ve.getBoundingClientRect())??M,ue=C.isFirstPage?M.left:M.left+de,le=C.isFirstPage?M.right:M.right-ye,he=Math.max(0,ue-Q.left),Ce=Math.max(0,Q.right-le);C.overlay.style.left=`${ue}px`,C.overlay.style.top=`${me.top}px`,C.overlay.style.width=`${Math.max(le-ue,1)}px`,C.overlay.style.height=`${Math.max(me.height,24)}px`,C.activeBar.style.setProperty("--rm-header-bar-left",`${-he}px`),C.activeBar.style.setProperty("--rm-header-bar-width",`${Q.width}px`),C.activeBar.style.setProperty("--rm-header-bar-padding-left",`${he}px`),C.activeBar.style.setProperty("--rm-header-bar-padding-right",`${Ce}px`)},Uc=C=>{if(!C.targetFooter.parentNode||!O.value)return;const T=O.value.view.dom,M=C.targetFooter.getBoundingClientRect(),Q=T.getBoundingClientRect(),se=getComputedStyle(T),de=parseFloat(se.getPropertyValue("--rm-margin-left"))||0,ye=parseFloat(se.getPropertyValue("--rm-margin-right"))||0,ve=C.targetFooter.querySelector(".rm-page-footer-content"),me=(ve==null?void 0:ve.getBoundingClientRect())??M,ue=M.left+de,le=M.right-ye,he=Math.max(0,ue-Q.left),Ce=Math.max(0,Q.right-le);C.overlay.style.left=`${ue}px`,C.overlay.style.top=`${me.top}px`,C.overlay.style.width=`${Math.max(le-ue,1)}px`,C.overlay.style.height=`${Math.max(me.height,24)}px`,C.activeBar.style.setProperty("--rm-footer-bar-left",`${-he}px`),C.activeBar.style.setProperty("--rm-footer-bar-width",`${Q.width}px`),C.activeBar.style.setProperty("--rm-footer-bar-padding-left",`${he}px`),C.activeBar.style.setProperty("--rm-footer-bar-padding-right",`${Ce}px`)},la=C=>{var xn,eu;const T=In.value;if(T){const xe=C==null?void 0:C.target;if(xe instanceof Node&&T.overlay.contains(xe))return;Ei(!0)}const M=zn.value;if(M){const xe=C==null?void 0:C.target;if(!xe||xe instanceof Node&&M.targetHeader.contains(xe))return;mn(!1)}let Q=null;if(C){const xe=C.target;Q=xe==null?void 0:xe.closest(".rm-page-header, .rm-first-page-header")}if(Q||(Q=(xn=O.value)==null?void 0:xn.view.dom.querySelector(".rm-first-page-header, .rm-page-header")),!Q||!O.value)return;const se=O.value.view.dom,de=Q.classList.contains("rm-first-page-header"),ye=Array.from(se.querySelectorAll(".rm-page-break .rm-page-header")),ve=de?1:ye.indexOf(Q)+2;if(!de&&ve<2)return;const me=Q.querySelector(".rm-page-header-content");me&&(me.style.visibility="hidden");const ue=document.createElement("div");ue.className="rm-header-edit-input",ue.contentEditable="true",ue.setAttribute("role","textbox"),ue.setAttribute("aria-label",o("editor.headerFooter.header")||"Header"),ue.dataset.placeholder=o("editor.headerFooter.headerPlaceholder")||"Header",ue.innerHTML=qh(ve);const le=document.createElement("div");le.className="rm-header-edit-overlay",le.appendChild(ue);const he=document.createElement("div");he.className="rm-google-docs-header-bar",he.innerHTML=`
15242
+ `," ")}}function R(){const I=A();return{before:(I==null?void 0:I.before)??"",after:(I==null?void 0:I.after)??"",...k.value}}async function _(){await s.nextTick(),m.value&&(m.value.scrollTop=m.value.scrollHeight)}async function E(I,N){const L=h.value;if(!L||c.value)return;p==null||p.abort(),p=new AbortController,c.value=!0,o.value.push({role:"user",text:N}),o.value.push({role:"assistant",text:"",streaming:!0});const D=o.value.length-1;await _();try{for await(const K of L(I,p.signal))o.value[D].text+=K,_();o.value[D].text||(o.value[D].text=r("sidebars.ai.emptyResponse"),o.value[D].error=!0)}catch(K){p.signal.aborted||(o.value[D].text=`${r("sidebars.ai.aiError")}: ${K instanceof Error?K.message:String(K)}`,o.value[D].error=!0)}finally{o.value[D].streaming=!1,c.value=!1,p=null,_()}}function z(){const I=l.value.trim();if(!I||c.value)return;if(l.value="",b.value){P({prompt:I,context:R()},I);return}const N=x.value;E({action:"chat",prompt:I,...N?{selection:N.text}:{},context:R()},I)}async function P(I,N){const L=g.value;if(!L||c.value)return;p==null||p.abort(),p=new AbortController,c.value=!0,o.value.push({role:"user",text:N}),o.value.push({role:"assistant",text:"",streaming:!0});const D=o.value.length-1;await _();try{for await(const K of L(I,p.signal))K.type==="delta"?(o.value[D].text+=K.text,_()):K.type==="done"?o.value[D].citations=K.citations:K.type==="error"&&(o.value[D].text=`${r("sidebars.ai.aiError")}: ${K.message}`,o.value[D].error=!0,o.value[D].citations=void 0);!o.value[D].text&&!o.value[D].error&&(o.value[D].text=r("sidebars.ai.emptyResponse"),o.value[D].error=!0)}catch(K){p.signal.aborted||(o.value[D].text=`${r("sidebars.ai.aiError")}: ${K instanceof Error?K.message:String(K)}`,o.value[D].error=!0,o.value[D].citations=void 0)}finally{o.value[D].streaming=!1,c.value=!1,p=null,_()}}function U(){b.value=!b.value,s.nextTick(()=>{const I=document.querySelector(".ai-sidebar textarea");I==null||I.focus()})}function V(I){if(c.value||!I.action)return;const N=x.value;I.needsSelection&&!N||E({action:I.action,...N?{selection:N.text}:{},...I.prompt?{prompt:I.prompt}:{},context:R()},I.prompt??I.label)}function B(){var I,N,L;x.value&&((L=(N=(I=a())==null?void 0:I.commands)==null?void 0:N.aiTransform)==null||L.call(N,{action:"rewrite"}))}const j=s.computed(()=>[{label:r("sidebars.ai.summarize"),icon:xr,color:"text-cyan-500",action:"summarize",needsSelection:!0},{label:r("sidebars.ai.fixGrammar"),icon:Cb,color:"text-emerald-500",action:"grammar",needsSelection:!0},{label:r("sidebars.ai.continue"),icon:A0,color:"text-amber-500",action:"generate",prompt:"Continue writing naturally from where the text ends, matching the existing style."},{label:r("sidebars.ai.toSpanish"),icon:bf,color:"text-cyan-500",action:"translate",prompt:"translate to Spanish",needsSelection:!0},{label:r("sidebars.ai.improveSelection"),icon:u0,color:"text-violet-500",improve:!0,needsSelection:!0},{label:r("sidebars.ai.draft"),icon:Va,color:"text-cyan-500",draft:!0,disabled:!g.value}]);function $(I,N){I.text&&(navigator.clipboard.writeText(I.text),u.value=N,setTimeout(()=>u.value=null,2e3))}function Y(I){f.value=I,setTimeout(()=>{f.value===I&&(f.value=null)},2e3)}function W(I,N){const L=a();if(!I.text||!L)return;const{state:D,view:K}=L,{from:ne,to:ee}=D.selection;if(!I.citations||I.citations.length===0){Kd(L,K,ne,ee,I.text),K.focus(),Y(N);return}const ie=Ui(L);if(!ie){Kd(L,K,ne,ee,W5(I.text)),K.focus(),Y(N);return}const G=new Map(I.citations.map(fe=>[fe.ref,fe])),H=G5(I.text,G,ie),q=D.schema,re=H.map(fe=>typeof fe=="string"?q.text(fe):q.nodeFromJSON(fe)).filter(fe=>!!fe),ce=new ae(J.from(re),0,0);K.dispatch(D.tr.replace(ne,ee,ce)),K.focus(),Y(N)}s.onMounted(()=>{s.nextTick(()=>{var I;(I=document.querySelector(".ai-sidebar textarea"))==null||I.focus()})});function oe(){p==null||p.abort(),c.value=!1,i("close")}return s.onUnmounted(()=>{var I;p==null||p.abort(),(I=a())==null||I.off("transaction",v)}),(I,N)=>{var L;return s.openBlock(),s.createElementBlock("div",K5,[s.createElementVNode("div",X5,[s.createElementVNode("div",null,[s.createElementVNode("h3",J5,[s.createVNode(s.unref(Un),{class:"h-4 w-4 animate-pulse text-cyan-400"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.ai.title")),1)]),s.createElementVNode("p",Z5,s.toDisplayString(s.unref(r)("sidebars.ai.description")),1)]),s.createElementVNode("button",{type:"button",class:"rounded-md p-1 text-slate-400 transition-colors hover:bg-slate-100 hover:text-slate-600 dark:hover:bg-white/5 dark:hover:text-slate-200","aria-label":s.unref(r)("sidebars.ai.close"),onClick:oe},[s.createVNode(s.unref(Wt),{class:"h-4 w-4"})],8,Q5)]),h.value?(s.openBlock(),s.createElementBlock(s.Fragment,{key:1},[s.createElementVNode("div",t6,[s.createElementVNode("span",n6,s.toDisplayString(s.unref(r)("sidebars.ai.quickMacros")),1),s.createElementVNode("div",i6,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(j.value,D=>(s.openBlock(),s.createElementBlock("button",{key:D.label,type:"button",disabled:c.value||D.needsSelection&&!x.value||"disabled"in D&&D.disabled,title:D.needsSelection&&!x.value?s.unref(r)("sidebars.ai.selectTextFirst"):D.label,class:s.normalizeClass(["flex items-center gap-1.5 rounded-lg border px-2.5 py-1.5 text-left text-[11px] font-bold transition-colors disabled:opacity-40","draft"in D&&D.draft&&b.value?"border-cyan-500 bg-cyan-500/10 text-cyan-700 dark:border-cyan-400/50 dark:bg-cyan-500/15 dark:text-cyan-300":"border-slate-200 bg-slate-50 text-slate-700 hover:border-cyan-500/50 dark:border-white/10 dark:bg-white/[0.02] dark:text-slate-300 dark:hover:border-cyan-500/30"]),onClick:K=>D.improve?B():"draft"in D&&D.draft?U():V(D)},[(s.openBlock(),s.createBlock(s.resolveDynamicComponent(D.icon),{class:s.normalizeClass(["h-3 w-3",D.color])},null,8,["class"])),s.createElementVNode("span",null,s.toDisplayString(D.label),1)],10,r6))),128))])]),s.createElementVNode("div",{ref_key:"turnsEl",ref:m,class:"flex-1 space-y-3 overflow-y-auto p-4"},[o.value.length===0?(s.openBlock(),s.createElementBlock("div",a6,[s.createVNode(s.unref(Un),{class:"mb-2 h-6 w-6 text-cyan-500 opacity-30"}),s.createElementVNode("p",o6,s.toDisplayString(s.unref(r)("sidebars.ai.noDraft")),1)])):s.createCommentVNode("",!0),(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(o.value,(D,K)=>(s.openBlock(),s.createElementBlock("div",{key:K,class:s.normalizeClass(["flex flex-col gap-1",D.role==="user"?"items-end":"items-start"])},[s.createElementVNode("span",s6,[D.role==="user"?(s.openBlock(),s.createBlock(s.unref(jl),{key:0,class:"h-2.5 w-2.5"})):(s.openBlock(),s.createBlock(s.unref(Un),{key:1,class:"h-2.5 w-2.5 text-cyan-400"})),s.createTextVNode(" "+s.toDisplayString(D.role==="user"?s.unref(r)("sidebars.ai.you"):s.unref(r)("sidebars.ai.assistant")),1)]),s.createElementVNode("div",{class:s.normalizeClass(["max-w-full whitespace-pre-wrap rounded-xl px-3 py-2 text-xs leading-relaxed",[D.role==="user"?"bg-cyan-500/10 text-slate-700 dark:bg-cyan-500/15 dark:text-slate-200":D.error?"bg-red-50 text-red-700 dark:bg-red-500/10 dark:text-red-300":"bg-slate-100 text-slate-700 dark:bg-white/[0.04] dark:text-slate-300"]])},[s.createTextVNode(s.toDisplayString(D.text),1),D.streaming?(s.openBlock(),s.createElementBlock("span",l6,"▌")):s.createCommentVNode("",!0)],2),D.role==="assistant"&&D.citations&&D.citations.length>0?(s.openBlock(),s.createElementBlock("div",c6,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(D.citations,ne=>(s.openBlock(),s.createElementBlock("span",{key:ne.ref,class:"inline-flex items-center gap-1 rounded-full border border-cyan-500/30 bg-cyan-500/5 px-2 py-0.5 text-[10px] font-semibold text-cyan-700 dark:border-cyan-400/30 dark:bg-cyan-500/10 dark:text-cyan-300"},[s.createVNode(s.unref(Va),{class:"h-2.5 w-2.5"}),s.createTextVNode(s.toDisplayString(ne.label),1)]))),128))])):s.createCommentVNode("",!0),D.role==="assistant"&&!D.streaming&&!D.error&&D.text?(s.openBlock(),s.createElementBlock("div",u6,[s.createElementVNode("button",{type:"button",class:"flex items-center gap-1 rounded-lg border border-slate-200 bg-white px-2 py-1 text-[10px] font-semibold text-slate-600 transition-all hover:bg-slate-50 dark:border-white/10 dark:bg-white/[0.02] dark:text-slate-300 dark:hover:bg-white/5",onClick:ne=>$(D,K)},[(s.openBlock(),s.createBlock(s.resolveDynamicComponent(u.value===K?s.unref(Pa):s.unref(qs)),{class:s.normalizeClass(["h-3 w-3",u.value===K?"text-emerald-500":""])},null,8,["class"])),s.createElementVNode("span",null,s.toDisplayString(u.value===K?s.unref(r)("sidebars.ai.copied"):s.unref(r)("sidebars.ai.copy")),1)],8,d6),s.createElementVNode("button",{type:"button",class:"flex items-center gap-1 rounded-lg bg-cyan-500 px-2 py-1 text-[10px] font-bold text-black shadow-cyan transition-all hover:bg-cyan-400",onClick:ne=>W(D,K)},[(s.openBlock(),s.createBlock(s.resolveDynamicComponent(f.value===K?s.unref(Pa):s.unref(_b)),{class:"h-3 w-3"})),s.createElementVNode("span",null,s.toDisplayString(f.value===K?s.unref(r)("sidebars.ai.inserted"):s.unref(r)("sidebars.ai.insert")),1)],8,f6)])):s.createCommentVNode("",!0)],2))),128))],512),s.createElementVNode("div",p6,[w.value||S.value?(s.openBlock(),s.createElementBlock("div",m6,[s.createElementVNode("span",h6,s.toDisplayString(s.unref(r)("sidebars.ai.contextLabel")),1),s.createElementVNode("div",b6,[w.value?(s.openBlock(),s.createElementBlock("span",g6,[s.createVNode(s.unref(dt),{class:"h-2.5 w-2.5"}),s.createTextVNode(s.toDisplayString(w.value),1)])):s.createCommentVNode("",!0),S.value?(s.openBlock(),s.createElementBlock("span",{key:1,class:"inline-flex max-w-full items-center gap-1 truncate rounded-full border border-violet-500/30 bg-violet-500/5 px-2 py-0.5 text-[10px] font-semibold text-violet-700 dark:border-violet-400/30 dark:bg-violet-500/10 dark:text-violet-300",title:(L=x.value)==null?void 0:L.text},[s.createElementVNode("span",x6,s.toDisplayString(S.value),1)],8,v6)):s.createCommentVNode("",!0)])])):s.createCommentVNode("",!0),s.createElementVNode("form",{class:"space-y-2",onSubmit:s.withModifiers(z,["prevent"])},[s.withDirectives(s.createElementVNode("textarea",{"onUpdate:modelValue":N[0]||(N[0]=D=>l.value=D),rows:"2",disabled:c.value,placeholder:b.value?s.unref(r)("sidebars.ai.draftPlaceholder"):s.unref(r)("sidebars.ai.promptPlaceholder"),class:"w-full min-h-[55px] resize-none rounded-xl border border-slate-200 bg-white p-2.5 text-xs text-slate-800 transition-all focus:border-cyan-500/50 focus:shadow-cyan focus:outline-none disabled:opacity-60 dark:border-white/10 dark:bg-white/[0.02] dark:text-slate-100 dark:focus:border-cyan-500/30",onKeydown:s.withKeys(s.withModifiers(z,["exact","prevent"]),["enter"])},null,40,y6),[[s.vModelText,l.value]]),s.createElementVNode("div",k6,[s.createElementVNode("button",{type:"submit",disabled:c.value||!l.value.trim(),class:"flex items-center gap-1 rounded-lg bg-cyan-500 px-3.5 py-2 text-xs font-bold text-black shadow-cyan transition-all hover:bg-cyan-400 disabled:opacity-40"},[s.createVNode(s.unref(Ws),{class:"h-3.5 w-3.5"}),s.createTextVNode(" "+s.toDisplayString(b.value?s.unref(r)("sidebars.ai.promptDraft"):s.unref(r)("sidebars.ai.promptAI")),1)],8,w6)])],32)])],64)):(s.openBlock(),s.createElementBlock("div",Y5,[s.createVNode(s.unref(Un),{class:"mb-2 h-6 w-6 text-cyan-500 opacity-30"}),s.createElementVNode("p",e6,s.toDisplayString(s.unref(r)("sidebars.ai.notConfigured")),1)]))])}}}),_6={class:"comments-sidebar flex h-full w-80 flex-shrink-0 flex-col border-l border-slate-200 bg-white/80 text-slate-800 backdrop-blur-xl transition-all dark:border-white/5 dark:bg-[#0a0f1e]/85 dark:text-slate-100"},S6={class:"border-b border-slate-200 p-4 dark:border-white/5"},C6={class:"mb-3 flex items-center justify-between"},E6={class:"flex items-center gap-1.5 font-mono text-xs font-bold uppercase tracking-widest text-slate-500 dark:text-slate-400"},A6={class:"flex rounded-xl border border-slate-200 bg-slate-50 p-1 text-[11px] font-semibold dark:border-white/10 dark:bg-white/[0.02]"},T6={key:0,class:"mb-1 rounded-xl border border-cyan-500/25 bg-cyan-500/5 p-2.5 text-xs text-cyan-700 animate-fadeIn dark:border-cyan-500/15 dark:bg-cyan-500/10 dark:text-cyan-400"},N6={class:"mb-1 font-mono text-[9px] font-bold uppercase tracking-wider"},O6={class:"line-clamp-1 border-l-2 border-cyan-400 bg-cyan-500/10 py-0.5 pl-2.5 italic dark:bg-cyan-500/5"},M6={class:"flex-1 space-y-4 overflow-y-auto p-4"},D6={class:"flex items-start justify-between"},z6={class:"flex items-center gap-2"},I6={class:"text-xs font-bold text-slate-800 dark:text-slate-200"},R6={class:"font-mono text-[9px] text-slate-400 dark:text-slate-500"},L6={class:"flex items-center gap-1.5"},B6=["title","onClick"],P6=["title","onClick"],F6={key:0,class:"inline-flex items-center gap-1 rounded-full border border-amber-400/40 bg-amber-500/10 px-2 py-0.5 text-[10px] font-bold uppercase tracking-wider text-amber-600 dark:border-amber-500/30 dark:text-amber-400"},V6={class:"whitespace-pre-wrap break-words text-xs leading-relaxed text-slate-700 dark:text-slate-300"},U6={key:2,class:"space-y-2.5 border-l border-slate-200 pl-4 pt-1 dark:border-white/10"},H6={class:"flex items-center gap-1.5"},q6={class:"text-[10px] font-bold text-slate-600 dark:text-slate-300"},j6={class:"font-mono text-[8px] text-slate-400 dark:text-slate-500"},$6={class:"break-words pl-1 text-xs text-slate-600 dark:text-slate-400"},W6={key:3,class:"flex items-center justify-between border-t border-slate-100 pt-2 dark:border-white/5"},G6={key:0,class:"flex w-full items-center gap-1.5"},K6=["onUpdate:modelValue","placeholder","onKeydown"],X6=["onClick"],J6=["onClick"],Z6={key:4,class:"rounded-lg border border-green-100/40 bg-green-50/55 p-2 text-[10px] text-green-700 dark:border-green-500/10 dark:bg-green-950/10 dark:text-green-400"},Q6={key:0},Y6={key:0,class:"py-12 text-center text-slate-400 dark:text-slate-500"},eA={class:"text-xs"},tA={key:0,class:"border-t border-slate-200 bg-slate-50 p-4 dark:border-white/5 dark:bg-[#0a0f1e]/80"},nA=["placeholder"],iA={class:"flex items-center justify-between"},rA={class:"font-mono text-[9px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},aA=["disabled"],_h=s.defineComponent({__name:"CommentsSidebar",props:{comments:{},selectedTextSnippet:{},selectedTextIndex:{},orphanedIds:{}},emits:["add-comment","add-reply","resolve-comment","delete-comment"],setup(e,{emit:t}){const n=e,i=t,{t:r}=ht(),a=s.ref(""),o=s.ref({}),l=s.ref(null),c=s.ref("active"),u=s.computed(()=>(n.comments??[]).filter(b=>c.value==="resolved"?b.resolved:!b.resolved));function f(){a.value.trim()&&i("add-comment",a.value.trim(),n.selectedTextSnippet,n.selectedTextIndex)}function m(b){const y=o.value[b]||"";y.trim()&&(i("add-reply",b,y.trim()),o.value={...o.value,[b]:""},l.value=null)}function p(b){return b.split(" ").map(y=>y[0]).join("").slice(0,2).toUpperCase()}function h(b){var y;return((y=n.orphanedIds)==null?void 0:y.includes(b.id))===!0}function g(b){typeof window<"u"&&!window.confirm(r("sidebars.comments.confirmDelete"))||i("delete-comment",b)}return(b,y)=>(s.openBlock(),s.createElementBlock("div",_6,[s.createElementVNode("div",S6,[s.createElementVNode("div",C6,[s.createElementVNode("h3",E6,[s.createVNode(s.unref(wf),{class:"h-4 w-4 text-cyan-400"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.comments.title")),1)]),s.createElementVNode("div",A6,[s.createElementVNode("button",{type:"button",class:s.normalizeClass([c.value==="active"?"bg-cyan-500/15 text-cyan-600 dark:text-cyan-400 font-bold":"text-slate-400 hover:text-slate-600","rounded-lg px-2.5 py-1 transition-all"]),onClick:y[0]||(y[0]=v=>c.value="active")},s.toDisplayString(s.unref(r)("sidebars.comments.active")),3),s.createElementVNode("button",{type:"button",class:s.normalizeClass([c.value==="resolved"?"bg-cyan-500/15 text-cyan-600 dark:text-cyan-400 font-bold":"text-slate-400 hover:text-slate-600","rounded-lg px-2.5 py-1 transition-all"]),onClick:y[1]||(y[1]=v=>c.value="resolved")},s.toDisplayString(s.unref(r)("sidebars.comments.resolved")),3)])]),e.selectedTextSnippet?(s.openBlock(),s.createElementBlock("div",T6,[s.createElementVNode("p",N6,s.toDisplayString(s.unref(r)("sidebars.comments.creatingAnchored")),1),s.createElementVNode("p",O6,' "'+s.toDisplayString(e.selectedTextSnippet)+'" ',1)])):s.createCommentVNode("",!0)]),s.createElementVNode("div",M6,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(u.value,v=>(s.openBlock(),s.createElementBlock("div",{key:v.id,class:"relative space-y-3 rounded-2xl border border-slate-200/60 bg-slate-50/60 p-4 transition-all hover:border-cyan-500/30 hover:shadow-cyan dark:border-white/5 dark:bg-[#02040a]/40"},[s.createElementVNode("div",D6,[s.createElementVNode("div",z6,[s.createElementVNode("div",{class:"flex h-6 w-6 items-center justify-center rounded-full text-[10px] font-bold text-white shadow-sm",style:s.normalizeStyle({backgroundColor:v.authorColor})},s.toDisplayString(p(v.authorName)),5),s.createElementVNode("div",null,[s.createElementVNode("h4",I6,s.toDisplayString(v.authorName),1),s.createElementVNode("p",R6,s.toDisplayString(new Date(v.createdAt).toLocaleTimeString()),1)])]),s.createElementVNode("div",L6,[v.resolved?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("button",{key:0,type:"button",class:"rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-green-500/10 hover:text-green-500",title:s.unref(r)("sidebars.comments.resolve"),onClick:x=>i("resolve-comment",v.id)},[s.createVNode(s.unref(Mb),{class:"h-4 w-4"})],8,B6)),h(v)?(s.openBlock(),s.createElementBlock("button",{key:1,type:"button",class:"rounded-lg p-1.5 text-slate-400 transition-colors hover:bg-red-500/10 hover:text-red-500",title:s.unref(r)("sidebars.comments.delete"),onClick:x=>g(v.id)},[s.createVNode(s.unref(yr),{class:"h-4 w-4"})],8,P6)):s.createCommentVNode("",!0)])]),h(v)?(s.openBlock(),s.createElementBlock("div",F6,s.toDisplayString(s.unref(r)("sidebars.comments.orphaned")),1)):s.createCommentVNode("",!0),v.anchorText?(s.openBlock(),s.createElementBlock("div",{key:1,class:s.normalizeClass(["max-w-full truncate rounded-r-lg border-l-2 py-1 pl-2.5 text-[10px] italic text-slate-500 dark:text-slate-400",h(v)?"border-amber-500/50 bg-amber-50/50 line-through opacity-70 dark:border-amber-500/40 dark:bg-amber-500/5":"border-cyan-500/50 bg-slate-100 dark:border-cyan-500/40 dark:bg-white/5"])},s.toDisplayString(s.unref(r)("sidebars.comments.quote"))+' "'+s.toDisplayString(v.anchorText)+'" ',3)):s.createCommentVNode("",!0),s.createElementVNode("p",V6,s.toDisplayString(v.content),1),v.replies.length>0?(s.openBlock(),s.createElementBlock("div",U6,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(v.replies,x=>(s.openBlock(),s.createElementBlock("div",{key:x.id,class:"space-y-1"},[s.createElementVNode("div",H6,[s.createElementVNode("div",{class:"flex h-4.5 w-4.5 items-center justify-center rounded-full text-[8px] font-bold text-white shadow-sm",style:s.normalizeStyle({backgroundColor:x.authorColor})},s.toDisplayString(p(x.authorName)),5),s.createElementVNode("span",q6,s.toDisplayString(x.authorName),1),s.createElementVNode("span",j6,s.toDisplayString(new Date(x.createdAt).toLocaleTimeString()),1)]),s.createElementVNode("p",$6,s.toDisplayString(x.content),1)]))),128))])):s.createCommentVNode("",!0),v.resolved?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("div",W6,[l.value===v.id?(s.openBlock(),s.createElementBlock("div",G6,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":x=>o.value[v.id]=x,type:"text",placeholder:s.unref(r)("sidebars.comments.reply"),class:"flex-1 rounded-lg border border-slate-200 bg-white px-2.5 py-1.5 text-xs text-slate-800 focus:border-cyan-500/50 focus:outline-none dark:border-white/10 dark:bg-white/[0.02] dark:text-slate-100 dark:focus:border-cyan-500/30",onKeydown:s.withKeys(x=>m(v.id),["enter"])},null,40,K6),[[s.vModelText,o.value[v.id]]]),s.createElementVNode("button",{type:"button",class:"rounded-lg bg-cyan-500 p-1.5 font-bold text-black shadow-cyan hover:bg-cyan-400",onClick:x=>m(v.id)},[s.createVNode(s.unref(Ws),{class:"h-3.5 w-3.5"})],8,X6)])):(s.openBlock(),s.createElementBlock("button",{key:1,type:"button",class:"flex items-center gap-1 text-[10px] font-bold text-cyan-600 transition-all hover:text-cyan-500",onClick:x=>l.value=v.id},[s.createVNode(s.unref(m0),{class:"h-3 w-3"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.comments.replyInThread")),1)],8,J6))])),v.resolved?(s.openBlock(),s.createElementBlock("div",Z6,[s.createTextVNode(s.toDisplayString(s.unref(r)("sidebars.comments.resolvedBy").replace("{user}",v.resolvedByName||v.resolvedBy||"You"))+" ",1),v.resolvedAt?(s.openBlock(),s.createElementBlock("span",Q6,"at "+s.toDisplayString(new Date(v.resolvedAt).toLocaleTimeString()),1)):s.createCommentVNode("",!0)])):s.createCommentVNode("",!0)]))),128)),u.value.length===0?(s.openBlock(),s.createElementBlock("div",Y6,[s.createVNode(s.unref(i0),{class:"mx-auto mb-2 h-8 w-8 text-cyan-500 opacity-50"}),s.createElementVNode("p",eA,s.toDisplayString(s.unref(r)("sidebars.comments.noComments").replace("{mode}",c.value)),1)])):s.createCommentVNode("",!0)]),c.value==="active"?(s.openBlock(),s.createElementBlock("div",tA,[s.createElementVNode("form",{class:"space-y-2",onSubmit:s.withModifiers(f,["prevent"])},[s.withDirectives(s.createElementVNode("textarea",{"onUpdate:modelValue":y[2]||(y[2]=v=>a.value=v),rows:"2",placeholder:e.selectedTextSnippet?s.unref(r)("sidebars.comments.commentOnSelection"):s.unref(r)("sidebars.comments.generalComment"),class:"w-full min-h-[60px] resize-none rounded-xl border border-slate-200 bg-white p-2.5 text-xs text-slate-800 transition-all focus:border-cyan-500/50 focus:shadow-cyan focus:outline-none dark:border-white/10 dark:bg-white/[0.02] dark:text-slate-100 dark:focus:border-cyan-500/30"},null,8,nA),[[s.vModelText,a.value]]),s.createElementVNode("div",iA,[s.createElementVNode("span",rA,s.toDisplayString(e.selectedTextSnippet?s.unref(r)("sidebars.comments.anchoredComment"):s.unref(r)("sidebars.comments.general")),1),s.createElementVNode("button",{type:"submit",disabled:!a.value.trim(),class:"flex items-center gap-1 rounded-lg bg-cyan-500 px-3.5 py-2 text-xs font-bold text-black shadow-cyan transition-all hover:bg-cyan-400 disabled:opacity-50"},[s.createVNode(s.unref(Ws),{class:"h-3.5 w-3.5"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.comments.post")),1)],8,aA)])],32)])):s.createCommentVNode("",!0)]))}}),oA={class:"history-sidebar flex h-full w-80 flex-shrink-0 flex-col border-l border-slate-200 bg-white/80 text-slate-800 backdrop-blur-xl transition-all dark:border-white/5 dark:bg-[#0a0f1e]/85 dark:text-slate-100"},sA={class:"border-b border-slate-200 p-4 dark:border-white/5"},lA={class:"flex items-center gap-1.5 font-mono text-xs font-bold uppercase tracking-widest text-slate-500 dark:text-slate-400"},cA={class:"mt-1.5 text-[10px] leading-relaxed text-slate-400 dark:text-slate-500"},uA={class:"flex-1 space-y-3 overflow-y-auto p-4"},dA={key:0,class:"space-y-2 rounded-2xl border border-amber-500/30 bg-amber-500/10 p-3.5 text-xs animate-fadeIn dark:border-amber-500/20"},fA={class:"flex items-start gap-1.5 text-amber-700 dark:text-amber-400"},pA={class:"font-bold"},mA={class:"mt-0.5 text-[10px] leading-relaxed text-amber-600 dark:text-amber-500"},hA={class:"flex justify-end gap-2 pt-1"},bA={class:"space-y-2.5"},gA={class:"mb-1 flex items-center justify-between"},vA={class:"rounded-md bg-slate-200 px-1.5 py-0.5 font-mono text-[9px] font-bold text-slate-500 dark:bg-cyan-500/10 dark:text-cyan-400"},xA={class:"flex items-center gap-0.5 font-mono text-[9px] text-slate-400 dark:text-slate-500"},yA={class:"text-xs font-bold leading-snug text-slate-800 dark:text-slate-200"},kA={class:"flex items-center gap-1.5 text-[10px] text-slate-500"},wA={class:"font-semibold text-slate-600 dark:text-slate-300"},_A={class:"flex justify-end gap-2 border-t border-slate-200/50 pt-2 dark:border-white/5"},SA=["onClick"],CA=["onClick"],EA={key:0,class:"py-6 text-center text-xs text-slate-400 dark:text-slate-500"},AA={class:"border-t border-slate-200 bg-slate-50 p-4 dark:border-white/5 dark:bg-[#0a0f1e]/85"},TA=["placeholder"],NA={class:"flex justify-end gap-2"},OA={type:"submit",class:"rounded-lg bg-cyan-500 px-3.5 py-1.5 text-xs font-bold text-black shadow-cyan hover:bg-cyan-400"},Sh=s.defineComponent({__name:"HistorySidebar",props:{snapshots:{},activePreviewIndex:{}},emits:["save-snapshot","restore-snapshot","preview-snapshot"],setup(e,{emit:t}){const n=e,i=t,{t:r}=ht(),a=s.ref(""),o=s.ref(!1);function l(){a.value.trim()&&(i("save-snapshot",a.value.trim()),a.value="",o.value=!1)}const c=s.computed(()=>n.snapshots??[]);return(u,f)=>(s.openBlock(),s.createElementBlock("div",oA,[s.createElementVNode("div",sA,[s.createElementVNode("h3",lA,[s.createVNode(s.unref(Fl),{class:"h-4 w-4 text-cyan-400"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.history.title")),1)]),s.createElementVNode("p",cA,s.toDisplayString(s.unref(r)("sidebars.history.empty")),1)]),s.createElementVNode("div",uA,[e.activePreviewIndex!==null?(s.openBlock(),s.createElementBlock("div",dA,[s.createElementVNode("div",fA,[s.createVNode(s.unref(k0),{class:"mt-0.5 h-4 w-4 flex-shrink-0 text-amber-500"}),s.createElementVNode("div",null,[s.createElementVNode("p",pA,s.toDisplayString(s.unref(r)("sidebars.history.viewingPreview")),1),s.createElementVNode("p",mA,s.toDisplayString(s.unref(r)("sidebars.history.readOnlyPreview").replace("{index}",String(e.activePreviewIndex))),1)])]),s.createElementVNode("div",hA,[s.createElementVNode("button",{type:"button",class:"rounded-lg px-2.5 py-1 text-[10px] font-semibold text-slate-500 hover:bg-white/5 hover:text-slate-700 dark:text-slate-400",onClick:f[0]||(f[0]=m=>i("preview-snapshot",null))},s.toDisplayString(s.unref(r)("sidebars.history.closePreview")),1),s.createElementVNode("button",{type:"button",class:"flex items-center gap-1 rounded-lg bg-cyan-500 px-3 py-1 text-[10px] font-bold text-black shadow-cyan transition-all hover:bg-cyan-400",onClick:f[1]||(f[1]=()=>{i("restore-snapshot",e.activePreviewIndex),i("preview-snapshot",null)})},[s.createVNode(s.unref(uu),{class:"h-3 w-3"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.history.restoreThis")),1)])])])):s.createCommentVNode("",!0),s.createElementVNode("div",bA,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(c.value,m=>(s.openBlock(),s.createElementBlock("div",{key:m.versionIndex,class:s.normalizeClass(["space-y-2.5 rounded-2xl border p-4 transition-all",e.activePreviewIndex===m.versionIndex?"border-cyan-500/40 bg-cyan-500/5 shadow-cyan dark:border-cyan-500/30":"border-slate-200/60 bg-slate-50/60 hover:border-cyan-500/30 dark:border-white/5 dark:bg-[#02040a]/40 dark:hover:border-white/10"])},[s.createElementVNode("div",null,[s.createElementVNode("div",gA,[s.createElementVNode("span",vA,s.toDisplayString(s.unref(r)("sidebars.history.version"))+" #"+s.toDisplayString(m.versionIndex),1),s.createElementVNode("span",xA,[s.createVNode(s.unref(Pl),{class:"h-2.5 w-2.5"}),s.createTextVNode(" "+s.toDisplayString(new Date(m.timestamp).toLocaleDateString())+" "+s.toDisplayString(new Date(m.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})),1)])]),s.createElementVNode("h4",yA,s.toDisplayString(m.title),1)]),s.createElementVNode("div",kA,[s.createVNode(s.unref(jl),{class:"h-3.5 w-3.5"}),s.createElementVNode("span",null,[s.createTextVNode(s.toDisplayString(s.unref(r)("sidebars.history.modifiedBy"))+" ",1),s.createElementVNode("strong",wA,s.toDisplayString(m.modifiedBy),1)])]),s.createElementVNode("div",_A,[e.activePreviewIndex!==m.versionIndex?(s.openBlock(),s.createElementBlock("button",{key:0,type:"button",class:"flex items-center gap-1 text-[10px] font-bold text-slate-500 transition-colors hover:text-cyan-600 dark:text-slate-400 dark:hover:text-cyan-400",onClick:p=>i("preview-snapshot",m)},[s.createVNode(s.unref(Bb),{class:"h-3 w-3"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.history.preview")),1)],8,SA)):s.createCommentVNode("",!0),s.createElementVNode("button",{type:"button",class:"flex items-center gap-1 text-[10px] font-bold text-cyan-600 transition-colors hover:text-cyan-500 dark:text-cyan-400 dark:hover:text-cyan-300",onClick:p=>i("restore-snapshot",m.versionIndex)},[s.createVNode(s.unref(uu),{class:"h-3 w-3"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.history.restore")),1)],8,CA)])],2))),128)),c.value.length===0?(s.openBlock(),s.createElementBlock("p",EA,s.toDisplayString(s.unref(r)("sidebars.history.noSnapshots")),1)):s.createCommentVNode("",!0)])]),s.createElementVNode("div",AA,[o.value?(s.openBlock(),s.createElementBlock("form",{key:0,class:"space-y-2 animate-fadeIn",onSubmit:s.withModifiers(l,["prevent"])},[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":f[2]||(f[2]=m=>a.value=m),type:"text",required:"",placeholder:s.unref(r)("sidebars.history.snapshotPlaceholder"),class:"w-full rounded-xl border border-slate-200 bg-white px-2.5 py-1.5 text-xs text-slate-800 transition-all focus:border-cyan-500/50 focus:shadow-cyan focus:outline-none dark:border-white/10 dark:bg-white/[0.02] dark:text-slate-100 dark:focus:border-cyan-500/30"},null,8,TA),[[s.vModelText,a.value]]),s.createElementVNode("div",NA,[s.createElementVNode("button",{type:"button",class:"rounded-lg px-2.5 py-1 text-[10px] text-slate-500 hover:bg-white/5 dark:text-slate-400",onClick:f[3]||(f[3]=m=>o.value=!1)},s.toDisplayString(s.unref(r)("sidebars.history.cancel")),1),s.createElementVNode("button",OA,s.toDisplayString(s.unref(r)("sidebars.history.save")),1)])],32)):(s.openBlock(),s.createElementBlock("button",{key:1,type:"button",class:"flex w-full items-center justify-center gap-1.5 rounded-xl border border-dashed border-slate-300 py-2.5 text-xs font-bold text-slate-500 transition-all hover:border-cyan-500 hover:bg-cyan-500/5 hover:text-cyan-500 dark:border-white/10 dark:text-slate-400 dark:hover:border-cyan-400/50 dark:hover:text-cyan-400",onClick:f[4]||(f[4]=m=>o.value=!0)},[s.createVNode(s.unref(b0),{class:"h-3.5 w-3.5 animate-pulse"}),s.createTextVNode(" "+s.toDisplayString(s.unref(r)("sidebars.history.saveNamedSnapshot")),1)]))])]))}}),MA={class:"w-full max-w-md rounded-xl border border-slate-200 bg-white p-6 shadow-2xl dark:border-slate-800 dark:bg-[#0e1525]"},DA={class:"mb-4 flex items-center justify-between"},zA={class:"text-lg font-bold text-slate-800 dark:text-slate-100"},IA={key:0,class:"space-y-4"},RA={class:"flex items-start gap-3"},LA={class:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-cyan-500/10 text-cyan-600 dark:text-cyan-400"},BA={class:"text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},PA={class:"text-sm font-medium text-slate-800 dark:text-slate-200"},FA={class:"flex items-start gap-3"},VA={class:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-blue-500/10 text-blue-600 dark:text-blue-400"},UA={class:"text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},HA={class:"text-sm font-medium text-slate-800 dark:text-slate-200"},qA={class:"text-xs text-slate-500 dark:text-slate-400"},jA={class:"flex items-start gap-3"},$A={class:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-amber-500/10 text-amber-600 dark:text-amber-400"},WA={class:"text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},GA={class:"text-sm font-medium text-slate-800 dark:text-slate-200"},KA={class:"grid grid-cols-2 gap-3"},XA={class:"flex items-start gap-3"},JA={class:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-emerald-500/10 text-emerald-600 dark:text-emerald-400"},ZA={class:"text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},QA={class:"text-xs font-medium text-slate-800 dark:text-slate-200"},YA={class:"flex items-start gap-3"},e8={class:"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-purple-500/10 text-purple-600 dark:text-purple-400"},t8={class:"text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},n8={class:"text-xs font-medium text-slate-800 dark:text-slate-200"},i8={class:"rounded-lg border border-slate-200 bg-slate-50 p-4 dark:border-slate-700/50 dark:bg-white/5"},r8={class:"mb-2 flex items-center gap-2 text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500"},a8={class:"grid grid-cols-3 gap-3 text-center"},o8={class:"text-lg font-bold text-slate-800 dark:text-slate-100"},s8={class:"text-[10px] uppercase tracking-wide text-slate-500 dark:text-slate-400"},l8={class:"text-lg font-bold text-slate-800 dark:text-slate-100"},c8={class:"text-[10px] uppercase tracking-wide text-slate-500 dark:text-slate-400"},u8={class:"text-lg font-bold text-slate-800 dark:text-slate-100"},d8={class:"text-[10px] uppercase tracking-wide text-slate-500 dark:text-slate-400"},f8={key:1,class:"py-8 text-center text-sm text-slate-500 dark:text-slate-400"},Ch=s.defineComponent({__name:"DetailsDialog",props:{isOpen:{type:Boolean},meta:{}},emits:["close"],setup(e,{emit:t}){const{t:n}=ht(),i=t;function r(a){return a?new Date(a).toLocaleString():"-"}return(a,o)=>e.isOpen?(s.openBlock(),s.createElementBlock("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-slate-900/50 p-4 backdrop-blur-sm",onClick:o[1]||(o[1]=s.withModifiers(l=>i("close"),["self"]))},[s.createElementVNode("div",MA,[s.createElementVNode("div",DA,[s.createElementVNode("h2",zA,s.toDisplayString(s.unref(n)("editor.details.title")),1),s.createElementVNode("button",{type:"button",class:"rounded p-1 text-slate-400 transition hover:bg-slate-100 hover:text-slate-600 dark:hover:bg-white/5 dark:hover:text-slate-300",onClick:o[0]||(o[0]=l=>i("close"))},[s.createVNode(s.unref(Wt),{class:"h-4 w-4"})])]),e.meta?(s.openBlock(),s.createElementBlock("div",IA,[s.createElementVNode("div",RA,[s.createElementVNode("div",LA,[s.createVNode(s.unref(dt),{class:"h-4 w-4"})]),s.createElementVNode("div",null,[s.createElementVNode("label",BA,s.toDisplayString(s.unref(n)("editor.details.titleLabel")),1),s.createElementVNode("p",PA,s.toDisplayString(e.meta.title),1)])]),s.createElementVNode("div",FA,[s.createElementVNode("div",VA,[s.createVNode(s.unref(jl),{class:"h-4 w-4"})]),s.createElementVNode("div",null,[s.createElementVNode("label",UA,s.toDisplayString(s.unref(n)("editor.details.owner")),1),s.createElementVNode("p",HA,s.toDisplayString(e.meta.owner.name),1),s.createElementVNode("p",qA,s.toDisplayString(e.meta.owner.email),1)])]),s.createElementVNode("div",jA,[s.createElementVNode("div",$A,[s.createVNode(s.unref(Ub),{class:"h-4 w-4"})]),s.createElementVNode("div",null,[s.createElementVNode("label",WA,s.toDisplayString(s.unref(n)("editor.details.location")),1),s.createElementVNode("p",GA,s.toDisplayString(e.meta.folderName||s.unref(n)("editor.details.noFolder")),1)])]),s.createElementVNode("div",KA,[s.createElementVNode("div",XA,[s.createElementVNode("div",JA,[s.createVNode(s.unref(Pl),{class:"h-4 w-4"})]),s.createElementVNode("div",null,[s.createElementVNode("label",ZA,s.toDisplayString(s.unref(n)("editor.details.created")),1),s.createElementVNode("p",QA,s.toDisplayString(r(e.meta.createdAt)),1)])]),s.createElementVNode("div",YA,[s.createElementVNode("div",e8,[s.createVNode(s.unref(zb),{class:"h-4 w-4"})]),s.createElementVNode("div",null,[s.createElementVNode("label",t8,s.toDisplayString(s.unref(n)("editor.details.modified")),1),s.createElementVNode("p",n8,s.toDisplayString(r(e.meta.updatedAt)),1)])])]),s.createElementVNode("div",i8,[s.createElementVNode("div",r8,[s.createVNode(s.unref(Fa),{class:"h-3.5 w-3.5"}),s.createTextVNode(" "+s.toDisplayString(s.unref(n)("editor.details.statistics")),1)]),s.createElementVNode("div",a8,[s.createElementVNode("div",null,[s.createElementVNode("p",o8,s.toDisplayString(e.meta.wordCount),1),s.createElementVNode("p",s8,s.toDisplayString(s.unref(n)("editor.details.words")),1)]),s.createElementVNode("div",null,[s.createElementVNode("p",l8,s.toDisplayString(e.meta.charCount),1),s.createElementVNode("p",c8,s.toDisplayString(s.unref(n)("editor.details.characters")),1)]),s.createElementVNode("div",null,[s.createElementVNode("p",u8,s.toDisplayString(e.meta.pageCount),1),s.createElementVNode("p",d8,s.toDisplayString(s.unref(n)("editor.details.pages")),1)])])])])):(s.openBlock(),s.createElementBlock("div",f8,s.toDisplayString(s.unref(n)("editor.details.loading")),1))])])):s.createCommentVNode("",!0)}}),p8={class:"w-full max-w-md rounded-xl border border-slate-200 bg-white p-6 shadow-2xl dark:border-slate-800 dark:bg-[#0e1525]"},m8={class:"mb-4 flex items-center justify-between"},h8={class:"flex items-center gap-2"},b8={class:"flex h-8 w-8 items-center justify-center rounded-lg bg-cyan-500/10 text-cyan-600 dark:text-cyan-400"},g8={class:"text-lg font-bold text-slate-800 dark:text-slate-100"},v8={class:"mb-4 rounded-md border border-slate-200 bg-slate-50 p-3 dark:border-slate-700/50 dark:bg-white/5"},x8={class:"mb-1 block text-[11px] font-bold uppercase tracking-wide text-slate-500 dark:text-slate-400"},y8={class:"flex items-center gap-2"},k8=["value"],w8=["title"],_8={class:"space-y-3"},S8={class:"mb-1 block text-xs font-medium text-slate-600 dark:text-slate-400"},C8=["placeholder"],E8={class:"mb-1 block text-xs font-medium text-slate-600 dark:text-slate-400"},A8={class:"mb-1 block text-xs font-medium text-slate-600 dark:text-slate-400"},T8={class:"mt-5 flex justify-end gap-2"},N8=["href"],Eh=s.defineComponent({__name:"EmailDialog",props:{isOpen:{type:Boolean},documentTitle:{},shareUrl:{},defaultRecipient:{}},emits:["close","copy-link"],setup(e,{emit:t}){const{t:n}=ht(),i=e,r=t,a=s.ref(i.defaultRecipient||""),o=s.ref(""),l=s.ref(""),c=s.ref(!1),u=s.ref(!1),f=s.computed(()=>n("editor.email.defaultSubject",{title:i.documentTitle})),m=s.computed(()=>n("editor.email.defaultBody",{url:i.shareUrl})),p=s.computed(()=>o.value===f.value),h=s.computed(()=>l.value===m.value);s.watch(()=>i.documentTitle,()=>{o.value=f.value},{immediate:!0}),s.watch(()=>i.shareUrl,()=>{l.value=m.value},{immediate:!0});const g=s.computed(()=>{const v=new URLSearchParams;o.value.trim()&&v.set("subject",o.value.trim()),l.value.trim()&&v.set("body",l.value.trim());const x=v.toString();let k=`mailto:${a.value.trim()}`;return x&&(k+=`?${x}`),k});function b(){r("copy-link")}function y(){a.value=i.defaultRecipient||"",o.value=f.value,l.value=m.value,c.value=!1,u.value=!1}return s.watch(()=>i.isOpen,v=>{v&&y()}),(v,x)=>e.isOpen?(s.openBlock(),s.createElementBlock("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-slate-900/50 p-4 backdrop-blur-sm",onClick:x[10]||(x[10]=s.withModifiers(k=>r("close"),["self"]))},[s.createElementVNode("div",p8,[s.createElementVNode("div",m8,[s.createElementVNode("div",h8,[s.createElementVNode("div",b8,[s.createVNode(s.unref(js),{class:"h-4 w-4"})]),s.createElementVNode("h2",g8,s.toDisplayString(s.unref(n)("editor.email.title")),1)]),s.createElementVNode("button",{type:"button",class:"rounded p-1 text-slate-400 transition hover:bg-slate-100 hover:text-slate-600 dark:hover:bg-white/5 dark:hover:text-slate-300",onClick:x[0]||(x[0]=k=>r("close"))},[s.createVNode(s.unref(Wt),{class:"h-4 w-4"})])]),s.createElementVNode("div",v8,[s.createElementVNode("label",x8,s.toDisplayString(s.unref(n)("editor.email.shareableLink")),1),s.createElementVNode("div",y8,[s.createElementVNode("input",{type:"text",value:e.shareUrl,readonly:"",class:"flex-1 rounded-md border border-slate-300 bg-white px-2 py-1.5 text-xs text-slate-700 dark:border-slate-600 dark:bg-slate-900 dark:text-slate-300"},null,8,k8),s.createElementVNode("button",{type:"button",class:"flex h-7 w-7 items-center justify-center rounded-md border border-slate-300 text-slate-500 transition hover:bg-slate-100 dark:border-slate-600 dark:text-slate-400 dark:hover:bg-slate-700",title:s.unref(n)("editor.email.copyLink"),onClick:b},[s.createVNode(s.unref(Ul),{class:"h-3.5 w-3.5"})],8,w8)])]),s.createElementVNode("div",_8,[s.createElementVNode("div",null,[s.createElementVNode("label",S8,s.toDisplayString(s.unref(n)("editor.email.to")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":x[1]||(x[1]=k=>a.value=k),type:"email",class:"w-full rounded-md border border-slate-300 bg-white px-3 py-2 text-xs text-slate-700 focus:border-cyan-500 focus:outline-none dark:border-slate-600 dark:bg-slate-900 dark:text-slate-300",placeholder:s.unref(n)("editor.email.toPlaceholder")},null,8,C8),[[s.vModelText,a.value]])]),s.createElementVNode("div",null,[s.createElementVNode("label",E8,s.toDisplayString(s.unref(n)("editor.email.subject")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":x[2]||(x[2]=k=>o.value=k),type:"text",class:s.normalizeClass(["w-full rounded-md border border-slate-300 bg-white px-3 py-2 text-xs focus:border-cyan-500 focus:outline-none dark:border-slate-600 dark:bg-slate-900",p.value&&!c.value?"text-slate-400 dark:text-slate-500":"text-slate-700 dark:text-slate-300"]),onFocus:x[3]||(x[3]=k=>c.value=!0),onBlur:x[4]||(x[4]=k=>c.value=!1)},null,34),[[s.vModelText,o.value]])]),s.createElementVNode("div",null,[s.createElementVNode("label",A8,s.toDisplayString(s.unref(n)("editor.email.body")),1),s.withDirectives(s.createElementVNode("textarea",{"onUpdate:modelValue":x[5]||(x[5]=k=>l.value=k),rows:"4",class:s.normalizeClass(["w-full resize-none rounded-md border border-slate-300 bg-white px-3 py-2 text-xs focus:border-cyan-500 focus:outline-none dark:border-slate-600 dark:bg-slate-900",h.value&&!u.value?"text-slate-400 dark:text-slate-500":"text-slate-700 dark:text-slate-300"]),onFocus:x[6]||(x[6]=k=>u.value=!0),onBlur:x[7]||(x[7]=k=>u.value=!1)},null,34),[[s.vModelText,l.value]])])]),s.createElementVNode("div",T8,[s.createElementVNode("button",{type:"button",class:"rounded-md px-3 py-1.5 text-xs font-semibold text-slate-700 transition hover:bg-slate-100 dark:text-slate-300",onClick:x[8]||(x[8]=k=>r("close"))},s.toDisplayString(s.unref(n)("common.cancel")),1),s.createElementVNode("a",{href:g.value,class:"inline-flex rounded-md bg-cyan-600 px-3 py-1.5 text-xs font-semibold text-white transition hover:bg-cyan-700",onClick:x[9]||(x[9]=k=>r("close"))},s.toDisplayString(s.unref(n)("editor.email.send")),9,N8)])])])):s.createCommentVNode("",!0)}}),O8=["aria-label"],M8={class:"flex items-center gap-1.5"},D8=["placeholder"],z8={class:"w-16 flex-shrink-0 text-center text-[11px] text-slate-400 dark:text-slate-500"},I8=["disabled","title"],R8=["disabled","title"],L8=["title"],B8={class:"mt-2 flex items-center gap-1.5"},P8=["placeholder","onKeydown"],F8=["disabled"],V8=["disabled"],U8=s.defineComponent({__name:"FindReplaceDialog",props:{isOpen:{type:Boolean},editor:{}},emits:["close"],setup(e,{emit:t}){const{t:n}=ht(),i=e,r=t,a=s.ref(null),o=s.ref(""),l=s.ref(""),c=s.ref({query:"",matches:[],activeIndex:0}),u=s.computed(()=>{if(!o.value)return"";const{matches:x,activeIndex:k}=c.value;return x.length===0?n("editor.findReplace.noMatches"):n("editor.findReplace.matchCount",{current:k+1,total:x.length})}),f=()=>{i.editor&&(c.value=Ee.getSearchState(i.editor))};s.watch(()=>i.editor,(x,k)=>{k==null||k.off("transaction",f),x==null||x.on("transaction",f)}),s.watch(()=>i.isOpen,async x=>{var k,w;if(i.editor)if(x){const{from:S,to:A}=i.editor.state.selection;S!==A&&(o.value=i.editor.state.doc.textBetween(S,A," ")),m(),i.editor.on("transaction",f),await s.nextTick(),(k=a.value)==null||k.focus(),(w=a.value)==null||w.select()}else v()});function m(){i.editor&&(Ee.setSearchQuery(i.editor,o.value),f())}s.watch(o,m);function p(){i.editor&&Ee.searchNext(i.editor)}function h(){i.editor&&Ee.searchPrev(i.editor)}function g(){i.editor&&Ee.replaceCurrent(i.editor,l.value)}function b(){i.editor&&Ee.replaceAll(i.editor,l.value)}function y(x){x.key==="Enter"&&x.shiftKey?(x.preventDefault(),h()):x.key==="Enter"?(x.preventDefault(),p()):x.key==="Escape"&&(x.preventDefault(),v())}function v(){var x;i.editor&&Ee.clearSearch(i.editor),(x=i.editor)==null||x.off("transaction",f),o.value="",l.value="",c.value={query:"",matches:[],activeIndex:0},r("close")}return s.onUnmounted(()=>{var x;(x=i.editor)==null||x.off("transaction",f)}),(x,k)=>e.isOpen?(s.openBlock(),s.createElementBlock("div",{key:0,class:"absolute right-4 top-16 z-40 w-[340px] rounded-xl border border-slate-200 bg-white p-3 shadow-2xl dark:border-slate-700 dark:bg-[#0e1525]",role:"dialog","aria-label":s.unref(n)("editor.findReplace.title")},[s.createElementVNode("div",M8,[s.withDirectives(s.createElementVNode("input",{ref_key:"findInput",ref:a,"onUpdate:modelValue":k[0]||(k[0]=w=>o.value=w),type:"text",placeholder:s.unref(n)("editor.findReplace.findPlaceholder"),class:"min-w-0 flex-1 rounded-lg border border-slate-200 bg-transparent px-2.5 py-1.5 text-sm text-slate-800 focus:border-cyan-500 focus:outline-none dark:border-slate-600 dark:text-slate-100",onKeydown:y},null,40,D8),[[s.vModelText,o.value]]),s.createElementVNode("span",z8,s.toDisplayString(u.value),1),s.createElementVNode("button",{type:"button",class:"flex h-7 w-7 items-center justify-center rounded-md text-slate-500 transition-colors hover:bg-slate-100 disabled:opacity-30 dark:text-slate-400 dark:hover:bg-slate-800",disabled:c.value.matches.length===0,title:s.unref(n)("editor.findReplace.previous"),onClick:h},[s.createVNode(s.unref(Nb),{class:"h-4 w-4"})],8,I8),s.createElementVNode("button",{type:"button",class:"flex h-7 w-7 items-center justify-center rounded-md text-slate-500 transition-colors hover:bg-slate-100 disabled:opacity-30 dark:text-slate-400 dark:hover:bg-slate-800",disabled:c.value.matches.length===0,title:s.unref(n)("editor.findReplace.next"),onClick:p},[s.createVNode(s.unref(en),{class:"h-4 w-4"})],8,R8),s.createElementVNode("button",{type:"button",class:"flex h-7 w-7 items-center justify-center rounded-md text-slate-400 transition-colors hover:bg-slate-100 hover:text-slate-600 dark:hover:bg-slate-800",title:s.unref(n)("editor.findReplace.close"),onClick:v},[s.createVNode(s.unref(Wt),{class:"h-4 w-4"})],8,L8)]),s.createElementVNode("div",B8,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":k[1]||(k[1]=w=>l.value=w),type:"text",placeholder:s.unref(n)("editor.findReplace.replacePlaceholder"),class:"min-w-0 flex-1 rounded-lg border border-slate-200 bg-transparent px-2.5 py-1.5 text-sm text-slate-800 focus:border-cyan-500 focus:outline-none dark:border-slate-600 dark:text-slate-100",onKeydown:s.withKeys(s.withModifiers(g,["prevent"]),["enter"])},null,40,P8),[[s.vModelText,l.value]]),s.createElementVNode("button",{type:"button",class:"flex-shrink-0 rounded-lg border border-slate-200 px-2.5 py-1.5 text-xs font-semibold text-slate-600 transition-colors hover:bg-slate-50 disabled:opacity-30 dark:border-slate-600 dark:text-slate-300 dark:hover:bg-white/5",disabled:c.value.matches.length===0,onClick:g},s.toDisplayString(s.unref(n)("editor.findReplace.replace")),9,F8),s.createElementVNode("button",{type:"button",class:"flex-shrink-0 rounded-lg border border-slate-200 px-2.5 py-1.5 text-xs font-semibold text-slate-600 transition-colors hover:bg-slate-50 disabled:opacity-30 dark:border-slate-600 dark:text-slate-300 dark:hover:bg-white/5",disabled:c.value.matches.length===0,onClick:b},s.toDisplayString(s.unref(n)("editor.findReplace.replaceAll")),9,V8)])],8,O8)):s.createCommentVNode("",!0)}}),H8={class:"w-full max-w-md rounded-lg border border-slate-200 bg-white p-6 shadow-xl dark:border-slate-700 dark:bg-slate-800"},q8={class:"mb-4 flex items-center justify-between"},j8={class:"flex items-center gap-2 text-base font-semibold text-slate-900 dark:text-slate-100"},$8={class:"mb-4"},W8={class:"mb-1 block text-xs font-medium text-slate-600 dark:text-slate-400"},G8=["placeholder"],K8={class:"mb-2"},X8={class:"mb-1 block text-xs font-medium text-slate-600 dark:text-slate-400"},J8=["placeholder"],Z8={key:0,class:"mt-1 text-[11px] text-red-600 dark:text-red-400"},Q8={class:"flex items-center justify-end gap-2 pt-2"},Y8=s.defineComponent({__name:"LinkDialog",props:{isOpen:{type:Boolean},initialText:{},initialUrl:{},isEditing:{type:Boolean}},emits:["apply","remove","close"],setup(e,{emit:t}){const{t:n}=ht(),i=e,r=t,a=s.ref(""),o=s.ref(""),l=s.ref("");s.watch(()=>i.isOpen,g=>{g&&(a.value=i.initialText??"",o.value=i.initialUrl??"https://",l.value="")});function c(){const g=o.value.trim();if(!g)return l.value=n("editor.linkDialog.urlRequired"),!1;if(/^(\/|#|mailto:|tel:)/.test(g))return l.value="",!0;try{return new URL(g),l.value="",!0}catch{return l.value=n("editor.linkDialog.urlInvalid"),!1}}function u(g){const b=g.trim();return/^(\/|#|mailto:|tel:)/.test(b)||/^https?:\/\//i.test(b)?b:`https://${b}`}function f(){c()&&r("apply",{text:a.value.trim(),url:u(o.value)})}function m(){r("remove")}function p(){r("close")}function h(g){g.key==="Escape"&&p()}return(g,b)=>e.isOpen?(s.openBlock(),s.createElementBlock("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",onClick:s.withModifiers(p,["self"]),onKeydown:h},[s.createElementVNode("div",H8,[s.createElementVNode("div",q8,[s.createElementVNode("h3",j8,[s.createVNode(s.unref(Ul),{class:"h-5 w-5 text-slate-500 dark:text-slate-400"}),s.createTextVNode(" "+s.toDisplayString(e.isEditing?s.unref(n)("editor.linkDialog.editTitle"):s.unref(n)("editor.linkDialog.insertTitle")),1)]),s.createElementVNode("button",{type:"button",class:"rounded-md p-1 text-sm text-slate-400 transition-all hover:bg-slate-100 hover:text-slate-600 dark:hover:bg-slate-700 dark:hover:text-slate-300",onClick:p},[s.createVNode(s.unref(Wt),{class:"h-4 w-4"})])]),s.createElementVNode("div",$8,[s.createElementVNode("label",W8,s.toDisplayString(s.unref(n)("editor.linkDialog.text")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":b[0]||(b[0]=y=>a.value=y),type:"text",placeholder:s.unref(n)("editor.linkDialog.textPlaceholder"),class:"w-full rounded-md border border-slate-300 bg-white px-3 py-2 text-xs text-slate-700 dark:border-slate-600 dark:bg-slate-900 dark:text-slate-300",onKeydown:s.withKeys(f,["enter"])},null,40,G8),[[s.vModelText,a.value]])]),s.createElementVNode("div",K8,[s.createElementVNode("label",X8,s.toDisplayString(s.unref(n)("editor.linkDialog.url")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":b[1]||(b[1]=y=>o.value=y),type:"text",placeholder:s.unref(n)("editor.linkDialog.urlPlaceholder"),class:"w-full rounded-md border border-slate-300 bg-white px-3 py-2 text-xs text-slate-700 dark:border-slate-600 dark:bg-slate-900 dark:text-slate-300",onKeydown:s.withKeys(f,["enter"])},null,40,J8),[[s.vModelText,o.value]]),l.value?(s.openBlock(),s.createElementBlock("p",Z8,s.toDisplayString(l.value),1)):s.createCommentVNode("",!0)]),s.createElementVNode("div",Q8,[e.isEditing?(s.openBlock(),s.createElementBlock("button",{key:0,type:"button",class:"mr-auto flex items-center gap-1 rounded-md px-3 py-1.5 text-xs font-semibold text-red-600 hover:bg-red-50 dark:text-red-400 dark:hover:bg-red-950/40",onClick:m},[s.createVNode(s.unref(yr),{class:"h-3.5 w-3.5"}),s.createTextVNode(" "+s.toDisplayString(s.unref(n)("editor.linkDialog.remove")),1)])):s.createCommentVNode("",!0),s.createElementVNode("button",{type:"button",class:"rounded-md px-3 py-1.5 text-xs font-semibold hover:bg-slate-100 dark:text-slate-300 dark:hover:bg-slate-700",onClick:p},s.toDisplayString(s.unref(n)("editor.linkDialog.cancel")),1),s.createElementVNode("button",{type:"button",class:"rounded-md bg-cyan-600 px-3 py-1.5 text-xs font-semibold text-white transition-all hover:bg-cyan-700",onClick:f},s.toDisplayString(e.isEditing?s.unref(n)("editor.linkDialog.update"):s.unref(n)("editor.linkDialog.insert")),1)])])],32)):s.createCommentVNode("",!0)}});async function tf(e,t){var n,i;if(typeof document>"u")return!1;try{if(t&&typeof ClipboardItem<"u"&&((n=navigator.clipboard)!=null&&n.write)){const r=new ClipboardItem({"text/plain":new Blob([e],{type:"text/plain"}),"text/html":new Blob([t],{type:"text/html"})});return await navigator.clipboard.write([r]),!0}if((i=navigator.clipboard)!=null&&i.writeText)return await navigator.clipboard.writeText(e),!0}catch{}try{const r=document.createElement("textarea");r.value=e,r.style.position="fixed",r.style.opacity="0",document.body.appendChild(r),r.select();const a=document.execCommand("copy");return r.remove(),a}catch{return!1}}async function eT(){var e;if(typeof navigator>"u"||!((e=navigator.clipboard)!=null&&e.read))return null;try{const t=await navigator.clipboard.read();for(const n of t)if(n.types.includes("text/html"))return await(await n.getType("text/html")).text();for(const n of t)if(n.types.includes("text/plain"))return await(await n.getType("text/plain")).text();return null}catch{return null}}async function Fs(){var e;if(typeof navigator>"u"||!((e=navigator.clipboard)!=null&&e.readText))return null;try{return await navigator.clipboard.readText()}catch{return null}}const tT={class:"docs-editor flex h-screen w-full flex-col overflow-hidden bg-slate-50 transition-colors dark:bg-[#02040a]"},nT=["title","aria-label"],iT={class:"docs-editor__body relative flex flex-1 overflow-hidden"},rT=["title"],aT={class:"flex flex-1 flex-col items-center gap-4 w-full relative"},oT=["aria-label"],sT={key:5,class:"fixed inset-0 z-50 flex items-center justify-center bg-slate-900/40 backdrop-blur-sm px-4 select-none"},lT={class:"w-full max-w-sm rounded-3xl border border-slate-100 bg-white p-7 shadow-2xl dark:border-slate-800 dark:bg-[#0e1525] text-slate-800 dark:text-slate-200"},cT={class:"text-xl font-medium mb-6 text-slate-900 dark:text-white"},uT={class:"mb-6"},dT={class:"text-xs font-semibold text-slate-700 dark:text-slate-300 mb-3"},fT={class:"space-y-4"},pT={class:"text-xs font-medium text-slate-600 dark:text-slate-400 block mb-1.5"},mT={class:"text-xs font-medium text-slate-600 dark:text-slate-400 block mb-1.5"},hT={class:"mb-8"},bT={class:"text-xs font-semibold text-slate-700 dark:text-slate-300 mb-3"},gT={class:"space-y-3"},vT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none"},xT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none"},yT={class:"flex justify-end items-center gap-3"},kT={key:6,class:"fixed inset-0 z-50 flex items-center justify-center bg-slate-900/40 backdrop-blur-sm px-4 select-none"},wT={class:"w-full max-w-sm rounded-3xl border border-slate-100 bg-white p-7 shadow-2xl dark:border-slate-800 dark:bg-[#0e1525] text-slate-800 dark:text-slate-200"},_T={class:"text-xl font-medium mb-6 text-slate-900 dark:text-white"},ST={class:"mb-6"},CT={class:"text-xs font-semibold text-slate-700 dark:text-slate-300 mb-3"},ET={class:"space-y-3"},AT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none"},TT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none"},NT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none pt-1"},OT=["checked"],MT={class:"mb-6"},DT={class:"text-xs font-semibold text-slate-700 dark:text-slate-300 mb-3"},zT=["aria-label"],IT=["title","onClick"],RT={xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},LT=["d"],BT={class:"text-[11px] text-slate-400 dark:text-slate-500 mt-1.5"},PT={class:"mb-8"},FT={class:"text-xs font-semibold text-slate-700 dark:text-slate-300 mb-3"},VT={class:"space-y-3"},UT={class:"flex items-center gap-3"},HT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none"},qT={class:"flex items-center gap-3 cursor-pointer text-xs font-medium text-slate-700 dark:text-slate-300 select-none"},jT={class:"pt-2"},$T={class:"block text-xs font-medium text-slate-600 dark:text-slate-400 mb-1.5"},WT=["placeholder"],GT={class:"text-[11px] text-slate-400 dark:text-slate-500 mt-1"},KT={class:"flex justify-end items-center gap-3"},XT={key:7,class:"fixed inset-0 z-50 flex items-center justify-center bg-slate-900/50 backdrop-blur-sm px-4"},JT={class:"w-full max-w-md rounded-xl border border-slate-200 bg-white p-6 shadow-2xl dark:border-slate-800 dark:bg-[#0e1525] text-slate-800 dark:text-slate-200"},ZT={class:"text-lg font-bold mb-4"},QT={class:"mb-4"},YT={class:"block text-xs font-semibold text-slate-600 dark:text-slate-400 mb-1.5"},eN=["value"],tN={class:"mb-4"},nN={class:"block text-xs font-semibold text-slate-600 dark:text-slate-400 mb-1.5"},iN={class:"flex gap-2"},rN={class:"mb-6"},aN={class:"block text-xs font-semibold text-slate-600 dark:text-slate-400 mb-1.5"},oN={class:"grid grid-cols-2 gap-3"},sN={class:"text-[11px] text-slate-500 dark:text-slate-400 block mb-1"},lN=["max"],cN={class:"text-[11px] text-slate-500 dark:text-slate-400 block mb-1"},uN=["max"],dN={class:"text-[11px] text-slate-500 dark:text-slate-400 block mb-1"},fN=["max"],pN={class:"text-[11px] text-slate-500 dark:text-slate-400 block mb-1"},mN=["max"],hN={class:"flex justify-end gap-2"},bN=189,ir=37.795,Vs=0,Us=5,nf=.1,Oi=0,gN=s.defineComponent({__name:"DocsEditor",props:{modelValue:{default:void 0},plugins:{default:()=>[]},editable:{type:Boolean,default:!0},collaboration:{default:void 0},pageSize:{default:"a4"},pageless:{type:Boolean,default:!1},virtualPages:{type:Boolean,default:!1},title:{default:"Untitled Document"},collaborators:{default:()=>[]},starred:{type:Boolean,default:!1},connectionState:{default:"connected"},userName:{default:""},userAvatar:{default:""},locale:{default:void 0},documentMeta:{default:void 0},shareUrl:{default:""},onImageUpload:{type:Function,default:void 0},citation:{default:void 0},aiStream:{type:Function,default:void 0},aiDraft:{type:Function,default:void 0},onAiChat:{type:Function,default:void 0},debug:{type:Boolean,default:!1},comments:{default:()=>[]},selectedTextSnippet:{default:""},selectedTextIndex:{default:void 0},snapshots:{default:()=>[]},activePreviewIndex:{default:null},orientation:{default:"portrait"},margins:{default:()=>({top:94,bottom:94,left:94,right:94})},headerMarginCm:{default:.5},footerMarginCm:{default:.5}},emits:["update:modelValue","update:title","update:pageSize","update:orientation","update:margins","update:header-footer-margins","update:pageless","update:pageCount","update:locale","citation-sources-change","update:citation-style","toggle-star","back","share","menu-click","export","ready","add-comment","add-reply","resolve-comment","delete-comment","save-snapshot","restore-snapshot","preview-snapshot"],setup(e,{emit:t}){var Xc,Jc,Zc,Qc,Yc;const n=e,i=t,{locale:r,setLocale:a,t:o}=df(n.locale);s.watch(()=>n.locale,C=>{C&&C!==r.value&&a(C)}),s.watch(r,C=>{i("update:locale",C)});const l=s.ref({top:((Xc=n.margins)==null?void 0:Xc.top)??94,bottom:((Jc=n.margins)==null?void 0:Jc.bottom)??94,left:((Zc=n.margins)==null?void 0:Zc.left)??94,right:((Qc=n.margins)==null?void 0:Qc.right)??94});function c(C,T=.5){const M=typeof C=="number"?C:Number(C);if(!Number.isFinite(M))return T;const Q=Math.min(Us,Math.max(Vs,M));return Math.round(Q*10)/10}const u=s.ref(n.orientation??"portrait"),f=s.ref(n.pageSize??"a4"),m=s.ref(n.pageless??!1);s.watch(()=>n.orientation,C=>{C!==void 0&&(u.value=C)}),s.watch(()=>n.margins,C=>{C!==void 0&&(l.value={...C})}),s.watch(()=>n.headerMarginCm,C=>{typeof C=="number"&&Number.isFinite(C)&&(fn.value=c(C))}),s.watch(()=>n.footerMarginCm,C=>{typeof C=="number"&&Number.isFinite(C)&&(pn.value=c(C))});const p=s.computed(()=>{const C=rr.getPageSize(f.value)??rr.PAGE_SIZES[0];let T=C.pageWidth,M=C.pageHeight;return u.value==="landscape"&&([T,M]=[M,T]),{pageHeight:M,pageWidth:T,margins:{...l.value}}}),h=s.computed(()=>`${p.value.pageWidth}px`),{isDark:g}=zo(),b=s.computed(()=>n.virtualPages===!0),y=s.computed(()=>({enabled:!m.value&&!b.value,pageHeight:p.value.pageHeight,pageWidth:p.value.pageWidth,marginTop:p.value.margins.top,marginBottom:p.value.margins.bottom,marginLeft:p.value.margins.left,marginRight:p.value.margins.right,contentMarginTop:0,contentMarginBottom:0,pageGap:40,pageBreakBackground:g.value?"#02040a":"#f1f5f9",headerLeft:"",headerRight:"",footerLeft:"",footerRight:"",onHeaderClick:C=>{var T;((T=C==null?void 0:C.event)==null?void 0:T.detail)===2&&la(C==null?void 0:C.event)},onFooterClick:C=>{var T;((T=C==null?void 0:C.event)==null?void 0:T.detail)===2&&ca(C==null?void 0:C.event)}})),v=C=>{const T=C;return T&&typeof T=="object"&&T.type==="tabbed-doc"&&Array.isArray(T.tabs)?T:{type:"tabbed-doc",activeTabId:"tab-1",tabs:[{id:"tab-1",label:"Tab 1",content:C||{type:"doc",content:[{type:"paragraph"}]}}]}},x=C=>{if(!Array.isArray(C))return[];const T=new Set;for(const M of C)typeof M=="number"&&Number.isFinite(M)&&M>=1&&T.add(Math.floor(M));return[...T].sort((M,Q)=>M-Q)},k=v(n.modelValue),w=s.ref(k.headerLeft||""),S=s.ref(k.headerRight||""),A=s.ref(k.footerLeft||""),R=s.ref(k.footerRight||""),_=s.ref(k.headerAlign),E=s.ref(k.footerAlign),z=s.ref(k.tabs.map(C=>({id:C.id,label:C.label,active:C.id===k.activeTabId}))),P=s.ref({});k.tabs.forEach(C=>{P.value[C.id]=C.content});const U=s.ref(k.activeTabId),V=s.computed(()=>P.value[U.value]),B=s.ref(!1),j=s.ref(null),$=s.ref(null);let Y=null;const W=s.ref(localStorage.getItem("docflow:view:showRuler")!=="false"),oe=s.ref(!1);s.watch(W,C=>{localStorage.setItem("docflow:view:showRuler",C?"true":"false")});const I=s.ref(0),N=s.ref(0),L=s.ref("saved"),D=s.ref(Date.now()),K=s.ref(null),ne=s.ref(new Set);let ee=null;const ie=s.ref(!1);function G(){if(!O.value||!X.value)return;const C=O.value.state.doc;if(n.collaboration&&!ie.value&&C.content.size<=2)return;ie.value=!0;const T=new Set;C.descendants(M=>{for(const Q of M.marks)Q.type.name==="comment"&&Q.attrs.threadId&&T.add(Q.attrs.threadId);return!0}),ne.value=T}function H(){ee&&clearTimeout(ee),ee=setTimeout(G,200)}const q=s.computed(()=>{if(!ie.value)return[];const C=ne.value;return(n.comments??[]).filter(T=>T.anchorIndex!=null&&!C.has(T.id)).map(T=>T.id)});s.onUnmounted(()=>{ee&&clearTimeout(ee)});const re=s.computed(()=>{const C=[];for(const T of n.plugins)for(const M of T.slashCommands||[])C.push({name:M.name,command:M.command});return C}),ce=()=>{const C={type:"tabbed-doc",activeTabId:U.value,tabs:z.value.map(T=>({id:T.id,label:T.label,content:P.value[T.id]})),headerLeft:w.value,headerRight:S.value,footerLeft:A.value,footerRight:R.value,headerAlign:_.value,footerAlign:E.value,hiddenPageNumbers:Ji.value};i("update:modelValue",C),L.value="saving",K.value&&clearTimeout(K.value),K.value=setTimeout(()=>{L.value="saved",D.value=Date.now()},800)},fe=s.ref((()=>{var T;const C=(T=n.citation)==null?void 0:T.sources;return Array.isArray(C)?[...C]:typeof C=="function"?[...C()]:[]})()),Oe=s.ref(((Yc=n.citation)==null?void 0:Yc.style)||"chicago-notes-bibliography");let pe=null;const Se=s.ref(!1),ut=C=>{pe==null||pe(C),pe=null,Se.value=!1},Jt=()=>new Promise(C=>{ut(null),pe=C,Se.value=!0,$.value="references"}),Le=s.computed(()=>{const C=n.citation;if(C)return{...C,sources:()=>fe.value,onSourceRequest:C.onSourceRequest??Jt}}),{editorRef:Ut,editor:O,pluginActions:F,isReady:X,docsEditor:ze}=rf({content:V,plugins:n.plugins,editable:n.editable,collaboration:s.computed(()=>n.collaboration),onImageUpload:n.onImageUpload,citation:Le.value,aiStream:n.aiStream,aiDraft:n.aiDraft,debug:n.debug,getPageMap:()=>new Map,paginationOptions:y.value,onUpdate:C=>{P.value[U.value]=C,ce()}}),Xe=()=>{var C,T,M;return((M=(T=(C=O.value)==null?void 0:C.storage)==null?void 0:T.citationEngine)==null?void 0:M.engine)??null},He=()=>{var C;(C=Xe())==null||C.updateSources(fe.value),i("citation-sources-change",fe.value)},un=C=>{fe.value=[...fe.value,C],He()},Nn=C=>{fe.value=fe.value.map(T=>T.id===C.id?C:T),He()},Yn=C=>{fe.value=fe.value.filter(T=>T.id!==C),He()},Ht=C=>{var T;Oe.value=C,(T=Xe())==null||T.setStyle(C),i("update:citation-style",C)},On=C=>{var T,M;pe?(ut(C),$.value=null):(M=(T=F.value).insertCitation)==null||M.call(T,{sourceId:C})};s.watch($,(C,T)=>{T==="references"&&C!=="references"&&ut(null)});const qe=s.ref(!1),Nt=s.ref(""),$i=s.computed(()=>{var C,T;return!!((C=n.citation)!=null&&C.onImportDoi||(T=n.citation)!=null&&T.onImportBibliography)}),Hr=async C=>{const T=n.citation;if(!(!(T!=null&&T.onImportDoi)||qe.value)){qe.value=!0,Nt.value="";try{const M=await T.onImportDoi(C);if(!M){Nt.value=o("sidebars.references.import.doiFailed");return}const Q=fe.value.some(se=>se.id===M.id);fe.value=Q?fe.value.map(se=>se.id===M.id?M:se):[...fe.value,M],He(),Nt.value=o("sidebars.references.import.doiSuccess")}catch{Nt.value=o("sidebars.references.import.doiFailed")}finally{qe.value=!1}}},qr=async C=>{const T=n.citation;if(!(!(T!=null&&T.onImportBibliography)||qe.value)){qe.value=!0,Nt.value="";try{const{imported:M,failed:Q}=await T.onImportBibliography(C);if(M.length>0){const se=new Map(fe.value.map(de=>[de.id,de]));for(const de of M)se.set(de.id,de);fe.value=[...se.values()],He()}Nt.value=Q>0?o("sidebars.references.import.partial").replace("{ok}",String(M.length)).replace("{failed}",String(Q)):o("sidebars.references.import.batchSuccess").replace("{count}",String(M.length))}catch{Nt.value=o("sidebars.references.import.failed")}finally{qe.value=!1}}},Wi=()=>{var T;const C=((T=O.value)==null?void 0:T.getText())??"";N.value=C.length,I.value=C.trim()?C.trim().split(/\s+/).length:0},jr=()=>{if(!O.value)return null;const{from:C,to:T,head:M}=O.value.state.selection;if(C===T)return null;const Q=O.value.view.coordsAtPos(M);if(!Q)return null;const se=12,de=180,ye=Q.top-48,ve=(Q.left+Q.right)/2;if(typeof window>"u")return{top:Math.max(se,ye),left:ve};const me=Math.min(de,Math.max(0,window.innerWidth/2-se)),ue=se+me,le=window.innerWidth-se-me,he=Math.max(se,window.innerHeight-48);return{top:Math.min(he,Math.max(se,ye)),left:Math.min(le,Math.max(ue,ve))}},$r=()=>{if(!O.value){B.value=!1,j.value=null;return}const{from:C,to:T}=O.value.state.selection;B.value=C!==T,j.value=C!==T?jr():null},wt=s.ref(null),qt=()=>{B.value&&(j.value=jr())},jt=s.ref(1),gt=s.ref(1),Gi=s.computed(()=>{const C=p.value;return{pageSize:{id:f.value,name:f.value.toUpperCase(),pageWidth:C.pageWidth,pageHeight:C.pageHeight},margins:{top:C.margins.top,bottom:C.margins.bottom,left:C.margins.left,right:C.margins.right},pageGap:40,headerLeft:w.value,headerRight:S.value,footerLeft:A.value,footerRight:R.value}}),{data:Ko,totalPages:wi,isReady:dn,refreshData:Wr}=sb({editorRef:s.computed(()=>O.value),scrollRef:wt,config:Gi.value,bufferPages:2,enabled:b});s.watch([wi,dn],()=>{b.value&&dn.value&&(jt.value=wi.value)}),s.watch(b,C=>{C&&Wr()});const ei=()=>{if(!O.value||!X.value){jt.value=1,gt.value=1;return}const C=O.value.view.dom,T=C.querySelector("[data-rm-pagination]");T?jt.value=T.children.length||1:jt.value=1;try{const{selection:M}=O.value.state,Q=O.value.view.coordsAtPos(M.head);if(Q&&T){const se=Array.from(T.querySelectorAll(".rm-page-break")),de=C.getBoundingClientRect(),ye=Q.top-de.top+C.scrollTop;let ve=1,me=!1;for(let ue=0;ue<se.length;ue++){const le=se[ue].querySelector(".breaker");if(le instanceof HTMLElement&&ye<le.offsetTop){gt.value=ve,me=!0;break}ve++}me||(gt.value=ve)}else gt.value=1}catch{gt.value=1}};s.watch(p,C=>{O.value&&(O.value.commands.updatePageHeight(C.pageHeight),O.value.commands.updatePageWidth(C.pageWidth),O.value.commands.updateMargins({top:C.margins.top,bottom:C.margins.bottom,left:C.margins.left,right:C.margins.right}),ei())});const Ot=C=>{C!==m.value&&(m.value=C,i("update:pageless",C),O.value&&(C?O.value.commands.disablePagination():O.value.commands.enablePagination(),setTimeout(()=>{ei(),ua()},60)))};s.watch(()=>n.pageless,C=>Ot(C??!1));const Je=s.ref(!1),$t=s.ref(!1),ti=s.ref(""),Ic=s.ref(""),Xo=s.ref(""),Ah=s.ref(""),fn=s.ref(c(n.headerMarginCm)),pn=s.ref(c(n.footerMarginCm)),Gr=s.ref(!1),Ki=s.ref(fn.value),Xi=s.ref(pn.value),Kr=s.ref(!1),Xr=s.ref(!1),Jr=s.ref(!1),ni=s.ref("header"),Ji=s.ref(x(k.hiddenPageNumbers)),Zr=s.ref("startAt"),Qr=s.ref(1),Mn=s.ref("header"),_i=s.ref([]),Si=s.ref(""),Ci=s.ref("startAt"),Yr=s.ref(1),ea=s.ref(_.value),ta=s.ref(E.value),Jo=s.ref(!1),Th=s.computed(()=>Zo.value??"right"),Zo=s.computed({get:()=>Mn.value==="footer"?ta.value:ea.value,set:C=>{Mn.value==="footer"?ta.value=C:ea.value=C}}),Nh=C=>{Jo.value=!0,Zo.value=Zo.value===C?void 0:C},Oh=C=>({left:"M21 5H3 M15 12H3 M17 19H3",center:"M21 5H3 M17 12H7 M19 19H5",right:"M21 5H3 M21 12H9 M21 19H7"})[C],Mh=s.computed(()=>!_i.value.includes(1)),Dh=C=>{const T=C.target.checked;let M=_i.value;T?M=M.filter(Q=>Q!==1):M.includes(1)||(M=[...M,1].sort((Q,se)=>Q-se)),_i.value=M,Si.value=Lc(M)};s.watch(Si,C=>{_i.value=Rc(C)});const Rc=C=>{const T=new Set;for(const M of String(C||"").split(",")){const Q=M.trim();if(!Q)continue;const se=Q.match(/^(\d+)\s*-\s*(\d+)$/);if(se){const de=Math.max(1,Number(se[1])),ye=Math.max(de,Number(se[2]));for(let ve=de;ve<=ye;ve++)T.add(ve)}else/^\d+$/.test(Q)&&T.add(Math.max(1,Number(Q)))}return[...T].sort((M,Q)=>M-Q)},Lc=C=>{const T=[...C].filter(de=>Number.isFinite(de)&&de>=1).sort((de,ye)=>de-ye);if(T.length===0)return"";const M=[];let Q=T[0],se=T[0];for(let de=1;de<=T.length;de++){const ye=T[de];if(ye===se+1){se=ye;continue}M.push(Q===se?String(Q):`${Q}-${se}`),Q=ye,se=ye}return M.join(", ")},Qo=C=>{const T=C+1;if(Ji.value.includes(T))return"";let M=T;return Zr.value==="startAt"&&(M=C+Qr.value),String(M)};let Yo=!1;const Bt=(C=!0)=>{if(!(!O.value||!X.value||Yo)){Yo=!0;try{const T=String(jt.value),M=O.value.view.dom;(()=>{const le=(he,Ce)=>{M.classList.remove(`rm-hf-${he}-align-left`,`rm-hf-${he}-align-center`,`rm-hf-${he}-align-right`),Ce&&M.classList.add(`rm-hf-${he}-align-${Ce}`)};le("header",_.value),le("footer",E.value)})();const se=w.value.replace(/{total}/g,T),de=S.value.replace(/{total}/g,T),ye=A.value.replace(/{total}/g,T),ve=R.value.replace(/{total}/g,T);O.value.commands.updateHeaderContent(se,de),O.value.commands.updateFooterContent(ye,ve);const me=`${Math.max(0,fn.value)*ir}px`,ue=`${Math.max(0,pn.value)*ir}px`;M.style.setProperty("--rm-header-margin-top",me),M.style.setProperty("--rm-footer-margin-bottom",ue),C&&O.value.view.dispatch(O.value.state.tr),setTimeout(()=>{requestAnimationFrame(()=>{if(!O.value||O.value.view.dom!==M)return;const le=(Te,Ne)=>{let Me=se,De=de;return Ne&&Je.value?(Me=ti.value.replace(/{total}/g,T),De=Ic.value.replace(/{total}/g,T)):$t.value&&Te%2===0&&(Me=Xo.value.replace(/{total}/g,T),De=Ah.value.replace(/{total}/g,T)),{left:Me.replace(/{page}/g,Qo(Te-1)),right:De.replace(/{page}/g,Qo(Te-1))}},he=(Te,Ne,Me)=>{const De=le(Ne,Me),Ie=Te.querySelector(".rm-page-header-left"),Ve=Te.querySelector(".rm-page-header-right");Ie&&(Ie.innerHTML=De.left),Ve&&(Ve.innerHTML=De.right)},Ce=M.querySelector(".rm-first-page-header");Ce&&he(Ce,1,!0),Array.from(M.querySelectorAll(".rm-page-break .rm-page-header")).forEach((Te,Ne)=>{he(Te,Ne+2,!1)}),Array.from(M.querySelectorAll(".rm-page-break .rm-page-footer")).forEach((Te,Ne)=>{const Me=Ne+1,De=Qo(Me-1),Ie=Te.querySelector(".rm-page-footer-left"),Ve=Te.querySelector(".rm-page-footer-right");Ie&&(Ie.innerHTML=ye.replace(/{page}/g,De)),Ve&&(Ve.innerHTML=ve.replace(/{page}/g,De))})})},50)}finally{Yo=!1}}};s.watch(Je,()=>{Bt()}),s.watch([$t,fn,pn,ni,Ji,Zr,Qr],()=>{Bt()}),s.watch(jt,C=>{Bt(!1),i("update:pageCount",C)}),s.watch(g,C=>{O.value&&(O.value.commands.updatePageBreakBackground(C?"#02040a":"#f1f5f9"),O.value.view.dispatch(O.value.state.tr))}),s.watch(y,C=>{if(!O.value||!X.value)return;const T=O.value.storage.PaginationPlus;!T||!(T.pageHeight!==C.pageHeight||T.pageWidth!==C.pageWidth||T.marginTop!==C.marginTop||T.marginBottom!==C.marginBottom||T.marginLeft!==C.marginLeft||T.marginRight!==C.marginRight||T.pageGap!==C.pageGap||T.contentMarginTop!==C.contentMarginTop||T.contentMarginBottom!==C.contentMarginBottom||T.pageBreakBackground!==C.pageBreakBackground||T.enabled!==C.enabled)||(T.pageHeight=C.pageHeight,T.pageWidth=C.pageWidth,T.marginTop=C.marginTop,T.marginBottom=C.marginBottom,T.marginLeft=C.marginLeft,T.marginRight=C.marginRight,T.pageGap=C.pageGap,T.contentMarginTop=C.contentMarginTop,T.contentMarginBottom=C.contentMarginBottom,T.pageBreakBackground=C.pageBreakBackground,T.enabled=C.enabled,O.value.view.dispatch(O.value.state.tr))},{deep:!0}),s.watch(X,C=>{var T,M,Q,se,de,ye,ve,me;C&&O.value&&(!w.value&&!S.value&&!A.value&&!R.value&&(w.value=((M=(T=O.value.storage.PaginationPlus)==null?void 0:T.appliedConfig)==null?void 0:M.headerLeft)||"",S.value=((se=(Q=O.value.storage.PaginationPlus)==null?void 0:Q.appliedConfig)==null?void 0:se.headerRight)||"",A.value=((ye=(de=O.value.storage.PaginationPlus)==null?void 0:de.appliedConfig)==null?void 0:ye.footerLeft)||"",R.value=((me=(ve=O.value.storage.PaginationPlus)==null?void 0:ve.appliedConfig)==null?void 0:me.footerRight)||""),Fc(),Bt(),ze.value&&i("ready",ze.value),O.value.on("selectionUpdate",()=>{$r(),ei()}),O.value.on("transaction",()=>{ei(),Wi(),H()}),$r(),Wi(),ei(),H(),setTimeout(()=>{var le;return(le=O.value)==null?void 0:le.commands.focus("start")},50),[100,300,600,1200,2500].forEach(le=>{setTimeout(()=>{O.value&&O.value.view.dispatch(O.value.state.tr)},le)}),O.value.view.dom.addEventListener("keydown",le=>{(le.metaKey||le.ctrlKey)&&le.key.toLowerCase()==="k"&&(le.preventDefault(),Bc())}),Y&&O.value.view.dom.removeEventListener("keydown",Y),Y=le=>{(le.metaKey||le.ctrlKey)&&le.key.toLowerCase()==="l"&&(le.preventDefault(),as())},O.value.view.dom.addEventListener("keydown",Y),O.value.view.dom.addEventListener("click",le=>{const he=le.target;if(!he||le.detail!==2||he.closest('.rm-google-docs-header-bar, .rm-google-docs-footer-bar, .rm-options-dropdown, [contenteditable="true"]'))return;if(he.closest(".rm-page-header, .rm-first-page-header")){la(le);return}if(he.closest(".rm-page-footer")){ca(le);return}const Ne=he.closest(".rm-with-pagination, .rm-page-break, .page, .docs-editor-page");if(Ne){const Me=Ne.getBoundingClientRect(),De=le.clientY-Me.top,Ie=fn.value*37.795;if(De>=0&&De<=Math.max(Ie,40)+15){let $e=null;Ne.classList.contains("rm-page-break")&&($e=Ne.querySelector(".rm-page-header")),$e||($e=document.querySelector(".rm-page-header, .rm-first-page-header")),$e&&la(le);return}const Ve=Me.bottom-le.clientY,xt=pn.value*37.795;if(Ve>=0&&Ve<=Math.max(xt,40)+15){let $e=null;Ne.classList.contains("rm-page-break")&&($e=Ne.querySelector(".rm-page-footer")),$e||($e=document.querySelector(".rm-page-footer")),$e&&ca(le)}}}))}),s.onUnmounted(()=>{mn(!1),K.value&&clearTimeout(K.value),Ai&&clearTimeout(Ai),hn&&clearTimeout(hn),window.removeEventListener("resize",Kc)});const na=s.ref(!1),es=s.ref(!1),ts=s.ref(!1),ia=s.ref(!1),Zi=s.ref(!1),ra=s.ref(""),ns=s.ref(""),aa=s.ref(!1);function Bc(){if(!O.value)return;const{state:C}=O.value,{from:T,to:M,empty:Q}=C.selection,se=O.value.getAttributes("link");se.href?(aa.value=!0,ns.value=se.href,Q?ra.value="":ra.value=C.doc.textBetween(T,M," ")):(aa.value=!1,ns.value="https://",ra.value=Q?"":C.doc.textBetween(T,M," ")),Zi.value=!0}function zh(C){if(!O.value)return;const{state:T}=O.value,{from:M,to:Q,empty:se}=T.selection,de=C.text.trim(),ye=O.value.chain().focus();aa.value||O.value.isActive("link")?(ye.setLink({href:C.url,target:"_blank"}).run(),de&&!se&&ye.insertContentAt({from:M,to:Q},de).run()):de?ye.insertContentAt({from:M,to:Q},{type:"text",text:de,marks:[{type:"link",attrs:{href:C.url,target:"_blank"}}]}).run():se?ye.insertContent({type:"text",text:C.url,marks:[{type:"link",attrs:{href:C.url,target:"_blank"}}]}).run():ye.setLink({href:C.url,target:"_blank"}).run(),Zi.value=!1}function Ih(){if(!O.value)return;O.value.chain().focus().unsetLink().run(),Zi.value=!1}const oa=s.ref(f.value),ii=s.ref(u.value),et=s.ref({top:Dn(l.value.top),bottom:Dn(l.value.bottom),left:Dn(l.value.left),right:Dn(l.value.right)}),Qi=Number((bN/ir).toFixed(1));function Dn(C){return Math.round(C/ir*10)/10}function sa(C){return Math.round(C*ir)}const Rh=()=>{oa.value=f.value,ii.value=u.value,et.value={top:Dn(l.value.top),bottom:Dn(l.value.bottom),left:Dn(l.value.left),right:Dn(l.value.right)},na.value=!0},Lh=()=>{const C=T=>{const M=typeof T=="number"?T:Number(T);return Number.isFinite(M)?Math.min(Qi,Math.max(Oi,M)):Oi};f.value=oa.value,u.value=ii.value,et.value={top:C(et.value.top),bottom:C(et.value.bottom),left:C(et.value.left),right:C(et.value.right)},l.value={top:sa(et.value.top),bottom:sa(et.value.bottom),left:sa(et.value.left),right:sa(et.value.right)},i("update:pageSize",f.value),i("update:orientation",ii.value),i("update:margins",{...l.value}),na.value=!1},is=s.ref(!1),zn={value:null},rs=s.ref(!1),In={value:null},Bh=()=>{Ki.value=fn.value,Xi.value=pn.value,Kr.value=Je.value,Xr.value=$t.value,Gr.value=!0},Ph=()=>{fn.value=c(Ki.value),pn.value=c(Xi.value),Ki.value=fn.value,Xi.value=pn.value,Je.value=Kr.value,$t.value=Xr.value,Gr.value=!1,Bt(),i("update:header-footer-margins",{headerMarginCm:fn.value,footerMarginCm:pn.value}),ce()},Pc=()=>{Fc(),Mn.value=ni.value,_i.value=[...Ji.value],Si.value=Lc(_i.value),Ci.value=Zr.value,Yr.value=Qr.value,ea.value=_.value,ta.value=E.value,Jo.value=!1,Jr.value=!0},Fc=()=>{const C="{page}",T=[w.value,S.value].some(Q=>Q.includes(C));[A.value,R.value].some(Q=>Q.includes(C))&&!T?ni.value="footer":ni.value="header"},Fh=()=>{ni.value=Mn.value,Ji.value=Rc(Si.value),Zr.value=Ci.value,Qr.value=Yr.value,Jr.value=!1;const C="{page}";ni.value==="footer"?(S.value.includes(C)&&(S.value=S.value.replace(/{page}/g,"").trim()),R.value=C):(R.value.includes(C)&&(R.value=R.value.replace(/{page}/g,"").trim()),S.value=C),Jo.value&&(ni.value==="footer"?E.value=ta.value:_.value=ea.value),Bt(),ce()},Vh=()=>{w.value="",S.value="",Bt(),ce(),is.value=!1},Uh=()=>{A.value="",R.value="",Bt(),ce(),rs.value=!1},Hh=()=>A.value,qh=C=>{const T=C===1,M=C%2===0;return Je.value&&T?ti.value:$t.value&&M?Xo.value:w.value},mn=(C=!0)=>{var Q;const T=zn.value;if(!T)return;const M=T.input.innerHTML.trim();document.removeEventListener("mousedown",T.onOutsideMouseDown),window.removeEventListener("resize",T.onResize),window.removeEventListener("scroll",T.onWindowScroll),(Q=wt.value)==null||Q.removeEventListener("scroll",T.onScroll),T.overlay.remove(),T.generatedContent&&(T.generatedContent.style.visibility=""),T.targetHeader.classList.remove("rm-header-active"),zn.value=null,is.value=!1,C&&(Je.value&&T.isFirstPage?ti.value=M:$t.value&&T.pageIndex%2===0?Xo.value=M:w.value=M,Bt(),ce())},Ei=(C=!0)=>{var Q;const T=In.value;if(!T)return;const M=T.input.innerHTML.trim();document.removeEventListener("mousedown",T.onOutsideMouseDown),window.removeEventListener("resize",T.onResize),window.removeEventListener("scroll",T.onWindowScroll),(Q=wt.value)==null||Q.removeEventListener("scroll",T.onScroll),T.overlay.remove(),T.generatedContent&&(T.generatedContent.style.visibility=""),T.targetFooter.classList.remove("rm-footer-active"),In.value=null,rs.value=!1,C&&(A.value=M,Bt(),ce())},Vc=C=>{if(!C.targetHeader.parentNode||!O.value)return;const T=O.value.view.dom,M=C.targetHeader.getBoundingClientRect(),Q=T.getBoundingClientRect(),se=getComputedStyle(T),de=parseFloat(se.getPropertyValue("--rm-margin-left"))||0,ye=parseFloat(se.getPropertyValue("--rm-margin-right"))||0,ve=C.targetHeader.querySelector(".rm-page-header-content"),me=(ve==null?void 0:ve.getBoundingClientRect())??M,ue=C.isFirstPage?M.left:M.left+de,le=C.isFirstPage?M.right:M.right-ye,he=Math.max(0,ue-Q.left),Ce=Math.max(0,Q.right-le);C.overlay.style.left=`${ue}px`,C.overlay.style.top=`${me.top}px`,C.overlay.style.width=`${Math.max(le-ue,1)}px`,C.overlay.style.height=`${Math.max(me.height,24)}px`,C.activeBar.style.setProperty("--rm-header-bar-left",`${-he}px`),C.activeBar.style.setProperty("--rm-header-bar-width",`${Q.width}px`),C.activeBar.style.setProperty("--rm-header-bar-padding-left",`${he}px`),C.activeBar.style.setProperty("--rm-header-bar-padding-right",`${Ce}px`)},Uc=C=>{if(!C.targetFooter.parentNode||!O.value)return;const T=O.value.view.dom,M=C.targetFooter.getBoundingClientRect(),Q=T.getBoundingClientRect(),se=getComputedStyle(T),de=parseFloat(se.getPropertyValue("--rm-margin-left"))||0,ye=parseFloat(se.getPropertyValue("--rm-margin-right"))||0,ve=C.targetFooter.querySelector(".rm-page-footer-content"),me=(ve==null?void 0:ve.getBoundingClientRect())??M,ue=M.left+de,le=M.right-ye,he=Math.max(0,ue-Q.left),Ce=Math.max(0,Q.right-le);C.overlay.style.left=`${ue}px`,C.overlay.style.top=`${me.top}px`,C.overlay.style.width=`${Math.max(le-ue,1)}px`,C.overlay.style.height=`${Math.max(me.height,24)}px`,C.activeBar.style.setProperty("--rm-footer-bar-left",`${-he}px`),C.activeBar.style.setProperty("--rm-footer-bar-width",`${Q.width}px`),C.activeBar.style.setProperty("--rm-footer-bar-padding-left",`${he}px`),C.activeBar.style.setProperty("--rm-footer-bar-padding-right",`${Ce}px`)},la=C=>{var xn,eu;const T=In.value;if(T){const xe=C==null?void 0:C.target;if(xe instanceof Node&&T.overlay.contains(xe))return;Ei(!0)}const M=zn.value;if(M){const xe=C==null?void 0:C.target;if(!xe||xe instanceof Node&&M.targetHeader.contains(xe))return;mn(!1)}let Q=null;if(C){const xe=C.target;Q=xe==null?void 0:xe.closest(".rm-page-header, .rm-first-page-header")}if(Q||(Q=(xn=O.value)==null?void 0:xn.view.dom.querySelector(".rm-first-page-header, .rm-page-header")),!Q||!O.value)return;const se=O.value.view.dom,de=Q.classList.contains("rm-first-page-header"),ye=Array.from(se.querySelectorAll(".rm-page-break .rm-page-header")),ve=de?1:ye.indexOf(Q)+2;if(!de&&ve<2)return;const me=Q.querySelector(".rm-page-header-content");me&&(me.style.visibility="hidden");const ue=document.createElement("div");ue.className="rm-header-edit-input",ue.contentEditable="true",ue.setAttribute("role","textbox"),ue.setAttribute("aria-label",o("editor.headerFooter.header")||"Header"),ue.dataset.placeholder=o("editor.headerFooter.headerPlaceholder")||"Header",ue.innerHTML=qh(ve);const le=document.createElement("div");le.className="rm-header-edit-overlay",le.appendChild(ue);const he=document.createElement("div");he.className="rm-google-docs-header-bar",he.innerHTML=`
15243
15243
  <span class="rm-header-label">${o("editor.headerFooter.header")||"Header"}</span>
15244
15244
  <div class="rm-header-right-tools">
15245
15245
  <label class="rm-diff-label">
@@ -15275,4 +15275,4 @@ ${n.innerHTML}
15275
15275
  `,ue.appendChild(le),document.body.appendChild(ue),Q.classList.add("rm-footer-active");const he=()=>{const _e=In.value;_e&&Uc(_e)},Ce=he,Te=he,Ne=_e=>{const xn=_e.target;xn instanceof Node&&ue.contains(xn)||xn instanceof Element&&xn.closest(".fixed.z-50")||Ei(!0)},Me=()=>{requestAnimationFrame(()=>{const _e=In.value;_e&&!_e.overlay.contains(document.activeElement)&&Ei(!0)})},De={targetFooter:Q,overlay:ue,input:me,activeBar:le,generatedContent:ve,pageIndex:ye,onOutsideMouseDown:Ne,onInputBlur:Me,onResize:he,onScroll:Ce,onWindowScroll:Te};In.value=De,rs.value=!0;const Ie=le.querySelector(".rm-options-btn"),Ve=le.querySelector(".rm-options-dropdown"),xt=le.querySelector(".rm-arrow-icon");Ie==null||Ie.addEventListener("mousedown",_e=>{_e.stopPropagation(),_e.preventDefault()}),Ie==null||Ie.addEventListener("click",_e=>{_e.stopPropagation(),_e.preventDefault();const xn=(Ve==null?void 0:Ve.classList.toggle("is-open"))??!1;xt&&(xt.textContent=xn?"▲":"▼")});const $e=le.querySelector(".rm-opt-page-num");$e==null||$e.addEventListener("mousedown",_e=>{_e.stopPropagation(),_e.preventDefault()}),$e==null||$e.addEventListener("click",_e=>{_e.stopPropagation(),Ei(!0),Pc()});const bn=le.querySelector(".rm-opt-remove");bn==null||bn.addEventListener("mousedown",_e=>{_e.stopPropagation(),_e.preventDefault()}),bn==null||bn.addEventListener("click",_e=>{_e.stopPropagation(),Ei(!1),Uh()}),me.addEventListener("blur",Me),document.addEventListener("mousedown",Ne),window.addEventListener("resize",he),window.addEventListener("scroll",Te),(vn=wt.value)==null||vn.addEventListener("scroll",Ce),requestAnimationFrame(()=>{In.value===De&&Uc(De)}),me.focus();const Mt=window.getSelection(),Zt=document.createRange();Zt.selectNodeContents(me),Zt.collapse(!1),Mt==null||Mt.removeAllRanges(),Mt==null||Mt.addRange(Zt)},_t=(C,...T)=>{if(!O.value)return;const M=O.value.commands[C];typeof M=="function"&&M(...T),O.value.commands.focus()},vt=(C,...T)=>{if(!O.value)return;const M=F.value[C];if(typeof M=="function")M(...T);else{_t(C,...T);return}O.value.commands.focus()},Hc=C=>{const T=C==="header"?S:R;T.value.includes("{page}")||(T.value=T.value?`${T.value} {page}`:"{page}"),Bt(),ce()},qc=()=>{if(!O.value)return null;const{state:C}=O.value;if(C.selection.empty)return null;const T=C.selection.content(),M=document.createElement("div");return M.appendChild(Hi.fromSchema(C.schema).serializeFragment(T.content)),{html:M.innerHTML,text:T.content.textBetween(0,T.content.size,`
15276
15276
 
15277
15277
  `," ")}},jh=async()=>{const C=qc();if(!C||!O.value)return;await tf(C.text,C.html)&&O.value.chain().focus().deleteSelection().run()},$h=async()=>{var T;const C=qc();C&&(await tf(C.text,C.html),(T=O.value)==null||T.commands.focus())},Wh=async()=>{if(!O.value)return;const C=await eT();if(C){const M=Ee.sanitizePastedHTML(C);try{O.value.chain().focus().insertContent(M).run()}catch(Q){console.error("[DocsEditor] paste HTML failed, falling back to plain text:",Q);const se=await Fs();if(se)try{O.value.chain().focus().insertContent(se).run()}catch(de){console.error("[DocsEditor] paste plain text also failed:",de)}}return}const T=await Fs();if(T)try{O.value.chain().focus().insertContent(T).run()}catch(M){console.error("[DocsEditor] paste plain text failed:",M)}},jc=async()=>{if(!O.value)return;const C=await Fs();C&&O.value.chain().focus().insertContent(C).run()},Gh=()=>{if(!O.value)return;const{state:C}=O.value;if(C.selection.empty){const{from:T,to:M}=C.selection;M<C.doc.content.size&&O.value.chain().focus().deleteRange({from:T,to:M+1}).run()}else O.value.chain().focus().deleteSelection().run()},$c=C=>{var T;if(C.key==="Escape"&&oe.value){oe.value=!1;return}!(C.metaKey||C.ctrlKey)||!C.shiftKey||(T=O.value)!=null&&T.view.dom.contains(C.target)&&(C.key.toLowerCase()==="v"?(C.preventDefault(),jc()):C.key.toLowerCase()==="h"&&(C.preventDefault(),ia.value=!0))};s.onMounted(()=>document.addEventListener("keydown",$c)),s.onUnmounted(()=>document.removeEventListener("keydown",$c));const Wc={undo:()=>_t("undo"),redo:()=>_t("redo"),"select-all":()=>_t("selectAll"),cut:()=>{jh()},copy:()=>{$h()},paste:()=>{Wh()},"paste-without-formatting":()=>{jc()},delete:()=>Gh(),bold:()=>_t("toggleBold"),italic:()=>_t("toggleItalic"),underline:()=>_t("toggleUnderline"),heading1:()=>_t("toggleHeading",{level:1}),heading2:()=>_t("toggleHeading",{level:2}),heading3:()=>_t("toggleHeading",{level:3}),"align-left":()=>vt("alignLeft"),"align-center":()=>vt("alignCenter"),"align-right":()=>vt("alignRight"),"align-justify":()=>vt("alignJustify"),"bullet-list":()=>_t("toggleBulletList"),"numbered-list":()=>_t("toggleOrderedList"),"task-list":()=>vt("toggleTaskList"),"horizontal-line":()=>_t("setHorizontalRule"),"page-numbers-header":()=>Hc("header"),"page-numbers-footer":()=>Hc("footer"),"clear-formatting":()=>{O.value&&(O.value.chain().unsetAllMarks().clearNodes().run(),_t("setTextAlign","left"))},"insert-image":()=>vt("insertImage"),"insert-table":()=>vt("insertTable",{rows:3,cols:3,withHeaderRow:!0}),"insert-code":()=>vt("toggleCodeBlock"),"insert-page-break":()=>vt("insertPageBreak"),"insert-toc":()=>vt("insertToc"),"insert-date-chip":()=>vt("insertDateChip"),"insert-people-chip":()=>vt("insertPeopleChip"),"insert-file-chip":()=>vt("insertFileChip"),"insert-dropdown-chip":()=>vt("insertDropdownChip"),"insert-location-chip":()=>vt("insertLocationChip")};let Kh=C=>{if(C==="page-setup")Rh();else if(C==="print")Gc();else if(C==="version-history")Yi("history");else if(C==="details")es.value=!0;else if(C==="email")ts.value=!0;else if(C==="find-replace")ia.value=!0;else if(C==="insert-link")Bc();else if(C==="security")i("share");else if(C==="insert-header")la();else if(C==="insert-footer")ca();else if(C==="toggle-pageless")Ot(!m.value);else if(C==="toggle-left-sidebar")Yi("toc");else if(C==="toggle-ruler")W.value=!W.value;else if(C==="toggle-focus-mode")oe.value=!oe.value,oe.value&&($.value=null);else if(C==="new-help-me-create")as();else if(C==="insert-footnote"){if(!O.value)return;const{state:T,view:M}=O.value,Q=T.schema.nodes.footnote;if(!Q){console.error("[DocsEditor] footnote node type not registered in schema");return}const se=T.selection.head,de=Q.create({content:""}),ye=T.tr.insert(se,de);M.dispatch(ye),M.focus(),setTimeout(()=>{ua();const ve=document.querySelectorAll(".docs-footnote-item-text"),me=ve[ve.length-1];me&&(me.scrollIntoView({behavior:"smooth",block:"nearest"}),me.focus())},160)}else Wc[C]?Wc[C]():i("menu-click",C)},Yi=C=>{$.value=$.value===C?null:C};function as(){if(typeof n.onAiChat=="function"){n.onAiChat(Xh());return}Yi("ai")}function Xh(){const C=s.toRaw(O.value),T={context:{}};if(!C)return T;const{from:M,to:Q,empty:se}=C.state.selection;se||(T.selection=C.state.doc.textBetween(M,Q,`
15278
- `," "));try{const de=Il(C);T.context=de}catch{T.context={}}return T}let Gc=()=>window.print();const Jh=(C,T)=>{if(!O.value)return;const M=O.value.view;M.state.doc.descendants((Q,se)=>{if(Q.type.name==="footnote"&&M.nodeDOM(se)===C)return M.dispatch(M.state.tr.setNodeMarkup(se,void 0,{content:T})),!1})};let hn=null,Ai=null;const ua=()=>{var ve;if(!O.value||!X.value)return;const C=O.value.view.dom,T=C.querySelector("[data-rm-pagination]");if(!T)return;const M=me=>{var he,Ce,Te;const ue=document.createElement("div");if(ue.className="docs-footnote-item-text",me.hasAttribute("data-footnote-source-id")){const Ne=me.getAttribute("data-citation-id")??"",Me=(Ce=(he=O.value)==null?void 0:he.storage)==null?void 0:Ce.citationEngine,De=((Te=Me==null?void 0:Me.engine)==null?void 0:Te.renderCluster(Ne))??"";if(ue.classList.add("docs-footnote-item-text--citation"),De)ue.innerHTML=De;else{const Ie=me.getAttribute("data-footnote-content")??"";Ie?ue.innerHTML=Ie:ue.setAttribute("data-empty","true")}return ue}const le=me.getAttribute("data-footnote-content")??"";return ue.contentEditable="true",ue.textContent=le,le||ue.setAttribute("data-empty","true"),ue.addEventListener("input",()=>{ue.removeAttribute("data-empty"),ue.textContent||ue.setAttribute("data-empty","true")}),ue.addEventListener("blur",()=>{var Me;const Ne=((Me=ue.textContent)==null?void 0:Me.trim())??"";Jh(me,Ne)}),ue},Q=Array.from(T.querySelectorAll(".rm-page-break")),se=Array.from(C.querySelectorAll(".docs-footnote-ref"));if(Q.length===0){se.forEach((Ce,Te)=>{Ce.textContent=String(Te+1)});const me=Ut.value;if(!me||((ve=me.querySelector(".docs-pageless-footnotes"))==null||ve.remove(),se.length===0))return;const ue=me.querySelector(".docs-pageless-footnotes");if(ue!=null&&ue.querySelector(".docs-footnote-item-text:focus"))return;const le=document.createElement("div");le.className="docs-page-footnotes docs-pageless-footnotes";const he=document.createElement("div");he.className="docs-footnotes-sep",le.appendChild(he),se.forEach((Ce,Te)=>{const Ne=document.createElement("div");Ne.className="docs-footnote-item";const Me=document.createElement("sup");Me.className="docs-footnote-item-num",Me.textContent=String(Te+1);const De=M(Ce);Ce.dataset.footnoteItemId=`fn-pageless-${Te}`,Ne.id=`fn-pageless-${Te}`,Ne.appendChild(Me),Ne.appendChild(De),le.appendChild(Ne)}),me.appendChild(le);return}const de=new Map;Q.forEach((me,ue)=>de.set(ue,[])),se.forEach(me=>{const ue=me.getBoundingClientRect().top;let le=Q.length-1;for(let he=0;he<Q.length-1;he++){const Ce=Q[he].querySelector(".breaker");if(Ce&&ue<Ce.getBoundingClientRect().top){le=he;break}}de.get(le).push(me)});let ye=1;Q.forEach((me,ue)=>{const le=de.get(ue)??[],he=ye;ye+=le.length,le.forEach((De,Ie)=>{De.textContent=String(he+Ie)});const Ce=me.querySelector(".docs-page-footnotes");if(Ce!=null&&Ce.querySelector(".docs-footnote-item-text:focus")||(Ce==null||Ce.remove(),le.length===0))return;const Te=document.createElement("div");Te.className="docs-page-footnotes";const Ne=document.createElement("div");Ne.className="docs-footnotes-sep",Te.appendChild(Ne),le.forEach((De,Ie)=>{const Ve=document.createElement("div");Ve.className="docs-footnote-item";const xt=document.createElement("sup");xt.className="docs-footnote-item-num",xt.textContent=String(he+Ie);const $e=M(De);De.dataset.footnoteItemId=`fn-${ue}-${Ie}`,Ve.id=`fn-${ue}-${Ie}`,Ve.appendChild(xt),Ve.appendChild($e),Te.appendChild(Ve)});const Me=me.querySelector(".breaker");Me?Me.insertBefore(Te,Me.firstChild):me.appendChild(Te)})};s.watch(X,C=>{!C||!O.value||O.value.view.dom.addEventListener("click",T=>{const M=T.target.closest(".docs-footnote-ref");if(!M)return;T.preventDefault(),T.stopPropagation();const Q=M.dataset.footnoteItemId;if(!Q)return;const se=document.getElementById(Q),de=se==null?void 0:se.querySelector(".docs-footnote-item-text");if(de){de.scrollIntoView({behavior:"smooth",block:"nearest"}),de.focus();const ye=document.createRange();ye.selectNodeContents(de),ye.collapse(!1);const ve=window.getSelection();ve==null||ve.removeAllRanges(),ve==null||ve.addRange(ye)}})});function da(C){hn&&clearTimeout(hn),hn=setTimeout(()=>{hn=null,ua()},C)}const Kc=()=>{Ai&&clearTimeout(Ai),hn&&(clearTimeout(hn),hn=null),Ai=setTimeout(()=>{Ai=null,ua()},150)};return s.watch(X,C=>{var M;if(!C||!O.value)return;da(150),O.value.on("update",()=>{da(60)}),O.value.on("selectionUpdate",()=>{da(100)});const T=O.value.storage.citationEngine;(M=T==null?void 0:T.engine)==null||M.onChange(()=>{da(30)}),window.addEventListener("resize",Kc)}),(C,T)=>(s.openBlock(),s.createElementBlock("div",tT,[oe.value?s.createCommentVNode("",!0):(s.openBlock(),s.createBlock(Tf,{key:0,title:e.title,editable:e.editable,collaborators:e.collaborators,starred:e.starred,"user-name":e.userName,"user-avatar":e.userAvatar,pageless:m.value,"outline-open":$.value==="toc","show-ruler":W.value,"focus-mode":oe.value,onMenuClick:s.unref(Kh),onBack:T[0]||(T[0]=M=>C.$emit("back")),"onUpdate:title":T[1]||(T[1]=M=>C.$emit("update:title",M)),onToggleStar:T[2]||(T[2]=M=>C.$emit("toggle-star")),onExport:T[3]||(T[3]=M=>C.$emit("export",M)),onShare:T[4]||(T[4]=M=>C.$emit("share"))},{actions:s.withCtx(()=>[s.renderSlot(C.$slots,"header-actions",{},void 0,!0)]),"overflow-actions":s.withCtx(M=>[s.renderSlot(C.$slots,"overflow-actions",s.normalizeProps(s.guardReactiveProps(M)),void 0,!0)]),"user-menu":s.withCtx(M=>[s.renderSlot(C.$slots,"user-menu",s.normalizeProps(s.guardReactiveProps(M)),void 0,!0)]),_:3},8,["title","editable","collaborators","starred","user-name","user-avatar","pageless","outline-open","show-ruler","focus-mode","onMenuClick"])),oe.value?s.createCommentVNode("",!0):(s.openBlock(),s.createBlock(Nf,{key:1,actions:s.unref(F),plugins:e.plugins,editor:s.unref(O),"active-sidebar":$.value,onToggleSidebar:s.unref(Yi),onPrint:s.unref(Gc)},null,8,["actions","plugins","editor","active-sidebar","onToggleSidebar","onPrint"])),W.value&&!oe.value?(s.openBlock(),s.createBlock(o1,{key:2,"layout-options":p.value},null,8,["layout-options"])):s.createCommentVNode("",!0),oe.value?(s.openBlock(),s.createElementBlock("button",{key:3,type:"button",class:"fixed right-4 top-4 z-50 flex h-11 w-11 items-center justify-center rounded-full border border-slate-200 bg-white text-slate-600 shadow-md transition-colors hover:bg-slate-100 dark:border-white/10 dark:bg-[#0e1525] dark:text-slate-300 dark:hover:bg-white/5",title:s.unref(o)("header.focusMode"),"aria-label":s.unref(o)("header.focusMode"),onClick:T[5]||(T[5]=M=>oe.value=!1)},[s.createVNode(s.unref(a0),{class:"h-5 w-5"})],8,nT)):s.createCommentVNode("",!0),s.createVNode(Of,{visible:B.value,actions:s.unref(F),position:j.value,editor:s.unref(O),onChat:as},null,8,["visible","actions","position","editor"]),s.createVNode(mf,{editor:s.unref(O),commands:re.value},null,8,["editor","commands"]),s.createElementVNode("div",iT,[s.createVNode(U8,{"is-open":ia.value,editor:s.unref(O),onClose:T[6]||(T[6]=M=>ia.value=!1)},null,8,["is-open","editor"]),$.value==="toc"?(s.openBlock(),s.createBlock(Df,{key:0,editor:s.unref(O),onClose:T[7]||(T[7]=M=>$.value=null)},null,8,["editor"])):(s.openBlock(),s.createElementBlock("button",{key:1,type:"button",class:"absolute left-4 top-4 z-20 flex h-11 w-11 items-center justify-center rounded-full border border-slate-200 bg-white text-slate-600 shadow-md transition-colors hover:bg-slate-100 dark:border-white/10 dark:bg-[#0e1525] dark:text-slate-300 dark:hover:bg-white/5",title:s.unref(o)("editor.showOutline"),onClick:T[8]||(T[8]=M=>s.unref(Yi)("toc"))},[s.createVNode(s.unref(n0),{class:"h-5 w-5"})],8,rT)),s.createElementVNode("div",{ref_key:"scrollContainerRef",ref:wt,class:"docs-editor-scroll relative flex flex-1 overflow-auto px-4 py-6 bg-slate-100 dark:bg-[#02040a]",onScroll:qt},[W.value&&!oe.value?(s.openBlock(),s.createBlock(c1,{key:0,"layout-options":p.value},null,8,["layout-options"])):s.createCommentVNode("",!0),s.createElementVNode("div",aT,[s.createElementVNode("div",{class:"relative w-full",style:s.normalizeStyle({maxWidth:h.value})},[b.value?(s.openBlock(),s.createBlock(mb,{key:0,data:s.unref(Ko),"is-ready":s.unref(dn)},null,8,["data","is-ready"])):s.createCommentVNode("",!0),s.unref(X)?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("div",{key:1,class:"absolute inset-0 z-10 flex flex-col items-center justify-center bg-white dark:bg-[#0e1525]/60 backdrop-blur-[2px] gap-3 rounded-lg","aria-label":s.unref(o)("editor.loadingDocument")},null,8,oT)),s.createElementVNode("div",{ref_key:"editorRef",ref:Ut,class:s.normalizeClass(["docs-editor__paper outline-none text-slate-800 dark:text-[#e2e8f0]",{"opacity-40":!s.unref(X)}])},null,2)],4)])],544),$.value==="references"?(s.openBlock(),s.createBlock(Zx,{key:2,sources:fe.value,"active-style":Oe.value,"picker-mode":Se.value,"can-import":$i.value,importing:qe.value,"import-message":Nt.value,onClose:T[9]||(T[9]=M=>$.value=null),onInsert:On,onCreate:un,onUpdate:Nn,onRemove:Yn,"onUpdate:style":Ht,onImportDoi:Hr,onImportBibliography:qr},null,8,["sources","active-style","picker-mode","can-import","importing","import-message"])):s.createCommentVNode("",!0),$.value==="comments"?(s.openBlock(),s.createBlock(_h,{key:3,comments:n.comments,"selected-text-snippet":n.selectedTextSnippet,"selected-text-index":n.selectedTextIndex,"orphaned-ids":q.value,onClose:T[10]||(T[10]=M=>$.value=null),onAddComment:T[11]||(T[11]=(M,Q,se)=>C.$emit("add-comment",M,Q,se)),onAddReply:T[12]||(T[12]=(M,Q)=>C.$emit("add-reply",M,Q)),onResolveComment:T[13]||(T[13]=M=>C.$emit("resolve-comment",M)),onDeleteComment:T[14]||(T[14]=M=>C.$emit("delete-comment",M))},null,8,["comments","selected-text-snippet","selected-text-index","orphaned-ids"])):s.createCommentVNode("",!0),$.value==="history"?(s.openBlock(),s.createBlock(Sh,{key:4,snapshots:n.snapshots,"active-preview-index":n.activePreviewIndex,onSaveSnapshot:T[15]||(T[15]=M=>C.$emit("save-snapshot",M)),onRestoreSnapshot:T[16]||(T[16]=M=>C.$emit("restore-snapshot",M)),onPreviewSnapshot:T[17]||(T[17]=M=>C.$emit("preview-snapshot",M))},null,8,["snapshots","active-preview-index"])):s.createCommentVNode("",!0),$.value==="ai"?(s.openBlock(),s.createBlock(wh,{key:5,editor:s.unref(O),"ai-stream":n.aiStream,"ai-draft":n.aiDraft,onClose:T[18]||(T[18]=M=>$.value=null)},null,8,["editor","ai-stream","ai-draft"])):s.createCommentVNode("",!0)]),oe.value?s.createCommentVNode("",!0):(s.openBlock(),s.createBlock(Mf,{key:4,"connection-state":e.connectionState,"saving-status":L.value,"last-saved":D.value,"word-count":I.value,"char-count":N.value,"page-count":jt.value,"current-page":gt.value,"page-size":f.value,"page-sizes":s.unref(rr.PAGE_SIZES),pageless:m.value,"onUpdate:pageSize":T[19]||(T[19]=M=>{f.value=M,i("update:pageSize",M)})},null,8,["connection-state","saving-status","last-saved","word-count","char-count","page-count","current-page","page-size","page-sizes","pageless"])),Gr.value?(s.openBlock(),s.createElementBlock("div",sT,[s.createElementVNode("div",lT,[s.createElementVNode("h2",cT,s.toDisplayString(s.unref(o)("editor.headerFooter.headerFooterFormatTitle")),1),s.createElementVNode("div",uT,[s.createElementVNode("h3",dT,s.toDisplayString(s.unref(o)("editor.headerFooter.marginSection")),1),s.createElementVNode("div",fT,[s.createElementVNode("div",null,[s.createElementVNode("label",pT,s.toDisplayString(s.unref(o)("editor.headerFooter.headerTopMargin"))+" (cm) ",1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[20]||(T[20]=M=>Ki.value=M),type:"number",min:Vs,max:Us,step:nf,class:"w-full rounded-lg border border-slate-300 dark:border-slate-700 bg-white dark:bg-[#1a2332] px-3.5 py-2 text-sm text-slate-800 dark:text-slate-100 focus:border-blue-600 focus:ring-2 focus:ring-blue-500/20 focus:outline-none transition-all"},null,512),[[s.vModelText,Ki.value,void 0,{number:!0}]])]),s.createElementVNode("div",null,[s.createElementVNode("label",mT,s.toDisplayString(s.unref(o)("editor.headerFooter.footerBottomMargin"))+" (cm) ",1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[21]||(T[21]=M=>Xi.value=M),type:"number",min:Vs,max:Us,step:nf,class:"w-full rounded-lg border border-slate-300 dark:border-slate-700 bg-white dark:bg-[#1a2332] px-3.5 py-2 text-sm text-slate-800 dark:text-slate-100 focus:border-blue-600 focus:ring-2 focus:ring-blue-500/20 focus:outline-none transition-all"},null,512),[[s.vModelText,Xi.value,void 0,{number:!0}]])])])]),s.createElementVNode("div",hT,[s.createElementVNode("h3",bT,s.toDisplayString(s.unref(o)("editor.headerFooter.layoutSection")),1),s.createElementVNode("div",gT,[s.createElementVNode("label",vT,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[22]||(T[22]=M=>Kr.value=M),type:"checkbox",class:"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500"},null,512),[[s.vModelCheckbox,Kr.value]]),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.differentFirstPage")),1)]),s.createElementVNode("label",xT,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[23]||(T[23]=M=>Xr.value=M),type:"checkbox",class:"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500"},null,512),[[s.vModelCheckbox,Xr.value]]),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.differentOddEven")),1)])])]),s.createElementVNode("div",yT,[s.createElementVNode("button",{type:"button",class:"rounded-full px-5 py-2 text-xs font-semibold text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-950/40 transition-colors",onClick:T[24]||(T[24]=M=>Gr.value=!1)},s.toDisplayString(s.unref(o)("editor.headerFooter.cancel")),1),s.createElementVNode("button",{type:"button",class:"rounded-full bg-blue-600 hover:bg-blue-700 px-6 py-2 text-xs font-semibold text-white shadow-md transition-colors",onClick:Ph},s.toDisplayString(s.unref(o)("editor.headerFooter.apply")),1)])])])):s.createCommentVNode("",!0),Jr.value?(s.openBlock(),s.createElementBlock("div",kT,[s.createElementVNode("div",wT,[s.createElementVNode("h2",_T,s.toDisplayString(s.unref(o)("editor.headerFooter.pageNumberTitle")),1),s.createElementVNode("div",ST,[s.createElementVNode("h3",CT,s.toDisplayString(s.unref(o)("editor.headerFooter.positionSection")),1),s.createElementVNode("div",ET,[s.createElementVNode("label",AT,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[25]||(T[25]=M=>Mn.value=M),type:"radio",value:"header",class:"w-4 h-4 text-blue-600 focus:ring-blue-500"},null,512),[[s.vModelRadio,Mn.value]]),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.positionHeader")),1)]),s.createElementVNode("label",TT,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[26]||(T[26]=M=>Mn.value=M),type:"radio",value:"footer",class:"w-4 h-4 text-blue-600 focus:ring-blue-500"},null,512),[[s.vModelRadio,Mn.value]]),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.positionFooter")),1)]),s.createElementVNode("label",NT,[s.createElementVNode("input",{checked:Mh.value,type:"checkbox",class:"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500",onChange:Dh},null,40,OT),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.showOnFirstPage")),1)])])]),s.createElementVNode("div",MT,[s.createElementVNode("h3",DT,s.toDisplayString(s.unref(o)("editor.headerFooter.placementSection")),1),s.createElementVNode("div",{class:"grid grid-cols-3 gap-2",role:"group","aria-label":s.unref(o)("editor.headerFooter.alignPlacement")},[(s.openBlock(),s.createElementBlock(s.Fragment,null,s.renderList(["left","center","right"],M=>s.createElementVNode("button",{key:M,type:"button",class:s.normalizeClass(["flex items-center justify-center rounded-lg border px-3 py-2 transition-colors",Th.value===M?"border-blue-600 bg-blue-50 text-blue-700 dark:bg-blue-950/40 dark:text-blue-300":"border-slate-300 dark:border-slate-700 text-slate-600 dark:text-slate-300 hover:bg-slate-50 dark:hover:bg-white/5"]),title:s.unref(o)(`editor.headerFooter.align${M==="left"?"Left":M==="center"?"Center":"Right"}`),onClick:Q=>Nh(M)},[(s.openBlock(),s.createElementBlock("svg",RT,[s.createElementVNode("path",{d:Oh(M)},null,8,LT)]))],10,IT)),64))],8,zT),s.createElementVNode("p",BT,s.toDisplayString(s.unref(o)("editor.headerFooter.placementHint")),1)]),s.createElementVNode("div",PT,[s.createElementVNode("h3",FT,s.toDisplayString(s.unref(o)("editor.headerFooter.numberingSection")),1),s.createElementVNode("div",VT,[s.createElementVNode("div",UT,[s.createElementVNode("label",HT,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[27]||(T[27]=M=>Ci.value=M),type:"radio",value:"startAt",class:"w-4 h-4 text-blue-600 focus:ring-blue-500"},null,512),[[s.vModelRadio,Ci.value]]),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.startAt")),1)]),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[28]||(T[28]=M=>Yr.value=M),type:"number",min:"1",class:"w-16 rounded-md border border-slate-300 dark:border-slate-700 bg-white dark:bg-[#1a2332] px-2.5 py-1 text-xs text-slate-800 dark:text-slate-100 focus:border-blue-600 focus:outline-none"},null,512),[[s.vModelText,Yr.value]])]),s.createElementVNode("label",qT,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[29]||(T[29]=M=>Ci.value=M),type:"radio",value:"continue",class:"w-4 h-4 text-blue-600 focus:ring-blue-500"},null,512),[[s.vModelRadio,Ci.value]]),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.continueFromPrevious")),1)]),s.createElementVNode("div",jT,[s.createElementVNode("label",$T,s.toDisplayString(s.unref(o)("editor.headerFooter.hideOnPages")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[30]||(T[30]=M=>Si.value=M),type:"text",placeholder:s.unref(o)("editor.headerFooter.hideOnPagesPlaceholder"),class:"w-full rounded-md border border-slate-300 dark:border-slate-700 bg-white dark:bg-[#1a2332] px-2.5 py-1.5 text-xs text-slate-800 dark:text-slate-100 focus:border-blue-600 focus:outline-none"},null,8,WT),[[s.vModelText,Si.value]]),s.createElementVNode("p",GT,s.toDisplayString(s.unref(o)("editor.headerFooter.hideOnPagesHint")),1)])])]),s.createElementVNode("div",KT,[s.createElementVNode("button",{type:"button",class:"rounded-full px-5 py-2 text-xs font-semibold text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-950/40 transition-colors",onClick:T[31]||(T[31]=M=>Jr.value=!1)},s.toDisplayString(s.unref(o)("editor.headerFooter.cancel")),1),s.createElementVNode("button",{type:"button",class:"rounded-full bg-blue-600 hover:bg-blue-700 px-6 py-2 text-xs font-semibold text-white shadow-md transition-colors",onClick:Fh},s.toDisplayString(s.unref(o)("editor.headerFooter.apply")),1)])])])):s.createCommentVNode("",!0),s.createVNode(Eh,{"is-open":ts.value,"document-title":n.title,"share-url":n.shareUrl,onClose:T[32]||(T[32]=M=>ts.value=!1),onCopyLink:T[33]||(T[33]=M=>i("share"))},null,8,["is-open","document-title","share-url"]),s.createVNode(Ch,{"is-open":es.value,meta:n.documentMeta,onClose:T[34]||(T[34]=M=>es.value=!1)},null,8,["is-open","meta"]),s.createVNode(Y8,{"is-open":Zi.value,"initial-text":ra.value,"initial-url":ns.value,"is-editing":aa.value,onApply:zh,onRemove:Ih,onClose:T[35]||(T[35]=M=>Zi.value=!1)},null,8,["is-open","initial-text","initial-url","is-editing"]),na.value?(s.openBlock(),s.createElementBlock("div",XT,[s.createElementVNode("div",JT,[s.createElementVNode("h2",ZT,s.toDisplayString(s.unref(o)("editor.pageSetup.title")),1),s.createElementVNode("div",QT,[s.createElementVNode("label",YT,s.toDisplayString(s.unref(o)("editor.pageSetup.paperSize")),1),s.withDirectives(s.createElementVNode("select",{"onUpdate:modelValue":T[36]||(T[36]=M=>oa.value=M),class:"w-full rounded-md border border-slate-200 bg-transparent px-3 py-2 text-xs focus:outline-none dark:border-slate-700"},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(s.unref(rr.PAGE_SIZES),M=>(s.openBlock(),s.createElementBlock("option",{key:M.id,value:M.id},s.toDisplayString(M.name),9,eN))),128))],512),[[s.vModelSelect,oa.value]])]),s.createElementVNode("div",tN,[s.createElementVNode("label",nN,s.toDisplayString(s.unref(o)("editor.pageSetup.orientation")),1),s.createElementVNode("div",iN,[s.createElementVNode("button",{type:"button",class:s.normalizeClass(["flex-1 rounded-md border px-3 py-2 text-xs font-medium transition-colors",ii.value==="portrait"?"border-cyan-500 bg-cyan-50 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-300":"border-slate-200 hover:bg-slate-50 dark:border-slate-700 dark:hover:bg-white/5"]),onClick:T[37]||(T[37]=M=>ii.value="portrait")},s.toDisplayString(s.unref(o)("editor.pageSetup.portrait")),3),s.createElementVNode("button",{type:"button",class:s.normalizeClass(["flex-1 rounded-md border px-3 py-2 text-xs font-medium transition-colors",ii.value==="landscape"?"border-cyan-500 bg-cyan-50 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-300":"border-slate-200 hover:bg-slate-50 dark:border-slate-700 dark:hover:bg-white/5"]),onClick:T[38]||(T[38]=M=>ii.value="landscape")},s.toDisplayString(s.unref(o)("editor.pageSetup.landscape")),3)])]),s.createElementVNode("div",rN,[s.createElementVNode("label",aN,s.toDisplayString(s.unref(o)("editor.pageSetup.margins"))+" (cm)",1),s.createElementVNode("div",oN,[s.createElementVNode("div",null,[s.createElementVNode("label",sN,s.toDisplayString(s.unref(o)("editor.pageSetup.top")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[39]||(T[39]=M=>et.value.top=M),type:"number",min:Oi,max:s.unref(Qi),step:"0.1",class:"w-full rounded-md border border-slate-200 bg-transparent px-3 py-1.5 text-xs focus:outline-none dark:border-slate-700"},null,8,lN),[[s.vModelText,et.value.top,void 0,{number:!0}]])]),s.createElementVNode("div",null,[s.createElementVNode("label",cN,s.toDisplayString(s.unref(o)("editor.pageSetup.bottom")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[40]||(T[40]=M=>et.value.bottom=M),type:"number",min:Oi,max:s.unref(Qi),step:"0.1",class:"w-full rounded-md border border-slate-200 bg-transparent px-3 py-1.5 text-xs focus:outline-none dark:border-slate-700"},null,8,uN),[[s.vModelText,et.value.bottom,void 0,{number:!0}]])]),s.createElementVNode("div",null,[s.createElementVNode("label",dN,s.toDisplayString(s.unref(o)("editor.pageSetup.left")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[41]||(T[41]=M=>et.value.left=M),type:"number",min:Oi,max:s.unref(Qi),step:"0.1",class:"w-full rounded-md border border-slate-200 bg-transparent px-3 py-1.5 text-xs focus:outline-none dark:border-slate-700"},null,8,fN),[[s.vModelText,et.value.left,void 0,{number:!0}]])]),s.createElementVNode("div",null,[s.createElementVNode("label",pN,s.toDisplayString(s.unref(o)("editor.pageSetup.right")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[42]||(T[42]=M=>et.value.right=M),type:"number",min:Oi,max:s.unref(Qi),step:"0.1",class:"w-full rounded-md border border-slate-200 bg-transparent px-3 py-1.5 text-xs focus:outline-none dark:border-slate-700"},null,8,mN),[[s.vModelText,et.value.right,void 0,{number:!0}]])])])]),s.createElementVNode("div",hN,[s.createElementVNode("button",{type:"button",class:"rounded-md px-3 py-1.5 text-xs font-semibold hover:bg-slate-100 dark:hover:bg-white/5",onClick:T[43]||(T[43]=M=>na.value=!1)},s.toDisplayString(s.unref(o)("editor.pageSetup.cancel")),1),s.createElementVNode("button",{type:"button",class:"rounded-md bg-blue-600 px-3 py-1.5 text-xs font-semibold text-white hover:bg-blue-700",onClick:Lh},s.toDisplayString(s.unref(o)("editor.pageSetup.apply")),1)])])])):s.createCommentVNode("",!0)]))}}),vN=Ll(gN,[["__scopeId","data-v-fbde8934"]]),xN={class:"docs-editor-pages flex flex-col items-center gap-10"},yN=["data-page-index"],kN=["data-node-type","data-from","data-to"],wN=["innerHTML"],_N={key:1,class:"docs-editor-page__block-fallback flex justify-between text-sm text-slate-700"},SN={class:"docs-editor-page__block-type font-medium"},CN={class:"docs-editor-page__block-range text-slate-500"},EN=s.defineComponent({__name:"PageView",props:{pages:{},editor:{default:null},layoutOptions:{default:()=>({pageWidth:794,pageHeight:1123,margins:{top:96,bottom:96,left:96,right:96}})},isPageless:{type:Boolean,default:!1},pageColor:{default:"#ffffff"}},setup(e){const t=e,n=s.ref(0),i=()=>{n.value++};s.watch(()=>t.editor,(p,h)=>{h&&typeof h.off=="function"&&h.off("update",i),p&&typeof p.on=="function"&&p.on("update",i)},{immediate:!0}),s.onUnmounted(()=>{t.editor&&typeof t.editor.off=="function"&&t.editor.off("update",i)});const r=s.computed(()=>{var p,h;return((h=(p=t.editor)==null?void 0:p.view)==null?void 0:h.dom)??null}),a=s.computed(()=>{var p,h,g;return{pageHeight:((p=t.layoutOptions)==null?void 0:p.pageHeight)??1123,pageWidth:((h=t.layoutOptions)==null?void 0:h.pageWidth)??794,margins:((g=t.layoutOptions)==null?void 0:g.margins)??{top:96,bottom:96,left:96,right:96},maxCharsPerPage:0}}),o=s.computed(()=>{const{pageWidth:p,pageHeight:h,margins:g}=a.value;return t.isPageless?{width:`${p}px`,minHeight:"auto",height:"auto",paddingTop:`${g.top}px`,paddingBottom:`${g.bottom}px`,paddingLeft:`${g.left}px`,paddingRight:`${g.right}px`,backgroundColor:t.pageColor,boxShadow:"none",border:"none",borderRadius:"0"}:{width:`${p}px`,height:`${h}px`,paddingTop:`${g.top}px`,paddingBottom:`${g.bottom}px`,paddingLeft:`${g.left}px`,paddingRight:`${g.right}px`}}),l=()=>r.value?Array.from(r.value.children).filter(p=>p instanceof HTMLElement):[],c=p=>l().find(g=>{const b=parseInt(g.getAttribute("data-from")??"-1",10),y=parseInt(g.getAttribute("data-to")??"-1",10);return b>=0&&y>=b&&b<=p.from&&y>=p.to})??null,u=p=>{if(!t.editor||!r.value||!c(p))return null;try{const g=t.editor.view,b=g.domAtPos(p.from),y=g.domAtPos(p.to);if(!b||!y)return null;const v=document.createRange();v.setStart(b.node,b.offset),v.setEnd(y.node,y.offset);const x=v.cloneContents(),k=document.createElement("div");return k.appendChild(x),k.innerHTML}catch{return null}},f=s.computed(()=>{n.value;const p=new Map;if(!t.editor||!r.value)return p;for(const h of t.pages)for(const g of h.blocks){const b=`${g.from}-${g.to}-${g.nodeType}`;if(p.has(b))continue;const y=u(g);y!==null&&p.set(b,y)}return p}),m=p=>f.value.get(`${p.from}-${p.to}-${p.nodeType}`)??null;return(p,h)=>(s.openBlock(),s.createElementBlock("div",xN,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.pages,(g,b)=>(s.openBlock(),s.createElementBlock("div",{key:`${b}-${g.from}-${g.to}`,class:s.normalizeClass(["docs-editor-page tiptap ProseMirror relative box-border overflow-hidden text-slate-800 dark:text-[#e2e8f0]",e.isPageless?"":"editor-page-shadow rounded-lg border border-slate-200/70 bg-white dark:border-white/5 dark:bg-[#0a0f1e]"]),"data-page-index":b,style:s.normalizeStyle(o.value)},[s.createElementVNode("div",{class:"docs-editor-page__blocks flex flex-col",style:s.normalizeStyle(e.isPageless?{}:{height:"100%",overflow:"hidden"})},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(g.blocks,y=>(s.openBlock(),s.createElementBlock("div",{key:`${y.from}-${y.to}`,class:"docs-editor-page__block","data-node-type":y.nodeType,"data-from":y.from,"data-to":y.to},[m(y)!==null?(s.openBlock(),s.createElementBlock("div",{key:0,class:"docs-editor-page__block-content",innerHTML:m(y)},null,8,wN)):(s.openBlock(),s.createElementBlock("div",_N,[s.createElementVNode("span",SN,s.toDisplayString(y.nodeType),1),s.createElementVNode("span",CN,s.toDisplayString(y.from)+"–"+s.toDisplayString(y.to),1)]))],8,kN))),128))],4)],14,yN))),128))]))}}),AN={class:"docs-editor-left-sidebar flex w-14 flex-shrink-0 flex-col items-center border-r border-slate-200 bg-slate-50/50 py-3 dark:border-slate-800 dark:bg-[#080d1a] md:w-64 md:items-stretch md:px-3"},TN={class:"mb-4 flex items-center justify-between px-1"},NN=["title"],ON={class:"hidden flex-col gap-4 md:flex"},MN={class:"flex items-center justify-between px-2"},DN={class:"text-xs font-semibold text-slate-500 dark:text-slate-400 uppercase tracking-wide"},zN=["title"],IN={class:"flex flex-col gap-1 pr-1"},RN=["onClick"],LN={class:"truncate"},BN={key:1,class:"flex flex-1 items-center gap-2 pr-6"},PN=["onBlur","onKeydown"],FN={class:"relative flex items-center"},VN=["onClick"],UN={key:1,class:"absolute right-0 top-6 z-50 w-28 rounded-lg border border-slate-200/80 bg-white py-1 shadow-lg dark:border-slate-700 dark:bg-slate-800 text-slate-700 dark:text-slate-200"},HN=["onClick"],qN=["disabled","onClick"],jN={class:"flex flex-col gap-1.5 px-2"},$N={class:"text-xs font-semibold text-slate-500 dark:text-slate-400 uppercase tracking-wide"},WN={key:0,class:"flex flex-col gap-1 mt-1"},GN=["onClick"],KN={key:1,class:"text-xs leading-relaxed text-slate-400 dark:text-slate-500 italic mt-1 font-sans"},XN={class:"flex flex-col gap-2 md:hidden"},JN=["title","onClick"],ZN=s.defineComponent({__name:"DocumentTabsSidebar",props:{tabs:{default:()=>[{id:"tab-1",label:"Tab 1",active:!0}]},editor:{default:null},backTitle:{default:""}},emits:["collapse","add-tab","select-tab","delete-tab","rename-tab"],setup(e,{emit:t}){const{t:n}=ht(),i=e,r=s.computed(()=>i.backTitle||n("common.cancel")),a=t,o=s.ref(null),l=s.ref(null),c=s.ref(""),u=x=>{l.value=x.id,c.value=x.label,o.value=null},f=x=>{c.value.trim()&&a("rename-tab",{id:x,label:c.value.trim()}),l.value=null},m=()=>{l.value=null},p=x=>{a("delete-tab",x),o.value=null},h=x=>{o.value=o.value===x?null:x},g=s.ref([]),b=()=>{if(!i.editor)return;const x=[];i.editor.state.doc.descendants((k,w)=>{if(k.type.name==="heading"){const S=k.attrs.level;(S===1||S===2||S===3)&&x.push({id:`heading-${w}`,text:k.textContent.trim()||n("documentTabs.untitledHeading").replace("{level}",String(S)),level:S,pos:w})}return!0}),g.value=x};let y=null;s.watch(()=>i.editor,x=>{if(y&&(y(),y=null),!x){g.value=[];return}b();const k=()=>{b()};x.on("update",k),y=()=>{x.off("update",k)}},{immediate:!0});const v=x=>{i.editor&&(i.editor.chain().focus().setTextSelection(x.pos).run(),setTimeout(()=>{var S;const k=document.querySelector(".docs-editor-scroll");if(!k)return;const w=k.querySelectorAll(".ProseMirror h1, .ProseMirror h2, .ProseMirror h3");for(const A of Array.from(w))if(((S=A.textContent)==null?void 0:S.trim())===x.text){A.scrollIntoView({behavior:"smooth",block:"center"});return}},50))};return(x,k)=>(s.openBlock(),s.createElementBlock("aside",AN,[s.createElementVNode("div",TN,[s.createElementVNode("button",{type:"button",class:"flex h-8 w-8 items-center justify-center rounded-full text-slate-500 transition-colors hover:bg-slate-200/80 dark:text-slate-400 dark:hover:bg-slate-800/80",title:r.value,onClick:k[0]||(k[0]=w=>a("collapse"))},[s.createVNode(s.unref(Sb),{class:"h-[18px] w-[18px]"})],8,NN)]),s.createElementVNode("div",ON,[s.createElementVNode("div",MN,[s.createElementVNode("span",DN,s.toDisplayString(s.unref(n)("documentTabs.documentTabs")),1),s.createElementVNode("button",{type:"button",class:"flex h-6 w-6 items-center justify-center rounded-full text-slate-600 hover:bg-slate-200 dark:text-slate-400 dark:hover:bg-slate-800 transition-colors",title:s.unref(n)("documentTabs.addTab"),onClick:k[1]||(k[1]=w=>a("add-tab"))},[s.createVNode(s.unref($n),{class:"h-4 w-4"})],8,zN)]),s.createElementVNode("div",IN,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.tabs,w=>(s.openBlock(),s.createElementBlock("div",{key:w.id,class:s.normalizeClass(["group relative flex w-full items-center justify-between rounded-r-full py-1.5 pl-3 pr-2 text-left text-sm transition-all",[w.active?"bg-[#c2e7ff]/70 text-[#001d35] dark:bg-blue-950/40 dark:text-blue-200 font-medium":"text-slate-700 hover:bg-slate-200/40 dark:text-slate-300 dark:hover:bg-slate-800/30"]])},[l.value!==w.id?(s.openBlock(),s.createElementBlock("button",{key:0,type:"button",class:"flex flex-1 items-center gap-2 truncate pr-6 text-left",onClick:S=>a("select-tab",w.id)},[s.createVNode(s.unref(dt),{class:"h-4 w-4 flex-shrink-0 opacity-70"}),s.createElementVNode("span",LN,s.toDisplayString(w.label),1)],8,RN)):s.createCommentVNode("",!0),l.value===w.id?(s.openBlock(),s.createElementBlock("div",BN,[s.createVNode(s.unref(dt),{class:"h-4 w-4 flex-shrink-0 opacity-70"}),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":k[2]||(k[2]=S=>c.value=S),type:"text",class:"flex-1 rounded border border-blue-400 bg-white px-1.5 py-0.5 text-xs text-slate-800 outline-none focus:ring-1 focus:ring-blue-400/50 dark:bg-slate-900 dark:text-slate-100",onBlur:S=>f(w.id),onKeydown:[s.withKeys(S=>f(w.id),["enter"]),s.withKeys(m,["esc"])],onClick:k[3]||(k[3]=s.withModifiers(()=>{},["stop"]))},null,40,PN),[[s.vModelText,c.value]])])):s.createCommentVNode("",!0),s.createElementVNode("div",FN,[l.value!==w.id?(s.openBlock(),s.createElementBlock("button",{key:0,type:"button",class:s.normalizeClass(["rounded-full p-1 text-slate-500 opacity-0 transition-opacity hover:bg-slate-200/70 group-hover:opacity-100 dark:hover:bg-slate-700/70",{"opacity-100":o.value===w.id}]),onClick:s.withModifiers(S=>h(w.id),["stop"])},[s.createVNode(s.unref(hf),{class:"h-3.5 w-3.5"})],10,VN)):s.createCommentVNode("",!0),o.value===w.id?(s.openBlock(),s.createElementBlock("div",UN,[s.createElementVNode("button",{type:"button",class:"flex w-full items-center px-3 py-1.5 text-xs hover:bg-slate-50 dark:hover:bg-slate-700/50",onClick:s.withModifiers(S=>u(w),["stop"])},s.toDisplayString(s.unref(n)("documentTabs.rename")),9,HN),s.createElementVNode("button",{type:"button",class:"flex w-full items-center px-3 py-1.5 text-xs text-red-600 dark:text-red-400 hover:bg-slate-50 dark:hover:bg-slate-700/50 disabled:opacity-40",disabled:e.tabs.length<=1,onClick:s.withModifiers(S=>p(w.id),["stop"])},s.toDisplayString(s.unref(n)("documentTabs.delete")),9,qN)])):s.createCommentVNode("",!0)])],2))),128))]),k[4]||(k[4]=s.createElementVNode("div",{class:"h-px bg-slate-200/80 dark:bg-slate-800 mx-2"},null,-1)),s.createElementVNode("div",jN,[s.createElementVNode("span",$N,s.toDisplayString(s.unref(n)("documentTabs.outline")),1),g.value.length>0?(s.openBlock(),s.createElementBlock("div",WN,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(g.value,w=>(s.openBlock(),s.createElementBlock("button",{key:w.id,type:"button",class:s.normalizeClass(["w-full text-left text-xs text-slate-500 dark:text-slate-400 hover:text-slate-800 dark:hover:text-slate-200 py-1 transition-colors truncate",[w.level===2?"pl-3":"",w.level===3?"pl-6":""]]),onClick:S=>v(w)},s.toDisplayString(w.text),11,GN))),128))])):(s.openBlock(),s.createElementBlock("p",KN,s.toDisplayString(s.unref(n)("documentTabs.placeholder")),1))])]),s.createElementVNode("div",XN,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(i.tabs,w=>(s.openBlock(),s.createElementBlock("button",{key:w.id,type:"button",class:s.normalizeClass(["flex h-8 w-8 items-center justify-center rounded-lg transition-colors",[w.active?"bg-blue-100 text-blue-600 dark:bg-blue-950/40 dark:text-blue-300":"text-slate-500 hover:bg-slate-200 dark:text-slate-400 dark:hover:bg-slate-800"]]),title:w.label,onClick:S=>a("select-tab",w.id)},[s.createVNode(s.unref(dt),{class:"h-4 w-4"})],10,JN))),128))])]))}});Object.defineProperty(exports,"httpKeyStorage",{enumerable:!0,get:()=>Ee.httpKeyStorage});Object.defineProperty(exports,"localStorageKeyStorage",{enumerable:!0,get:()=>Ee.localStorageKeyStorage});Object.defineProperty(exports,"memoryKeyStorage",{enumerable:!0,get:()=>Ee.memoryKeyStorage});Object.defineProperty(exports,"openaiCompatibleProvider",{enumerable:!0,get:()=>Ee.openaiCompatibleProvider});Object.defineProperty(exports,"toAIStreamFn",{enumerable:!0,get:()=>Ee.toAIStreamFn});exports.AISidebar=wh;exports.BubbleMenu=Of;exports.CommentsSidebar=_h;exports.DetailsDialog=Ch;exports.DocsEditor=vN;exports.DocumentTabsSidebar=ZN;exports.EditorToolbar=Nf;exports.EmailDialog=Eh;exports.HeaderBar=Tf;exports.HistorySidebar=Sh;exports.PageView=EN;exports.SlashMenu=mf;exports.StatusBar=Mf;exports.TOCSidebar=Df;exports.ThemeToggle=Js;exports.collectSelectionContext=Il;exports.defaultLocale=Rl;exports.getLocaleMessages=sf;exports.getLocaleName=ff;exports.getSupportedLocales=pf;exports.isLocale=Ba;exports.messages=La;exports.provideLocale=df;exports.useAIProvider=Yh;exports.useEditor=rf;exports.useLocale=ht;exports.useTheme=zo;
15278
+ `," "));try{const de=Il(C);T.context=de}catch{T.context={}}return T}let Gc=()=>window.print();const Jh=(C,T)=>{if(!O.value)return;const M=O.value.view;M.state.doc.descendants((Q,se)=>{if(Q.type.name==="footnote"&&M.nodeDOM(se)===C)return M.dispatch(M.state.tr.setNodeMarkup(se,void 0,{content:T})),!1})};let hn=null,Ai=null;const ua=()=>{var ve;if(!O.value||!X.value)return;const C=O.value.view.dom,T=C.querySelector("[data-rm-pagination]");if(!T)return;const M=me=>{var he,Ce,Te;const ue=document.createElement("div");if(ue.className="docs-footnote-item-text",me.hasAttribute("data-footnote-source-id")){const Ne=me.getAttribute("data-citation-id")??"",Me=(Ce=(he=O.value)==null?void 0:he.storage)==null?void 0:Ce.citationEngine,De=((Te=Me==null?void 0:Me.engine)==null?void 0:Te.renderCluster(Ne))??"";if(ue.classList.add("docs-footnote-item-text--citation"),De)ue.innerHTML=De;else{const Ie=me.getAttribute("data-footnote-content")??"";Ie?ue.innerHTML=Ie:ue.setAttribute("data-empty","true")}return ue}const le=me.getAttribute("data-footnote-content")??"";return ue.contentEditable="true",ue.textContent=le,le||ue.setAttribute("data-empty","true"),ue.addEventListener("input",()=>{ue.removeAttribute("data-empty"),ue.textContent||ue.setAttribute("data-empty","true")}),ue.addEventListener("blur",()=>{var Me;const Ne=((Me=ue.textContent)==null?void 0:Me.trim())??"";Jh(me,Ne)}),ue},Q=Array.from(T.querySelectorAll(".rm-page-break")),se=Array.from(C.querySelectorAll(".docs-footnote-ref"));if(Q.length===0){se.forEach((Ce,Te)=>{Ce.textContent=String(Te+1)});const me=Ut.value;if(!me||((ve=me.querySelector(".docs-pageless-footnotes"))==null||ve.remove(),se.length===0))return;const ue=me.querySelector(".docs-pageless-footnotes");if(ue!=null&&ue.querySelector(".docs-footnote-item-text:focus"))return;const le=document.createElement("div");le.className="docs-page-footnotes docs-pageless-footnotes";const he=document.createElement("div");he.className="docs-footnotes-sep",le.appendChild(he),se.forEach((Ce,Te)=>{const Ne=document.createElement("div");Ne.className="docs-footnote-item";const Me=document.createElement("sup");Me.className="docs-footnote-item-num",Me.textContent=String(Te+1);const De=M(Ce);Ce.dataset.footnoteItemId=`fn-pageless-${Te}`,Ne.id=`fn-pageless-${Te}`,Ne.appendChild(Me),Ne.appendChild(De),le.appendChild(Ne)}),me.appendChild(le);return}const de=new Map;Q.forEach((me,ue)=>de.set(ue,[])),se.forEach(me=>{const ue=me.getBoundingClientRect().top;let le=Q.length-1;for(let he=0;he<Q.length-1;he++){const Ce=Q[he].querySelector(".breaker");if(Ce&&ue<Ce.getBoundingClientRect().top){le=he;break}}de.get(le).push(me)});let ye=1;Q.forEach((me,ue)=>{const le=de.get(ue)??[],he=ye;ye+=le.length,le.forEach((De,Ie)=>{De.textContent=String(he+Ie)});const Ce=me.querySelector(".docs-page-footnotes");if(Ce!=null&&Ce.querySelector(".docs-footnote-item-text:focus")||(Ce==null||Ce.remove(),le.length===0))return;const Te=document.createElement("div");Te.className="docs-page-footnotes";const Ne=document.createElement("div");Ne.className="docs-footnotes-sep",Te.appendChild(Ne),le.forEach((De,Ie)=>{const Ve=document.createElement("div");Ve.className="docs-footnote-item";const xt=document.createElement("sup");xt.className="docs-footnote-item-num",xt.textContent=String(he+Ie);const $e=M(De);De.dataset.footnoteItemId=`fn-${ue}-${Ie}`,Ve.id=`fn-${ue}-${Ie}`,Ve.appendChild(xt),Ve.appendChild($e),Te.appendChild(Ve)});const Me=me.querySelector(".breaker");Me?Me.insertBefore(Te,Me.firstChild):me.appendChild(Te)})};s.watch(X,C=>{!C||!O.value||O.value.view.dom.addEventListener("click",T=>{const M=T.target.closest(".docs-footnote-ref");if(!M)return;T.preventDefault(),T.stopPropagation();const Q=M.dataset.footnoteItemId;if(!Q)return;const se=document.getElementById(Q),de=se==null?void 0:se.querySelector(".docs-footnote-item-text");if(de){de.scrollIntoView({behavior:"smooth",block:"nearest"}),de.focus();const ye=document.createRange();ye.selectNodeContents(de),ye.collapse(!1);const ve=window.getSelection();ve==null||ve.removeAllRanges(),ve==null||ve.addRange(ye)}})});function da(C){hn&&clearTimeout(hn),hn=setTimeout(()=>{hn=null,ua()},C)}const Kc=()=>{Ai&&clearTimeout(Ai),hn&&(clearTimeout(hn),hn=null),Ai=setTimeout(()=>{Ai=null,ua()},150)};return s.watch(X,C=>{var M;if(!C||!O.value)return;da(150),O.value.on("update",()=>{da(60)}),O.value.on("selectionUpdate",()=>{da(100)});const T=O.value.storage.citationEngine;(M=T==null?void 0:T.engine)==null||M.onChange(()=>{da(30)}),window.addEventListener("resize",Kc)}),(C,T)=>(s.openBlock(),s.createElementBlock("div",tT,[oe.value?s.createCommentVNode("",!0):(s.openBlock(),s.createBlock(Tf,{key:0,title:e.title,editable:e.editable,collaborators:e.collaborators,starred:e.starred,"user-name":e.userName,"user-avatar":e.userAvatar,pageless:m.value,"outline-open":$.value==="toc","show-ruler":W.value,"focus-mode":oe.value,onMenuClick:s.unref(Kh),onBack:T[0]||(T[0]=M=>C.$emit("back")),"onUpdate:title":T[1]||(T[1]=M=>C.$emit("update:title",M)),onToggleStar:T[2]||(T[2]=M=>C.$emit("toggle-star")),onExport:T[3]||(T[3]=M=>C.$emit("export",M)),onShare:T[4]||(T[4]=M=>C.$emit("share"))},{actions:s.withCtx(()=>[s.renderSlot(C.$slots,"header-actions",{},void 0,!0)]),"overflow-actions":s.withCtx(M=>[s.renderSlot(C.$slots,"overflow-actions",s.normalizeProps(s.guardReactiveProps(M)),void 0,!0)]),"user-menu":s.withCtx(M=>[s.renderSlot(C.$slots,"user-menu",s.normalizeProps(s.guardReactiveProps(M)),void 0,!0)]),_:3},8,["title","editable","collaborators","starred","user-name","user-avatar","pageless","outline-open","show-ruler","focus-mode","onMenuClick"])),oe.value?s.createCommentVNode("",!0):(s.openBlock(),s.createBlock(Nf,{key:1,actions:s.unref(F),plugins:e.plugins,editor:s.unref(O),"active-sidebar":$.value,onToggleSidebar:s.unref(Yi),onPrint:s.unref(Gc)},null,8,["actions","plugins","editor","active-sidebar","onToggleSidebar","onPrint"])),W.value&&!oe.value?(s.openBlock(),s.createBlock(o1,{key:2,"layout-options":p.value},null,8,["layout-options"])):s.createCommentVNode("",!0),oe.value?(s.openBlock(),s.createElementBlock("button",{key:3,type:"button",class:"fixed right-4 top-4 z-50 flex h-11 w-11 items-center justify-center rounded-full border border-slate-200 bg-white text-slate-600 shadow-md transition-colors hover:bg-slate-100 dark:border-white/10 dark:bg-[#0e1525] dark:text-slate-300 dark:hover:bg-white/5",title:s.unref(o)("header.focusMode"),"aria-label":s.unref(o)("header.focusMode"),onClick:T[5]||(T[5]=M=>oe.value=!1)},[s.createVNode(s.unref(a0),{class:"h-5 w-5"})],8,nT)):s.createCommentVNode("",!0),s.createVNode(Of,{visible:B.value,actions:s.unref(F),position:j.value,editor:s.unref(O),onChat:as},null,8,["visible","actions","position","editor"]),s.createVNode(mf,{editor:s.unref(O),commands:re.value},null,8,["editor","commands"]),s.createElementVNode("div",iT,[s.createVNode(U8,{"is-open":ia.value,editor:s.unref(O),onClose:T[6]||(T[6]=M=>ia.value=!1)},null,8,["is-open","editor"]),$.value==="toc"?(s.openBlock(),s.createBlock(Df,{key:0,editor:s.unref(O),onClose:T[7]||(T[7]=M=>$.value=null)},null,8,["editor"])):(s.openBlock(),s.createElementBlock("button",{key:1,type:"button",class:"absolute left-4 top-4 z-20 flex h-11 w-11 items-center justify-center rounded-full border border-slate-200 bg-white text-slate-600 shadow-md transition-colors hover:bg-slate-100 dark:border-white/10 dark:bg-[#0e1525] dark:text-slate-300 dark:hover:bg-white/5",title:s.unref(o)("editor.showOutline"),onClick:T[8]||(T[8]=M=>s.unref(Yi)("toc"))},[s.createVNode(s.unref(n0),{class:"h-5 w-5"})],8,rT)),s.createElementVNode("div",{ref_key:"scrollContainerRef",ref:wt,class:"docs-editor-scroll relative flex flex-1 overflow-auto px-4 py-6 bg-slate-100 dark:bg-[#02040a]",onScroll:qt},[W.value&&!oe.value?(s.openBlock(),s.createBlock(c1,{key:0,"layout-options":p.value},null,8,["layout-options"])):s.createCommentVNode("",!0),s.createElementVNode("div",aT,[s.createElementVNode("div",{class:"relative w-full",style:s.normalizeStyle({maxWidth:h.value})},[b.value?(s.openBlock(),s.createBlock(mb,{key:0,data:s.unref(Ko),"is-ready":s.unref(dn)},null,8,["data","is-ready"])):s.createCommentVNode("",!0),s.unref(X)?s.createCommentVNode("",!0):(s.openBlock(),s.createElementBlock("div",{key:1,class:"absolute inset-0 z-10 flex flex-col items-center justify-center bg-white dark:bg-[#0e1525]/60 backdrop-blur-[2px] gap-3 rounded-lg","aria-label":s.unref(o)("editor.loadingDocument")},null,8,oT)),s.createElementVNode("div",{ref_key:"editorRef",ref:Ut,class:s.normalizeClass(["docs-editor__paper outline-none text-slate-800 dark:text-[#e2e8f0]",{"opacity-40":!s.unref(X)}])},null,2)],4)])],544),$.value==="references"?(s.openBlock(),s.createBlock(Zx,{key:2,sources:fe.value,"active-style":Oe.value,"picker-mode":Se.value,"can-import":$i.value,importing:qe.value,"import-message":Nt.value,onClose:T[9]||(T[9]=M=>$.value=null),onInsert:On,onCreate:un,onUpdate:Nn,onRemove:Yn,"onUpdate:style":Ht,onImportDoi:Hr,onImportBibliography:qr},null,8,["sources","active-style","picker-mode","can-import","importing","import-message"])):s.createCommentVNode("",!0),$.value==="comments"?(s.openBlock(),s.createBlock(_h,{key:3,comments:n.comments,"selected-text-snippet":n.selectedTextSnippet,"selected-text-index":n.selectedTextIndex,"orphaned-ids":q.value,onClose:T[10]||(T[10]=M=>$.value=null),onAddComment:T[11]||(T[11]=(M,Q,se)=>C.$emit("add-comment",M,Q,se)),onAddReply:T[12]||(T[12]=(M,Q)=>C.$emit("add-reply",M,Q)),onResolveComment:T[13]||(T[13]=M=>C.$emit("resolve-comment",M)),onDeleteComment:T[14]||(T[14]=M=>C.$emit("delete-comment",M))},null,8,["comments","selected-text-snippet","selected-text-index","orphaned-ids"])):s.createCommentVNode("",!0),$.value==="history"?(s.openBlock(),s.createBlock(Sh,{key:4,snapshots:n.snapshots,"active-preview-index":n.activePreviewIndex,onSaveSnapshot:T[15]||(T[15]=M=>C.$emit("save-snapshot",M)),onRestoreSnapshot:T[16]||(T[16]=M=>C.$emit("restore-snapshot",M)),onPreviewSnapshot:T[17]||(T[17]=M=>C.$emit("preview-snapshot",M))},null,8,["snapshots","active-preview-index"])):s.createCommentVNode("",!0),$.value==="ai"?(s.openBlock(),s.createBlock(wh,{key:5,editor:s.unref(O),"ai-stream":n.aiStream,"ai-draft":n.aiDraft,onClose:T[18]||(T[18]=M=>$.value=null)},null,8,["editor","ai-stream","ai-draft"])):s.createCommentVNode("",!0)]),oe.value?s.createCommentVNode("",!0):(s.openBlock(),s.createBlock(Mf,{key:4,"connection-state":e.connectionState,"saving-status":L.value,"last-saved":D.value,"word-count":I.value,"char-count":N.value,"page-count":jt.value,"current-page":gt.value,"page-size":f.value,"page-sizes":s.unref(rr.PAGE_SIZES),pageless:m.value,"onUpdate:pageSize":T[19]||(T[19]=M=>{f.value=M,i("update:pageSize",M)})},null,8,["connection-state","saving-status","last-saved","word-count","char-count","page-count","current-page","page-size","page-sizes","pageless"])),Gr.value?(s.openBlock(),s.createElementBlock("div",sT,[s.createElementVNode("div",lT,[s.createElementVNode("h2",cT,s.toDisplayString(s.unref(o)("editor.headerFooter.headerFooterFormatTitle")),1),s.createElementVNode("div",uT,[s.createElementVNode("h3",dT,s.toDisplayString(s.unref(o)("editor.headerFooter.marginSection")),1),s.createElementVNode("div",fT,[s.createElementVNode("div",null,[s.createElementVNode("label",pT,s.toDisplayString(s.unref(o)("editor.headerFooter.headerTopMargin"))+" (cm) ",1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[20]||(T[20]=M=>Ki.value=M),type:"number",min:Vs,max:Us,step:nf,class:"w-full rounded-lg border border-slate-300 dark:border-slate-700 bg-white dark:bg-[#1a2332] px-3.5 py-2 text-sm text-slate-800 dark:text-slate-100 focus:border-blue-600 focus:ring-2 focus:ring-blue-500/20 focus:outline-none transition-all"},null,512),[[s.vModelText,Ki.value,void 0,{number:!0}]])]),s.createElementVNode("div",null,[s.createElementVNode("label",mT,s.toDisplayString(s.unref(o)("editor.headerFooter.footerBottomMargin"))+" (cm) ",1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[21]||(T[21]=M=>Xi.value=M),type:"number",min:Vs,max:Us,step:nf,class:"w-full rounded-lg border border-slate-300 dark:border-slate-700 bg-white dark:bg-[#1a2332] px-3.5 py-2 text-sm text-slate-800 dark:text-slate-100 focus:border-blue-600 focus:ring-2 focus:ring-blue-500/20 focus:outline-none transition-all"},null,512),[[s.vModelText,Xi.value,void 0,{number:!0}]])])])]),s.createElementVNode("div",hT,[s.createElementVNode("h3",bT,s.toDisplayString(s.unref(o)("editor.headerFooter.layoutSection")),1),s.createElementVNode("div",gT,[s.createElementVNode("label",vT,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[22]||(T[22]=M=>Kr.value=M),type:"checkbox",class:"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500"},null,512),[[s.vModelCheckbox,Kr.value]]),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.differentFirstPage")),1)]),s.createElementVNode("label",xT,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[23]||(T[23]=M=>Xr.value=M),type:"checkbox",class:"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500"},null,512),[[s.vModelCheckbox,Xr.value]]),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.differentOddEven")),1)])])]),s.createElementVNode("div",yT,[s.createElementVNode("button",{type:"button",class:"rounded-full px-5 py-2 text-xs font-semibold text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-950/40 transition-colors",onClick:T[24]||(T[24]=M=>Gr.value=!1)},s.toDisplayString(s.unref(o)("editor.headerFooter.cancel")),1),s.createElementVNode("button",{type:"button",class:"rounded-full bg-blue-600 hover:bg-blue-700 px-6 py-2 text-xs font-semibold text-white shadow-md transition-colors",onClick:Ph},s.toDisplayString(s.unref(o)("editor.headerFooter.apply")),1)])])])):s.createCommentVNode("",!0),Jr.value?(s.openBlock(),s.createElementBlock("div",kT,[s.createElementVNode("div",wT,[s.createElementVNode("h2",_T,s.toDisplayString(s.unref(o)("editor.headerFooter.pageNumberTitle")),1),s.createElementVNode("div",ST,[s.createElementVNode("h3",CT,s.toDisplayString(s.unref(o)("editor.headerFooter.positionSection")),1),s.createElementVNode("div",ET,[s.createElementVNode("label",AT,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[25]||(T[25]=M=>Mn.value=M),type:"radio",value:"header",class:"w-4 h-4 text-blue-600 focus:ring-blue-500"},null,512),[[s.vModelRadio,Mn.value]]),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.positionHeader")),1)]),s.createElementVNode("label",TT,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[26]||(T[26]=M=>Mn.value=M),type:"radio",value:"footer",class:"w-4 h-4 text-blue-600 focus:ring-blue-500"},null,512),[[s.vModelRadio,Mn.value]]),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.positionFooter")),1)]),s.createElementVNode("label",NT,[s.createElementVNode("input",{checked:Mh.value,type:"checkbox",class:"w-4 h-4 rounded border-slate-300 text-blue-600 focus:ring-blue-500",onChange:Dh},null,40,OT),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.showOnFirstPage")),1)])])]),s.createElementVNode("div",MT,[s.createElementVNode("h3",DT,s.toDisplayString(s.unref(o)("editor.headerFooter.placementSection")),1),s.createElementVNode("div",{class:"grid grid-cols-3 gap-2",role:"group","aria-label":s.unref(o)("editor.headerFooter.alignPlacement")},[(s.openBlock(),s.createElementBlock(s.Fragment,null,s.renderList(["left","center","right"],M=>s.createElementVNode("button",{key:M,type:"button",class:s.normalizeClass(["flex items-center justify-center rounded-lg border px-3 py-2 transition-colors",Th.value===M?"border-blue-600 bg-blue-50 text-blue-700 dark:bg-blue-950/40 dark:text-blue-300":"border-slate-300 dark:border-slate-700 text-slate-600 dark:text-slate-300 hover:bg-slate-50 dark:hover:bg-white/5"]),title:s.unref(o)(`editor.headerFooter.align${M==="left"?"Left":M==="center"?"Center":"Right"}`),onClick:Q=>Nh(M)},[(s.openBlock(),s.createElementBlock("svg",RT,[s.createElementVNode("path",{d:Oh(M)},null,8,LT)]))],10,IT)),64))],8,zT),s.createElementVNode("p",BT,s.toDisplayString(s.unref(o)("editor.headerFooter.placementHint")),1)]),s.createElementVNode("div",PT,[s.createElementVNode("h3",FT,s.toDisplayString(s.unref(o)("editor.headerFooter.numberingSection")),1),s.createElementVNode("div",VT,[s.createElementVNode("div",UT,[s.createElementVNode("label",HT,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[27]||(T[27]=M=>Ci.value=M),type:"radio",value:"startAt",class:"w-4 h-4 text-blue-600 focus:ring-blue-500"},null,512),[[s.vModelRadio,Ci.value]]),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.startAt")),1)]),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[28]||(T[28]=M=>Yr.value=M),type:"number",min:"1",class:"w-16 rounded-md border border-slate-300 dark:border-slate-700 bg-white dark:bg-[#1a2332] px-2.5 py-1 text-xs text-slate-800 dark:text-slate-100 focus:border-blue-600 focus:outline-none"},null,512),[[s.vModelText,Yr.value]])]),s.createElementVNode("label",qT,[s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[29]||(T[29]=M=>Ci.value=M),type:"radio",value:"continue",class:"w-4 h-4 text-blue-600 focus:ring-blue-500"},null,512),[[s.vModelRadio,Ci.value]]),s.createElementVNode("span",null,s.toDisplayString(s.unref(o)("editor.headerFooter.continueFromPrevious")),1)]),s.createElementVNode("div",jT,[s.createElementVNode("label",$T,s.toDisplayString(s.unref(o)("editor.headerFooter.hideOnPages")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[30]||(T[30]=M=>Si.value=M),type:"text",placeholder:s.unref(o)("editor.headerFooter.hideOnPagesPlaceholder"),class:"w-full rounded-md border border-slate-300 dark:border-slate-700 bg-white dark:bg-[#1a2332] px-2.5 py-1.5 text-xs text-slate-800 dark:text-slate-100 focus:border-blue-600 focus:outline-none"},null,8,WT),[[s.vModelText,Si.value]]),s.createElementVNode("p",GT,s.toDisplayString(s.unref(o)("editor.headerFooter.hideOnPagesHint")),1)])])]),s.createElementVNode("div",KT,[s.createElementVNode("button",{type:"button",class:"rounded-full px-5 py-2 text-xs font-semibold text-blue-600 dark:text-blue-400 hover:bg-blue-50 dark:hover:bg-blue-950/40 transition-colors",onClick:T[31]||(T[31]=M=>Jr.value=!1)},s.toDisplayString(s.unref(o)("editor.headerFooter.cancel")),1),s.createElementVNode("button",{type:"button",class:"rounded-full bg-blue-600 hover:bg-blue-700 px-6 py-2 text-xs font-semibold text-white shadow-md transition-colors",onClick:Fh},s.toDisplayString(s.unref(o)("editor.headerFooter.apply")),1)])])])):s.createCommentVNode("",!0),s.createVNode(Eh,{"is-open":ts.value,"document-title":n.title,"share-url":n.shareUrl,onClose:T[32]||(T[32]=M=>ts.value=!1),onCopyLink:T[33]||(T[33]=M=>i("share"))},null,8,["is-open","document-title","share-url"]),s.createVNode(Ch,{"is-open":es.value,meta:n.documentMeta,onClose:T[34]||(T[34]=M=>es.value=!1)},null,8,["is-open","meta"]),s.createVNode(Y8,{"is-open":Zi.value,"initial-text":ra.value,"initial-url":ns.value,"is-editing":aa.value,onApply:zh,onRemove:Ih,onClose:T[35]||(T[35]=M=>Zi.value=!1)},null,8,["is-open","initial-text","initial-url","is-editing"]),na.value?(s.openBlock(),s.createElementBlock("div",XT,[s.createElementVNode("div",JT,[s.createElementVNode("h2",ZT,s.toDisplayString(s.unref(o)("editor.pageSetup.title")),1),s.createElementVNode("div",QT,[s.createElementVNode("label",YT,s.toDisplayString(s.unref(o)("editor.pageSetup.paperSize")),1),s.withDirectives(s.createElementVNode("select",{"onUpdate:modelValue":T[36]||(T[36]=M=>oa.value=M),class:"w-full rounded-md border border-slate-200 bg-transparent px-3 py-2 text-xs focus:outline-none dark:border-slate-700"},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(s.unref(rr.PAGE_SIZES),M=>(s.openBlock(),s.createElementBlock("option",{key:M.id,value:M.id},s.toDisplayString(M.name),9,eN))),128))],512),[[s.vModelSelect,oa.value]])]),s.createElementVNode("div",tN,[s.createElementVNode("label",nN,s.toDisplayString(s.unref(o)("editor.pageSetup.orientation")),1),s.createElementVNode("div",iN,[s.createElementVNode("button",{type:"button",class:s.normalizeClass(["flex-1 rounded-md border px-3 py-2 text-xs font-medium transition-colors",ii.value==="portrait"?"border-cyan-500 bg-cyan-50 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-300":"border-slate-200 hover:bg-slate-50 dark:border-slate-700 dark:hover:bg-white/5"]),onClick:T[37]||(T[37]=M=>ii.value="portrait")},s.toDisplayString(s.unref(o)("editor.pageSetup.portrait")),3),s.createElementVNode("button",{type:"button",class:s.normalizeClass(["flex-1 rounded-md border px-3 py-2 text-xs font-medium transition-colors",ii.value==="landscape"?"border-cyan-500 bg-cyan-50 text-cyan-700 dark:bg-cyan-900/30 dark:text-cyan-300":"border-slate-200 hover:bg-slate-50 dark:border-slate-700 dark:hover:bg-white/5"]),onClick:T[38]||(T[38]=M=>ii.value="landscape")},s.toDisplayString(s.unref(o)("editor.pageSetup.landscape")),3)])]),s.createElementVNode("div",rN,[s.createElementVNode("label",aN,s.toDisplayString(s.unref(o)("editor.pageSetup.margins"))+" (cm)",1),s.createElementVNode("div",oN,[s.createElementVNode("div",null,[s.createElementVNode("label",sN,s.toDisplayString(s.unref(o)("editor.pageSetup.top")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[39]||(T[39]=M=>et.value.top=M),type:"number",min:Oi,max:s.unref(Qi),step:"0.1",class:"w-full rounded-md border border-slate-200 bg-transparent px-3 py-1.5 text-xs focus:outline-none dark:border-slate-700"},null,8,lN),[[s.vModelText,et.value.top,void 0,{number:!0}]])]),s.createElementVNode("div",null,[s.createElementVNode("label",cN,s.toDisplayString(s.unref(o)("editor.pageSetup.bottom")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[40]||(T[40]=M=>et.value.bottom=M),type:"number",min:Oi,max:s.unref(Qi),step:"0.1",class:"w-full rounded-md border border-slate-200 bg-transparent px-3 py-1.5 text-xs focus:outline-none dark:border-slate-700"},null,8,uN),[[s.vModelText,et.value.bottom,void 0,{number:!0}]])]),s.createElementVNode("div",null,[s.createElementVNode("label",dN,s.toDisplayString(s.unref(o)("editor.pageSetup.left")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[41]||(T[41]=M=>et.value.left=M),type:"number",min:Oi,max:s.unref(Qi),step:"0.1",class:"w-full rounded-md border border-slate-200 bg-transparent px-3 py-1.5 text-xs focus:outline-none dark:border-slate-700"},null,8,fN),[[s.vModelText,et.value.left,void 0,{number:!0}]])]),s.createElementVNode("div",null,[s.createElementVNode("label",pN,s.toDisplayString(s.unref(o)("editor.pageSetup.right")),1),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":T[42]||(T[42]=M=>et.value.right=M),type:"number",min:Oi,max:s.unref(Qi),step:"0.1",class:"w-full rounded-md border border-slate-200 bg-transparent px-3 py-1.5 text-xs focus:outline-none dark:border-slate-700"},null,8,mN),[[s.vModelText,et.value.right,void 0,{number:!0}]])])])]),s.createElementVNode("div",hN,[s.createElementVNode("button",{type:"button",class:"rounded-md px-3 py-1.5 text-xs font-semibold hover:bg-slate-100 dark:hover:bg-white/5",onClick:T[43]||(T[43]=M=>na.value=!1)},s.toDisplayString(s.unref(o)("editor.pageSetup.cancel")),1),s.createElementVNode("button",{type:"button",class:"rounded-md bg-blue-600 px-3 py-1.5 text-xs font-semibold text-white hover:bg-blue-700",onClick:Lh},s.toDisplayString(s.unref(o)("editor.pageSetup.apply")),1)])])])):s.createCommentVNode("",!0)]))}}),vN=Ll(gN,[["__scopeId","data-v-73349cd3"]]),xN={class:"docs-editor-pages flex flex-col items-center gap-10"},yN=["data-page-index"],kN=["data-node-type","data-from","data-to"],wN=["innerHTML"],_N={key:1,class:"docs-editor-page__block-fallback flex justify-between text-sm text-slate-700"},SN={class:"docs-editor-page__block-type font-medium"},CN={class:"docs-editor-page__block-range text-slate-500"},EN=s.defineComponent({__name:"PageView",props:{pages:{},editor:{default:null},layoutOptions:{default:()=>({pageWidth:794,pageHeight:1123,margins:{top:96,bottom:96,left:96,right:96}})},isPageless:{type:Boolean,default:!1},pageColor:{default:"#ffffff"}},setup(e){const t=e,n=s.ref(0),i=()=>{n.value++};s.watch(()=>t.editor,(p,h)=>{h&&typeof h.off=="function"&&h.off("update",i),p&&typeof p.on=="function"&&p.on("update",i)},{immediate:!0}),s.onUnmounted(()=>{t.editor&&typeof t.editor.off=="function"&&t.editor.off("update",i)});const r=s.computed(()=>{var p,h;return((h=(p=t.editor)==null?void 0:p.view)==null?void 0:h.dom)??null}),a=s.computed(()=>{var p,h,g;return{pageHeight:((p=t.layoutOptions)==null?void 0:p.pageHeight)??1123,pageWidth:((h=t.layoutOptions)==null?void 0:h.pageWidth)??794,margins:((g=t.layoutOptions)==null?void 0:g.margins)??{top:96,bottom:96,left:96,right:96},maxCharsPerPage:0}}),o=s.computed(()=>{const{pageWidth:p,pageHeight:h,margins:g}=a.value;return t.isPageless?{width:`${p}px`,minHeight:"auto",height:"auto",paddingTop:`${g.top}px`,paddingBottom:`${g.bottom}px`,paddingLeft:`${g.left}px`,paddingRight:`${g.right}px`,backgroundColor:t.pageColor,boxShadow:"none",border:"none",borderRadius:"0"}:{width:`${p}px`,height:`${h}px`,paddingTop:`${g.top}px`,paddingBottom:`${g.bottom}px`,paddingLeft:`${g.left}px`,paddingRight:`${g.right}px`}}),l=()=>r.value?Array.from(r.value.children).filter(p=>p instanceof HTMLElement):[],c=p=>l().find(g=>{const b=parseInt(g.getAttribute("data-from")??"-1",10),y=parseInt(g.getAttribute("data-to")??"-1",10);return b>=0&&y>=b&&b<=p.from&&y>=p.to})??null,u=p=>{if(!t.editor||!r.value||!c(p))return null;try{const g=t.editor.view,b=g.domAtPos(p.from),y=g.domAtPos(p.to);if(!b||!y)return null;const v=document.createRange();v.setStart(b.node,b.offset),v.setEnd(y.node,y.offset);const x=v.cloneContents(),k=document.createElement("div");return k.appendChild(x),k.innerHTML}catch{return null}},f=s.computed(()=>{n.value;const p=new Map;if(!t.editor||!r.value)return p;for(const h of t.pages)for(const g of h.blocks){const b=`${g.from}-${g.to}-${g.nodeType}`;if(p.has(b))continue;const y=u(g);y!==null&&p.set(b,y)}return p}),m=p=>f.value.get(`${p.from}-${p.to}-${p.nodeType}`)??null;return(p,h)=>(s.openBlock(),s.createElementBlock("div",xN,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.pages,(g,b)=>(s.openBlock(),s.createElementBlock("div",{key:`${b}-${g.from}-${g.to}`,class:s.normalizeClass(["docs-editor-page tiptap ProseMirror relative box-border overflow-hidden text-slate-800 dark:text-[#e2e8f0]",e.isPageless?"":"editor-page-shadow rounded-lg border border-slate-200/70 bg-white dark:border-white/5 dark:bg-[#0a0f1e]"]),"data-page-index":b,style:s.normalizeStyle(o.value)},[s.createElementVNode("div",{class:"docs-editor-page__blocks flex flex-col",style:s.normalizeStyle(e.isPageless?{}:{height:"100%",overflow:"hidden"})},[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(g.blocks,y=>(s.openBlock(),s.createElementBlock("div",{key:`${y.from}-${y.to}`,class:"docs-editor-page__block","data-node-type":y.nodeType,"data-from":y.from,"data-to":y.to},[m(y)!==null?(s.openBlock(),s.createElementBlock("div",{key:0,class:"docs-editor-page__block-content",innerHTML:m(y)},null,8,wN)):(s.openBlock(),s.createElementBlock("div",_N,[s.createElementVNode("span",SN,s.toDisplayString(y.nodeType),1),s.createElementVNode("span",CN,s.toDisplayString(y.from)+"–"+s.toDisplayString(y.to),1)]))],8,kN))),128))],4)],14,yN))),128))]))}}),AN={class:"docs-editor-left-sidebar flex w-14 flex-shrink-0 flex-col items-center border-r border-slate-200 bg-slate-50/50 py-3 dark:border-slate-800 dark:bg-[#080d1a] md:w-64 md:items-stretch md:px-3"},TN={class:"mb-4 flex items-center justify-between px-1"},NN=["title"],ON={class:"hidden flex-col gap-4 md:flex"},MN={class:"flex items-center justify-between px-2"},DN={class:"text-xs font-semibold text-slate-500 dark:text-slate-400 uppercase tracking-wide"},zN=["title"],IN={class:"flex flex-col gap-1 pr-1"},RN=["onClick"],LN={class:"truncate"},BN={key:1,class:"flex flex-1 items-center gap-2 pr-6"},PN=["onBlur","onKeydown"],FN={class:"relative flex items-center"},VN=["onClick"],UN={key:1,class:"absolute right-0 top-6 z-50 w-28 rounded-lg border border-slate-200/80 bg-white py-1 shadow-lg dark:border-slate-700 dark:bg-slate-800 text-slate-700 dark:text-slate-200"},HN=["onClick"],qN=["disabled","onClick"],jN={class:"flex flex-col gap-1.5 px-2"},$N={class:"text-xs font-semibold text-slate-500 dark:text-slate-400 uppercase tracking-wide"},WN={key:0,class:"flex flex-col gap-1 mt-1"},GN=["onClick"],KN={key:1,class:"text-xs leading-relaxed text-slate-400 dark:text-slate-500 italic mt-1 font-sans"},XN={class:"flex flex-col gap-2 md:hidden"},JN=["title","onClick"],ZN=s.defineComponent({__name:"DocumentTabsSidebar",props:{tabs:{default:()=>[{id:"tab-1",label:"Tab 1",active:!0}]},editor:{default:null},backTitle:{default:""}},emits:["collapse","add-tab","select-tab","delete-tab","rename-tab"],setup(e,{emit:t}){const{t:n}=ht(),i=e,r=s.computed(()=>i.backTitle||n("common.cancel")),a=t,o=s.ref(null),l=s.ref(null),c=s.ref(""),u=x=>{l.value=x.id,c.value=x.label,o.value=null},f=x=>{c.value.trim()&&a("rename-tab",{id:x,label:c.value.trim()}),l.value=null},m=()=>{l.value=null},p=x=>{a("delete-tab",x),o.value=null},h=x=>{o.value=o.value===x?null:x},g=s.ref([]),b=()=>{if(!i.editor)return;const x=[];i.editor.state.doc.descendants((k,w)=>{if(k.type.name==="heading"){const S=k.attrs.level;(S===1||S===2||S===3)&&x.push({id:`heading-${w}`,text:k.textContent.trim()||n("documentTabs.untitledHeading").replace("{level}",String(S)),level:S,pos:w})}return!0}),g.value=x};let y=null;s.watch(()=>i.editor,x=>{if(y&&(y(),y=null),!x){g.value=[];return}b();const k=()=>{b()};x.on("update",k),y=()=>{x.off("update",k)}},{immediate:!0});const v=x=>{i.editor&&(i.editor.chain().focus().setTextSelection(x.pos).run(),setTimeout(()=>{var S;const k=document.querySelector(".docs-editor-scroll");if(!k)return;const w=k.querySelectorAll(".ProseMirror h1, .ProseMirror h2, .ProseMirror h3");for(const A of Array.from(w))if(((S=A.textContent)==null?void 0:S.trim())===x.text){A.scrollIntoView({behavior:"smooth",block:"center"});return}},50))};return(x,k)=>(s.openBlock(),s.createElementBlock("aside",AN,[s.createElementVNode("div",TN,[s.createElementVNode("button",{type:"button",class:"flex h-8 w-8 items-center justify-center rounded-full text-slate-500 transition-colors hover:bg-slate-200/80 dark:text-slate-400 dark:hover:bg-slate-800/80",title:r.value,onClick:k[0]||(k[0]=w=>a("collapse"))},[s.createVNode(s.unref(Sb),{class:"h-[18px] w-[18px]"})],8,NN)]),s.createElementVNode("div",ON,[s.createElementVNode("div",MN,[s.createElementVNode("span",DN,s.toDisplayString(s.unref(n)("documentTabs.documentTabs")),1),s.createElementVNode("button",{type:"button",class:"flex h-6 w-6 items-center justify-center rounded-full text-slate-600 hover:bg-slate-200 dark:text-slate-400 dark:hover:bg-slate-800 transition-colors",title:s.unref(n)("documentTabs.addTab"),onClick:k[1]||(k[1]=w=>a("add-tab"))},[s.createVNode(s.unref($n),{class:"h-4 w-4"})],8,zN)]),s.createElementVNode("div",IN,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(e.tabs,w=>(s.openBlock(),s.createElementBlock("div",{key:w.id,class:s.normalizeClass(["group relative flex w-full items-center justify-between rounded-r-full py-1.5 pl-3 pr-2 text-left text-sm transition-all",[w.active?"bg-[#c2e7ff]/70 text-[#001d35] dark:bg-blue-950/40 dark:text-blue-200 font-medium":"text-slate-700 hover:bg-slate-200/40 dark:text-slate-300 dark:hover:bg-slate-800/30"]])},[l.value!==w.id?(s.openBlock(),s.createElementBlock("button",{key:0,type:"button",class:"flex flex-1 items-center gap-2 truncate pr-6 text-left",onClick:S=>a("select-tab",w.id)},[s.createVNode(s.unref(dt),{class:"h-4 w-4 flex-shrink-0 opacity-70"}),s.createElementVNode("span",LN,s.toDisplayString(w.label),1)],8,RN)):s.createCommentVNode("",!0),l.value===w.id?(s.openBlock(),s.createElementBlock("div",BN,[s.createVNode(s.unref(dt),{class:"h-4 w-4 flex-shrink-0 opacity-70"}),s.withDirectives(s.createElementVNode("input",{"onUpdate:modelValue":k[2]||(k[2]=S=>c.value=S),type:"text",class:"flex-1 rounded border border-blue-400 bg-white px-1.5 py-0.5 text-xs text-slate-800 outline-none focus:ring-1 focus:ring-blue-400/50 dark:bg-slate-900 dark:text-slate-100",onBlur:S=>f(w.id),onKeydown:[s.withKeys(S=>f(w.id),["enter"]),s.withKeys(m,["esc"])],onClick:k[3]||(k[3]=s.withModifiers(()=>{},["stop"]))},null,40,PN),[[s.vModelText,c.value]])])):s.createCommentVNode("",!0),s.createElementVNode("div",FN,[l.value!==w.id?(s.openBlock(),s.createElementBlock("button",{key:0,type:"button",class:s.normalizeClass(["rounded-full p-1 text-slate-500 opacity-0 transition-opacity hover:bg-slate-200/70 group-hover:opacity-100 dark:hover:bg-slate-700/70",{"opacity-100":o.value===w.id}]),onClick:s.withModifiers(S=>h(w.id),["stop"])},[s.createVNode(s.unref(hf),{class:"h-3.5 w-3.5"})],10,VN)):s.createCommentVNode("",!0),o.value===w.id?(s.openBlock(),s.createElementBlock("div",UN,[s.createElementVNode("button",{type:"button",class:"flex w-full items-center px-3 py-1.5 text-xs hover:bg-slate-50 dark:hover:bg-slate-700/50",onClick:s.withModifiers(S=>u(w),["stop"])},s.toDisplayString(s.unref(n)("documentTabs.rename")),9,HN),s.createElementVNode("button",{type:"button",class:"flex w-full items-center px-3 py-1.5 text-xs text-red-600 dark:text-red-400 hover:bg-slate-50 dark:hover:bg-slate-700/50 disabled:opacity-40",disabled:e.tabs.length<=1,onClick:s.withModifiers(S=>p(w.id),["stop"])},s.toDisplayString(s.unref(n)("documentTabs.delete")),9,qN)])):s.createCommentVNode("",!0)])],2))),128))]),k[4]||(k[4]=s.createElementVNode("div",{class:"h-px bg-slate-200/80 dark:bg-slate-800 mx-2"},null,-1)),s.createElementVNode("div",jN,[s.createElementVNode("span",$N,s.toDisplayString(s.unref(n)("documentTabs.outline")),1),g.value.length>0?(s.openBlock(),s.createElementBlock("div",WN,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(g.value,w=>(s.openBlock(),s.createElementBlock("button",{key:w.id,type:"button",class:s.normalizeClass(["w-full text-left text-xs text-slate-500 dark:text-slate-400 hover:text-slate-800 dark:hover:text-slate-200 py-1 transition-colors truncate",[w.level===2?"pl-3":"",w.level===3?"pl-6":""]]),onClick:S=>v(w)},s.toDisplayString(w.text),11,GN))),128))])):(s.openBlock(),s.createElementBlock("p",KN,s.toDisplayString(s.unref(n)("documentTabs.placeholder")),1))])]),s.createElementVNode("div",XN,[(s.openBlock(!0),s.createElementBlock(s.Fragment,null,s.renderList(i.tabs,w=>(s.openBlock(),s.createElementBlock("button",{key:w.id,type:"button",class:s.normalizeClass(["flex h-8 w-8 items-center justify-center rounded-lg transition-colors",[w.active?"bg-blue-100 text-blue-600 dark:bg-blue-950/40 dark:text-blue-300":"text-slate-500 hover:bg-slate-200 dark:text-slate-400 dark:hover:bg-slate-800"]]),title:w.label,onClick:S=>a("select-tab",w.id)},[s.createVNode(s.unref(dt),{class:"h-4 w-4"})],10,JN))),128))])]))}});Object.defineProperty(exports,"httpKeyStorage",{enumerable:!0,get:()=>Ee.httpKeyStorage});Object.defineProperty(exports,"localStorageKeyStorage",{enumerable:!0,get:()=>Ee.localStorageKeyStorage});Object.defineProperty(exports,"memoryKeyStorage",{enumerable:!0,get:()=>Ee.memoryKeyStorage});Object.defineProperty(exports,"openaiCompatibleProvider",{enumerable:!0,get:()=>Ee.openaiCompatibleProvider});Object.defineProperty(exports,"toAIStreamFn",{enumerable:!0,get:()=>Ee.toAIStreamFn});exports.AISidebar=wh;exports.BubbleMenu=Of;exports.CommentsSidebar=_h;exports.DetailsDialog=Ch;exports.DocsEditor=vN;exports.DocumentTabsSidebar=ZN;exports.EditorToolbar=Nf;exports.EmailDialog=Eh;exports.HeaderBar=Tf;exports.HistorySidebar=Sh;exports.PageView=EN;exports.SlashMenu=mf;exports.StatusBar=Mf;exports.TOCSidebar=Df;exports.ThemeToggle=Js;exports.collectSelectionContext=Il;exports.defaultLocale=Rl;exports.getLocaleMessages=sf;exports.getLocaleName=ff;exports.getSupportedLocales=pf;exports.isLocale=Ba;exports.messages=La;exports.provideLocale=df;exports.useAIProvider=Yh;exports.useEditor=rf;exports.useLocale=ht;exports.useTheme=zo;