@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
58 lines (53 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
const useInputEvent = ({
inputRef
}) => {
const { emit } = vue.getCurrentInstance();
const focused = vue.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 vue.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
};
};
exports.useInputEvent = useInputEvent;
//# sourceMappingURL=use-input-event.js.map