物管理前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

117 lines
17 KiB

import{d as ue,s as z,i as me,E as fe,c as H,z as ge,S as we,t as be,O as K,P as U,G as p,T as ye,m as Se,y as he,F as $e,X as Ce,a3 as Be}from"./index-bVOhw2NF.js";import{p as xe,d as Me,a as Te,z as ke}from"./fade-in-scale-up.cssr-CTZmXn_X.js";import{b as k,c as B,e as q,a as Q,d as X,J as ze,u as Re,f as ae,h as Ee}from"./light-Cua7cqmF.js";import{a as Oe}from"./toString-eibgRg41.js";import{b as Ae,a as Ie}from"./_baseEach-BwxcRWC6.js";import{a as _e,n as Pe}from"./_initCloneObject-K-Y0ueWp.js";import{p as Fe}from"./light-B00G814I.js";import{c as ie}from"./clickoutside-CCtiUDaG.js";import{o as Z,a as ee}from"./delegate-CI_DDEu_.js";import{f as te}from"./format-length-B-p6aW7q.js";import{g as se}from"./get-precise-event-target-DhO46Lpt.js";import{u as J,a as je,V as De,B as We}from"./Follower-DJGS5Fnl.js";import{i as le,r as oe}from"./resolve-slot-Dzko3qih.js";import{F as Ne,g as de}from"./index-C9vhMoZJ.js";import{X as He}from"./Scrollbar-DVK2lT9w.js";import{i as Le}from"./use-is-mounted-wlrzLfZo.js";import{u as Ve}from"./use-merged-state-CzrzZJbg.js";import{u as ce}from"./use-memo-BgHp9YyU.js";import{u as Ke}from"./use-compitable-DMmt6sIs.js";import{k as Ue}from"./keep-B1eBS8j0.js";import{c as V}from"./call-f2ri57Kd.js";let re;function Xe(){return re===void 0&&(re=navigator.userAgent.includes("Node.js")||navigator.userAgent.includes("jsdom")),re}const _="@@mmoContext",Je={mounted(e,{value:o}){e[_]={handler:void 0},typeof o=="function"&&(e[_].handler=o,Z("mousemoveoutside",e,o))},updated(e,{value:o}){const n=e[_];typeof o=="function"?n.handler?n.handler!==o&&(ee("mousemoveoutside",e,n.handler),n.handler=o,Z("mousemoveoutside",e,o)):(e[_].handler=o,Z("mousemoveoutside",e,o)):n.handler&&(ee("mousemoveoutside",e,n.handler),n.handler=void 0)},unmounted(e){const{handler:o}=e[_];o&&ee("mousemoveoutside",e,o),e[_].handler=void 0}};function Ye(e,o){var n=-1,r=_e(e)?Array(e.length):[];return Ae(e,function(d,c,u){r[++n]=o(d,c,u)}),r}function Ge(e,o){var n=Pe(e)?Oe:Ye;return n(e,Ie(o))}const ne={top:"bottom",bottom:"top",left:"right",right:"left"},f="var(--n-arrow-height) * 1.414",qe=k([B("popover",`
transition:
box-shadow .3s var(--n-bezier),
background-color .3s var(--n-bezier),
color .3s var(--n-bezier);
position: relative;
font-size: var(--n-font-size);
color: var(--n-text-color);
box-shadow: var(--n-box-shadow);
word-break: break-word;
`,[k(">",[B("scrollbar",`
height: inherit;
max-height: inherit;
`)]),q("raw",`
background-color: var(--n-color);
border-radius: var(--n-border-radius);
`,[q("scrollable",[q("show-header-or-footer","padding: var(--n-padding);")])]),Q("header",`
padding: var(--n-padding);
border-bottom: 1px solid var(--n-divider-color);
transition: border-color .3s var(--n-bezier);
`),Q("footer",`
padding: var(--n-padding);
border-top: 1px solid var(--n-divider-color);
transition: border-color .3s var(--n-bezier);
`),X("scrollable, show-header-or-footer",[Q("content",`
padding: var(--n-padding);
`)])]),B("popover-shared",`
transform-origin: inherit;
`,[B("popover-arrow-wrapper",`
position: absolute;
overflow: hidden;
pointer-events: none;
`,[B("popover-arrow",`
transition: background-color .3s var(--n-bezier);
position: absolute;
display: block;
width: calc(${f});
height: calc(${f});
box-shadow: 0 0 8px 0 rgba(0, 0, 0, .12);
transform: rotate(45deg);
background-color: var(--n-color);
pointer-events: all;
`)]),k("&.popover-transition-enter-from, &.popover-transition-leave-to",`
opacity: 0;
transform: scale(.85);
`),k("&.popover-transition-enter-to, &.popover-transition-leave-from",`
transform: scale(1);
opacity: 1;
`),k("&.popover-transition-enter-active",`
transition:
box-shadow .3s var(--n-bezier),
background-color .3s var(--n-bezier),
color .3s var(--n-bezier),
opacity .15s var(--n-bezier-ease-out),
transform .15s var(--n-bezier-ease-out);
`),k("&.popover-transition-leave-active",`
transition:
box-shadow .3s var(--n-bezier),
background-color .3s var(--n-bezier),
color .3s var(--n-bezier),
opacity .15s var(--n-bezier-ease-in),
transform .15s var(--n-bezier-ease-in);
`)]),S("top-start",`
top: calc(${f} / -2);
left: calc(${C("top-start")} - var(--v-offset-left));
`),S("top",`
top: calc(${f} / -2);
transform: translateX(calc(${f} / -2)) rotate(45deg);
left: 50%;
`),S("top-end",`
top: calc(${f} / -2);
right: calc(${C("top-end")} + var(--v-offset-left));
`),S("bottom-start",`
bottom: calc(${f} / -2);
left: calc(${C("bottom-start")} - var(--v-offset-left));
`),S("bottom",`
bottom: calc(${f} / -2);
transform: translateX(calc(${f} / -2)) rotate(45deg);
left: 50%;
`),S("bottom-end",`
bottom: calc(${f} / -2);
right: calc(${C("bottom-end")} + var(--v-offset-left));
`),S("left-start",`
left: calc(${f} / -2);
top: calc(${C("left-start")} - var(--v-offset-top));
`),S("left",`
left: calc(${f} / -2);
transform: translateY(calc(${f} / -2)) rotate(45deg);
top: 50%;
`),S("left-end",`
left: calc(${f} / -2);
bottom: calc(${C("left-end")} + var(--v-offset-top));
`),S("right-start",`
right: calc(${f} / -2);
top: calc(${C("right-start")} - var(--v-offset-top));
`),S("right",`
right: calc(${f} / -2);
transform: translateY(calc(${f} / -2)) rotate(45deg);
top: 50%;
`),S("right-end",`
right: calc(${f} / -2);
bottom: calc(${C("right-end")} + var(--v-offset-top));
`),...Ge({top:["right-start","left-start"],right:["top-end","bottom-end"],bottom:["right-end","left-end"],left:["top-start","bottom-start"]},(e,o)=>{const n=["right","left"].includes(o),r=n?"width":"height";return e.map(d=>{const c=d.split("-")[1]==="end",a=`calc((${`var(--v-target-${r}, 0px)`} - ${f}) / 2)`,l=C(d);return k(`[v-placement="${d}"] >`,[B("popover-shared",[X("center-arrow",[B("popover-arrow",`${o}: calc(max(${a}, ${l}) ${c?"+":"-"} var(--v-offset-${n?"left":"top"}));`)])])])})})]);function C(e){return["top","bottom"].includes(e.split("-")[0])?"var(--n-arrow-offset)":"var(--n-arrow-offset-vertical)"}function S(e,o){const n=e.split("-")[0],r=["top","bottom"].includes(n)?"height: var(--n-space-arrow);":"width: var(--n-space-arrow);";return k(`[v-placement="${e}"] >`,[B("popover-shared",`
margin-${ne[n]}: var(--n-space);
`,[X("show-arrow",`
margin-${ne[n]}: var(--n-space-arrow);
`),X("overlap",`
margin: 0;
`),ze("popover-arrow-wrapper",`
right: 0;
left: 0;
top: 0;
bottom: 0;
${n}: 100%;
${ne[n]}: auto;
${r}
`,[B("popover-arrow",o)])])])}const ve=Object.assign(Object.assign({},ae.props),{to:J.propTo,show:Boolean,trigger:String,showArrow:Boolean,delay:Number,duration:Number,raw:Boolean,arrowPointToCenter:Boolean,arrowClass:String,arrowStyle:[String,Object],arrowWrapperClass:String,arrowWrapperStyle:[String,Object],displayDirective:String,x:Number,y:Number,flip:Boolean,overlap:Boolean,placement:String,width:[Number,String],keepAliveOnHover:Boolean,scrollable:Boolean,contentClass:String,contentStyle:[Object,String],headerClass:String,headerStyle:[Object,String],footerClass:String,footerStyle:[Object,String],internalDeactivateImmediately:Boolean,animated:Boolean,onClickoutside:Function,internalTrapFocus:Boolean,internalOnAfterLeave:Function,minWidth:Number,maxWidth:Number});function Qe({arrowClass:e,arrowStyle:o,arrowWrapperClass:n,arrowWrapperStyle:r,clsPrefix:d}){return p("div",{key:"__popover-arrow__",style:r,class:[`${d}-popover-arrow-wrapper`,n]},p("div",{class:[`${d}-popover-arrow`,e],style:o}))}const Ze=ue({name:"PopoverBody",inheritAttrs:!1,props:ve,setup(e,{slots:o,attrs:n}){const{namespaceRef:r,mergedClsPrefixRef:d,inlineThemeDisabled:c}=Re(e),u=ae("Popover","-popover",qe,Fe,e,d),a=z(null),l=me("NPopover"),g=z(null),w=z(e.show),x=z(!1);fe(()=>{const{show:i}=e;i&&!Xe()&&!e.internalDeactivateImmediately&&(x.value=!0)});const R=H(()=>{const{trigger:i,onClickoutside:m}=e,b=[],{positionManuallyRef:{value:s}}=l;return s||(i==="click"&&!m&&b.push([ie,L,void 0,{capture:!0}]),i==="hover"&&b.push([Je,G])),m&&b.push([ie,L,void 0,{capture:!0}]),(e.displayDirective==="show"||e.animated&&x.value)&&b.push([ge,e.show]),b}),M=H(()=>{const{common:{cubicBezierEaseInOut:i,cubicBezierEaseIn:m,cubicBezierEaseOut:b},self:{space:s,spaceArrow:D,padding:W,fontSize:T,textColor:N,dividerColor:t,color:v,boxShadow:y,borderRadius:A,arrowHeight:I,arrowOffset:$,arrowOffsetVertical:pe}}=u.value;return{"--n-box-shadow":y,"--n-bezier":i,"--n-bezier-ease-in":m,"--n-bezier-ease-out":b,"--n-font-size":T,"--n-text-color":N,"--n-color":v,"--n-divider-color":t,"--n-border-radius":A,"--n-arrow-height":I,"--n-arrow-offset":$,"--n-arrow-offset-vertical":pe,"--n-padding":W,"--n-space":s,"--n-space-arrow":D}}),P=H(()=>{const i=e.width==="trigger"?void 0:te(e.width),m=[];i&&m.push({width:i});const{maxWidth:b,minWidth:s}=e;return b&&m.push({maxWidth:te(b)}),s&&m.push({maxWidth:te(s)}),c||m.push(M.value),m}),h=c?Ee("popover",void 0,M,e):void 0;l.setBodyInstance({syncPosition:Y}),we(()=>{l.setBodyInstance(null)}),be(K(e,"show"),i=>{e.animated||(i?w.value=!0:w.value=!1)});function Y(){var i;(i=a.value)===null||i===void 0||i.syncPosition()}function E(i){e.trigger==="hover"&&e.keepAliveOnHover&&e.show&&l.handleMouseEnter(i)}function O(i){e.trigger==="hover"&&e.keepAliveOnHover&&l.handleMouseLeave(i)}function G(i){e.trigger==="hover"&&!F().contains(se(i))&&l.handleMouseMoveOutside(i)}function L(i){(e.trigger==="click"&&!F().contains(se(i))||e.onClickoutside)&&l.handleClickOutside(i)}function F(){return l.getTriggerElement()}U(xe,g),U(Me,null),U(Te,null);function j(){if(h==null||h.onRender(),!(e.displayDirective==="show"||e.show||e.animated&&x.value))return null;let m;const b=l.internalRenderBodyRef.value,{value:s}=d;if(b)m=b([`${s}-popover-shared`,h==null?void 0:h.themeClass.value,e.overlap&&`${s}-popover-shared--overlap`,e.showArrow&&`${s}-popover-shared--show-arrow`,e.arrowPointToCenter&&`${s}-popover-shared--center-arrow`],g,P.value,E,O);else{const{value:D}=l.extraClassRef,{internalTrapFocus:W}=e,T=!le(o.header)||!le(o.footer),N=()=>{var t,v;const y=T?p($e,null,oe(o.header,$=>$?p("div",{class:[`${s}-popover__header`,e.headerClass],style:e.headerStyle},$):null),oe(o.default,$=>$?p("div",{class:[`${s}-popover__content`,e.contentClass],style:e.contentStyle},o):null),oe(o.footer,$=>$?p("div",{class:[`${s}-popover__footer`,e.footerClass],style:e.footerStyle},$):null)):e.scrollable?(t=o.default)===null||t===void 0?void 0:t.call(o):p("div",{class:[`${s}-popover__content`,e.contentClass],style:e.contentStyle},o),A=e.scrollable?p(He,{contentClass:T?void 0:`${s}-popover__content ${(v=e.contentClass)!==null&&v!==void 0?v:""}`,contentStyle:T?void 0:e.contentStyle},{default:()=>y}):y,I=e.showArrow?Qe({arrowClass:e.arrowClass,arrowStyle:e.arrowStyle,arrowWrapperClass:e.arrowWrapperClass,arrowWrapperStyle:e.arrowWrapperStyle,clsPrefix:s}):null;return[A,I]};m=p("div",Se({class:[`${s}-popover`,`${s}-popover-shared`,h==null?void 0:h.themeClass.value,D.map(t=>`${s}-${t}`),{[`${s}-popover--scrollable`]:e.scrollable,[`${s}-popover--show-header-or-footer`]:T,[`${s}-popover--raw`]:e.raw,[`${s}-popover-shared--overlap`]:e.overlap,[`${s}-popover-shared--show-arrow`]:e.showArrow,[`${s}-popover-shared--center-arrow`]:e.arrowPointToCenter}],ref:g,style:P.value,onKeydown:l.handleKeydown,onMouseenter:E,onMouseleave:O},n),W?p(Ne,{active:e.show,autoFocus:!0},{default:N}):N())}return he(m,R.value)}return{displayed:x,namespace:r,isMounted:l.isMountedRef,zIndex:l.zIndexRef,followerRef:a,adjustedTo:J(e),followerEnabled:w,renderContentNode:j}},render(){return p(je,{ref:"followerRef",zIndex:this.zIndex,show:this.show,enabled:this.followerEnabled,to:this.adjustedTo,x:this.x,y:this.y,flip:this.flip,placement:this.placement,containerClass:this.namespace,overlap:this.overlap,width:this.width==="trigger"?"target":void 0,teleportDisabled:this.adjustedTo===J.tdkey},{default:()=>this.animated?p(ye,{name:"popover-transition",appear:this.isMounted,onEnter:()=>{this.followerEnabled=!0},onAfterLeave:()=>{var e;(e=this.internalOnAfterLeave)===null||e===void 0||e.call(this),this.followerEnabled=!1,this.displayed=!1}},{default:this.renderContentNode}):this.renderContentNode()})}}),et=Object.keys(ve),tt={focus:["onFocus","onBlur"],click:["onClick"],hover:["onMouseenter","onMouseleave"],manual:[],nested:["onFocus","onBlur","onMouseenter","onMouseleave","onClick"]};function ot(e,o,n){tt[o].forEach(r=>{e.props?e.props=Object.assign({},e.props):e.props={};const d=e.props[r],c=n[r];d?e.props[r]=(...u)=>{d(...u),c(...u)}:e.props[r]=c})}const rt={show:{type:Boolean,default:void 0},defaultShow:Boolean,showArrow:{type:Boolean,default:!0},trigger:{type:String,default:"hover"},delay:{type:Number,default:100},duration:{type:Number,default:100},raw:Boolean,placement:{type:String,default:"top"},x:Number,y:Number,arrowPointToCenter:Boolean,disabled:Boolean,getDisabled:Function,displayDirective:{type:String,default:"if"},arrowClass:String,arrowStyle:[String,Object],arrowWrapperClass:String,arrowWrapperStyle:[String,Object],flip:{type:Boolean,default:!0},animated:{type:Boolean,default:!0},width:{type:[Number,String],default:void 0},overlap:Boolean,keepAliveOnHover:{type:Boolean,default:!0},zIndex:Number,to:J.propTo,scrollable:Boolean,contentClass:String,contentStyle:[Object,String],headerClass:String,headerStyle:[Object,String],footerClass:String,footerStyle:[Object,String],onClickoutside:Function,"onUpdate:show":[Function,Array],onUpdateShow:[Function,Array],internalDeactivateImmediately:Boolean,internalSyncTargetWithParent:Boolean,internalInheritedEventHandlers:{type:Array,default:()=>[]},internalTrapFocus:Boolean,internalExtraClass:{type:Array,default:()=>[]},onShow:[Function,Array],onHide:[Function,Array],arrow:{type:Boolean,default:void 0},minWidth:Number,maxWidth:Number},nt=Object.assign(Object.assign(Object.assign({},ae.props),rt),{internalOnAfterLeave:Function,internalRenderBody:Function}),Mt=ue({name:"Popover",inheritAttrs:!1,props:nt,__popover__:!0,setup(e){const o=Le(),n=z(null),r=H(()=>e.show),d=z(e.defaultShow),c=Ve(r,d),u=ce(()=>e.disabled?!1:c.value),a=()=>{if(e.disabled)return!0;const{getDisabled:t}=e;return!!(t!=null&&t())},l=()=>a()?!1:c.value,g=Ke(e,["arrow","showArrow"]),w=H(()=>e.overlap?!1:g.value);let x=null;const R=z(null),M=z(null),P=ce(()=>e.x!==void 0&&e.y!==void 0);function h(t){const{"onUpdate:show":v,onUpdateShow:y,onShow:A,onHide:I}=e;d.value=t,v&&V(v,t),y&&V(y,t),t&&A&&V(A,!0),t&&I&&V(I,!1)}function Y(){x&&x.syncPosition()}function E(){const{value:t}=R;t&&(window.clearTimeout(t),R.value=null)}function O(){const{value:t}=M;t&&(window.clearTimeout(t),M.value=null)}function G(){const t=a();if(e.trigger==="focus"&&!t){if(l())return;h(!0)}}function L(){const t=a();if(e.trigger==="focus"&&!t){if(!l())return;h(!1)}}function F(){const t=a();if(e.trigger==="hover"&&!t){if(O(),R.value!==null||l())return;const v=()=>{h(!0),R.value=null},{delay:y}=e;y===0?v():R.value=window.setTimeout(v,y)}}function j(){const t=a();if(e.trigger==="hover"&&!t){if(E(),M.value!==null||!l())return;const v=()=>{h(!1),M.value=null},{duration:y}=e;y===0?v():M.value=window.setTimeout(v,y)}}function i(){j()}function m(t){var v;l()&&(e.trigger==="click"&&(E(),O(),h(!1)),(v=e.onClickoutside)===null||v===void 0||v.call(e,t))}function b(){if(e.trigger==="click"&&!a()){E(),O();const t=!l();h(t)}}function s(t){e.internalTrapFocus&&t.key==="Escape"&&(E(),O(),h(!1))}function D(t){d.value=t}function W(){var t;return(t=n.value)===null||t===void 0?void 0:t.targetRef}function T(t){x=t}return U("NPopover",{getTriggerElement:W,handleKeydown:s,handleMouseEnter:F,handleMouseLeave:j,handleClickOutside:m,handleMouseMoveOutside:i,setBodyInstance:T,positionManuallyRef:P,isMountedRef:o,zIndexRef:K(e,"zIndex"),extraClassRef:K(e,"internalExtraClass"),internalRenderBodyRef:K(e,"internalRenderBody")}),fe(()=>{c.value&&a()&&h(!1)}),{binderInstRef:n,positionManually:P,mergedShowConsideringDisabledProp:u,uncontrolledShow:d,mergedShowArrow:w,getMergedShow:l,setShow:D,handleClick:b,handleMouseEnter:F,handleMouseLeave:j,handleFocus:G,handleBlur:L,syncPosition:Y}},render(){var e;const{positionManually:o,$slots:n}=this;let r,d=!1;if(!o&&(n.activator?r=de(n,"activator"):r=de(n,"trigger"),r)){r=Ce(r),r=r.type===Be?p("span",[r]):r;const c={onClick:this.handleClick,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onFocus:this.handleFocus,onBlur:this.handleBlur};if(!((e=r.type)===null||e===void 0)&&e.__popover__)d=!0,r.props||(r.props={internalSyncTargetWithParent:!0,internalInheritedEventHandlers:[]}),r.props.internalSyncTargetWithParent=!0,r.props.internalInheritedEventHandlers?r.props.internalInheritedEventHandlers=[c,...r.props.internalInheritedEventHandlers]:r.props.internalInheritedEventHandlers=[c];else{const{internalInheritedEventHandlers:u}=this,a=[c,...u],l={onBlur:g=>{a.forEach(w=>{w.onBlur(g)})},onFocus:g=>{a.forEach(w=>{w.onFocus(g)})},onClick:g=>{a.forEach(w=>{w.onClick(g)})},onMouseenter:g=>{a.forEach(w=>{w.onMouseenter(g)})},onMouseleave:g=>{a.forEach(w=>{w.onMouseleave(g)})}};ot(r,u?"nested":o?"manual":this.trigger,l)}}return p(We,{ref:"binderInstRef",syncTarget:!d,syncTargetWithParent:this.internalSyncTargetWithParent},{default:()=>{this.mergedShowConsideringDisabledProp;const c=this.getMergedShow();return[this.internalTrapFocus&&c?he(p("div",{style:{position:"fixed",inset:0}}),[[ke,{enabled:c,zIndex:this.zIndex}]]):null,o?null:p(De,null,{default:()=>r}),p(Ze,Ue(this.$props,et,Object.assign(Object.assign({},this.$attrs),{showArrow:this.mergedShowArrow,show:c})),{default:()=>{var u,a;return(a=(u=this.$slots).default)===null||a===void 0?void 0:a.call(u)},header:()=>{var u,a;return(a=(u=this.$slots).header)===null||a===void 0?void 0:a.call(u)},footer:()=>{var u,a;return(a=(u=this.$slots).footer)===null||a===void 0?void 0:a.call(u)}})]}})}});export{Mt as N,Je as m,rt as p,Qe as r};