This commit is contained in:
33
node_modules/@vueuse/integrations/useFocusTrap/component.cjs
generated
vendored
Normal file
33
node_modules/@vueuse/integrations/useFocusTrap/component.cjs
generated
vendored
Normal 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;
|
17
node_modules/@vueuse/integrations/useFocusTrap/component.d.cts
generated
vendored
Normal file
17
node_modules/@vueuse/integrations/useFocusTrap/component.d.cts
generated
vendored
Normal 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 };
|
17
node_modules/@vueuse/integrations/useFocusTrap/component.d.mts
generated
vendored
Normal file
17
node_modules/@vueuse/integrations/useFocusTrap/component.d.mts
generated
vendored
Normal 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 };
|
17
node_modules/@vueuse/integrations/useFocusTrap/component.d.ts
generated
vendored
Normal file
17
node_modules/@vueuse/integrations/useFocusTrap/component.d.ts
generated
vendored
Normal 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 };
|
31
node_modules/@vueuse/integrations/useFocusTrap/component.mjs
generated
vendored
Normal file
31
node_modules/@vueuse/integrations/useFocusTrap/component.mjs
generated
vendored
Normal 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 };
|
Reference in New Issue
Block a user