@material-ui/lab
Version:
Material-UI Lab - Incubator for Material-UI React components.
45 lines (43 loc) • 1.44 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import * as React from 'react';
import PropTypes from 'prop-types';
import { WrapperVariantContext } from './WrapperVariantContext';
import { KeyboardDateInput } from '../KeyboardDateInput';
import PickersPopper from '../PickersPopper';
import { CanAutoFocusContext, useAutoFocusControl } from '../hooks/useCanAutoFocus';
const DesktopWrapper = props => {
const {
children,
DateInputProps,
KeyboardDateInputComponent = KeyboardDateInput,
onDismiss,
open,
PopperProps,
TransitionComponent
} = props;
const inputRef = React.useRef(null);
const {
canAutoFocus,
onOpen
} = useAutoFocusControl(open);
return /*#__PURE__*/React.createElement(WrapperVariantContext.Provider, {
value: "desktop"
}, /*#__PURE__*/React.createElement(CanAutoFocusContext.Provider, {
value: canAutoFocus
}, /*#__PURE__*/React.createElement(KeyboardDateInputComponent, _extends({}, DateInputProps, {
inputRef: inputRef
})), /*#__PURE__*/React.createElement(PickersPopper, {
role: "dialog",
open: open,
anchorEl: inputRef.current,
TransitionComponent: TransitionComponent,
PopperProps: PopperProps,
onClose: onDismiss,
onOpen: onOpen
}, children)));
};
process.env.NODE_ENV !== "production" ? DesktopWrapper.propTypes = {
onOpen: PropTypes.func,
onClose: PropTypes.func
} : void 0;
export default DesktopWrapper;