"use strict";(self.webpackChunksouyouj=self.webpackChunksouyouj||[]).push([[7769],{40588:function(e,t,o){o.d(t,{gd:function(){return D}});var n=o(88253),r=o(2945),l=o(7361);const a=(0,l.o8)({nowrap:Boolean});var s=(e=>(e.top="top",e.bottom="bottom",e.left="left",e.right="right",e))(s||{});const u=Object.values(s),p=(0,l.o8)({width:{type:Number,default:10},height:{type:Number,default:10},style:{type:(0,l.Cq)(Object),default:null}}),i=(0,l.o8)({side:{type:(0,l.Cq)(String),values:u,required:!0}}),c=(0,l.o8)({ariaLabel:String,arrowPadding:{type:(0,l.Cq)(Number),default:5},effect:{type:String,default:""},contentClass:String,placement:{type:(0,l.Cq)(String),values:["top-start","top-end","top","bottom-start","bottom-end","bottom","left-start","left-end","left","right-start","right-end","right"],default:"bottom"},reference:{type:(0,l.Cq)(Object),default:null},offset:{type:Number,default:8},strategy:{type:(0,l.Cq)(String),values:["absolute","fixed"],default:"absolute"},showArrow:{type:Boolean,default:!1}}),d=(0,l.o8)({delayDuration:{type:Number,default:300},defaultOpen:Boolean,open:{type:Boolean,default:void 0},onOpenChange:{type:(0,l.Cq)(Function)},"onUpdate:open":{type:(0,l.Cq)(Function)}}),f={type:(0,l.Cq)(Function)},m=(0,l.o8)({onBlur:f,onClick:f,onFocus:f,onMouseDown:f,onMouseEnter:f,onMouseLeave:f}),v=(0,l.o8)({...d,...p,...m,...c,alwaysOn:Boolean,fullTransition:Boolean,transitionProps:{type:(0,l.Cq)(Object),default:null},teleported:Boolean,to:{type:(0,l.Cq)(String),default:"body"}});var y=o(47475),w=o(1446),k=o(36601),g=o(25299),h=o(32428),C=o(64778);const B=(0,n.defineComponent)({name:"ElTooltipV2Root",props:d,setup(e,{expose:t}){const o=e,r=(0,n.ref)(o.defaultOpen),l=(0,n.ref)(null),a=(0,n.computed)({get:()=>(0,k.Cl)(o.open)?r.value:o.open,set:e=>{var t;r.value=e,null==(t=o["onUpdate:open"])||t.call(o,e)}}),s=(0,n.computed)((()=>(0,y.hj)(o.delayDuration)&&o.delayDuration>0)),{start:u,stop:p}=(0,y.eM)((()=>{a.value=!0}),(0,n.computed)((()=>o.delayDuration)),{immediate:!1}),i=(0,g.s)("tooltip-v2"),c=(0,h.M)(),d=()=>{p(),a.value=!0},f=d,m=()=>{p(),a.value=!1};return(0,n.watch)(a,(e=>{var t;e&&(document.dispatchEvent(new CustomEvent(C.OS)),f()),null==(t=o.onOpenChange)||t.call(o,e)})),(0,n.onMounted)((()=>{document.addEventListener(C.OS,m)})),(0,n.onBeforeUnmount)((()=>{p(),document.removeEventListener(C.OS,m)})),(0,n.provide)(C.f2,{contentId:c,triggerRef:l,ns:i,onClose:m,onDelayOpen:()=>{(0,n.unref)(s)?u():d()},onOpen:f}),t({onOpen:f,onClose:m}),(e,t)=>(0,n.renderSlot)(e.$slots,"default",{open:(0,n.unref)(a)})}});var b=(0,w.Z)(B,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip-v2/src/root.vue"]]);const x=(0,n.defineComponent)({name:"ElTooltipV2Arrow",props:{...p,...i},setup(e){const t=e,{ns:o}=(0,n.inject)(C.f2),{arrowRef:r}=(0,n.inject)(C.gw),l=(0,n.computed)((()=>{const{style:e,width:n,height:r}=t,l=o.namespace.value;return{[`--${l}-tooltip-v2-arrow-width`]:`${n}px`,[`--${l}-tooltip-v2-arrow-height`]:`${r}px`,[`--${l}-tooltip-v2-arrow-border-width`]:n/2+"px",[`--${l}-tooltip-v2-arrow-cover-width`]:n/2-1,...e||{}}}));return(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)("span",{ref_key:"arrowRef",ref:r,style:(0,n.normalizeStyle)((0,n.unref)(l)),class:(0,n.normalizeClass)((0,n.unref)(o).e("arrow"))},null,6))}});var S=(0,w.Z)(x,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip-v2/src/arrow.vue"]]),E=o(88301),O=o(10356),j=o(74009),$=o(58773);const _=["data-side"],R=(0,n.defineComponent)({name:"ElTooltipV2Content",props:{...c,...a},setup(e){const t=e,{triggerRef:o,contentId:r}=(0,n.inject)(C.f2),l=(0,n.ref)(t.placement),a=(0,n.ref)(t.strategy),s=(0,n.ref)(null),{referenceRef:u,contentRef:p,middlewareData:i,x:c,y:d,update:f}=(0,O.YF)({placement:l,strategy:a,middleware:(0,n.computed)((()=>{const e=[(0,E.cv)(t.offset)];return t.showArrow&&e.push((0,O.bG)({arrowRef:s})),e}))}),m=(0,j.C)().nextZIndex(),v=(0,g.s)("tooltip-v2"),y=(0,n.computed)((()=>l.value.split("-")[0])),w=(0,n.computed)((()=>({position:(0,n.unref)(a),top:`${(0,n.unref)(d)||0}px`,left:`${(0,n.unref)(c)||0}px`,zIndex:m}))),k=(0,n.computed)((()=>{if(!t.showArrow)return{};const{arrow:e}=(0,n.unref)(i);return{[`--${v.namespace.value}-tooltip-v2-arrow-x`]:`${null==e?void 0:e.x}px`||"",[`--${v.namespace.value}-tooltip-v2-arrow-y`]:`${null==e?void 0:e.y}px`||""}})),h=(0,n.computed)((()=>[v.e("content"),v.is("dark","dark"===t.effect),v.is((0,n.unref)(a)),t.contentClass]));return(0,n.watch)(s,(()=>f())),(0,n.watch)((()=>t.placement),(e=>l.value=e)),(0,n.onMounted)((()=>{(0,n.watch)((()=>t.reference||o.value),(e=>{u.value=e||void 0}),{immediate:!0})})),(0,n.provide)(C.gw,{arrowRef:s}),(e,t)=>((0,n.openBlock)(),(0,n.createElementBlock)("div",{ref_key:"contentRef",ref:p,style:(0,n.normalizeStyle)((0,n.unref)(w)),"data-tooltip-v2-root":""},[e.nowrap?(0,n.createCommentVNode)("v-if",!0):((0,n.openBlock)(),(0,n.createElementBlock)("div",{key:0,"data-side":(0,n.unref)(y),class:(0,n.normalizeClass)((0,n.unref)(h))},[(0,n.renderSlot)(e.$slots,"default",{contentStyle:(0,n.unref)(w),contentClass:(0,n.unref)(h)}),(0,n.createVNode)((0,n.unref)($.Z),{id:(0,n.unref)(r),role:"tooltip"},{default:(0,n.withCtx)((()=>[e.ariaLabel?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:0},[(0,n.createTextVNode)((0,n.toDisplayString)(e.ariaLabel),1)],64)):(0,n.renderSlot)(e.$slots,"default",{key:1})])),_:3},8,["id"]),(0,n.renderSlot)(e.$slots,"arrow",{style:(0,n.normalizeStyle)((0,n.unref)(k)),side:(0,n.unref)(y)})],10,_))],4))}});var M=(0,w.Z)(R,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip-v2/src/content.vue"]]),P=o(22252),q=o(84784);const N=(0,l.o8)({setRef:{type:(0,l.Cq)(Function),required:!0},onlyChild:Boolean});var V=(0,n.defineComponent)({props:N,setup(e,{slots:t}){const o=(0,n.ref)(),r=(0,P.F)(o,(t=>{t?e.setRef(t.nextElementSibling):e.setRef(null)}));return()=>{var o;const[l]=(null==(o=t.default)?void 0:o.call(t))||[],a=e.onlyChild?(0,q.gL)(l.children):l.children;return(0,n.createVNode)(n.Fragment,{ref:r},[a])}}}),L=o(28754);const z=(0,n.defineComponent)({name:"ElTooltipV2Trigger",props:{...a,...m},setup(e){const t=e,{onClose:o,onOpen:r,onDelayOpen:l,triggerRef:a,contentId:s}=(0,n.inject)(C.f2);let u=!1;const p=e=>{a.value=e},i=()=>{u=!1},c=(0,L.Mj)(t.onMouseEnter,l),d=(0,L.Mj)(t.onMouseLeave,o),f=(0,L.Mj)(t.onMouseDown,(()=>{o(),u=!0,document.addEventListener("mouseup",i,{once:!0})})),m=(0,L.Mj)(t.onFocus,(()=>{u||r()})),v={blur:(0,L.Mj)(t.onBlur,o),click:(0,L.Mj)(t.onClick,(e=>{0===e.detail&&o()})),focus:m,mousedown:f,mouseenter:c,mouseleave:d},y=(e,t,o)=>{e&&Object.entries(t).forEach((([t,n])=>{e[o](t,n)}))};return(0,n.watch)(a,((e,t)=>{y(e,v,"addEventListener"),y(t,v,"removeEventListener"),e&&e.setAttribute("aria-describedby",s.value)})),(0,n.onBeforeUnmount)((()=>{y(a.value,v,"removeEventListener"),document.removeEventListener("mouseup",i)})),(e,t)=>e.nowrap?((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(V),{key:0,"set-ref":p,"only-child":""},{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"default")])),_:3})):((0,n.openBlock)(),(0,n.createElementBlock)("button",(0,n.mergeProps)({key:1,ref_key:"triggerRef",ref:a},e.$attrs),[(0,n.renderSlot)(e.$slots,"default")],16))}});var F=(0,w.Z)(z,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip-v2/src/trigger.vue"]]);const T=(0,n.defineComponent)({name:"ElTooltipV2",props:v,setup(e){const t=e,o=(0,n.toRefs)(t),l=(0,n.reactive)((0,r.Z)(o,Object.keys(p))),a=(0,n.reactive)((0,r.Z)(o,Object.keys(c))),s=(0,n.reactive)((0,r.Z)(o,Object.keys(d))),u=(0,n.reactive)((0,r.Z)(o,Object.keys(m)));return(e,t)=>((0,n.openBlock)(),(0,n.createBlock)(b,(0,n.normalizeProps)((0,n.guardReactiveProps)(s)),{default:(0,n.withCtx)((({open:t})=>[(0,n.createVNode)(F,(0,n.mergeProps)(u,{nowrap:""}),{default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"trigger")])),_:3},16),((0,n.openBlock)(),(0,n.createBlock)(n.Teleport,{to:e.to,disabled:!e.teleported},[e.fullTransition?((0,n.openBlock)(),(0,n.createBlock)(n.Transition,(0,n.normalizeProps)((0,n.mergeProps)({key:0},e.transitionProps)),{default:(0,n.withCtx)((()=>[e.alwaysOn||t?((0,n.openBlock)(),(0,n.createBlock)(M,(0,n.normalizeProps)((0,n.mergeProps)({key:0},a)),{arrow:(0,n.withCtx)((({style:t,side:o})=>[e.showArrow?((0,n.openBlock)(),(0,n.createBlock)(S,(0,n.mergeProps)({key:0},l,{style:t,side:o}),null,16,["style","side"])):(0,n.createCommentVNode)("v-if",!0)])),default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"default")])),_:3},16)):(0,n.createCommentVNode)("v-if",!0)])),_:2},1040)):((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[e.alwaysOn||t?((0,n.openBlock)(),(0,n.createBlock)(M,(0,n.normalizeProps)((0,n.mergeProps)({key:0},a)),{arrow:(0,n.withCtx)((({style:t,side:o})=>[e.showArrow?((0,n.openBlock)(),(0,n.createBlock)(S,(0,n.mergeProps)({key:0},l,{style:t,side:o}),null,16,["style","side"])):(0,n.createCommentVNode)("v-if",!0)])),default:(0,n.withCtx)((()=>[(0,n.renderSlot)(e.$slots,"default")])),_:3},16)):(0,n.createCommentVNode)("v-if",!0)],64))],8,["to","disabled"]))])),_:3},16))}});var Z=(0,w.Z)(T,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip-v2/src/tooltip.vue"]]);const D=(0,o(85739).nz)(Z)}}]);