diff --git a/example/build/main.js b/example/build/main.js index bd020f1..3ac8d15 100644 --- a/example/build/main.js +++ b/example/build/main.js @@ -235,7 +235,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var reac /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\nvar ReactCardFlip =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(ReactCardFlip, _React$Component);\n\n function ReactCardFlip(props) {\n var _this;\n\n _classCallCheck(this, ReactCardFlip);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ReactCardFlip).call(this, props));\n _this.state = {\n isFlipped: _this.props.isFlipped,\n rotation: 0\n };\n return _this;\n }\n\n _createClass(ReactCardFlip, [{\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n if (nextProps.isFlipped !== this.props.isFlipped) {\n this.setState({\n isFlipped: nextProps.isFlipped\n });\n this.setState({\n rotation: this.state.rotation + 180\n });\n }\n }\n }, {\n key: \"getComponent\",\n value: function getComponent(key) {\n return this.props.children.filter(function (component) {\n return component.key === key;\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n flipDirection = _this$props.flipDirection,\n infinite = _this$props.infinite,\n flipSpeedFrontToBack = _this$props.flipSpeedFrontToBack,\n flipSpeedBackToFront = _this$props.flipSpeedBackToFront,\n _this$props$cardStyle = _this$props.cardStyles,\n front = _this$props$cardStyle.front,\n back = _this$props$cardStyle.back,\n containerStyle = _this$props.containerStyle,\n cardZIndex = _this$props.cardZIndex;\n var _this$state = this.state,\n isFlipped = _this$state.isFlipped,\n rotation = _this$state.rotation;\n var frontRotateY = \"rotateY(\".concat(infinite ? rotation : isFlipped ? 180 : 0, \"deg)\");\n var backRotateY = \"rotateY(\".concat(infinite ? rotation + 180 : isFlipped ? 0 : -180, \"deg)\");\n var frontRotateX = \"rotateX(\".concat(infinite ? rotation : isFlipped ? 180 : 0, \"deg)\");\n var backRotateX = \"rotateX(\".concat(infinite ? rotation + 180 : isFlipped ? 0 : -180, \"deg)\");\n var styles = {\n container: {\n perspective: '1000px',\n zIndex: \"\".concat(cardZIndex)\n },\n flipper: {\n position: 'relative',\n width: '100%',\n height: '100%'\n },\n front: _objectSpread({\n WebkitBackfaceVisibility: 'hidden',\n backfaceVisibility: 'hidden',\n left: '0',\n position: isFlipped ? 'absolute' : 'relative',\n top: '0',\n transform: flipDirection === 'horizontal' ? frontRotateY : frontRotateX,\n transformStyle: 'preserve-3d',\n width: '100%',\n height: '100%',\n zIndex: '2',\n transition: \"\".concat(flipSpeedBackToFront, \"s\")\n }, front),\n back: _objectSpread({\n WebkitBackfaceVisibility: 'hidden',\n backfaceVisibility: 'hidden',\n left: '0',\n position: isFlipped ? 'relative' : 'absolute',\n transform: flipDirection === 'horizontal' ? backRotateY : backRotateX,\n transformStyle: 'preserve-3d',\n top: '0',\n width: '100%',\n height: '100%',\n transition: \"\".concat(flipSpeedFrontToBack, \"s\")\n }, back)\n };\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"react-card-flip\",\n style: _objectSpread({}, styles.container, containerStyle)\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"react-card-flipper\",\n style: styles.flipper\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"react-card-front\",\n style: styles.front\n }, this.getComponent('front')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"react-card-back\",\n style: styles.back\n }, this.getComponent('back'))));\n }\n }]);\n\n return ReactCardFlip;\n}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);\n\nReactCardFlip.propTypes = {\n cardStyles: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n front: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n back: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n }),\n cardZIndex: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n children: function children(props, propName, componentName) {\n if (react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.count(props[propName]) !== 2) {\n return new Error(\"\".concat(componentName, \" requires two children.\"));\n }\n },\n containerStyle: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n flipDirection: function flipDirection(props, propName, componentName) {\n if (!props[propName]) {\n return;\n }\n\n if (!(typeof props[propName] === 'string' || props[propName] instanceof String)) {\n return new Error(\"\".concat(propName, \" requires a string.\"));\n }\n\n if (props[propName].toLowerCase() !== 'horizontal' && props[propName].toLowerCase() !== 'vertical') {\n return new Error(\"\".concat(propName, \" expects (horizontal|vertical), got \").concat(props[propName].toLowerCase()));\n }\n },\n flipSpeedBackToFront: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n flipSpeedFrontToBack: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n infinite: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n isFlipped: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n};\nReactCardFlip.defaultProps = {\n containerStyle: {},\n cardStyles: {\n front: {},\n back: {}\n },\n cardZIndex: 'auto',\n flipDirection: 'horizontal',\n flipSpeedBackToFront: 0.6,\n flipSpeedFrontToBack: 0.6,\n infinite: false,\n isFlipped: false\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (ReactCardFlip);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvUmVhY3RDYXJkRmxpcC5qc3g/NzU4OCJdLCJuYW1lcyI6WyJSZWFjdENhcmRGbGlwIiwicHJvcHMiLCJzdGF0ZSIsImlzRmxpcHBlZCIsInJvdGF0aW9uIiwibmV4dFByb3BzIiwic2V0U3RhdGUiLCJrZXkiLCJjaGlsZHJlbiIsImZpbHRlciIsImNvbXBvbmVudCIsImZsaXBEaXJlY3Rpb24iLCJpbmZpbml0ZSIsImZsaXBTcGVlZEZyb250VG9CYWNrIiwiZmxpcFNwZWVkQmFja1RvRnJvbnQiLCJjYXJkU3R5bGVzIiwiZnJvbnQiLCJiYWNrIiwiY29udGFpbmVyU3R5bGUiLCJjYXJkWkluZGV4IiwiZnJvbnRSb3RhdGVZIiwiYmFja1JvdGF0ZVkiLCJmcm9udFJvdGF0ZVgiLCJiYWNrUm90YXRlWCIsInN0eWxlcyIsImNvbnRhaW5lciIsInBlcnNwZWN0aXZlIiwiekluZGV4IiwiZmxpcHBlciIsInBvc2l0aW9uIiwid2lkdGgiLCJoZWlnaHQiLCJXZWJraXRCYWNrZmFjZVZpc2liaWxpdHkiLCJiYWNrZmFjZVZpc2liaWxpdHkiLCJsZWZ0IiwidG9wIiwidHJhbnNmb3JtIiwidHJhbnNmb3JtU3R5bGUiLCJ0cmFuc2l0aW9uIiwiZ2V0Q29tcG9uZW50IiwiUmVhY3QiLCJDb21wb25lbnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzaGFwZSIsIm9iamVjdCIsInN0cmluZyIsInByb3BOYW1lIiwiY29tcG9uZW50TmFtZSIsIkNoaWxkcmVuIiwiY291bnQiLCJFcnJvciIsIlN0cmluZyIsInRvTG93ZXJDYXNlIiwibnVtYmVyIiwiYm9vbCIsImRlZmF1bHRQcm9wcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTs7SUFFTUEsYTs7Ozs7QUFDSix5QkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQix1RkFBTUEsS0FBTjtBQUNBLFVBQUtDLEtBQUwsR0FBYTtBQUNY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QUZlO0FBTTNCRSxZQUFVLEVBQUUsTUFOZTtBQU8zQlIsZUFBYSxFQUFFLFlBUFk7QUFRM0JHLHNCQUFvQixFQUFFLEdBUks7QUFTM0JELHNCQUFvQixFQUFFLEdBVEs7QUFVM0JELFVBQVEsRUFBRSxLQVZpQjtBQVczQlQsV0FBUyxFQUFFO0FBWGdCLENBQTdCO0FBY2VILDRFQUFmIiwiZmlsZSI6Ii4vc3JjL1JlYWN0Q2FyZEZsaXAuanN4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmNsYXNzIFJlYWN0Q2FyZEZsaXAgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgaXNGbGlwcGVkOiB0aGlzLnByb3BzLmlzRmxpcHBlZCxcbiAgICAgIHJvdGF0aW9uOiAwXG4gICAgfTtcbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzKSB7XG4gICAgaWYgKG5leHRQcm9wcy5pc0ZsaXBwZWQgIT09IHRoaXMucHJvcHMuaXNGbGlwcGVkKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgaXNGbGlwcGVkOiBuZXh0UHJvcHMuaXNGbGlwcGVkIH0pO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHJvdGF0aW9uOiB0aGlzLnN0YXRlLnJvdGF0aW9uICsgMTgwIH0pO1xuICAgIH1cbiAgfVxuXG4gIGdldENvbXBvbmVudChrZXkpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbi5maWx0ZXIoY29tcG9uZW50ID0+IHtcbiAgICAgIHJldHVybiBjb21wb25lbnQua2V5ID09PSBrZXk7XG4gICAgfSk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgZmxpcERpcmVjdGlvbixcbiAgICAgIGluZmluaXRlLFxuICAgICAgZmxpcFNwZWVkRnJvbnRUb0JhY2ssXG4gICAgICBmbGlwU3BlZWRCYWNrVG9Gcm9udCxcbiAgICAgIGNhcmRTdHlsZXM6IHsgZnJvbnQsIGJhY2sgfSxcbiAgICAgIGNvbnRhaW5lclN0eWxlLFxuICAgICAgY2FyZFpJbmRleFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHsgaXNGbGlwcGVkLCByb3RhdGlvbiB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGNvbnN0IGZyb250Um90YXRlWSA9IGByb3RhdGVZKCR7XG4gICAgICBpbmZpbml0ZSA/IHJvdGF0aW9uIDogaXNGbGlwcGVkID8gMTgwIDogMFxuICAgIH1kZWcpYDtcbiAgICBjb25zdCBiYWNrUm90YXRlWSA9IGByb3RhdGVZKCR7XG4gICAgICBpbmZpbml0ZSA/IHJvdGF0aW9uICsgMTgwIDogaXNGbGlwcGVkID8gMCA6IC0xODBcbiAgICB9ZGVnKWA7XG4gICAgY29uc3QgZnJvbnRSb3RhdGVYID0gYHJvdGF0ZVgoJHtcbiAgICAgIGluZmluaXRlID8gcm90YXRpb24gOiBpc0ZsaXBwZWQgPyAxODAgOiAwXG4gICAgfWRlZylgO1xuICAgIGNvbnN0IGJhY2tSb3RhdGVYID0gYHJvdGF0ZVgoJHtcbiAgICAgIGluZmluaXRlID8gcm90YXRpb24gKyAxODAgOiBpc0ZsaXBwZWQgPyAwIDogLTE4MFxuICAgIH1kZWcpYDtcblxuICAgIGNvbnN0IHN0eWxlcyA9IHtcbiAgICAgIGNvbnRhaW5lcjoge1xuICAgICAgICBwZXJzcGVjdGl2ZTogJzEwMDBweCcsXG4gICAgICAgIHpJbmRleDogYCR7Y2FyZFpJbmRleH1gXG4gICAgICB9LFxuICAgICAgZmxpcHBlcjoge1xuICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICB9LFxuICAgICAgZnJvbnQ6IHtcbiAgICAgICAgV2Via2l0QmFja2ZhY2VWaXNpYmlsaXR5OiAnaGlkZGVuJyxcbiAgICAgICAgYmFja2ZhY2VWaXNpYmlsaXR5OiAnaGlkZGVuJyxcbiAgICAgICAgbGVmdDogJzAnLFxuICAgICAgICBwb3NpdGlvbjogaXNGbGlwcGVkID8gJ2Fic29sdXRlJyA6ICdyZWxhdGl2ZScsXG4gICAgICAgIHRvcDogJzAnLFxuICAgICAgICB0cmFuc2Zvcm06IGZsaXBEaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJyA/IGZyb250Um90YXRlWSA6IGZyb250Um90YXRlWCxcbiAgICAgICAgdHJhbnNmb3JtU3R5bGU6ICdwcmVzZXJ2ZS0zZCcsXG4gICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICB6SW5kZXg6ICcyJyxcbiAgICAgICAgdHJhbnNpdGlvbjogYCR7ZmxpcFNwZWVkQmFja1RvRnJvbnR9c2AsXG4gICAgICAgIC4uLmZyb250XG4gICAgICB9LFxuICAgICAgYmFjazoge1xuICAgICAgICBXZWJraXRCYWNrZmFjZVZpc2liaWxpdHk6ICdoaWRkZW4nLFxuICAgICAgICBiYWNrZmFjZVZpc2liaWxpdHk6ICdoaWRkZW4nLFxuICAgICAgICBsZWZ0OiAnMCcsXG4gICAgICAgIHBvc2l0aW9uOiBpc0ZsaXBwZWQgPyAncmVsYXRpdmUnIDogJ2Fic29sdXRlJyxcbiAgICAgICAgdHJhbnNmb3JtOiBmbGlwRGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgPyBiYWNrUm90YXRlWSA6IGJhY2tSb3RhdGVYLFxuICAgICAgICB0cmFuc2Zvcm1TdHlsZTogJ3ByZXNlcnZlLTNkJyxcbiAgICAgICAgdG9wOiAnMCcsXG4gICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICB0cmFuc2l0aW9uOiBgJHtmbGlwU3BlZWRGcm9udFRvQmFja31zYCxcbiAgICAgICAgLi4uYmFja1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWFjdC1jYXJkLWZsaXBcIiBzdHlsZT17ey4uLnN0eWxlcy5jb250YWluZXIsIC4uLmNvbnRhaW5lclN0eWxlfX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVhY3QtY2FyZC1mbGlwcGVyXCIgc3R5bGU9e3N0eWxlcy5mbGlwcGVyfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlYWN0LWNhcmQtZnJvbnRcIiBzdHlsZT17c3R5bGVzLmZyb250fT5cbiAgICAgICAgICAgIHt0aGlzLmdldENvbXBvbmVudCgnZnJvbnQnKX1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVhY3QtY2FyZC1iYWNrXCIgc3R5bGU9e3N0eWxlcy5iYWNrfT5cbiAgICAgICAgICAgIHt0aGlzLmdldENvbXBvbmVudCgnYmFjaycpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cblxuUmVhY3RDYXJkRmxpcC5wcm9wVHlwZXMgPSB7XG4gIGNhcmRTdHlsZXM6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgZnJvbnQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgYmFjazogUHJvcFR5cGVzLm9iamVjdFxuICB9KSxcbiAgY2FyZFpJbmRleDogUHJvcFR5cGVzLnN0cmluZyxcbiAgY2hpbGRyZW46IChwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUpID0+IHtcbiAgICBpZiAoUmVhY3QuQ2hpbGRyZW4uY291bnQocHJvcHNbcHJvcE5hbWVdKSAhPT0gMikge1xuICAgICAgcmV0dXJuIG5ldyBFcnJvcihgJHtjb21wb25lbnROYW1lfSByZXF1aXJlcyB0d28gY2hpbGRyZW4uYCk7XG4gICAgfVxuICB9LFxuICBjb250YWluZXJTdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgZmxpcERpcmVjdGlvbjogKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSkgPT4ge1xuICAgIGlmICghcHJvcHNbcHJvcE5hbWVdKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgIShcbiAgICAgICAgdHlwZW9mIHByb3BzW3Byb3BOYW1lXSA9PT0gJ3N0cmluZycgfHwgcHJvcHNbcHJvcE5hbWVdIGluc3RhbmNlb2YgU3RyaW5nXG4gICAgICApXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV3IEVycm9yKGAke3Byb3BOYW1lfSByZXF1aXJlcyBhIHN0cmluZy5gKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBwcm9wc1twcm9wTmFtZV0udG9Mb3dlckNhc2UoKSAhPT0gJ2hvcml6b250YWwnICYmXG4gICAgICBwcm9wc1twcm9wTmFtZV0udG9Mb3dlckNhc2UoKSAhPT0gJ3ZlcnRpY2FsJ1xuICAgICkge1xuICAgICAgcmV0dXJuIG5ldyBFcnJvcihcbiAgICAgICAgYCR7cHJvcE5hbWV9IGV4cGVjdHMgKGhvcml6b250YWx8dmVydGljYWwpLCBnb3QgJHtwcm9wc1tcbiAgICAgICAgICBwcm9wTmFtZVxuICAgICAgICBdLnRvTG93ZXJDYXNlKCl9YFxuICAgICAgKTtcbiAgICB9XG4gIH0sXG4gIGZsaXBTcGVlZEJhY2tUb0Zyb250OiBQcm9wVHlwZXMubnVtYmVyLFxuICBmbGlwU3BlZWRGcm9udFRvQmFjazogUHJvcFR5cGVzLm51bWJlcixcbiAgaW5maW5pdGU6IFByb3BUeXBlcy5ib29sLFxuICBpc0ZsaXBwZWQ6IFByb3BUeXBlcy5ib29sXG59O1xuXG5SZWFjdENhcmRGbGlwLmRlZmF1bHRQcm9wcyA9IHtcbiAgY29udGFpbmVyU3R5bGU6IHt9LFxuICBjYXJkU3R5bGVzOiB7XG4gICAgZnJvbnQ6IHt9LFxuICAgIGJhY2s6IHt9XG4gIH0sXG4gIGNhcmRaSW5kZXg6ICdhdXRvJyxcbiAgZmxpcERpcmVjdGlvbjogJ2hvcml6b250YWwnLFxuICBmbGlwU3BlZWRCYWNrVG9Gcm9udDogMC42LFxuICBmbGlwU3BlZWRGcm9udFRvQmFjazogMC42LFxuICBpbmZpbml0ZTogZmFsc2UsXG4gIGlzRmxpcHBlZDogZmFsc2Vcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlYWN0Q2FyZEZsaXA7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/ReactCardFlip.jsx\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ \"./node_modules/prop-types/index.js\");\n/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__);\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\nvar ReactCardFlip =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(ReactCardFlip, _React$Component);\n\n function ReactCardFlip(props) {\n var _this;\n\n _classCallCheck(this, ReactCardFlip);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ReactCardFlip).call(this, props));\n _this.state = {\n isFlipped: _this.props.isFlipped,\n rotation: 0\n };\n return _this;\n }\n\n _createClass(ReactCardFlip, [{\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n if (nextProps.isFlipped !== this.props.isFlipped) {\n this.setState({\n isFlipped: nextProps.isFlipped\n });\n this.setState({\n rotation: this.state.rotation + 180\n });\n }\n }\n }, {\n key: \"getComponent\",\n value: function getComponent(key) {\n return this.props.children.filter(function (component) {\n return component.key === key;\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n flipDirection = _this$props.flipDirection,\n infinite = _this$props.infinite,\n flipSpeedFrontToBack = _this$props.flipSpeedFrontToBack,\n flipSpeedBackToFront = _this$props.flipSpeedBackToFront,\n _this$props$cardStyle = _this$props.cardStyles,\n front = _this$props$cardStyle.front,\n back = _this$props$cardStyle.back,\n containerStyle = _this$props.containerStyle,\n cardZIndex = _this$props.cardZIndex;\n var _this$state = this.state,\n isFlipped = _this$state.isFlipped,\n rotation = _this$state.rotation;\n var frontRotateY = \"rotateY(\".concat(infinite ? rotation : isFlipped ? 180 : 0, \"deg)\");\n var backRotateY = \"rotateY(\".concat(infinite ? rotation + 180 : isFlipped ? 0 : -180, \"deg)\");\n var frontRotateX = \"rotateX(\".concat(infinite ? rotation : isFlipped ? 180 : 0, \"deg)\");\n var backRotateX = \"rotateX(\".concat(infinite ? rotation + 180 : isFlipped ? 0 : -180, \"deg)\");\n var styles = {\n container: {\n perspective: '1000px',\n zIndex: \"\".concat(cardZIndex)\n },\n flipper: {\n position: 'relative',\n width: '100%',\n height: '100%'\n },\n front: _objectSpread({\n WebkitBackfaceVisibility: 'hidden',\n backfaceVisibility: 'hidden',\n left: '0',\n position: isFlipped ? 'absolute' : 'relative',\n top: '0',\n transform: flipDirection === 'horizontal' ? frontRotateY : frontRotateX,\n transformStyle: 'preserve-3d',\n width: '100%',\n height: '100%',\n zIndex: '2',\n transition: \"\".concat(flipSpeedBackToFront, \"s\")\n }, front),\n back: _objectSpread({\n WebkitBackfaceVisibility: 'hidden',\n backfaceVisibility: 'hidden',\n left: '0',\n position: isFlipped ? 'relative' : 'absolute',\n transform: flipDirection === 'horizontal' ? backRotateY : backRotateX,\n transformStyle: 'preserve-3d',\n top: '0',\n width: '100%',\n height: '100%',\n transition: \"\".concat(flipSpeedFrontToBack, \"s\")\n }, back)\n };\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"react-card-flip\",\n style: _objectSpread({}, styles.container, {}, containerStyle)\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"react-card-flipper\",\n style: styles.flipper\n }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"react-card-front\",\n style: styles.front\n }, this.getComponent('front')), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\"div\", {\n className: \"react-card-back\",\n style: styles.back\n }, this.getComponent('back'))));\n }\n }]);\n\n return ReactCardFlip;\n}(react__WEBPACK_IMPORTED_MODULE_0___default.a.Component);\n\nReactCardFlip.propTypes = {\n cardStyles: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({\n front: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n back: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object\n }),\n cardZIndex: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string,\n children: function children(props, propName, componentName) {\n if (react__WEBPACK_IMPORTED_MODULE_0___default.a.Children.count(props[propName]) !== 2) {\n return new Error(\"\".concat(componentName, \" requires two children.\"));\n }\n },\n containerStyle: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object,\n flipDirection: function flipDirection(props, propName, componentName) {\n if (!props[propName]) {\n return;\n }\n\n if (!(typeof props[propName] === 'string' || props[propName] instanceof String)) {\n return new Error(\"\".concat(propName, \" requires a string.\"));\n }\n\n if (props[propName].toLowerCase() !== 'horizontal' && props[propName].toLowerCase() !== 'vertical') {\n return new Error(\"\".concat(propName, \" expects (horizontal|vertical), got \").concat(props[propName].toLowerCase()));\n }\n },\n flipSpeedBackToFront: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n flipSpeedFrontToBack: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.number,\n infinite: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool,\n isFlipped: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool\n};\nReactCardFlip.defaultProps = {\n containerStyle: {},\n cardStyles: {\n front: {},\n back: {}\n },\n cardZIndex: 'auto',\n flipDirection: 'horizontal',\n flipSpeedBackToFront: 0.6,\n flipSpeedFrontToBack: 0.6,\n infinite: false,\n isFlipped: false\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (ReactCardFlip);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvUmVhY3RDYXJkRmxpcC5qc3g/NzU4OCJdLCJuYW1lcyI6WyJSZWFjdENhcmRGbGlwIiwicHJvcHMiLCJzdGF0ZSIsImlzRmxpcHBlZCIsInJvdGF0aW9uIiwibmV4dFByb3BzIiwic2V0U3RhdGUiLCJrZXkiLCJjaGlsZHJlbiIsImZpbHRlciIsImNvbXBvbmVudCIsImZsaXBEaXJlY3Rpb24iLCJpbmZpbml0ZSIsImZsaXBTcGVlZEZyb250VG9CYWNrIiwiZmxpcFNwZWVkQmFja1RvRnJvbnQiLCJjYXJkU3R5bGVzIiwiZnJvbnQiLCJiYWNrIiwiY29udGFpbmVyU3R5bGUiLCJjYXJkWkluZGV4IiwiZnJvbnRSb3RhdGVZIiwiYmFja1JvdGF0ZVkiLCJmcm9udFJvdGF0ZVgiLCJiYWNrUm90YXRlWCIsInN0eWxlcyIsImNvbnRhaW5lciIsInBlcnNwZWN0aXZlIiwiekluZGV4IiwiZmxpcHBlciIsInBvc2l0aW9uIiwid2lkdGgiLCJoZWlnaHQiLCJXZWJraXRCYWNrZmFjZVZpc2liaWxpdHkiLCJiYWNrZmFjZVZpc2liaWxpdHkiLCJsZWZ0IiwidG9wIiwidHJhbnNmb3JtIiwidHJhbnNmb3JtU3R5bGUiLCJ0cmFuc2l0aW9uIiwiZ2V0Q29tcG9uZW50IiwiUmVhY3QiLCJDb21wb25lbnQiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzaGFwZSIsIm9iamVjdCIsInN0cmluZyIsInByb3BOYW1lIiwiY29tcG9uZW50TmFtZSIsIkNoaWxkcmVuIiwiY291bnQiLCJFcnJvciIsIlN0cmluZyIsInRvTG93ZXJDYXNlIiwibnVtYmVyIiwiYm9vbCIsImRlZmF1bHRQcm9wcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBOztJQUVNQSxhOzs7OztBQUNKLHlCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLHVGQUFNQSxLQUFOO0FBQ0EsVUFBS0MsS0FBTCxHQUFhO0FB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LEdBRmU7QUFNM0JFLFlBQVUsRUFBRSxNQU5lO0FBTzNCUixlQUFhLEVBQUUsWUFQWTtBQVEzQkcsc0JBQW9CLEVBQUUsR0FSSztBQVMzQkQsc0JBQW9CLEVBQUUsR0FUSztBQVUzQkQsVUFBUSxFQUFFLEtBVmlCO0FBVzNCVCxXQUFTLEVBQUU7QUFYZ0IsQ0FBN0I7QUFjZUgsNEVBQWYiLCJmaWxlIjoiLi9zcmMvUmVhY3RDYXJkRmxpcC5qc3guanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcblxuY2xhc3MgUmVhY3RDYXJkRmxpcCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBpc0ZsaXBwZWQ6IHRoaXMucHJvcHMuaXNGbGlwcGVkLFxuICAgICAgcm90YXRpb246IDBcbiAgICB9O1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHMpIHtcbiAgICBpZiAobmV4dFByb3BzLmlzRmxpcHBlZCAhPT0gdGhpcy5wcm9wcy5pc0ZsaXBwZWQpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc0ZsaXBwZWQ6IG5leHRQcm9wcy5pc0ZsaXBwZWQgfSk7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgcm90YXRpb246IHRoaXMuc3RhdGUucm90YXRpb24gKyAxODAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q29tcG9uZW50KGtleSkge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuLmZpbHRlcihjb21wb25lbnQgPT4ge1xuICAgICAgcmV0dXJuIGNvbXBvbmVudC5rZXkgPT09IGtleTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBmbGlwRGlyZWN0aW9uLFxuICAgICAgaW5maW5pdGUsXG4gICAgICBmbGlwU3BlZWRGcm9udFRvQmFjayxcbiAgICAgIGZsaXBTcGVlZEJhY2tUb0Zyb250LFxuICAgICAgY2FyZFN0eWxlczogeyBmcm9udCwgYmFjayB9LFxuICAgICAgY29udGFpbmVyU3R5bGUsXG4gICAgICBjYXJkWkluZGV4XG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3QgeyBpc0ZsaXBwZWQsIHJvdGF0aW9uIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgY29uc3QgZnJvbnRSb3RhdGVZID0gYHJvdGF0ZVkoJHtcbiAgICAgIGluZmluaXRlID8gcm90YXRpb24gOiBpc0ZsaXBwZWQgPyAxODAgOiAwXG4gICAgfWRlZylgO1xuICAgIGNvbnN0IGJhY2tSb3RhdGVZID0gYHJvdGF0ZVkoJHtcbiAgICAgIGluZmluaXRlID8gcm90YXRpb24gKyAxODAgOiBpc0ZsaXBwZWQgPyAwIDogLTE4MFxuICAgIH1kZWcpYDtcbiAgICBjb25zdCBmcm9udFJvdGF0ZVggPSBgcm90YXRlWCgke1xuICAgICAgaW5maW5pdGUgPyByb3RhdGlvbiA6IGlzRmxpcHBlZCA/IDE4MCA6IDBcbiAgICB9ZGVnKWA7XG4gICAgY29uc3QgYmFja1JvdGF0ZVggPSBgcm90YXRlWCgke1xuICAgICAgaW5maW5pdGUgPyByb3RhdGlvbiArIDE4MCA6IGlzRmxpcHBlZCA/IDAgOiAtMTgwXG4gICAgfWRlZylgO1xuXG4gICAgY29uc3Qgc3R5bGVzID0ge1xuICAgICAgY29udGFpbmVyOiB7XG4gICAgICAgIHBlcnNwZWN0aXZlOiAnMTAwMHB4JyxcbiAgICAgICAgekluZGV4OiBgJHtjYXJkWkluZGV4fWBcbiAgICAgIH0sXG4gICAgICBmbGlwcGVyOiB7XG4gICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIH0sXG4gICAgICBmcm9udDoge1xuICAgICAgICBXZWJraXRCYWNrZmFjZVZpc2liaWxpdHk6ICdoaWRkZW4nLFxuICAgICAgICBiYWNrZmFjZVZpc2liaWxpdHk6ICdoaWRkZW4nLFxuICAgICAgICBsZWZ0OiAnMCcsXG4gICAgICAgIHBvc2l0aW9uOiBpc0ZsaXBwZWQgPyAnYWJzb2x1dGUnIDogJ3JlbGF0aXZlJyxcbiAgICAgICAgdG9wOiAnMCcsXG4gICAgICAgIHRyYW5zZm9ybTogZmxpcERpcmVjdGlvbiA9PT0gJ2hvcml6b250YWwnID8gZnJvbnRSb3RhdGVZIDogZnJvbnRSb3RhdGVYLFxuICAgICAgICB0cmFuc2Zvcm1TdHlsZTogJ3ByZXNlcnZlLTNkJyxcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIHpJbmRleDogJzInLFxuICAgICAgICB0cmFuc2l0aW9uOiBgJHtmbGlwU3BlZWRCYWNrVG9Gcm9udH1zYCxcbiAgICAgICAgLi4uZnJvbnRcbiAgICAgIH0sXG4gICAgICBiYWNrOiB7XG4gICAgICAgIFdlYmtpdEJhY2tmYWNlVmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgICAgIGJhY2tmYWNlVmlzaWJpbGl0eTogJ2hpZGRlbicsXG4gICAgICAgIGxlZnQ6ICcwJyxcbiAgICAgICAgcG9zaXRpb246IGlzRmxpcHBlZCA/ICdyZWxhdGl2ZScgOiAnYWJzb2x1dGUnLFxuICAgICAgICB0cmFuc2Zvcm06IGZsaXBEaXJlY3Rpb24gPT09ICdob3Jpem9udGFsJyA/IGJhY2tSb3RhdGVZIDogYmFja1JvdGF0ZVgsXG4gICAgICAgIHRyYW5zZm9ybVN0eWxlOiAncHJlc2VydmUtM2QnLFxuICAgICAgICB0b3A6ICcwJyxcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgIHRyYW5zaXRpb246IGAke2ZsaXBTcGVlZEZyb250VG9CYWNrfXNgLFxuICAgICAgICAuLi5iYWNrXG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlYWN0LWNhcmQtZmxpcFwiIHN0eWxlPXt7Li4uc3R5bGVzLmNvbnRhaW5lciwgLi4uY29udGFpbmVyU3R5bGV9fT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWFjdC1jYXJkLWZsaXBwZXJcIiBzdHlsZT17c3R5bGVzLmZsaXBwZXJ9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmVhY3QtY2FyZC1mcm9udFwiIHN0eWxlPXtzdHlsZXMuZnJvbnR9PlxuICAgICAgICAgICAge3RoaXMuZ2V0Q29tcG9uZW50KCdmcm9udCcpfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWFjdC1jYXJkLWJhY2tcIiBzdHlsZT17c3R5bGVzLmJhY2t9PlxuICAgICAgICAgICAge3RoaXMuZ2V0Q29tcG9uZW50KCdiYWNrJyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxufVxuXG5SZWFjdENhcmRGbGlwLnByb3BUeXBlcyA9IHtcbiAgY2FyZFN0eWxlczogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBmcm9udDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBiYWNrOiBQcm9wVHlwZXMub2JqZWN0XG4gIH0pLFxuICBjYXJkWkluZGV4OiBQcm9wVHlwZXMuc3RyaW5nLFxuICBjaGlsZHJlbjogKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSkgPT4ge1xuICAgIGlmIChSZWFjdC5DaGlsZHJlbi5jb3VudChwcm9wc1twcm9wTmFtZV0pICE9PSAyKSB7XG4gICAgICByZXR1cm4gbmV3IEVycm9yKGAke2NvbXBvbmVudE5hbWV9IHJlcXVpcmVzIHR3byBjaGlsZHJlbi5gKTtcbiAgICB9XG4gIH0sXG4gIGNvbnRhaW5lclN0eWxlOiBQcm9wVHlwZXMub2JqZWN0LFxuICBmbGlwRGlyZWN0aW9uOiAocHJvcHMsIHByb3BOYW1lLCBjb21wb25lbnROYW1lKSA9PiB7XG4gICAgaWYgKCFwcm9wc1twcm9wTmFtZV0pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhKFxuICAgICAgICB0eXBlb2YgcHJvcHNbcHJvcE5hbWVdID09PSAnc3RyaW5nJyB8fCBwcm9wc1twcm9wTmFtZV0gaW5zdGFuY2VvZiBTdHJpbmdcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHJldHVybiBuZXcgRXJyb3IoYCR7cHJvcE5hbWV9IHJlcXVpcmVzIGEgc3RyaW5nLmApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHByb3BzW3Byb3BOYW1lXS50b0xvd2VyQ2FzZSgpICE9PSAnaG9yaXpvbnRhbCcgJiZcbiAgICAgIHByb3BzW3Byb3BOYW1lXS50b0xvd2VyQ2FzZSgpICE9PSAndmVydGljYWwnXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV3IEVycm9yKFxuICAgICAgICBgJHtwcm9wTmFtZX0gZXhwZWN0cyAoaG9yaXpvbnRhbHx2ZXJ0aWNhbCksIGdvdCAke3Byb3BzW1xuICAgICAgICAgIHByb3BOYW1lXG4gICAgICAgIF0udG9Mb3dlckNhc2UoKX1gXG4gICAgICApO1xuICAgIH1cbiAgfSxcbiAgZmxpcFNwZWVkQmFja1RvRnJvbnQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIGZsaXBTcGVlZEZyb250VG9CYWNrOiBQcm9wVHlwZXMubnVtYmVyLFxuICBpbmZpbml0ZTogUHJvcFR5cGVzLmJvb2wsXG4gIGlzRmxpcHBlZDogUHJvcFR5cGVzLmJvb2xcbn07XG5cblJlYWN0Q2FyZEZsaXAuZGVmYXVsdFByb3BzID0ge1xuICBjb250YWluZXJTdHlsZToge30sXG4gIGNhcmRTdHlsZXM6IHtcbiAgICBmcm9udDoge30sXG4gICAgYmFjazoge31cbiAgfSxcbiAgY2FyZFpJbmRleDogJ2F1dG8nLFxuICBmbGlwRGlyZWN0aW9uOiAnaG9yaXpvbnRhbCcsXG4gIGZsaXBTcGVlZEJhY2tUb0Zyb250OiAwLjYsXG4gIGZsaXBTcGVlZEZyb250VG9CYWNrOiAwLjYsXG4gIGluZmluaXRlOiBmYWxzZSxcbiAgaXNGbGlwcGVkOiBmYWxzZVxufTtcblxuZXhwb3J0IGRlZmF1bHQgUmVhY3RDYXJkRmxpcDtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/ReactCardFlip.jsx\n"); /***/ }) diff --git a/lib/react-card-flip.js b/lib/react-card-flip.js index 923684f..f826e08 100644 --- a/lib/react-card-flip.js +++ b/lib/react-card-flip.js @@ -1,4 +1,4 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("react-card-flip",[],t):"object"==typeof exports?exports["react-card-flip"]=t():e["react-card-flip"]=t()}(this,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=2)}([function(e,t,r){e.exports=r(5)()},function(e,t,r){"use strict";e.exports=r(3)},function(e,t,r){"use strict";r.r(t);var n=r(1),o=r.n(n),i=r(0),c=r.n(i);function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e){for(var t=1;t$.length&&$.push(e)}function B(e,t,r){return null==e?0:function e(t,r,n,o){var u=typeof t;"undefined"!==u&&"boolean"!==u||(t=null);var a=!1;if(null===t)a=!0;else switch(u){case"string":case"number":a=!0;break;case"object":switch(t.$$typeof){case i:case c:a=!0}}if(a)return n(o,t,""===r?"."+M(t,0):r),1;if(a=0,r=""===r?".":r+":",Array.isArray(t))for(var f=0;f$.length&&$.push(e)}function D(e,t,r){return null==e?0:function e(t,r,n,o){var u=typeof t;"undefined"!==u&&"boolean"!==u||(t=null);var a=!1;if(null===t)a=!0;else switch(u){case"string":case"number":a=!0;break;case"object":switch(t.$$typeof){case i:case c:a=!0}}if(a)return n(o,t,""===r?"."+B(t,0):r),1;if(a=0,r=""===r?".":r+":",Array.isArray(t))for(var f=0;f {\n return component.key === key;\n });\n }\n\n render() {\n const {\n flipDirection,\n infinite,\n flipSpeedFrontToBack,\n flipSpeedBackToFront,\n cardStyles: { front, back },\n containerStyle,\n cardZIndex\n } = this.props;\n const { isFlipped, rotation } = this.state;\n\n const frontRotateY = `rotateY(${\n infinite ? rotation : isFlipped ? 180 : 0\n }deg)`;\n const backRotateY = `rotateY(${\n infinite ? rotation + 180 : isFlipped ? 0 : -180\n }deg)`;\n const frontRotateX = `rotateX(${\n infinite ? rotation : isFlipped ? 180 : 0\n }deg)`;\n const backRotateX = `rotateX(${\n infinite ? rotation + 180 : isFlipped ? 0 : -180\n }deg)`;\n\n const styles = {\n container: {\n perspective: '1000px',\n zIndex: `${cardZIndex}`\n },\n flipper: {\n position: 'relative',\n width: '100%',\n height: '100%',\n },\n front: {\n WebkitBackfaceVisibility: 'hidden',\n backfaceVisibility: 'hidden',\n left: '0',\n position: isFlipped ? 'absolute' : 'relative',\n top: '0',\n transform: flipDirection === 'horizontal' ? frontRotateY : frontRotateX,\n transformStyle: 'preserve-3d',\n width: '100%',\n height: '100%',\n zIndex: '2',\n transition: `${flipSpeedBackToFront}s`,\n ...front\n },\n back: {\n WebkitBackfaceVisibility: 'hidden',\n backfaceVisibility: 'hidden',\n left: '0',\n position: isFlipped ? 'relative' : 'absolute',\n transform: flipDirection === 'horizontal' ? backRotateY : backRotateX,\n transformStyle: 'preserve-3d',\n top: '0',\n width: '100%',\n height: '100%',\n transition: `${flipSpeedFrontToBack}s`,\n ...back\n }\n };\n\n return (\n
\n
\n
\n {this.getComponent('front')}\n
\n\n
\n {this.getComponent('back')}\n
\n
\n
\n );\n }\n}\n\nReactCardFlip.propTypes = {\n cardStyles: PropTypes.shape({\n front: PropTypes.object,\n back: PropTypes.object\n }),\n cardZIndex: PropTypes.string,\n children: (props, propName, componentName) => {\n if (React.Children.count(props[propName]) !== 2) {\n return new Error(`${componentName} requires two children.`);\n }\n },\n containerStyle: PropTypes.object,\n flipDirection: (props, propName, componentName) => {\n if (!props[propName]) {\n return;\n }\n\n if (\n !(\n typeof props[propName] === 'string' || props[propName] instanceof String\n )\n ) {\n return new Error(`${propName} requires a string.`);\n }\n\n if (\n props[propName].toLowerCase() !== 'horizontal' &&\n props[propName].toLowerCase() !== 'vertical'\n ) {\n return new Error(\n `${propName} expects (horizontal|vertical), got ${props[\n propName\n ].toLowerCase()}`\n );\n }\n },\n flipSpeedBackToFront: PropTypes.number,\n flipSpeedFrontToBack: PropTypes.number,\n infinite: PropTypes.bool,\n isFlipped: PropTypes.bool\n};\n\nReactCardFlip.defaultProps = {\n containerStyle: {},\n cardStyles: {\n front: {},\n back: {}\n },\n cardZIndex: 'auto',\n flipDirection: 'horizontal',\n flipSpeedBackToFront: 0.6,\n flipSpeedFrontToBack: 0.6,\n infinite: false,\n isFlipped: false\n};\n\nexport default ReactCardFlip;\n","/** @license React v16.8.6\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var k=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.concurrent_mode\"):60111,y=n?Symbol.for(\"react.forward_ref\"):60112,z=n?Symbol.for(\"react.suspense\"):60113,aa=n?Symbol.for(\"react.memo\"):\n60115,ba=n?Symbol.for(\"react.lazy\"):60116,A=\"function\"===typeof Symbol&&Symbol.iterator;function ca(a,b,d,c,e,g,h,f){if(!a){a=void 0;if(void 0===b)a=Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[d,c,e,g,h,f],m=0;a=Error(b.replace(/%s/g,function(){return l[m++]}));a.name=\"Invariant Violation\"}a.framesToPop=1;throw a;}}\nfunction B(a){for(var b=arguments.length-1,d=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=0;cP.length&&P.push(a)}\nfunction S(a,b,d,c){var e=typeof a;if(\"undefined\"===e||\"boolean\"===e)a=null;var g=!1;if(null===a)g=!0;else switch(e){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return d(c,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var h=0;h {\n return component.key === key;\n });\n }\n\n render() {\n const {\n flipDirection,\n infinite,\n flipSpeedFrontToBack,\n flipSpeedBackToFront,\n cardStyles: { front, back },\n containerStyle,\n cardZIndex\n } = this.props;\n const { isFlipped, rotation } = this.state;\n\n const frontRotateY = `rotateY(${\n infinite ? rotation : isFlipped ? 180 : 0\n }deg)`;\n const backRotateY = `rotateY(${\n infinite ? rotation + 180 : isFlipped ? 0 : -180\n }deg)`;\n const frontRotateX = `rotateX(${\n infinite ? rotation : isFlipped ? 180 : 0\n }deg)`;\n const backRotateX = `rotateX(${\n infinite ? rotation + 180 : isFlipped ? 0 : -180\n }deg)`;\n\n const styles = {\n container: {\n perspective: '1000px',\n zIndex: `${cardZIndex}`\n },\n flipper: {\n position: 'relative',\n width: '100%',\n height: '100%',\n },\n front: {\n WebkitBackfaceVisibility: 'hidden',\n backfaceVisibility: 'hidden',\n left: '0',\n position: isFlipped ? 'absolute' : 'relative',\n top: '0',\n transform: flipDirection === 'horizontal' ? frontRotateY : frontRotateX,\n transformStyle: 'preserve-3d',\n width: '100%',\n height: '100%',\n zIndex: '2',\n transition: `${flipSpeedBackToFront}s`,\n ...front\n },\n back: {\n WebkitBackfaceVisibility: 'hidden',\n backfaceVisibility: 'hidden',\n left: '0',\n position: isFlipped ? 'relative' : 'absolute',\n transform: flipDirection === 'horizontal' ? backRotateY : backRotateX,\n transformStyle: 'preserve-3d',\n top: '0',\n width: '100%',\n height: '100%',\n transition: `${flipSpeedFrontToBack}s`,\n ...back\n }\n };\n\n return (\n
\n
\n
\n {this.getComponent('front')}\n
\n\n
\n {this.getComponent('back')}\n
\n
\n
\n );\n }\n}\n\nReactCardFlip.propTypes = {\n cardStyles: PropTypes.shape({\n front: PropTypes.object,\n back: PropTypes.object\n }),\n cardZIndex: PropTypes.string,\n children: (props, propName, componentName) => {\n if (React.Children.count(props[propName]) !== 2) {\n return new Error(`${componentName} requires two children.`);\n }\n },\n containerStyle: PropTypes.object,\n flipDirection: (props, propName, componentName) => {\n if (!props[propName]) {\n return;\n }\n\n if (\n !(\n typeof props[propName] === 'string' || props[propName] instanceof String\n )\n ) {\n return new Error(`${propName} requires a string.`);\n }\n\n if (\n props[propName].toLowerCase() !== 'horizontal' &&\n props[propName].toLowerCase() !== 'vertical'\n ) {\n return new Error(\n `${propName} expects (horizontal|vertical), got ${props[\n propName\n ].toLowerCase()}`\n );\n }\n },\n flipSpeedBackToFront: PropTypes.number,\n flipSpeedFrontToBack: PropTypes.number,\n infinite: PropTypes.bool,\n isFlipped: PropTypes.bool\n};\n\nReactCardFlip.defaultProps = {\n containerStyle: {},\n cardStyles: {\n front: {},\n back: {}\n },\n cardZIndex: 'auto',\n flipDirection: 'horizontal',\n flipSpeedBackToFront: 0.6,\n flipSpeedFrontToBack: 0.6,\n infinite: false,\n isFlipped: false\n};\n\nexport default ReactCardFlip;\n","/** @license React v16.8.6\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var k=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.concurrent_mode\"):60111,y=n?Symbol.for(\"react.forward_ref\"):60112,z=n?Symbol.for(\"react.suspense\"):60113,aa=n?Symbol.for(\"react.memo\"):\n60115,ba=n?Symbol.for(\"react.lazy\"):60116,A=\"function\"===typeof Symbol&&Symbol.iterator;function ca(a,b,d,c,e,g,h,f){if(!a){a=void 0;if(void 0===b)a=Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[d,c,e,g,h,f],m=0;a=Error(b.replace(/%s/g,function(){return l[m++]}));a.name=\"Invariant Violation\"}a.framesToPop=1;throw a;}}\nfunction B(a){for(var b=arguments.length-1,d=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=0;cP.length&&P.push(a)}\nfunction S(a,b,d,c){var e=typeof a;if(\"undefined\"===e||\"boolean\"===e)a=null;var g=!1;if(null===a)g=!0;else switch(e){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return d(c,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var h=0;h$.length&&$.push(e)}function B(e,t,r){return null==e?0:function e(t,r,n,o){var u=typeof t;"undefined"!==u&&"boolean"!==u||(t=null);var a=!1;if(null===t)a=!0;else switch(u){case"string":case"number":a=!0;break;case"object":switch(t.$$typeof){case i:case c:a=!0}}if(a)return n(o,t,""===r?"."+M(t,0):r),1;if(a=0,r=""===r?".":r+":",Array.isArray(t))for(var f=0;f {\n return component.key === key;\n });\n }\n\n render() {\n const {\n flipDirection,\n infinite,\n flipSpeedFrontToBack,\n flipSpeedBackToFront,\n cardStyles: { front, back },\n containerStyle,\n cardZIndex\n } = this.props;\n const { isFlipped, rotation } = this.state;\n\n const frontRotateY = `rotateY(${\n infinite ? rotation : isFlipped ? 180 : 0\n }deg)`;\n const backRotateY = `rotateY(${\n infinite ? rotation + 180 : isFlipped ? 0 : -180\n }deg)`;\n const frontRotateX = `rotateX(${\n infinite ? rotation : isFlipped ? 180 : 0\n }deg)`;\n const backRotateX = `rotateX(${\n infinite ? rotation + 180 : isFlipped ? 0 : -180\n }deg)`;\n\n const styles = {\n container: {\n perspective: '1000px',\n zIndex: `${cardZIndex}`\n },\n flipper: {\n position: 'relative',\n width: '100%',\n height: '100%',\n },\n front: {\n WebkitBackfaceVisibility: 'hidden',\n backfaceVisibility: 'hidden',\n left: '0',\n position: isFlipped ? 'absolute' : 'relative',\n top: '0',\n transform: flipDirection === 'horizontal' ? frontRotateY : frontRotateX,\n transformStyle: 'preserve-3d',\n width: '100%',\n height: '100%',\n zIndex: '2',\n transition: `${flipSpeedBackToFront}s`,\n ...front\n },\n back: {\n WebkitBackfaceVisibility: 'hidden',\n backfaceVisibility: 'hidden',\n left: '0',\n position: isFlipped ? 'relative' : 'absolute',\n transform: flipDirection === 'horizontal' ? backRotateY : backRotateX,\n transformStyle: 'preserve-3d',\n top: '0',\n width: '100%',\n height: '100%',\n transition: `${flipSpeedFrontToBack}s`,\n ...back\n }\n };\n\n return (\n
\n
\n
\n {this.getComponent('front')}\n
\n\n
\n {this.getComponent('back')}\n
\n
\n
\n );\n }\n}\n\nReactCardFlip.propTypes = {\n cardStyles: PropTypes.shape({\n front: PropTypes.object,\n back: PropTypes.object\n }),\n cardZIndex: PropTypes.string,\n children: (props, propName, componentName) => {\n if (React.Children.count(props[propName]) !== 2) {\n return new Error(`${componentName} requires two children.`);\n }\n },\n containerStyle: PropTypes.object,\n flipDirection: (props, propName, componentName) => {\n if (!props[propName]) {\n return;\n }\n\n if (\n !(\n typeof props[propName] === 'string' || props[propName] instanceof String\n )\n ) {\n return new Error(`${propName} requires a string.`);\n }\n\n if (\n props[propName].toLowerCase() !== 'horizontal' &&\n props[propName].toLowerCase() !== 'vertical'\n ) {\n return new Error(\n `${propName} expects (horizontal|vertical), got ${props[\n propName\n ].toLowerCase()}`\n );\n }\n },\n flipSpeedBackToFront: PropTypes.number,\n flipSpeedFrontToBack: PropTypes.number,\n infinite: PropTypes.bool,\n isFlipped: PropTypes.bool\n};\n\nReactCardFlip.defaultProps = {\n containerStyle: {},\n cardStyles: {\n front: {},\n back: {}\n },\n cardZIndex: 'auto',\n flipDirection: 'horizontal',\n flipSpeedBackToFront: 0.6,\n flipSpeedFrontToBack: 0.6,\n infinite: false,\n isFlipped: false\n};\n\nexport default ReactCardFlip;\n","/** @license React v16.8.6\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var k=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.concurrent_mode\"):60111,y=n?Symbol.for(\"react.forward_ref\"):60112,z=n?Symbol.for(\"react.suspense\"):60113,aa=n?Symbol.for(\"react.memo\"):\n60115,ba=n?Symbol.for(\"react.lazy\"):60116,A=\"function\"===typeof Symbol&&Symbol.iterator;function ca(a,b,d,c,e,g,h,f){if(!a){a=void 0;if(void 0===b)a=Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[d,c,e,g,h,f],m=0;a=Error(b.replace(/%s/g,function(){return l[m++]}));a.name=\"Invariant Violation\"}a.framesToPop=1;throw a;}}\nfunction B(a){for(var b=arguments.length-1,d=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=0;cP.length&&P.push(a)}\nfunction S(a,b,d,c){var e=typeof a;if(\"undefined\"===e||\"boolean\"===e)a=null;var g=!1;if(null===a)g=!0;else switch(e){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return d(c,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var h=0;h