162 lines
5.3 KiB
JavaScript
162 lines
5.3 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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
|
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
|
|
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 _ = _interopRequireWildcard(require("../"));
|
|
|
|
var _gsap = require("gsap");
|
|
|
|
var _jsxFileName = "/Users/tylerbarnes/Documents/GitHub/transitionlink-workspace/gatsby-plugin-transition-link/src/AniLink/Cover.js";
|
|
|
|
var Cover =
|
|
/*#__PURE__*/
|
|
function (_Component) {
|
|
(0, _inheritsLoose2.default)(Cover, _Component);
|
|
|
|
function Cover(_props) {
|
|
var _this;
|
|
|
|
_this = _Component.call(this, _props) || this;
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "horizontal", function (_ref) {
|
|
var node = _ref.node,
|
|
seconds = _ref.props.length,
|
|
direction = _ref.direction;
|
|
var directionTo = direction === "left" ? "-100%" : "100%";
|
|
var directionFrom = direction === "left" ? "100%" : "-100%";
|
|
var wait = seconds / 6;
|
|
var half = (seconds - wait) / 2;
|
|
return new _gsap.TimelineMax().set(_this.cover, {
|
|
y: 0,
|
|
x: directionFrom,
|
|
display: "block"
|
|
}).to(_this.cover, half, {
|
|
x: "0%",
|
|
ease: _gsap.Power1.easeInOut
|
|
}).to(_this.cover, half, {
|
|
x: directionTo,
|
|
ease: _gsap.Power1.easeInOut
|
|
}, "+=" + wait);
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "vertical", function (_ref2) {
|
|
var node = _ref2.node,
|
|
seconds = _ref2.props.length,
|
|
direction = _ref2.direction;
|
|
var directionTo = direction === "up" ? "-100%" : "100%";
|
|
var directionFrom = direction === "up" ? "100%" : "-100%";
|
|
var wait = seconds / 6;
|
|
var half = (seconds - wait) / 2;
|
|
return new _gsap.TimelineMax().set(_this.cover, {
|
|
y: directionFrom
|
|
}).to(_this.cover, half, {
|
|
y: "0%",
|
|
ease: _gsap.Power1.easeInOut
|
|
}).set(node, {
|
|
opacity: 0
|
|
}).to(_this.cover, half, {
|
|
y: directionTo,
|
|
ease: _gsap.Power1.easeIn
|
|
}, "+=" + wait);
|
|
});
|
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "moveInDirection", function (_ref3) {
|
|
var props = _ref3.props,
|
|
direction = _ref3.direction,
|
|
node = _ref3.node;
|
|
if (direction === "left" || direction === "right") return _this.horizontal({
|
|
props: props,
|
|
direction: direction,
|
|
node: node
|
|
});
|
|
return _this.vertical({
|
|
props: props,
|
|
direction: direction,
|
|
node: node
|
|
});
|
|
});
|
|
_this.horizontal = _this.horizontal.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
|
_this.vertical = _this.vertical.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)));
|
|
_this.cover = _react.default.createRef();
|
|
return _this;
|
|
}
|
|
|
|
var _proto = Cover.prototype;
|
|
|
|
_proto.render = function render() {
|
|
var _this2 = this;
|
|
|
|
var direction = this.props.direction || "left";
|
|
var length = this.props.duration || 1;
|
|
var _this$props = this.props,
|
|
removedExit = _this$props.exit,
|
|
removedEntry = _this$props.entry,
|
|
removedProp = _this$props.cover,
|
|
props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["exit", "entry", "cover"]);
|
|
return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_.default, (0, _extends2.default)({
|
|
exit: {
|
|
length: length,
|
|
trigger: function trigger(_ref4) {
|
|
var exit = _ref4.exit,
|
|
node = _ref4.node;
|
|
return _this2.moveInDirection({
|
|
props: exit,
|
|
node: node,
|
|
direction: direction
|
|
});
|
|
}
|
|
},
|
|
entry: {
|
|
delay: length / 2
|
|
}
|
|
}, props, {
|
|
__source: {
|
|
fileName: _jsxFileName,
|
|
lineNumber: 82
|
|
},
|
|
__self: this
|
|
}), this.props.children), _react.default.createElement(_.TransitionPortal, {
|
|
__source: {
|
|
fileName: _jsxFileName,
|
|
lineNumber: 96
|
|
},
|
|
__self: this
|
|
}, _react.default.createElement("div", {
|
|
ref: function ref(n) {
|
|
return _this2.cover = n;
|
|
},
|
|
style: {
|
|
position: "fixed",
|
|
background: this.props.bg || "#4b2571",
|
|
top: 0,
|
|
left: 0,
|
|
width: "100vw",
|
|
height: "100vh",
|
|
transform: "translateY(100%)"
|
|
},
|
|
__source: {
|
|
fileName: _jsxFileName,
|
|
lineNumber: 97
|
|
},
|
|
__self: this
|
|
})));
|
|
};
|
|
|
|
return Cover;
|
|
}(_react.Component);
|
|
|
|
exports.default = Cover; |