@vueuse/integrations
Version:
Integration wrappers for utility libraries
1 lines • 1.35 kB
JavaScript
(function(e,t,n,r,i){var a=Object.create,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,l=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,d=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=c(t),a=0,l=i.length,d;a<l;a++)d=i[a],!u.call(e,d)&&d!==n&&o(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=s(t,d))||r.enumerable});return e},f=(e,t,n)=>(n=e==null?{}:a(l(e)),d(t||!e||!e.__esModule?o(n,`default`,{value:e,enumerable:!0}):n,e));t=f(t),n=f(n),r=f(r),i=f(i);function p(e,a={}){let o,{immediate:s,...c}=a,l=(0,i.shallowRef)(!1),u=(0,i.shallowRef)(!1),d=e=>o&&o.activate(e),f=e=>o&&o.deactivate(e);return(0,i.watch)((0,i.computed)(()=>(0,t.toArray)((0,i.toValue)(e)).map(e=>{let n=(0,i.toValue)(e);return typeof n==`string`?n:(0,t.unrefElement)(n)}).filter(n.notNullish)),e=>{if(e.length)if(!o)o=(0,r.createFocusTrap)(e,{...c,onActivate(){l.value=!0,a.onActivate&&a.onActivate()},onDeactivate(){l.value=!1,a.onDeactivate&&a.onDeactivate()}}),s&&d();else{let t=o==null?void 0:o.active;o==null||o.updateContainerElements(e),!t&&s&&d()}},{flush:`post`}),(0,t.tryOnScopeDispose)(()=>f()),{hasFocus:l,isPaused:u,activate:d,deactivate:f,pause:()=>{o&&(o.pause(),u.value=!0)},unpause:()=>{o&&(o.unpause(),u.value=!1)}}}e.useFocusTrap=p})(this.VueUse=this.VueUse||{},VueUse,VueUse,focusTrap,Vue);