@kedataindo/docflow-vue 0.0.4 → 0.0.5
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/components/DocsEditor.vue.d.ts +1 -1
- package/dist/components/EditorToolbar.vue.d.ts +1 -1
- package/dist/components/PageView.vue.d.ts +2 -2
- package/dist/components/RulerBar.vue.d.ts +1 -1
- package/dist/components/StatusBar.vue.d.ts +1 -1
- package/dist/components/VerticalRuler.vue.d.ts +1 -1
- package/dist/composables/useEditor.d.ts +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DocsEditor, type DocsEditorPlugin, type EditorOptions } from '@
|
|
1
|
+
import { type DocsEditor, type DocsEditorPlugin, type EditorOptions } from '@kedataindo/docflow-core';
|
|
2
2
|
import type { Collaborator, ConnectionState } from '../types.js';
|
|
3
3
|
import { type Locale } from '../composables/useLocale.js';
|
|
4
4
|
type __VLS_Props = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Editor } from '@tiptap/core';
|
|
2
|
-
import type { DocsEditorPlugin } from '@
|
|
2
|
+
import type { DocsEditorPlugin } from '@kedataindo/docflow-core';
|
|
3
3
|
import type { SidebarKey } from '../types.js';
|
|
4
4
|
type __VLS_Props = {
|
|
5
5
|
actions: Record<string, (...args: unknown[]) => boolean>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { LayoutOptions, Page } from '@
|
|
2
|
-
import type { DocsEditor } from '@
|
|
1
|
+
import type { LayoutOptions, Page } from '@kedataindo/docflow-layout-engine';
|
|
2
|
+
import type { DocsEditor } from '@kedataindo/docflow-core';
|
|
3
3
|
type Editor = DocsEditor['editor'];
|
|
4
4
|
type __VLS_Props = {
|
|
5
5
|
pages: Page[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DocsEditor, type EditorOptions } from '@
|
|
1
|
+
import { type DocsEditor, type EditorOptions } from '@kedataindo/docflow-core';
|
|
2
2
|
import { type ComputedRef, type Ref, type ShallowRef } from 'vue';
|
|
3
3
|
export interface UseEditorOptions extends Omit<EditorOptions, 'target' | 'onUpdate' | 'content' | 'collaboration'> {
|
|
4
4
|
content?: any;
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Lt=require("@kedata-indonesia/docflow-core"),e=require("vue"),De=require("@kedata-indonesia/docflow-layout-engine");function st(o){const i=e.ref(null),a=e.shallowRef(null),t=e.ref(!1),r=e.computed(()=>{var s;return((s=a.value)==null?void 0:s.editor)??null}),m=e.computed(()=>{var s;return((s=a.value)==null?void 0:s.pluginActions)??{}}),l=()=>{if(!i.value||a.value)return;const s=e.unref(o.collaboration),v=e.unref(o.content),C=Lt.createEditor({target:i.value,content:v,plugins:o.plugins,editable:o.editable??!0,collaboration:s,onUpdate:o.onUpdate,getPageMap:o.getPageMap,paginationOptions:o.paginationOptions});a.value=C,e.nextTick(()=>{t.value=!0})},g=()=>{var s;(s=a.value)==null||s.destroy(),a.value=null,t.value=!1};return e.onMounted(()=>{l()}),e.onUnmounted(()=>{g()}),e.watch(()=>o.editable,s=>{r.value&&r.value.setEditable(s??!0)}),e.watch(()=>{const s=e.unref(o.collaboration);return s?{room:s.room,provider:s.provider}:null},async(s,v)=>{JSON.stringify(s)!==JSON.stringify(v)&&(g(),await e.nextTick(),l())},{deep:!0}),{editorRef:i,docsEditor:a,editor:r,pluginActions:m,isReady:t}}const Je="docs-editor-theme",Ie=e.ref(!1);function Oe(){const o=a=>{if(Ie.value=a,typeof document<"u"){const t=document.documentElement;a?t.classList.add("dark"):t.classList.remove("dark")}typeof localStorage<"u"&&localStorage.setItem(Je,a?"dark":"light")},i=()=>o(!Ie.value);return e.onMounted(()=>{let a=!1;if(typeof localStorage<"u"){const t=localStorage.getItem(Je);t?a=t==="dark":typeof window<"u"&&(a=window.matchMedia("(prefers-color-scheme: dark)").matches)}o(a)}),{isDark:Ie,toggle:i}}const it={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?"},header:{file:"File",new:"New",newDocument:"New document",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",versionHistory:"Version history",language:"Language",pageSetup:"Page setup",print:"Print",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",showSidebar:"Show sidebar",focusMode:"Full focus mode",showRuler:"Show ruler",meetingNotes:"Meeting notes",image:"Image",table:"Table",codeBlock:"Code block",header:"Header",footer:"Footer",footnote:"Footnote",bold:"Bold text",italic:"Italic text",underline:"Underline",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",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",lists:"Lists",alignment:"Alignment",insert:"Insert",comments:"Comments",history:"History",ai:"AI",tableOfContents:"Table of contents"},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",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"},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"},headerFooter:{title:"Header & Footer Customization",header:"Header",footer:"Footer",left:"Left",right:"Right",clear:"Clear",headerLeftPlaceholder:"e.g. Document Title",headerRightPlaceholder:"e.g. Page {page}",footerLeftPlaceholder:"e.g. Confidential",footerRightPlaceholder:"e.g. Page {page} of {total}",variableInfo:"Variable Info: You can use {page} for the current page number, and {total} for the total page count.",cancel:"Cancel",save:"Save"},showOutline:"Show document outline",loadingDocument:"Loading document"},slashMenu:{title:"Suggested",basicBlocks:"Basic Blocks",noMatch:"No matching commands"},quickActions:{meetingNotes:"Meeting notes",emailDraft:"Email draft",more:"More"},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:"No draft generated yet. Submit a prompt or macro command above to start.",promptPlaceholder:"Ask AI to draft outline, write content, rewrite tone…",promptAI:"Prompt AI"},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"},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."}},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...",documentTitle:"Document Title",lastModified:"Last Modified",actions:"Actions"},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"}},dt={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?"},header:{file:"Berkas",new:"Baru",newDocument:"Dokumen baru",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",versionHistory:"Riwayat versi",language:"Bahasa",pageSetup:"Penataan halaman",print:"Cetak",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",showSidebar:"Tampilkan sidebar",focusMode:"Mode Fokus Penuh",showRuler:"Tampilkan penggaris",meetingNotes:"Catatan Rapat",image:"Gambar",table:"Tabel",codeBlock:"Kode Blok",header:"Header",footer:"Footer",footnote:"Catatan Kaki",bold:"Teks Tebal",italic:"Teks Miring",underline:"Garis Bawah",heading1:"Judul 1",heading2:"Judul 2",heading3:"Judul 3",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",lists:"Daftar",alignment:"Perataan",insert:"Sisipkan",comments:"Komentar",history:"Riwayat",ai:"AI",tableOfContents:"Daftar isi"},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",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"},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"},headerFooter:{title:"Penyesuaian Header & Footer",header:"Header",footer:"Footer",left:"Kiri",right:"Kanan",clear:"Kosongkan",headerLeftPlaceholder:"mis. Judul Dokumen",headerRightPlaceholder:"mis. Halaman {page}",footerLeftPlaceholder:"mis. Rahasia",footerRightPlaceholder:"mis. Halaman {page} dari {total}",variableInfo:"Info Variabel: Anda dapat menggunakan {page} untuk nomor halaman aktif, dan {total} untuk jumlah halaman.",cancel:"Batal",save:"Simpan"},showOutline:"Tampilkan kerangka dokumen",loadingDocument:"Memuat dokumen"},slashMenu:{title:"Saran",basicBlocks:"Blok Dasar",noMatch:"Tidak ada perintah yang cocok"},quickActions:{meetingNotes:"Catatan Rapat",emailDraft:"Draf Email",more:"Lainnya"},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:"Belum ada draf. Kirim perintah atau makro di atas untuk mulai.",promptPlaceholder:"Minta AI membuat kerangka, menulis konten, menulis ulang nada…",promptAI:"Perintah AI"},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"},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."}},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...",documentTitle:"Judul Dokumen",lastModified:"Terakhir Diubah",actions:"Aksi"},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"}},Te={en:it,id:dt},Ue="en",Pt={en:it.language.en,id:dt.language.id};function ct(o){return Te[o]??Te[Ue]}function Ae(o){return typeof o=="string"&&o in Te}const ut=Symbol("docflow-locale"),pt="docflow-locale";function It(o){if(o&&Ae(o))return o;try{const i=localStorage.getItem(pt);if(i&&Ae(i))return i}catch{}return Ue}function Ht(o,i){const a=i.split(".");let t=o;for(const r of a){if(t===null||typeof t!="object")return;t=t[r]}return t}function mt(o){const i=e.ref(It(o));return{locale:i,setLocale:r=>{if(Ae(r)){i.value=r;try{localStorage.setItem(pt,r)}catch{}}},t:r=>{const m=ct(i.value),l=Ht(m,r);return typeof l=="string"?l:r}}}function ee(){const o=e.inject(ut,null);return o||mt()}function ft(o){const i=mt(o);return e.provide(ut,i),i}function ht(o){return Pt[o]??o}function gt(){return["en","id"]}const Ft={class:"px-2 py-1.5 text-[10px] font-semibold uppercase text-slate-400"},jt=["onClick","onMouseenter"],Rt={class:"text-slate-500 dark:text-slate-400"},bt=e.defineComponent({__name:"SlashMenu",props:{editor:{},commands:{}},setup(o){const{t:i}=ee(),a=o,t=e.ref(!1),r=e.ref(""),m=e.ref(0),l=e.ref({top:0,left:0}),g=e.ref([]);function s(){if(!a.editor)return;const{view:b}=a.editor,{selection:d}=b.state,p=b.coordsAtPos(d.head),c=b.dom.getBoundingClientRect();l.value={top:p.bottom-c.top+4,left:p.left-c.left}}function v(b){var L,K,Y,Q;if(!a.editor)return;const{view:d}=a.editor,{selection:p}=d.state,c=p.head,y=d.state.doc.resolve(c),N=y.start(),_=y.parent.textContent.slice(0,y.parentOffset).lastIndexOf("/");if(_>=0){const Z=N+_,$=d.state.tr.delete(Z,c);d.dispatch($)}const D=a.editor;if(typeof((L=D.commands)==null?void 0:L[b.command])=="function")D.commands[b.command]();else if(D.chain)try{(Q=(Y=(K=D.chain().focus())[b.command])==null?void 0:Y.call(K))==null||Q.run()}catch{}t.value=!1,r.value=""}function C(){t.value=!1,r.value=""}function V(){if(!a.editor)return;const{view:b}=a.editor,{selection:d}=b.state,p=d.head,c=b.state.doc.resolve(p),y=c.parent.textContent.slice(0,c.parentOffset),N=y.lastIndexOf("/");if(N>=0){const B=y.slice(0,N),_=y.slice(N+1);if((B===""||B.endsWith(" ")||B===`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Lt=require("@kedataindo/docflow-core"),e=require("vue"),De=require("@kedataindo/docflow-layout-engine");function st(o){const i=e.ref(null),a=e.shallowRef(null),t=e.ref(!1),r=e.computed(()=>{var s;return((s=a.value)==null?void 0:s.editor)??null}),m=e.computed(()=>{var s;return((s=a.value)==null?void 0:s.pluginActions)??{}}),l=()=>{if(!i.value||a.value)return;const s=e.unref(o.collaboration),v=e.unref(o.content),C=Lt.createEditor({target:i.value,content:v,plugins:o.plugins,editable:o.editable??!0,collaboration:s,onUpdate:o.onUpdate,getPageMap:o.getPageMap,paginationOptions:o.paginationOptions});a.value=C,e.nextTick(()=>{t.value=!0})},g=()=>{var s;(s=a.value)==null||s.destroy(),a.value=null,t.value=!1};return e.onMounted(()=>{l()}),e.onUnmounted(()=>{g()}),e.watch(()=>o.editable,s=>{r.value&&r.value.setEditable(s??!0)}),e.watch(()=>{const s=e.unref(o.collaboration);return s?{room:s.room,provider:s.provider}:null},async(s,v)=>{JSON.stringify(s)!==JSON.stringify(v)&&(g(),await e.nextTick(),l())},{deep:!0}),{editorRef:i,docsEditor:a,editor:r,pluginActions:m,isReady:t}}const Je="docs-editor-theme",Ie=e.ref(!1);function Oe(){const o=a=>{if(Ie.value=a,typeof document<"u"){const t=document.documentElement;a?t.classList.add("dark"):t.classList.remove("dark")}typeof localStorage<"u"&&localStorage.setItem(Je,a?"dark":"light")},i=()=>o(!Ie.value);return e.onMounted(()=>{let a=!1;if(typeof localStorage<"u"){const t=localStorage.getItem(Je);t?a=t==="dark":typeof window<"u"&&(a=window.matchMedia("(prefers-color-scheme: dark)").matches)}o(a)}),{isDark:Ie,toggle:i}}const it={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?"},header:{file:"File",new:"New",newDocument:"New document",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",versionHistory:"Version history",language:"Language",pageSetup:"Page setup",print:"Print",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",showSidebar:"Show sidebar",focusMode:"Full focus mode",showRuler:"Show ruler",meetingNotes:"Meeting notes",image:"Image",table:"Table",codeBlock:"Code block",header:"Header",footer:"Footer",footnote:"Footnote",bold:"Bold text",italic:"Italic text",underline:"Underline",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",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",lists:"Lists",alignment:"Alignment",insert:"Insert",comments:"Comments",history:"History",ai:"AI",tableOfContents:"Table of contents"},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",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"},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"},headerFooter:{title:"Header & Footer Customization",header:"Header",footer:"Footer",left:"Left",right:"Right",clear:"Clear",headerLeftPlaceholder:"e.g. Document Title",headerRightPlaceholder:"e.g. Page {page}",footerLeftPlaceholder:"e.g. Confidential",footerRightPlaceholder:"e.g. Page {page} of {total}",variableInfo:"Variable Info: You can use {page} for the current page number, and {total} for the total page count.",cancel:"Cancel",save:"Save"},showOutline:"Show document outline",loadingDocument:"Loading document"},slashMenu:{title:"Suggested",basicBlocks:"Basic Blocks",noMatch:"No matching commands"},quickActions:{meetingNotes:"Meeting notes",emailDraft:"Email draft",more:"More"},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:"No draft generated yet. Submit a prompt or macro command above to start.",promptPlaceholder:"Ask AI to draft outline, write content, rewrite tone…",promptAI:"Prompt AI"},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"},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."}},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...",documentTitle:"Document Title",lastModified:"Last Modified",actions:"Actions"},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"}},dt={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?"},header:{file:"Berkas",new:"Baru",newDocument:"Dokumen baru",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",versionHistory:"Riwayat versi",language:"Bahasa",pageSetup:"Penataan halaman",print:"Cetak",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",showSidebar:"Tampilkan sidebar",focusMode:"Mode Fokus Penuh",showRuler:"Tampilkan penggaris",meetingNotes:"Catatan Rapat",image:"Gambar",table:"Tabel",codeBlock:"Kode Blok",header:"Header",footer:"Footer",footnote:"Catatan Kaki",bold:"Teks Tebal",italic:"Teks Miring",underline:"Garis Bawah",heading1:"Judul 1",heading2:"Judul 2",heading3:"Judul 3",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",lists:"Daftar",alignment:"Perataan",insert:"Sisipkan",comments:"Komentar",history:"Riwayat",ai:"AI",tableOfContents:"Daftar isi"},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",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"},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"},headerFooter:{title:"Penyesuaian Header & Footer",header:"Header",footer:"Footer",left:"Kiri",right:"Kanan",clear:"Kosongkan",headerLeftPlaceholder:"mis. Judul Dokumen",headerRightPlaceholder:"mis. Halaman {page}",footerLeftPlaceholder:"mis. Rahasia",footerRightPlaceholder:"mis. Halaman {page} dari {total}",variableInfo:"Info Variabel: Anda dapat menggunakan {page} untuk nomor halaman aktif, dan {total} untuk jumlah halaman.",cancel:"Batal",save:"Simpan"},showOutline:"Tampilkan kerangka dokumen",loadingDocument:"Memuat dokumen"},slashMenu:{title:"Saran",basicBlocks:"Blok Dasar",noMatch:"Tidak ada perintah yang cocok"},quickActions:{meetingNotes:"Catatan Rapat",emailDraft:"Draf Email",more:"Lainnya"},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:"Belum ada draf. Kirim perintah atau makro di atas untuk mulai.",promptPlaceholder:"Minta AI membuat kerangka, menulis konten, menulis ulang nada…",promptAI:"Perintah AI"},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"},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."}},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...",documentTitle:"Judul Dokumen",lastModified:"Terakhir Diubah",actions:"Aksi"},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"}},Te={en:it,id:dt},Ue="en",Pt={en:it.language.en,id:dt.language.id};function ct(o){return Te[o]??Te[Ue]}function Ae(o){return typeof o=="string"&&o in Te}const ut=Symbol("docflow-locale"),pt="docflow-locale";function It(o){if(o&&Ae(o))return o;try{const i=localStorage.getItem(pt);if(i&&Ae(i))return i}catch{}return Ue}function Ht(o,i){const a=i.split(".");let t=o;for(const r of a){if(t===null||typeof t!="object")return;t=t[r]}return t}function mt(o){const i=e.ref(It(o));return{locale:i,setLocale:r=>{if(Ae(r)){i.value=r;try{localStorage.setItem(pt,r)}catch{}}},t:r=>{const m=ct(i.value),l=Ht(m,r);return typeof l=="string"?l:r}}}function ee(){const o=e.inject(ut,null);return o||mt()}function ft(o){const i=mt(o);return e.provide(ut,i),i}function ht(o){return Pt[o]??o}function gt(){return["en","id"]}const Ft={class:"px-2 py-1.5 text-[10px] font-semibold uppercase text-slate-400"},jt=["onClick","onMouseenter"],Rt={class:"text-slate-500 dark:text-slate-400"},bt=e.defineComponent({__name:"SlashMenu",props:{editor:{},commands:{}},setup(o){const{t:i}=ee(),a=o,t=e.ref(!1),r=e.ref(""),m=e.ref(0),l=e.ref({top:0,left:0}),g=e.ref([]);function s(){if(!a.editor)return;const{view:b}=a.editor,{selection:d}=b.state,p=b.coordsAtPos(d.head),c=b.dom.getBoundingClientRect();l.value={top:p.bottom-c.top+4,left:p.left-c.left}}function v(b){var L,K,Y,Q;if(!a.editor)return;const{view:d}=a.editor,{selection:p}=d.state,c=p.head,y=d.state.doc.resolve(c),N=y.start(),_=y.parent.textContent.slice(0,y.parentOffset).lastIndexOf("/");if(_>=0){const Z=N+_,$=d.state.tr.delete(Z,c);d.dispatch($)}const D=a.editor;if(typeof((L=D.commands)==null?void 0:L[b.command])=="function")D.commands[b.command]();else if(D.chain)try{(Q=(Y=(K=D.chain().focus())[b.command])==null?void 0:Y.call(K))==null||Q.run()}catch{}t.value=!1,r.value=""}function C(){t.value=!1,r.value=""}function V(){if(!a.editor)return;const{view:b}=a.editor,{selection:d}=b.state,p=d.head,c=b.state.doc.resolve(p),y=c.parent.textContent.slice(0,c.parentOffset),N=y.lastIndexOf("/");if(N>=0){const B=y.slice(0,N),_=y.slice(N+1);if((B===""||B.endsWith(" ")||B===`
|
|
2
2
|
`)&&!_.includes(" ")){r.value=_,t.value=!0,m.value=0,s();return}}t.value=!1}e.watch(()=>a.editor,b=>{b&&(b.on("update",V),b.on("selectionUpdate",()=>{t.value&&s()}))}),e.watch([r,()=>a.commands],()=>{const b=r.value.toLowerCase();g.value=b?a.commands.filter(d=>d.name.toLowerCase().includes(b)):a.commands});function S(b){if(t.value){if(b.key==="ArrowDown"&&(b.preventDefault(),m.value=Math.min(m.value+1,g.value.length-1)),b.key==="ArrowUp"&&(b.preventDefault(),m.value=Math.max(m.value-1,0)),b.key==="Enter"){b.preventDefault();const d=g.value[m.value];d&&v(d)}b.key==="Escape"&&(b.preventDefault(),C())}}return e.onMounted(()=>{document.addEventListener("keydown",S)}),e.onUnmounted(()=>{document.removeEventListener("keydown",S)}),(b,d)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[t.value&&g.value.length>0?(e.openBlock(),e.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:e.normalizeStyle({top:l.value.top+"px",left:l.value.left+"px"})},[e.createElementVNode("div",Ft,e.toDisplayString(e.unref(i)("slashMenu.basicBlocks")),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(p,c)=>(e.openBlock(),e.createElementBlock("button",{key:p.command,class:e.normalizeClass(["flex w-full items-center gap-2 rounded-md px-3 py-2 text-left text-sm transition-colors",c===m.value?"bg-slate-100 dark:bg-slate-700":"hover:bg-slate-50 dark:hover:bg-slate-700/50"]),onClick:y=>v(p),onMouseenter:y=>m.value=c},[e.createElementVNode("span",Rt,e.toDisplayString(p.name),1)],42,jt))),128))],4)):e.createCommentVNode("",!0)]))}});/**
|
|
3
3
|
* @license lucide-vue-next v1.0.0 - ISC
|
|
4
4
|
*
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { createEditor as ta } from "@
|
|
1
|
+
import { createEditor as ta } from "@kedataindo/docflow-core";
|
|
2
2
|
import { ref as w, shallowRef as aa, computed as F, onMounted as Oe, onUnmounted as Ae, watch as ae, unref as t, nextTick as xt, inject as oa, provide as na, defineComponent as le, openBlock as n, createBlock as he, Teleport as sa, createElementBlock as r, normalizeStyle as me, createElementVNode as e, toDisplayString as l, Fragment as q, renderList as K, normalizeClass as z, createCommentVNode as H, h as dt, withDirectives as de, withKeys as ot, vModelText as ce, createVNode as y, withModifiers as R, Transition as at, withCtx as He, renderSlot as Re, resolveDynamicComponent as $e, createTextVNode as oe, normalizeProps as kt, guardReactiveProps as yt, vModelSelect as la } from "vue";
|
|
3
|
-
import { getPageSize as ra, PAGE_SIZES as rt } from "@
|
|
3
|
+
import { getPageSize as ra, PAGE_SIZES as rt } from "@kedataindo/docflow-layout-engine";
|
|
4
4
|
function ia(s) {
|
|
5
5
|
const p = w(null), o = aa(null), a = w(!1), c = F(() => {
|
|
6
6
|
var u;
|