{"version":3,"sources":["webpack://gatsby-starter-default/./node_modules/react-image-gallery/build/image-gallery.js","webpack://gatsby-starter-default/./src/components/allWorkFooter.js","webpack://gatsby-starter-default/./src/images/yeti-fur-pink.jpg","webpack://gatsby-starter-default/./node_modules/@reach/utils/can-use-dom/dist/reach-utils-can-use-dom.esm.js","webpack://gatsby-starter-default/./node_modules/@reach/utils/use-isomorphic-layout-effect/dist/reach-utils-use-isomorphic-layout-effect.esm.js","webpack://gatsby-starter-default/./node_modules/@reach/portal/dist/reach-portal.esm.js","webpack://gatsby-starter-default/./node_modules/@reach/utils/use-force-update/dist/reach-utils-use-force-update.esm.js","webpack://gatsby-starter-default/./node_modules/@reach/utils/owner-document/dist/reach-utils-owner-document.esm.js","webpack://gatsby-starter-default/./node_modules/@reach/utils/noop/dist/reach-utils-noop.esm.js","webpack://gatsby-starter-default/./node_modules/@reach/utils/compose-refs/dist/reach-utils-compose-refs.esm.js","webpack://gatsby-starter-default/./node_modules/@reach/utils/type-check/dist/reach-utils-type-check.esm.js","webpack://gatsby-starter-default/./node_modules/@reach/utils/compose-event-handlers/dist/reach-utils-compose-event-handlers.esm.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/constants.js","webpack://gatsby-starter-default/./node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack://gatsby-starter-default/./node_modules/use-callback-ref/dist/es2015/useRef.js","webpack://gatsby-starter-default/./node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack://gatsby-starter-default/./node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack://gatsby-starter-default/./node_modules/tslib/tslib.es6.js","webpack://gatsby-starter-default/./node_modules/use-sidecar/dist/es2015/medium.js","webpack://gatsby-starter-default/./node_modules/react-focus-lock/dist/es2015/medium.js","webpack://gatsby-starter-default/./node_modules/react-focus-lock/dist/es2015/Lock.js","webpack://gatsby-starter-default/./node_modules/react-clientside-effect/lib/index.es.js","webpack://gatsby-starter-default/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/utils/is.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/solver.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/utils/array.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/utils/parenting.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/focusMerge.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/setFocus.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/index.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/focusInside.js","webpack://gatsby-starter-default/./node_modules/react-focus-lock/dist/es2015/util.js","webpack://gatsby-starter-default/./node_modules/react-focus-lock/dist/es2015/Trap.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack://gatsby-starter-default/./node_modules/focus-lock/dist/es2015/focusables.js","webpack://gatsby-starter-default/./node_modules/react-focus-lock/dist/es2015/Combination.js","webpack://gatsby-starter-default/./node_modules/react-focus-lock/dist/es2015/index.js","webpack://gatsby-starter-default/./node_modules/react-remove-scroll-bar/dist/es2015/constants.js","webpack://gatsby-starter-default/./node_modules/react-remove-scroll/dist/es2015/medium.js","webpack://gatsby-starter-default/./node_modules/react-remove-scroll/dist/es2015/UI.js","webpack://gatsby-starter-default/./node_modules/use-sidecar/dist/es2015/exports.js","webpack://gatsby-starter-default/./node_modules/get-nonce/dist/es2015/index.js","webpack://gatsby-starter-default/./node_modules/react-style-singleton/dist/es2015/singleton.js","webpack://gatsby-starter-default/./node_modules/react-style-singleton/dist/es2015/component.js","webpack://gatsby-starter-default/./node_modules/react-style-singleton/dist/es2015/hook.js","webpack://gatsby-starter-default/./node_modules/react-remove-scroll-bar/dist/es2015/utils.js","webpack://gatsby-starter-default/./node_modules/react-remove-scroll-bar/dist/es2015/component.js","webpack://gatsby-starter-default/./node_modules/react-remove-scroll/dist/es2015/handleScroll.js","webpack://gatsby-starter-default/./node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","webpack://gatsby-starter-default/./node_modules/react-remove-scroll/dist/es2015/SideEffect.js","webpack://gatsby-starter-default/./node_modules/react-remove-scroll/dist/es2015/sidecar.js","webpack://gatsby-starter-default/./node_modules/react-remove-scroll/dist/es2015/Combination.js","webpack://gatsby-starter-default/./node_modules/@reach/dialog/dist/reach-dialog.esm.js","webpack://gatsby-starter-default/./src/components/video.js","webpack://gatsby-starter-default/./src/components/videoOverlay.js","webpack://gatsby-starter-default/./src/hooks/useLockBodyScroll.js"],"names":["e","module","exports","t","703","n","i","r","a","resetWarningCache","s","o","Error","name","isRequired","array","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","697","414","590","Element","Map","Set","ArrayBuffer","isView","constructor","l","u","c","Array","isArray","length","size","entries","next","done","has","value","get","RegExp","source","flags","valueOf","Object","prototype","toString","keys","hasOwnProperty","call","$$typeof","message","match","console","warn","37","assign","arguments","apply","this","delta","preventDefaultTouchmoveEvent","rotationAngle","trackMouse","trackTouch","first","initial","start","swiping","xy","Math","PI","cos","sin","h","touches","document","addEventListener","f","clientX","clientY","concat","timeStamp","d","p","abs","m","v","g","sqrt","b","y","w","absX","absY","deltaX","deltaY","dir","event","velocity","vxvy","onSwiping","T","onSwiped","cancelable","preventDefault","eventData","onTap","removeEventListener","forEach","passive","ref","el","cleanUpTouch","onMouseDown","DOWN","LEFT","RIGHT","UP","useSwipeable","useRef","current","useMemo","888","__esModule","default","defineProperty","enumerable","globalThis","Function","window","Symbol","toStringTag","Me","self","Date","now","slice","test","charAt","replace","S","O","E","I","parseInt","k","NaN","x","max","_","min","L","TypeError","setTimeout","clearTimeout","leading","maxWait","trailing","cancel","flush","P","M","R","D","some","__entries__","configurable","set","push","delete","splice","clear","F","C","W","requestAnimationFrame","bind","N","j","MutationObserver","z","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","addObserver","indexOf","connect_","removeObserver","disconnect_","updateObservers_","filter","gatherActive","hasActive","broadcastActive","observe","attributes","childList","characterData","subtree","disconnect","propertyName","getInstance","instance_","B","writable","A","ownerDocument","defaultView","G","V","U","parseFloat","H","reduce","q","SVGGraphicsElement","SVGElement","getBBox","K","width","height","clientWidth","clientHeight","getComputedStyle","left","right","top","bottom","boxSizing","round","documentElement","X","broadcastWidth","broadcastHeight","contentRect_","target","isActive","broadcastRect","Y","DOMRectReadOnly","create","contentRect","$","activeObservations_","observations_","callback_","controller_","callbackCtx_","unobserve","clearActive","map","J","WeakMap","Q","Z","ResizeObserver","ee","te","ne","memo","description","fullscreen","handleImageLoaded","isFullscreen","onImageError","original","originalAlt","originalHeight","originalWidth","originalTitle","sizes","srcSet","createElement","Fragment","className","src","alt","title","onLoad","onError","displayName","propTypes","defaultProps","ie","re","points","maximize","minimize","play","pause","ae","strokeWidth","viewBox","icon","xmlns","fill","stroke","strokeLinecap","strokeLinejoin","se","oe","onClick","type","le","ue","disabled","ce","he","de","fe","isPlaying","pe","me","ve","children","ge","be","iterator","ye","getOwnPropertySymbols","getOwnPropertyDescriptor","we","Te","getOwnPropertyDescriptors","defineProperties","Se","key","Oe","setPrototypeOf","__proto__","Ee","Ie","ReferenceError","ke","getPrototypeOf","xe","_e","media","Le","keyCode","which","Pe","Reflect","construct","sham","Proxy","Boolean","state","currentIndex","startIndex","thumbsTranslate","thumbsSwipedTranslate","currentSlideOffset","galleryWidth","thumbnailsWrapperWidth","thumbnailsWrapperHeight","thumbsStyle","transition","slideDuration","isSwipingThumbnail","loadedImages","imageGallery","createRef","thumbnailsWrapper","thumbnails","imageGallerySlideWrapper","handleKeyDown","handleMouseDown","handleTouchMove","handleOnSwiped","handleScreenChange","handleSwiping","handleThumbnailSwiping","handleOnThumbnailSwiped","onThumbnailMouseLeave","handleImageError","pauseOrPlay","renderThumbInner","renderItem","slideLeft","slideRight","toggleFullScreen","togglePlay","unthrottledSlideToIndex","slideToIndex","lazyLoad","lazyLoaded","props","autoPlay","useWindowKeyDown","initResizeObserver","addScreenChangeEvent","items","slideInterval","thumbnailPosition","showThumbnails","removeResizeObserver","handleResize","slideThumbnailBar","setState","removeScreenChangeEvent","playPauseIntervalId","clearInterval","transitionTimer","isTransitioning","onSlide","onThumbnailClick","parentNode","blur","thumbnailMouseOverTimer","onScreenChange","modalFullscreen","disableThumbnailScroll","isThumbnailVertical","scrollHeight","scrollWidth","infinite","previousIndex","direction","gallerySlideWrapperHeight","slideStyle","useTranslate3D","isRTL","getTranslateXForTwoSlide","display","isSlideVisible","WebkitTransform","MozTransform","msTransform","OTransform","transform","slideOnThumbnailOver","onTouchMove","onTouchEnd","onTouchStart","onMouseOver","onMouseLeave","showBullets","getAlignmentClassName","originalClass","thumbnailClass","getSlideStyle","tabIndex","style","onKeyUp","handleSlideKeyUp","onFocus","role","thumbnail","active","handleThumbnailMouseOver","handleThumbnailKeyUp","bulletClass","bulletOnClick","item","itemIndex","slides","bullets","slideIsTransitioning","ignoreIsTransitioning","isFirstOrLastSlide","getThumbsTranslate","canSlideNext","canSlidePrevious","disableSwipe","stopPropagation","swipingUpDown","swipingLeftRight","swipingTransitionDuration","swipingThumbnailTransitionDuration","resetSwipingDirection","swipeThreshold","flickThreshold","handleOnSwipedTo","sufficientSwipe","canSlideLeft","canSlideRight","classList","add","disableKeyDown","useBrowserFullscreen","remove","exitFullScreen","onErrorImageURL","resizeObserver","offsetWidth","offsetHeight","setThumbsTranslate","fullScreen","fullscreenElement","msFullscreenElement","mozFullScreenElement","webkitFullscreenElement","onBeforeSlide","onSliding","slideTo","onThumbnailMouseOver","requestFullscreen","msRequestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","setModalFullscreen","exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen","onPlay","setInterval","onPause","onImageLoad","onThumbnailError","thumbnailHeight","thumbnailWidth","thumbnailAlt","thumbnailTitle","thumbnailLabel","additionalClass","disableThumbnailSwipe","indexSeparator","renderFullscreenButton","renderCustomControls","renderLeftNav","renderRightNav","showFullscreenButton","showIndex","showNav","showPlayButton","renderPlayPauseButton","getThumbnailStyle","getSlideItems","canSlide","getThumbnailBarHeight","Component","imageSet","StaticQuery","query","render","data","duration","strapiYetiMessaging","Link","to","canUseDOM","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","Portal","_ref","dispatch","_ref$type","mountNode","portalNode","forceUpdate","useState","useCallback","body","appendChild","removeChild","createPortal","getOwnerDocument","noop","_arrayLikeToArray","arr","len","arr2","_createForOfIteratorHelperLoose","allowArrayLike","it","minLen","from","_unsupportedIterableToArray","assignRef","isFunction","error","composeEventHandlers","theirHandler","ourHandler","defaultPrevented","_extends","FOCUS_GROUP","FOCUS_DISABLED","useMergeRefs","refs","defaultValue","initialValue","callback","newValue","facade","last","hiddenGuard","padding","overflow","position","InFocusGuard","_assign","__rest","propertyIsEnumerable","ItoI","innerCreateMedium","defaults","middleware","buffer","assigned","read","useMedium","assignSyncMedium","cb","cbs","assignMedium","pendingQueue","executeQueue","cycle","Promise","resolve","then","_filter","createMedium","createSidecarMedium","options","medium","async","ssr","mediumFocus","currentTarget","mediumBlur","mediumEffect","mediumSidecar","emptyArray","FocusLock","parentRef","_extends2","_React$useState","realObserved","setObserved","observed","originalFocusedElement","noFocusGuards","persistentFocus","crossFrame","autoFocus","group","allowTextSelection","whiteList","_props$shards","shards","_props$as","as","Container","_props$lockProps","lockProps","containerProps","SideCar","sideCar","shouldReturnFocus","returnFocus","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","id","activeElement","allowDefer","focus","focusOptions","undefined","onBlur","setObserveNode","newObserved","hasLeadingGuards","hasTailingGuards","mergedRef","reducePropsToState","handleStateChangeOnClient","WrappedComponent","mountedInstances","emitChange","instance","obj","SideEffect","_PureComponent","peek","_proto","componentDidMount","componentDidUpdate","componentWillUnmount","index","PureComponent","getDisplayName","isRadio","tagName","correctNode","nodes","checked","findSelectedRadio","pickFirstFocus","pickFocusable","isVisibleCached","visibilityCache","cached","result","checkParent","nodeType","Node","DOCUMENT_NODE","computedStyle","getPropertyValue","DOCUMENT_FRAGMENT_NODE","host","isVisibleUncached","isGuard","dataset","focusGuard","isNotAGuard","isDefined","NEW_FOCUS","newFocus","innerNodes","outerNodes","lastNode","cnt","firstFocus","lastFocus","isOnGuard","resultSet","activeIndex","lastIndex","lastNodeInside","indexDiff","firstNodeIndex","lastNodeIndex","correctedNodes","correctedIndexDiff","returnFirstNode","returnLastNode","toArray","ret","asArray","getTopParent","getAllAffectedNodes","acc","currentNode","getAttribute","contained","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_CONTAINS","filterNested","querySelectorAll","tabSort","tabDiff","orderByTabIndex","filterNegative","keepGuards","sort","queryTabbables","join","queryGuardTabbables","getFocusables","parents","withGuards","parent","filterFocusable","notHiddenInput","getTabbableNodes","topNodes","getAllTabbableNodes","parentAutofocusables","topNode","parentFocus","getParents","getCommonParent","nodeA","nodeB","parentsA","parentsB","currentParent","getTopCommonParent","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","entry","subEntry","common","contains","getFocusMerge","commonParent","anyFocusable","innerElements","_a","srcNodes","dstNodes","remap","autoFocusables","orderedInnerElements","entity","newId","autoFocusable","allParentAutofocusables","autofocus","guardCount","lockDisabled","focusable","contentWindow","focusInsideIframe","focusInside","deferAction","action","setImmediate","isFreeFocus","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","end","step","allNodes","lastGuard","guard","focusAutoGuard","lockItem","extractRef","activateTrap","_lastActiveTrap","workingNode","portaledElement","workingArea","focusWhitelisted","newActiveElement","focusedIndex","_ref2","_ref3","removeAttribute","onTrap","observerNode","onWindowBlur","moveFocusInside","propsList","_ref5","traps","trap","lastTrap","sameTrap","_ref6","FocusLockCombination","zeroRightClassName","fullWidthClassName","effectCar","nothing","RemoveScroll","onScrollCapture","onWheelCapture","onTouchMoveCapture","callbacks","setCallbacks","forwardProps","removeScrollBar","enabled","noIsolation","inert","allowPinchZoom","_b","rest","containerRef","lockRef","classNames","fullWidth","zeroRight","currentNonce","Target","isSideCarExport","makeStyleTag","tag","nonce","setAttribute","stylesheetSingleton","counter","stylesheet","css","styleSheet","cssText","createTextNode","head","getElementsByTagName","insertStyleTag","styleSingleton","sheet","useStyle","styles","zeroGap","gap","parse","getGapWidth","gapMode","offsets","cs","getOffset","documentWidth","windowWidth","innerWidth","Style","getStyles","allowRelative","important","RemoveScrollBar","setGap","noRelative","noImportant","locationCouldBeScrolled","axis","ShadowRoot","elementCouldBeScrolled","getScrollVariables","overflowY","overflowX","elementCouldBeVScrolled","elementCouldBeHScrolled","scrollTop","scrollLeft","getHScrollVariables","passiveSupported","err","nonPassive","getTouchXY","changedTouches","getDeltaXY","generateStyle","idCounter","lockStack","exported","shouldPreventQueue","touchStartRef","activeAxis","lastProps","allow_1","shouldCancelEvent","currentAxis","touch","touchStart","moveDirection","canBeScrolledInMainDirection","cancelingAxis","endTarget","sourceDelta","noOverscroll","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","elementScroll","handleScroll","shouldPrevent","_event","sourceEvent","should","shardNodes","shouldCancel","scrollTouchStart","scrollWheel","scrollTouchMove","inst","ReactRemoveScroll","_objectWithoutPropertiesLoose","excluded","sourceKeys","_excluded","_excluded2","_excluded3","_excluded4","DialogOverlay","forwardRef","forwardedRef","_ref$as","Comp","_ref$isOpen","isOpen","__REACH_DISABLE_TOOLTIPS","DialogInner","_ref2$as","_ref2$dangerouslyBypa","dangerouslyBypassFocusLock","_ref2$dangerouslyBypa2","dangerouslyBypassScrollLock","initialFocusRef","_ref2$onDismiss","onDismiss","onKeyDown","unstable_lockFocusAcrossFrames","mouseDownTarget","overlayNode","_len","_key","_step","_iterator","useComposedRefs","activateFocusLock","dialogNode","originalValues","rootNodes","_dialogNode$parentNod","_dialogNode$parentNod2","attr","originalValue","createAriaHider","DialogContent","_ref3$as","Dialog","_ref4","_ref4$allowPinchZoom","_ref4$onDismiss","video","posterImage","poster_image","publicURL","useToggleState","overlayOpen","toggle","handleClick","backgroundImage","YetiFurPatternPink","client","vimeoID","aria-label","handleClose","url","categories","category","category_name","originalStyle","originalTouchStyle","touchAction","images","hasImages","photography","image","alternativeText","onKeyPress","nativeEvent","stopImmediatePropagation","paddingTop","frameBorder","allow","poster","animator","director","editor","producer","photographer","retoucher","shooter"],"mappings":"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","file":"8e2294d8c226f8e901b21d88e568970d4f6388eb-6be01287386233ee4fa0.js","sourcesContent":["!function (e, t) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = t(require(\"react\")) : \"function\" == typeof define && define.amd ? define([\"react\"], t) : \"object\" == typeof exports ? exports.ImageGallery = t(require(\"react\")) : e.ImageGallery = t(e.React);\n}(this, function (e) {\n return function () {\n var t = {\n 703: function _(e, t, n) {\n \"use strict\";\n\n var i = n(414);\n\n function r() {}\n\n function a() {}\n\n a.resetWarningCache = r, e.exports = function () {\n function e(e, t, n, r, a, s) {\n if (s !== i) {\n var o = new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");\n throw o.name = \"Invariant Violation\", o;\n }\n }\n\n function t() {\n return e;\n }\n\n e.isRequired = e;\n var n = {\n array: e,\n bool: e,\n func: e,\n number: e,\n object: e,\n string: e,\n symbol: e,\n any: e,\n arrayOf: t,\n element: e,\n elementType: e,\n instanceOf: t,\n node: e,\n objectOf: t,\n oneOf: t,\n oneOfType: t,\n shape: t,\n exact: t,\n checkPropTypes: a,\n resetWarningCache: r\n };\n return n.PropTypes = n, n;\n };\n },\n 697: function _(e, t, n) {\n e.exports = n(703)();\n },\n 414: function _(e) {\n \"use strict\";\n\n e.exports = \"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";\n },\n 590: function _(e) {\n var t = \"undefined\" != typeof Element,\n n = \"function\" == typeof Map,\n i = \"function\" == typeof Set,\n r = \"function\" == typeof ArrayBuffer && !!ArrayBuffer.isView;\n\n function a(e, s) {\n if (e === s) return !0;\n\n if (e && s && \"object\" == typeof e && \"object\" == typeof s) {\n if (e.constructor !== s.constructor) return !1;\n var o, l, u, c;\n\n if (Array.isArray(e)) {\n if ((o = e.length) != s.length) return !1;\n\n for (l = o; 0 != l--;) {\n if (!a(e[l], s[l])) return !1;\n }\n\n return !0;\n }\n\n if (n && e instanceof Map && s instanceof Map) {\n if (e.size !== s.size) return !1;\n\n for (c = e.entries(); !(l = c.next()).done;) {\n if (!s.has(l.value[0])) return !1;\n }\n\n for (c = e.entries(); !(l = c.next()).done;) {\n if (!a(l.value[1], s.get(l.value[0]))) return !1;\n }\n\n return !0;\n }\n\n if (i && e instanceof Set && s instanceof Set) {\n if (e.size !== s.size) return !1;\n\n for (c = e.entries(); !(l = c.next()).done;) {\n if (!s.has(l.value[0])) return !1;\n }\n\n return !0;\n }\n\n if (r && ArrayBuffer.isView(e) && ArrayBuffer.isView(s)) {\n if ((o = e.length) != s.length) return !1;\n\n for (l = o; 0 != l--;) {\n if (e[l] !== s[l]) return !1;\n }\n\n return !0;\n }\n\n if (e.constructor === RegExp) return e.source === s.source && e.flags === s.flags;\n if (e.valueOf !== Object.prototype.valueOf) return e.valueOf() === s.valueOf();\n if (e.toString !== Object.prototype.toString) return e.toString() === s.toString();\n if ((o = (u = Object.keys(e)).length) !== Object.keys(s).length) return !1;\n\n for (l = o; 0 != l--;) {\n if (!Object.prototype.hasOwnProperty.call(s, u[l])) return !1;\n }\n\n if (t && e instanceof Element) return !1;\n\n for (l = o; 0 != l--;) {\n if ((\"_owner\" !== u[l] && \"__v\" !== u[l] && \"__o\" !== u[l] || !e.$$typeof) && !a(e[u[l]], s[u[l]])) return !1;\n }\n\n return !0;\n }\n\n return e != e && s != s;\n }\n\n e.exports = function (e, t) {\n try {\n return a(e, t);\n } catch (e) {\n if ((e.message || \"\").match(/stack|recursion/i)) return console.warn(\"react-fast-compare cannot handle circular refs\"), !1;\n throw e;\n }\n };\n },\n 37: function _(e, t, n) {\n !function (e, t) {\n function n() {\n return (n = Object.assign || function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = arguments[t];\n\n for (var i in n) {\n Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n }\n\n var i = \"Left\",\n r = \"Right\",\n a = \"Down\",\n s = {\n delta: 10,\n preventDefaultTouchmoveEvent: !1,\n rotationAngle: 0,\n trackMouse: !1,\n trackTouch: !0\n },\n o = {\n first: !0,\n initial: [0, 0],\n start: 0,\n swiping: !1,\n xy: [0, 0]\n },\n l = \"mousemove\",\n u = \"mouseup\";\n\n function c(e, t) {\n if (0 === t) return e;\n var n = Math.PI / 180 * t;\n return [e[0] * Math.cos(n) + e[1] * Math.sin(n), e[1] * Math.cos(n) - e[0] * Math.sin(n)];\n }\n\n function h(e, t) {\n var s = function s(t) {\n t && \"touches\" in t && t.touches.length > 1 || e(function (e, i) {\n i.trackMouse && (document.addEventListener(l, h), document.addEventListener(u, f));\n var r = \"touches\" in t ? t.touches[0] : t,\n a = c([r.clientX, r.clientY], i.rotationAngle);\n return n({}, e, o, {\n initial: [].concat(a),\n xy: a,\n start: t.timeStamp || 0\n });\n });\n },\n h = function h(t) {\n e(function (e, s) {\n if (\"touches\" in t && t.touches.length > 1) return e;\n var o = \"touches\" in t ? t.touches[0] : t,\n l = c([o.clientX, o.clientY], s.rotationAngle),\n u = l[0],\n h = l[1],\n d = u - e.xy[0],\n f = h - e.xy[1],\n p = Math.abs(d),\n m = Math.abs(f),\n v = (t.timeStamp || 0) - e.start,\n g = Math.sqrt(p * p + m * m) / (v || 1),\n b = [d / (v || 1), f / (v || 1)];\n if (p < s.delta && m < s.delta && !e.swiping) return e;\n\n var y = function (e, t, n, s) {\n return e > t ? n > 0 ? r : i : s > 0 ? a : \"Up\";\n }(p, m, d, f),\n w = {\n absX: p,\n absY: m,\n deltaX: d,\n deltaY: f,\n dir: y,\n event: t,\n first: e.first,\n initial: e.initial,\n velocity: g,\n vxvy: b\n };\n\n s.onSwiping && s.onSwiping(w);\n var T = !1;\n return (s.onSwiping || s.onSwiped || \"onSwiped\" + y in s) && (T = !0), T && s.preventDefaultTouchmoveEvent && s.trackTouch && t.cancelable && t.preventDefault(), n({}, e, {\n first: !1,\n eventData: w,\n swiping: !0\n });\n });\n },\n d = function d(t) {\n e(function (e, i) {\n var r;\n\n if (e.swiping && e.eventData) {\n r = n({}, e.eventData, {\n event: t\n }), i.onSwiped && i.onSwiped(r);\n var a = \"onSwiped\" + r.dir;\n a in i && i[a](r);\n } else i.onTap && i.onTap({\n event: t\n });\n\n return n({}, e, o, {\n eventData: r\n });\n });\n },\n f = function f(e) {\n document.removeEventListener(l, h), document.removeEventListener(u, f), d(e);\n },\n p = function p(e, t) {\n var n = function n() {};\n\n if (e && e.addEventListener) {\n var i = [[\"touchstart\", s], [\"touchmove\", h], [\"touchend\", d]];\n i.forEach(function (n) {\n var i = n[0],\n r = n[1];\n return e.addEventListener(i, r, {\n passive: t\n });\n }), n = function n() {\n return i.forEach(function (t) {\n var n = t[0],\n i = t[1];\n return e.removeEventListener(n, i);\n });\n };\n }\n\n return n;\n },\n m = {\n ref: function ref(t) {\n null !== t && e(function (e, i) {\n if (e.el === t) return e;\n var r = {};\n return e.el && e.el !== t && e.cleanUpTouch && (e.cleanUpTouch(), r.cleanUpTouch = void 0), i.trackTouch && t && (r.cleanUpTouch = p(t, !i.preventDefaultTouchmoveEvent)), n({}, e, {\n el: t\n }, r);\n });\n }\n };\n\n return t.trackMouse && (m.onMouseDown = s), [m, p];\n }\n\n e.DOWN = a, e.LEFT = i, e.RIGHT = r, e.UP = \"Up\", e.useSwipeable = function (e) {\n var i = e.trackMouse,\n r = t.useRef(n({}, o)),\n a = t.useRef(n({}, s));\n a.current = n({}, s, e);\n var l = t.useMemo(function () {\n return h(function (e) {\n return r.current = e(r.current, a.current);\n }, {\n trackMouse: i\n });\n }, [i]),\n u = l[0],\n c = l[1];\n return r.current = function (e, t, i) {\n var r = {};\n return !t.trackTouch && e.cleanUpTouch ? (e.cleanUpTouch(), r.cleanUpTouch = void 0) : t.trackTouch && !e.cleanUpTouch && e.el && (r.cleanUpTouch = i(e.el, !t.preventDefaultTouchmoveEvent)), n({}, e, r);\n }(r.current, a.current, c), u;\n };\n }(t, n(888));\n },\n 888: function _(t) {\n \"use strict\";\n\n t.exports = e;\n }\n },\n n = {};\n\n function i(e) {\n var r = n[e];\n if (void 0 !== r) return r.exports;\n var a = n[e] = {\n exports: {}\n };\n return t[e].call(a.exports, a, a.exports, i), a.exports;\n }\n\n i.n = function (e) {\n var t = e && e.__esModule ? function () {\n return e.default;\n } : function () {\n return e;\n };\n return i.d(t, {\n a: t\n }), t;\n }, i.d = function (e, t) {\n for (var n in t) {\n i.o(t, n) && !i.o(e, n) && Object.defineProperty(e, n, {\n enumerable: !0,\n get: t[n]\n });\n }\n }, i.g = function () {\n if (\"object\" == typeof globalThis) return globalThis;\n\n try {\n return this || new Function(\"return this\")();\n } catch (e) {\n if (\"object\" == typeof window) return window;\n }\n }(), i.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }, i.r = function (e) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n };\n var r = {};\n return function () {\n \"use strict\";\n\n function e(t) {\n var n,\n i,\n r = \"\";\n if (\"string\" == typeof t || \"number\" == typeof t) r += t;else if (\"object\" == typeof t) if (Array.isArray(t)) for (n = 0; n < t.length; n++) {\n t[n] && (i = e(t[n])) && (r && (r += \" \"), r += i);\n } else for (n in t) {\n t[n] && (r && (r += \" \"), r += n);\n }\n return r;\n }\n\n function t() {\n for (var t, n, i = 0, r = \"\"; i < arguments.length;) {\n (t = arguments[i++]) && (n = e(t)) && (r && (r += \" \"), r += n);\n }\n\n return r;\n }\n\n i.r(r), i.d(r, {\n default: function _default() {\n return Me;\n }\n });\n var n = i(888),\n a = i.n(n);\n\n var s = function s(e) {\n var t = typeof e;\n return null != e && (\"object\" == t || \"function\" == t);\n },\n o = \"object\" == typeof global && global && global.Object === Object && global;\n\n var l = \"object\" == typeof self && self && self.Object === Object && self;\n\n var u = o || l || Function(\"return this\")(),\n c = function c() {\n return u.Date.now();\n };\n\n var h = /\\s/;\n var d = /^\\s+/;\n\n var f = function f(e) {\n return e ? e.slice(0, function (e) {\n for (var t = e.length; t-- && h.test(e.charAt(t));) {\n ;\n }\n\n return t;\n }(e) + 1).replace(d, \"\") : e;\n },\n p = u.Symbol;\n\n var m = Object.prototype,\n v = m.hasOwnProperty,\n g = m.toString,\n b = p ? p.toStringTag : void 0;\n var y = Object.prototype.toString;\n var w = p ? p.toStringTag : void 0;\n\n var T = function T(e) {\n return null == e ? void 0 === e ? \"[object Undefined]\" : \"[object Null]\" : w && w in Object(e) ? function (e) {\n var t = v.call(e, b),\n n = e[b];\n\n try {\n e[b] = void 0;\n var i = !0;\n } catch (e) {}\n\n var r = g.call(e);\n return i && (t ? e[b] = n : delete e[b]), r;\n }(e) : function (e) {\n return y.call(e);\n }(e);\n };\n\n var S = /^[-+]0x[0-9a-f]+$/i,\n O = /^0b[01]+$/i,\n E = /^0o[0-7]+$/i,\n I = parseInt;\n\n var k = function k(e) {\n if (\"number\" == typeof e) return e;\n if (function (e) {\n return \"symbol\" == typeof e || function (e) {\n return null != e && \"object\" == typeof e;\n }(e) && \"[object Symbol]\" == T(e);\n }(e)) return NaN;\n\n if (s(e)) {\n var t = \"function\" == typeof e.valueOf ? e.valueOf() : e;\n e = s(t) ? t + \"\" : t;\n }\n\n if (\"string\" != typeof e) return 0 === e ? e : +e;\n e = f(e);\n var n = O.test(e);\n return n || E.test(e) ? I(e.slice(2), n ? 2 : 8) : S.test(e) ? NaN : +e;\n };\n\n var x = Math.max,\n _ = Math.min;\n\n var L = function L(e, t, n) {\n var i,\n r,\n a,\n o,\n l,\n u,\n h = 0,\n d = !1,\n f = !1,\n p = !0;\n if (\"function\" != typeof e) throw new TypeError(\"Expected a function\");\n\n function m(t) {\n var n = i,\n a = r;\n return i = r = void 0, h = t, o = e.apply(a, n);\n }\n\n function v(e) {\n return h = e, l = setTimeout(b, t), d ? m(e) : o;\n }\n\n function g(e) {\n var n = e - u;\n return void 0 === u || n >= t || n < 0 || f && e - h >= a;\n }\n\n function b() {\n var e = c();\n if (g(e)) return y(e);\n l = setTimeout(b, function (e) {\n var n = t - (e - u);\n return f ? _(n, a - (e - h)) : n;\n }(e));\n }\n\n function y(e) {\n return l = void 0, p && i ? m(e) : (i = r = void 0, o);\n }\n\n function w() {\n var e = c(),\n n = g(e);\n\n if (i = arguments, r = this, u = e, n) {\n if (void 0 === l) return v(u);\n if (f) return clearTimeout(l), l = setTimeout(b, t), m(u);\n }\n\n return void 0 === l && (l = setTimeout(b, t)), o;\n }\n\n return t = k(t) || 0, s(n) && (d = !!n.leading, a = (f = \"maxWait\" in n) ? x(k(n.maxWait) || 0, t) : a, p = \"trailing\" in n ? !!n.trailing : p), w.cancel = function () {\n void 0 !== l && clearTimeout(l), h = 0, i = u = r = l = void 0;\n }, w.flush = function () {\n return void 0 === l ? o : y(c());\n }, w;\n },\n P = function P(e, t, n) {\n var i = !0,\n r = !0;\n if (\"function\" != typeof e) throw new TypeError(\"Expected a function\");\n return s(n) && (i = \"leading\" in n ? !!n.leading : i, r = \"trailing\" in n ? !!n.trailing : r), L(e, t, {\n leading: i,\n maxWait: t,\n trailing: r\n });\n };\n\n var M = i(590),\n R = i.n(M),\n D = function () {\n if (\"undefined\" != typeof Map) return Map;\n\n function e(e, t) {\n var n = -1;\n return e.some(function (e, i) {\n return e[0] === t && (n = i, !0);\n }), n;\n }\n\n return function () {\n function t() {\n this.__entries__ = [];\n }\n\n return Object.defineProperty(t.prototype, \"size\", {\n get: function get() {\n return this.__entries__.length;\n },\n enumerable: !0,\n configurable: !0\n }), t.prototype.get = function (t) {\n var n = e(this.__entries__, t),\n i = this.__entries__[n];\n return i && i[1];\n }, t.prototype.set = function (t, n) {\n var i = e(this.__entries__, t);\n ~i ? this.__entries__[i][1] = n : this.__entries__.push([t, n]);\n }, t.prototype.delete = function (t) {\n var n = this.__entries__,\n i = e(n, t);\n ~i && n.splice(i, 1);\n }, t.prototype.has = function (t) {\n return !!~e(this.__entries__, t);\n }, t.prototype.clear = function () {\n this.__entries__.splice(0);\n }, t.prototype.forEach = function (e, t) {\n void 0 === t && (t = null);\n\n for (var n = 0, i = this.__entries__; n < i.length; n++) {\n var r = i[n];\n e.call(t, r[1], r[0]);\n }\n }, t;\n }();\n }(),\n F = \"undefined\" != typeof window && \"undefined\" != typeof document && window.document === document,\n C = void 0 !== i.g && i.g.Math === Math ? i.g : \"undefined\" != typeof self && self.Math === Math ? self : \"undefined\" != typeof window && window.Math === Math ? window : Function(\"return this\")(),\n W = \"function\" == typeof requestAnimationFrame ? requestAnimationFrame.bind(C) : function (e) {\n return setTimeout(function () {\n return e(Date.now());\n }, 1e3 / 60);\n },\n N = [\"top\", \"right\", \"bottom\", \"left\", \"width\", \"height\", \"size\", \"weight\"],\n j = \"undefined\" != typeof MutationObserver,\n z = function () {\n function e() {\n this.connected_ = !1, this.mutationEventsAdded_ = !1, this.mutationsObserver_ = null, this.observers_ = [], this.onTransitionEnd_ = this.onTransitionEnd_.bind(this), this.refresh = function (e, t) {\n var n = !1,\n i = !1,\n r = 0;\n\n function a() {\n n && (n = !1, e()), i && o();\n }\n\n function s() {\n W(a);\n }\n\n function o() {\n var e = Date.now();\n\n if (n) {\n if (e - r < 2) return;\n i = !0;\n } else n = !0, i = !1, setTimeout(s, 20);\n\n r = e;\n }\n\n return o;\n }(this.refresh.bind(this));\n }\n\n return e.prototype.addObserver = function (e) {\n ~this.observers_.indexOf(e) || this.observers_.push(e), this.connected_ || this.connect_();\n }, e.prototype.removeObserver = function (e) {\n var t = this.observers_,\n n = t.indexOf(e);\n ~n && t.splice(n, 1), !t.length && this.connected_ && this.disconnect_();\n }, e.prototype.refresh = function () {\n this.updateObservers_() && this.refresh();\n }, e.prototype.updateObservers_ = function () {\n var e = this.observers_.filter(function (e) {\n return e.gatherActive(), e.hasActive();\n });\n return e.forEach(function (e) {\n return e.broadcastActive();\n }), e.length > 0;\n }, e.prototype.connect_ = function () {\n F && !this.connected_ && (document.addEventListener(\"transitionend\", this.onTransitionEnd_), window.addEventListener(\"resize\", this.refresh), j ? (this.mutationsObserver_ = new MutationObserver(this.refresh), this.mutationsObserver_.observe(document, {\n attributes: !0,\n childList: !0,\n characterData: !0,\n subtree: !0\n })) : (document.addEventListener(\"DOMSubtreeModified\", this.refresh), this.mutationEventsAdded_ = !0), this.connected_ = !0);\n }, e.prototype.disconnect_ = function () {\n F && this.connected_ && (document.removeEventListener(\"transitionend\", this.onTransitionEnd_), window.removeEventListener(\"resize\", this.refresh), this.mutationsObserver_ && this.mutationsObserver_.disconnect(), this.mutationEventsAdded_ && document.removeEventListener(\"DOMSubtreeModified\", this.refresh), this.mutationsObserver_ = null, this.mutationEventsAdded_ = !1, this.connected_ = !1);\n }, e.prototype.onTransitionEnd_ = function (e) {\n var t = e.propertyName,\n n = void 0 === t ? \"\" : t;\n N.some(function (e) {\n return !!~n.indexOf(e);\n }) && this.refresh();\n }, e.getInstance = function () {\n return this.instance_ || (this.instance_ = new e()), this.instance_;\n }, e.instance_ = null, e;\n }(),\n B = function B(e, t) {\n for (var n = 0, i = Object.keys(t); n < i.length; n++) {\n var r = i[n];\n Object.defineProperty(e, r, {\n value: t[r],\n enumerable: !1,\n writable: !1,\n configurable: !0\n });\n }\n\n return e;\n },\n A = function A(e) {\n return e && e.ownerDocument && e.ownerDocument.defaultView || C;\n },\n G = V(0, 0, 0, 0);\n\n function U(e) {\n return parseFloat(e) || 0;\n }\n\n function H(e) {\n for (var t = [], n = 1; n < arguments.length; n++) {\n t[n - 1] = arguments[n];\n }\n\n return t.reduce(function (t, n) {\n return t + U(e[\"border-\" + n + \"-width\"]);\n }, 0);\n }\n\n var q = \"undefined\" != typeof SVGGraphicsElement ? function (e) {\n return e instanceof A(e).SVGGraphicsElement;\n } : function (e) {\n return e instanceof A(e).SVGElement && \"function\" == typeof e.getBBox;\n };\n\n function K(e) {\n return F ? q(e) ? function (e) {\n var t = e.getBBox();\n return V(0, 0, t.width, t.height);\n }(e) : function (e) {\n var t = e.clientWidth,\n n = e.clientHeight;\n if (!t && !n) return G;\n\n var i = A(e).getComputedStyle(e),\n r = function (e) {\n for (var t = {}, n = 0, i = [\"top\", \"right\", \"bottom\", \"left\"]; n < i.length; n++) {\n var r = i[n],\n a = e[\"padding-\" + r];\n t[r] = U(a);\n }\n\n return t;\n }(i),\n a = r.left + r.right,\n s = r.top + r.bottom,\n o = U(i.width),\n l = U(i.height);\n\n if (\"border-box\" === i.boxSizing && (Math.round(o + a) !== t && (o -= H(i, \"left\", \"right\") + a), Math.round(l + s) !== n && (l -= H(i, \"top\", \"bottom\") + s)), !function (e) {\n return e === A(e).document.documentElement;\n }(e)) {\n var u = Math.round(o + a) - t,\n c = Math.round(l + s) - n;\n 1 !== Math.abs(u) && (o -= u), 1 !== Math.abs(c) && (l -= c);\n }\n\n return V(r.left, r.top, o, l);\n }(e) : G;\n }\n\n function V(e, t, n, i) {\n return {\n x: e,\n y: t,\n width: n,\n height: i\n };\n }\n\n var X = function () {\n function e(e) {\n this.broadcastWidth = 0, this.broadcastHeight = 0, this.contentRect_ = V(0, 0, 0, 0), this.target = e;\n }\n\n return e.prototype.isActive = function () {\n var e = K(this.target);\n return this.contentRect_ = e, e.width !== this.broadcastWidth || e.height !== this.broadcastHeight;\n }, e.prototype.broadcastRect = function () {\n var e = this.contentRect_;\n return this.broadcastWidth = e.width, this.broadcastHeight = e.height, e;\n }, e;\n }(),\n Y = function Y(e, t) {\n var n,\n i,\n r,\n a,\n s,\n o,\n l,\n u = (i = (n = t).x, r = n.y, a = n.width, s = n.height, o = \"undefined\" != typeof DOMRectReadOnly ? DOMRectReadOnly : Object, l = Object.create(o.prototype), B(l, {\n x: i,\n y: r,\n width: a,\n height: s,\n top: r,\n right: i + a,\n bottom: s + r,\n left: i\n }), l);\n B(this, {\n target: e,\n contentRect: u\n });\n },\n $ = function () {\n function e(e, t, n) {\n if (this.activeObservations_ = [], this.observations_ = new D(), \"function\" != typeof e) throw new TypeError(\"The callback provided as parameter 1 is not a function.\");\n this.callback_ = e, this.controller_ = t, this.callbackCtx_ = n;\n }\n\n return e.prototype.observe = function (e) {\n if (!arguments.length) throw new TypeError(\"1 argument required, but only 0 present.\");\n\n if (\"undefined\" != typeof Element && Element instanceof Object) {\n if (!(e instanceof A(e).Element)) throw new TypeError('parameter 1 is not of type \"Element\".');\n var t = this.observations_;\n t.has(e) || (t.set(e, new X(e)), this.controller_.addObserver(this), this.controller_.refresh());\n }\n }, e.prototype.unobserve = function (e) {\n if (!arguments.length) throw new TypeError(\"1 argument required, but only 0 present.\");\n\n if (\"undefined\" != typeof Element && Element instanceof Object) {\n if (!(e instanceof A(e).Element)) throw new TypeError('parameter 1 is not of type \"Element\".');\n var t = this.observations_;\n t.has(e) && (t.delete(e), t.size || this.controller_.removeObserver(this));\n }\n }, e.prototype.disconnect = function () {\n this.clearActive(), this.observations_.clear(), this.controller_.removeObserver(this);\n }, e.prototype.gatherActive = function () {\n var e = this;\n this.clearActive(), this.observations_.forEach(function (t) {\n t.isActive() && e.activeObservations_.push(t);\n });\n }, e.prototype.broadcastActive = function () {\n if (this.hasActive()) {\n var e = this.callbackCtx_,\n t = this.activeObservations_.map(function (e) {\n return new Y(e.target, e.broadcastRect());\n });\n this.callback_.call(e, t, e), this.clearActive();\n }\n }, e.prototype.clearActive = function () {\n this.activeObservations_.splice(0);\n }, e.prototype.hasActive = function () {\n return this.activeObservations_.length > 0;\n }, e;\n }(),\n J = \"undefined\" != typeof WeakMap ? new WeakMap() : new D(),\n Q = function e(t) {\n if (!(this instanceof e)) throw new TypeError(\"Cannot call a class as a function.\");\n if (!arguments.length) throw new TypeError(\"1 argument required, but only 0 present.\");\n var n = z.getInstance(),\n i = new $(t, n, this);\n J.set(this, i);\n };\n\n [\"observe\", \"unobserve\", \"disconnect\"].forEach(function (e) {\n Q.prototype[e] = function () {\n var t;\n return (t = J.get(this))[e].apply(t, arguments);\n };\n });\n var Z = void 0 !== C.ResizeObserver ? C.ResizeObserver : Q;\n var ee = i(37),\n te = i(697),\n ne = a().memo(function (e) {\n var t = e.description,\n n = e.fullscreen,\n i = e.handleImageLoaded,\n r = e.isFullscreen,\n s = e.onImageError,\n o = e.original,\n l = e.originalAlt,\n u = e.originalHeight,\n c = e.originalWidth,\n h = e.originalTitle,\n d = e.sizes,\n f = e.srcSet,\n p = r && n || o;\n return a().createElement(a().Fragment, null, a().createElement(\"img\", {\n className: \"image-gallery-image\",\n src: p,\n alt: l,\n srcSet: f,\n height: u,\n width: c,\n sizes: d,\n title: h,\n onLoad: function onLoad(e) {\n return i(e, o);\n },\n onError: s\n }), t && a().createElement(\"span\", {\n className: \"image-gallery-description\"\n }, t));\n });\n ne.displayName = \"Item\", ne.propTypes = {\n description: te.string,\n fullscreen: te.string,\n handleImageLoaded: te.func.isRequired,\n isFullscreen: te.bool,\n onImageError: te.func.isRequired,\n original: te.string.isRequired,\n originalAlt: te.string,\n originalHeight: te.string,\n originalWidth: te.string,\n originalTitle: te.string,\n sizes: te.string,\n srcSet: te.string\n }, ne.defaultProps = {\n description: \"\",\n fullscreen: \"\",\n isFullscreen: !1,\n originalAlt: \"\",\n originalHeight: \"\",\n originalWidth: \"\",\n originalTitle: \"\",\n sizes: \"\",\n srcSet: \"\"\n };\n var ie = ne;\n\n var re = {\n left: a().createElement(\"polyline\", {\n points: \"15 18 9 12 15 6\"\n }),\n right: a().createElement(\"polyline\", {\n points: \"9 18 15 12 9 6\"\n }),\n maximize: a().createElement(\"path\", {\n d: \"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3\"\n }),\n minimize: a().createElement(\"path\", {\n d: \"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3\"\n }),\n play: a().createElement(\"polygon\", {\n points: \"5 3 19 12 5 21 5 3\"\n }),\n pause: a().createElement(a().Fragment, null, a().createElement(\"rect\", {\n x: \"6\",\n y: \"4\",\n width: \"4\",\n height: \"16\"\n }), a().createElement(\"rect\", {\n x: \"14\",\n y: \"4\",\n width: \"4\",\n height: \"16\"\n }))\n },\n ae = function ae(e) {\n var t = e.strokeWidth,\n n = e.viewBox,\n i = e.icon;\n return a().createElement(\"svg\", {\n className: \"image-gallery-svg\",\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: n,\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: t,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, re[i]);\n };\n\n ae.propTypes = {\n strokeWidth: te.number,\n viewBox: te.string,\n icon: (0, te.oneOf)([\"left\", \"right\", \"maximize\", \"minimize\", \"play\", \"pause\"]).isRequired\n }, ae.defaultProps = {\n strokeWidth: 1,\n viewBox: \"0 0 24 24\"\n };\n var se = ae;\n var oe = a().memo(function (e) {\n var t = e.isFullscreen,\n n = e.onClick;\n return a().createElement(\"button\", {\n type: \"button\",\n className: \"image-gallery-icon image-gallery-fullscreen-button\",\n onClick: n,\n \"aria-label\": \"Open Fullscreen\"\n }, a().createElement(se, {\n strokeWidth: 2,\n icon: t ? \"minimize\" : \"maximize\"\n }));\n });\n oe.displayName = \"Fullscreen\", oe.propTypes = {\n isFullscreen: te.bool.isRequired,\n onClick: te.func.isRequired\n };\n var le = oe;\n var ue = a().memo(function (e) {\n var t = e.disabled,\n n = e.onClick;\n return a().createElement(\"button\", {\n type: \"button\",\n className: \"image-gallery-icon image-gallery-left-nav\",\n disabled: t,\n onClick: n,\n \"aria-label\": \"Previous Slide\"\n }, a().createElement(se, {\n icon: \"left\",\n viewBox: \"6 0 12 24\"\n }));\n });\n ue.displayName = \"LeftNav\", ue.propTypes = {\n disabled: te.bool.isRequired,\n onClick: te.func.isRequired\n };\n var ce = ue;\n var he = a().memo(function (e) {\n var t = e.disabled,\n n = e.onClick;\n return a().createElement(\"button\", {\n type: \"button\",\n className: \"image-gallery-icon image-gallery-right-nav\",\n disabled: t,\n onClick: n,\n \"aria-label\": \"Next Slide\"\n }, a().createElement(se, {\n icon: \"right\",\n viewBox: \"6 0 12 24\"\n }));\n });\n he.displayName = \"RightNav\", he.propTypes = {\n disabled: te.bool.isRequired,\n onClick: te.func.isRequired\n };\n var de = he;\n var fe = a().memo(function (e) {\n var t = e.isPlaying,\n n = e.onClick;\n return a().createElement(\"button\", {\n type: \"button\",\n className: \"image-gallery-icon image-gallery-play-button\",\n onClick: n,\n \"aria-label\": \"Play or Pause Slideshow\"\n }, a().createElement(se, {\n strokeWidth: 2,\n icon: t ? \"pause\" : \"play\"\n }));\n });\n fe.displayName = \"PlayPause\", fe.propTypes = {\n isPlaying: te.bool.isRequired,\n onClick: te.func.isRequired\n };\n var pe = fe;\n\n function me() {\n return (me = Object.assign || function (e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = arguments[t];\n\n for (var i in n) {\n Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i]);\n }\n }\n\n return e;\n }).apply(this, arguments);\n }\n\n var ve = function ve(e) {\n var t = e.children,\n n = e.className,\n i = e.delta,\n r = e.onSwiping,\n s = e.onSwiped,\n o = (0, ee.useSwipeable)({\n delta: i,\n onSwiping: r,\n onSwiped: s\n });\n return a().createElement(\"div\", me({}, o, {\n className: n\n }), t);\n };\n\n ve.propTypes = {\n children: te.node.isRequired,\n className: te.string,\n delta: te.number,\n onSwiped: te.func,\n onSwiping: te.func\n }, ve.defaultProps = {\n className: \"\",\n delta: 0,\n onSwiping: function onSwiping() {},\n onSwiped: function onSwiped() {}\n };\n var ge = ve;\n\n function be(e) {\n return (be = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (e) {\n return typeof e;\n } : function (e) {\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n })(e);\n }\n\n function ye(e, t) {\n var n = Object.keys(e);\n\n if (Object.getOwnPropertySymbols) {\n var i = Object.getOwnPropertySymbols(e);\n t && (i = i.filter(function (t) {\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\n })), n.push.apply(n, i);\n }\n\n return n;\n }\n\n function we(e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = null != arguments[t] ? arguments[t] : {};\n t % 2 ? ye(Object(n), !0).forEach(function (t) {\n Te(e, t, n[t]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ye(Object(n)).forEach(function (t) {\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));\n });\n }\n\n return e;\n }\n\n function Te(e, t, n) {\n return t in e ? Object.defineProperty(e, t, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = n, e;\n }\n\n function Se(e, t) {\n for (var n = 0; n < t.length; n++) {\n var i = t[n];\n i.enumerable = i.enumerable || !1, i.configurable = !0, \"value\" in i && (i.writable = !0), Object.defineProperty(e, i.key, i);\n }\n }\n\n function Oe(e, t) {\n return (Oe = Object.setPrototypeOf || function (e, t) {\n return e.__proto__ = t, e;\n })(e, t);\n }\n\n function Ee(e, t) {\n return !t || \"object\" !== be(t) && \"function\" != typeof t ? Ie(e) : t;\n }\n\n function Ie(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n }\n\n function ke(e) {\n return (ke = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {\n return e.__proto__ || Object.getPrototypeOf(e);\n })(e);\n }\n\n var xe = [\"fullscreenchange\", \"MSFullscreenChange\", \"mozfullscreenchange\", \"webkitfullscreenchange\"],\n _e = (0, te.arrayOf)((0, te.shape)({\n srcSet: te.string,\n media: te.string\n }));\n\n function Le(e) {\n var t = parseInt(e.keyCode || e.which || 0, 10);\n return 66 === t || 62 === t;\n }\n\n var Pe = function (e) {\n !function (e, t) {\n if (\"function\" != typeof t && null !== t) throw new TypeError(\"Super expression must either be null or a function\");\n e.prototype = Object.create(t && t.prototype, {\n constructor: {\n value: e,\n writable: !0,\n configurable: !0\n }\n }), t && Oe(e, t);\n }(l, e);\n var n,\n i,\n r,\n s,\n o = (r = l, s = function () {\n if (\"undefined\" == typeof Reflect || !Reflect.construct) return !1;\n if (Reflect.construct.sham) return !1;\n if (\"function\" == typeof Proxy) return !0;\n\n try {\n return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;\n } catch (e) {\n return !1;\n }\n }(), function () {\n var e,\n t = ke(r);\n\n if (s) {\n var n = ke(this).constructor;\n e = Reflect.construct(t, arguments, n);\n } else e = t.apply(this, arguments);\n\n return Ee(this, e);\n });\n\n function l(e) {\n var t;\n return function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, l), (t = o.call(this, e)).state = {\n currentIndex: e.startIndex,\n thumbsTranslate: 0,\n thumbsSwipedTranslate: 0,\n currentSlideOffset: 0,\n galleryWidth: 0,\n thumbnailsWrapperWidth: 0,\n thumbnailsWrapperHeight: 0,\n thumbsStyle: {\n transition: \"all \".concat(e.slideDuration, \"ms ease-out\")\n },\n isFullscreen: !1,\n isSwipingThumbnail: !1,\n isPlaying: !1\n }, t.loadedImages = {}, t.imageGallery = a().createRef(), t.thumbnailsWrapper = a().createRef(), t.thumbnails = a().createRef(), t.imageGallerySlideWrapper = a().createRef(), t.handleImageLoaded = t.handleImageLoaded.bind(Ie(t)), t.handleKeyDown = t.handleKeyDown.bind(Ie(t)), t.handleMouseDown = t.handleMouseDown.bind(Ie(t)), t.handleTouchMove = t.handleTouchMove.bind(Ie(t)), t.handleOnSwiped = t.handleOnSwiped.bind(Ie(t)), t.handleScreenChange = t.handleScreenChange.bind(Ie(t)), t.handleSwiping = t.handleSwiping.bind(Ie(t)), t.handleThumbnailSwiping = t.handleThumbnailSwiping.bind(Ie(t)), t.handleOnThumbnailSwiped = t.handleOnThumbnailSwiped.bind(Ie(t)), t.onThumbnailMouseLeave = t.onThumbnailMouseLeave.bind(Ie(t)), t.handleImageError = t.handleImageError.bind(Ie(t)), t.pauseOrPlay = t.pauseOrPlay.bind(Ie(t)), t.renderThumbInner = t.renderThumbInner.bind(Ie(t)), t.renderItem = t.renderItem.bind(Ie(t)), t.slideLeft = t.slideLeft.bind(Ie(t)), t.slideRight = t.slideRight.bind(Ie(t)), t.toggleFullScreen = t.toggleFullScreen.bind(Ie(t)), t.togglePlay = t.togglePlay.bind(Ie(t)), t.unthrottledSlideToIndex = t.slideToIndex, t.slideToIndex = P(t.unthrottledSlideToIndex, e.slideDuration, {\n trailing: !1\n }), e.lazyLoad && (t.lazyLoaded = []), t;\n }\n\n return n = l, (i = [{\n key: \"componentDidMount\",\n value: function value() {\n var e = this.props,\n t = e.autoPlay,\n n = e.useWindowKeyDown;\n t && this.play(), n ? window.addEventListener(\"keydown\", this.handleKeyDown) : this.imageGallery.current.addEventListener(\"keydown\", this.handleKeyDown), window.addEventListener(\"mousedown\", this.handleMouseDown), window.addEventListener(\"touchmove\", this.handleTouchMove, {\n passive: !1\n }), this.initResizeObserver(this.imageGallerySlideWrapper), this.addScreenChangeEvent();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function value(e, t) {\n var n = this.props,\n i = n.items,\n r = n.lazyLoad,\n a = n.slideDuration,\n s = n.slideInterval,\n o = n.startIndex,\n l = n.thumbnailPosition,\n u = n.showThumbnails,\n c = n.useWindowKeyDown,\n h = this.state.currentIndex,\n d = e.items.length !== i.length,\n f = !R()(e.items, i),\n p = e.startIndex !== o,\n m = e.thumbnailPosition !== l,\n v = e.showThumbnails !== u;\n s === e.slideInterval && a === e.slideDuration || (this.pause(), this.play()), m && (this.removeResizeObserver(), this.initResizeObserver(this.imageGallerySlideWrapper)), (d || v) && this.handleResize(), t.currentIndex !== h && this.slideThumbnailBar(), e.slideDuration !== a && (this.slideToIndex = P(this.unthrottledSlideToIndex, a, {\n trailing: !1\n })), !r || e.lazyLoad && !f || (this.lazyLoaded = []), c !== e.useWindowKeyDown && (c ? (this.imageGallery.current.removeEventListener(\"keydown\", this.handleKeyDown), window.addEventListener(\"keydown\", this.handleKeyDown)) : (window.removeEventListener(\"keydown\", this.handleKeyDown), this.imageGallery.current.addEventListener(\"keydown\", this.handleKeyDown))), (p || f) && this.setState({\n currentIndex: o\n });\n }\n }, {\n key: \"componentWillUnmount\",\n value: function value() {\n var e = this.props.useWindowKeyDown;\n window.removeEventListener(\"mousedown\", this.handleMouseDown), window.removeEventListener(\"touchmove\", this.handleTouchMove), this.removeScreenChangeEvent(), this.removeResizeObserver(), this.playPauseIntervalId && (window.clearInterval(this.playPauseIntervalId), this.playPauseIntervalId = null), this.transitionTimer && window.clearTimeout(this.transitionTimer), e ? window.removeEventListener(\"keydown\", this.handleKeyDown) : this.imageGallery.current.removeEventListener(\"keydown\", this.handleKeyDown);\n }\n }, {\n key: \"onSliding\",\n value: function value() {\n var e = this,\n t = this.state,\n n = t.currentIndex,\n i = t.isTransitioning,\n r = this.props,\n a = r.onSlide,\n s = r.slideDuration;\n this.transitionTimer = window.setTimeout(function () {\n i && (e.setState({\n isTransitioning: !i,\n isSwipingThumbnail: !1\n }), a && a(n));\n }, s + 50);\n }\n }, {\n key: \"onThumbnailClick\",\n value: function value(e, t) {\n var n = this.props.onThumbnailClick;\n e.target.parentNode.parentNode.blur(), this.slideToIndex(t, e), n && n(e, t);\n }\n }, {\n key: \"onThumbnailMouseOver\",\n value: function value(e, t) {\n var n = this;\n this.thumbnailMouseOverTimer && (window.clearTimeout(this.thumbnailMouseOverTimer), this.thumbnailMouseOverTimer = null), this.thumbnailMouseOverTimer = window.setTimeout(function () {\n n.slideToIndex(t), n.pause();\n }, 300);\n }\n }, {\n key: \"onThumbnailMouseLeave\",\n value: function value() {\n if (this.thumbnailMouseOverTimer) {\n var e = this.props.autoPlay;\n window.clearTimeout(this.thumbnailMouseOverTimer), this.thumbnailMouseOverTimer = null, e && this.play();\n }\n }\n }, {\n key: \"setThumbsTranslate\",\n value: function value(e) {\n this.setState({\n thumbsTranslate: e\n });\n }\n }, {\n key: \"setModalFullscreen\",\n value: function value(e) {\n var t = this.props.onScreenChange;\n this.setState({\n modalFullscreen: e\n }), t && t(e);\n }\n }, {\n key: \"getThumbsTranslate\",\n value: function value(e) {\n var t,\n n = this.props,\n i = n.disableThumbnailScroll,\n r = n.items,\n a = this.state,\n s = a.thumbnailsWrapperWidth,\n o = a.thumbnailsWrapperHeight,\n l = this.thumbnails && this.thumbnails.current;\n if (i) return 0;\n\n if (l) {\n if (this.isThumbnailVertical()) {\n if (l.scrollHeight <= o) return 0;\n t = l.scrollHeight - o;\n } else {\n if (l.scrollWidth <= s || s <= 0) return 0;\n t = l.scrollWidth - s;\n }\n\n return e * (t / (r.length - 1));\n }\n\n return 0;\n }\n }, {\n key: \"getAlignmentClassName\",\n value: function value(e) {\n var t = this.state.currentIndex,\n n = this.props,\n i = n.infinite,\n r = n.items,\n a = \"\",\n s = \"left\",\n o = \"right\";\n\n switch (e) {\n case t - 1:\n a = \" \".concat(s);\n break;\n\n case t:\n a = \" \".concat(\"center\");\n break;\n\n case t + 1:\n a = \" \".concat(o);\n }\n\n return r.length >= 3 && i && (0 === e && t === r.length - 1 ? a = \" \".concat(o) : e === r.length - 1 && 0 === t && (a = \" \".concat(s))), a;\n }\n }, {\n key: \"getTranslateXForTwoSlide\",\n value: function value(e) {\n var t = this.state,\n n = t.currentIndex,\n i = t.currentSlideOffset,\n r = t.previousIndex,\n a = n !== r,\n s = 0 === e && 0 === r,\n o = 1 === e && 1 === r,\n l = 0 === e && 1 === n,\n u = 1 === e && 0 === n,\n c = 0 === i,\n h = -100 * n + 100 * e + i;\n return i > 0 ? this.direction = \"left\" : i < 0 && (this.direction = \"right\"), u && i > 0 && (h = -100 + i), l && i < 0 && (h = 100 + i), a ? s && c && \"left\" === this.direction ? h = 100 : o && c && \"right\" === this.direction && (h = -100) : (u && c && \"left\" === this.direction && (h = -100), l && c && \"right\" === this.direction && (h = 100)), h;\n }\n }, {\n key: \"getThumbnailBarHeight\",\n value: function value() {\n return this.isThumbnailVertical() ? {\n height: this.state.gallerySlideWrapperHeight\n } : {};\n }\n }, {\n key: \"getSlideStyle\",\n value: function value(e) {\n var t = this.state,\n n = t.currentIndex,\n i = t.currentSlideOffset,\n r = t.slideStyle,\n a = this.props,\n s = a.infinite,\n o = a.items,\n l = a.useTranslate3D,\n u = a.isRTL,\n c = -100 * n,\n h = o.length - 1,\n d = (c + 100 * e) * (u ? -1 : 1) + i;\n s && o.length > 2 && (0 === n && e === h ? d = -100 * (u ? -1 : 1) + i : n === h && 0 === e && (d = 100 * (u ? -1 : 1) + i)), s && 2 === o.length && (d = this.getTranslateXForTwoSlide(e));\n var f = \"translate(\".concat(d, \"%, 0)\");\n return l && (f = \"translate3d(\".concat(d, \"%, 0, 0)\")), we({\n display: this.isSlideVisible(e) ? \"inherit\" : \"none\",\n WebkitTransform: f,\n MozTransform: f,\n msTransform: f,\n OTransform: f,\n transform: f\n }, r);\n }\n }, {\n key: \"getCurrentIndex\",\n value: function value() {\n return this.state.currentIndex;\n }\n }, {\n key: \"getThumbnailStyle\",\n value: function value() {\n var e,\n t = this.props,\n n = t.useTranslate3D,\n i = t.isRTL,\n r = this.state,\n a = r.thumbsTranslate,\n s = r.thumbsStyle,\n o = i ? -1 * a : a;\n return this.isThumbnailVertical() ? (e = \"translate(0, \".concat(a, \"px)\"), n && (e = \"translate3d(0, \".concat(a, \"px, 0)\"))) : (e = \"translate(\".concat(o, \"px, 0)\"), n && (e = \"translate3d(\".concat(o, \"px, 0, 0)\"))), we({\n WebkitTransform: e,\n MozTransform: e,\n msTransform: e,\n OTransform: e,\n transform: e\n }, s);\n }\n }, {\n key: \"getSlideItems\",\n value: function value() {\n var e = this,\n n = this.state.currentIndex,\n i = this.props,\n r = i.items,\n s = i.slideOnThumbnailOver,\n o = i.onClick,\n l = i.lazyLoad,\n u = i.onTouchMove,\n c = i.onTouchEnd,\n h = i.onTouchStart,\n d = i.onMouseOver,\n f = i.onMouseLeave,\n p = i.renderItem,\n m = i.renderThumbInner,\n v = i.showThumbnails,\n g = i.showBullets,\n b = [],\n y = [],\n w = [];\n return r.forEach(function (i, r) {\n var T = e.getAlignmentClassName(r),\n S = i.originalClass ? \" \".concat(i.originalClass) : \"\",\n O = i.thumbnailClass ? \" \".concat(i.thumbnailClass) : \"\",\n E = i.renderItem || p || e.renderItem,\n I = i.renderThumbInner || m || e.renderThumbInner,\n k = !l || T || e.lazyLoaded[r];\n k && l && !e.lazyLoaded[r] && (e.lazyLoaded[r] = !0);\n\n var x = e.getSlideStyle(r),\n _ = a().createElement(\"div\", {\n \"aria-label\": \"Go to Slide \".concat(r + 1),\n key: \"slide-\".concat(r),\n tabIndex: \"-1\",\n className: \"image-gallery-slide \".concat(T, \" \").concat(S),\n style: x,\n onClick: o,\n onKeyUp: e.handleSlideKeyUp,\n onTouchMove: u,\n onTouchEnd: c,\n onTouchStart: h,\n onMouseOver: d,\n onFocus: d,\n onMouseLeave: f,\n role: \"button\"\n }, k ? E(i) : a().createElement(\"div\", {\n style: {\n height: \"100%\"\n }\n }));\n\n if (b.push(_), v && i.thumbnail) {\n var L = t(\"image-gallery-thumbnail\", O, {\n active: n === r\n });\n y.push(a().createElement(\"button\", {\n key: \"thumbnail-\".concat(r),\n type: \"button\",\n tabIndex: \"0\",\n \"aria-pressed\": n === r ? \"true\" : \"false\",\n \"aria-label\": \"Go to Slide \".concat(r + 1),\n className: L,\n onMouseLeave: s ? e.onThumbnailMouseLeave : null,\n onMouseOver: function onMouseOver(t) {\n return e.handleThumbnailMouseOver(t, r);\n },\n onFocus: function onFocus(t) {\n return e.handleThumbnailMouseOver(t, r);\n },\n onKeyUp: function onKeyUp(t) {\n return e.handleThumbnailKeyUp(t, r);\n },\n onClick: function onClick(t) {\n return e.onThumbnailClick(t, r);\n }\n }, I(i)));\n }\n\n if (g) {\n var P = t(\"image-gallery-bullet\", i.bulletClass, {\n active: n === r\n });\n w.push(a().createElement(\"button\", {\n type: \"button\",\n key: \"bullet-\".concat(r),\n className: P,\n onClick: function onClick(t) {\n return i.bulletOnClick && i.bulletOnClick({\n item: i,\n itemIndex: r,\n currentIndex: n\n }), t.target.blur(), e.slideToIndex.call(e, r, t);\n },\n \"aria-pressed\": n === r ? \"true\" : \"false\",\n \"aria-label\": \"Go to Slide \".concat(r + 1)\n }));\n }\n }), {\n slides: b,\n thumbnails: y,\n bullets: w\n };\n }\n }, {\n key: \"ignoreIsTransitioning\",\n value: function value() {\n var e = this.props.items,\n t = this.state,\n n = t.previousIndex,\n i = t.currentIndex,\n r = e.length - 1;\n return Math.abs(n - i) > 1 && !(0 === n && i === r) && !(n === r && 0 === i);\n }\n }, {\n key: \"isFirstOrLastSlide\",\n value: function value(e) {\n return e === this.props.items.length - 1 || 0 === e;\n }\n }, {\n key: \"slideIsTransitioning\",\n value: function value(e) {\n var t = this.state,\n n = t.isTransitioning,\n i = t.previousIndex,\n r = t.currentIndex;\n return n && !(e === i || e === r);\n }\n }, {\n key: \"isSlideVisible\",\n value: function value(e) {\n return !this.slideIsTransitioning(e) || this.ignoreIsTransitioning() && !this.isFirstOrLastSlide(e);\n }\n }, {\n key: \"slideThumbnailBar\",\n value: function value() {\n var e = this.state,\n t = e.currentIndex,\n n = e.isSwipingThumbnail,\n i = -this.getThumbsTranslate(t);\n n || (0 === t ? this.setState({\n thumbsTranslate: 0,\n thumbsSwipedTranslate: 0\n }) : this.setState({\n thumbsTranslate: i,\n thumbsSwipedTranslate: i\n }));\n }\n }, {\n key: \"canSlide\",\n value: function value() {\n return this.props.items.length >= 2;\n }\n }, {\n key: \"canSlideLeft\",\n value: function value() {\n var e = this.props,\n t = e.infinite,\n n = e.isRTL;\n return t || (n ? this.canSlideNext() : this.canSlidePrevious());\n }\n }, {\n key: \"canSlideRight\",\n value: function value() {\n var e = this.props,\n t = e.infinite,\n n = e.isRTL;\n return t || (n ? this.canSlidePrevious() : this.canSlideNext());\n }\n }, {\n key: \"canSlidePrevious\",\n value: function value() {\n return this.state.currentIndex > 0;\n }\n }, {\n key: \"canSlideNext\",\n value: function value() {\n return this.state.currentIndex < this.props.items.length - 1;\n }\n }, {\n key: \"handleSwiping\",\n value: function value(e) {\n var t = e.event,\n n = e.absX,\n i = e.dir,\n r = this.props,\n a = r.disableSwipe,\n s = r.stopPropagation,\n o = this.state,\n l = o.galleryWidth,\n u = o.isTransitioning,\n c = o.swipingUpDown,\n h = o.swipingLeftRight;\n\n if (i !== ee.UP && i !== ee.DOWN && !c || h) {\n if (i !== ee.LEFT && i !== ee.RIGHT || h || this.setState({\n swipingLeftRight: !0\n }), !a) {\n var d = this.props.swipingTransitionDuration;\n if (s && t.preventDefault(), u) this.setState({\n currentSlideOffset: 0\n });else {\n var f = i === ee.RIGHT ? 1 : -1,\n p = n / l * 100;\n Math.abs(p) >= 100 && (p = 100);\n var m = {\n transition: \"transform \".concat(d, \"ms ease-out\")\n };\n this.setState({\n currentSlideOffset: f * p,\n slideStyle: m\n });\n }\n }\n } else c || this.setState({\n swipingUpDown: !0\n });\n }\n }, {\n key: \"handleThumbnailSwiping\",\n value: function value(e) {\n var t = e.event,\n n = e.absX,\n i = e.absY,\n r = e.dir,\n a = this.props,\n s = a.stopPropagation,\n o = a.swipingThumbnailTransitionDuration,\n l = this.state,\n u = l.thumbsSwipedTranslate,\n c = l.thumbnailsWrapperHeight,\n h = l.thumbnailsWrapperWidth,\n d = l.swipingUpDown,\n f = l.swipingLeftRight;\n\n if (this.isThumbnailVertical()) {\n if ((r === ee.LEFT || r === ee.RIGHT || f) && !d) return void (f || this.setState({\n swipingLeftRight: !0\n }));\n r !== ee.UP && r !== ee.DOWN || d || this.setState({\n swipingUpDown: !0\n });\n } else {\n if ((r === ee.UP || r === ee.DOWN || d) && !f) return void (d || this.setState({\n swipingUpDown: !0\n }));\n r !== ee.LEFT && r !== ee.RIGHT || f || this.setState({\n swipingLeftRight: !0\n });\n }\n\n var p,\n m,\n v,\n g,\n b,\n y = this.thumbnails && this.thumbnails.current;\n\n if (this.isThumbnailVertical() ? (p = u + (r === ee.DOWN ? i : -i), m = y.scrollHeight - c + 20, v = Math.abs(p) > m, g = p > 20, b = y.scrollHeight <= c) : (p = u + (r === ee.RIGHT ? n : -n), m = y.scrollWidth - h + 20, v = Math.abs(p) > m, g = p > 20, b = y.scrollWidth <= h), !b && (r !== ee.LEFT && r !== ee.UP || !v) && (r !== ee.RIGHT && r !== ee.DOWN || !g)) {\n s && t.stopPropagation();\n var w = {\n transition: \"transform \".concat(o, \"ms ease-out\")\n };\n this.setState({\n thumbsTranslate: p,\n thumbsStyle: w\n });\n }\n }\n }, {\n key: \"handleOnThumbnailSwiped\",\n value: function value() {\n var e = this.state.thumbsTranslate,\n t = this.props.slideDuration;\n this.resetSwipingDirection(), this.setState({\n isSwipingThumbnail: !0,\n thumbsSwipedTranslate: e,\n thumbsStyle: {\n transition: \"all \".concat(t, \"ms ease-out\")\n }\n });\n }\n }, {\n key: \"sufficientSwipe\",\n value: function value() {\n var e = this.state.currentSlideOffset,\n t = this.props.swipeThreshold;\n return Math.abs(e) > t;\n }\n }, {\n key: \"resetSwipingDirection\",\n value: function value() {\n var e = this.state,\n t = e.swipingUpDown,\n n = e.swipingLeftRight;\n t && this.setState({\n swipingUpDown: !1\n }), n && this.setState({\n swipingLeftRight: !1\n });\n }\n }, {\n key: \"handleOnSwiped\",\n value: function value(e) {\n var t = e.event,\n n = e.dir,\n i = e.velocity,\n r = this.props,\n a = r.disableSwipe,\n s = r.stopPropagation,\n o = r.flickThreshold;\n\n if (!a) {\n var l = this.props.isRTL;\n s && t.stopPropagation(), this.resetSwipingDirection();\n var u = (n === ee.LEFT ? 1 : -1) * (l ? -1 : 1),\n c = n === ee.UP || n === ee.DOWN,\n h = i > o && !c;\n this.handleOnSwipedTo(u, h);\n }\n }\n }, {\n key: \"handleOnSwipedTo\",\n value: function value(e, t) {\n var n = this.state,\n i = n.currentIndex,\n r = n.isTransitioning,\n a = i;\n !this.sufficientSwipe() && !t || r || (a += e), (-1 === e && !this.canSlideLeft() || 1 === e && !this.canSlideRight()) && (a = i), this.unthrottledSlideToIndex(a);\n }\n }, {\n key: \"handleTouchMove\",\n value: function value(e) {\n this.state.swipingLeftRight && e.preventDefault();\n }\n }, {\n key: \"handleMouseDown\",\n value: function value() {\n this.imageGallery.current.classList.add(\"image-gallery-using-mouse\");\n }\n }, {\n key: \"handleKeyDown\",\n value: function value(e) {\n var t = this.props,\n n = t.disableKeyDown,\n i = t.useBrowserFullscreen,\n r = this.state.isFullscreen;\n if (this.imageGallery.current.classList.remove(\"image-gallery-using-mouse\"), !n) switch (parseInt(e.keyCode || e.which || 0, 10)) {\n case 37:\n this.canSlideLeft() && !this.playPauseIntervalId && this.slideLeft(e);\n break;\n\n case 39:\n this.canSlideRight() && !this.playPauseIntervalId && this.slideRight(e);\n break;\n\n case 27:\n r && !i && this.exitFullScreen();\n }\n }\n }, {\n key: \"handleImageError\",\n value: function value(e) {\n var t = this.props.onErrorImageURL;\n t && -1 === e.target.src.indexOf(t) && (e.target.src = t);\n }\n }, {\n key: \"removeResizeObserver\",\n value: function value() {\n this.resizeObserver && this.imageGallerySlideWrapper && this.imageGallerySlideWrapper.current && (this.resizeObserver.unobserve(this.imageGallerySlideWrapper.current), this.resizeObserver = null);\n }\n }, {\n key: \"handleResize\",\n value: function value() {\n var e = this.state.currentIndex;\n this.resizeObserver && (this.imageGallery && this.imageGallery.current && this.setState({\n galleryWidth: this.imageGallery.current.offsetWidth\n }), this.imageGallerySlideWrapper && this.imageGallerySlideWrapper.current && this.setState({\n gallerySlideWrapperHeight: this.imageGallerySlideWrapper.current.offsetHeight\n }), this.thumbnailsWrapper && this.thumbnailsWrapper.current && (this.isThumbnailVertical() ? this.setState({\n thumbnailsWrapperHeight: this.thumbnailsWrapper.current.offsetHeight\n }) : this.setState({\n thumbnailsWrapperWidth: this.thumbnailsWrapper.current.offsetWidth\n })), this.setThumbsTranslate(-this.getThumbsTranslate(e)));\n }\n }, {\n key: \"initResizeObserver\",\n value: function value(e) {\n var t = this;\n this.resizeObserver = new Z(L(function (e) {\n e && e.forEach(function () {\n t.handleResize();\n });\n }, 300)), this.resizeObserver.observe(e.current);\n }\n }, {\n key: \"toggleFullScreen\",\n value: function value() {\n this.state.isFullscreen ? this.exitFullScreen() : this.fullScreen();\n }\n }, {\n key: \"togglePlay\",\n value: function value() {\n this.playPauseIntervalId ? this.pause() : this.play();\n }\n }, {\n key: \"handleScreenChange\",\n value: function value() {\n var e = this.props,\n t = e.onScreenChange,\n n = e.useBrowserFullscreen,\n i = document.fullscreenElement || document.msFullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement,\n r = this.imageGallery.current === i;\n t && t(r), n && this.setState({\n isFullscreen: r\n });\n }\n }, {\n key: \"slideToIndex\",\n value: function value(e, t) {\n var n = this.state,\n i = n.currentIndex,\n r = n.isTransitioning,\n a = this.props,\n s = a.items,\n o = a.slideDuration,\n l = a.onBeforeSlide;\n\n if (!r) {\n t && this.playPauseIntervalId && (this.pause(!1), this.play(!1));\n var u = s.length - 1,\n c = e;\n e < 0 ? c = u : e > u && (c = 0), l && c !== i && l(c), this.setState({\n previousIndex: i,\n currentIndex: c,\n isTransitioning: c !== i,\n currentSlideOffset: 0,\n slideStyle: {\n transition: \"all \".concat(o, \"ms ease-out\")\n }\n }, this.onSliding);\n }\n }\n }, {\n key: \"slideLeft\",\n value: function value(e) {\n var t = this.props.isRTL;\n this.slideTo(e, t ? \"right\" : \"left\");\n }\n }, {\n key: \"slideRight\",\n value: function value(e) {\n var t = this.props.isRTL;\n this.slideTo(e, t ? \"left\" : \"right\");\n }\n }, {\n key: \"slideTo\",\n value: function value(e, t) {\n var n = this,\n i = this.state,\n r = i.currentIndex,\n a = i.currentSlideOffset,\n s = i.isTransitioning,\n o = this.props.items,\n l = r + (\"left\" === t ? -1 : 1);\n s || (2 === o.length ? this.setState({\n currentSlideOffset: a + (\"left\" === t ? .001 : -.001),\n slideStyle: {\n transition: \"none\"\n }\n }, function () {\n window.setTimeout(function () {\n return n.slideToIndex(l, e);\n }, 25);\n }) : this.slideToIndex(l, e));\n }\n }, {\n key: \"handleThumbnailMouseOver\",\n value: function value(e, t) {\n this.props.slideOnThumbnailOver && this.onThumbnailMouseOver(e, t);\n }\n }, {\n key: \"handleThumbnailKeyUp\",\n value: function value(e, t) {\n Le(e) && this.onThumbnailClick(e, t);\n }\n }, {\n key: \"handleSlideKeyUp\",\n value: function value(e) {\n Le(e) && (0, this.props.onClick)(e);\n }\n }, {\n key: \"isThumbnailVertical\",\n value: function value() {\n var e = this.props.thumbnailPosition;\n return \"left\" === e || \"right\" === e;\n }\n }, {\n key: \"addScreenChangeEvent\",\n value: function value() {\n var e = this;\n xe.forEach(function (t) {\n document.addEventListener(t, e.handleScreenChange);\n });\n }\n }, {\n key: \"removeScreenChangeEvent\",\n value: function value() {\n var e = this;\n xe.forEach(function (t) {\n document.removeEventListener(t, e.handleScreenChange);\n });\n }\n }, {\n key: \"fullScreen\",\n value: function value() {\n var e = this.props.useBrowserFullscreen,\n t = this.imageGallery.current;\n e ? t.requestFullscreen ? t.requestFullscreen() : t.msRequestFullscreen ? t.msRequestFullscreen() : t.mozRequestFullScreen ? t.mozRequestFullScreen() : t.webkitRequestFullscreen ? t.webkitRequestFullscreen() : this.setModalFullscreen(!0) : this.setModalFullscreen(!0), this.setState({\n isFullscreen: !0\n });\n }\n }, {\n key: \"exitFullScreen\",\n value: function value() {\n var e = this.state.isFullscreen,\n t = this.props.useBrowserFullscreen;\n e && (t ? document.exitFullscreen ? document.exitFullscreen() : document.webkitExitFullscreen ? document.webkitExitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.msExitFullscreen ? document.msExitFullscreen() : this.setModalFullscreen(!1) : this.setModalFullscreen(!1), this.setState({\n isFullscreen: !1\n }));\n }\n }, {\n key: \"pauseOrPlay\",\n value: function value() {\n var e = this.props.infinite,\n t = this.state.currentIndex;\n e || this.canSlideRight() ? this.slideToIndex(t + 1) : this.pause();\n }\n }, {\n key: \"play\",\n value: function value() {\n var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0],\n t = this.props,\n n = t.onPlay,\n i = t.slideInterval,\n r = t.slideDuration,\n a = this.state.currentIndex;\n this.playPauseIntervalId || (this.setState({\n isPlaying: !0\n }), this.playPauseIntervalId = window.setInterval(this.pauseOrPlay, Math.max(i, r)), n && e && n(a));\n }\n }, {\n key: \"pause\",\n value: function value() {\n var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0],\n t = this.props.onPause,\n n = this.state.currentIndex;\n this.playPauseIntervalId && (window.clearInterval(this.playPauseIntervalId), this.playPauseIntervalId = null, this.setState({\n isPlaying: !1\n }), t && e && t(n));\n }\n }, {\n key: \"isImageLoaded\",\n value: function value(e) {\n return !!this.loadedImages[e.original] || (this.loadedImages[e.original] = !0, !1);\n }\n }, {\n key: \"handleImageLoaded\",\n value: function value(e, t) {\n var n = this.props.onImageLoad;\n !this.loadedImages[t] && n && (this.loadedImages[t] = !0, n(e));\n }\n }, {\n key: \"renderItem\",\n value: function value(e) {\n var t = this.state.isFullscreen,\n n = this.props.onImageError || this.handleImageError;\n return a().createElement(ie, {\n description: e.description,\n fullscreen: e.fullscreen,\n handleImageLoaded: this.handleImageLoaded,\n isFullscreen: t,\n onImageError: n,\n original: e.original,\n originalAlt: e.originalAlt,\n originalHeight: e.originalHeight,\n originalWidth: e.originalWidth,\n originalTitle: e.originalTitle,\n sizes: e.sizes,\n srcSet: e.srcSet\n });\n }\n }, {\n key: \"renderThumbInner\",\n value: function value(e) {\n var t = this.props.onThumbnailError || this.handleImageError;\n return a().createElement(\"span\", {\n className: \"image-gallery-thumbnail-inner\"\n }, a().createElement(\"img\", {\n className: \"image-gallery-thumbnail-image\",\n src: e.thumbnail,\n height: e.thumbnailHeight,\n width: e.thumbnailWidth,\n alt: e.thumbnailAlt,\n title: e.thumbnailTitle,\n onError: t\n }), e.thumbnailLabel && a().createElement(\"div\", {\n className: \"image-gallery-thumbnail-label\"\n }, e.thumbnailLabel));\n }\n }, {\n key: \"render\",\n value: function value() {\n var e = this.state,\n n = e.currentIndex,\n i = e.isFullscreen,\n r = e.modalFullscreen,\n s = e.isPlaying,\n o = this.props,\n l = o.additionalClass,\n u = o.disableThumbnailSwipe,\n c = o.indexSeparator,\n h = o.isRTL,\n d = o.items,\n f = o.thumbnailPosition,\n p = o.renderFullscreenButton,\n m = o.renderCustomControls,\n v = o.renderLeftNav,\n g = o.renderRightNav,\n b = o.showBullets,\n y = o.showFullscreenButton,\n w = o.showIndex,\n T = o.showThumbnails,\n S = o.showNav,\n O = o.showPlayButton,\n E = o.renderPlayPauseButton,\n I = this.getThumbnailStyle(),\n k = this.getSlideItems(),\n x = k.slides,\n _ = k.thumbnails,\n L = k.bullets,\n P = t(\"image-gallery-slide-wrapper\", f, {\n \"image-gallery-rtl\": h\n }),\n M = a().createElement(\"div\", {\n ref: this.imageGallerySlideWrapper,\n className: P\n }, m && m(), this.canSlide() ? a().createElement(a().Fragment, null, S && a().createElement(a().Fragment, null, v(this.slideLeft, !this.canSlideLeft()), g(this.slideRight, !this.canSlideRight())), a().createElement(ge, {\n className: \"image-gallery-swipe\",\n delta: 0,\n onSwiping: this.handleSwiping,\n onSwiped: this.handleOnSwiped\n }, a().createElement(\"div\", {\n className: \"image-gallery-slides\"\n }, x))) : a().createElement(\"div\", {\n className: \"image-gallery-slides\"\n }, x), O && E(this.togglePlay, s), b && a().createElement(\"div\", {\n className: \"image-gallery-bullets\"\n }, a().createElement(\"div\", {\n className: \"image-gallery-bullets-container\",\n role: \"navigation\",\n \"aria-label\": \"Bullet Navigation\"\n }, L)), y && p(this.toggleFullScreen, i), w && a().createElement(\"div\", {\n className: \"image-gallery-index\"\n }, a().createElement(\"span\", {\n className: \"image-gallery-index-current\"\n }, n + 1), a().createElement(\"span\", {\n className: \"image-gallery-index-separator\"\n }, c), a().createElement(\"span\", {\n className: \"image-gallery-index-total\"\n }, d.length))),\n R = t(\"image-gallery\", l, {\n \"fullscreen-modal\": r\n }),\n D = t(\"image-gallery-content\", f, {\n fullscreen: i\n }),\n F = t(\"image-gallery-thumbnails-wrapper\", f, {\n \"thumbnails-wrapper-rtl\": !this.isThumbnailVertical() && h\n }, {\n \"thumbnails-swipe-horizontal\": !this.isThumbnailVertical() && !u\n }, {\n \"thumbnails-swipe-vertical\": this.isThumbnailVertical() && !u\n });\n return a().createElement(\"div\", {\n ref: this.imageGallery,\n className: R,\n \"aria-live\": \"polite\"\n }, a().createElement(\"div\", {\n className: D\n }, (\"bottom\" === f || \"right\" === f) && M, T && _.length > 0 ? a().createElement(ge, {\n className: F,\n delta: 0,\n onSwiping: !u && this.handleThumbnailSwiping,\n onSwiped: !u && this.handleOnThumbnailSwiped\n }, a().createElement(\"div\", {\n className: \"image-gallery-thumbnails\",\n ref: this.thumbnailsWrapper,\n style: this.getThumbnailBarHeight()\n }, a().createElement(\"div\", {\n ref: this.thumbnails,\n className: \"image-gallery-thumbnails-container\",\n style: I,\n \"aria-label\": \"Thumbnail Navigation\"\n }, _))) : null, (\"top\" === f || \"left\" === f) && M));\n }\n }]) && Se(n.prototype, i), l;\n }(a().Component);\n\n Pe.propTypes = {\n flickThreshold: te.number,\n items: (0, te.arrayOf)((0, te.shape)({\n bulletClass: te.string,\n bulletOnClick: te.func,\n description: te.string,\n original: te.string,\n originalHeight: te.number,\n originalWidth: te.number,\n thumbnailHeight: te.number,\n thumbnailWidth: te.number,\n fullscreen: te.string,\n originalAlt: te.string,\n originalTitle: te.string,\n thumbnail: te.string,\n thumbnailAlt: te.string,\n thumbnailLabel: te.string,\n thumbnailTitle: te.string,\n originalClass: te.string,\n thumbnailClass: te.string,\n renderItem: te.func,\n renderThumbInner: te.func,\n imageSet: _e,\n srcSet: te.string,\n sizes: te.string\n })).isRequired,\n showNav: te.bool,\n autoPlay: te.bool,\n lazyLoad: te.bool,\n infinite: te.bool,\n showIndex: te.bool,\n showBullets: te.bool,\n showThumbnails: te.bool,\n showPlayButton: te.bool,\n showFullscreenButton: te.bool,\n disableThumbnailScroll: te.bool,\n disableKeyDown: te.bool,\n disableSwipe: te.bool,\n disableThumbnailSwipe: te.bool,\n useBrowserFullscreen: te.bool,\n onErrorImageURL: te.string,\n indexSeparator: te.string,\n thumbnailPosition: (0, te.oneOf)([\"top\", \"bottom\", \"left\", \"right\"]),\n startIndex: te.number,\n slideDuration: te.number,\n slideInterval: te.number,\n slideOnThumbnailOver: te.bool,\n swipeThreshold: te.number,\n swipingTransitionDuration: te.number,\n swipingThumbnailTransitionDuration: te.number,\n onSlide: te.func,\n onBeforeSlide: te.func,\n onScreenChange: te.func,\n onPause: te.func,\n onPlay: te.func,\n onClick: te.func,\n onImageLoad: te.func,\n onImageError: te.func,\n onTouchMove: te.func,\n onTouchEnd: te.func,\n onTouchStart: te.func,\n onMouseOver: te.func,\n onMouseLeave: te.func,\n onThumbnailError: te.func,\n onThumbnailClick: te.func,\n renderCustomControls: te.func,\n renderLeftNav: te.func,\n renderRightNav: te.func,\n renderPlayPauseButton: te.func,\n renderFullscreenButton: te.func,\n renderItem: te.func,\n renderThumbInner: te.func,\n stopPropagation: te.bool,\n additionalClass: te.string,\n useTranslate3D: te.bool,\n isRTL: te.bool,\n useWindowKeyDown: te.bool\n }, Pe.defaultProps = {\n onErrorImageURL: \"\",\n additionalClass: \"\",\n showNav: !0,\n autoPlay: !1,\n lazyLoad: !1,\n infinite: !0,\n showIndex: !1,\n showBullets: !1,\n showThumbnails: !0,\n showPlayButton: !0,\n showFullscreenButton: !0,\n disableThumbnailScroll: !1,\n disableKeyDown: !1,\n disableSwipe: !1,\n disableThumbnailSwipe: !1,\n useTranslate3D: !0,\n isRTL: !1,\n useBrowserFullscreen: !0,\n flickThreshold: .4,\n stopPropagation: !1,\n indexSeparator: \" / \",\n thumbnailPosition: \"bottom\",\n startIndex: 0,\n slideDuration: 450,\n swipingTransitionDuration: 0,\n swipingThumbnailTransitionDuration: 0,\n onSlide: null,\n onBeforeSlide: null,\n onScreenChange: null,\n onPause: null,\n onPlay: null,\n onClick: null,\n onImageLoad: null,\n onImageError: null,\n onTouchMove: null,\n onTouchEnd: null,\n onTouchStart: null,\n onMouseOver: null,\n onMouseLeave: null,\n onThumbnailError: null,\n onThumbnailClick: null,\n renderCustomControls: null,\n renderThumbInner: null,\n renderItem: null,\n slideInterval: 3e3,\n slideOnThumbnailOver: !1,\n swipeThreshold: 30,\n renderLeftNav: function renderLeftNav(e, t) {\n return a().createElement(ce, {\n onClick: e,\n disabled: t\n });\n },\n renderRightNav: function renderRightNav(e, t) {\n return a().createElement(de, {\n onClick: e,\n disabled: t\n });\n },\n renderPlayPauseButton: function renderPlayPauseButton(e, t) {\n return a().createElement(pe, {\n onClick: e,\n isPlaying: t\n });\n },\n renderFullscreenButton: function renderFullscreenButton(e, t) {\n return a().createElement(le, {\n onClick: e,\n isFullscreen: t\n });\n },\n useWindowKeyDown: !0\n };\n var Me = Pe;\n }(), r;\n }();\n});","import * as React from \"react\"\nimport { Link, StaticQuery, graphql } from \"gatsby\"\nimport ReactMarkdown from \"react-markdown\"\nimport Fade from \"react-reveal/Fade\";\n\nconst AllWorkFooter = () => {\n return (\n (\n \n
\n \n {data.strapiYetiMessaging.message}\n \n View All Our Work\n
\n
\n )}\n />\n )\n}\n\nexport default AllWorkFooter","export default __webpack_public_path__ + \"static/yeti-fur-pink-6849ecd5bf978abe24929ff70dd96465.jpg\";","function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\n\nexport { canUseDOM };","import { useLayoutEffect, useEffect } from 'react';\nimport { canUseDOM } from '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n/**\n * React currently throws a warning when using useLayoutEffect on the server. To\n * get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser. We occasionally need useLayoutEffect to\n * ensure we don't get a render flash for certain operations, but we may also\n * need affected components to render on the server. One example is when setting\n * a component's descendants to retrieve their index values.\n *\n * Important to note that using this hook as an escape hatch will break the\n * eslint dependency warnings unless you rename the import to `useLayoutEffect`.\n * Use sparingly only when the effect won't effect the rendered HTML to avoid\n * any server/client mismatch.\n *\n * If a useLayoutEffect is needed and the result would create a mismatch, it's\n * likely that the component in question shouldn't be rendered on the server at\n * all, so a better approach would be to lazily render those in a parent\n * component after client-side hydration.\n *\n * https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n * https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.js\n *\n * @param effect\n * @param deps\n */\n\nvar useIsomorphicLayoutEffect = /*#__PURE__*/canUseDOM() ? useLayoutEffect : useEffect;\nexport { useIsomorphicLayoutEffect };","import { useRef, createElement } from 'react';\nimport { useIsomorphicLayoutEffect } from '@reach/utils/use-isomorphic-layout-effect';\nimport { useForceUpdate } from '@reach/utils/use-force-update';\nimport { createPortal } from 'react-dom';\n/**\n * Welcome to @reach/portal!\n *\n * Creates and appends a DOM node to the end of `document.body` and renders a\n * React tree into it. Useful for rendering a natural React element hierarchy\n * with a different DOM hierarchy to prevent parent styles from clipping or\n * hiding content (for popovers, dropdowns, and modals).\n *\n * @see Docs https://reach.tech/portal\n * @see Source https://github.com/reach/reach-ui/tree/main/packages/portal\n * @see React https://reactjs.org/docs/portals.html\n */\n\n/**\n * Portal\n *\n * @see Docs https://reach.tech/portal#portal\n */\n\nvar Portal = function Portal(_ref) {\n var children = _ref.children,\n _ref$type = _ref.type,\n type = _ref$type === void 0 ? \"reach-portal\" : _ref$type;\n var mountNode = useRef(null);\n var portalNode = useRef(null);\n var forceUpdate = useForceUpdate();\n useIsomorphicLayoutEffect(function () {\n // This ref may be null when a hot-loader replaces components on the page\n if (!mountNode.current) return; // It's possible that the content of the portal has, itself, been portaled.\n // In that case, it's important to append to the correct document element.\n\n var ownerDocument = mountNode.current.ownerDocument;\n portalNode.current = ownerDocument == null ? void 0 : ownerDocument.createElement(type);\n ownerDocument.body.appendChild(portalNode.current);\n forceUpdate();\n return function () {\n if (portalNode.current && portalNode.current.ownerDocument) {\n portalNode.current.ownerDocument.body.removeChild(portalNode.current);\n }\n };\n }, [type, forceUpdate]);\n return portalNode.current ? /*#__PURE__*/createPortal(children, portalNode.current) : /*#__PURE__*/createElement(\"span\", {\n ref: mountNode\n });\n};\n/**\n * @see Docs https://reach.tech/portal#portal-props\n */\n\n\nif (process.env.NODE_ENV !== \"production\") {\n Portal.displayName = \"Portal\";\n} ////////////////////////////////////////////////////////////////////////////////\n\n\nexport default Portal;\nexport { Portal };","import { useState, useCallback } from 'react';\n/**\n * Forces a re-render, similar to `forceUpdate` in class components.\n */\n\nfunction useForceUpdate() {\n var _useState = useState(Object.create(null)),\n dispatch = _useState[1];\n\n return useCallback(function () {\n dispatch(Object.create(null));\n }, []);\n}\n\nexport { useForceUpdate };","import { canUseDOM } from '../../can-use-dom/dist/reach-utils-can-use-dom.esm.js';\n/**\n * Get an element's owner document. Useful when components are used in iframes\n * or other environments like dev tools.\n *\n * @param element\n */\n\nfunction getOwnerDocument(element) {\n return canUseDOM() ? element ? element.ownerDocument : document : null;\n}\n/**\n * TODO: Remove in 1.0\n */\n\n\nfunction getOwnerWindow(element) {\n var ownerDocument = getOwnerDocument(element);\n return ownerDocument ? ownerDocument.defaultView || window : null;\n}\n\nexport { getOwnerDocument, getOwnerWindow };","function noop() {}\n\nexport { noop };","import { useCallback } from 'react';\nimport { isFunction } from '../../type-check/dist/reach-utils-type-check.esm.js';\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n it = o[Symbol.iterator]();\n return it.next.bind(it);\n}\n/**\n * Passes or assigns an arbitrary value to a ref function or object.\n *\n * @param ref\n * @param value\n */\n\n\nfunction assignRef(ref, value) {\n if (ref == null) return;\n\n if (isFunction(ref)) {\n ref(value);\n } else {\n try {\n ref.current = value;\n } catch (error) {\n throw new Error(\"Cannot assign value \\\"\" + value + \"\\\" to ref \\\"\" + ref + \"\\\"\");\n }\n }\n}\n/**\n * Passes or assigns a value to multiple refs (typically a DOM node). Useful for\n * dealing with components that need an explicit ref for DOM calculations but\n * also forwards refs assigned by an app.\n *\n * @param refs Refs to fork\n */\n\n\nfunction useComposedRefs() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n\n return useCallback(function (node) {\n for (var _iterator = _createForOfIteratorHelperLoose(refs), _step; !(_step = _iterator()).done;) {\n var ref = _step.value;\n assignRef(ref, node);\n } // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, refs);\n}\n\nexport { assignRef, useComposedRefs };","/**\n * Checks whether or not a value is a boolean.\n *\n * @param value\n */\nfunction isBoolean(value) {\n return typeof value === \"boolean\";\n}\n/**\n * Checks whether or not a value is a function.\n *\n * @param value\n */\n\n\nfunction isFunction(value) {\n // eslint-disable-next-line eqeqeq\n return !!(value && {}.toString.call(value) == \"[object Function]\");\n}\n/**\n * Checks whether or not a value is a number.\n *\n * @param value\n */\n\n\nfunction isNumber(value) {\n return typeof value === \"number\" && !isNaN(value);\n}\n/**\n * Checks whether or not a value is a string.\n *\n * @param value\n */\n\n\nfunction isString(value) {\n return typeof value === \"string\";\n}\n\nexport { isBoolean, isFunction, isNumber, isString };","/**\n * Wraps a lib-defined event handler and a user-defined event handler, returning\n * a single handler that allows a user to prevent lib-defined handlers from\n * firing.\n *\n * @param theirHandler User-supplied event handler\n * @param ourHandler Library-supplied event handler\n */\nfunction composeEventHandlers(theirHandler, ourHandler) {\n return function (event) {\n theirHandler && theirHandler(event);\n\n if (!event.defaultPrevented) {\n return ourHandler(event);\n }\n };\n}\n\nexport { composeEventHandlers };","export default function _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}","export var FOCUS_GROUP = 'data-focus-lock';\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\nexport var FOCUS_AUTO = 'data-autofocus-inside';","import { useCallbackRef } from './useRef';\nimport { assignRef } from './assignRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return
...
\n * }\n */\n\nexport function useMergeRefs(refs, defaultValue) {\n return useCallbackRef(defaultValue, function (newValue) {\n return refs.forEach(function (ref) {\n return assignRef(ref, newValue);\n });\n });\n}","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\n\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () {\n return {\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n\n set current(value) {\n var last = ref.value;\n\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n }\n\n }\n };\n })[0]; // update callback\n\n ref.callback = callback;\n return ref.facade;\n}","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n\n return ref;\n}","import * as React from 'react';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\n\nvar InFocusGuard = function InFocusGuard(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\n\nInFocusGuard.defaultProps = {\n children: null\n};\nexport default InFocusGuard;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\n\n/* global Reflect, Promise */\nvar _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (b.hasOwnProperty(p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return _assign.apply(this, arguments);\n};\n\nexport { _assign as __assign };\nexport function __rest(s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n}\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length,\n r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,\n d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {\n if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n }\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nexport function __param(paramIndex, decorator) {\n return function (target, key) {\n decorator(target, key, paramIndex);\n };\n}\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\nexport function __generator(thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nexport function __createBinding(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}\nexport function __exportStar(m, exports) {\n for (var p in m) {\n if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\n }\n}\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator,\n m = s && o[s],\n i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function next() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o),\n r,\n ar = [],\n e;\n\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) {\n ar.push(r.value);\n }\n } catch (error) {\n e = {\n error: error\n };\n } finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally {\n if (e) throw e.error;\n }\n }\n\n return ar;\n}\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++) {\n ar = ar.concat(__read(arguments[i]));\n }\n\n return ar;\n}\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}\n;\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []),\n i,\n q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i;\n\n function verb(n) {\n if (g[n]) i[n] = function (v) {\n return new Promise(function (a, b) {\n q.push([n, v, a, b]) > 1 || resume(n, v);\n });\n };\n }\n\n function resume(n, v) {\n try {\n step(g[n](v));\n } catch (e) {\n settle(q[0][3], e);\n }\n }\n\n function step(r) {\n r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);\n }\n\n function fulfill(value) {\n resume(\"next\", value);\n }\n\n function reject(value) {\n resume(\"throw\", value);\n }\n\n function settle(f, v) {\n if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);\n }\n}\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) {\n throw e;\n }), verb(\"return\"), i[Symbol.iterator] = function () {\n return this;\n }, i;\n\n function verb(n, f) {\n i[n] = o[n] ? function (v) {\n return (p = !p) ? {\n value: __await(o[n](v)),\n done: n === \"return\"\n } : f ? f(v) : v;\n } : f;\n }\n}\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator],\n i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () {\n return this;\n }, i);\n\n function verb(n) {\n i[n] = o[n] && function (v) {\n return new Promise(function (resolve, reject) {\n v = o[n](v), settle(resolve, reject, v.done, v.value);\n });\n };\n }\n\n function settle(resolve, reject, d, v) {\n Promise.resolve(v).then(function (v) {\n resolve({\n value: v,\n done: d\n });\n }, reject);\n }\n}\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", {\n value: raw\n });\n } else {\n cooked.raw = raw;\n }\n\n return cooked;\n}\n;\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) {\n if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n }\n result.default = mod;\n return result;\n}\nexport function __importDefault(mod) {\n return mod && mod.__esModule ? mod : {\n default: mod\n };\n}\nexport function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n\n return privateMap.get(receiver);\n}\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n\n privateMap.set(receiver, value);\n return value;\n}","import * as tslib_1 from \"tslib\";\n\nfunction ItoI(a) {\n return a;\n}\n\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) {\n middleware = ItoI;\n }\n\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function read() {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n\n return defaults;\n },\n useMedium: function useMedium(data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) {\n return x !== item;\n });\n };\n },\n assignSyncMedium: function assignSyncMedium(cb) {\n assigned = true;\n\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n\n buffer = {\n push: function push(x) {\n return cb(x);\n },\n filter: function filter() {\n return buffer;\n }\n };\n },\n assignMedium: function assignMedium(cb) {\n assigned = true;\n var pendingQueue = [];\n\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n\n var executeQueue = function executeQueue() {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n\n var cycle = function cycle() {\n return Promise.resolve().then(executeQueue);\n };\n\n cycle();\n buffer = {\n push: function push(x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function filter(_filter) {\n pendingQueue = pendingQueue.filter(_filter);\n return buffer;\n }\n };\n }\n };\n return medium;\n}\n\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) {\n middleware = ItoI;\n }\n\n return innerCreateMedium(defaults, middleware);\n}\nexport function createSidecarMedium(options) {\n if (options === void 0) {\n options = {};\n }\n\n var medium = innerCreateMedium(null);\n medium.options = tslib_1.__assign({\n async: true,\n ssr: false\n }, options);\n return medium;\n}","import { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport * as constants from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/React.forwardRef(function FocusLockUI(props, parentRef) {\n var _extends2;\n\n var _React$useState = React.useState(),\n realObserved = _React$useState[0],\n setObserved = _React$useState[1];\n\n var observed = React.useRef();\n var isActive = React.useRef(false);\n var originalFocusedElement = React.useRef(null);\n var children = props.children,\n disabled = props.disabled,\n noFocusGuards = props.noFocusGuards,\n persistentFocus = props.persistentFocus,\n crossFrame = props.crossFrame,\n autoFocus = props.autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n shouldReturnFocus = props.returnFocus,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n\n var _React$useState2 = React.useState({}),\n id = _React$useState2[0]; // SIDE EFFECT CALLBACKS\n\n\n var onActivation = React.useCallback(function () {\n originalFocusedElement.current = originalFocusedElement.current || document && document.activeElement;\n\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n\n isActive.current = true;\n }, [onActivationCallback]);\n var onDeactivation = React.useCallback(function () {\n isActive.current = false;\n\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n }, [onDeactivationCallback]);\n var returnFocus = React.useCallback(function (allowDefer) {\n var current = originalFocusedElement.current;\n\n if (Boolean(shouldReturnFocus) && current && current.focus) {\n var focusOptions = typeof shouldReturnFocus === 'object' ? shouldReturnFocus : undefined;\n originalFocusedElement.current = null;\n\n if (allowDefer) {\n // React might return focus after update\n // it's safer to defer the action\n Promise.resolve().then(function () {\n return current.focus(focusOptions);\n });\n } else {\n current.focus(focusOptions);\n }\n }\n }, [shouldReturnFocus]); // MEDIUM CALLBACKS\n\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium; // REF PROPAGATION\n // not using real refs due to race conditions\n\n var setObserveNode = React.useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n\n React.useEffect(function () {\n if (!observed.current) {\n // eslint-disable-next-line no-console\n console.error('FocusLock: could not obtain ref to internal node');\n }\n }, []);\n }\n\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, hasLeadingGuards && [/*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }),\n /*#__PURE__*/\n // nearest focus guard\n React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) // first tabbed element guard\n ], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), children), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.defaultProps = {\n children: undefined,\n disabled: false,\n returnFocus: false,\n noFocusGuards: false,\n autoFocus: true,\n persistentFocus: false,\n crossFrame: true,\n allowTextSelection: undefined,\n group: undefined,\n className: undefined,\n whiteList: undefined,\n shards: undefined,\n as: 'div',\n lockProps: {},\n onActivation: undefined,\n onDeactivation: undefined\n};\nexport default FocusLock;","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;","export default function _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}","var isRadio = function isRadio(node) {\n return node.tagName === 'INPUT' && node.type === 'radio';\n};\n\nvar findSelectedRadio = function findSelectedRadio(node, nodes) {\n return nodes.filter(isRadio).filter(function (el) {\n return el.name === node.name;\n }).filter(function (el) {\n return el.checked;\n })[0] || node;\n};\n\nexport var correctNode = function correctNode(node, nodes) {\n if (isRadio(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n\n return node;\n};\nexport var correctNodes = function correctNodes(nodes) {\n var resultSet = new Set();\n nodes.forEach(function (node) {\n return resultSet.add(correctNode(node, nodes));\n });\n return nodes.filter(function (node) {\n return resultSet.has(node);\n });\n};","import { correctNode } from './correctFocus';\nexport var pickFirstFocus = function pickFirstFocus(nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n\n return nodes[0];\n};\nexport var pickFocusable = function pickFocusable(nodes, index) {\n if (nodes.length > 1) {\n return nodes.indexOf(correctNode(nodes[index], nodes));\n }\n\n return index;\n};","var isElementHidden = function isElementHidden(computedStyle) {\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n\n return computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden';\n};\n\nvar isVisibleUncached = function isVisibleUncached(node, checkParent) {\n return !node || node === document || node && node.nodeType === Node.DOCUMENT_NODE || !isElementHidden(window.getComputedStyle(node, null)) && checkParent(node.parentNode && node.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? node.parentNode.host : node.parentNode);\n};\n\nexport var isVisibleCached = function isVisibleCached(visibilityCache, node) {\n var cached = visibilityCache.get(node);\n\n if (cached !== undefined) {\n return cached;\n }\n\n var result = isVisibleUncached(node, isVisibleCached.bind(undefined, visibilityCache));\n visibilityCache.set(node, result);\n return result;\n};\nexport var notHiddenInput = function notHiddenInput(node) {\n return !((node.tagName === 'INPUT' || node.tagName === 'BUTTON') && (node.type === 'hidden' || node.disabled));\n};\nexport var isGuard = function isGuard(node) {\n return Boolean(node && node.dataset && node.dataset.focusGuard);\n};\nexport var isNotAGuard = function isNotAGuard(node) {\n return !isGuard(node);\n};\nexport var isDefined = function isDefined(x) {\n return Boolean(x);\n};","import { correctNodes } from './utils/correctFocus';\nimport { pickFocusable } from './utils/firstFocus';\nimport { isGuard } from './utils/is';\nexport var NEW_FOCUS = 'NEW_FOCUS';\nexport var newFocus = function newFocus(innerNodes, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n\n if (innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n\n var activeIndex = outerNodes.indexOf(activeElement);\n var lastIndex = lastNode ? outerNodes.indexOf(lastNode) : activeIndex;\n var lastNodeInside = lastNode ? innerNodes.indexOf(lastNode) : -1;\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n var correctedNodes = correctNodes(outerNodes);\n var correctedIndexDiff = correctedNodes.indexOf(activeElement) - (lastNode ? correctedNodes.indexOf(lastNode) : activeIndex);\n var returnFirstNode = pickFocusable(innerNodes, 0);\n var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n\n if (activeIndex === -1 || lastNodeInside === -1) {\n return NEW_FOCUS;\n }\n\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n\n if (activeIndex >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n\n if (indexDiff && Math.abs(correctedIndexDiff) > 1) {\n return lastNodeInside;\n }\n\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n\n return undefined;\n};","export var toArray = function toArray(a) {\n var ret = Array(a.length);\n\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n\n return ret;\n};\nexport var asArray = function asArray(a) {\n return Array.isArray(a) ? a : [a];\n};","import { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n\nvar filterNested = function filterNested(nodes) {\n var contained = new Set();\n var l = nodes.length;\n\n for (var i = 0; i < l; i += 1) {\n for (var j = i + 1; j < l; j += 1) {\n var position = nodes[i].compareDocumentPosition(nodes[j]);\n\n if ((position & Node.DOCUMENT_POSITION_CONTAINED_BY) > 0) {\n contained.add(j);\n }\n\n if ((position & Node.DOCUMENT_POSITION_CONTAINS) > 0) {\n contained.add(i);\n }\n }\n }\n\n return nodes.filter(function (_, index) {\n return !contained.has(index);\n });\n};\n\nvar getTopParent = function getTopParent(node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n\nexport var getAllAffectedNodes = function getAllAffectedNodes(node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, group ? filterNested(toArray(getTopParent(currentNode).querySelectorAll(\"[\" + FOCUS_GROUP + \"=\\\"\" + group + \"\\\"]:not([\" + FOCUS_DISABLED + \"=\\\"disabled\\\"])\"))) : [currentNode]);\n return acc;\n }, []);\n};","import { toArray } from './array';\nexport var tabSort = function tabSort(a, b) {\n var tabDiff = a.tabIndex - b.tabIndex;\n var indexDiff = a.index - b.index;\n\n if (tabDiff) {\n if (!a.tabIndex) {\n return 1;\n }\n\n if (!b.tabIndex) {\n return -1;\n }\n }\n\n return tabDiff || indexDiff;\n};\nexport var orderByTabIndex = function orderByTabIndex(nodes, filterNegative, keepGuards) {\n return toArray(nodes).map(function (node, index) {\n return {\n node: node,\n index: index,\n tabIndex: keepGuards && node.tabIndex === -1 ? (node.dataset || {}).focusGuard ? 0 : -1 : node.tabIndex\n };\n }).filter(function (data) {\n return !filterNegative || data.tabIndex >= 0;\n }).sort(tabSort);\n};","import { FOCUS_AUTO } from '../constants';\nimport { toArray } from './array';\nimport { tabbables } from './tabbables';\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = queryTabbables + \", [data-focus-guard]\";\nexport var getFocusables = function getFocusables(parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n return acc.concat(toArray(parent.querySelectorAll(withGuards ? queryGuardTabbables : queryTabbables)), parent.parentNode ? toArray(parent.parentNode.querySelectorAll(queryTabbables)).filter(function (node) {\n return node === parent;\n }) : []);\n }, []);\n};\nexport var getParentAutofocusables = function getParentAutofocusables(parent) {\n var parentFocus = parent.querySelectorAll(\"[\" + FOCUS_AUTO + \"]\");\n return toArray(parentFocus).map(function (node) {\n return getFocusables([node]);\n }).reduce(function (acc, nodes) {\n return acc.concat(nodes);\n }, []);\n};","export var tabbables = ['button:enabled', 'select:enabled', 'textarea:enabled', 'input:enabled', 'a[href]', 'area[href]', 'summary', 'iframe', 'object', 'embed', 'audio[controls]', 'video[controls]', '[tabindex]', '[contenteditable]', '[autofocus]'];","import { toArray } from './array';\nimport { isVisibleCached, notHiddenInput } from './is';\nimport { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\nexport var filterFocusable = function filterFocusable(nodes, visibilityCache) {\n return toArray(nodes).filter(function (node) {\n return isVisibleCached(visibilityCache, node);\n }).filter(function (node) {\n return notHiddenInput(node);\n });\n};\nexport var getTabbableNodes = function getTabbableNodes(topNodes, visibilityCache, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards), visibilityCache), true, withGuards);\n};\nexport var getAllTabbableNodes = function getAllTabbableNodes(topNodes, visibilityCache) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes), visibilityCache), false);\n};\nexport var parentAutofocusables = function parentAutofocusables(topNode, visibilityCache) {\n return filterFocusable(getParentAutofocusables(topNode), visibilityCache);\n};","import { asArray } from './array';\nimport { parentAutofocusables } from './DOMutils';\n\nvar getParents = function getParents(node, parents) {\n if (parents === void 0) {\n parents = [];\n }\n\n parents.push(node);\n\n if (node.parentNode) {\n getParents(node.parentNode, parents);\n }\n\n return parents;\n};\n\nexport var getCommonParent = function getCommonParent(nodeA, nodeB) {\n var parentsA = getParents(nodeA);\n var parentsB = getParents(nodeB);\n\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n\n return false;\n};\nexport var getTopCommonParent = function getTopCommonParent(baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = false;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n\n if (common) {\n if (!topCommon || common.contains(topCommon)) {\n topCommon = common;\n } else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n return topCommon;\n};\nexport var allParentAutofocusables = function allParentAutofocusables(entries, visibilityCache) {\n return entries.reduce(function (acc, node) {\n return acc.concat(parentAutofocusables(node, visibilityCache));\n }, []);\n};","import { NEW_FOCUS, newFocus } from './solver';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getAllTabbableNodes, getTabbableNodes } from './utils/DOMutils';\nimport { pickFirstFocus } from './utils/firstFocus';\nimport { isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\n\nvar findAutoFocused = function findAutoFocused(autoFocusables) {\n return function (node) {\n return node.autofocus || node.dataset && !!node.dataset.autofocus || autoFocusables.indexOf(node) >= 0;\n };\n};\n\nvar reorderNodes = function reorderNodes(srcNodes, dstNodes) {\n var remap = new Map();\n dstNodes.forEach(function (entity) {\n return remap.set(entity.node, entity);\n });\n return srcNodes.map(function (node) {\n return remap.get(node);\n }).filter(isDefined);\n};\n\nexport var getFocusMerge = function getFocusMerge(topNode, lastNode) {\n var activeElement = document && document.activeElement;\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n var visibilityCache = new Map();\n var anyFocusable = getAllTabbableNodes(entries, visibilityCache);\n var innerElements = getTabbableNodes(entries, visibilityCache).filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n });\n\n if (!innerElements[0]) {\n innerElements = anyFocusable;\n\n if (!innerElements[0]) {\n return undefined;\n }\n }\n\n var outerNodes = getAllTabbableNodes([commonParent], visibilityCache).map(function (_a) {\n var node = _a.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n var innerNodes = orderedInnerElements.map(function (_a) {\n var node = _a.node;\n return node;\n });\n var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode);\n\n if (newId === NEW_FOCUS) {\n var autoFocusable = anyFocusable.map(function (_a) {\n var node = _a.node;\n return node;\n }).filter(findAutoFocused(allParentAutofocusables(entries, visibilityCache)));\n return {\n node: autoFocusable && autoFocusable.length ? pickFirstFocus(autoFocusable) : pickFirstFocus(innerNodes)\n };\n }\n\n if (newId === undefined) {\n return newId;\n }\n\n return orderedInnerElements[newId];\n};","import { getFocusMerge } from './focusMerge';\nexport var focusOn = function focusOn(target) {\n target.focus();\n\n if ('contentWindow' in target && target.contentWindow) {\n target.contentWindow.focus();\n }\n};\nvar guardCount = 0;\nvar lockDisabled = false;\nexport var setFocus = function setFocus(topNode, lastNode) {\n var focusable = getFocusMerge(topNode, lastNode);\n\n if (lockDisabled) {\n return;\n }\n\n if (focusable) {\n if (guardCount > 2) {\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' + 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n\n guardCount++;\n focusOn(focusable.node);\n guardCount--;\n }\n};","import * as constants from './constants';\nimport { getFocusabledIn } from './focusables';\nimport { focusInside } from './focusInside';\nimport { focusIsHidden } from './focusIsHidden';\nimport { getFocusMerge as focusMerge } from './focusMerge';\nimport { setFocus } from './setFocus';\nimport { focusNextElement, focusPrevElement } from './sibling';\nimport tabHook from './tabHook';\nimport { getAllAffectedNodes } from './utils/all-affected';\nexport { tabHook, focusInside, focusIsHidden, focusMerge, getFocusabledIn, constants, getAllAffectedNodes, focusNextElement, focusPrevElement };\nexport default setFocus;","import { getAllAffectedNodes } from './utils/all-affected';\nimport { toArray } from './utils/array';\n\nvar focusInFrame = function focusInFrame(frame) {\n return frame === document.activeElement;\n};\n\nvar focusInsideIframe = function focusInsideIframe(topNode) {\n return Boolean(toArray(topNode.querySelectorAll('iframe')).some(function (node) {\n return focusInFrame(node);\n }));\n};\n\nexport var focusInside = function focusInside(topNode) {\n var activeElement = document && document.activeElement;\n\n if (!activeElement || activeElement.dataset && activeElement.dataset.focusGuard) {\n return false;\n }\n\n return getAllAffectedNodes(topNode).reduce(function (result, node) {\n return result || node.contains(activeElement) || focusInsideIframe(node);\n }, false);\n};","export function deferAction(action) {\n // Hidding setImmediate from Webpack to avoid inserting polyfill\n var _window = window,\n setImmediate = _window.setImmediate;\n\n if (typeof setImmediate !== 'undefined') {\n setImmediate(action);\n } else {\n setTimeout(action, 1);\n }\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","import * as React from 'react';\nimport withSideEffect from 'react-clientside-effect';\nimport moveFocusInside, { focusInside, focusIsHidden, getFocusabledIn } from 'focus-lock';\nimport { deferAction } from './util';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\n\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\n\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\n\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\n\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\n\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\n\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\n\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\n\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n\n do {\n var item = allNodes[i];\n\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n // we will tab to the next element\n return;\n }\n\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\n\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n // with cross frame return true for any value\n return Boolean(focusWasOutsideWindow);\n } // in other case return only of focus went a while aho\n\n\n return focusWasOutsideWindow === 'meanwhile';\n};\n\nvar activateTrap = function activateTrap() {\n var result = false;\n\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards,\n crossFrame = _lastActiveTrap.crossFrame;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n var activeElement = document && document.activeElement;\n\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || focusWasOutside(crossFrame) || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !(focusInside(workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n // Check if blur() exists, which is missing on certain elements on IE\n if (activeElement.blur) {\n activeElement.blur();\n }\n\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus);\n lastPortaledElement = {};\n }\n }\n\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n }\n }\n\n if (document) {\n var newActiveElement = document && document.activeElement;\n var allNodes = getFocusabledIn(workingArea);\n var focusedIndex = allNodes.map(function (_ref) {\n var node = _ref.node;\n return node;\n }).indexOf(newActiveElement);\n\n if (focusedIndex > -1) {\n // remove old focus\n allNodes.filter(function (_ref2) {\n var guard = _ref2.guard,\n node = _ref2.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref3) {\n var node = _ref3.node;\n return node.removeAttribute('tabIndex');\n });\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n\n return result;\n};\n\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n // prevent scroll jump\n event.stopPropagation();\n event.preventDefault();\n }\n};\n\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\n\nvar onFocus = function onFocus(event) {\n // detect portal\n var source = event.target;\n var currentNode = event.currentTarget;\n\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\n\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\n\nvar FocusTrap = function FocusTrap(_ref4) {\n var children = _ref4.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\n\nvar onWindowBlur = function onWindowBlur() {\n focusWasOutsideWindow = 'just'; // using setTimeout to set this variable after React/sidecar reaction\n\n setTimeout(function () {\n focusWasOutsideWindow = 'meanwhile';\n }, 0);\n};\n\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap, true);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('blur', onWindowBlur);\n};\n\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap, true);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('blur', onWindowBlur);\n};\n\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref5) {\n var disabled = _ref5.disabled;\n return !disabled;\n });\n}\n\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation(); // return focus only of last trap was removed\n\n if (!traps.filter(function (_ref6) {\n var id = _ref6.id;\n return id === lastTrap.id;\n }).length) {\n // allow defer is no other trap is awaiting restore\n lastTrap.returnFocus(!trap);\n }\n }\n\n if (trap) {\n lastActiveFocus = null;\n\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation();\n }\n\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n} // bind medium\n\n\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb({\n moveFocusInside: moveFocusInside,\n focusInside: focusInside\n });\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import { FOCUS_ALLOW } from './constants';\nimport { toArray } from './utils/array';\nexport var focusIsHidden = function focusIsHidden() {\n return document && toArray(document.querySelectorAll(\"[\" + FOCUS_ALLOW + \"]\")).some(function (node) {\n return node.contains(document.activeElement);\n });\n};","import { getAllAffectedNodes } from './utils/all-affected';\nimport { getTabbableNodes } from './utils/DOMutils';\nimport { isGuard, isNotAGuard } from './utils/is';\nimport { getTopCommonParent } from './utils/parenting';\nexport var getFocusabledIn = function getFocusabledIn(topNode) {\n var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var visibilityCache = new Map();\n var outerNodes = getTabbableNodes([commonParent], visibilityCache, true);\n var innerElements = getTabbableNodes(entries, visibilityCache).filter(function (_a) {\n var node = _a.node;\n return isNotAGuard(node);\n }).map(function (_a) {\n var node = _a.node;\n return node;\n });\n return outerNodes.map(function (_a) {\n var node = _a.node,\n index = _a.index;\n return {\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node)\n };\n });\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport FocusLockUI from './Lock';\nimport FocusTrap from './Trap';\n/* that would be a BREAKING CHANGE!\n// delaying sidecar execution till the first usage\nconst RequireSideCar = (props) => {\n // eslint-disable-next-line global-require\n const SideCar = require('./Trap').default;\n return ;\n};\n*/\n\nvar FocusLockCombination = /*#__PURE__*/React.forwardRef(function FocusLockUICombination(props, ref) {\n return /*#__PURE__*/React.createElement(FocusLockUI, _extends({\n sideCar: FocusTrap,\n ref: ref\n }, props));\n});\n\nvar _ref = FocusLockUI.propTypes || {},\n sideCar = _ref.sideCar;\n\nexport default FocusLockCombination;","import FocusLock from './Combination';\nexport * from './UI';\nexport default FocusLock;","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();","import * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { effectCar } from './medium';\nimport { useMergeRefs } from 'use-callback-ref';\n\nvar nothing = function nothing() {\n return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\n\n\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n var ref = React.useRef(null);\n\n var _a = React.useState({\n onScrollCapture: nothing,\n onWheelCapture: nothing,\n onTouchMoveCapture: nothing\n }),\n callbacks = _a[0],\n setCallbacks = _a[1];\n\n var forwardProps = props.forwardProps,\n children = props.children,\n className = props.className,\n removeScrollBar = props.removeScrollBar,\n enabled = props.enabled,\n shards = props.shards,\n sideCar = props.sideCar,\n noIsolation = props.noIsolation,\n inert = props.inert,\n allowPinchZoom = props.allowPinchZoom,\n _b = props.as,\n Container = _b === void 0 ? 'div' : _b,\n rest = tslib_1.__rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\"]);\n\n var SideCar = sideCar;\n var containerRef = useMergeRefs([ref, parentRef]);\n\n var containerProps = tslib_1.__assign({}, rest, callbacks);\n\n return React.createElement(React.Fragment, null, enabled && React.createElement(SideCar, {\n sideCar: effectCar,\n removeScrollBar: removeScrollBar,\n shards: shards,\n noIsolation: noIsolation,\n inert: inert,\n setCallbacks: setCallbacks,\n allowPinchZoom: !!allowPinchZoom,\n lockRef: ref\n }), forwardProps ? React.cloneElement(React.Children.only(children), tslib_1.__assign({}, containerProps, {\n ref: containerRef\n })) : React.createElement(Container, tslib_1.__assign({}, containerProps, {\n className: className,\n ref: containerRef\n }), children));\n});\nRemoveScroll.defaultProps = {\n enabled: true,\n removeScrollBar: true,\n inert: false\n};\nRemoveScroll.classNames = {\n fullWidth: fullWidthClassName,\n zeroRight: zeroRightClassName\n};\nexport { RemoveScroll };","import * as tslib_1 from \"tslib\";\nimport * as React from 'react';\n\nvar SideCar = function SideCar(_a) {\n var sideCar = _a.sideCar,\n rest = tslib_1.__rest(_a, [\"sideCar\"]);\n\n if (!sideCar) {\n throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n }\n\n var Target = sideCar.read();\n\n if (!Target) {\n throw new Error('Sidecar medium not found');\n }\n\n return React.createElement(Target, tslib_1.__assign({}, rest));\n};\n\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n medium.useMedium(exported);\n return SideCar;\n}","var currentNonce;\nexport var setNonce = function setNonce(nonce) {\n currentNonce = nonce;\n};\nexport var getNonce = function getNonce() {\n if (currentNonce) {\n return currentNonce;\n }\n\n if (typeof __webpack_nonce__ !== 'undefined') {\n return __webpack_nonce__;\n }\n\n return undefined;\n};","import { getNonce } from \"get-nonce\";\n\nfunction makeStyleTag() {\n if (!document) return null;\n var tag = document.createElement('style');\n tag.type = 'text/css';\n var nonce = getNonce();\n\n if (nonce) {\n tag.setAttribute('nonce', nonce);\n }\n\n return tag;\n}\n\nfunction injectStyles(tag, css) {\n if (tag.styleSheet) {\n tag.styleSheet.cssText = css;\n } else {\n tag.appendChild(document.createTextNode(css));\n }\n}\n\nfunction insertStyleTag(tag) {\n var head = document.head || document.getElementsByTagName('head')[0];\n head.appendChild(tag);\n}\n\nexport var stylesheetSingleton = function stylesheetSingleton() {\n var counter = 0;\n var stylesheet = null;\n return {\n add: function add(style) {\n if (counter == 0) {\n if (stylesheet = makeStyleTag()) {\n injectStyles(stylesheet, style);\n insertStyleTag(stylesheet);\n }\n }\n\n counter++;\n },\n remove: function remove() {\n counter--;\n\n if (!counter && stylesheet) {\n stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n stylesheet = null;\n }\n }\n };\n};","import { styleHookSingleton } from \"./hook\";\nexport var styleSingleton = function styleSingleton() {\n var useStyle = styleHookSingleton();\n\n var Sheet = function Sheet(_a) {\n var styles = _a.styles;\n useStyle(styles);\n return null;\n };\n\n return Sheet;\n};","import * as React from 'react';\nimport { stylesheetSingleton } from \"./singleton\";\nexport var styleHookSingleton = function styleHookSingleton() {\n var sheet = stylesheetSingleton();\n return function (styles) {\n React.useEffect(function () {\n sheet.add(styles);\n return function () {\n sheet.remove();\n };\n }, []);\n };\n};","export var zeroGap = {\n left: 0,\n top: 0,\n right: 0,\n gap: 0\n};\n\nvar parse = function parse(x) {\n return parseInt(x || '', 10) || 0;\n};\n\nvar getOffset = function getOffset(gapMode) {\n var cs = window.getComputedStyle(document.body);\n var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n return [parse(left), parse(top), parse(right)];\n};\n\nexport var getGapWidth = function getGapWidth(gapMode) {\n if (gapMode === void 0) {\n gapMode = 'margin';\n }\n\n if (typeof window === 'undefined') {\n return zeroGap;\n }\n\n var offsets = getOffset(gapMode);\n var documentWidth = document.documentElement.clientWidth;\n var windowWidth = window.innerWidth;\n return {\n left: offsets[0],\n top: offsets[1],\n right: offsets[2],\n gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0])\n };\n};","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { getGapWidth } from './utils';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from \"./constants\";\nvar Style = styleSingleton();\n\nvar getStyles = function getStyles(_a, allowRelative, gapMode, important) {\n var left = _a.left,\n top = _a.top,\n right = _a.right,\n gap = _a.gap;\n\n if (gapMode === void 0) {\n gapMode = 'margin';\n }\n\n return \"\\n .\" + noScrollbarsClassName + \" {\\n overflow: hidden \" + important + \";\\n padding-right: \" + gap + \"px \" + important + \";\\n }\\n body {\\n overflow: hidden \" + important + \";\\n \" + [allowRelative && \"position: relative \" + important + \";\", gapMode === 'margin' && \"\\n padding-left: \" + left + \"px;\\n padding-top: \" + top + \"px;\\n padding-right: \" + right + \"px;\\n margin-left:0;\\n margin-top:0;\\n margin-right: \" + gap + \"px \" + important + \";\\n \", gapMode === 'padding' && \"padding-right: \" + gap + \"px \" + important + \";\"].filter(Boolean).join('') + \"\\n }\\n \\n .\" + zeroRightClassName + \" {\\n right: \" + gap + \"px \" + important + \";\\n }\\n \\n .\" + fullWidthClassName + \" {\\n margin-right: \" + gap + \"px \" + important + \";\\n }\\n \\n .\" + zeroRightClassName + \" .\" + zeroRightClassName + \" {\\n right: 0 \" + important + \";\\n }\\n \\n .\" + fullWidthClassName + \" .\" + fullWidthClassName + \" {\\n margin-right: 0 \" + important + \";\\n }\\n \\n body {\\n \" + removedBarSizeVariable + \": \" + gap + \"px;\\n }\\n\";\n};\n\nexport var RemoveScrollBar = function RemoveScrollBar(props) {\n var _a = React.useState(getGapWidth(props.gapMode)),\n gap = _a[0],\n setGap = _a[1];\n\n React.useEffect(function () {\n setGap(getGapWidth(props.gapMode));\n }, [props.gapMode]);\n var noRelative = props.noRelative,\n noImportant = props.noImportant,\n _b = props.gapMode,\n gapMode = _b === void 0 ? 'margin' : _b;\n return React.createElement(Style, {\n styles: getStyles(gap, !noRelative, gapMode, !noImportant ? \"!important\" : '')\n });\n};","var elementCouldBeVScrolled = function elementCouldBeVScrolled(node) {\n var styles = window.getComputedStyle(node);\n return styles.overflowY !== 'hidden' && // not-not-scrollable\n !(styles.overflowY === styles.overflowX && styles.overflowY === 'visible') // scrollable\n ;\n};\n\nvar elementCouldBeHScrolled = function elementCouldBeHScrolled(node) {\n var styles = window.getComputedStyle(node); // we allow horizontal scroll on range elements\n\n if (node.type === \"range\") {\n return true;\n }\n\n return styles.overflowX !== 'hidden' && // not-not-scrollable\n !(styles.overflowY === styles.overflowX && styles.overflowX === 'visible') // scrollable\n ;\n};\n\nexport var locationCouldBeScrolled = function locationCouldBeScrolled(axis, node) {\n var current = node;\n\n do {\n // Skip over shadow root\n if (typeof ShadowRoot !== \"undefined\" && current instanceof ShadowRoot) {\n current = current.host;\n }\n\n var isScrollable = elementCouldBeScrolled(axis, current);\n\n if (isScrollable) {\n var _a = getScrollVariables(axis, current),\n s = _a[1],\n d = _a[2];\n\n if (s > d) {\n return true;\n }\n }\n\n current = current.parentNode;\n } while (current && current !== document.body);\n\n return false;\n};\n\nvar getVScrollVariables = function getVScrollVariables(_a) {\n var scrollTop = _a.scrollTop,\n scrollHeight = _a.scrollHeight,\n clientHeight = _a.clientHeight;\n return [scrollTop, scrollHeight, clientHeight];\n};\n\nvar getHScrollVariables = function getHScrollVariables(_a) {\n var scrollLeft = _a.scrollLeft,\n scrollWidth = _a.scrollWidth,\n clientWidth = _a.clientWidth;\n return [scrollLeft, scrollWidth, clientWidth];\n};\n\nvar elementCouldBeScrolled = function elementCouldBeScrolled(axis, node) {\n return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\n\nvar getScrollVariables = function getScrollVariables(axis, node) {\n return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\n\nexport var handleScroll = function handleScroll(axis, endTarget, event, sourceDelta, noOverscroll) {\n var delta = sourceDelta; // find scrollable target\n\n var target = event.target;\n var targetInLock = endTarget.contains(target);\n var shouldCancelScroll = false;\n var isDeltaPositive = delta > 0;\n var availableScroll = 0;\n var availableScrollTop = 0;\n\n do {\n var _a = getScrollVariables(axis, target),\n position = _a[0],\n scroll_1 = _a[1],\n capacity = _a[2];\n\n var elementScroll = scroll_1 - capacity - position;\n\n if (position || elementScroll) {\n if (elementCouldBeScrolled(axis, target)) {\n availableScroll += elementScroll;\n availableScrollTop += position;\n }\n }\n\n target = target.parentNode;\n } while ( // portaled content\n !targetInLock && target !== document.body || // self content\n targetInLock && (endTarget.contains(target) || endTarget === target));\n\n if (isDeltaPositive && (noOverscroll && availableScroll === 0 || !noOverscroll && delta > availableScroll)) {\n shouldCancelScroll = true;\n } else if (!isDeltaPositive && (noOverscroll && availableScrollTop === 0 || !noOverscroll && -delta > availableScrollTop)) {\n shouldCancelScroll = true;\n }\n\n return shouldCancelScroll;\n};","var passiveSupported = false;\n\nif (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passiveSupported = true;\n return true;\n }\n });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (err) {\n passiveSupported = false;\n }\n}\n\nexport var nonPassive = passiveSupported ? {\n passive: false\n} : false;","import * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nimport { nonPassive } from './aggresiveCapture';\nexport var getTouchXY = function getTouchXY(event) {\n return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function getDeltaXY(event) {\n return [event.deltaX, event.deltaY];\n};\n\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar deltaCompare = function deltaCompare(x, y) {\n return x[0] === y[0] && x[1] === y[1];\n};\n\nvar generateStyle = function generateStyle(id) {\n return \"\\n .block-interactivity-\" + id + \" {pointer-events: none;}\\n .allow-interactivity-\" + id + \" {pointer-events: all;}\\n\";\n};\n\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n var shouldPreventQueue = React.useRef([]);\n var touchStartRef = React.useRef([0, 0]);\n var activeAxis = React.useRef();\n var id = React.useState(idCounter++)[0];\n var Style = React.useState(function () {\n return styleSingleton();\n })[0];\n var lastProps = React.useRef(props);\n React.useEffect(function () {\n lastProps.current = props;\n }, [props]);\n React.useEffect(function () {\n if (props.inert) {\n document.body.classList.add(\"block-interactivity-\" + id);\n var allow_1 = [props.lockRef.current].concat((props.shards || []).map(extractRef)).filter(Boolean);\n allow_1.forEach(function (el) {\n return el.classList.add(\"allow-interactivity-\" + id);\n });\n return function () {\n document.body.classList.remove(\"block-interactivity-\" + id);\n allow_1.forEach(function (el) {\n return el.classList.remove(\"allow-interactivity-\" + id);\n });\n };\n }\n\n return;\n }, [props.inert, props.lockRef.current, props.shards]);\n var shouldCancelEvent = React.useCallback(function (event, parent) {\n if ('touches' in event && event.touches.length === 2) {\n return !lastProps.current.allowPinchZoom;\n }\n\n var touch = getTouchXY(event);\n var touchStart = touchStartRef.current;\n var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n var currentAxis;\n var target = event.target;\n var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n\n if (!canBeScrolledInMainDirection) {\n return true;\n }\n\n if (canBeScrolledInMainDirection) {\n currentAxis = moveDirection;\n } else {\n currentAxis = moveDirection === 'v' ? 'h' : 'v';\n canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target); // other axis might be not scrollable\n }\n\n if (!canBeScrolledInMainDirection) {\n return false;\n }\n\n if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n activeAxis.current = currentAxis;\n }\n\n if (!currentAxis) {\n return true;\n }\n\n var cancelingAxis = activeAxis.current || currentAxis;\n return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n }, []);\n var shouldPrevent = React.useCallback(function (_event) {\n var event = _event;\n\n if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n // not the last active\n return;\n }\n\n var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n var sourceEvent = shouldPreventQueue.current.filter(function (e) {\n return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta);\n })[0]; // self event, and should be canceled\n\n if (sourceEvent && sourceEvent.should) {\n event.preventDefault();\n return;\n } // outside or shard event\n\n\n if (!sourceEvent) {\n var shardNodes = (lastProps.current.shards || []).map(extractRef).filter(Boolean).filter(function (node) {\n return node.contains(event.target);\n });\n var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n\n if (shouldStop) {\n event.preventDefault();\n }\n }\n }, []);\n var shouldCancel = React.useCallback(function (name, delta, target, should) {\n var event = {\n name: name,\n delta: delta,\n target: target,\n should: should\n };\n shouldPreventQueue.current.push(event);\n setTimeout(function () {\n shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) {\n return e !== event;\n });\n }, 1);\n }, []);\n var scrollTouchStart = React.useCallback(function (event) {\n touchStartRef.current = getTouchXY(event);\n activeAxis.current = undefined;\n }, []);\n var scrollWheel = React.useCallback(function (event) {\n shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n var scrollTouchMove = React.useCallback(function (event) {\n shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n }, []);\n React.useEffect(function () {\n lockStack.push(Style);\n props.setCallbacks({\n onScrollCapture: scrollWheel,\n onWheelCapture: scrollWheel,\n onTouchMoveCapture: scrollTouchMove\n });\n document.addEventListener('wheel', shouldPrevent, nonPassive);\n document.addEventListener('touchmove', shouldPrevent, nonPassive);\n document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n return function () {\n lockStack = lockStack.filter(function (inst) {\n return inst !== Style;\n });\n document.removeEventListener('wheel', shouldPrevent, nonPassive);\n document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n };\n }, []);\n var removeScrollBar = props.removeScrollBar,\n inert = props.inert;\n return React.createElement(React.Fragment, null, inert ? React.createElement(Style, {\n styles: generateStyle(id)\n }) : null, removeScrollBar ? React.createElement(RemoveScrollBar, {\n gapMode: \"margin\"\n }) : null);\n}","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);","import * as tslib_1 from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) {\n return React.createElement(RemoveScroll, tslib_1.__assign({}, props, {\n ref: ref,\n sideCar: SideCar\n }));\n});\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;","import { forwardRef, useEffect, createElement, useRef, useCallback } from 'react';\nimport { Portal } from '@reach/portal';\nimport { getOwnerDocument } from '@reach/utils/owner-document';\nimport { isString } from '@reach/utils/type-check';\nimport { noop } from '@reach/utils/noop';\nimport { useCheckStyles } from '@reach/utils/dev-utils';\nimport { useComposedRefs } from '@reach/utils/compose-refs';\nimport { composeEventHandlers } from '@reach/utils/compose-event-handlers';\nimport FocusLock from 'react-focus-lock';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport PropTypes from 'prop-types';\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 _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar _excluded = [\"as\", \"isOpen\"],\n _excluded2 = [\"allowPinchZoom\", \"as\", \"dangerouslyBypassFocusLock\", \"dangerouslyBypassScrollLock\", \"initialFocusRef\", \"onClick\", \"onDismiss\", \"onKeyDown\", \"onMouseDown\", \"unstable_lockFocusAcrossFrames\"],\n _excluded3 = [\"as\", \"onClick\", \"onKeyDown\"],\n _excluded4 = [\"allowPinchZoom\", \"initialFocusRef\", \"isOpen\", \"onDismiss\"];\nvar overlayPropTypes = {\n allowPinchZoom: PropTypes.bool,\n dangerouslyBypassFocusLock: PropTypes.bool,\n dangerouslyBypassScrollLock: PropTypes.bool,\n // TODO:\n initialFocusRef: function initialFocusRef() {\n return null;\n },\n onDismiss: PropTypes.func\n}; ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * DialogOverlay\n *\n * Low-level component if you need more control over the styles or rendering of\n * the dialog overlay.\n *\n * Note: You must render a `DialogContent` inside.\n *\n * @see Docs https://reach.tech/dialog#dialogoverlay\n */\n\nvar DialogOverlay = /*#__PURE__*/forwardRef(function DialogOverlay(_ref, forwardedRef) {\n var _ref$as = _ref.as,\n Comp = _ref$as === void 0 ? \"div\" : _ref$as,\n _ref$isOpen = _ref.isOpen,\n isOpen = _ref$isOpen === void 0 ? true : _ref$isOpen,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n\n useCheckStyles(\"dialog\"); // We want to ignore the immediate focus of a tooltip so it doesn't pop\n // up again when the menu closes, only pops up when focus returns again\n // to the tooltip (like native OS tooltips).\n\n useEffect(function () {\n if (isOpen) {\n // @ts-ignore\n window.__REACH_DISABLE_TOOLTIPS = true;\n } else {\n window.requestAnimationFrame(function () {\n // Wait a frame so that this doesn't fire before tooltip does\n // @ts-ignore\n window.__REACH_DISABLE_TOOLTIPS = false;\n });\n }\n }, [isOpen]);\n return isOpen ? /*#__PURE__*/createElement(Portal, {\n \"data-reach-dialog-wrapper\": \"\"\n }, /*#__PURE__*/createElement(DialogInner, _extends({\n ref: forwardedRef,\n as: Comp\n }, props))) : null;\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n DialogOverlay.displayName = \"DialogOverlay\";\n DialogOverlay.propTypes = /*#__PURE__*/_extends({}, overlayPropTypes, {\n isOpen: PropTypes.bool\n });\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * DialogInner\n */\n\n\nvar DialogInner = /*#__PURE__*/forwardRef(function DialogInner(_ref2, forwardedRef) {\n var allowPinchZoom = _ref2.allowPinchZoom,\n _ref2$as = _ref2.as,\n Comp = _ref2$as === void 0 ? \"div\" : _ref2$as,\n _ref2$dangerouslyBypa = _ref2.dangerouslyBypassFocusLock,\n dangerouslyBypassFocusLock = _ref2$dangerouslyBypa === void 0 ? false : _ref2$dangerouslyBypa,\n _ref2$dangerouslyBypa2 = _ref2.dangerouslyBypassScrollLock,\n dangerouslyBypassScrollLock = _ref2$dangerouslyBypa2 === void 0 ? false : _ref2$dangerouslyBypa2,\n initialFocusRef = _ref2.initialFocusRef,\n onClick = _ref2.onClick,\n _ref2$onDismiss = _ref2.onDismiss,\n onDismiss = _ref2$onDismiss === void 0 ? noop : _ref2$onDismiss,\n onKeyDown = _ref2.onKeyDown,\n onMouseDown = _ref2.onMouseDown,\n unstable_lockFocusAcrossFrames = _ref2.unstable_lockFocusAcrossFrames,\n props = _objectWithoutPropertiesLoose(_ref2, _excluded2);\n\n var lockFocusAcrossFramesIsDefined = unstable_lockFocusAcrossFrames !== undefined;\n\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(function () {\n if (lockFocusAcrossFramesIsDefined) {\n console.warn(\"The unstable_lockFocusAcrossFrames in @reach/dialog is deprecated. It will be removed in the next minor release.\");\n }\n }, [lockFocusAcrossFramesIsDefined]);\n }\n\n var mouseDownTarget = useRef(null);\n var overlayNode = useRef(null);\n var ref = useComposedRefs(overlayNode, forwardedRef);\n var activateFocusLock = useCallback(function () {\n if (initialFocusRef && initialFocusRef.current) {\n initialFocusRef.current.focus();\n }\n }, [initialFocusRef]);\n\n function handleClick(event) {\n if (mouseDownTarget.current === event.target) {\n event.stopPropagation();\n onDismiss(event);\n }\n }\n\n function handleKeyDown(event) {\n if (event.key === \"Escape\") {\n event.stopPropagation();\n onDismiss(event);\n }\n }\n\n function handleMouseDown(event) {\n mouseDownTarget.current = event.target;\n }\n\n useEffect(function () {\n return overlayNode.current ? createAriaHider(overlayNode.current) : void null;\n }, []);\n return /*#__PURE__*/createElement(FocusLock, {\n autoFocus: true,\n returnFocus: true,\n onActivation: activateFocusLock,\n disabled: dangerouslyBypassFocusLock,\n crossFrame: unstable_lockFocusAcrossFrames != null ? unstable_lockFocusAcrossFrames : true\n }, /*#__PURE__*/createElement(RemoveScroll, {\n allowPinchZoom: allowPinchZoom,\n enabled: !dangerouslyBypassScrollLock\n }, /*#__PURE__*/createElement(Comp, _extends({}, props, {\n ref: ref,\n \"data-reach-dialog-overlay\": \"\"\n /*\n * We can ignore the `no-static-element-interactions` warning here\n * because our overlay is only designed to capture any outside\n * clicks, not to serve as a clickable element itself.\n */\n ,\n onClick: composeEventHandlers(onClick, handleClick),\n onKeyDown: composeEventHandlers(onKeyDown, handleKeyDown),\n onMouseDown: composeEventHandlers(onMouseDown, handleMouseDown)\n }))));\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n DialogOverlay.displayName = \"DialogOverlay\";\n DialogOverlay.propTypes = /*#__PURE__*/_extends({}, overlayPropTypes);\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * DialogContent\n *\n * Low-level component if you need more control over the styles or rendering of\n * the dialog content.\n *\n * Note: Must be a child of `DialogOverlay`.\n *\n * Note: You only need to use this when you are also styling `DialogOverlay`,\n * otherwise you can use the high-level `Dialog` component and pass the props\n * to it. Any props passed to `Dialog` component (besides `isOpen` and\n * `onDismiss`) will be spread onto `DialogContent`.\n *\n * @see Docs https://reach.tech/dialog#dialogcontent\n */\n\n\nvar DialogContent = /*#__PURE__*/forwardRef(function DialogContent(_ref3, forwardedRef) {\n var _ref3$as = _ref3.as,\n Comp = _ref3$as === void 0 ? \"div\" : _ref3$as,\n onClick = _ref3.onClick;\n _ref3.onKeyDown;\n\n var props = _objectWithoutPropertiesLoose(_ref3, _excluded3);\n\n return /*#__PURE__*/createElement(Comp, _extends({\n \"aria-modal\": \"true\",\n role: \"dialog\",\n tabIndex: -1\n }, props, {\n ref: forwardedRef,\n \"data-reach-dialog-content\": \"\",\n onClick: composeEventHandlers(onClick, function (event) {\n event.stopPropagation();\n })\n }));\n});\n/**\n * @see Docs https://reach.tech/dialog#dialogcontent-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n DialogContent.displayName = \"DialogContent\";\n DialogContent.propTypes = {\n \"aria-label\": ariaLabelType,\n \"aria-labelledby\": ariaLabelType\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Dialog\n *\n * High-level component to render a modal dialog window over the top of the page\n * (or another dialog).\n *\n * @see Docs https://reach.tech/dialog#dialog\n */\n\n\nvar Dialog = /*#__PURE__*/forwardRef(function Dialog(_ref4, forwardedRef) {\n var _ref4$allowPinchZoom = _ref4.allowPinchZoom,\n allowPinchZoom = _ref4$allowPinchZoom === void 0 ? false : _ref4$allowPinchZoom,\n initialFocusRef = _ref4.initialFocusRef,\n isOpen = _ref4.isOpen,\n _ref4$onDismiss = _ref4.onDismiss,\n onDismiss = _ref4$onDismiss === void 0 ? noop : _ref4$onDismiss,\n props = _objectWithoutPropertiesLoose(_ref4, _excluded4);\n\n return /*#__PURE__*/createElement(DialogOverlay, {\n allowPinchZoom: allowPinchZoom,\n initialFocusRef: initialFocusRef,\n isOpen: isOpen,\n onDismiss: onDismiss\n }, /*#__PURE__*/createElement(DialogContent, _extends({\n ref: forwardedRef\n }, props)));\n});\n/**\n * @see Docs https://reach.tech/dialog#dialog-props\n */\n\nif (process.env.NODE_ENV !== \"production\") {\n Dialog.displayName = \"Dialog\";\n Dialog.propTypes = {\n isOpen: PropTypes.bool,\n onDismiss: PropTypes.func,\n \"aria-label\": ariaLabelType,\n \"aria-labelledby\": ariaLabelType\n };\n} ////////////////////////////////////////////////////////////////////////////////\n\n\nfunction createAriaHider(dialogNode) {\n var originalValues = [];\n var rootNodes = [];\n var ownerDocument = getOwnerDocument(dialogNode);\n\n if (!dialogNode) {\n if (process.env.NODE_ENV !== \"production\") {\n console.warn(\"A ref has not yet been attached to a dialog node when attempting to call `createAriaHider`.\");\n }\n\n return noop;\n }\n\n Array.prototype.forEach.call(ownerDocument.querySelectorAll(\"body > *\"), function (node) {\n var _dialogNode$parentNod, _dialogNode$parentNod2;\n\n var portalNode = (_dialogNode$parentNod = dialogNode.parentNode) == null ? void 0 : (_dialogNode$parentNod2 = _dialogNode$parentNod.parentNode) == null ? void 0 : _dialogNode$parentNod2.parentNode;\n\n if (node === portalNode) {\n return;\n }\n\n var attr = node.getAttribute(\"aria-hidden\");\n var alreadyHidden = attr !== null && attr !== \"false\";\n\n if (alreadyHidden) {\n return;\n }\n\n originalValues.push(attr);\n rootNodes.push(node);\n node.setAttribute(\"aria-hidden\", \"true\");\n });\n return function () {\n rootNodes.forEach(function (node, index) {\n var originalValue = originalValues[index];\n\n if (originalValue === null) {\n node.removeAttribute(\"aria-hidden\");\n } else {\n node.setAttribute(\"aria-hidden\", originalValue);\n }\n });\n };\n}\n\nfunction ariaLabelType(props, propName, compName, location, propFullName) {\n var details = \"\\nSee https://www.w3.org/TR/wai-aria/#aria-label for details.\";\n\n if (!props[\"aria-label\"] && !props[\"aria-labelledby\"]) {\n return new Error(\"A <\" + compName + \"> must have either an `aria-label` or `aria-labelledby` prop.\\n \" + details);\n }\n\n if (props[\"aria-label\"] && props[\"aria-labelledby\"]) {\n return new Error(\"You provided both `aria-label` and `aria-labelledby` props to a <\" + compName + \">. If the a label for this component is visible on the screen, that label's component should be given a unique ID prop, and that ID should be passed as the `aria-labelledby` prop into <\" + compName + \">. If the label cannot be determined programmatically from the content of the element, an alternative label should be provided as the `aria-label` prop, which will be used as an `aria-label` on the HTML tag.\" + details);\n } else if (props[propName] != null && !isString(props[propName])) {\n return new Error(\"Invalid prop `\" + propName + \"` supplied to `\" + compName + \"`. Expected `string`, received `\" + (Array.isArray(propFullName) ? \"array\" : typeof propFullName) + \"`.\");\n }\n\n return null;\n} ////////////////////////////////////////////////////////////////////////////////\n\n\nexport default Dialog;\nexport { Dialog, DialogContent, DialogOverlay };","import React from \"react\";\nimport useToggleState from \"./../hooks/useToggleState\"\nimport YetiFurPatternPink from \"./../images/yeti-fur-pink.jpg\"\nimport VideoOverlay from \"./../components/videoOverlay\"\nimport Fade from \"react-reveal/Fade\"\nimport { Dialog } from \"@reach/dialog\";\n\n\nconst Video = ({ video }) => {\n const posterImage = video.poster_image ? video.poster_image.publicURL : '';\n const [overlayOpen, toggle] = useToggleState(false);\n const handleClick = () => {\n toggle();\n }\n \n return (\n <>\n \n
\n {/* THUMBNAIL */}\n
\n {`${video.title}\n
\n {/* ROLLOVER */}\n
\n
{video.client}
\n
{video.title}
\n \n
\n \n
\n
\n \n \n \n \n \n \n )\n}\n\nexport default Video","import React from \"react\"\nimport useLockBodyScroll from './../hooks/useLockBodyScroll';\nimport ImageGallery from 'react-image-gallery';\n\n\nconst VideoOverlay = ({ handleClose, video }) => {\n const url = `https://player.vimeo.com/video/${video.vimeoID}?badge=0&autopause=0&player_id=0&app_id=58479`;\n const posterImage = video.poster_image ? video.poster_image.publicURL : '';\n const categories = video.categories ? video.categories.map(category => category.category_name) : ''\n\n useLockBodyScroll();\n // if coming from home page or team member profile video.photography is most likely undefined, if coming in from our-work it will be an empty array\n const hasImages = video.photography && video.photography.length > 0;\n let images;\n\n if (hasImages) {\n images = video.photography.map(image => { \n return { \n original: image.url,\n originalAlt: image.alternativeText\n };\n });\n }\n \n return (\n <>\n
\n {/* close */}\n \n\n
{\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n }}\n onKeyDown={(e)=> {\n e.stopPropagation();\n e.nativeEvent.stopImmediatePropagation();\n }}\n >\n\n {/* IF IT'S A VIDEO */} \n {video.vimeoID && (\n
\n \n
\n )}\n\n {/* IF IT'S PHOTOGRAPHY */} \n {hasImages && (\n \n )} \n\n
\n
\n

{video.client}

\n

{video.title}

\n
\n
\n {categories.length > 0 && (
Categories:
)}\n {categories && (
{categories.join(', ')}
)}\n
\n {/* IF IT'S A VIDEO */} \n { !hasImages && ( \n <>\n
    \n {video.animator && video.animator !== 'placeholder' &&
  • Animator: {video.animator}
  • }\n {video.director && video.director !== 'placeholder' &&
  • Director: {video.director}
  • }\n {video.editor && video.editor !== 'placeholder' &&
  • Editor: {video.editor}
  • }\n {video.producer && video.producer !== 'placeholder' &&
  • Producer: {video.producer}
  • }\n {video.photographer && video.photographer !== 'placeholder' &&
  • Photographer: {video.photographer}
  • }\n
\n
    \n {video.retoucher && video.retoucher !== 'placeholder' &&
  • Retoucher: {video.retoucher}
  • }\n {video.shooter && video.shooter !== 'placeholder' &&
  • Shooter: {video.shooter}
  • }\n
\n \n )}\n
\n
\n
\n \n )\n}\n\nexport default VideoOverlay","import { useLayoutEffect } from 'react';\n\nexport default function useLockBodyScroll() {\n useLayoutEffect(() => {\n // Get original value of body overflow\n const originalStyle = window.getComputedStyle(document.body).overflow;\n const originalTouchStyle = window.getComputedStyle(document.body).touchAction\n // Prevent scrolling on mount\n document.body.style.overflow = 'hidden';\n document.body.style.touchAction = 'none';\n // Re-enable scrolling when component unmounts\n return () => {\n document.body.style.overflow = originalStyle;\n document.body.style.touchAction = originalTouchStyle;\n }\n }, []); // Empty array ensures effect is only run on mount and unmount\n}"],"sourceRoot":""}