1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7882],{87882:function(e,t,i){i.r(t),i.d(t,{default:function(){return eu}});var r=i(57437),n=i(46938),l=i(94725),s=i(17213),o=i(29995),a=i(23694),c=i(76879),d=i(84110),u=i(36750),h=i(67966),f=i(65318),g=i(48904),p=i(64313),m=i(5172),v=i(71190),x=i(2265),b=i(53834),y=i(93448);let k=e=>{let{src:t,alt:l,width:s,loading:o,contentType:a}=e.node.attrs,[c,d]=(0,x.useState)(!1),[u,h]=(0,x.useState)(s),f=(0,x.useRef)(null),g=(0,x.useRef)(null),p=(0,x.useRef)(s),m=(0,x.useRef)(0),v=(0,x.useRef)(0),[k,j]=(0,x.useState)([]),[w,C]=(0,x.useState)(!1),z="application/pdf"===a;(0,x.useEffect)(()=>{if(!z||!t||t.startsWith("loading-"))return;let e=!0;return(async()=>{C(!0);try{let r=await fetch(t);if(!r.ok)throw Error("Failed to fetch PDF");let n=await r.arrayBuffer(),l=await Promise.all([i.e(9980),i.e(2957)]).then(i.bind(i,27781));l.GlobalWorkerOptions.workerSrc="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/".concat(l.version,"/pdf.worker.min.mjs");let s=await l.getDocument({data:new Uint8Array(n)}).promise,o=[];for(let e=1;e<=s.numPages;e++){let t=await s.getPage(e),i=t.getViewport({scale:2}),r=document.createElement("canvas");r.width=i.width,r.height=i.height;let n=r.getContext("2d");await t.render({canvasContext:n,viewport:i}).promise,o.push(r.toDataURL("image/png"))}e&&j(o)}catch(e){console.error("ResizableImageView: PDF rendering failed:",e)}finally{e&&C(!1)}})(),()=>{e=!1}},[z,t]);let A=(0,x.useCallback)(()=>{g.current&&g.current.classList.remove("ring-2","ring-blue-500","ring-offset-2","dark:ring-offset-zinc-900","rounded-lg")},[]),T=(0,x.useCallback)(()=>{g.current&&e.selected&&g.current.classList.add("ring-2","ring-blue-500","ring-offset-2","dark:ring-offset-zinc-900","rounded-lg")},[e.selected]),N=(0,x.useCallback)((t,i)=>{if(t.preventDefault(),t.stopPropagation(),!f.current)return;d(!0),m.current=t.clientX,v.current=f.current.offsetWidth;let r=e=>{let t=e.clientX-m.current,r=Math.max(100,v.current+(i.includes("right")?t:-t));h(r),p.current=r},n=()=>{d(!1),document.removeEventListener("mousemove",r),document.removeEventListener("mouseup",n),p.current&&e.updateAttributes&&e.updateAttributes({width:p.current})};document.addEventListener("mousemove",r),document.addEventListener("mouseup",n)},[e]);return o||z&&w?(0,r.jsx)(n.T5,{className:"resizable-image-wrapper",children:(0,r.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 px-4 bg-zinc-100 dark:bg-zinc-800/50 rounded-lg my-2 gap-3",children:[(0,r.jsx)(b.W,{size:32}),z&&(0,r.jsx)("span",{className:"text-xs text-zinc-500",children:"PDF íì´ì§ë¥¼ ë¶ë¬ì¤ë ì¤..."})]})}):(0,r.jsx)(n.T5,{className:"resizable-image-wrapper my-2","data-drag-handle":!0,onDragStart:A,onDragEnd:T,children:(0,r.jsxs)("div",{ref:g,className:(0,y.cn)("relative inline-block cursor-grab active:cursor-grabbing",e.selected&&"ring-2 ring-blue-500 ring-offset-2 dark:ring-offset-zinc-900 rounded-lg"),style:{width:u||s||(z?"100%":"auto")},children:[z&&k.length>0?(0,r.jsx)("div",{className:"space-y-2 pointer-events-none",ref:f,children:k.map((e,t)=>(0,r.jsx)("img",{src:e,alt:"".concat(l||""," - page ").concat(t+1),className:"block max-w-full h-auto rounded-lg",style:{width:"100%"},draggable:!1},t))}):(0,r.jsx)("img",{ref:f,src:t,alt:l||"",className:"block max-w-full h-auto rounded-lg",style:{width:"100%"},draggable:!1}),e.selected&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{onMouseDown:e=>N(e,"top-left"),className:"absolute top-0 left-0 w-4 h-4 cursor-nw-resize z-10",style:{transform:"translate(-50%, -50%)"}}),(0,r.jsx)("div",{onMouseDown:e=>N(e,"top-right"),className:"absolute top-0 right-0 w-4 h-4 cursor-ne-resize z-10",style:{transform:"translate(50%, -50%)"}}),(0,r.jsx)("div",{onMouseDown:e=>N(e,"bottom-left"),className:"absolute bottom-0 left-0 w-4 h-4 cursor-sw-resize z-10",style:{transform:"translate(-50%, 50%)"}}),(0,r.jsx)("div",{onMouseDown:e=>N(e,"bottom-right"),className:"absolute bottom-0 right-0 w-4 h-4 cursor-se-resize z-10",style:{transform:"translate(50%, 50%)"}})]})]})})},j=l.NB.create({name:"image",addOptions:()=>({inline:!1,allowBase64:!1,HTMLAttributes:{}}),inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,atom:!0,addAttributes:()=>({src:{default:null},alt:{default:null},width:{default:null},loading:{default:!1},contentType:{default:null}}),parseHTML:()=>[{tag:"img[src]",getAttrs:e=>({src:e.getAttribute("src"),alt:e.getAttribute("alt"),width:e.getAttribute("width")||e.style.width||null,contentType:e.getAttribute("data-content-type")})}],renderHTML(e){let{HTMLAttributes:t}=e,{width:i,...r}=t,n=i?"width: ".concat("number"==typeof i?"".concat(i,"px"):i,";"):"";return["img",(0,l.P1)(this.options.HTMLAttributes,r,{width:i||void 0,style:n||void 0})]},addNodeView:()=>(0,n.fW)(k),addCommands(){return{setImage:e=>t=>{let{commands:i}=t;return i.insertContent({type:this.name,attrs:e})}}}});var w=i(41905),C=i(51817),z=i(48736),A=i(32489);let T=e=>{let{fileKey:t,fileName:i,fileSize:l}=e.node.attrs;return(0,r.jsx)(n.T5,{className:"file-block-wrapper my-1",children:(0,r.jsxs)("div",{className:(0,y.cn)("inline-flex items-center gap-1.5 py-1 transition group",t?"cursor-pointer":"cursor-default"),children:[(0,r.jsx)("div",{"data-drag-handle":!0,className:"shrink-0 flex items-center cursor-grab active:cursor-grabbing text-zinc-300 hover:text-zinc-500 dark:text-white/20 dark:hover:text-white/40 transition",title:"ëëê·¸íì¬ ì´ë",children:(0,r.jsx)(w.Z,{size:14})}),(0,r.jsxs)("div",{onClick:()=>{t&&window.open("/api/files/".concat(t),"_blank")},className:"inline-flex items-center gap-2",children:[(0,r.jsx)("div",{className:"shrink-0 flex items-center text-zinc-400 dark:text-white/40",children:t?(0,r.jsx)(z.Z,{size:16}):(0,r.jsx)(C.Z,{size:16,className:"animate-spin"})}),(0,r.jsx)("span",{className:(0,y.cn)("text-[14.5px] font-medium transition-colors",t?"text-zinc-700 dark:text-zinc-200 group-hover:text-zinc-900 dark:group-hover:text-white":"text-zinc-400 dark:text-zinc-500"),children:i}),(0,r.jsx)("span",{className:"text-[13px] text-zinc-400 dark:text-white/40",children:(e=>{if(!e)return"0 B";let t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(1))+" "+["B","KB","MB","GB"][t]})(l)})]}),(0,r.jsx)("button",{onClick:t=>{t.stopPropagation(),e.deleteNode()},className:"shrink-0 p-0.5 rounded opacity-0 group-hover:opacity-100 text-zinc-400 hover:text-red-500 dark:text-white/30 dark:hover:text-red-400 transition",title:"ìì ",children:(0,r.jsx)(A.Z,{size:14})})]})})},N=l.NB.create({name:"fileBlock",group:"block",atom:!0,draggable:!0,addAttributes:()=>({fileKey:{default:null},fileName:{default:"file"},fileSize:{default:0},fileType:{default:""}}),parseHTML:()=>[{tag:'div[data-type="file-block"]'}],renderHTML(e){let{HTMLAttributes:t}=e;return["div",(0,l.P1)(t,{"data-type":"file-block"})]},addNodeView:()=>(0,n.fW)(T)}),L=l.NB.create({name:"toggleBlock",group:"block",content:"toggleTitle toggleContent",defining:!0,addAttributes:()=>({open:{default:!0,parseHTML:e=>"false"!==e.getAttribute("data-open"),renderHTML:e=>({"data-open":e.open?"true":"false"})}}),parseHTML:()=>[{tag:"div[data-toggle-block]"}],renderHTML(e){let{HTMLAttributes:t}=e;return["div",(0,l.P1)(t,{class:"toggle-block","data-toggle-block":""}),0]}}),Z=l.NB.create({name:"toggleTitle",group:"block",content:"inline*",defining:!0,isolating:!0,parseHTML:()=>[{tag:"div[data-toggle-title]"}],renderHTML(e){let{HTMLAttributes:t}=e;return["div",(0,l.P1)(t,{class:"toggle-title","data-toggle-title":""}),0]},addKeyboardShortcuts:()=>({Enter:e=>{let{editor:t}=e,{state:i}=t,{selection:r}=i,{$from:n}=r;if("toggleTitle"===n.parent.type.name){let e=n.before(n.depth-1),r=i.doc.nodeAt(e);if(r&&"toggleBlock"===r.type.name){var l;let i=(null===(l=r.firstChild)||void 0===l?void 0:l.nodeSize)||0;return t.chain().setTextSelection(e+1+i+1).focus().run(),!0}}return!1},"Shift-Enter":e=>{let{editor:t}=e,{state:i}=t,{$from:r}=i.selection;return"toggleTitle"===r.parent.type.name},Backspace:e=>{let{editor:t}=e,{state:i}=t,{selection:r}=i,{$from:n}=r;if("toggleTitle"===n.parent.type.name&&0===n.parentOffset){let e=n.before(n.depth-1),r=i.doc.nodeAt(e);if(r&&"toggleBlock"===r.type.name){var l;if(!(null===(l=r.firstChild)||void 0===l?void 0:l.textContent))return t.chain().deleteRange({from:e,to:e+r.nodeSize}).insertContentAt(e,{type:"paragraph"}).focus().run(),!0}}return!1}})}),E=l.NB.create({name:"toggleContent",group:"block",content:"block+",defining:!0,parseHTML:()=>[{tag:"div[data-toggle-content]"}],renderHTML(e){let{HTMLAttributes:t}=e;return["div",(0,l.P1)(t,{class:"toggle-content","data-toggle-content":""}),0]}}),M=new l.VK({find:/^(>{1,2})\s$/,handler:e=>{let{state:t,range:i,match:r,chain:n}=e;if(">>"===r[1]){let e=i.from;n().command(r=>{let{tr:n,dispatch:l}=r;n.delete(i.from,i.to);let o=t.schema.nodes.toggleTitle.create(null,t.schema.text(" ")),a=t.schema.nodes.toggleContent.create(null,[t.schema.nodes.paragraph.create()]),c=t.schema.nodes.toggleBlock.create({open:!0},[o,a]);n.insert(e,c);let d=e+2;
1n.delete(d,d+1);let u=n.doc.resolve(d);return n.setSelection(s.Y1.near(u)),!0}).run()}else n().deleteRange(i).setBlockquote().run()}});var S=i(35224),B=i(52264),R=i(63439),D=i(29747),H=i(79022),P=i(81328),q=i(19680),W=i(18778),I=i(6387),O=i(64935),F=i(31734),U=i(58310),Y=i(17881),X=i(7586),K=i(28645),V=i(70933),_=i(74656),G=i(21047),Q=i(82029),$=i(95805),J=i(93807),ee=i(99397),et=i(48959),ei=i(18930),er=i(53113),en=i(76980),el=i(30226),es=i(24937);async function eo(e,t){if(!e.type.startsWith("image/"))return e;let i={maxSizeMB:1,maxWidthOrHeight:1920,useWebWorker:!0,fileType:e.type,...t};try{let t=await (0,es.Z)(e,i);if(t.size>e.size)return e;return new File([t],e.name,{type:e.type,lastModified:new Date().getTime()})}catch(t){return console.warn("Image compression failed, using original file:",t),e}}var ea=i(98319),ec=i(84929),ed=i(54887);function eu(e){var t,i,b,k,w,C,z,A,T,es;let{content:eu,onChange:ef,onBlur:eg,placeholder:ep="ë´ì©ì ì
ë ¥íì¸ì...",className:em,onImportRoster:ev,isMobile:ex=!1}=e,{showToast:eb}=(0,ea.p)(),{openQuotaModal:ey}=(0,ec.f)(),ek=(0,x.useRef)(eu?/<[a-z][\s\S]*>/i.test(eu)?eu:eu.split("\n").map(e=>{if(""===e.trim())return"<p></p>";let t=e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");return"<p>".concat(t,"</p>")}).join(""):""),ej=(0,x.useRef)(ef),ew=(0,x.useRef)(eg);ej.current=ef,ew.current=eg;let eC=(0,x.useRef)(null);(0,x.useEffect)(()=>{let e=()=>{eC.current&&(clearTimeout(eC.current),eC.current=null,ej.current(ek.current))},t=()=>{"hidden"===document.visibilityState&&e()};return document.addEventListener("visibilitychange",t,!0),window.addEventListener("pagehide",e,!0),()=>{document.removeEventListener("visibilitychange",t,!0),window.removeEventListener("pagehide",e,!0),e()}},[]);let[,ez]=(0,x.useReducer)(e=>e+1,0),eA=(0,x.useRef)(null),eT=(0,x.useCallback)(()=>{eA.current&&clearTimeout(eA.current),eA.current=setTimeout(()=>ez(),10)},[]),[eN,eL]=(0,x.useState)(!1),[eZ,eE]=(0,x.useState)(!1),eM=(0,x.useRef)(null),[eS,eB]=(0,x.useState)(null),eR=(0,x.useRef)(null);(0,x.useEffect)(()=>{let e=localStorage.getItem("isToolbarCollapsed");if(e){let t="true"===e;eL(t),eE(t)}},[]);let eD=async(e,t,i)=>{if(t.size>20971520){eb("íì¼ í¬ê¸°ê° 20MB를 ì´ê³¼í©ëë¤: ".concat(t.name),"error");return}let{state:r}=e,n=r.schema.nodes.fileBlock.create({fileName:t.name,fileSize:t.size,fileType:t.type});e.dispatch(r.tr.insert(i,n));let l=t;if(t.type.startsWith("image/"))try{l=await eo(t)}catch(e){console.warn("Compression failed, uploading original:",e)}let s=await (0,el.c)(l);if(s.success&&s.file){let i=s.file;e.state.doc.descendants((r,n)=>{if("fileBlock"===r.type.name&&r.attrs.fileName===t.name&&!r.attrs.fileKey){let t=e.state.tr.setNodeMarkup(n,void 0,{...r.attrs,fileKey:i.key});return e.dispatch(t),!1}})}else s.quotaInfo?ey(s.quotaInfo):eb(s.error||"ì
ë¡ë ì¤í¨: ".concat(t.name),"error")},eH=async(e,t,i)=>{if(t.size>20971520){eb("íì¼ í¬ê¸°ê° 20MB를 ì´ê³¼í©ëë¤: ".concat(t.name),"error");return}let{state:r}=e,n="loading-".concat(Date.now()),l=r.schema.nodes.image.create({src:n,alt:t.name,loading:!0,contentType:t.type});e.dispatch(r.tr.insert(i,l));let s=t;try{s=await eo(t)}catch(e){console.warn("Compression failed, uploading original:",e)}let o=await (0,el.c)(s);if(o.success&&o.file){let i=o.file,r="/api/files/".concat(i.key);e.state.doc.descendants((i,l)=>{if("image"===i.type.name&&i.attrs.src===n){let n=e.state.tr.setNodeMarkup(l,void 0,{...i.attrs,src:r,alt:t.name,loading:!1,contentType:t.type});return e.dispatch(n),!1}})}else e.state.doc.descendants((t,i)=>{if("image"===t.type.name&&t.attrs.src===n){let r=e.state.tr.delete(i,i+t.nodeSize);return e.dispatch(r),!1}}),o.quotaInfo?ey(o.quotaInfo):eb(o.error||"ì
ë¡ë ì¤í¨: ".concat(t.name),"error")},eP=e=>{if(!eS||!eR.current)return;let{file:t,editorPos:i}=eS,r=eR.current;"image"===e?eH(r,t,i):eD(r,t,i),eB(null),eR.current=null},eq=(0,x.useMemo)(()=>[o.Z.configure({heading:{levels:[1,2,3]},dropcursor:{color:"#3b82f6",width:2},blockquote:!1}),c.iA.configure({resizable:!0,handleWidth:10,allowTableNodeSelection:!0,HTMLAttributes:{class:"tiptap-table"}}),d.S,u.p,h.x,g.a,p.U.configure({nested:!0}),m.V.configure({placeholder:ep}),v.y$.configure({multicolor:!1}),f.Z.configure({types:["heading","paragraph","tableCell","tableHeader"]}),j.configure({inline:!1,allowBase64:!1,HTMLAttributes:{class:"tiptap-image"}}),N,L,Z,E,a.V6.extend({addInputRules:()=>[]}),l.hj.create({name:"customInputRules",addInputRules:()=>[M]}),l.hj.create({name:"tableNavigation",addKeyboardShortcuts(){return{Tab:()=>{if(this.editor.isActive("table")){if(this.editor.can().goToNextCell())return this.editor.chain().goToNextCell().run();if(this.editor.can().addRowAfter())return this.editor.chain().addRowAfter().goToNextCell().run()}return!1},"Shift-Tab":()=>!!(this.editor.isActive("table")&&this.editor.can().goToPreviousCell())&&this.editor.chain().goToPreviousCell().run(),w:()=>
1{if(this.editor.isActive("table")){let e,t;let{state:i,dispatch:r}=this.editor.view,{tr:n,selection:l}=i,{from:s,to:o}=l;if(i.doc.nodesBetween(s,o,(i,r)=>{if("table"===i.type.name)return e=i,t=r,!1}),e&&void 0!==t)return this.editor.chain().fixTables().run(),!0}return!1},Enter:()=>{if(this.editor.isActive("table")){let{state:e}=this.editor.view,{selection:t,doc:i}=e,{$from:r}=t;if(!this.editor.can().goToNextCell()){let e=-1,t=r.depth;for(;t>0;){if("table"===r.node(t).type.name){e=r.after(t);break}t--}if(e>-1)return this.editor.chain().insertContentAt(e,{type:"paragraph"}).setTextSelection(e+1).run(),!0}}return!1},ArrowRight:()=>{if(this.editor.isActive("table")){let{state:e}=this.editor.view,{selection:t}=e,{$from:i,empty:r}=t,n=i.pos===i.end();if(r&&n&&!this.editor.can().goToNextCell()){let t=-1,r=i.depth;for(;r>0;){if("table"===i.node(r).type.name){t=i.after(r);break}r--}if(t>-1)return t>=e.doc.content.size?this.editor.chain().insertContentAt(t,{type:"paragraph"}).setTextSelection(t+1).run():this.editor.chain().setTextSelection(t+1).run(),!0}}return!1}}}})],[ep]),eW=(0,n.jE)({immediatelyRender:!1,extensions:eq,content:ek.current,onUpdate:e=>{let{editor:t}=e,i=t.getHTML();ek.current=i,eC.current&&clearTimeout(eC.current),eC.current=setTimeout(()=>{ej.current(i)},1500)},onBlur:e=>{var t;let{editor:i}=e;eA.current&&clearTimeout(eA.current),eC.current&&clearTimeout(eC.current),ej.current(i.getHTML()),null===(t=ew.current)||void 0===t||t.call(ew)},onSelectionUpdate:e=>{let{editor:t}=e;eT();let i=t.view.dom;i.querySelectorAll(".tableWrapper").forEach(e=>{e.classList.remove("table-selected"),e.style.removeProperty("--table-width"),e.style.removeProperty("--table-height")});let{selection:r}=t.state;if(r instanceof s.qv&&"table"===r.node.type.name){var n;i.classList.add("table-node-selected"),null===(n=window.getSelection())||void 0===n||n.removeAllRanges();try{let e=t.view.nodeDOM(r.from);if(e){let t=e.closest(".tableWrapper"),i=e.querySelector("table")||e;t&&i&&(t.classList.add("table-selected"),t.style.setProperty("--table-width","".concat(i.offsetWidth,"px")),t.style.setProperty("--table-height","".concat(i.offsetHeight,"px")))}}catch(e){}}else i.classList.remove("table-node-selected")},onTransaction:e=>{let{transaction:t}=e;(t.storedMarksSet||t.docChanged)&&eT()},editorProps:{attributes:{class:"tiptap-editor-content"},handleDrop:(e,t,i,r)=>{if(!r&&t.dataTransfer&&t.dataTransfer.files&&t.dataTransfer.files.length>0){var n;t.preventDefault();let i=Array.from(t.dataTransfer.files),{state:r}=e,l=e.posAtCoords({left:t.clientX,top:t.clientY}),s=null!==(n=null==l?void 0:l.pos)&&void 0!==n?n:e.state.selection.from;return i.forEach(i=>{let r=i.type.startsWith("image/"),n="application/pdf"===i.type;if(r||n){eB({file:i,position:{x:t.clientX,y:t.clientY},editorPos:s}),eR.current=e;return}eD(e,i,s)}),!0}return!1},handlePaste:(e,t)=>
1{let i=t.clipboardData;if(!i)return!1;let r=i.getData("text/html"),n=i.getData("text/plain");if(!r&&n&&n.includes(" ")&&n.includes("\n")){t.preventDefault();let i=n.trim().split("\n").map(e=>e.split(" ")),r="<table><tbody>";i.forEach((e,t)=>{r+="<tr>",e.forEach(e=>{let i=0===t?"th":"td";r+="<".concat(i,">").concat(e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),"</").concat(i,">")}),r+="</tr>"}),r+="</tbody></table>";let l=e.editor;return l&&l.commands.insertContent(r),!0}return!1}}});return((0,x.useEffect)(()=>{if(!eW)return;let e=eW.view.dom;if(!e)return;let t=e=>{let t=e.target;if(t.closest("[data-table-ui]"))return;let i=t.closest(".tableWrapper");if(!i)return;let r=i.querySelector("table");if(!r)return;let n=r.getBoundingClientRect(),l=e.clientX,o=e.clientY,a=l<n.left||l>n.right||o<n.top||o>n.bottom,c=!a&&(l-n.left<6||o-n.top<6||n.bottom-o<6);if(a||c)try{let t=eW.view,i=t.posAtDOM(r,0),n=t.state.doc.resolve(i);for(let i=n.depth;i>=0;i--)if("table"===n.node(i).type.name){let r=n.before(i),l=t.state.tr.setSelection(s.qv.create(t.state.doc,r));t.dispatch(l),e.preventDefault(),e.stopPropagation();return}}catch(e){console.warn("Table selection failed:",e)}};return e.addEventListener("mousedown",t,!0),()=>{e.removeEventListener("mousedown",t,!0)}},[eW]),(0,x.useEffect)(()=>{if(!eW)return;let e=eW.view.dom;if(!e)return;let t=new Map,i=e=>{if(t.has(e))return;let i=document.createElement("button");i.className="toggle-btn",i.type="button",i.innerHTML='<svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><path d="M8 5v14l11-7z"/></svg>',document.body.appendChild(i),t.set(e,i),i.addEventListener("click",t=>{t.preventDefault(),t.stopPropagation();let n="true"===e.getAttribute("data-open");e.setAttribute("data-open",n?"false":"true"),r(e,i);try{let t=eW.view.posAtDOM(e,0),i=eW.state.doc.resolve(t);for(let e=i.depth;e>=0;e--)if("toggleBlock"===i.node(e).type.name){let t=i.before(e),r=eW.state.tr.setNodeMarkup(t,void 0,{open:!n});eW.view.dispatch(r);break}}catch(e){}}),i.addEventListener("mousedown",e=>e.preventDefault())},r=(e,t)=>{let i="true"===e.getAttribute("data-open");t.style.transform=i?"translateY(-50%) rotate(90deg)":"translateY(-50%)"},n=()=>{t.forEach((e,i)=>{if(!document.contains(i)){e.remove(),t.delete(i);return}let n=i.querySelector(".toggle-title");if(!n)return;let l=n.getBoundingClientRect();e.style.left="".concat(l.left+2,"px"),e.style.top="".concat(l.top+l.height/2,"px"),r(i,e)})},l=()=>{e.querySelectorAll(".toggle-block").forEach(e=>{i(e)}),n()};l();let s=new MutationObserver(()=>{l()});s.observe(e,{childList:!0,subtree:!0});let o=()=>n();window.addEventListener("scroll",o,!0);let a=setInterval(n,200);return()=>{s.disconnect(),window.removeEventListener("scroll",o,!0),clearInterval(a),t.forEach(e=>e.remove()),t.clear()}},[eW]),(0,x.useEffect)(()=>{if(!eW)return;let e=eW.view.dom;if(!e)return;let t=document.createElement("div");t.className="table-drag-handle",t.contentEditable="false",t.setAttribute("data-table-ui","true"),t.innerHTML='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="5" r="1"/><circle cx="9" cy="12" r="1"/><circle cx="9" cy="19" r="1"/><circle cx="15" cy="5" r="1"/><circle cx="15" cy="12" r="1"/><circle cx="15" cy="19" r="1"/></svg>',t.title="ëëê·¸íì¬ í ì´ë";let i=document.createElement("button");i.className="table-add-column-btn",i.contentEditable="false",i.setAttribute("data-table-ui","true"),i.innerHTML='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>',i.type="button",i.title="ì´ ì¶ê°";let r=document.createElement("button");r.className="table-add-row-btn",r.contentEditable="false",r.setAttribute("data-table-ui","true"),r.innerHTML='<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>',r.type="button",r.title="í ì¶ê°";let n=null,l=!1,o=!1,a=e=>{let t=e.querySelector("table");if(!t)return;let n=t.offsetWidth,s=t.offsetHeight;l?(e.contains(i)||e.appendChild(i),i.style.left="".concat(24+n+2,"px")):i.remove(),o?(e.contains(r)||e.appendChild(r),r.style.top="".concat(6+s+2,"px"),r.style.width="".concat(n,"px")):r.remove()},c=()=>{n=null,l=!1,o=!1,t.remove(),i.remove(),r.remove()},d=e=>{if(h)return;let i=e.target,r=i.closest(".tableWrapper");if(i.closest(".table-drag-handle")||i.closest(".table-add-column-btn")||i.closest(".table-add-row-btn"))return;if(!r){n&&c();return}let s=r.querySelector("table");if(!s)return;n=r,r.contains(t)||r.appendChild(t);let d=s.getBoundingClientRect(),u=e.clientX,f=e.clientY,g=u>=d.right-60&&u<=d.right+30,p=f>=d.bottom-40&&f<=d.bottom+30;l=g,o=p,a(r)},u=e=>{let t=e.target,i=e.relatedTarget,r=t.closest(".tableWrapper");if(r){if((null==i?void 0:i.closest(".tableWrapper"))===r)return;c()}},h=!1,f=null,g=null,p=null,m=null,v=()=>{let e=document.createElement("div");return e.className="table-drop-indicator",e.style.cssText="\n position: fixed;\n height: 3px;\n background: #3b82f6;\n border-radius: 1px;\n pointer-events: none;\n z-index: 10000;\n ",e},x=e=>{if(e.preventDefault(),e.stopPropagation(),!n)return;let t=n.querySelector("table");if(t)try{let e=eW.view,i=e.posAtDOM(t,0),r=e.state.doc.resolve(i);for(let t=r.depth;t>=0;t--)if("table"===r.node(t).type.name){let i=r.before(t),l=r.node(t),o=e.state.tr.setSelection(s.qv.create(e.state.doc,i));e.dispatch(o),h=!0,f=i,g=l,p=n,n.classList.add("table-dragging"),m=v(),document.body.appendChild(m),document.addEventListener("mousemove",b),document.addEventListener("mouseup",y);return}}catch(e){console.warn("Table drag start failed:",e)}},b=t=>
1{if(!h||!m)return;let i=eW.view,r=i.posAtCoords({left:t.clientX,top:t.clientY});if(r)try{let n=i.domAtPos(r.pos);if(n&&n.node){let i=n.node;i.nodeType===Node.TEXT_NODE&&(i=i.parentElement);let r=i.closest("p, h1, h2, h3, table, ul, ol, blockquote, .tableWrapper");if(r&&e.contains(r)&&r!==p){let e=r.getBoundingClientRect(),i=t.clientY<e.top+e.height/2;m.style.left="".concat(e.left,"px"),m.style.width="".concat(e.width,"px"),m.style.top=i?"".concat(e.top-4,"px"):"".concat(e.bottom,"px")}}}catch(e){}},y=e=>{if(document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",y),!h||null===g||null===f){k();return}try{let t=eW.view,i=t.posAtCoords({left:e.clientX,top:e.clientY});if(i){let e=t.state.doc.resolve(i.pos),r=i.pos;for(let t=e.depth;t>=0;t--){let i=e.node(t);if(i.isBlock&&"doc"!==i.type.name){r=e.before(t);break}}if(Math.abs(r-f)>2){let{state:e}=t,i=g.nodeSize,n=r>f?r-i:r,l=e.tr;l=(l=l.delete(f,f+i)).insert(n,g),t.dispatch(l)}}}catch(e){console.warn("Table drop failed:",e)}k()},k=()=>{h=!1,f=null,g=null,p&&(p.classList.remove("table-dragging"),p=null),m&&(m.remove(),m=null)};i.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation();let t=n;if(t){let e=t.querySelector("table");if(e){let i=e.querySelector("tr:last-child"),r=null==i?void 0:i.querySelector("td:last-child, th:last-child");if(r)try{let e=eW.view.posAtDOM(r,0);eW.chain().focus().setTextSelection(e).addColumnAfter().run(),l=!0,setTimeout(()=>a(t),50);return}catch(e){console.warn("Add column positioning failed:",e)}}}eW.chain().focus().addColumnAfter().run()},!0),i.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation()},!0),r.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation();let t=n;if(t){let e=t.querySelector("table");if(e){let i=e.querySelector("tr:last-child"),r=null==i?void 0:i.querySelector("td:last-child, th:last-child");if(r)try{let e=eW.view.posAtDOM(r,0);eW.chain().focus().setTextSelection(e).addRowAfter().run(),o=!0,setTimeout(()=>a(t),50);return}catch(e){console.warn("Add row positioning failed:",e)}}}eW.chain().focus().addRowAfter().run()},!0),r.addEventListener("mousedown",e=>{e.preventDefault(),e.stopPropagation()},!0);let j=e=>{e.target.closest(".table-drag-handle")&&x(e)};return e.addEventListener("mousedown",j,!0),e.addEventListener("mousemove",d),e.addEventListener("mouseleave",u),()=>{k(),i.remove(),r.remove(),t.remove(),e.removeEventListener("mousedown",j,!0),e.removeEventListener("mousemove",d),e.removeEventListener("mouseleave",u)}},[eW]),eW)?(0,r.jsxs)("div",{className:(0,y.cn)("tiptap-editor-wrapper",em),children:[!ex&&(0,r.jsxs)("div",{className:(0,y.cn)("tiptap-toolbar flex items-center transition-all duration-500 ease-in-out",eN&&"!gap-0 !px-1.5"),children:[(0,r.jsx)("div",{className:"shrink-0",children:(0,r.jsx)(eh,{onClick:()=>{eM.current&&clearTimeout(eM.current),eL(e=>{let t=!e;return localStorage.setItem("isToolbarCollapsed",String(t)),t?eM.current=setTimeout(()=>{eE(!0)},400):eE(!1),t})},active:!1,title:eZ?"í´ë° í¼ì¹ê¸°":"í´ë° ì 기",children:eZ?(0,r.jsx)(S.Z,{size:16}):(0,r.jsx)(B.Z,{size:16})})}),(0,r.jsxs)("div",{className:(0,y.cn)("flex items-center gap-1 transition-all duration-500 ease-in-out overflow-hidden flex-nowrap",eN?"max-w-0 opacity-0 pointer-events-none":"max-w-[1000px] opacity-100"),children:[(0,r.jsxs)("div",{className:"tiptap-toolbar-group",children:[(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleHeading({level:1}).run(),active:eW.isActive("heading",{level:1}),title:"ì 목 1",children:(0,r.jsx)(R.Z,{size:16})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleHeading({level:2}).run(),active:eW.isActive("heading",{level:2}),title:"ì 목 2",children:(0,r.jsx)(D.Z,{size:16})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleHeading({level:3}).run(),active:eW.isActive("heading",{level:3}),title:"ì 목 3",children:(0,r.jsx)(H.Z,{size:16})})]}),(0,r.jsxs)("div",{className:"tiptap-toolbar-group",children:[(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleBold().run(),active:eW.isActive("bold")||!!(null===(t=eW.state.storedMarks)||void 0===t?void 0:t.some(e=>
1"bold"===e.type.name)),title:"êµµê²",children:(0,r.jsx)(P.Z,{size:16})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleItalic().run(),active:eW.isActive("italic")||!!(null===(i=eW.state.storedMarks)||void 0===i?void 0:i.some(e=>"italic"===e.type.name)),title:"기ì¸ì",children:(0,r.jsx)(q.Z,{size:16})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleStrike().run(),active:eW.isActive("strike")||!!(null===(b=eW.state.storedMarks)||void 0===b?void 0:b.some(e=>"strike"===e.type.name)),title:"ì·¨ìì ",children:(0,r.jsx)(W.Z,{size:16})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleHighlight().run(),active:eW.isActive("highlight")||!!(null===(k=eW.state.storedMarks)||void 0===k?void 0:k.some(e=>"highlight"===e.type.name)),title:"íê´í",children:(0,r.jsx)(I.Z,{size:16})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleCode().run(),active:eW.isActive("code")||!!(null===(w=eW.state.storedMarks)||void 0===w?void 0:w.some(e=>"code"===e.type.name)),title:"ì¸ë¼ì¸ ì½ë",children:(0,r.jsx)(O.Z,{size:16})})]}),(0,r.jsxs)("div",{className:"tiptap-toolbar-group",children:[(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().setTextAlign("left").run(),active:eW.isActive({textAlign:"left"}),title:"ì¼ìª½ ì ë ¬",children:(0,r.jsx)(F.Z,{size:16})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().setTextAlign("center").run(),active:eW.isActive({textAlign:"center"}),title:"ê°ì´ë° ì ë ¬",children:(0,r.jsx)(U.Z,{size:16})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().setTextAlign("right").run(),active:eW.isActive({textAlign:"right"}),title:"ì¤ë¥¸ìª½ ì ë ¬",children:(0,r.jsx)(Y.Z,{size:16})})]}),(0,r.jsxs)("div",{className:"tiptap-toolbar-group",children:[(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleBulletList().run(),active:eW.isActive("bulletList"),title:"ê¸ë¨¸ë¦¬ 기í¸",children:(0,r.jsx)(X.Z,{size:16})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleOrderedList().run(),active:eW.isActive("orderedList"),title:"ë²í¸ 목ë¡",children:(0,r.jsx)(K.Z,{size:16})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleTaskList().run(),active:eW.isActive("taskList"),title:"ì²´í¬ë¦¬ì¤í¸",children:(0,r.jsx)(V.Z,{size:16})})]}),(0,r.jsxs)("div",{className:"tiptap-toolbar-group",children:[(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleBlockquote().run(),active:eW.isActive("blockquote"),title:"ì¸ì©",children:(0,r.jsx)(_.Z,{size:16})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().setHorizontalRule().run(),title:"구ë¶ì ",children:(0,r.jsx)(G.Z,{size:16})})]}),(0,r.jsxs)("div",{className:"tiptap-toolbar-group",children:[(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:!0}).run(),title:"í ì½ì
",children:(0,r.jsx)(Q.Z,{size:16})}),ev&&(0,r.jsx)(eh,{onClick:()=>ev(eW),title:"ìì
ëª
ë ¬í ê°ì ¸ì¤ê¸°",children:(0,r.jsx)($.Z,{size:16})})]}),eW.isActive("table")&&!eN&&(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)("div",{className:"tiptap-toolbar-group",children:[(0,r.jsxs)(eh,{onClick:()=>eW.chain().focus().addColumnAfter().run(),title:"ì´ ì¶ê°",children:[(0,r.jsx)(J.Z,{size:14}),(0,r.jsx)(ee.Z,{size:10,className:"absolute -right-0.5 -bottom-0.5"})]}),(0,r.jsxs)(eh,{onClick:()=>eW.chain().focus().addRowAfter().run(),title:"í ì¶ê°",children:[(0,r.jsx)(et.Z,{size:14}),(0,r.jsx)(ee.Z,{size:10,className:"absolute -right-0.5 -bottom-0.5"})]}),(0,r.jsxs)(eh,{onClick:()=>eW.chain().focus().deleteColumn().run(),title:"ì´ ìì ",className:"text-red-400 hover:text-red-300",children:[(0,r.jsx)(J.Z,{size:14}),(0,r.jsx)(ei.Z,{size:10,className:"absolute -right-0.5 -bottom-0.5"})]}),(0,r.jsxs)(eh,{onClick:()=>eW.chain().focus().deleteRow().run(),title:"í ìì ",className:"text-red-400 hover:text-red-300",children:[(0,r.jsx)(et.Z,{size:14}),(0,r.jsx)(ei.Z,{size:10,className:"absolute -right-0.5 -bottom-0.5"})]}),(0,r.jsx)(eh,{onClick:()=>{let{selection:e}=eW.state;e instanceof s.qv&&"table"===e.node.type.name?eW.chain().focus().deleteSelection().run():eW.chain().focus().deleteTable().run()},title:"í ìì ",className:"text-red-400 hover:text-red-300",children:(0,r.jsx)(ei.Z,{size:14})})]})})]})]}),(0,r.jsx)(n.kg,{editor:eW,className:"tiptap-editor"}),ex&&(0,r.jsxs)("div",{className:"tiptap-toolbar flex items-center gap-1",children:[(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleHeading({level:1}).run(),active:eW.isActive("heading",{level:1}),title:"ì 목 1",children:(0,r.jsx)(R.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleHeading({level:2}).run(),active:eW.isActive("heading",{level:2}),title:"ì 목 2",children:(0,r.jsx)(D.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleHeading({level:3}).run(),active:eW.isActive("heading",{level:3}),title:"ì 목 3",children:(0,r.jsx)(H.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleBold().run(),active:eW.isActive("bold")||!!(null===(C=eW.state.storedMarks)||void 0===C?void 0:C.some(e=>
1"bold"===e.type.name)),title:"êµµê²",children:(0,r.jsx)(P.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleItalic().run(),active:eW.isActive("italic")||!!(null===(z=eW.state.storedMarks)||void 0===z?void 0:z.some(e=>"italic"===e.type.name)),title:"기ì¸ì",children:(0,r.jsx)(q.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleStrike().run(),active:eW.isActive("strike")||!!(null===(A=eW.state.storedMarks)||void 0===A?void 0:A.some(e=>"strike"===e.type.name)),title:"ì·¨ìì ",children:(0,r.jsx)(W.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleHighlight().run(),active:eW.isActive("highlight")||!!(null===(T=eW.state.storedMarks)||void 0===T?void 0:T.some(e=>"highlight"===e.type.name)),title:"íê´í",children:(0,r.jsx)(I.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleCode().run(),active:eW.isActive("code")||!!(null===(es=eW.state.storedMarks)||void 0===es?void 0:es.some(e=>"code"===e.type.name)),title:"ì¸ë¼ì¸ ì½ë",children:(0,r.jsx)(O.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().setTextAlign("left").run(),active:eW.isActive({textAlign:"left"}),title:"ì¼ìª½ ì ë ¬",children:(0,r.jsx)(F.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().setTextAlign("center").run(),active:eW.isActive({textAlign:"center"}),title:"ê°ì´ë° ì ë ¬",children:(0,r.jsx)(U.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().setTextAlign("right").run(),active:eW.isActive({textAlign:"right"}),title:"ì¤ë¥¸ìª½ ì ë ¬",children:(0,r.jsx)(Y.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleBulletList().run(),active:eW.isActive("bulletList"),title:"ê¸ë¨¸ë¦¬ 기í¸",children:(0,r.jsx)(X.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleOrderedList().run(),active:eW.isActive("orderedList"),title:"ë²í¸ 목ë¡",children:(0,r.jsx)(K.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleTaskList().run(),active:eW.isActive("taskList"),title:"ì²´í¬ë¦¬ì¤í¸",children:(0,r.jsx)(V.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().toggleBlockquote().run(),active:eW.isActive("blockquote"),title:"ì¸ì©",children:(0,r.jsx)(_.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().setHorizontalRule().run(),title:"구ë¶ì ",children:(0,r.jsx)(G.Z,{size:14})}),(0,r.jsx)(eh,{onClick:()=>eW.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:!0}).run(),title:"í ì½ì
",children:(0,r.jsx)(Q.Z,{size:14})}),ev&&(0,r.jsx)(eh,{onClick:()=>ev(eW),title:"ìì
ëª
ë ¬í ê°ì ¸ì¤ê¸°",children:(0,r.jsx)($.Z,{size:14})}),eW.isActive("table")&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(eh,{onClick:()=>eW.chain().focus().addColumnAfter().run(),title:"ì´ ì¶ê°",children:[(0,r.jsx)(J.Z,{size:12}),(0,r.jsx)(ee.Z,{size:9,className:"absolute -right-0.5 -bottom-0.5"})]}),(0,r.jsxs)(eh,{onClick:()=>eW.chain().focus().addRowAfter().run(),title:"í ì¶ê°",children:[(0,r.jsx)(et.Z,{size:12}),(0,r.jsx)(ee.Z,{size:9,className:"absolute -right-0.5 -bottom-0.5"})]}),(0,r.jsxs)(eh,{onClick:()=>eW.chain().focus().deleteColumn().run(),title:"ì´ ìì ",className:"text-red-400 hover:text-red-300",children:[(0,r.jsx)(J.Z,{size:12}),(0,r.jsx)(ei.Z,{size:9,className:"absolute -right-0.5 -bottom-0.5"})]}),(0,r.jsxs)(eh,{onClick:()=>eW.chain().focus().deleteRow().run(),title:"í ìì ",className:"text-red-400 hover:text-red-300",children:[(0,r.jsx)(et.Z,{size:12}),(0,r.jsx)(ei.Z,{size:9,className:"absolute -right-0.5 -bottom-0.5"})]}),(0,r.jsx)(eh,{onClick:()=>{let{selection:e}=eW.state;e instanceof s.qv&&"table"===e.node.type.name?eW.chain().focus().deleteSelection().run():eW.chain().focus().deleteTable().run()},title:"í ìì ",className:"text-red-400 hover:text-red-300",children:(0,r.jsx)(ei.Z,{size:12})})]})]}),eS&&"undefined"!=typeof document&&(0,ed.createPortal)((0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"fixed inset-0 z-[9998]",onClick:()=>eB(null)}),(0,r.jsxs)("div",{className:"fixed z-[9999] flex gap-1 p-1.5 bg-zinc-800 rounded-lg shadow-xl border border-white/10",style:{left:eS.position.x+12,top:eS.position.y+12},children:[(0,r.jsx)("button",{onClick:()=>eP("image"),className:"p-2 hover:bg-white/10 rounded-md text-white/70 hover:text-white transition-colors",title:"ì´ë¯¸ì§ë¡ íì",children:(0,r.jsx)(er.Z,{size:18})}),(0,r.jsx)("button",{onClick:()=>eP("file"),className:"p-2 hover:bg-white/10 rounded-md text-white/70 hover:text-white transition-colors",title:"íì¼ë¡ 첨ë¶",children:(0,r.jsx)(en.Z,{size:18})})]})]}),document.body)]}):null}function eh(e){let{onClick:t,active:i,disabled:n,title:l,children:s,className:o}=e;return(0,r.jsx)("button",{type:"button",tabIndex:-1,onClick:e=>{n||t()},onMouseDown:e=>{e.preventDefault()},disabled:n,title:l,"data-active":i||void 0,className:(0,y.cn)("relative p-1.5 rounded transition-colors flex items-center justify-center",!i&&"text-white/50 hover:text-white hover:bg-white/10",n&&"opacity-30 curs
1or-not-allowed",o),children:s})}},84929:function(e,t,i){i.d(t,{E:function(){return o},f:function(){return s}});var r=i(57437),n=i(2265);let l=(0,n.createContext)(void 0);function s(){let e=(0,n.useContext)(l);if(!e)throw Error("useQuota must be used within a QuotaProvider");return e}function o(e){let{children:t}=e,[i,s]=(0,n.useState)(!1),[o,a]=(0,n.useState)(null),c=(0,n.useCallback)(e=>{a(e),s(!0)},[]),d=(0,n.useCallback)(()=>{s(!1),setTimeout(()=>a(null),300)},[]);return(0,r.jsx)(l.Provider,{value:{isQuotaModalOpen:i,quotaInfo:o,openQuotaModal:c,closeQuotaModal:d},children:t})}},30226:function(e,t,i){i.d(t,{c:function(){return r}});async function r(e){try{let r=new FormData;r.append("file",e);let n=await fetch("/api/upload/direct",{method:"POST",body:r});if(!n.ok){var t,i;let e=await n.json();return{success:!1,error:e.error||"Upload failed",statusCode:n.status,quotaInfo:413===n.status?{currentUsage:null!==(t=e.currentUsage)&&void 0!==t?t:0,limit:null!==(i=e.limit)&&void 0!==i?i:5242880,message:e.error||"ì ì¥ ì©ëì´ ë¶ì¡±í©ëë¤."}:void 0}}let l=await n.json();return{success:!0,file:{key:l.key,name:e.name,size:e.size,type:e.type}}}catch(e){return console.error("Upload failed:",e),{success:!1,error:e instanceof Error?e.message:"Upload failed"}}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.