|
|
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__conten
|