@activecollab/components
Version:
ActiveCollab Components
56 lines • 2.31 kB
JavaScript
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