@material-ui/lab
Version:
Material-UI Lab - Incubator for Material-UI React components.
44 lines (41 loc) • 1.65 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
import React from 'react';
/* Creates a component that rendering modal/popover/nothing and spreading props down to text field */
export function makeWrapperComponent(Wrapper, {
KeyboardDateInputComponent,
PureDateInputComponent
}) {
function WrapperComponent(props) {
const {
cancelText,
children,
clearable,
clearText,
DateInputProps,
DialogProps,
displayStaticWrapperAs,
okText,
PopperProps,
todayText,
wrapperProps
} = props,
restPropsForTextField = _objectWithoutPropertiesLoose(props, ["disableCloseOnSelect", "cancelText", "children", "clearable", "clearText", "DateInputProps", "DialogProps", "displayStaticWrapperAs", "inputFormat", "okText", "onAccept", "onChange", "onClose", "onOpen", "open", "PopperProps", "todayText", "value", "wrapperProps"]);
const TypedWrapper = Wrapper;
return /*#__PURE__*/React.createElement(TypedWrapper, _extends({
clearable: clearable,
clearText: clearText,
DialogProps: DialogProps,
PopperProps: PopperProps,
okText: okText,
todayText: todayText,
cancelText: cancelText,
DateInputProps: DateInputProps,
KeyboardDateInputComponent: KeyboardDateInputComponent,
PureDateInputComponent: PureDateInputComponent,
displayStaticWrapperAs: displayStaticWrapperAs
}, wrapperProps, restPropsForTextField), children);
}
return WrapperComponent;
}
export default makeWrapperComponent;