UNPKG

@material-ui/lab

Version:

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

61 lines (58 loc) 2.6 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; 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 const KeyboardDateInput = (_ref) => { let { containerRef, inputRef = null, forwardedRef = null, disableOpenPicker: hideOpenPickerButton, getOpenDialogAriaText = getTextFieldAriaText, InputAdornmentProps, InputProps, openPicker: onOpen, OpenPickerButtonProps, openPickerIcon = _ref2, renderInput } = _ref, other = _objectWithoutPropertiesLoose(_ref, ["containerRef", "inputRef", "forwardedRef", "disableOpenPicker", "getOpenDialogAriaText", "InputAdornmentProps", "InputProps", "openPicker", "OpenPickerButtonProps", "openPickerIcon", "renderInput"]); const utils = useUtils(); const inputRefHandle = useForkRef(inputRef, forwardedRef); const textFieldProps = useMaskedInput(other); const adornmentPosition = (InputAdornmentProps === null || InputAdornmentProps === void 0 ? void 0 : InputAdornmentProps.position) || 'end'; return renderInput(_extends({ ref: containerRef, inputRef: inputRefHandle }, textFieldProps, { InputProps: _extends({}, InputProps, { [`${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;