@danilandreev/material-docs
Version:
material-docs - react framework for easy creating documentation site in material design style.
81 lines (63 loc) • 3.36 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.displayName = void 0;
var _react = _interopRequireDefault(require("react"));
var _styles = require("./styles");
var _reactLazyLoadImageComponent = require("react-lazy-load-image-component");
var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
var _CircularProgress = _interopRequireDefault(require("@material-ui/core/CircularProgress"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _clsx = _interopRequireDefault(require("clsx"));
var _styles2 = require("@material-ui/styles");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
var displayName = "MatDocImage";
exports.displayName = displayName;
var Image = /*#__PURE__*/_react.default.forwardRef(function Image(props, ref) {
var _props$src = props.src,
src = _props$src === void 0 ? "" : _props$src,
_props$alt = props.alt,
alt = _props$alt === void 0 ? "" : _props$alt,
style = props.style,
className = props.className,
children = props.children,
_props$fullWidth = props.fullWidth,
fullWidth = _props$fullWidth === void 0 ? false : _props$fullWidth,
classes = props.classes,
other = _objectWithoutProperties(props, ["src", "alt", "style", "className", "children", "fullWidth", "classes"]);
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
style: style,
className: (0, _clsx.default)(fullWidth && classes.fullWidth, className),
ref: ref
}, /*#__PURE__*/_react.default.createElement(_reactLazyLoadImageComponent.LazyLoadImage, {
alt: alt,
style: {
width: "100%"
},
src: src,
placeholder: /*#__PURE__*/_react.default.createElement(_CircularProgress.default, null)
})), children && /*#__PURE__*/_react.default.createElement(_Typography.default, {
color: "textSecondary",
variant: "subtitle2"
}, children));
});
Image.displayName = displayName;
Image.propTypes = {
// ImageProps
src: _propTypes.default.string,
alt: _propTypes.default.string,
fullWidth: _propTypes.default.bool,
// Stylable
style: _propTypes.default.object,
className: _propTypes.default.string,
classes: _propTypes.default.object,
// Containerable
children: _propTypes.default.node
};
var _default = (0, _styles2.withStyles)(_styles.styles, {
name: displayName
})(Image);
exports.default = _default;