@bootstrap-styled/ra-ui
Version:
UI components for react-admin
63 lines (47 loc) • 1.91 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.Responsive = void 0;
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _withWidth = _interopRequireDefault(require("../extendMui/withWidth"));
var Responsive = function Responsive(_ref) {
var xsmall = _ref.xsmall,
small = _ref.small,
medium = _ref.medium,
large = _ref.large,
width = _ref.width,
rest = (0, _objectWithoutProperties2.default)(_ref, ["xsmall", "small", "medium", "large", "width"]);
var element;
switch (width) {
case 'xs':
element = typeof xsmall !== 'undefined' ? xsmall : typeof small !== 'undefined' ? small : typeof medium !== 'undefined' ? medium : large;
break;
case 'sm':
element = typeof small !== 'undefined' ? small : typeof medium !== 'undefined' ? medium : large;
break;
case 'md':
element = typeof medium !== 'undefined' ? medium : typeof large !== 'undefined' ? large : small;
break;
case 'lg':
case 'xl':
element = typeof large !== 'undefined' ? large : typeof medium !== 'undefined' ? medium : small;
break;
default:
throw new Error("Unknown width ".concat(width));
}
return element ? _react.default.cloneElement(element, rest) : null;
};
exports.Responsive = Responsive;
Responsive.propTypes = {
xsmall: _propTypes.default.element,
small: _propTypes.default.element,
medium: _propTypes.default.element,
large: _propTypes.default.element,
width: _propTypes.default.string
};
var _default = (0, _withWidth.default)()(Responsive);
exports.default = _default;