| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 'use strict';
- Object.defineProperty(exports, '__esModule', { value: true });
- var vue = require('vue');
- const usePopperContentFocusTrap = (props, emit) => {
- const trapped = vue.ref(false);
- const focusStartRef = vue.ref();
- const onFocusAfterTrapped = () => {
- emit("focus");
- };
- const onFocusAfterReleased = (event) => {
- var _a;
- if (((_a = event.detail) == null ? void 0 : _a.focusReason) !== "pointer") {
- focusStartRef.value = "first";
- emit("blur");
- }
- };
- const onFocusInTrap = (event) => {
- if (props.visible && !trapped.value) {
- if (event.target) {
- focusStartRef.value = event.target;
- }
- trapped.value = true;
- }
- };
- const onFocusoutPrevented = (event) => {
- if (!props.trapping) {
- if (event.detail.focusReason === "pointer") {
- event.preventDefault();
- }
- trapped.value = false;
- }
- };
- const onReleaseRequested = () => {
- trapped.value = false;
- emit("close");
- };
- return {
- focusStartRef,
- trapped,
- onFocusAfterReleased,
- onFocusAfterTrapped,
- onFocusInTrap,
- onFocusoutPrevented,
- onReleaseRequested
- };
- };
- exports.usePopperContentFocusTrap = usePopperContentFocusTrap;
- //# sourceMappingURL=use-focus-trap.js.map
|