UNPKG

@geezee/react-ui

Version:

Modern and minimalist React UI library.

37 lines (33 loc) 1.36 kB
import { useRef, useMemo } from 'react'; export var useImperativeTextFieldHandlerGenerator = function useImperativeTextFieldHandlerGenerator() { return function () { var ref = useRef(null); return useMemo(function () { return { ref: ref, setValue: function setValue() { var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; /* istanbul ignore next */ if (!ref.current) return; ref.current.value = value; }, getValue: function getValue() { var _ref$current; return (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.value; }, focus: function focus() { var _ref$current2; return (_ref$current2 = ref.current) === null || _ref$current2 === void 0 ? void 0 : _ref$current2.focus(); }, blur: function blur() { var _ref$current3; return (_ref$current3 = ref.current) === null || _ref$current3 === void 0 ? void 0 : _ref$current3.blur(); } }; }, []); }; }; var useInputHandle = useImperativeTextFieldHandlerGenerator(); var useAutoCompleteHandle = useInputHandle; var useTextareaHandle = useImperativeTextFieldHandlerGenerator(); export { useInputHandle, useTextareaHandle, useAutoCompleteHandle };