Files
monisuo/monisuo-admin/dist/assets/TooltipTrigger-Lz7dAK20.js
2026-03-22 23:32:23 +08:00

1 line
15 KiB
JavaScript

import{$ as e,Ct as t,Dt as n,E as r,Et as i,G as a,H as o,I as s,N as c,Ot as l,Q as u,S as d,W as f,b as p,bt as m,g as h,l as g,mt as _,nt as v,v as y,w as b,x,z as S}from"./vue.runtime.esm-bundler-DQjudA8G.js";import{t as C}from"./utils-BB02OBq2.js";import{C as w,E as T,S as E,T as D,g as ee,l as O,m as k}from"./dist-t_U6YImb.js";import{t as A}from"./createContext-BefgL9WT.js";import{t as j}from"./useForwardPropsEmits-ixfQllIc.js";import{h as te,t as ne,v as re}from"./Teleport-CLYBkdRb.js";import{t as ie}from"./Presence-C1RtYpyR.js";import{t as M}from"./Primitive-jhoGcsVx.js";import{t as N}from"./useForwardProps-B-1JXcFn.js";import{a as P,i as F,n as I,r as L}from"./PopperContent-BHqsUegM.js";import{t as R}from"./useForwardExpose-OKJAPp5E.js";import{t as z}from"./useId-C1k6kJxi.js";import{t as B}from"./VisuallyHidden-CP6GE8eS.js";function V(t,n){let r=w(!1,300);D(()=>{r.value=!1});let i=_(null),a=ee();function o(){i.value=null,r.value=!1}function s(e,t){let n=e.currentTarget,a={x:e.clientX,y:e.clientY},o=U(a,H(a,n.getBoundingClientRect()),1),s=W(t.getBoundingClientRect());i.value=K([...o,...s]),r.value=!0}return e(e=>{if(t.value&&n.value){let r=e=>s(e,n.value),i=e=>s(e,t.value);t.value.addEventListener(`pointerleave`,r),n.value.addEventListener(`pointerleave`,i),e(()=>{t.value?.removeEventListener(`pointerleave`,r),n.value?.removeEventListener(`pointerleave`,i)})}}),e(e=>{if(i.value){let r=e=>{if(!i.value||!(e.target instanceof Element))return;let r=e.target,s={x:e.clientX,y:e.clientY},c=t.value?.contains(r)||n.value?.contains(r),l=!G(s,i.value),u=!!r.closest(`[data-grace-area-trigger]`);c?o():(l||u)&&(o(),a.trigger())};t.value?.ownerDocument.addEventListener(`pointermove`,r),e(()=>t.value?.ownerDocument.removeEventListener(`pointermove`,r))}}),{isPointerInTransit:r,onPointerExit:a.on}}function H(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function U(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function W(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function G(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function K(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),q(t)}function q(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var J={key:0,d:`M0 0L6 6L12 0`},ae={key:1,d:`M0 0L4.58579 4.58579C5.36683 5.36683 6.63316 5.36684 7.41421 4.58579L12 0`},oe=b({__name:`Arrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let n=e;return R(),(e,r)=>(S(),y(t(M),c(n,{width:e.width,height:e.height,viewBox:e.asChild?void 0:`0 0 12 6`,preserveAspectRatio:e.asChild?void 0:`none`}),{default:v(()=>[o(e.$slots,`default`,{},()=>[e.rounded?(S(),p(`path`,ae)):(S(),p(`path`,J))])]),_:3},16,[`width`,`height`,`viewBox`,`preserveAspectRatio`]))}}),se={top:`bottom`,right:`left`,bottom:`top`,left:`right`},ce=b({inheritAttrs:!1,__name:`PopperArrow`,props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let{forwardRef:r}=R(),i=L(),a=h(()=>se[i.placedSide.value]);return(e,s)=>(S(),p(`span`,{ref:e=>{t(i).onArrowChange(e)},style:n({position:`absolute`,left:t(i).arrowX?.value?`${t(i).arrowX?.value}px`:void 0,top:t(i).arrowY?.value?`${t(i).arrowY?.value}px`:void 0,[a.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[t(i).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[t(i).placedSide.value],visibility:t(i).shouldHideArrow.value?`hidden`:void 0})},[d(oe,c(e.$attrs,{ref:t(r),style:{display:`block`},as:e.as,"as-child":e.asChild,rounded:e.rounded,width:e.width,height:e.height}),{default:v(()=>[o(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`rounded`,`width`,`height`])],4))}}),le=b({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let n=e;return R(),(e,a)=>(S(),y(t(ce),i(r(n)),{default:v(()=>[o(e.$slots,`default`)]),_:3},16))}}),[Y,ue]=A(`TooltipProvider`),de=b({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:a,disabled:s,content:c}=m(e);R();let l=_(!0),u=_(!1),{start:d,stop:f}=T(()=>{l.value=!0},n,{immediate:!1});return ue({isOpenDelayed:l,delayDuration:t,onOpen(){f(),l.value=!1},onClose(){d()},isPointerInTransitRef:u,disableHoverableContent:r,disableClosingTrigger:i,disabled:s,ignoreNonKeyboardFocus:a,content:c}),(e,t)=>o(e.$slots,`default`)}}),X=`tooltip.open`,[Z,fe]=A(`TooltipRoot`),pe=b({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:n}){let r=e,i=n;R();let a=Y(),s=h(()=>r.disableHoverableContent??a.disableHoverableContent.value),c=h(()=>r.disableClosingTrigger??a.disableClosingTrigger.value),l=h(()=>r.disabled??a.disabled.value),d=h(()=>r.delayDuration??a.delayDuration.value),f=h(()=>r.ignoreNonKeyboardFocus??a.ignoreNonKeyboardFocus.value),p=k(r,`open`,i,{defaultValue:r.defaultOpen,passive:r.open===void 0});u(p,e=>{a.onClose&&(e?(a.onOpen(),document.dispatchEvent(new CustomEvent(X))):a.onClose())});let m=_(!1),g=_(),b=h(()=>p.value?m.value?`delayed-open`:`instant-open`:`closed`),{start:x,stop:C}=T(()=>{m.value=!0,p.value=!0},d,{immediate:!1});function w(){C(),m.value=!1,p.value=!0}function E(){C(),p.value=!1}function D(){x()}return fe({contentId:``,open:p,stateAttribute:b,trigger:g,onTriggerChange(e){g.value=e},onTriggerEnter(){a.isOpenDelayed.value?D():w()},onTriggerLeave(){s.value?E():C()},onOpen:w,onClose:E,disableHoverableContent:s,disableClosingTrigger:c,disabled:l,ignoreNonKeyboardFocus:f}),(e,n)=>(S(),y(t(P),null,{default:v(()=>[o(e.$slots,`default`,{open:t(p)})]),_:3}))}}),Q=b({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,i=n,a=Z(),u=Y(),{forwardRef:f,currentElement:p}=R(),m=h(()=>r.ariaLabel||p.value?.textContent),_=h(()=>{let{ariaLabel:e,...t}=r;return re(t,u.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return s(()=>{O(window,`scroll`,e=>{e.target?.contains(a.trigger.value)&&a.onClose()}),O(window,X,a.onClose)}),(e,n)=>(S(),y(t(te),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:n[0]||=e=>i(`escapeKeyDown`,e),onPointerDownOutside:n[1]||=e=>{t(a).disableClosingTrigger.value&&t(a).trigger.value?.contains(e.target)&&e.preventDefault(),i(`pointerDownOutside`,e)},onFocusOutside:n[2]||=g(()=>{},[`prevent`]),onDismiss:n[3]||=e=>t(a).onClose()},{default:v(()=>[d(t(I),c({ref:t(f),"data-state":t(a).stateAttribute.value},{...e.$attrs,..._.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:v(()=>[o(e.$slots,`default`),d(t(B),{id:t(a).contentId,role:`tooltip`},{default:v(()=>[x(l(m.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),me=b({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let n=N(e),{forwardRef:r,currentElement:i}=R(),{trigger:a,onClose:s}=Z(),l=Y(),{isPointerInTransit:u,onPointerExit:d}=V(a,i);return l.isPointerInTransitRef=u,d(()=>{s()}),(e,i)=>(S(),y(Q,c({ref:t(r)},t(n)),{default:v(()=>[o(e.$slots,`default`)]),_:3},16))}}),he=b({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,i=n,a=Z(),s=j(r,i),{forwardRef:l}=R();return(e,n)=>(S(),y(t(ie),{present:e.forceMount||t(a).open.value},{default:v(()=>[(S(),y(f(t(a).disableHoverableContent.value?Q:me),c({ref:t(l)},t(s)),{default:v(()=>[o(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),ge=b({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let n=e;return(e,a)=>(S(),y(t(ne),i(r(n)),{default:v(()=>[o(e.$slots,`default`)]),_:3},16))}}),$=b({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let n=e,r=Z(),i=Y();r.contentId||=z(void 0,`reka-tooltip-content`);let{forwardRef:l,currentElement:u}=R(),f=_(!1),p=_(!1),m=h(()=>r.disabled.value?{}:{click:E,focus:w,pointermove:x,pointerleave:C,pointerdown:b,blur:T});s(()=>{r.onTriggerChange(u.value)});function g(){setTimeout(()=>{f.value=!1},1)}function b(){r.open&&!r.disableClosingTrigger.value&&r.onClose(),f.value=!0,document.addEventListener(`pointerup`,g,{once:!0})}function x(e){e.pointerType!==`touch`&&!p.value&&!i.isPointerInTransitRef.value&&(r.onTriggerEnter(),p.value=!0)}function C(){r.onTriggerLeave(),p.value=!1}function w(e){f.value||r.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||r.onOpen()}function T(){r.onClose()}function E(){r.disableClosingTrigger.value||r.onClose()}return(e,i)=>(S(),y(t(F),{"as-child":``,reference:e.reference},{default:v(()=>[d(t(M),c({ref:t(l),"aria-describedby":t(r).open.value?t(r).contentId:void 0,"data-state":t(r).stateAttribute.value,as:e.as,"as-child":n.asChild,"data-grace-area-trigger":``},a(m.value)),{default:v(()=>[o(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),_e=b({__name:`Tooltip`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`],setup(e,{emit:n}){let a=j(e,n);return(e,n)=>(S(),y(t(pe),c({"data-slot":`tooltip`},t(a)),{default:v(t=>[o(e.$slots,`default`,i(r(t)))]),_:3},16))}}),ve=b({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:4},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:n}){let r=e,i=n,a=j(E(r,`class`),i);return(e,n)=>(S(),y(t(ge),null,{default:v(()=>[d(t(he),c({"data-slot":`tooltip-content`},{...t(a),...e.$attrs},{class:t(C)(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit rounded-md px-3 py-1.5 text-xs text-balance`,r.class)}),{default:v(()=>[o(e.$slots,`default`),d(t(le),{class:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]),_:3},16,[`class`])]),_:3}))}}),ye=b({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let n=e;return(e,r)=>(S(),y(t($),c({"data-slot":`tooltip-trigger`},n),{default:v(()=>[o(e.$slots,`default`)]),_:3},16))}});export{de as i,ve as n,_e as r,ye as t};