UNPKG

@vueuse/integrations

Version:
2 lines (1 loc) 842 B
(function(p,u,v,h,a){"use strict";function d(V,s={}){let e;const{immediate:r,...m}=s,n=a.shallowRef(!1),c=a.shallowRef(!1),i=t=>e&&e.activate(t),f=t=>e&&e.deactivate(t),A=()=>{e&&(e.pause(),c.value=!0)},T=()=>{e&&(e.unpause(),c.value=!1)},g=a.computed(()=>{const t=a.toValue(V);return u.toArray(t).map(o=>{const l=a.toValue(o);return typeof l=="string"?l:u.unrefElement(l)}).filter(v.notNullish)});return a.watch(g,t=>{if(t.length)if(!e)e=h.createFocusTrap(t,{...m,onActivate(){n.value=!0,s.onActivate&&s.onActivate()},onDeactivate(){n.value=!1,s.onDeactivate&&s.onDeactivate()}}),r&&i();else{const o=e?.active;e?.updateContainerElements(t),!o&&r&&i()}},{flush:"post"}),u.tryOnScopeDispose(()=>f()),{hasFocus:n,isPaused:c,activate:i,deactivate:f,pause:A,unpause:T}}p.useFocusTrap=d})(this.VueUse=this.VueUse||{},VueUse,VueUse,focusTrap,Vue);