@cran/vue.use
Version:
Cranberry Vue Use Utilities
20 lines (19 loc) • 966 B
JavaScript
import { createUseFactory } from "../utility/createUseFactory";
import { ref } from "@vue/runtime-dom";
export const useKeyboardHeight = createUseFactory("useKeyboardHeight", function useKeyboardHeightFactory() {
const keyboardHeight = ref(0);
const keyboardHeightPreemptive = ref(0);
function updateHeight(info) {
keyboardHeight.value = info?.keyboardHeight || 0;
}
function updateHeightPreemptive(info) {
keyboardHeightPreemptive.value = info?.keyboardHeight || 0;
}
void import("@capacitor/keyboard").then(function withKeyboard({ Keyboard: keyboard, }) {
void keyboard.addListener("keyboardDidShow", updateHeight);
void keyboard.addListener("keyboardDidHide", updateHeight);
void keyboard.addListener("keyboardWillShow", updateHeightPreemptive);
void keyboard.addListener("keyboardWillHide", updateHeightPreemptive);
});
return { keyboardHeight, keyboardHeightPreemptive, };
});