import{BORDER_LEFT as e,BORDER_TOP as t,Popup as n,addUnit as r,callInterceptor as i,createNamespace as a,extend as o,inBrowser as s,isFunction as c,makeStringProp as l,mountComponent as u,noop as d,numericProp as f,pick as p,popupSharedPropKeys as m,popupSharedProps as h,routeProps as g,truthProp as _,unknownProp as v,useChildren as y,useExpose as b,useParent as x,usePlaceholder as S,usePopupState as C,useRoute as w,withInstall as T}from"./_plugin-vue_export-helper-BFIprANq.js";import{computed as E,createVNode as D,defineComponent as O,mergeProps as k,reactive as A,ref as j,withKeys as M}from"./index-CSge6Fca.js";import{Button as N}from"./style-Ck3BfUdw.js";const[P,F]=a(`action-bar`),I=Symbol(P),L={placeholder:Boolean,safeAreaInsetBottom:_};var R=O({name:P,props:L,setup(e,{slots:t}){let n=j(),r=S(n,F),{linkChildren:i}=y(I);i();let a=()=>{var r;return D(`div`,{ref:n,class:[F(),{"van-safe-area-bottom":e.safeAreaInsetBottom}]},[(r=t.default)?.call(t)])};return()=>e.placeholder?r(a):a()}});const z=T(R),[B,V]=a(`action-bar-button`),H=o({},g,{type:String,text:String,icon:String,color:String,loading:Boolean,disabled:Boolean});var U=O({name:B,props:H,setup(e,{slots:t}){let n=w(),{parent:r,index:i}=x(I),a=E(()=>{if(r){let e=r.children[i.value-1];return!(e&&`isButton`in e)}}),o=E(()=>{if(r){let e=r.children[i.value+1];return!(e&&`isButton`in e)}});return b({isButton:!0}),()=>{let{type:r,icon:i,text:s,color:c,loading:l,disabled:u}=e;return D(N,{class:V([r,{last:o.value,first:a.value}]),size:`large`,type:r,icon:i,color:c,loading:l,disabled:u,onClick:n},{default:()=>[t.default?t.default():s]})}}});const W=T(U),[G,K,q]=a(`dialog`),J=o({},h,{title:String,theme:String,width:f,message:[String,Function],callback:Function,allowHtml:Boolean,className:v,transition:l(`van-dialog-bounce`),messageAlign:String,closeOnPopstate:_,showCancelButton:Boolean,cancelButtonText:String,cancelButtonColor:String,cancelButtonDisabled:Boolean,confirmButtonText:String,confirmButtonColor:String,confirmButtonDisabled:Boolean,showConfirmButton:_,closeOnClickOverlay:Boolean,keyboardEnabled:_,destroyOnClose:Boolean}),Y=[...m,`transition`,`closeOnPopstate`,`destroyOnClose`];var X=O({name:G,props:J,emits:[`confirm`,`cancel`,`keydown`,`update:show`],setup(a,{emit:o,slots:s}){let l=j(),u=A({confirm:!1,cancel:!1}),f=e=>o(`update:show`,e),m=e=>{var t;f(!1),(t=a.callback)==null||t.call(a,e)},h=e=>()=>{a.show&&(o(e),a.beforeClose?(u[e]=!0,i(a.beforeClose,{args:[e],done(){m(e),u[e]=!1},canceled(){u[e]=!1}})):m(e))},g=h(`cancel`),_=h(`confirm`),v=M(e=>{var t,n;if(!a.keyboardEnabled||e.target!==(n=(t=l.value)?.popupRef)?.value)return;let r={Enter:a.showConfirmButton?_:d,Escape:a.showCancelButton?g:d};r[e.key](),o(`keydown`,e)},[`enter`,`esc`]),y=()=>{let e=s.title?s.title():a.title;if(e)return D(`div`,{class:K(`header`,{isolated:!a.message&&!s.default})},[e])},b=e=>{let{message:t,allowHtml:n,messageAlign:r}=a,i=K(`message`,{"has-title":e,[r]:r}),o=c(t)?t():t;return n&&typeof o==`string`?D(`div`,{class:i,innerHTML:o},null):D(`div`,{class:i},[o])},x=()=>{if(s.default)return D(`div`,{class:K(`content`)},[s.default()]);let{title:e,message:t,allowHtml:n}=a;if(t){let t=!!(e||s.title);return D(`div`,{key:n?1:0,class:K(`content`,{isolated:!t})},[b(t)])}},S=()=>D(`div`,{class:[t,K(`footer`)]},[a.showCancelButton&&D(N,{size:`large`,text:a.cancelButtonText||q(`cancel`),class:K(`cancel`),style:{color:a.cancelButtonColor},loading:u.cancel,disabled:a.cancelButtonDisabled,onClick:g},null),a.showConfirmButton&&D(N,{size:`large`,text:a.confirmButtonText||q(`confirm`),class:[K(`confirm`),{[e]:a.showCancelButton}],style:{color:a.confirmButtonColor},loading:u.confirm,disabled:a.confirmButtonDisabled,onClick:_},null)]),C=()=>D(z,{class:K(`footer`)},{default:()=>[a.showCancelButton&&D(W,{type:`warning`,text:a.cancelButtonText||q(`cancel`),class:K(`cancel`),color:a.cancelButtonColor,loading:u.cancel,disabled:a.cancelButtonDisabled,onClick:g},null),a.showConfirmButton&&D(W,{type:`danger`,text:a.confirmButtonText||q(`confirm`),class:K(`confirm`),color:a.confirmButtonColor,loading:u.confirm,disabled:a.confirmButtonDisabled,onClick:_},null)]}),w=()=>s.footer?s.footer():a.theme===`round-button`?C():S();return()=>{let{width:e,title:t,theme:i,message:o,className:s}=a;return D(n,k({ref:l,role:`dialog`,class:[K([i]),s],style:{width:r(e)},tabindex:0,"aria-labelledby":t||o,onKeydown:v,"onUpdate:show":f},p(a,Y)),{default:()=>[y(),x(),w()]})}}});let Z;const Q={title:``,width:``,theme:null,message:``,overlay:!0,callback:null,teleport:`body`,className:``,allowHtml:!1,lockScroll:!0,transition:void 0,beforeClose:null,overlayClass:``,overlayStyle:void 0,messageAlign:``,cancelButtonText:``,cancelButtonColor:null,cancelButtonDisabled:!1,confirmButtonText:``,confirmButtonColor:null,confirmButtonDisabled:!1,showConfirmButton:!0,showCancelButton:!1,closeOnPopstate:!0,closeOnClickOverlay:!1,destroyOnClose:!1};let $=o({},Q);function ee(){let e={setup(){let{state:e,toggle:t}=C();return()=>D(X,k(e,{"onUpdate:show":t}),null)}};({instance:Z}=u(e))}function te(e){return s?new Promise((t,n)=>{Z||ee(),Z.open(o({},$,e,{callback:e=>{(e===`confirm`?t:n)(e)}}))}):Promise.resolve(void 0)}const ne=e=>te(o({showCancelButton:!0},e)),re=T(X);export{re as Dialog,ne as showConfirmDialog};