UNPKG

@brizy/ui

Version:
23 lines (22 loc) 1.44 kB
import React, { useCallback, useEffect, useRef } from "react"; import { classNames } from "../classNamesFn"; import AntInput from "antd/lib/input/Input"; import { getFieldsStyleTheme } from "../utils/getFieldsTheme"; import { WrapperForDisabled } from "./WrapperForDisabled"; export const Text = (props) => { const { value, size, suffix, prefix, onPressEnter, placeholder, onBlur, onFocus, theme, focused, disabled, border, name, onChange, addonAfter, addonBefore, } = props; const input = useRef(null); const className = classNames()("input-form", "input__text", { [`input__text--${border}`]: border, }); const handleChange = useCallback((e) => { if (!disabled) onChange === null || onChange === void 0 ? void 0 : onChange(e.target.value); }, [onChange, disabled]); useEffect(() => { if (focused && input.current && document.activeElement !== input.current.input) input.current.focus(); }, [focused, input]); return (React.createElement(WrapperForDisabled, { disabled: disabled }, React.createElement(AntInput, { ref: input, value: value, size: size, suffix: suffix, prefix: prefix, onPressEnter: onPressEnter, placeholder: placeholder, onBlur: onBlur, onFocus: onFocus, style: getFieldsStyleTheme(theme), className: className, onChange: handleChange, disabled: disabled, name: name, addonAfter: addonAfter, addonBefore: addonBefore }))); };