'use strict'; var core = require('@vueuse/core'); var focusTrap = require('focus-trap'); var vue = require('vue'); const UseFocusTrap = /* @__PURE__ */ /* #__PURE__ */ vue.defineComponent({ name: "UseFocusTrap", props: ["as", "options"], setup(props, { slots }) { let trap; const target = vue.ref(); const activate = () => trap && trap.activate(); const deactivate = () => trap && trap.deactivate(); vue.watch( () => core.unrefElement(target), (el) => { if (!el) return; trap = focusTrap.createFocusTrap(el, props.options || {}); activate(); }, { flush: "post" } ); vue.onScopeDispose(() => deactivate()); return () => { if (slots.default) return vue.h(props.as || "div", { ref: target }, slots.default()); }; } }); exports.UseFocusTrap = UseFocusTrap;