UNPKG

@material-ui/lab

Version:

Material-UI Lab - Incubator for Material-UI React components.

62 lines (59 loc) 3.19 kB
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty"; import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties"; import * as React from 'react'; import PropTypes from 'prop-types'; import IconButton from '@material-ui/core/IconButton'; import InputAdornment from '@material-ui/core/InputAdornment'; import { useForkRef } from '@material-ui/core/utils'; import { useUtils } from './hooks/useUtils'; import CalendarIcon from '../svg-icons/Calendar'; import { useMaskedInput } from './hooks/useMaskedInput'; import { getTextFieldAriaText } from './text-field-helper'; var _ref2 = /*#__PURE__*/React.createElement(CalendarIcon, null); export var KeyboardDateInput = function KeyboardDateInput(_ref) { var containerRef = _ref.containerRef, _ref$inputRef = _ref.inputRef, inputRef = _ref$inputRef === void 0 ? null : _ref$inputRef, _ref$forwardedRef = _ref.forwardedRef, forwardedRef = _ref$forwardedRef === void 0 ? null : _ref$forwardedRef, hideOpenPickerButton = _ref.disableOpenPicker, _ref$getOpenDialogAri = _ref.getOpenDialogAriaText, getOpenDialogAriaText = _ref$getOpenDialogAri === void 0 ? getTextFieldAriaText : _ref$getOpenDialogAri, InputAdornmentProps = _ref.InputAdornmentProps, InputProps = _ref.InputProps, onOpen = _ref.openPicker, OpenPickerButtonProps = _ref.OpenPickerButtonProps, _ref$openPickerIcon = _ref.openPickerIcon, openPickerIcon = _ref$openPickerIcon === void 0 ? _ref2 : _ref$openPickerIcon, renderInput = _ref.renderInput, other = _objectWithoutProperties(_ref, ["containerRef", "inputRef", "forwardedRef", "disableOpenPicker", "getOpenDialogAriaText", "InputAdornmentProps", "InputProps", "openPicker", "OpenPickerButtonProps", "openPickerIcon", "renderInput"]); var utils = useUtils(); var inputRefHandle = useForkRef(inputRef, forwardedRef); var textFieldProps = useMaskedInput(other); var adornmentPosition = (InputAdornmentProps === null || InputAdornmentProps === void 0 ? void 0 : InputAdornmentProps.position) || 'end'; return renderInput(_extends({ ref: containerRef, inputRef: inputRefHandle }, textFieldProps, { InputProps: _extends({}, InputProps, _defineProperty({}, "".concat(adornmentPosition, "Adornment"), hideOpenPickerButton ? undefined : /*#__PURE__*/React.createElement(InputAdornment, _extends({ position: adornmentPosition }, InputAdornmentProps), /*#__PURE__*/React.createElement(IconButton, _extends({ edge: adornmentPosition, disabled: other.disabled, "aria-label": getOpenDialogAriaText(other.rawValue, utils) }, OpenPickerButtonProps, { onClick: onOpen }), openPickerIcon)))) })); }; process.env.NODE_ENV !== "production" ? KeyboardDateInput.propTypes = { acceptRegex: PropTypes.instanceOf(RegExp), getOpenDialogAriaText: PropTypes.func, mask: PropTypes.string, OpenPickerButtonProps: PropTypes.object, openPickerIcon: PropTypes.node, renderInput: PropTypes.func.isRequired, rifmFormatter: PropTypes.func } : void 0; export default KeyboardDateInput;