@s-ui/react-atom-input
Version:
> Inputs are the text fields that users fill in with different types of information. These include dates, passwords or even short answers. It’s a field where users can write alphanumeric texts.
49 lines • 1.94 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
var _excluded = ["button", "leftAddon", "rightAddon", "leftIcon", "rightIcon", "children", "onClickLeftIcon", "onClickRightIcon", "size", "shape"];
import { forwardRef } from 'react';
import PropTypes from 'prop-types';
import { INPUT_SHAPES, SIZES } from '../config.js';
import Input, { inputSizes, inputStates } from './Component/index.js';
import InputAddons from './Wrappers/Addons/InputAddons.js';
import InputButton from './Wrappers/Button/InputButton.js';
import InputIcons from './Wrappers/Icons/InputIcons.js';
import { jsx as _jsx } from "react/jsx-runtime";
var BaseInput = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {
var button = _ref.button,
leftAddon = _ref.leftAddon,
rightAddon = _ref.rightAddon,
leftIcon = _ref.leftIcon,
rightIcon = _ref.rightIcon,
children = _ref.children,
onClickLeftIcon = _ref.onClickLeftIcon,
onClickRightIcon = _ref.onClickRightIcon,
_ref$size = _ref.size,
size = _ref$size === void 0 ? SIZES.MEDIUM : _ref$size,
shape = _ref.shape,
inputProps = _objectWithoutPropertiesLoose(_ref, _excluded);
return /*#__PURE__*/_jsx(InputButton, {
button: button,
children: /*#__PURE__*/_jsx(InputAddons, {
leftAddon: leftAddon,
rightAddon: rightAddon,
shape: shape,
size: size,
children: /*#__PURE__*/_jsx(InputIcons, {
leftIcon: leftIcon,
rightIcon: rightIcon,
onClickLeftIcon: onClickLeftIcon,
onClickRightIcon: onClickRightIcon,
children: /*#__PURE__*/_jsx(Input, _extends({
ref: forwardedRef,
shape: shape
}, inputProps, {
size: size,
children: children
}))
})
})
});
});
export default BaseInput;
export { inputSizes, inputStates, BaseInput };