1 line
15 KiB
JavaScript
1 line
15 KiB
JavaScript
import{D as e,Ht as t,J as n,Yt as r,ct as i,ft as a,g as o,gt as s,k as c,tt as l,vn as u,xn as d}from"./runtime-core.esm-bundler-DkysjgTd.js";import{S as f,t as p}from"./runtime-dom.esm-bundler-CirRHyjC.js";import{r as m}from"./en_US-Cv9hrLhb.js";import{$ as h,J as g,W as _,ct as v,l as y,q as b,t as x,u as S,vt as C,wt as w}from"./useConfigInject-DomGmy3z.js";import{t as T}from"./initDefaultProps-D8Mki4gM.js";import{n as E}from"./motion-CBgDjk3d.js";import{t as D}from"./omit-C0ksMpVM.js";import{t as O}from"./vue-types-CEi2nPn2.js";import{t as k}from"./devWarning-DlchpATv.js";import{a as A,o as j}from"./Portal-pBogH1MM.js";import{t as M}from"./KeyCode-DNtAKsAc.js";import{t as N}from"./CloseOutlined-Ba8JgGMi.js";import{n as P}from"./Compact-B2FnUvCm.js";var F=e=>!isNaN(parseFloat(e))&&isFinite(e),I=()=>({prefixCls:String,width:O.oneOfType([O.string,O.number]),height:O.oneOfType([O.string,O.number]),style:{type:Object,default:void 0},class:String,rootClassName:String,rootStyle:g(),placement:{type:String},wrapperClassName:String,level:{type:[String,Array]},levelMove:{type:[Number,Function,Array]},duration:String,ease:String,showMask:{type:Boolean,default:void 0},maskClosable:{type:Boolean,default:void 0},maskStyle:{type:Object,default:void 0},afterVisibleChange:Function,keyboard:{type:Boolean,default:void 0},contentWrapperStyle:_(),autofocus:{type:Boolean,default:void 0},open:{type:Boolean,default:void 0},motion:b(),maskMotion:g()}),L=()=>m(m({},I()),{forceRender:{type:Boolean,default:void 0},getContainer:O.oneOfType([O.string,O.func,O.object,O.looseBool])}),R=()=>m(m({},I()),{getContainer:Function,getOpenCount:Function,scrollLocker:O.any,inline:Boolean});function z(e){return Array.isArray(e)?e:[e]}var B={transition:`transitionend`,WebkitTransition:`webkitTransitionEnd`,MozTransition:`transitionend`,OTransition:`oTransitionEnd otransitionend`};B[Object.keys(B).filter(e=>{if(typeof document>`u`)return!1;let t=document.getElementsByTagName(`html`)[0];return e in(t?t.style:{})})[0]];var V=!(typeof window<`u`&&window.document&&window.document.createElement),H=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},U={},W=c({compatConfig:{MODE:3},inheritAttrs:!1,props:R(),emits:[`close`,`handleClick`,`change`],setup(n,o){let{emit:s,slots:c}=o,u=d(),m=d(),h=d(),g=d(),_=d(),v=[],y=`drawer_id_${Number((Date.now()+Math.random()).toString().replace(`.`,Math.round(Math.random()*9).toString())).toString(16)}`;i(()=>{l(()=>{var e;let{open:t,getContainer:r,showMask:i,autofocus:a}=n,o=r==null?void 0:r();E(n),t&&(o&&o.parentNode===document.body&&(U[y]=t),l(()=>{a&&b()}),i&&((e=n.scrollLocker)==null||e.lock()))})}),t(()=>n.level,()=>{E(n)},{flush:`post`}),t(()=>n.open,()=>{let{open:e,getContainer:t,scrollLocker:r,showMask:i,autofocus:a}=n,o=t==null?void 0:t();o&&o.parentNode===document.body&&(U[y]=!!e),e?(a&&b(),i&&(r==null||r.lock())):r==null||r.unLock()},{flush:`post`}),a(()=>{var e;let{open:t}=n;delete U[y],t&&(document.body.style.touchAction=``),(e=n.scrollLocker)==null||e.unLock()}),t(()=>n.placement,e=>{e&&(_.value=null)});let b=()=>{var e,t;(t=(e=m.value)==null?void 0:e.focus)==null||t.call(e)},x=e=>{s(`close`,e)},S=e=>{e.keyCode===M.ESC&&(e.stopPropagation(),x(e))},T=()=>{let{open:e,afterVisibleChange:t}=n;t&&t(!!e)},E=e=>{let{level:t,getContainer:n}=e;if(V)return;let r=n==null?void 0:n(),i=r?r.parentNode:null;v=[],t===`all`?(i?Array.prototype.slice.call(i.children):[]).forEach(e=>{e.nodeName!==`SCRIPT`&&e.nodeName!==`STYLE`&&e.nodeName!==`LINK`&&e!==r&&v.push(e)}):t&&z(t).forEach(e=>{document.querySelectorAll(e).forEach(e=>{v.push(e)})})},O=e=>{s(`handleClick`,e)},k=d(!1);return t(m,()=>{l(()=>{k.value=!0})}),()=>{var t,i;let{width:a,height:o,open:s,prefixCls:l,placement:d,level:v,levelMove:y,ease:b,duration:E,getContainer:A,onChange:j,afterVisibleChange:M,showMask:N,maskClosable:P,maskStyle:F,keyboard:I,getOpenCount:L,scrollLocker:R,contentWrapperStyle:z,style:B,class:V,rootClassName:U,rootStyle:W,maskMotion:G,motion:K,inline:q}=n,J=H(n,`width.height.open.prefixCls.placement.level.levelMove.ease.duration.getContainer.onChange.afterVisibleChange.showMask.maskClosable.maskStyle.keyboard.getOpenCount.scrollLocker.contentWrapperStyle.style.class.rootClassName.rootStyle.maskMotion.motion.inline`.split(`.`)),Y=s&&k.value,X=C(l,{[`${l}-${d}`]:!0,[`${l}-open`]:Y,[`${l}-inline`]:q,"no-mask":!N,[U]:!0}),Z=typeof K==`function`?K(d):K;return e(`div`,w(w({},D(J,[`autofocus`])),{},{tabindex:-1,class:X,style:W,ref:m,onKeydown:Y&&I?S:void 0}),[e(p,G,{default:()=>[N&&r(e(`div`,{class:`${l}-mask`,onClick:P?x:void 0,style:F,ref:h},null),[[f,Y]])]}),e(p,w(w({},Z),{},{onAfterEnter:T,onAfterLeave:T}),{default:()=>[r(e(`div`,{class:`${l}-content-wrapper`,style:[z],ref:u},[e(`div`,{class:[`${l}-content`,V],style:B,ref:_},[(t=c.default)==null?void 0:t.call(c)]),c.handler?e(`div`,{onClick:O,ref:g},[(i=c.handler)==null?void 0:i.call(c)]):null]),[[f,Y]])]})])}}}),G=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},K=c({compatConfig:{MODE:3},inheritAttrs:!1,props:T(L(),{prefixCls:`drawer`,placement:`left`,getContainer:`body`,level:`all`,duration:`.3s`,ease:`cubic-bezier(0.78, 0.14, 0.15, 0.86)`,afterVisibleChange:()=>{},showMask:!0,maskClosable:!0,maskStyle:{},wrapperClassName:``,keyboard:!0,forceRender:!1,autofocus:!0}),emits:[`handleClick`,`close`],setup(t,n){let{emit:r,slots:i}=n,a=u(null),o=e=>{r(`handleClick`,e)},s=e=>{r(`close`,e)};return()=>{let{getContainer:n,wrapperClassName:r,rootClassName:c,rootStyle:l,forceRender:u}=t,d=G(t,[`getContainer`,`wrapperClassName`,`rootClassName`,`rootStyle`,`forceRender`]),f=null;if(!n)return e(W,w(w({},d),{},{rootClassName:c,rootStyle:l,open:t.open,onClose:s,onHandleClick:o,inline:!0}),i);let p=!!i.handler||u;return(p||t.open||a.value)&&(f=e(E,{autoLock:!0,visible:t.open,forceRender:p,getContainer:n,wrapperClassName:r},{default:n=>{var{visible:r,afterClose:u}=n,f=G(n,[`visible`,`afterClose`]);return e(W,w(w(w({ref:a},d),f),{},{rootClassName:c,rootStyle:l,open:r===void 0?t.open:r,afterVisibleChange:u===void 0?t.afterVisibleChange:u,onClose:s,onHandleClick:o}),i)}})),f}}}),q=e=>{let{componentCls:t,motionDurationSlow:n}=e,r={"&-enter, &-appear, &-leave":{"&-start":{transition:`none`},"&-active":{transition:`all ${n}`}}};return{[t]:{[`${t}-mask-motion`]:{"&-enter, &-appear, &-leave":{"&-active":{transition:`all ${n}`}},"&-enter, &-appear":{opacity:0,"&-active":{opacity:1}},"&-leave":{opacity:1,"&-active":{opacity:0}}},[`${t}-panel-motion`]:{"&-left":[r,{"&-enter, &-appear":{"&-start":{transform:`translateX(-100%) !important`},"&-active":{transform:`translateX(0)`}},"&-leave":{transform:`translateX(0)`,"&-active":{transform:`translateX(-100%)`}}}],"&-right":[r,{"&-enter, &-appear":{"&-start":{transform:`translateX(100%) !important`},"&-active":{transform:`translateX(0)`}},"&-leave":{transform:`translateX(0)`,"&-active":{transform:`translateX(100%)`}}}],"&-top":[r,{"&-enter, &-appear":{"&-start":{transform:`translateY(-100%) !important`},"&-active":{transform:`translateY(0)`}},"&-leave":{transform:`translateY(0)`,"&-active":{transform:`translateY(-100%)`}}}],"&-bottom":[r,{"&-enter, &-appear":{"&-start":{transform:`translateY(100%) !important`},"&-active":{transform:`translateY(0)`}},"&-leave":{transform:`translateY(0)`,"&-active":{transform:`translateY(100%)`}}}]}}}},J=e=>{let{componentCls:t,zIndexPopup:n,colorBgMask:r,colorBgElevated:i,motionDurationSlow:a,motionDurationMid:o,padding:s,paddingLG:c,fontSizeLG:l,lineHeightLG:u,lineWidth:d,lineType:f,colorSplit:p,marginSM:m,colorIcon:h,colorIconHover:g,colorText:_,fontWeightStrong:v,drawerFooterPaddingVertical:y,drawerFooterPaddingHorizontal:b}=e,x=`${t}-content-wrapper`;return{[t]:{position:`fixed`,inset:0,zIndex:n,pointerEvents:`none`,"&-pure":{position:`relative`,background:i,[`&${t}-left`]:{boxShadow:e.boxShadowDrawerLeft},[`&${t}-right`]:{boxShadow:e.boxShadowDrawerRight},[`&${t}-top`]:{boxShadow:e.boxShadowDrawerUp},[`&${t}-bottom`]:{boxShadow:e.boxShadowDrawerDown}},"&-inline":{position:`absolute`},[`${t}-mask`]:{position:`absolute`,inset:0,zIndex:n,background:r,pointerEvents:`auto`},[x]:{position:`absolute`,zIndex:n,transition:`all ${a}`,"&-hidden":{display:`none`}},[`&-left > ${x}`]:{top:0,bottom:0,left:{_skip_check_:!0,value:0},boxShadow:e.boxShadowDrawerLeft},[`&-right > ${x}`]:{top:0,right:{_skip_check_:!0,value:0},bottom:0,boxShadow:e.boxShadowDrawerRight},[`&-top > ${x}`]:{top:0,insetInline:0,boxShadow:e.boxShadowDrawerUp},[`&-bottom > ${x}`]:{bottom:0,insetInline:0,boxShadow:e.boxShadowDrawerDown},[`${t}-content`]:{width:`100%`,height:`100%`,overflow:`auto`,background:i,pointerEvents:`auto`},[`${t}-wrapper-body`]:{display:`flex`,flexDirection:`column`,width:`100%`,height:`100%`},[`${t}-header`]:{display:`flex`,flex:0,alignItems:`center`,padding:`${s}px ${c}px`,fontSize:l,lineHeight:u,borderBottom:`${d}px ${f} ${p}`,"&-title":{display:`flex`,flex:1,alignItems:`center`,minWidth:0,minHeight:0}},[`${t}-extra`]:{flex:`none`},[`${t}-close`]:{display:`inline-block`,marginInlineEnd:m,color:h,fontWeight:v,fontSize:l,fontStyle:`normal`,lineHeight:1,textAlign:`center`,textTransform:`none`,textDecoration:`none`,background:`transparent`,border:0,outline:0,cursor:`pointer`,transition:`color ${o}`,textRendering:`auto`,"&:focus, &:hover":{color:g,textDecoration:`none`}},[`${t}-title`]:{flex:1,margin:0,color:_,fontWeight:e.fontWeightStrong,fontSize:l,lineHeight:u},[`${t}-body`]:{flex:1,minWidth:0,minHeight:0,padding:c,overflow:`auto`},[`${t}-footer`]:{flexShrink:0,padding:`${y}px ${b}px`,borderTop:`${d}px ${f} ${p}`},"&-rtl":{direction:`rtl`}}}},Y=S(`Drawer`,e=>{let t=y(e,{drawerFooterPaddingVertical:e.paddingXS,drawerFooterPaddingHorizontal:e.padding});return[J(t),q(t)]},e=>({zIndexPopup:e.zIndexPopupBase})),X=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Z=[`top`,`right`,`bottom`,`left`],Q={distance:180},$=c({compatConfig:{MODE:3},name:`ADrawer`,inheritAttrs:!1,props:T({autofocus:{type:Boolean,default:void 0},closable:{type:Boolean,default:void 0},closeIcon:O.any,destroyOnClose:{type:Boolean,default:void 0},forceRender:{type:Boolean,default:void 0},getContainer:{type:[String,Function,Boolean,Object],default:void 0},maskClosable:{type:Boolean,default:void 0},mask:{type:Boolean,default:void 0},maskStyle:g(),rootClassName:String,rootStyle:g(),size:{type:String},drawerStyle:g(),headerStyle:g(),bodyStyle:g(),contentWrapperStyle:{type:Object,default:void 0},title:O.any,visible:{type:Boolean,default:void 0},open:{type:Boolean,default:void 0},width:O.oneOfType([O.string,O.number]),height:O.oneOfType([O.string,O.number]),zIndex:Number,prefixCls:String,push:O.oneOfType([O.looseBool,{type:Object}]),placement:O.oneOf(Z),keyboard:{type:Boolean,default:void 0},extra:O.any,footer:O.any,footerStyle:g(),level:O.any,levelMove:{type:[Number,Array,Function]},handle:O.any,afterVisibleChange:Function,onAfterVisibleChange:Function,onAfterOpenChange:Function,"onUpdate:visible":Function,"onUpdate:open":Function,onClose:Function},{closable:!0,placement:`right`,maskClosable:!0,mask:!0,level:null,keyboard:!0,push:Q}),slots:Object,setup(r,c){let{emit:u,slots:f,attrs:p}=c,h=d(!1),g=d(!1),_=d(null),y=d(!1),b=d(!1),S=o(()=>{var e;return(e=r.open)==null?r.visible:e});t(S,()=>{S.value?y.value=!0:b.value=!1},{immediate:!0}),t([S,y],()=>{S.value&&y.value&&(b.value=!0)},{immediate:!0});let T=n(`parentDrawerOpts`,null),{prefixCls:E,getPopupContainer:O,direction:M}=x(`drawer`,r),[I,L]=Y(E),R=o(()=>r.getContainer===void 0&&O!=null&&O.value?()=>O.value(document.body):r.getContainer);k(!r.afterVisibleChange,`Drawer`,"`afterVisibleChange` prop is deprecated, please use `@afterVisibleChange` event instead"),s(`parentDrawerOpts`,{setPush:()=>{h.value=!0},setPull:()=>{h.value=!1,l(()=>{z()})}}),i(()=>{S.value&&T&&T.setPush()}),a(()=>{T&&T.setPull()}),t(b,()=>{T&&(b.value?T.setPush():T.setPull())},{flush:`post`});let z=()=>{var e,t;(t=(e=_.value)==null?void 0:e.domFocus)==null||t.call(e)},B=e=>{u(`update:visible`,!1),u(`update:open`,!1),u(`close`,e)},V=e=>{var t;e||(g.value===!1&&(g.value=!0),r.destroyOnClose&&(y.value=!1)),(t=r.afterVisibleChange)==null||t.call(r,e),u(`afterVisibleChange`,e),u(`afterOpenChange`,e)},H=o(()=>{let{push:e,placement:t}=r,n;return n=typeof e==`boolean`?e?Q.distance:0:e.distance,n=parseFloat(String(n||0)),t===`left`||t===`right`?`translateX(${t===`left`?n:-n}px)`:t===`top`||t===`bottom`?`translateY(${t===`top`?n:-n}px)`:null}),U=o(()=>{var e;return(e=r.width)==null?r.size===`large`?736:378:e}),W=o(()=>{var e;return(e=r.height)==null?r.size===`large`?736:378:e}),G=o(()=>{let{mask:e,placement:t}=r;if(!b.value&&!e)return{};let n={};return t===`left`||t===`right`?n.width=F(U.value)?`${U.value}px`:U.value:n.height=F(W.value)?`${W.value}px`:W.value,n}),q=o(()=>{let{zIndex:e,contentWrapperStyle:t}=r,n=G.value;return[{zIndex:e,transform:h.value?H.value:void 0},m({},t),n]}),J=t=>{let{closable:n,headerStyle:i}=r,a=v(f,r,`extra`),o=v(f,r,`title`);return!o&&!n?null:e(`div`,{class:C(`${t}-header`,{[`${t}-header-close-only`]:n&&!o&&!a}),style:i},[e(`div`,{class:`${t}-header-title`},[Z(t),o&&e(`div`,{class:`${t}-title`},[o])]),a&&e(`div`,{class:`${t}-extra`},[a])])},Z=t=>{var n;let{closable:i}=r,a=f.closeIcon?(n=f.closeIcon)==null?void 0:n.call(f):r.closeIcon;return i&&e(`button`,{key:`closer`,onClick:B,"aria-label":`Close`,class:`${t}-close`},[a===void 0?e(N,null,null):a])},$=t=>{var n;if(g.value&&!r.forceRender&&!y.value)return null;let{bodyStyle:i,drawerStyle:a}=r;return e(`div`,{class:`${t}-wrapper-body`,style:a},[J(t),e(`div`,{key:`body`,class:`${t}-body`,style:i},[(n=f.default)==null?void 0:n.call(f)]),ee(t)])},ee=t=>{let n=v(f,r,`footer`);if(!n)return null;let i=`${t}-footer`;return e(`div`,{class:i,style:r.footerStyle},[n])},te=o(()=>C({"no-mask":!r.mask,[`${E.value}-rtl`]:M.value===`rtl`},r.rootClassName,L.value)),ne=o(()=>j(A(E.value,`mask-motion`))),re=e=>j(A(E.value,`panel-motion-${e}`));return()=>{let{width:t,height:n,placement:i,mask:a,forceRender:o}=r,s=X(r,[`width`,`height`,`placement`,`mask`,`forceRender`]),c=m(m(m({},p),D(s,[`size`,`closeIcon`,`closable`,`destroyOnClose`,`drawerStyle`,`headerStyle`,`bodyStyle`,`title`,`push`,`onAfterVisibleChange`,`onClose`,`onUpdate:visible`,`onUpdate:open`,`visible`])),{forceRender:o,onClose:B,afterVisibleChange:V,handler:!1,prefixCls:E.value,open:b.value,showMask:a,placement:i,ref:_});return I(e(P,null,{default:()=>[e(K,w(w({},c),{},{maskMotion:ne.value,motion:re,width:U.value,height:W.value,getContainer:R.value,rootClassName:te.value,rootStyle:r.rootStyle,contentWrapperStyle:q.value}),{handler:r.handle?()=>r.handle:f.handle,default:()=>$(E.value)})]}))}}}),ee=h($);export{ee as t}; |