UNPKG

@chakra-ui/core

Version:

Responsive and accessible React UI components built with React and Emotion

54 lines (51 loc) 1.91 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose"; /** @jsx jsx */ import { jsx } from "@emotion/core"; import { forwardRef } from "react"; import Box from "../Box"; import { inputSizes } from "../Input/styles"; var InputElement = forwardRef(function (_ref, ref) { var _placementProp; var size = _ref.size, children = _ref.children, _ref$placement = _ref.placement, placement = _ref$placement === void 0 ? "left" : _ref$placement, _ref$disablePointerEv = _ref.disablePointerEvents, disablePointerEvents = _ref$disablePointerEv === void 0 ? false : _ref$disablePointerEv, props = _objectWithoutPropertiesLoose(_ref, ["size", "children", "placement", "disablePointerEvents"]); var height = inputSizes[size] && inputSizes[size]["height"]; var fontSize = inputSizes[size] && inputSizes[size]["fontSize"]; var placementProp = (_placementProp = {}, _placementProp[placement] = "0", _placementProp); return jsx(Box, _extends({ display: "flex", alignItems: "center", justifyContent: "center", position: "absolute", height: height, width: height, fontSize: fontSize, top: "0", zIndex: 2, ref: ref }, disablePointerEvents && { pointerEvents: "none" }, placementProp, props), children); }); InputElement.displayName = "InputElement"; var InputLeftElement = forwardRef(function (props, ref) { return jsx(InputElement, _extends({ ref: ref, placement: "left" }, props)); }); InputLeftElement.displayName = "InputLeftElement"; var InputRightElement = forwardRef(function (props, ref) { return jsx(InputElement, _extends({ ref: ref, placement: "right" }, props)); }); InputRightElement.displayName = "InputRightElement"; export { InputLeftElement, InputRightElement }; export default InputElement;