gatsby-background-image
Version:
Lazy-loading React background-image component with optional support for the blur-up effect.
68 lines (56 loc) • 2.58 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var PureBackgroundImage = function (_React$PureComponent) {
(0, _inheritsLoose2.default)(PureBackgroundImage, _React$PureComponent);
function PureBackgroundImage() {
return _React$PureComponent.apply(this, arguments) || this;
}
var _proto = PureBackgroundImage.prototype;
_proto.render = function render() {
var _this$props = this.props,
Tag = _this$props.Tag,
currentClassNames = _this$props.currentClassNames,
currentStyles = _this$props.currentStyles,
handleRef = _this$props.handleRef,
componentKey = _this$props.componentKey,
remainingProps = _this$props.remainingProps,
pseudoStyles = _this$props.pseudoStyles,
hasNoScript = _this$props.hasNoScript,
noScriptPseudoStyles = _this$props.noScriptPseudoStyles,
children = _this$props.children;
return _react.default.createElement(Tag, (0, _extends2.default)({
className: currentClassNames,
style: currentStyles,
ref: handleRef,
key: componentKey
}, remainingProps), _react.default.createElement("style", {
dangerouslySetInnerHTML: {
__html: pseudoStyles
}
}), hasNoScript && _react.default.createElement("noscript", null, _react.default.createElement("style", {
dangerouslySetInnerHTML: {
__html: noScriptPseudoStyles
}
})), children);
};
return PureBackgroundImage;
}(_react.default.PureComponent);
PureBackgroundImage.propTypes = {
Tag: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]).isRequired,
currentClassNames: _propTypes.default.string.isRequired,
currentStyles: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]).isRequired,
pseudoStyles: _propTypes.default.string.isRequired,
handleRef: _propTypes.default.func.isRequired,
componentKey: _propTypes.default.string.isRequired,
hasNoScript: _propTypes.default.bool.isRequired,
noScriptPseudoStyles: _propTypes.default.string.isRequired,
remainingProps: _propTypes.default.any
};
var _default = PureBackgroundImage;
exports.default = _default;