@material-ui/lab
Version:
Material-UI Lab - Incubator for Material-UI React components.
84 lines (67 loc) • 3.38 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.KeyboardDateInput = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var React = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
var _InputAdornment = _interopRequireDefault(require("@material-ui/core/InputAdornment"));
var _utils = require("@material-ui/core/utils");
var _useUtils = require("./hooks/useUtils");
var _Calendar = _interopRequireDefault(require("../svg-icons/Calendar"));
var _useMaskedInput = require("./hooks/useMaskedInput");
var _textFieldHelper = require("./text-field-helper");
var _ref2 = /*#__PURE__*/React.createElement(_Calendar.default, null);
const KeyboardDateInput = (_ref) => {
let {
containerRef,
inputRef = null,
forwardedRef = null,
disableOpenPicker: hideOpenPickerButton,
getOpenDialogAriaText = _textFieldHelper.getTextFieldAriaText,
InputAdornmentProps,
InputProps,
openPicker: onOpen,
OpenPickerButtonProps,
openPickerIcon = _ref2,
renderInput
} = _ref,
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["containerRef", "inputRef", "forwardedRef", "disableOpenPicker", "getOpenDialogAriaText", "InputAdornmentProps", "InputProps", "openPicker", "OpenPickerButtonProps", "openPickerIcon", "renderInput"]);
const utils = (0, _useUtils.useUtils)();
const inputRefHandle = (0, _utils.useForkRef)(inputRef, forwardedRef);
const textFieldProps = (0, _useMaskedInput.useMaskedInput)(other);
const adornmentPosition = (InputAdornmentProps === null || InputAdornmentProps === void 0 ? void 0 : InputAdornmentProps.position) || 'end';
return renderInput((0, _extends2.default)({
ref: containerRef,
inputRef: inputRefHandle
}, textFieldProps, {
InputProps: (0, _extends2.default)({}, InputProps, {
[`${adornmentPosition}Adornment`]: hideOpenPickerButton ? undefined : /*#__PURE__*/React.createElement(_InputAdornment.default, (0, _extends2.default)({
position: adornmentPosition
}, InputAdornmentProps), /*#__PURE__*/React.createElement(_IconButton.default, (0, _extends2.default)({
edge: adornmentPosition,
disabled: other.disabled,
"aria-label": getOpenDialogAriaText(other.rawValue, utils)
}, OpenPickerButtonProps, {
onClick: onOpen
}), openPickerIcon))
})
}));
};
exports.KeyboardDateInput = KeyboardDateInput;
process.env.NODE_ENV !== "production" ? KeyboardDateInput.propTypes = {
acceptRegex: _propTypes.default.instanceOf(RegExp),
getOpenDialogAriaText: _propTypes.default.func,
mask: _propTypes.default.string,
OpenPickerButtonProps: _propTypes.default.object,
openPickerIcon: _propTypes.default.node,
renderInput: _propTypes.default.func.isRequired,
rifmFormatter: _propTypes.default.func
} : void 0;
var _default = KeyboardDateInput;
exports.default = _default;