UNPKG

ll-package

Version:

2 lines (1 loc) 1.14 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),m=require("../util.js"),c=require("../../_util/hooks/useState.js");function w(i,s,d,g){const[u,h]=c.default(void 0);o.watchEffect(()=>{const t=typeof i.value=="function"?i.value():i.value;h(t||null)},{flush:"post"});const[e,a]=c.default(null),r=()=>{if(!s.value){a(null);return}if(u.value){!m.isInViewPort(u.value)&&s.value&&u.value.scrollIntoView(g.value);const{left:t,top:l,width:n,height:f}=u.value.getBoundingClientRect(),v={left:t,top:l,width:n,height:f,radius:0};JSON.stringify(e.value)!==JSON.stringify(v)&&a(v)}else a(null)};return o.onMounted(()=>{o.watch([s,u],()=>{r()},{flush:"post",immediate:!0}),window.addEventListener("resize",r)}),o.onBeforeUnmount(()=>{window.removeEventListener("resize",r)}),[o.computed(()=>{var t,l;if(!e.value)return e.value;const n=((t=d.value)===null||t===void 0?void 0:t.offset)||6,f=((l=d.value)===null||l===void 0?void 0:l.radius)||2;return{left:e.value.left-n,top:e.value.top-n,width:e.value.width+n*2,height:e.value.height+n*2,radius:f}}),u]}exports.default=w;