UNPKG

@activecollab/components

Version:

ActiveCollab Components

56 lines 2.31 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; const _excluded = ["className", "style", "type", "disabled", "size", "invalid", "startAdornment", "endAdornment", "wrapRef", "wrapperClick", "mode"]; import React, { useCallback, useRef } from "react"; import classnames from "classnames"; import { StyledInput, StyledInputWrapper } from "./Styles"; import useForkRef from "../../utils/useForkRef"; export const Input = /*#__PURE__*/React.forwardRef((_ref, ref) => { let _ref$className = _ref.className, className = _ref$className === void 0 ? "" : _ref$className, style = _ref.style, _ref$type = _ref.type, type = _ref$type === void 0 ? "text" : _ref$type, _ref$disabled = _ref.disabled, disabled = _ref$disabled === void 0 ? false : _ref$disabled, _ref$size = _ref.size, size = _ref$size === void 0 ? "regular" : _ref$size, _ref$invalid = _ref.invalid, invalid = _ref$invalid === void 0 ? false : _ref$invalid, startAdornment = _ref.startAdornment, endAdornment = _ref.endAdornment, wrapRef = _ref.wrapRef, wrapperClick = _ref.wrapperClick, _ref$mode = _ref.mode, mode = _ref$mode === void 0 ? "outlined" : _ref$mode, rest = _objectWithoutPropertiesLoose(_ref, _excluded); const intInputRef = useRef(null); const handleRef = useForkRef(ref, intInputRef); const handleWrapperClick = useCallback(() => { var _intInputRef$current; (_intInputRef$current = intInputRef.current) == null || _intInputRef$current.focus(); wrapperClick && wrapperClick(); }, [wrapperClick]); return /*#__PURE__*/React.createElement(StyledInputWrapper, { $size: size, $invalid: invalid, $disabled: disabled, $mode: mode, style: style, className: classnames("c-input-wrapper", className), onClick: handleWrapperClick, ref: wrapRef }, startAdornment, /*#__PURE__*/React.createElement(StyledInput, _extends({ ref: handleRef, type: type, $size: size, disabled: disabled, className: "c-input", "aria-invalid": invalid, $invalid: invalid, $mode: mode, "data-form-type": "other" }, rest)), endAdornment); }); Input.displayName = "Input"; //# sourceMappingURL=Input.js.map