| 1 |
- import{m as L,u as z}from"./mount-component-060eea4b.js";import{d as k,r as E,c as o,a as O,B as M,U as W,m as N}from"./index-16aedc47.js";import{p as J,a as V,P as Y}from"./index-0810be85.js";import{B as P}from"./index-8a614103.js";import{c as T,u as j,t as p,w as F,e as h,a as q,n as G,F as Q,y as X,x as Z,b as ee,M as D,N as te,J as ne}from"./index-3075fd64.js";import{u as oe}from"./use-placeholder-e354374c.js";import{u as ae}from"./use-scope-id-c38e64b2.js";import{r as le,u as se}from"./use-route-64216f9c.js";import{b as re,c as ce}from"./constant-7967f80c.js";import{c as ie}from"./on-popup-reopen-b90101a6.js";const[I,A]=T("action-bar"),R=Symbol(I),ue={placeholder:Boolean,safeAreaInsetBottom:p};var de=k({name:I,props:ue,setup(e,{slots:a}){const n=E(),s=oe(n,A),{linkChildren:r}=j(R);r();const m=()=>{var f;return o("div",{ref:n,class:[A(),{"van-safe-area-bottom":e.safeAreaInsetBottom}]},[(f=a.default)==null?void 0:f.call(a)])};return()=>e.placeholder?s(m):m()}});const me=F(de),[fe,Be]=T("action-bar-button"),ge=h({},le,{type:String,text:String,icon:String,color:String,loading:Boolean,disabled:Boolean});var he=k({name:fe,props:ge,setup(e,{slots:a}){const n=se(),{parent:s,index:r}=q(R),m=O(()=>{if(s){const c=s.children[r.value-1];return!(c&&"isButton"in c)}}),f=O(()=>{if(s){const c=s.children[r.value+1];return!(c&&"isButton"in c)}});return ae({isButton:!0}),()=>{const{type:c,icon:B,text:g,color:w,loading:v,disabled:y}=e;return o(P,{class:Be([c,{last:f.value,first:m.value}]),size:"large",type:c,icon:B,color:w,loading:v,disabled:y,onClick:n},{default:()=>[a.default?a.default():g]})}}});const _=F(he),[Ce,i,b]=T("dialog"),be=h({},J,{title:String,theme:String,width:G,message:[String,Function],callback:Function,allowHtml:Boolean,className:Q,transition:X("van-dialog-bounce"),messageAlign:String,closeOnPopstate:p,showCancelButton:Boolean,cancelButtonText:String,cancelButtonColor:String,cancelButtonDisabled:Boolean,confirmButtonText:String,confirmButtonColor:String,confirmButtonDisabled:Boolean,showConfirmButton:p,closeOnClickOverlay:Boolean}),we=[...V,"transition","closeOnPopstate"];var ve=k({name:Ce,props:be,emits:["confirm","cancel","keydown","update:show"],setup(e,{emit:a,slots:n}){const s=E(),r=M({confirm:!1,cancel:!1}),m=t=>a("update:show",t),f=t=>{var l;m(!1),(l=e.callback)==null||l.call(e,t)},c=t=>()=>{e.show&&(a(t),e.beforeClose?(r[t]=!0,ie(e.beforeClose,{args:[t],done(){f(t),r[t]=!1},canceled(){r[t]=!1}})):f(t))},B=c("cancel"),g=c("confirm"),w=W(t=>{var l,u;if(t.target!==((u=(l=s.value)==null?void 0:l.popupRef)==null?void 0:u.value))return;({Enter:e.showConfirmButton?g:D,Escape:e.showCancelButton?B:D})[t.key](),a("keydown",t)},["enter","esc"]),v=()=>{const t=n.title?n.title():e.title;if(t)return o("div",{class:i("header",{isolated:!e.message&&!n.default})},[t])},y=t=>{const{message:l,allowHtml:u,messageAlign:d}=e,C=i("message",{"has-title":t,[d]:d}),x=te(l)?l():l;return u&&typeof x=="string"?o("div",{class:C,innerHTML:x},null):o("div",{class:C},[x])},$=()=>{if(n.default)return o("div",{class:i("content")},[n.default()]);const{title:t,message:l,allowHtml:u}=e;if(l){const d=!!(t||n.title);return o("div",{key:u?1:0,class:i("content",{isolated:!d})},[y(d)])}},H=()=>o("div",{class:[ce,i("footer")]},[e.showCancelButton&&o(P,{size:"large",text:e.cancelButtonText||b("cancel"),class:i("cancel"),style:{color:e.cancelButtonColor},loading:r.cancel,disabled:e.cancelButtonDisabled,onClick:B},null),e.showConfirmButton&&o(P,{size:"large",text:e.confirmButtonText||b("confirm"),class:[i("confirm"),{[re]:e.showCancelButton}],style:{color:e.confirmButtonColor},loading:r.confirm,disabled:e.confirmButtonDisabled,onClick:g},null)]),K=()=>o(me,{class:i("footer")},{default:()=>[e.showCancelButton&&o(_,{type:"warning",text:e.cancelButtonText||b("cancel"),class:i("cancel"),color:e.cancelButtonColor,loading:r.cancel,disabled:e.cancelButtonDisabled,onClick:B},null),e.showConfirmButton&&o(_,{type:"danger",text:e.confirmButtonText||b("confirm"),class:i("confirm"),color:e.confirmButtonColor,loading:r.confirm,disabled:e.confirmButtonDisabled,onClick:g},null)]}),U=()=>n.footer?n.footer():e.theme==="round-button"?K():H();return()=>{const{width:t,title:l,theme:u,message:d,className:C}=e;return o(Y,N({ref:s,role:"dialog",class:[i([u]),C],style:{width:ee(t)},tabindex:0,"aria-labelledby":l||d,onKeydown:w,"onUpdate:show":m},Z(e,we)),{default:()=>[v(),$(),U()]})}}});let S;const ye={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};let xe=h({},ye);function Pe(){({instance:S}=L({setup(){const{state:a,toggle:n}=z();return()=>o(ve,N(a,{"onUpdate:show":n}),null)}}))}function pe(e){return ne?new Promise((a,n)=>{S||Pe(),S.open(h({},xe,e,{callback:s=>{(s==="confirm"?a:n)(s)}}))}):Promise.resolve(void 0)}const Ie=e=>pe(h({showCancelButton:!0},e));export{Ie as a,ve as s};
|