Files
30-seconds-of-code/node_modules/gatsby-plugin-transition-link/components/TransitionPortal.js
2019-08-20 15:52:05 +02:00

89 lines
2.7 KiB
JavaScript

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
exports.__esModule = true;
exports.default = void 0;
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _jsxFileName = "/Users/tylerbarnes/Documents/GitHub/transitionlink-workspace/gatsby-plugin-transition-link/src/components/TransitionPortal.js";
var portalRoot = typeof document !== "undefined" ? document.body : false;
var PortalContainer = function PortalContainer(props) {
var zIndex = function (level) {
switch (level) {
case "bottom":
return 1000;
case "top":
return 1200;
default:
return 1100;
}
}(props.level);
return _react.default.createElement("div", {
className: "gatsby-plugin-transition-link-portal",
style: {
position: "fixed",
top: 0,
left: 0,
zIndex: zIndex
},
__source: {
fileName: _jsxFileName,
lineNumber: 19
},
__self: this
}, props.children);
};
var TransitionPortal =
/*#__PURE__*/
function (_Component) {
(0, _inheritsLoose2.default)(TransitionPortal, _Component);
function TransitionPortal() {
var _this;
_this = _Component.call(this) || this;
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "componentDidMount", function () {
portalRoot && portalRoot.appendChild(_this.el);
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "componentWillUnmount", function () {
portalRoot && portalRoot.removeChild(_this.el);
});
_this.el = typeof document !== "undefined" ? document.createElement("section") : false;
return _this;
}
var _proto = TransitionPortal.prototype;
_proto.render = function render() {
return this.el && portalRoot ? _reactDom.default.createPortal(_react.default.createElement(_react.default.Fragment, null, portalRoot && _react.default.createElement(PortalContainer, {
styles: this.props.css,
level: this.props.level,
__source: {
fileName: _jsxFileName,
lineNumber: 55
},
__self: this
}, this.props.children)), this.el) : null;
};
return TransitionPortal;
}(_react.Component);
exports.default = TransitionPortal;