@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
54 lines (51 loc) • 1.16 kB
JavaScript
import { getCurrentInstance, ref, nextTick } from 'vue';
const useInputEvent = ({
inputRef
}) => {
const { emit } = getCurrentInstance();
const focused = ref(false);
const handleInput = (event) => {
const { value } = event.target;
emit("input", value);
};
const blur = () => {
var _a;
return (_a = inputRef.value) == null ? void 0 : _a.blur();
};
const handleBlur = (event) => {
focused.value = false;
emit("blur", event);
};
const select = () => {
var _a;
return (_a = inputRef.value) == null ? void 0 : _a.select();
};
const handleKeydown = (evt) => {
emit("keydown", evt);
};
const focus = async () => {
var _a;
await nextTick();
(_a = inputRef.value) == null ? void 0 : _a.focus();
};
const handleFocus = (event) => {
focused.value = true;
emit("focus", event);
};
const handleChange = (event) => {
emit("change", event.target.value);
};
return {
handleInput,
handleChange,
blur,
handleBlur,
focused,
focus,
handleFocus,
handleKeydown,
select
};
};
export { useInputEvent };
//# sourceMappingURL=use-input-event.mjs.map