UNPKG

smart-react-components

Version:

React UI library, wide variety of editable ready to use Styled and React components.

60 lines (55 loc) 1.55 kB
'use strict'; function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var React = require('react'); var React__default = _interopDefault(React); function useInputMethods ({ disabled, value, setValue, onChange, onFocus, onBlur }) { const [isFocused, setIsFocused] = React__default.useState(false); /** * Calls onChange method. * Sets value if event is not prevented. * * @param e */ const change = (e) => { if (!disabled) { if (onChange) onChange(e); if (!e.defaultPrevented) { let el = e.target; if (el.type !== "file") setValue(el.value); } } }; /** * Calls onFocus method. * Sets focus status. * * @param e */ const focus = (e) => { if (!disabled) { if (onFocus) onFocus(e); if (!e.defaultPrevented) setIsFocused(true); } }; /** * Calls onBlur method. * Sets focus status. * * @param e */ const blur = (e) => { if (onBlur) onBlur(e); if (!e.defaultPrevented) setIsFocused(false); }; return { props: setValue ? { value, onChange: change, onFocus: focus, onBlur: blur } : { onFocus: focus, onBlur: blur }, isFocused }; } exports.useInputMethods = useInputMethods;