first-commit
Some checks failed
CI Pipeline / build (push) Failing after 3m23s

This commit is contained in:
2025-08-27 14:05:33 +08:00
commit 9e1b8bdc9d
5159 changed files with 1081326 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
'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;

View File

@@ -0,0 +1,17 @@
import * as vue from 'vue';
import { RenderableComponent } from '@vueuse/core';
import { Options } from 'focus-trap';
interface UseFocusTrapOptions extends Options {
/**
* Immediately activate the trap
*/
immediate?: boolean;
}
interface ComponentUseFocusTrapOptions extends RenderableComponent {
options?: UseFocusTrapOptions;
}
declare const UseFocusTrap: vue.DefineComponent<ComponentUseFocusTrapOptions, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<ComponentUseFocusTrapOptions> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
export { type ComponentUseFocusTrapOptions, UseFocusTrap };

View File

@@ -0,0 +1,17 @@
import * as vue from 'vue';
import { RenderableComponent } from '@vueuse/core';
import { Options } from 'focus-trap';
interface UseFocusTrapOptions extends Options {
/**
* Immediately activate the trap
*/
immediate?: boolean;
}
interface ComponentUseFocusTrapOptions extends RenderableComponent {
options?: UseFocusTrapOptions;
}
declare const UseFocusTrap: vue.DefineComponent<ComponentUseFocusTrapOptions, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<ComponentUseFocusTrapOptions> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
export { type ComponentUseFocusTrapOptions, UseFocusTrap };

View File

@@ -0,0 +1,17 @@
import * as vue from 'vue';
import { RenderableComponent } from '@vueuse/core';
import { Options } from 'focus-trap';
interface UseFocusTrapOptions extends Options {
/**
* Immediately activate the trap
*/
immediate?: boolean;
}
interface ComponentUseFocusTrapOptions extends RenderableComponent {
options?: UseFocusTrapOptions;
}
declare const UseFocusTrap: vue.DefineComponent<ComponentUseFocusTrapOptions, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<ComponentUseFocusTrapOptions> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
export { type ComponentUseFocusTrapOptions, UseFocusTrap };

View File

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