{"version":3,"sources":["webpack:///./node_modules/react-image-lightbox/dist/index.es.js","webpack:///./node_modules/warning/warning.js","webpack:///./node_modules/exenv/index.js","webpack:///./node_modules/react-modal/lib/helpers/safeHTMLElement.js","webpack:///./src/images/fundo-empresa.jpg","webpack:///./node_modules/react-modal/lib/index.js","webpack:///./node_modules/react-modal/lib/components/ModalPortal.js","webpack:///./node_modules/react-modal/lib/helpers/scopeTab.js","webpack:///./node_modules/react-modal/lib/helpers/portalOpenInstances.js","webpack:///./src/components/LightboxZoom/index.js","webpack:///./src/pages/empresa/index.js","webpack:///./src/data/configDiferenciais.js","webpack:///./src/data/configGaleriaEmpresa.js","webpack:///./node_modules/react-modal/lib/helpers/focusManager.js","webpack:///./node_modules/react-modal/lib/helpers/bodyTrap.js","webpack:///./node_modules/react-modal/lib/helpers/ariaAppHider.js","webpack:///./node_modules/react-modal/lib/helpers/tabbable.js","webpack:///./node_modules/react-modal/lib/helpers/classList.js","webpack:///./node_modules/react-modal/lib/components/Modal.js"],"names":["_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","Constructor","protoProps","staticProps","prototype","_defineProperty","obj","value","_extends","assign","arguments","source","hasOwnProperty","call","apply","this","_objectSpread","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","forEach","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","p","_assertThisInitialized","self","ReferenceError","_slicedToArray","arr","Array","isArray","_arrayWithHoles","_arr","_n","_d","_e","undefined","_s","_i","Symbol","iterator","next","done","push","err","_iterableToArrayLimit","TypeError","_nonIterableRest","_toConsumableArray","arr2","_arrayWithoutHoles","iter","toString","from","_iterableToArray","_nonIterableSpread","translate","str","replaceStrings","translated","placeholder","replace","getWindowWidth","global","window","innerWidth","KEYS","ReactImageLightbox","_Component","_this","instance","_classCallCheck","state","isClosing","animationDisabled","shouldAnimate","zoomLevel","offsetX","offsetY","loadErrorStatus","outerEl","createRef","zoomInBtn","zoomOutBtn","caption","closeIfClickInner","bind","handleImageDoubleClick","handleImageMouseWheel","handleKeyInput","handleMouseUp","handleMouseDown","handleMouseMove","handleOuterMousewheel","handleTouchStart","handleTouchMove","handleTouchEnd","handlePointerEvent","handleCaptionMousewheel","handleWindowResize","handleZoomInButtonClick","handleZoomOutButtonClick","requestClose","requestMoveNext","requestMovePrev","subClass","superClass","create","constructor","_inherits","test","className","mouseEvent","id","x","parseInt","clientX","y","clientY","touchPointer","identifier","pointerEvent","pointerId","_ref","_ref$x","_ref$y","_ref$zoom","zoom","width","targetWidth","nextX","windowWidth","scaleFactor","transform","timeouts","currentAction","eventsSource","pointerList","preventInnerClose","preventInnerCloseTimeout","keyPressed","imageCache","lastKeyDownTime","resizeTimeout","wheelActionTimeout","resetScrollTimeout","scrollX","scrollY","moveStartX","moveStartY","moveStartOffsetX","moveStartOffsetY","swipeStartX","swipeStartY","swipeEndX","swipeEndY","pinchTouchList","pinchDistance","keyCounter","moveRequested","setState","_this2","windowContext","getHighestSafeWindowContext","referrer","document","top","getOrigin","href","match","location","parent","listeners","resize","mouseup","touchend","touchcancel","pointerdown","pointermove","pointerup","pointercancel","type","addEventListener","loadAllImages","nextProps","_this3","sourcesChanged","prevSrcDict","nextSrcDict","getSrcTypes","srcType","name","prevSrc","loaded","_this4","didUnmount","removeEventListener","tid","clearTimeout","_setTimeout","setTimeout","_x","_x2","func","time","_this5","_this6","imageSrc","fitSizes","isImageLoaded","getFitSizes","height","src","targetHeight","stretch","boxSize","getLightboxRect","maxHeight","imagePadding","maxWidth","Math","min","currentImageInfo","getBestImageForType","maxX","minX","maxY","minY","zoomMultiplier","getZoomMultiplier","keyEnding","pow","current","getBoundingClientRect","innerHeight","right","bottom","left","_clearTimeout","_x3","enableZoom","nextZoomLevel","max","imageBaseSize","currentZoomMultiplier","nextZoomMultiplier","boxRect","pointerX","pointerY","currentImageOffsetX","currentImageOffsetY","nextImageRealOffsetX","nextImageRealOffsetY","nextOffsetX","nextOffsetY","maxOffsets","getMaxOffsets","event","search","stopPropagation","isAnimating","keyCode","which","currentTime","Date","getTime","keyRepeatLimit","preventDefault","nextSrc","keyRepeatKeyupBonus","_this7","actionDelay","abs","deltaY","deltaX","xThreshold","changeZoom","filterPointersBySource","pointer","_ref2","_this8","_ref3","shouldHandleEvent","isTargetMatchImage","addPointer","parseMouseEvent","multiPointerStart","multiPointerMove","removePointer","multiPointerEnd","parsePointerEvent","_this9","changedTouches","eventTouch","parseTouchPointer","map","_this10","touch","handleSwipeStart","handleMoveStart","handleEnd","decideMoveOrSwipe","handlePinchStart","handleMove","handleSwipe","handlePinch","setPreventInnerClose","handleMoveEnd","handleSwipeEnd","handlePinchEnd","_ref4","_ref5","newOffsetX","newOffsetY","_this11","animationDuration","_ref6","_ref7","xDiff","xDiffAbs","yDiffAbs","_ref8","_ref9","a","b","sqrt","_ref10","_ref11","_ref12","calculatePinchDistance","oldPointer","newDistance","_this$calculatePinchC","calculatePinchCenter","forceUpdate","focus","_this$caption$current2","scrollHeight","scrollTop","_this12","inMemoryImage","Image","imageCrossOrigin","crossOrigin","onerror","errorEvent","onImageLoadError","prevState","onload","onImageLoad","_this13","generateLoadDoneCallback","loadImage","_this14","closeLightbox","onCloseRequest","animationOnKeyInput","direction","_this15","nextState","onMovePrevRequest","onMoveNextRequest","requestMove","_this16","_this$props","clickOutsideToClose","discourageDownloads","imageTitle","toolbarButtons","reactModalStyle","_onAfterOpen","onAfterOpen","reactModalProps","_this$state","transitionStyle","transition","keyEndings","_ref13","images","addImage","imageClass","transforms","bestImageInfo","imageStyle","getTransform","cursor","object","some","createElement","style","imageLoadErrorMessage","backgroundImage","onDoubleClick","onWheel","onDragStart","e","alt","draggable","loadingIcon","_","index","modalStyle","overlay","zIndex","backgroundColor","content","overflow","border","borderRadius","padding","isOpen","onRequestClose","contentLabel","appElement","body","wrapperClassName","animationDirection","ref","onMouseMove","onMouseDown","onTouchStart","onTouchMove","tabIndex","onKeyDown","onKeyUp","onClick","prevLabel","nextLabel","button","zoomInLabel","join","disabled","zoomOutLabel","closeLabel","imageCaption","defaultProps","mainSrcThumbnail","nextSrcThumbnail","prevSrcThumbnail","warning","module","exports","canUseDOM","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","attachEvent","canUseViewport","screen","_exenv","EE","__esModule","default","SafeHTMLElement","HTMLElement","_Modal","_Modal2","_typeof","defineProperties","_react","_propTypes2","_interopRequireDefault","focusManager","_interopRequireWildcard","_scopeTab2","ariaAppHider","classList","_safeHTMLElement2","_portalOpenInstances2","newObj","CLASS_NAMES","ariaHiddenInstances","ModalPortal","_possibleConstructorReturn","setOverlayRef","overlayRef","setContentRef","contentRef","afterClose","ariaHideApp","htmlOpenClassName","bodyOpenClassName","remove","getElementsByTagName","show","shouldFocusAfterRender","shouldReturnFocusAfterClose","returnFocus","preventScroll","teardownScopedFocus","popWithoutFocus","onAfterClose","deregister","open","beforeOpen","afterOpen","beforeClose","closeTimer","setupScopedFocus","node","markForFocusLater","overlayEl","contentEl","close","closeTimeoutMS","closeWithTimeout","closeWithoutTimeout","focusContent","contentHasFocus","closesAt","now","handleKeyDown","shouldCloseOnEsc","handleOverlayOnClick","shouldClose","shouldCloseOnOverlayClick","ownerHandlesClose","handleContentOnMouseUp","handleOverlayOnMouseDown","handleContentOnClick","handleContentOnMouseDown","shouldBeClosed","activeElement","contains","buildClassName","additional","classNames","base","attributesFromObject","prefix","items","reduce","acc","moveFromContentToOverlay","prevProps","_props","add","hide","register","_props2","overlayClassName","defaultStyles","children","contentStyles","overlayStyles","overlayProps","contentProps","onMouseUp","role","modal","aria","data","testId","contentElement","overlayElement","Component","propTypes","bool","isRequired","shape","oneOfType","string","instanceOf","number","tabbable","_tabbable2","shiftKey","head","tail","checkSafari","exec","navigator","userAgent","indexOf","_tabbable","portalOpenInstances","PortalOpenInstances","openInstance","openInstances","emit","splice","subscribe","callback","subscribers","eventType","subscriber","slice","onClose","photoIndex","setPhotoIndex","mainSrc","url","intl","useIntl","configDiferenciais","formatMessage","getConfigDiferenciais","configGaleriaEmpresa","withAssetPrefix","sizes","medium","getConfigGaleriaEmpresa","useState","lightboxZoomOpen","setLightboxZoomOpen","Helmet","bodyAttributes","class","ImgFundoEmpresa","config","ButtonBase","LightboxZoom","handleBlur","handleFocus","focusLaterElements","toFocus","pop","console","warn","element","modalElement","detachEvent","needToFocus","_portalOpenInstances","before","after","instances","setAttribute","position","opacity","cloneNode","firstChild","insertBefore","lastChild","appendChild","parentElement","removeChild","assertNodeList","setElement","useElement","_safeHTMLElement","el","querySelectorAll","globalElement","validateElement","removeAttribute","documentNotReadyOrSSRTesting","resetForTesting","_warning","_warning2","nodeList","selector","Error","tabbableNode","hidesContents","zeroSize","offsetWidth","offsetHeight","innerHTML","getComputedStyle","getPropertyValue","scrollWidth","focusable","isTabIndexNotNaN","nodeName","toLowerCase","parentNode","visible","getAttribute","isTabIndexNaN","isNaN","dumpClassLists","htmlClassList","docBodyClassList","classString","classListRef","poll","split","incrementReference","decrementReference","portalClassName","_react2","_reactDom2","_ModalPortal2","_reactLifecyclesCompat","isReact16","createPortal","getCreatePortal","unstable_renderSubtreeIntoContainer","getParentElement","parentSelector","Modal","_temp","_len","args","_key","removePortal","unmountComponentAtNode","portalRef","portal","renderPortal","prevParent","nextParent","snapshot","background","WebkitOverflowScrolling","outline","polyfill"],"mappings":"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","file":"component---src-pages-empresa-index-js-f9fb380dd1c943b04ae9.js","sourcesContent":["import React, { Component } from 'react';\nimport Modal from 'react-modal';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n/**\n * Placeholder for future translate functionality\n */\n\n\nfunction translate(str) {\n var replaceStrings = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (!str) {\n return '';\n }\n\n var translated = str;\n\n if (replaceStrings) {\n Object.keys(replaceStrings).forEach(function (placeholder) {\n translated = translated.replace(placeholder, replaceStrings[placeholder]);\n });\n }\n\n return translated;\n}\n\nfunction getWindowWidth() {\n return typeof global.window !== 'undefined' ? global.window.innerWidth : 0;\n}\n\nfunction getWindowHeight() {\n return typeof global.window !== 'undefined' ? global.window.innerHeight : 0;\n} // Get the highest window context that isn't cross-origin\n// (When in an iframe)\n\n\nfunction getHighestSafeWindowContext() {\n var self = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : global.window.self;\n var referrer = self.document.referrer; // If we reached the top level, return self\n\n if (self === global.window.top || !referrer) {\n return self;\n }\n\n var getOrigin = function getOrigin(href) {\n return href.match(/(.*\\/\\/.*?)(\\/|$)/)[1];\n }; // If parent is the same origin, we can move up one context\n // Reference: https://stackoverflow.com/a/21965342/1601953\n\n\n if (getOrigin(self.location.href) === getOrigin(referrer)) {\n return getHighestSafeWindowContext(self.parent);\n } // If a different origin, we consider the current level\n // as the top reachable one\n\n\n return self;\n} // Min image zoom level\n\n\nvar MIN_ZOOM_LEVEL = 0; // Max image zoom level\n\nvar MAX_ZOOM_LEVEL = 300; // Size ratio between previous and next zoom levels\n\nvar ZOOM_RATIO = 1.007; // How much to increase/decrease the zoom level when the zoom buttons are clicked\n\nvar ZOOM_BUTTON_INCREMENT_SIZE = 100; // Used to judge the amount of horizontal scroll needed to initiate a image move\n\nvar WHEEL_MOVE_X_THRESHOLD = 200; // Used to judge the amount of vertical scroll needed to initiate a zoom action\n\nvar WHEEL_MOVE_Y_THRESHOLD = 1;\nvar KEYS = {\n ESC: 27,\n LEFT_ARROW: 37,\n RIGHT_ARROW: 39\n}; // Actions\n\nvar ACTION_NONE = 0;\nvar ACTION_MOVE = 1;\nvar ACTION_SWIPE = 2;\nvar ACTION_PINCH = 3;\nvar SOURCE_ANY = 0;\nvar SOURCE_MOUSE = 1;\nvar SOURCE_TOUCH = 2;\nvar SOURCE_POINTER = 3; // Minimal swipe distance\n\nvar MIN_SWIPE_DISTANCE = 200;\n\nvar ReactImageLightbox = /*#__PURE__*/function (_Component) {\n _inherits(ReactImageLightbox, _Component);\n\n _createClass(ReactImageLightbox, null, [{\n key: \"isTargetMatchImage\",\n value: function isTargetMatchImage(target) {\n return target && /ril-image-current/.test(target.className);\n }\n }, {\n key: \"parseMouseEvent\",\n value: function parseMouseEvent(mouseEvent) {\n return {\n id: 'mouse',\n source: SOURCE_MOUSE,\n x: parseInt(mouseEvent.clientX, 10),\n y: parseInt(mouseEvent.clientY, 10)\n };\n }\n }, {\n key: \"parseTouchPointer\",\n value: function parseTouchPointer(touchPointer) {\n return {\n id: touchPointer.identifier,\n source: SOURCE_TOUCH,\n x: parseInt(touchPointer.clientX, 10),\n y: parseInt(touchPointer.clientY, 10)\n };\n }\n }, {\n key: \"parsePointerEvent\",\n value: function parsePointerEvent(pointerEvent) {\n return {\n id: pointerEvent.pointerId,\n source: SOURCE_POINTER,\n x: parseInt(pointerEvent.clientX, 10),\n y: parseInt(pointerEvent.clientY, 10)\n };\n } // Request to transition to the previous image\n\n }, {\n key: \"getTransform\",\n value: function getTransform(_ref) {\n var _ref$x = _ref.x,\n x = _ref$x === void 0 ? 0 : _ref$x,\n _ref$y = _ref.y,\n y = _ref$y === void 0 ? 0 : _ref$y,\n _ref$zoom = _ref.zoom,\n zoom = _ref$zoom === void 0 ? 1 : _ref$zoom,\n width = _ref.width,\n targetWidth = _ref.targetWidth;\n var nextX = x;\n var windowWidth = getWindowWidth();\n\n if (width > windowWidth) {\n nextX += (windowWidth - width) / 2;\n }\n\n var scaleFactor = zoom * (targetWidth / width);\n return {\n transform: \"translate3d(\".concat(nextX, \"px,\").concat(y, \"px,0) scale3d(\").concat(scaleFactor, \",\").concat(scaleFactor, \",1)\")\n };\n }\n }]);\n\n function ReactImageLightbox(props) {\n var _this;\n\n _classCallCheck(this, ReactImageLightbox);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ReactImageLightbox).call(this, props));\n _this.state = {\n //-----------------------------\n // Animation\n //-----------------------------\n // Lightbox is closing\n // When Lightbox is mounted, if animation is enabled it will open with the reverse of the closing animation\n isClosing: !props.animationDisabled,\n // Component parts should animate (e.g., when images are moving, or image is being zoomed)\n shouldAnimate: false,\n //-----------------------------\n // Zoom settings\n //-----------------------------\n // Zoom level of image\n zoomLevel: MIN_ZOOM_LEVEL,\n //-----------------------------\n // Image position settings\n //-----------------------------\n // Horizontal offset from center\n offsetX: 0,\n // Vertical offset from center\n offsetY: 0,\n // image load error for srcType\n loadErrorStatus: {}\n }; // Refs\n\n _this.outerEl = React.createRef();\n _this.zoomInBtn = React.createRef();\n _this.zoomOutBtn = React.createRef();\n _this.caption = React.createRef();\n _this.closeIfClickInner = _this.closeIfClickInner.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleImageDoubleClick = _this.handleImageDoubleClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleImageMouseWheel = _this.handleImageMouseWheel.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleKeyInput = _this.handleKeyInput.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleMouseUp = _this.handleMouseUp.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleMouseDown = _this.handleMouseDown.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleMouseMove = _this.handleMouseMove.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleOuterMousewheel = _this.handleOuterMousewheel.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleTouchStart = _this.handleTouchStart.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleTouchMove = _this.handleTouchMove.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleTouchEnd = _this.handleTouchEnd.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handlePointerEvent = _this.handlePointerEvent.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleCaptionMousewheel = _this.handleCaptionMousewheel.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleWindowResize = _this.handleWindowResize.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleZoomInButtonClick = _this.handleZoomInButtonClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleZoomOutButtonClick = _this.handleZoomOutButtonClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.requestClose = _this.requestClose.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.requestMoveNext = _this.requestMoveNext.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.requestMovePrev = _this.requestMovePrev.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(ReactImageLightbox, [{\n key: \"componentWillMount\",\n value: function componentWillMount() {\n // Timeouts - always clear it before umount\n this.timeouts = []; // Current action\n\n this.currentAction = ACTION_NONE; // Events source\n\n this.eventsSource = SOURCE_ANY; // Empty pointers list\n\n this.pointerList = []; // Prevent inner close\n\n this.preventInnerClose = false;\n this.preventInnerCloseTimeout = null; // Used to disable animation when changing props.mainSrc|nextSrc|prevSrc\n\n this.keyPressed = false; // Used to store load state / dimensions of images\n\n this.imageCache = {}; // Time the last keydown event was called (used in keyboard action rate limiting)\n\n this.lastKeyDownTime = 0; // Used for debouncing window resize event\n\n this.resizeTimeout = null; // Used to determine when actions are triggered by the scroll wheel\n\n this.wheelActionTimeout = null;\n this.resetScrollTimeout = null;\n this.scrollX = 0;\n this.scrollY = 0; // Used in panning zoomed images\n\n this.moveStartX = 0;\n this.moveStartY = 0;\n this.moveStartOffsetX = 0;\n this.moveStartOffsetY = 0; // Used to swipe\n\n this.swipeStartX = 0;\n this.swipeStartY = 0;\n this.swipeEndX = 0;\n this.swipeEndY = 0; // Used to pinch\n\n this.pinchTouchList = null;\n this.pinchDistance = 0; // Used to differentiate between images with identical src\n\n this.keyCounter = 0; // Used to detect a move when all src's remain unchanged (four or more of the same image in a row)\n\n this.moveRequested = false;\n\n if (!this.props.animationDisabled) {\n // Make opening animation play\n this.setState({\n isClosing: false\n });\n }\n }\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this; // Prevents cross-origin errors when using a cross-origin iframe\n\n\n this.windowContext = getHighestSafeWindowContext();\n this.listeners = {\n resize: this.handleWindowResize,\n mouseup: this.handleMouseUp,\n touchend: this.handleTouchEnd,\n touchcancel: this.handleTouchEnd,\n pointerdown: this.handlePointerEvent,\n pointermove: this.handlePointerEvent,\n pointerup: this.handlePointerEvent,\n pointercancel: this.handlePointerEvent\n };\n Object.keys(this.listeners).forEach(function (type) {\n _this2.windowContext.addEventListener(type, _this2.listeners[type]);\n });\n this.loadAllImages();\n }\n }, {\n key: \"componentWillReceiveProps\",\n value: function componentWillReceiveProps(nextProps) {\n var _this3 = this; // Iterate through the source types for prevProps and nextProps to\n // determine if any of the sources changed\n\n\n var sourcesChanged = false;\n var prevSrcDict = {};\n var nextSrcDict = {};\n this.getSrcTypes().forEach(function (srcType) {\n if (_this3.props[srcType.name] !== nextProps[srcType.name]) {\n sourcesChanged = true;\n prevSrcDict[_this3.props[srcType.name]] = true;\n nextSrcDict[nextProps[srcType.name]] = true;\n }\n });\n\n if (sourcesChanged || this.moveRequested) {\n // Reset the loaded state for images not rendered next\n Object.keys(prevSrcDict).forEach(function (prevSrc) {\n if (!(prevSrc in nextSrcDict) && prevSrc in _this3.imageCache) {\n _this3.imageCache[prevSrc].loaded = false;\n }\n });\n this.moveRequested = false; // Load any new images\n\n this.loadAllImages(nextProps);\n }\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate() {\n // Wait for move...\n return !this.moveRequested;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this4 = this;\n\n this.didUnmount = true;\n Object.keys(this.listeners).forEach(function (type) {\n _this4.windowContext.removeEventListener(type, _this4.listeners[type]);\n });\n this.timeouts.forEach(function (tid) {\n return clearTimeout(tid);\n });\n }\n }, {\n key: \"setTimeout\",\n value: function (_setTimeout) {\n function setTimeout(_x, _x2) {\n return _setTimeout.apply(this, arguments);\n }\n\n setTimeout.toString = function () {\n return _setTimeout.toString();\n };\n\n return setTimeout;\n }(function (func, time) {\n var _this5 = this;\n\n var id = setTimeout(function () {\n _this5.timeouts = _this5.timeouts.filter(function (tid) {\n return tid !== id;\n });\n func();\n }, time);\n this.timeouts.push(id);\n return id;\n })\n }, {\n key: \"setPreventInnerClose\",\n value: function setPreventInnerClose() {\n var _this6 = this;\n\n if (this.preventInnerCloseTimeout) {\n this.clearTimeout(this.preventInnerCloseTimeout);\n }\n\n this.preventInnerClose = true;\n this.preventInnerCloseTimeout = this.setTimeout(function () {\n _this6.preventInnerClose = false;\n _this6.preventInnerCloseTimeout = null;\n }, 100);\n } // Get info for the best suited image to display with the given srcType\n\n }, {\n key: \"getBestImageForType\",\n value: function getBestImageForType(srcType) {\n var imageSrc = this.props[srcType];\n var fitSizes = {};\n\n if (this.isImageLoaded(imageSrc)) {\n // Use full-size image if available\n fitSizes = this.getFitSizes(this.imageCache[imageSrc].width, this.imageCache[imageSrc].height);\n } else if (this.isImageLoaded(this.props[\"\".concat(srcType, \"Thumbnail\")])) {\n // Fall back to using thumbnail if the image has not been loaded\n imageSrc = this.props[\"\".concat(srcType, \"Thumbnail\")];\n fitSizes = this.getFitSizes(this.imageCache[imageSrc].width, this.imageCache[imageSrc].height, true);\n } else {\n return null;\n }\n\n return {\n src: imageSrc,\n height: this.imageCache[imageSrc].height,\n width: this.imageCache[imageSrc].width,\n targetHeight: fitSizes.height,\n targetWidth: fitSizes.width\n };\n } // Get sizing for when an image is larger than the window\n\n }, {\n key: \"getFitSizes\",\n value: function getFitSizes(width, height, stretch) {\n var boxSize = this.getLightboxRect();\n var maxHeight = boxSize.height - this.props.imagePadding * 2;\n var maxWidth = boxSize.width - this.props.imagePadding * 2;\n\n if (!stretch) {\n maxHeight = Math.min(maxHeight, height);\n maxWidth = Math.min(maxWidth, width);\n }\n\n var maxRatio = maxWidth / maxHeight;\n var srcRatio = width / height;\n\n if (maxRatio > srcRatio) {\n // height is the constraining dimension of the photo\n return {\n width: width * maxHeight / height,\n height: maxHeight\n };\n }\n\n return {\n width: maxWidth,\n height: height * maxWidth / width\n };\n }\n }, {\n key: \"getMaxOffsets\",\n value: function getMaxOffsets() {\n var zoomLevel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state.zoomLevel;\n var currentImageInfo = this.getBestImageForType('mainSrc');\n\n if (currentImageInfo === null) {\n return {\n maxX: 0,\n minX: 0,\n maxY: 0,\n minY: 0\n };\n }\n\n var boxSize = this.getLightboxRect();\n var zoomMultiplier = this.getZoomMultiplier(zoomLevel);\n var maxX = 0;\n\n if (zoomMultiplier * currentImageInfo.width - boxSize.width < 0) {\n // if there is still blank space in the X dimension, don't limit except to the opposite edge\n maxX = (boxSize.width - zoomMultiplier * currentImageInfo.width) / 2;\n } else {\n maxX = (zoomMultiplier * currentImageInfo.width - boxSize.width) / 2;\n }\n\n var maxY = 0;\n\n if (zoomMultiplier * currentImageInfo.height - boxSize.height < 0) {\n // if there is still blank space in the Y dimension, don't limit except to the opposite edge\n maxY = (boxSize.height - zoomMultiplier * currentImageInfo.height) / 2;\n } else {\n maxY = (zoomMultiplier * currentImageInfo.height - boxSize.height) / 2;\n }\n\n return {\n maxX: maxX,\n maxY: maxY,\n minX: -1 * maxX,\n minY: -1 * maxY\n };\n } // Get image src types\n\n }, {\n key: \"getSrcTypes\",\n value: function getSrcTypes() {\n return [{\n name: 'mainSrc',\n keyEnding: \"i\".concat(this.keyCounter)\n }, {\n name: 'mainSrcThumbnail',\n keyEnding: \"t\".concat(this.keyCounter)\n }, {\n name: 'nextSrc',\n keyEnding: \"i\".concat(this.keyCounter + 1)\n }, {\n name: 'nextSrcThumbnail',\n keyEnding: \"t\".concat(this.keyCounter + 1)\n }, {\n name: 'prevSrc',\n keyEnding: \"i\".concat(this.keyCounter - 1)\n }, {\n name: 'prevSrcThumbnail',\n keyEnding: \"t\".concat(this.keyCounter - 1)\n }];\n }\n /**\n * Get sizing when the image is scaled\n */\n\n }, {\n key: \"getZoomMultiplier\",\n value: function getZoomMultiplier() {\n var zoomLevel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.state.zoomLevel;\n return Math.pow(ZOOM_RATIO, zoomLevel);\n }\n /**\n * Get the size of the lightbox in pixels\n */\n\n }, {\n key: \"getLightboxRect\",\n value: function getLightboxRect() {\n if (this.outerEl.current) {\n return this.outerEl.current.getBoundingClientRect();\n }\n\n return {\n width: getWindowWidth(),\n height: getWindowHeight(),\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n }\n }, {\n key: \"clearTimeout\",\n value: function (_clearTimeout) {\n function clearTimeout(_x3) {\n return _clearTimeout.apply(this, arguments);\n }\n\n clearTimeout.toString = function () {\n return _clearTimeout.toString();\n };\n\n return clearTimeout;\n }(function (id) {\n this.timeouts = this.timeouts.filter(function (tid) {\n return tid !== id;\n });\n clearTimeout(id);\n }) // Change zoom level\n\n }, {\n key: \"changeZoom\",\n value: function changeZoom(zoomLevel, clientX, clientY) {\n // Ignore if zoom disabled\n if (!this.props.enableZoom) {\n return;\n } // Constrain zoom level to the set bounds\n\n\n var nextZoomLevel = Math.max(MIN_ZOOM_LEVEL, Math.min(MAX_ZOOM_LEVEL, zoomLevel)); // Ignore requests that don't change the zoom level\n\n if (nextZoomLevel === this.state.zoomLevel) {\n return;\n }\n\n if (nextZoomLevel === MIN_ZOOM_LEVEL) {\n // Snap back to center if zoomed all the way out\n this.setState({\n zoomLevel: nextZoomLevel,\n offsetX: 0,\n offsetY: 0\n });\n return;\n }\n\n var imageBaseSize = this.getBestImageForType('mainSrc');\n\n if (imageBaseSize === null) {\n return;\n }\n\n var currentZoomMultiplier = this.getZoomMultiplier();\n var nextZoomMultiplier = this.getZoomMultiplier(nextZoomLevel); // Default to the center of the image to zoom when no mouse position specified\n\n var boxRect = this.getLightboxRect();\n var pointerX = typeof clientX !== 'undefined' ? clientX - boxRect.left : boxRect.width / 2;\n var pointerY = typeof clientY !== 'undefined' ? clientY - boxRect.top : boxRect.height / 2;\n var currentImageOffsetX = (boxRect.width - imageBaseSize.width * currentZoomMultiplier) / 2;\n var currentImageOffsetY = (boxRect.height - imageBaseSize.height * currentZoomMultiplier) / 2;\n var currentImageRealOffsetX = currentImageOffsetX - this.state.offsetX;\n var currentImageRealOffsetY = currentImageOffsetY - this.state.offsetY;\n var currentPointerXRelativeToImage = (pointerX - currentImageRealOffsetX) / currentZoomMultiplier;\n var currentPointerYRelativeToImage = (pointerY - currentImageRealOffsetY) / currentZoomMultiplier;\n var nextImageRealOffsetX = pointerX - currentPointerXRelativeToImage * nextZoomMultiplier;\n var nextImageRealOffsetY = pointerY - currentPointerYRelativeToImage * nextZoomMultiplier;\n var nextImageOffsetX = (boxRect.width - imageBaseSize.width * nextZoomMultiplier) / 2;\n var nextImageOffsetY = (boxRect.height - imageBaseSize.height * nextZoomMultiplier) / 2;\n var nextOffsetX = nextImageOffsetX - nextImageRealOffsetX;\n var nextOffsetY = nextImageOffsetY - nextImageRealOffsetY; // When zooming out, limit the offset so things don't get left askew\n\n if (this.currentAction !== ACTION_PINCH) {\n var maxOffsets = this.getMaxOffsets();\n\n if (this.state.zoomLevel > nextZoomLevel) {\n nextOffsetX = Math.max(maxOffsets.minX, Math.min(maxOffsets.maxX, nextOffsetX));\n nextOffsetY = Math.max(maxOffsets.minY, Math.min(maxOffsets.maxY, nextOffsetY));\n }\n }\n\n this.setState({\n zoomLevel: nextZoomLevel,\n offsetX: nextOffsetX,\n offsetY: nextOffsetY\n });\n }\n }, {\n key: \"closeIfClickInner\",\n value: function closeIfClickInner(event) {\n if (!this.preventInnerClose && event.target.className.search(/\\bril-inner\\b/) > -1) {\n this.requestClose(event);\n }\n }\n /**\n * Handle user keyboard actions\n */\n\n }, {\n key: \"handleKeyInput\",\n value: function handleKeyInput(event) {\n event.stopPropagation(); // Ignore key input during animations\n\n if (this.isAnimating()) {\n return;\n } // Allow slightly faster navigation through the images when user presses keys repeatedly\n\n\n if (event.type === 'keyup') {\n this.lastKeyDownTime -= this.props.keyRepeatKeyupBonus;\n return;\n }\n\n var keyCode = event.which || event.keyCode; // Ignore key presses that happen too close to each other (when rapid fire key pressing or holding down the key)\n // But allow it if it's a lightbox closing action\n\n var currentTime = new Date();\n\n if (currentTime.getTime() - this.lastKeyDownTime < this.props.keyRepeatLimit && keyCode !== KEYS.ESC) {\n return;\n }\n\n this.lastKeyDownTime = currentTime.getTime();\n\n switch (keyCode) {\n // ESC key closes the lightbox\n case KEYS.ESC:\n event.preventDefault();\n this.requestClose(event);\n break;\n // Left arrow key moves to previous image\n\n case KEYS.LEFT_ARROW:\n if (!this.props.prevSrc) {\n return;\n }\n\n event.preventDefault();\n this.keyPressed = true;\n this.requestMovePrev(event);\n break;\n // Right arrow key moves to next image\n\n case KEYS.RIGHT_ARROW:\n if (!this.props.nextSrc) {\n return;\n }\n\n event.preventDefault();\n this.keyPressed = true;\n this.requestMoveNext(event);\n break;\n }\n }\n /**\n * Handle a mouse wheel event over the lightbox container\n */\n\n }, {\n key: \"handleOuterMousewheel\",\n value: function handleOuterMousewheel(event) {\n var _this7 = this; // Prevent scrolling of the background\n\n\n event.stopPropagation();\n var xThreshold = WHEEL_MOVE_X_THRESHOLD;\n var actionDelay = 0;\n var imageMoveDelay = 500;\n this.clearTimeout(this.resetScrollTimeout);\n this.resetScrollTimeout = this.setTimeout(function () {\n _this7.scrollX = 0;\n _this7.scrollY = 0;\n }, 300); // Prevent rapid-fire zoom behavior\n\n if (this.wheelActionTimeout !== null || this.isAnimating()) {\n return;\n }\n\n if (Math.abs(event.deltaY) < Math.abs(event.deltaX)) {\n // handle horizontal scrolls with image moves\n this.scrollY = 0;\n this.scrollX += event.deltaX;\n var bigLeapX = xThreshold / 2; // If the scroll amount has accumulated sufficiently, or a large leap was taken\n\n if (this.scrollX >= xThreshold || event.deltaX >= bigLeapX) {\n // Scroll right moves to next\n this.requestMoveNext(event);\n actionDelay = imageMoveDelay;\n this.scrollX = 0;\n } else if (this.scrollX <= -1 * xThreshold || event.deltaX <= -1 * bigLeapX) {\n // Scroll left moves to previous\n this.requestMovePrev(event);\n actionDelay = imageMoveDelay;\n this.scrollX = 0;\n }\n } // Allow successive actions after the set delay\n\n\n if (actionDelay !== 0) {\n this.wheelActionTimeout = this.setTimeout(function () {\n _this7.wheelActionTimeout = null;\n }, actionDelay);\n }\n }\n }, {\n key: \"handleImageMouseWheel\",\n value: function handleImageMouseWheel(event) {\n var yThreshold = WHEEL_MOVE_Y_THRESHOLD;\n\n if (Math.abs(event.deltaY) >= Math.abs(event.deltaX)) {\n event.stopPropagation(); // If the vertical scroll amount was large enough, perform a zoom\n\n if (Math.abs(event.deltaY) < yThreshold) {\n return;\n }\n\n this.scrollX = 0;\n this.scrollY += event.deltaY;\n this.changeZoom(this.state.zoomLevel - event.deltaY, event.clientX, event.clientY);\n }\n }\n /**\n * Handle a double click on the current image\n */\n\n }, {\n key: \"handleImageDoubleClick\",\n value: function handleImageDoubleClick(event) {\n if (this.state.zoomLevel > MIN_ZOOM_LEVEL) {\n // A double click when zoomed in zooms all the way out\n this.changeZoom(MIN_ZOOM_LEVEL, event.clientX, event.clientY);\n } else {\n // A double click when zoomed all the way out zooms in\n this.changeZoom(this.state.zoomLevel + ZOOM_BUTTON_INCREMENT_SIZE, event.clientX, event.clientY);\n }\n }\n }, {\n key: \"shouldHandleEvent\",\n value: function shouldHandleEvent(source) {\n if (this.eventsSource === source) {\n return true;\n }\n\n if (this.eventsSource === SOURCE_ANY) {\n this.eventsSource = source;\n return true;\n }\n\n switch (source) {\n case SOURCE_MOUSE:\n return false;\n\n case SOURCE_TOUCH:\n this.eventsSource = SOURCE_TOUCH;\n this.filterPointersBySource();\n return true;\n\n case SOURCE_POINTER:\n if (this.eventsSource === SOURCE_MOUSE) {\n this.eventsSource = SOURCE_POINTER;\n this.filterPointersBySource();\n return true;\n }\n\n return false;\n\n default:\n return false;\n }\n }\n }, {\n key: \"addPointer\",\n value: function addPointer(pointer) {\n this.pointerList.push(pointer);\n }\n }, {\n key: \"removePointer\",\n value: function removePointer(pointer) {\n this.pointerList = this.pointerList.filter(function (_ref2) {\n var id = _ref2.id;\n return id !== pointer.id;\n });\n }\n }, {\n key: \"filterPointersBySource\",\n value: function filterPointersBySource() {\n var _this8 = this;\n\n this.pointerList = this.pointerList.filter(function (_ref3) {\n var source = _ref3.source;\n return source === _this8.eventsSource;\n });\n }\n }, {\n key: \"handleMouseDown\",\n value: function handleMouseDown(event) {\n if (this.shouldHandleEvent(SOURCE_MOUSE) && ReactImageLightbox.isTargetMatchImage(event.target)) {\n this.addPointer(ReactImageLightbox.parseMouseEvent(event));\n this.multiPointerStart(event);\n }\n }\n }, {\n key: \"handleMouseMove\",\n value: function handleMouseMove(event) {\n if (this.shouldHandleEvent(SOURCE_MOUSE)) {\n this.multiPointerMove(event, [ReactImageLightbox.parseMouseEvent(event)]);\n }\n }\n }, {\n key: \"handleMouseUp\",\n value: function handleMouseUp(event) {\n if (this.shouldHandleEvent(SOURCE_MOUSE)) {\n this.removePointer(ReactImageLightbox.parseMouseEvent(event));\n this.multiPointerEnd(event);\n }\n }\n }, {\n key: \"handlePointerEvent\",\n value: function handlePointerEvent(event) {\n if (this.shouldHandleEvent(SOURCE_POINTER)) {\n switch (event.type) {\n case 'pointerdown':\n if (ReactImageLightbox.isTargetMatchImage(event.target)) {\n this.addPointer(ReactImageLightbox.parsePointerEvent(event));\n this.multiPointerStart(event);\n }\n\n break;\n\n case 'pointermove':\n this.multiPointerMove(event, [ReactImageLightbox.parsePointerEvent(event)]);\n break;\n\n case 'pointerup':\n case 'pointercancel':\n this.removePointer(ReactImageLightbox.parsePointerEvent(event));\n this.multiPointerEnd(event);\n break;\n }\n }\n }\n }, {\n key: \"handleTouchStart\",\n value: function handleTouchStart(event) {\n var _this9 = this;\n\n if (this.shouldHandleEvent(SOURCE_TOUCH) && ReactImageLightbox.isTargetMatchImage(event.target)) {\n [].forEach.call(event.changedTouches, function (eventTouch) {\n return _this9.addPointer(ReactImageLightbox.parseTouchPointer(eventTouch));\n });\n this.multiPointerStart(event);\n }\n }\n }, {\n key: \"handleTouchMove\",\n value: function handleTouchMove(event) {\n if (this.shouldHandleEvent(SOURCE_TOUCH)) {\n this.multiPointerMove(event, [].map.call(event.changedTouches, function (eventTouch) {\n return ReactImageLightbox.parseTouchPointer(eventTouch);\n }));\n }\n }\n }, {\n key: \"handleTouchEnd\",\n value: function handleTouchEnd(event) {\n var _this10 = this;\n\n if (this.shouldHandleEvent(SOURCE_TOUCH)) {\n [].map.call(event.changedTouches, function (touch) {\n return _this10.removePointer(ReactImageLightbox.parseTouchPointer(touch));\n });\n this.multiPointerEnd(event);\n }\n }\n }, {\n key: \"decideMoveOrSwipe\",\n value: function decideMoveOrSwipe(pointer) {\n if (this.state.zoomLevel <= MIN_ZOOM_LEVEL) {\n this.handleSwipeStart(pointer);\n } else {\n this.handleMoveStart(pointer);\n }\n }\n }, {\n key: \"multiPointerStart\",\n value: function multiPointerStart(event) {\n this.handleEnd(null);\n\n switch (this.pointerList.length) {\n case 1:\n {\n event.preventDefault();\n this.decideMoveOrSwipe(this.pointerList[0]);\n break;\n }\n\n case 2:\n {\n event.preventDefault();\n this.handlePinchStart(this.pointerList);\n break;\n }\n }\n }\n }, {\n key: \"multiPointerMove\",\n value: function multiPointerMove(event, pointerList) {\n switch (this.currentAction) {\n case ACTION_MOVE:\n {\n event.preventDefault();\n this.handleMove(pointerList[0]);\n break;\n }\n\n case ACTION_SWIPE:\n {\n event.preventDefault();\n this.handleSwipe(pointerList[0]);\n break;\n }\n\n case ACTION_PINCH:\n {\n event.preventDefault();\n this.handlePinch(pointerList);\n break;\n }\n }\n }\n }, {\n key: \"multiPointerEnd\",\n value: function multiPointerEnd(event) {\n if (this.currentAction !== ACTION_NONE) {\n this.setPreventInnerClose();\n this.handleEnd(event);\n }\n\n switch (this.pointerList.length) {\n case 0:\n {\n this.eventsSource = SOURCE_ANY;\n break;\n }\n\n case 1:\n {\n event.preventDefault();\n this.decideMoveOrSwipe(this.pointerList[0]);\n break;\n }\n\n case 2:\n {\n event.preventDefault();\n this.handlePinchStart(this.pointerList);\n break;\n }\n }\n }\n }, {\n key: \"handleEnd\",\n value: function handleEnd(event) {\n switch (this.currentAction) {\n case ACTION_MOVE:\n this.handleMoveEnd(event);\n break;\n\n case ACTION_SWIPE:\n this.handleSwipeEnd(event);\n break;\n\n case ACTION_PINCH:\n this.handlePinchEnd(event);\n break;\n }\n } // Handle move start over the lightbox container\n // This happens:\n // - On a mouseDown event\n // - On a touchstart event\n\n }, {\n key: \"handleMoveStart\",\n value: function handleMoveStart(_ref4) {\n var clientX = _ref4.x,\n clientY = _ref4.y;\n\n if (!this.props.enableZoom) {\n return;\n }\n\n this.currentAction = ACTION_MOVE;\n this.moveStartX = clientX;\n this.moveStartY = clientY;\n this.moveStartOffsetX = this.state.offsetX;\n this.moveStartOffsetY = this.state.offsetY;\n } // Handle dragging over the lightbox container\n // This happens:\n // - After a mouseDown and before a mouseUp event\n // - After a touchstart and before a touchend event\n\n }, {\n key: \"handleMove\",\n value: function handleMove(_ref5) {\n var clientX = _ref5.x,\n clientY = _ref5.y;\n var newOffsetX = this.moveStartX - clientX + this.moveStartOffsetX;\n var newOffsetY = this.moveStartY - clientY + this.moveStartOffsetY;\n\n if (this.state.offsetX !== newOffsetX || this.state.offsetY !== newOffsetY) {\n this.setState({\n offsetX: newOffsetX,\n offsetY: newOffsetY\n });\n }\n }\n }, {\n key: \"handleMoveEnd\",\n value: function handleMoveEnd() {\n var _this11 = this;\n\n this.currentAction = ACTION_NONE;\n this.moveStartX = 0;\n this.moveStartY = 0;\n this.moveStartOffsetX = 0;\n this.moveStartOffsetY = 0; // Snap image back into frame if outside max offset range\n\n var maxOffsets = this.getMaxOffsets();\n var nextOffsetX = Math.max(maxOffsets.minX, Math.min(maxOffsets.maxX, this.state.offsetX));\n var nextOffsetY = Math.max(maxOffsets.minY, Math.min(maxOffsets.maxY, this.state.offsetY));\n\n if (nextOffsetX !== this.state.offsetX || nextOffsetY !== this.state.offsetY) {\n this.setState({\n offsetX: nextOffsetX,\n offsetY: nextOffsetY,\n shouldAnimate: true\n });\n this.setTimeout(function () {\n _this11.setState({\n shouldAnimate: false\n });\n }, this.props.animationDuration);\n }\n }\n }, {\n key: \"handleSwipeStart\",\n value: function handleSwipeStart(_ref6) {\n var clientX = _ref6.x,\n clientY = _ref6.y;\n this.currentAction = ACTION_SWIPE;\n this.swipeStartX = clientX;\n this.swipeStartY = clientY;\n this.swipeEndX = clientX;\n this.swipeEndY = clientY;\n }\n }, {\n key: \"handleSwipe\",\n value: function handleSwipe(_ref7) {\n var clientX = _ref7.x,\n clientY = _ref7.y;\n this.swipeEndX = clientX;\n this.swipeEndY = clientY;\n }\n }, {\n key: \"handleSwipeEnd\",\n value: function handleSwipeEnd(event) {\n var xDiff = this.swipeEndX - this.swipeStartX;\n var xDiffAbs = Math.abs(xDiff);\n var yDiffAbs = Math.abs(this.swipeEndY - this.swipeStartY);\n this.currentAction = ACTION_NONE;\n this.swipeStartX = 0;\n this.swipeStartY = 0;\n this.swipeEndX = 0;\n this.swipeEndY = 0;\n\n if (!event || this.isAnimating() || xDiffAbs < yDiffAbs * 1.5) {\n return;\n }\n\n if (xDiffAbs < MIN_SWIPE_DISTANCE) {\n var boxRect = this.getLightboxRect();\n\n if (xDiffAbs < boxRect.width / 4) {\n return;\n }\n }\n\n if (xDiff > 0 && this.props.prevSrc) {\n event.preventDefault();\n this.requestMovePrev();\n } else if (xDiff < 0 && this.props.nextSrc) {\n event.preventDefault();\n this.requestMoveNext();\n }\n }\n }, {\n key: \"calculatePinchDistance\",\n value: function calculatePinchDistance() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.pinchTouchList,\n _ref9 = _slicedToArray(_ref8, 2),\n a = _ref9[0],\n b = _ref9[1];\n\n return Math.sqrt(Math.pow(a.x - b.x, 2) + Math.pow(a.y - b.y, 2));\n }\n }, {\n key: \"calculatePinchCenter\",\n value: function calculatePinchCenter() {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.pinchTouchList,\n _ref11 = _slicedToArray(_ref10, 2),\n a = _ref11[0],\n b = _ref11[1];\n\n return {\n x: a.x - (a.x - b.x) / 2,\n y: a.y - (a.y - b.y) / 2\n };\n }\n }, {\n key: \"handlePinchStart\",\n value: function handlePinchStart(pointerList) {\n if (!this.props.enableZoom) {\n return;\n }\n\n this.currentAction = ACTION_PINCH;\n this.pinchTouchList = pointerList.map(function (_ref12) {\n var id = _ref12.id,\n x = _ref12.x,\n y = _ref12.y;\n return {\n id: id,\n x: x,\n y: y\n };\n });\n this.pinchDistance = this.calculatePinchDistance();\n }\n }, {\n key: \"handlePinch\",\n value: function handlePinch(pointerList) {\n this.pinchTouchList = this.pinchTouchList.map(function (oldPointer) {\n for (var i = 0; i < pointerList.length; i += 1) {\n if (pointerList[i].id === oldPointer.id) {\n return pointerList[i];\n }\n }\n\n return oldPointer;\n });\n var newDistance = this.calculatePinchDistance();\n var zoomLevel = this.state.zoomLevel + newDistance - this.pinchDistance;\n this.pinchDistance = newDistance;\n\n var _this$calculatePinchC = this.calculatePinchCenter(this.pinchTouchList),\n clientX = _this$calculatePinchC.x,\n clientY = _this$calculatePinchC.y;\n\n this.changeZoom(zoomLevel, clientX, clientY);\n }\n }, {\n key: \"handlePinchEnd\",\n value: function handlePinchEnd() {\n this.currentAction = ACTION_NONE;\n this.pinchTouchList = null;\n this.pinchDistance = 0;\n } // Handle the window resize event\n\n }, {\n key: \"handleWindowResize\",\n value: function handleWindowResize() {\n this.clearTimeout(this.resizeTimeout);\n this.resizeTimeout = this.setTimeout(this.forceUpdate.bind(this), 100);\n }\n }, {\n key: \"handleZoomInButtonClick\",\n value: function handleZoomInButtonClick() {\n var nextZoomLevel = this.state.zoomLevel + ZOOM_BUTTON_INCREMENT_SIZE;\n this.changeZoom(nextZoomLevel);\n\n if (nextZoomLevel === MAX_ZOOM_LEVEL) {\n this.zoomOutBtn.current.focus();\n }\n }\n }, {\n key: \"handleZoomOutButtonClick\",\n value: function handleZoomOutButtonClick() {\n var nextZoomLevel = this.state.zoomLevel - ZOOM_BUTTON_INCREMENT_SIZE;\n this.changeZoom(nextZoomLevel);\n\n if (nextZoomLevel === MIN_ZOOM_LEVEL) {\n this.zoomInBtn.current.focus();\n }\n }\n }, {\n key: \"handleCaptionMousewheel\",\n value: function handleCaptionMousewheel(event) {\n event.stopPropagation();\n\n if (!this.caption.current) {\n return;\n }\n\n var _this$caption$current = this.caption.current.getBoundingClientRect(),\n height = _this$caption$current.height;\n\n var _this$caption$current2 = this.caption.current,\n scrollHeight = _this$caption$current2.scrollHeight,\n scrollTop = _this$caption$current2.scrollTop;\n\n if (event.deltaY > 0 && height + scrollTop >= scrollHeight || event.deltaY < 0 && scrollTop <= 0) {\n event.preventDefault();\n }\n } // Detach key and mouse input events\n\n }, {\n key: \"isAnimating\",\n value: function isAnimating() {\n return this.state.shouldAnimate || this.state.isClosing;\n } // Check if image is loaded\n\n }, {\n key: \"isImageLoaded\",\n value: function isImageLoaded(imageSrc) {\n return imageSrc && imageSrc in this.imageCache && this.imageCache[imageSrc].loaded;\n } // Load image from src and call callback with image width and height on load\n\n }, {\n key: \"loadImage\",\n value: function loadImage(srcType, imageSrc, done) {\n var _this12 = this; // Return the image info if it is already cached\n\n\n if (this.isImageLoaded(imageSrc)) {\n this.setTimeout(function () {\n done();\n }, 1);\n return;\n }\n\n var inMemoryImage = new global.Image();\n\n if (this.props.imageCrossOrigin) {\n inMemoryImage.crossOrigin = this.props.imageCrossOrigin;\n }\n\n inMemoryImage.onerror = function (errorEvent) {\n _this12.props.onImageLoadError(imageSrc, srcType, errorEvent); // failed to load so set the state loadErrorStatus\n\n\n _this12.setState(function (prevState) {\n return {\n loadErrorStatus: _objectSpread({}, prevState.loadErrorStatus, _defineProperty({}, srcType, true))\n };\n });\n\n done(errorEvent);\n };\n\n inMemoryImage.onload = function () {\n _this12.props.onImageLoad(imageSrc, srcType, inMemoryImage);\n\n _this12.imageCache[imageSrc] = {\n loaded: true,\n width: inMemoryImage.width,\n height: inMemoryImage.height\n };\n done();\n };\n\n inMemoryImage.src = imageSrc;\n } // Load all images and their thumbnails\n\n }, {\n key: \"loadAllImages\",\n value: function loadAllImages() {\n var _this13 = this;\n\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props;\n\n var generateLoadDoneCallback = function generateLoadDoneCallback(srcType, imageSrc) {\n return function (err) {\n // Give up showing image on error\n if (err) {\n return;\n } // Don't rerender if the src is not the same as when the load started\n // or if the component has unmounted\n\n\n if (_this13.props[srcType] !== imageSrc || _this13.didUnmount) {\n return;\n } // Force rerender with the new image\n\n\n _this13.forceUpdate();\n };\n }; // Load the images\n\n\n this.getSrcTypes().forEach(function (srcType) {\n var type = srcType.name; // there is no error when we try to load it initially\n\n if (props[type] && _this13.state.loadErrorStatus[type]) {\n _this13.setState(function (prevState) {\n return {\n loadErrorStatus: _objectSpread({}, prevState.loadErrorStatus, _defineProperty({}, type, false))\n };\n });\n } // Load unloaded images\n\n\n if (props[type] && !_this13.isImageLoaded(props[type])) {\n _this13.loadImage(type, props[type], generateLoadDoneCallback(type, props[type]));\n }\n });\n } // Request that the lightbox be closed\n\n }, {\n key: \"requestClose\",\n value: function requestClose(event) {\n var _this14 = this; // Call the parent close request\n\n\n var closeLightbox = function closeLightbox() {\n return _this14.props.onCloseRequest(event);\n };\n\n if (this.props.animationDisabled || event.type === 'keydown' && !this.props.animationOnKeyInput) {\n // No animation\n closeLightbox();\n return;\n } // With animation\n // Start closing animation\n\n\n this.setState({\n isClosing: true\n }); // Perform the actual closing at the end of the animation\n\n this.setTimeout(closeLightbox, this.props.animationDuration);\n }\n }, {\n key: \"requestMove\",\n value: function requestMove(direction, event) {\n var _this15 = this; // Reset the zoom level on image move\n\n\n var nextState = {\n zoomLevel: MIN_ZOOM_LEVEL,\n offsetX: 0,\n offsetY: 0\n }; // Enable animated states\n\n if (!this.props.animationDisabled && (!this.keyPressed || this.props.animationOnKeyInput)) {\n nextState.shouldAnimate = true;\n this.setTimeout(function () {\n return _this15.setState({\n shouldAnimate: false\n });\n }, this.props.animationDuration);\n }\n\n this.keyPressed = false;\n this.moveRequested = true;\n\n if (direction === 'prev') {\n this.keyCounter -= 1;\n this.setState(nextState);\n this.props.onMovePrevRequest(event);\n } else {\n this.keyCounter += 1;\n this.setState(nextState);\n this.props.onMoveNextRequest(event);\n }\n } // Request to transition to the next image\n\n }, {\n key: \"requestMoveNext\",\n value: function requestMoveNext(event) {\n this.requestMove('next', event);\n } // Request to transition to the previous image\n\n }, {\n key: \"requestMovePrev\",\n value: function requestMovePrev(event) {\n this.requestMove('prev', event);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this16 = this;\n\n var _this$props = this.props,\n animationDisabled = _this$props.animationDisabled,\n animationDuration = _this$props.animationDuration,\n clickOutsideToClose = _this$props.clickOutsideToClose,\n discourageDownloads = _this$props.discourageDownloads,\n enableZoom = _this$props.enableZoom,\n imageTitle = _this$props.imageTitle,\n nextSrc = _this$props.nextSrc,\n prevSrc = _this$props.prevSrc,\n toolbarButtons = _this$props.toolbarButtons,\n reactModalStyle = _this$props.reactModalStyle,\n _onAfterOpen = _this$props.onAfterOpen,\n imageCrossOrigin = _this$props.imageCrossOrigin,\n reactModalProps = _this$props.reactModalProps;\n var _this$state = this.state,\n zoomLevel = _this$state.zoomLevel,\n offsetX = _this$state.offsetX,\n offsetY = _this$state.offsetY,\n isClosing = _this$state.isClosing,\n loadErrorStatus = _this$state.loadErrorStatus;\n var boxSize = this.getLightboxRect();\n var transitionStyle = {}; // Transition settings for sliding animations\n\n if (!animationDisabled && this.isAnimating()) {\n transitionStyle = _objectSpread({}, transitionStyle, {\n transition: \"transform \".concat(animationDuration, \"ms\")\n });\n } // Key endings to differentiate between images with the same src\n\n\n var keyEndings = {};\n this.getSrcTypes().forEach(function (_ref13) {\n var name = _ref13.name,\n keyEnding = _ref13.keyEnding;\n keyEndings[name] = keyEnding;\n }); // Images to be displayed\n\n var images = [];\n\n var addImage = function addImage(srcType, imageClass, transforms) {\n // Ignore types that have no source defined for their full size image\n if (!_this16.props[srcType]) {\n return;\n }\n\n var bestImageInfo = _this16.getBestImageForType(srcType);\n\n var imageStyle = _objectSpread({}, transitionStyle, ReactImageLightbox.getTransform(_objectSpread({}, transforms, bestImageInfo)));\n\n if (zoomLevel > MIN_ZOOM_LEVEL) {\n imageStyle.cursor = 'move';\n } // support IE 9 and 11\n\n\n var hasTrueValue = function hasTrueValue(object) {\n return Object.keys(object).some(function (key) {\n return object[key];\n });\n }; // when error on one of the loads then push custom error stuff\n\n\n if (bestImageInfo === null && hasTrueValue(loadErrorStatus)) {\n images.push(React.createElement(\"div\", {\n className: \"\".concat(imageClass, \" ril__image ril-errored\"),\n style: imageStyle,\n key: _this16.props[srcType] + keyEndings[srcType]\n }, React.createElement(\"div\", {\n className: \"ril__errorContainer\"\n }, _this16.props.imageLoadErrorMessage)));\n return;\n }\n\n if (bestImageInfo === null) {\n var loadingIcon = React.createElement(\"div\", {\n className: \"ril-loading-circle ril__loadingCircle ril__loadingContainer__icon\"\n }, _toConsumableArray(new Array(12)).map(function (_, index) {\n return React.createElement(\"div\", {\n // eslint-disable-next-line react/no-array-index-key\n key: index,\n className: \"ril-loading-circle-point ril__loadingCirclePoint\"\n });\n })); // Fall back to loading icon if the thumbnail has not been loaded\n\n images.push(React.createElement(\"div\", {\n className: \"\".concat(imageClass, \" ril__image ril-not-loaded\"),\n style: imageStyle,\n key: _this16.props[srcType] + keyEndings[srcType]\n }, React.createElement(\"div\", {\n className: \"ril__loadingContainer\"\n }, loadingIcon)));\n return;\n }\n\n var imageSrc = bestImageInfo.src;\n\n if (discourageDownloads) {\n imageStyle.backgroundImage = \"url('\".concat(imageSrc, \"')\");\n images.push(React.createElement(\"div\", {\n className: \"\".concat(imageClass, \" ril__image ril__imageDiscourager\"),\n onDoubleClick: _this16.handleImageDoubleClick,\n onWheel: _this16.handleImageMouseWheel,\n style: imageStyle,\n key: imageSrc + keyEndings[srcType]\n }, React.createElement(\"div\", {\n className: \"ril-download-blocker ril__downloadBlocker\"\n })));\n } else {\n images.push(React.createElement(\"img\", _extends({}, imageCrossOrigin ? {\n crossOrigin: imageCrossOrigin\n } : {}, {\n className: \"\".concat(imageClass, \" ril__image\"),\n onDoubleClick: _this16.handleImageDoubleClick,\n onWheel: _this16.handleImageMouseWheel,\n onDragStart: function onDragStart(e) {\n return e.preventDefault();\n },\n style: imageStyle,\n src: imageSrc,\n key: imageSrc + keyEndings[srcType],\n alt: typeof imageTitle === 'string' ? imageTitle : translate('Image'),\n draggable: false\n })));\n }\n };\n\n var zoomMultiplier = this.getZoomMultiplier(); // Next Image (displayed on the right)\n\n addImage('nextSrc', 'ril-image-next ril__imageNext', {\n x: boxSize.width\n }); // Main Image\n\n addImage('mainSrc', 'ril-image-current', {\n x: -1 * offsetX,\n y: -1 * offsetY,\n zoom: zoomMultiplier\n }); // Previous Image (displayed on the left)\n\n addImage('prevSrc', 'ril-image-prev ril__imagePrev', {\n x: -1 * boxSize.width\n });\n var modalStyle = {\n overlay: _objectSpread({\n zIndex: 1000,\n backgroundColor: 'transparent'\n }, reactModalStyle.overlay),\n content: _objectSpread({\n backgroundColor: 'transparent',\n overflow: 'hidden',\n // Needed, otherwise keyboard shortcuts scroll the page\n border: 'none',\n borderRadius: 0,\n padding: 0,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0\n }, reactModalStyle.content)\n };\n return React.createElement(Modal, _extends({\n isOpen: true,\n onRequestClose: clickOutsideToClose ? this.requestClose : undefined,\n onAfterOpen: function onAfterOpen() {\n // Focus on the div with key handlers\n if (_this16.outerEl.current) {\n _this16.outerEl.current.focus();\n }\n\n _onAfterOpen();\n },\n style: modalStyle,\n contentLabel: translate('Lightbox'),\n appElement: typeof global.window !== 'undefined' ? global.window.document.body : undefined\n }, reactModalProps), React.createElement(\"div\", {\n // eslint-disable-line jsx-a11y/no-static-element-interactions\n // Floating modal with closing animations\n className: \"ril-outer ril__outer ril__outerAnimating \".concat(this.props.wrapperClassName, \" \").concat(isClosing ? 'ril-closing ril__outerClosing' : ''),\n style: {\n transition: \"opacity \".concat(animationDuration, \"ms\"),\n animationDuration: \"\".concat(animationDuration, \"ms\"),\n animationDirection: isClosing ? 'normal' : 'reverse'\n },\n ref: this.outerEl,\n onWheel: this.handleOuterMousewheel,\n onMouseMove: this.handleMouseMove,\n onMouseDown: this.handleMouseDown,\n onTouchStart: this.handleTouchStart,\n onTouchMove: this.handleTouchMove,\n tabIndex: \"-1\" // Enables key handlers on div\n ,\n onKeyDown: this.handleKeyInput,\n onKeyUp: this.handleKeyInput\n }, React.createElement(\"div\", {\n // eslint-disable-line jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events\n // Image holder\n className: \"ril-inner ril__inner\",\n onClick: clickOutsideToClose ? this.closeIfClickInner : undefined\n }, images), prevSrc && React.createElement(\"button\", {\n // Move to previous image button\n type: \"button\",\n className: \"ril-prev-button ril__navButtons ril__navButtonPrev\",\n key: \"prev\",\n \"aria-label\": this.props.prevLabel,\n onClick: !this.isAnimating() ? this.requestMovePrev : undefined // Ignore clicks during animation\n\n }), nextSrc && React.createElement(\"button\", {\n // Move to next image button\n type: \"button\",\n className: \"ril-next-button ril__navButtons ril__navButtonNext\",\n key: \"next\",\n \"aria-label\": this.props.nextLabel,\n onClick: !this.isAnimating() ? this.requestMoveNext : undefined // Ignore clicks during animation\n\n }), React.createElement(\"div\", {\n // Lightbox toolbar\n className: \"ril-toolbar ril__toolbar\"\n }, React.createElement(\"ul\", {\n className: \"ril-toolbar-left ril__toolbarSide ril__toolbarLeftSide\"\n }, React.createElement(\"li\", {\n className: \"ril-toolbar__item ril__toolbarItem\"\n }, React.createElement(\"span\", {\n className: \"ril-toolbar__item__child ril__toolbarItemChild\"\n }, imageTitle))), React.createElement(\"ul\", {\n className: \"ril-toolbar-right ril__toolbarSide ril__toolbarRightSide\"\n }, toolbarButtons && toolbarButtons.map(function (button, i) {\n return React.createElement(\"li\", {\n key: \"button_\".concat(i + 1),\n className: \"ril-toolbar__item ril__toolbarItem\"\n }, button);\n }), enableZoom && React.createElement(\"li\", {\n className: \"ril-toolbar__item ril__toolbarItem\"\n }, React.createElement(\"button\", {\n // Lightbox zoom in button\n type: \"button\",\n key: \"zoom-in\",\n \"aria-label\": this.props.zoomInLabel,\n className: ['ril-zoom-in', 'ril__toolbarItemChild', 'ril__builtinButton', 'ril__zoomInButton'].concat(_toConsumableArray(zoomLevel === MAX_ZOOM_LEVEL ? ['ril__builtinButtonDisabled'] : [])).join(' '),\n ref: this.zoomInBtn,\n disabled: this.isAnimating() || zoomLevel === MAX_ZOOM_LEVEL,\n onClick: !this.isAnimating() && zoomLevel !== MAX_ZOOM_LEVEL ? this.handleZoomInButtonClick : undefined\n })), enableZoom && React.createElement(\"li\", {\n className: \"ril-toolbar__item ril__toolbarItem\"\n }, React.createElement(\"button\", {\n // Lightbox zoom out button\n type: \"button\",\n key: \"zoom-out\",\n \"aria-label\": this.props.zoomOutLabel,\n className: ['ril-zoom-out', 'ril__toolbarItemChild', 'ril__builtinButton', 'ril__zoomOutButton'].concat(_toConsumableArray(zoomLevel === MIN_ZOOM_LEVEL ? ['ril__builtinButtonDisabled'] : [])).join(' '),\n ref: this.zoomOutBtn,\n disabled: this.isAnimating() || zoomLevel === MIN_ZOOM_LEVEL,\n onClick: !this.isAnimating() && zoomLevel !== MIN_ZOOM_LEVEL ? this.handleZoomOutButtonClick : undefined\n })), React.createElement(\"li\", {\n className: \"ril-toolbar__item ril__toolbarItem\"\n }, React.createElement(\"button\", {\n // Lightbox close button\n type: \"button\",\n key: \"close\",\n \"aria-label\": this.props.closeLabel,\n className: \"ril-close ril-toolbar__item__child ril__toolbarItemChild ril__builtinButton ril__closeButton\",\n onClick: !this.isAnimating() ? this.requestClose : undefined // Ignore clicks during animation\n\n })))), this.props.imageCaption && // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n React.createElement(\"div\", {\n // Image caption\n onWheel: this.handleCaptionMousewheel,\n onMouseDown: function onMouseDown(event) {\n return event.stopPropagation();\n },\n className: \"ril-caption ril__caption\",\n ref: this.caption\n }, React.createElement(\"div\", {\n className: \"ril-caption-content ril__captionContent\"\n }, this.props.imageCaption))));\n }\n }]);\n\n return ReactImageLightbox;\n}(Component);\n\nReactImageLightbox.defaultProps = {\n imageTitle: null,\n imageCaption: null,\n toolbarButtons: null,\n reactModalProps: {},\n animationDisabled: false,\n animationDuration: 300,\n animationOnKeyInput: false,\n clickOutsideToClose: true,\n closeLabel: 'Close lightbox',\n discourageDownloads: false,\n enableZoom: true,\n imagePadding: 10,\n imageCrossOrigin: null,\n keyRepeatKeyupBonus: 40,\n keyRepeatLimit: 180,\n mainSrcThumbnail: null,\n nextLabel: 'Next image',\n nextSrc: null,\n nextSrcThumbnail: null,\n onAfterOpen: function onAfterOpen() {},\n onImageLoadError: function onImageLoadError() {},\n onImageLoad: function onImageLoad() {},\n onMoveNextRequest: function onMoveNextRequest() {},\n onMovePrevRequest: function onMovePrevRequest() {},\n prevLabel: 'Previous image',\n prevSrc: null,\n prevSrcThumbnail: null,\n reactModalStyle: {},\n wrapperClassName: '',\n zoomInLabel: 'Zoom in',\n zoomOutLabel: 'Zoom out',\n imageLoadErrorMessage: 'This image failed to load'\n};\nexport default ReactImageLightbox;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\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';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n var ExecutionEnvironment = {\n canUseDOM: canUseDOM,\n canUseWorkers: typeof Worker !== 'undefined',\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n canUseViewport: canUseDOM && !!window.screen\n };\n\n if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n define(function () {\n return ExecutionEnvironment;\n });\n } else if (typeof module !== 'undefined' && module.exports) {\n module.exports = ExecutionEnvironment;\n } else {\n window.ExecutionEnvironment = ExecutionEnvironment;\n }\n})();","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar EE = _exenv2.default;\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\nexports.default = SafeHTMLElement;","module.exports = __webpack_public_path__ + \"static/fundo-empresa-baa529316b2e2f5a2048ce6c471122ab.jpg\";","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nrequire(\"core-js/modules/es.array.reduce\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require(\"react\");\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _portalOpenInstances = require(\"../helpers/portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nrequire(\"../helpers/bodyTrap\");\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n}\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n} // so that our CSS is statically analyzable\n\n\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\nvar TAB_KEY = 9;\nvar ESC_KEY = 27;\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName; // Remove classes.\n\n bodyOpenClassName && classList.remove(document.body, bodyOpenClassName);\n htmlOpenClassName && classList.remove(document.getElementsByTagName(\"html\")[0], htmlOpenClassName); // Reset aria-hidden attribute if all modals have been removed\n\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus(_this.props.preventScroll);\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n\n _portalOpenInstances2.default.deregister(_this);\n };\n\n _this.open = function () {\n _this.beforeOpen();\n\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n\n _this.setState({\n beforeClose: false\n });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({\n isOpen: true\n }, function () {\n _this.setState({\n afterOpen: true\n });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus({\n preventScroll: true\n });\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n\n _this.setState({\n beforeClose: true,\n closesAt: closesAt\n }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (event.keyCode === TAB_KEY) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n event.stopPropagation();\n\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n } // Focus only needs to be set once when the modal is being opened\n\n\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n\n clearTimeout(this.closeTimer);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName; // Add classes.\n\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n\n _portalOpenInstances2.default.register(this);\n } // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles,\n children = _props2.children;\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n if (this.shouldBeClosed()) {\n return null;\n }\n\n var overlayProps = {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n };\n\n var contentProps = _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", _extends({\n modal: true\n }, this.props.aria)), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n });\n\n var contentElement = this.props.contentElement(contentProps, children);\n return this.props.overlayElement(overlayProps, contentElement);\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var target = void 0;\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1]; // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n\n if (node === document.activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === document.activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === document.activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n } // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n\n\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null; // If we are not in safari desktop, let the browser control\n // the focus\n\n if (!isSafariDesktop) return;\n var x = tabbable.indexOf(document.activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x]; // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n target.focus();\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n} // Tracks portals that are open and emits events to subscribers\n\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n }\n\n return;\n }\n\n _this.openInstances.push(openInstance);\n\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n }\n\n return;\n }\n\n _this.openInstances.splice(index, 1);\n\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType, // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\nexports.default = portalOpenInstances;\nmodule.exports = exports[\"default\"];","import React from 'react';\nimport Lightbox from 'react-image-lightbox';\nimport 'react-image-lightbox/style.css'; // This only needs to be imported once in your app\n\nexport default ({ open, onClose, images, photoIndex, setPhotoIndex }) => {\n return open ? (\n \n setPhotoIndex((photoIndex + images.length - 1) % images.length)\n }\n onMoveNextRequest={() =>\n setPhotoIndex((photoIndex + 1) % images.length)\n }\n />\n ) : null;\n};\n","import React, { useState } from 'react';\nimport { Helmet } from 'react-helmet';\nimport { useIntl } from 'gatsby-plugin-intl';\nimport ButtonBase from '@material-ui/core/ButtonBase';\nimport Layout from '../../components/layout';\nimport LightboxZoom from '../../components/LightboxZoom';\nimport ImgFundoEmpresa from '../../images/fundo-empresa.jpg';\nimport getConfigDiferenciais from '../../data/configDiferenciais';\nimport getConfigGaleriaEmpresa from '../../data/configGaleriaEmpresa';\n\nexport default ({ location }) => {\n const intl = useIntl();\n\n const configDiferenciais = getConfigDiferenciais({ intl });\n const configGaleriaEmpresa = getConfigGaleriaEmpresa({ intl });\n\n const [lightboxZoomOpen, setLightboxZoomOpen] = useState(false);\n const [photoIndex, setPhotoIndex] = useState(0);\n\n return (\n \n \n {intl.formatMessage({ id: 'Empresa | Ideia 2001' })}\n \n\n
\n
\n
\n
\n

{intl.formatMessage({ id: 'Quem Somos' })}

\n

{intl.formatMessage({ id: 'conheça a' })} {intl.formatMessage({ id: 'Ideia 2001' })}

\n

{intl.formatMessage({ id: 'A Ideia 2001 é uma empresa de desenvolvimento de softwares especializada em catálogos eletrônicos para o mercado de autopeças' })}.

\n
\n
\n \"imagem-fundo-empresa\"\n
\n
\n
\n
\n
\n
\n
\n
\n

{intl.formatMessage({ id: 'Com mais de 15 anos no mercado desenvolvemos mais de 450 catálogos para o setor de autopeças, motopeças, máquinas, ferramentas e bicicletas' })}.

\n

{intl.formatMessage({ id: 'Adquirimos grande experiência e conhecimento técnico para atender as necessidades da sua empresa e valorizar seus produtos quando o assunto é catálogo eletrônico' })}.

\n

{intl.formatMessage({ id: 'A Ideia 2001 tem como prioridade a satisfação dos seus clientes, para isso, possui uma equipe de profissionais altamente eficientes, qualificados e competentes' })}.

\n

{intl.formatMessage({ id: 'Sempre aperfeiçoando soluções práticas e objetivas com o intuito de evoluir junto com seus clientes, a Ideia 2001 vem construindo parcerias de sucesso com pequenas, médias e grandes empresas' })}.

\n

{intl.formatMessage({ id: 'No ramo de catálogos de peças e produtos, somos uma das empresas mais reconhecidas no mercado por aliar tecnologia, facilidade e design, colaborando com o relacionamento da sua companhia e seu usuário final, tornando o catálogo de produtos como um ótimo investimento para as vendas e o crescimento da sua empresa' })}.

\n\n {intl.formatMessage({ id: 'Missão' })}\n

{intl.formatMessage({ id: 'Desenvolver e consolidar o melhor catálogo eletrônico do mercado de autopeças, evoluindo constantemente para estar sempre a frente da concorrência e ser reconhecida pelas empresas como parceria ideal' })}.

\n\n {intl.formatMessage({ id: 'Visão' })}\n

{intl.formatMessage({ id: 'Ser reconhecida pelo mercado de autopeças como referência em catálogos eletrônicos e ferramenta de venda de peças. Crescer com consistência para manter a qualidade dos produtos e serviços prestados' })}.

\n\n {intl.formatMessage({ id: 'Valores' })}\n

{intl.formatMessage({ id: 'Desenvolver um produto excelente por um preço justo. Garantia de confidencialidade das informações de cada cliente. Perfeccionismo e confiabilidade do sistema. Dedicação no atendimento e no suporte ao cliente' })}.

\n
\n
\n
\n

{intl.formatMessage({ id: 'Nossos' })} {intl.formatMessage({ id: 'Diferenciais' })}

\n {configDiferenciais && configDiferenciais.length ? (\n
    \n {configDiferenciais.map((config) => (\n
  • \n

    {config}

    \n
  • \n ))}\n
\n ) : null}\n
\n
\n {configGaleriaEmpresa && configGaleriaEmpresa.length ? (\n
\n
    \n {configGaleriaEmpresa.map((config, index) => (\n
  • \n {\n setPhotoIndex(index);\n setLightboxZoomOpen(true);\n }}\n onKeyDown={(event) => {\n if (event.type === 'keydown' && (event.key === 'Tab' || event.key === 'Shift')) {\n return;\n }\n\n setPhotoIndex(index);\n setLightboxZoomOpen(true);\n }}\n style={{ width: '100%' }}\n >\n {config.alt}\n \n
  • \n ))}\n
\n
\n ) : null}\n
\n
\n setLightboxZoomOpen(false)}\n images={configGaleriaEmpresa}\n photoIndex={photoIndex}\n setPhotoIndex={setPhotoIndex}\n />\n
\n
\n
\n
\n
\n );\n};\n","export default ({ intl }) => [\n intl.formatMessage({ id: 'Atualização Online' }),\n intl.formatMessage({ id: 'Rápido e fácil' }),\n intl.formatMessage({ id: 'Administrado por sua empresa' }),\n intl.formatMessage({ id: 'Menor custo no mercado' }),\n intl.formatMessage({ id: 'Aprovado por mais de 300 clientes e 1 milhão de usuários' }),\n];\n","import { withAssetPrefix } from 'gatsby';\n\nexport default ({ intl }) => [\n {\n url: withAssetPrefix('galeria-empresa/Screenshot_2.png'),\n alt: `${intl.formatMessage({ id: 'Imagem empresa' })} 2`,\n sizes: {\n medium: withAssetPrefix('galeria-empresa/Screenshot_2-225x300.png'),\n },\n },\n {\n url: withAssetPrefix('galeria-empresa/Screenshot_1.png'),\n alt: `${intl.formatMessage({ id: 'Imagem empresa' })} 1`,\n sizes: {\n medium: withAssetPrefix('galeria-empresa/Screenshot_1-300x275.png'),\n },\n },\n {\n url: withAssetPrefix('galeria-empresa/Screenshot_3.png'),\n alt: `${intl.formatMessage({ id: 'Imagem empresa' })} 3`,\n sizes: {\n medium: withAssetPrefix('galeria-empresa/Screenshot_3-300x275.png'),\n },\n },\n {\n url: withAssetPrefix('galeria-empresa/Screenshot_4.png'),\n alt: `${intl.formatMessage({ id: 'Imagem empresa' })} 4`,\n sizes: {\n medium: withAssetPrefix('galeria-empresa/Screenshot_4-300x275.png'),\n },\n },\n];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n\n if (!modalElement) {\n return;\n } // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n\n\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n/* eslint-disable no-console */\n\n\nfunction returnFocus() {\n var preventScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var toFocus = null;\n\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus({\n preventScroll: preventScroll\n });\n }\n\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nvar _portalOpenInstances = require(\"./portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n} // Body focus trap see Issue #742\n\n\nvar before = void 0,\n after = void 0,\n instances = [];\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Open instances > 0 expected\");\n }\n\n return;\n }\n\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before || !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\nexports.resetForTesting = resetForTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nvar globalElement = null;\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = \"length\" in el ? el[0] : el;\n }\n\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n if (!appElement && !globalElement) {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n return false;\n }\n\n return true;\n}\n\nfunction hide(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).setAttribute(\"aria-hidden\", \"true\");\n }\n}\n\nfunction show(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).removeAttribute(\"aria-hidden\");\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}\n\nfunction resetForTesting() {\n globalElement = null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object/;\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0; // If the node is empty, this is good enough\n\n if (zeroSize && !element.innerHTML) return true; // Otherwise we need to check some styles\n\n var style = window.getComputedStyle(element);\n return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" || // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0 : style.getPropertyValue(\"display\") == \"none\";\n}\n\nfunction visible(element) {\n var parentElement = element;\n\n while (parentElement) {\n if (parentElement === document.body) break;\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n return [].slice.call(element.querySelectorAll(\"*\"), 0).filter(tabbable);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dumpClassLists = dumpClassLists;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\nfunction dumpClassLists() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n buffer += \" (\" + classes + \"):\\n\";\n\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n\";\n }\n\n classes = document.body.className; // eslint-disable-next-line max-len\n\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n\";\n\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n\";\n }\n\n buffer += \"\\n\"; // eslint-disable-next-line no-console\n\n console.log(buffer);\n }\n}\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\n\n\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n\n poll[className] += 1;\n return className;\n};\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\n\n\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n\n return className;\n};\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\n\n\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\n\n\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\n\n\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\n\n\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n}\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\nvar isReact16 = _safeHTMLElement.canUseDOM && _reactDom2.default.createPortal !== undefined;\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n\n if (parent && parent.contains(_this.node)) {\n parent.removeChild(_this.node);\n } else {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM ' + \"element. Make sure that the parent element is unmounted to \" + \"avoid any memory leaks.\");\n }\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({\n defaultStyles: Modal.defaultStyles\n }, props)), _this.node);\n\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = document.createElement(\"div\");\n }\n\n this.node.className = this.props.portalClassName;\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return {\n prevParent: prevParent,\n nextParent: nextParent\n };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n } // Stop unnecessary renders if modal is remaining closed\n\n\n if (!prevProps.isOpen && !isOpen) return;\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = document.createElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n preventScroll: false,\n parentSelector: function parentSelector() {\n return document.body;\n },\n overlayElement: function overlayElement(props, contentEl) {\n return _react2.default.createElement(\"div\", props, contentEl);\n },\n contentElement: function contentElement(props, children) {\n return _react2.default.createElement(\"div\", props, children);\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n(0, _reactLifecyclesCompat.polyfill)(Modal);\nexports.default = Modal;"],"sourceRoot":""}