import{be as N,Y as p,b as S,o,g as b,w as r,r as T,a,t as s,c as n,F as L,l as x,aQ as M,j as u,i,k as V,af as H,h as c,N as g,s as I,X as D}from"./C6MRUCyE.js";import{N as F}from"./CFotnwxd.js";const $={class:"font-extrabold text-contrast text-lg"},j={class:"flex flex-col gap-4"},q=["innerHTML"],X={key:1,class:"max-w-[35rem] m-0"},E={key:1,for:"confirmation"},O={class:"italic font-bold"},P={class:"flex gap-2"},Q=["disabled"],z={__name:"ConfirmModal",props:{confirmationText:{type:String,default:""},hasToType:{type:Boolean,default:!1},title:{type:String,default:"No title defined",required:!0},description:{type:String,default:void 0,required:!1},proceedIcon:{type:Object,default:N},proceedLabel:{type:String,default:"Proceed"},noblur:{type:Boolean,default:!1},danger:{type:Boolean,default:!0},onHide:{type:Function,default(){return()=>{}}},markdown:{type:Boolean,default:!0}},emits:["proceed"],setup(e,{expose:w,emit:h}){const f=e,k=h,l=p(null),d=p(""),v=S(()=>f.hasToType&&d.value.toLowerCase()!==f.confirmationText.toLowerCase());function B(){l.value.hide(),d.value="",k("proceed")}function C(){l.value.show()}return w({show:C}),(m,t)=>(o(),b(F,{ref_key:"modal",ref:l,noblur:e.noblur,danger:e.danger,"on-hide":e.onHide},{title:r(()=>[T(m.$slots,"title",{},()=>[a("span",$,s(e.title),1)])]),default:r(()=>[a("div",j,[e.description?(o(),n(L,{key:0},[e.markdown?(o(),n("div",{key:0,class:"markdown-body max-w-[35rem]",innerHTML:x(M)(e.description)},null,8,q)):(o(),n("p",X,s(e.description),1))],64)):u("",!0),T(m.$slots,"default"),e.hasToType?(o(),n("label",E,[a("span",null,[t[2]||(t[2]=i(" To confirm you want to proceed, type ")),a("span",O,s(e.confirmationText),1),t[3]||(t[3]=i(" below: "))])])):u("",!0),e.hasToType?V((o(),n("input",{key:2,id:"confirmation","onUpdate:modelValue":t[0]||(t[0]=y=>d.value=y),type:"text",placeholder:"Type here...",class:"max-w-[20rem]"},null,512)),[[H,d.value]]):u("",!0),a("div",P,[c(g,{color:e.danger?"red":"brand"},{default:r(()=>[a("button",{disabled:v.value,onClick:B},[(o(),b(I(e.proceedIcon))),i(" "+s(e.proceedLabel),1)],8,Q)]),_:1},8,["color"]),c(g,null,{default:r(()=>[a("button",{onClick:t[1]||(t[1]=y=>l.value.hide())},[c(x(D)),t[4]||(t[4]=i(" Cancel "))])]),_:1})])])]),_:3},8,["noblur","danger","on-hide"]))}};export{z as _};