Vitepress

This commit is contained in:
Robert Jelic
2025-02-10 06:53:23 +01:00
parent 3818128521
commit b0a4a6da9c
2428 changed files with 1005324 additions and 0 deletions

View File

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