import{B as e,P as t,Q as n,St as r,T as i,Z as a,b as o,bt as s,d as c,dt as l,gt as u,l as d,tt as f,v as p,yt as m}from"../modules/shiki-CRDHBXw7.js";import{C as h,k as g,o as _}from"../modules/vue-jGGq3ahv.js";import{t as v}from"../index-BRVUm3_6.js";import{t as y}from"./NoteDisplay-C3x6Bkvc.js";var b=[`placeholder`],x=i({__name:`NoteEditable`,props:{no:{type:Number,required:!0},class:{default:``},editing:{default:!1},style:{default:()=>({})},placeholder:{default:`No notes for this slide`},clicksContext:{type:Object},highlight:{default:!0},autoHeight:{default:!1}},emits:[`update:editing`,`markerDblclick`,`markerClick`],setup(i,{emit:x}){let S=i,C=x,w=h(S,`editing`,C,{passive:!0}),{info:T,update:E}=v(u(S,`no`)),D=l(``),O,{ignoreUpdates:k}=g(D,e=>{if(!w.value)return;let t=S.no;clearTimeout(O),O=setTimeout(()=>{E({note:e},t)},500)});a(()=>T.value?.note,(e=``)=>{w.value||(clearTimeout(O),k(()=>{D.value=e}))},{immediate:!0,flush:`sync`});let A=l(),j=l();n(()=>{w.value&&A.value?.focus()}),_(A,()=>{w.value=!1});function M(){!S.autoHeight||!A.value||!w.value||A.value.scrollHeight>A.value.clientHeight&&(A.value.style.height=`${A.value.scrollHeight}px`)}function N(e){w.value&&e.metaKey&&e.key===`s`&&(e.preventDefault(),E({note:D.value},S.no))}return a([D,w],()=>{t(()=>{M()})},{flush:`post`,immediate:!0}),(t,n)=>m(w)?f((e(),o(`textarea`,{key:1,ref_key:`inputEl`,ref:A,"onUpdate:modelValue":n[2]||=e=>D.value=e,class:s([`prose dark:prose-invert resize-none overflow-auto outline-none bg-transparent block border-primary border-2 slidev-note placeholder:op25`,[S.class,D.value?``:`italic`]]),style:r([S.style,j.value==null?{}:{height:`${j.value}px`}]),placeholder:i.placeholder,onKeydown:[n[3]||=c(e=>w.value=!1,[`esc`]),N]},null,46,b)),[[d,D.value]]):(e(),p(y,{key:0,class:s([`border-transparent border-2`,[S.class,D.value?``:`opacity-25 italic select-none`]]),style:r(S.style),note:D.value||i.placeholder,"note-html":m(T)?.noteHTML,"clicks-context":i.clicksContext,"auto-scroll":!i.autoHeight,highlight:S.highlight,onMarkerClick:n[0]||=(e,t)=>C(`markerClick`,e,t),onMarkerDblclick:n[1]||=(e,t)=>C(`markerDblclick`,e,t)},null,8,[`class`,`style`,`note`,`note-html`,`clicks-context`,`auto-scroll`,`highlight`]))}});export{x as t};