vuestic-ui
Version:
Vue 3 UI Framework
56 lines (55 loc) • 1.28 kB
JavaScript
var _a;
import { ref } from "vue";
import { g as getWindow } from "../utils/ssr.mjs";
function useKeyboardOnlyFocus() {
const hasKeyboardFocus = ref(false);
let previouslyClicked2 = false;
const keyboardFocusListeners = {
mousedown: () => {
previouslyClicked2 = true;
},
focus: () => {
if (!previouslyClicked2) {
hasKeyboardFocus.value = true;
}
previouslyClicked2 = false;
},
blur: () => {
hasKeyboardFocus.value = false;
previouslyClicked2 = false;
}
};
return {
hasKeyboardFocus,
keyboardFocusListeners
};
}
let previouslyClicked = false;
(_a = getWindow()) == null ? void 0 : _a.addEventListener("mousedown", () => {
previouslyClicked = true;
setTimeout(() => {
previouslyClicked = false;
}, 300);
});
function useKeyboardOnlyFocusGlobal() {
const hasKeyboardFocus = ref(false);
const keyboardFocusListeners = {
focus: () => {
if (!previouslyClicked) {
hasKeyboardFocus.value = true;
}
},
blur: () => {
hasKeyboardFocus.value = false;
}
};
return {
hasKeyboardFocus,
keyboardFocusListeners
};
}
export {
useKeyboardOnlyFocusGlobal as a,
useKeyboardOnlyFocus as u
};
//# sourceMappingURL=useKeyboardOnlyFocus.mjs.map