/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/react-images-with-video@0.0.11/lib/Lightbox.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var o=t[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}return function(t,r,o){return r&&e(t.prototype,r),o&&e(t,o),t}}(),_propTypes=require("prop-types"),_propTypes2=_interopRequireDefault(_propTypes),_react=require("react"),_react2=_interopRequireDefault(_react),_aphrodite=require("aphrodite"),_reactScrolllock=require("react-scrolllock"),_reactScrolllock2=_interopRequireDefault(_reactScrolllock),_theme=require("./theme"),_theme2=_interopRequireDefault(_theme),_Arrow=require("./components/Arrow"),_Arrow2=_interopRequireDefault(_Arrow),_Container=require("./components/Container"),_Container2=_interopRequireDefault(_Container),_Footer=require("./components/Footer"),_Footer2=_interopRequireDefault(_Footer),_Header=require("./components/Header"),_Header2=_interopRequireDefault(_Header),_PaginatedThumbnails=require("./components/PaginatedThumbnails"),_PaginatedThumbnails2=_interopRequireDefault(_PaginatedThumbnails),_Portal=require("./components/Portal"),_Portal2=_interopRequireDefault(_Portal),_Spinner=require("./components/Spinner"),_Spinner2=_interopRequireDefault(_Spinner),_bindFunctions=require("./utils/bindFunctions"),_bindFunctions2=_interopRequireDefault(_bindFunctions),_canUseDom=require("./utils/canUseDom"),_canUseDom2=_interopRequireDefault(_canUseDom),_deepMerge=require("./utils/deepMerge"),_deepMerge2=_interopRequireDefault(_deepMerge);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function normalizeSourceSet(e){var t=e.srcSet||e.srcset;return Array.isArray(t)?t.join():t}var Lightbox=function(){function e(t){_classCallCheck(this,e);var r=_possibleConstructorReturn(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return r.renderImages=function(){var e=r.props,t=e.currentImage,o=e.images,a=e.onClickImage,n=e.showThumbnails;if(!o||!o.length)return null;var i=o[t],s=normalizeSourceSet(i),l=s?"100vw":null,u="video"===i.type,p=n?r.theme.thumbnail.size:0,c=r.theme.header.height+r.theme.footer.height+p+r.theme.container.gutter.vertical+"px";return u?_react2.default.createElement("figure",{className:(0,_aphrodite.css)(r.classes.figure)},_react2.default.createElement("video",{style:{cursor:a?"pointer":"auto",maxHeight:"calc(100vh - "+c+")",maxWidth:"100%"},controls:!0,autoPlay:!1,ref:function(e){e&&(e.childNodes[0].setAttribute("src",i.src),e.load())}},_react2.default.createElement("source",{src:i.src,type:"video/mp4"}),"Your browser does not support the video tag.")):_react2.default.createElement("figure",{className:(0,_aphrodite.css)(r.classes.figure)},_react2.default.createElement("img",{className:(0,_aphrodite.css)(r.classes.image,r.classes.imageLoaded),onClick:a,sizes:l,alt:i.alt,src:i.src,srcSet:s,style:{cursor:a?"pointer":"auto",maxHeight:"calc(100vh - "+c+")"}}))},r.theme=(0,_deepMerge2.default)(_theme2.default,t.theme),r.classes=_aphrodite.StyleSheet.create((0,_deepMerge2.default)(defaultStyles,r.theme)),r.state={imageLoaded:!1},_bindFunctions2.default.call(r,["gotoNext","gotoPrev","closeBackdrop","handleKeyboardInput","handleImageLoaded"]),r}return _inherits(e,_react.Component),_createClass(e,[{key:"getChildContext",value:function(){return{theme:this.theme}}},{key:"componentDidMount",value:function(){this.props.isOpen&&(this.props.enableKeyboardInput&&window.addEventListener("keydown",this.handleKeyboardInput),"number"==typeof this.props.currentImage&&this.preloadImage(this.props.currentImage,this.handleImageLoaded))}},{key:"componentWillReceiveProps",value:function(e){if(_canUseDom2.default){if(e.preloadNextImage){var t=this.props.currentImage,r=e.currentImage+1,o=e.currentImage-1,a=void 0;t&&e.currentImage>t?a=r:t&&e.currentImage<t&&(a=o),a?this.preloadImage(a):(this.preloadImage(o),this.preloadImage(r))}if(this.props.currentImage!==e.currentImage||!this.props.isOpen&&e.isOpen){var n=this.preloadImage(e.currentImage,this.handleImageLoaded);this.setState({imageLoaded:n.complete})}!this.props.isOpen&&e.isOpen&&e.enableKeyboardInput&&window.addEventListener("keydown",this.handleKeyboardInput),!e.isOpen&&e.enableKeyboardInput&&window.removeEventListener("keydown",this.handleKeyboardInput)}}},{key:"componentWillUnmount",value:function(){this.props.enableKeyboardInput&&window.removeEventListener("keydown",this.handleKeyboardInput)}},{key:"preloadImage",value:function(e,t){var r=this.props.images[e];if(r){var o=new Image,a=normalizeSourceSet(r);return o.onerror=t,o.onload=t,o.src=r.src,a&&(o.srcset=a),o}}},{key:"gotoNext",value:function(e){var t=this.props,r=t.currentImage,o=t.images;this.state.imageLoaded&&r!==o.length-1&&(e&&(e.preventDefault(),e.stopPropagation()),this.props.onClickNext())}},{key:"gotoPrev",value:function(e){var t=this.props.currentImage;this.state.imageLoaded&&0!==t&&(e&&(e.preventDefault(),e.stopPropagation()),this.props.onClickPrev())}},{key:"closeBackdrop",value:function(e){"lightboxBackdrop"!==e.target.id&&"FIGURE"!==e.target.tagName||this.props.onClose()}},{key:"handleKeyboardInput",value:function(e){return 37===e.keyCode?(this.gotoPrev(e),!0):39===e.keyCode?(this.gotoNext(e),!0):27===e.keyCode&&(this.props.onClose(),!0)}},{key:"handleImageLoaded",value:function(){this.setState({imageLoaded:!0})}},{key:"renderArrowPrev",value:function(){return 0===this.props.currentImage?null:_react2.default.createElement(_Arrow2.default,{direction:"left",icon:"arrowLeft",onClick:this.gotoPrev,title:this.props.leftArrowTitle,type:"button"})}},{key:"renderArrowNext",value:function(){return this.props.currentImage===this.props.images.length-1?null:_react2.default.createElement(_Arrow2.default,{direction:"right",icon:"arrowRight",onClick:this.gotoNext,title:this.props.rightArrowTitle,type:"button"})}},{key:"renderDialog",value:function(){var e=this.props,t=e.backdropClosesModal,r=e.isOpen,o=e.showThumbnails,a=e.width,n=this.state.imageLoaded;if(!r)return _react2.default.createElement("span",{key:"closed"});var i=0;return o&&(i=this.theme.thumbnail.size+this.theme.container.gutter.vertical),_react2.default.createElement(_Container2.default,{key:"open",onClick:t&&this.closeBackdrop,onTouchEnd:t&&this.closeBackdrop},_react2.default.createElement("div",null,_react2.default.createElement("div",{className:(0,_aphrodite.css)(this.classes.content),style:{marginBottom:i,maxWidth:a}},n&&this.renderHeader(),this.renderImages(),this.props.showSpinner&&this.renderSpinner(),n&&this.renderFooter()),n&&this.renderThumbnails(),n&&this.renderArrowPrev(),n&&this.renderArrowNext(),this.props.preventScroll&&_react2.default.createElement(_reactScrolllock2.default,null)))}},{key:"renderThumbnails",value:function(){var e=this.props,t=e.images,r=e.currentImage,o=e.onClickThumbnail,a=e.showThumbnails,n=e.thumbnailOffset;if(a)return _react2.default.createElement(_PaginatedThumbnails2.default,{currentImage:r,images:t,offset:n,onClickThumbnail:o})}},{key:"renderHeader",value:function(){var e=this.props,t=e.closeButtonTitle,r=e.customControls,o=e.onClose,a=e.showCloseButton;return _react2.default.createElement(_Header2.default,{customControls:r,onClose:o,showCloseButton:a,closeButtonTitle:t})}},{key:"renderFooter",value:function(){var e=this.props,t=e.currentImage,r=e.images,o=e.imageCountSeparator,a=e.showImageCount;return r&&r.length?_react2.default.createElement(_Footer2.default,{caption:r[t].caption,countCurrent:t+1,countSeparator:o,countTotal:r.length,showCount:a}):null}},{key:"renderSpinner",value:function(){var e=this.props,t=e.spinner,r=e.spinnerColor,o=e.spinnerSize,a=this.state.imageLoaded,n=t;return _react2.default.createElement("div",{className:(0,_aphrodite.css)(this.classes.spinner,!a&&this.classes.spinnerActive)},_react2.default.createElement(n,{color:r,size:o}))}},{key:"render",value:function(){return _react2.default.createElement(_Portal2.default,null,this.renderDialog())}}]),e}();Lightbox.propTypes={backdropClosesModal:_propTypes2.default.bool,closeButtonTitle:_propTypes2.default.string,currentImage:_propTypes2.default.number,customControls:_propTypes2.default.arrayOf(_propTypes2.default.node),enableKeyboardInput:_propTypes2.default.bool,imageCountSeparator:_propTypes2.default.string,images:_propTypes2.default.arrayOf(_propTypes2.default.shape({src:_propTypes2.default.string.isRequired,srcSet:_propTypes2.default.array,caption:_propTypes2.default.oneOfType([_propTypes2.default.string,_propTypes2.default.element]),thumbnail:_propTypes2.default.string})).isRequired,isOpen:_propTypes2.default.bool,leftArrowTitle:_propTypes2.default.string,onClickImage:_propTypes2.default.func,onClickNext:_propTypes2.default.func,onClickPrev:_propTypes2.default.func,onClose:_propTypes2.default.func.isRequired,preloadNextImage:_propTypes2.default.bool,preventScroll:_propTypes2.default.bool,rightArrowTitle:_propTypes2.default.string,showCloseButton:_propTypes2.default.bool,showImageCount:_propTypes2.default.bool,showThumbnails:_propTypes2.default.bool,spinner:_propTypes2.default.func,spinnerColor:_propTypes2.default.string,spinnerSize:_propTypes2.default.number,theme:_propTypes2.default.object,thumbnailOffset:_propTypes2.default.number,width:_propTypes2.default.number},Lightbox.defaultProps={closeButtonTitle:"Close (Esc)",currentImage:0,enableKeyboardInput:!0,imageCountSeparator:" of ",leftArrowTitle:"Previous (Left arrow key)",onClickShowNextImage:!0,preloadNextImage:!0,preventScroll:!0,rightArrowTitle:"Next (Right arrow key)",showCloseButton:!0,showImageCount:!0,spinner:_Spinner2.default,spinnerColor:"white",spinnerSize:100,theme:{},thumbnailOffset:2,width:1024},Lightbox.childContextTypes={theme:_propTypes2.default.object.isRequired};var defaultStyles={content:{position:"relative"},figure:{margin:0},image:{display:"block",height:"auto",margin:"0 auto",maxWidth:"100%",WebkitTouchCallout:"none",userSelect:"none",opacity:0,transition:"opacity 0.3s"},imageLoaded:{opacity:1},spinner:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",opacity:0,transition:"opacity 0.3s"},spinnerActive:{opacity:1}};exports.default=Lightbox;
//# sourceMappingURL=/sm/2676214e8fc35f3c8b5f94324dbf7c1c143677a99cb36d585a97ead1a8f01fd8.map