{"version":3,"sources":["webpack:////__w/1/s/node_modules/react-move/NodeGroup/index.js","webpack:////__w/1/s/node_modules/d3-timer/src/timer.js","webpack:////__w/1/s/node_modules/d3-timer/src/timeout.js","webpack:////__w/1/s/node_modules/kapellmeister/es/utils.js","webpack:////__w/1/s/node_modules/kapellmeister/es/Events.js","webpack:////__w/1/s/node_modules/kapellmeister/es/BaseNode.js","webpack:////__w/1/s/node_modules/d3-timer/src/interval.js","webpack:////__w/1/s/node_modules/lodash/_asciiSize.js","webpack:////__w/1/s/node_modules/lodash/size.js","webpack:////__w/1/s/libs/intl-ui/src/Modules/ComponentListRenderer/ComponentListRenderer.tsx","webpack:////__w/1/s/node_modules/lodash/_stringSize.js","webpack:////__w/1/s/node_modules/lodash/_hasUnicode.js","webpack:////__w/1/s/node_modules/react-move/core/types.js","webpack:////__w/1/s/node_modules/react-move/Animate/index.js","webpack:////__w/1/s/node_modules/lodash/isEmpty.js","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Home/Panels/ImageTopPanel/ImageTopPanel.style.ts","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Home/Panels/ImageTopPanel/ImageTopPanel.tsx","webpack:////__w/1/s/libs/intl-ui/src/Elements/Superscript/Superscript.tsx","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Home/Panels/HotNReadyPanel/HotNReadyPanel.style.ts","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Home/Panels/HotNReadyPanel/HotNReadyPanel.tsx","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Home/Panels/BestValuePanel/BestValuePanel.style.ts","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Home/Panels/BestValuePanel/BestValuePanel.tsx","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Home/Panels/QualityPanel/QualityPanel.style.ts","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Home/Panels/QualityPanel/QualityPanel.tsx","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Home/PanelLoader/PanelLoader.tsx","webpack:////__w/1/s/libs/intl-ui/src/Patterns/Banners/DefaultBanner/components/LtoPrice/LtoPrice.style.ts","webpack:////__w/1/s/libs/intl-ui/src/Patterns/Banners/DefaultBanner/components/LtoPrice/LtoPrice.tsx","webpack:////__w/1/s/libs/intl-ui/src/Patterns/Banners/DefaultBanner/components/BannerTitle/BannerTitle.style.ts","webpack:////__w/1/s/libs/intl-ui/src/Patterns/Banners/DefaultBanner/components/BannerTitle/BannerTitle.tsx","webpack:////__w/1/s/libs/intl-ui/src/Patterns/Banners/DefaultBanner/DefaultBanner.style.ts","webpack:////__w/1/s/libs/intl-ui/src/Patterns/Banners/DefaultBanner/DefaultBanner.tsx","webpack:////__w/1/s/node_modules/d3-ease/src/circle.js","webpack:////__w/1/s/node_modules/d3-ease/src/linear.js","webpack:////__w/1/s/node_modules/d3-ease/src/quad.js","webpack:////__w/1/s/node_modules/d3-ease/src/cubic.js","webpack:////__w/1/s/node_modules/d3-ease/src/poly.js","webpack:////__w/1/s/node_modules/d3-ease/src/sin.js","webpack:////__w/1/s/node_modules/d3-ease/src/math.js","webpack:////__w/1/s/node_modules/d3-ease/src/exp.js","webpack:////__w/1/s/node_modules/d3-ease/src/bounce.js","webpack:////__w/1/s/node_modules/d3-ease/src/back.js","webpack:////__w/1/s/node_modules/d3-ease/src/elastic.js","webpack:////__w/1/s/node_modules/nuka-carousel/es/utilities/style-utilities.js","webpack:////__w/1/s/node_modules/nuka-carousel/es/default-controls.js","webpack:////__w/1/s/node_modules/nuka-carousel/es/utilities/utilities.js","webpack:////__w/1/s/node_modules/nuka-carousel/es/transitions/scroll-transition.js","webpack:////__w/1/s/node_modules/nuka-carousel/es/transitions/fade-transition.js","webpack:////__w/1/s/node_modules/nuka-carousel/es/transitions/3d-scroll-transition.js","webpack:////__w/1/s/node_modules/nuka-carousel/es/all-transitions.js","webpack:////__w/1/s/node_modules/nuka-carousel/es/announce-slide.js","webpack:////__w/1/s/node_modules/nuka-carousel/es/utilities/bootstrapping-utilities.js","webpack:////__w/1/s/node_modules/nuka-carousel/es/index.js","webpack:////__w/1/s/libs/intl-ui/src/Modules/LtoRotator/LtoRotator.style.ts","webpack:////__w/1/s/libs/intl-ui/src/Modules/LtoRotator/LtoRotator.tsx","webpack:////__w/1/s/libs/intl-ui/src/Modules/RotatorLoader/RotatorLoader.tsx","webpack:////__w/1/s/themes/gatsby-theme-multi-site/src/ui/Patterns/Banners/useBanner.tsx","webpack:////__w/1/s/themes/gatsby-theme-multi-site/src/ui/Modules/BannerLoader/sanitizedList.ts","webpack:////__w/1/s/themes/gatsby-theme-multi-site/src/ui/Modules/BannerLoader/BannerLoader.tsx","webpack:////__w/1/s/themes/gatsby-theme-multi-site/src/api/HomePage/useActiveBanner.ts","webpack:////__w/1/s/themes/gatsby-theme-multi-site/src/api/HomePage/useBestValuePanel.ts","webpack:////__w/1/s/themes/gatsby-theme-multi-site/src/api/HomePage/useImageTopPanel.ts","webpack:////__w/1/s/themes/gatsby-theme-multi-site/src/api/HomePage/useHotNReadyPanel.ts","webpack:////__w/1/s/themes/gatsby-theme-multi-site/src/api/HomePage/useQualityPanel.ts","webpack:////__w/1/s/themes/gatsby-theme-multi-site/src/pages/index.tsx","webpack:////__w/1/s/node_modules/lodash/_unicodeSize.js","webpack:////__w/1/s/node_modules/wicg-inert/dist/inert.esm.js","webpack:////__w/1/s/libs/intl-ui/src/Elements/Script/Script.tsx","webpack:////__w/1/s/node_modules/react-move/core/mergeKeys.js","webpack:////__w/1/s/libs/intl-util/src/removeLine.ts","webpack:////__w/1/s/node_modules/react-move/utils.js","webpack:////__w/1/s/libs/intl-ui/src/PageComponents/Home/Panels/BestValuePanel/assets/laurel.png","webpack:////__w/1/s/node_modules/lodash/isString.js","webpack:////__w/1/s/node_modules/exenv/index.js"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","Object","defineProperty","exports","value","_react","nodeInterop","__esModule","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","hasOwnProperty","call","desc","set","_interopRequireWildcard","_kapellmeister","_interopRequireDefault","_mergeKeys","_types","_utils","WeakMap","cacheBabelInterop","cacheNodeInterop","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","_inherits","subClass","superClass","create","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","this","arguments","apply","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","getPrototypeOf","_defineProperty","NodeGroup","_Component","protoProps","staticProps","_super","_this","_this$state","state","nodeKeys","nodeHash","unmounting","pending","nextNodeKeys","k","n","isTransitioning","type","LEAVE","push","interval","stop","setState","nodes","map","interpolation","Node","_BaseNode","_super2","data","_this2","ENTER","BaseNode","nextProps","prevState","keyAccessor","start","enter","update","leave","keyIndex","nextKeyIndex","_i","d","undefined","node","_i2","_k","UPDATE","mergedNodeKeys","_i3","_k2","_n","_d","transition","startInterval","prevProps","restart","animate","_this$state2","forEach","stopTransitions","renderedChildren","children","Children","only","Component","propTypes","defaultProps","numeric","_default","taskHead","taskTail","timeout","clockLast","clockNow","clockSkew","clock","performance","now","Date","setFrame","window","requestAnimationFrame","bind","f","setTimeout","clearNow","Timer","_call","_time","_next","timer","callback","delay","time","t","wake","timerFlush","t0","t2","t1","Infinity","sleep","nap","poke","clearTimeout","clearInterval","setInterval","elapsed","transitionId","extend","timingDefaults","duration","ease","Events","config","interrupt","end","events","keys","Error","func","called","_objectSpread","source","ownKeys","getOwnPropertySymbols","concat","filter","sym","Array","isArray","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","next","done","item","parse","err","return","transitionData","transitions","clone","timing","stateKey","_this$setState","prop","tweens","attr","val","getTween","_objectSpread2","_ref","_objectSpread3","_ref2","_objectSpread4","_ref3","_this$setState2","_this$setState3","status","endValue","nameSpace","begValue","getInterpolator","_this2$setState","_objectSpread5","_ref4","init","id","_this3","tid","tick","j","res","_","total","asciiSize","baseProperty","module","baseKeys","getTag","isArrayLike","isString","stringSize","collection","tag","size","ComponentListRenderer","listText","Box","React","_map2","data-testid","hasUnicode","unicodeSize","string","reHasUnicode","RegExp","test","_NodeGroup","Animate","_this$props","show","createElement","isArguments","isBuffer","isPrototype","isTypedArray","splice","BoxImage","backgroundColor","textAlign","flexDirection","mb","minHeight","width","Heading","fontSize","display","flex","justifyContent","alignItems","margin","HeadlineText","color","maxWidth","position","textTransform","lineHeight","zIndex","m","transform","TitleScript","fontWeight","ImageBox","Image","verticalAlign","height","headline","script","image","Flex","sx","Styled","src","url","Script","Superscript","as","mt","TeaserText","fontFamily","ScriptText","padding","HotNReadyPanel","bottomImage","scriptText","superscript","bodyText","isRussiaSite","checkCountryLocale","BestValue","BestValueCrest","direction","LeftLaurel","mr","RightLaurel","ml","LaurelText","LaurelSmallText","ValueScript","my","LegalText","awardText","legalText","Laurel","index","QualityPanel","Section","Title","Description","SectionImage","sections","section","alt","title","Text","textDescription","PanelLoader","isThreePanel","hotNReadyPanel","imageTopPanel","bestValuePanel","qualityPanel","LoadedComponents","Default3Panel","BestValuePanel","assign","ImageTopPanel","Default2Panel","LtoPrice","Price","whiteSpace","flexWrap","PriceSymbol","alignSelf","PriceSymbolRussia","Dollars","pb","Cents","Ivi","right","bottom","dollars","cents","subCents","currencySymbol","className","BannerTitle","pt","HotNReadyBlock","top","SubTitleText","SubTitle2Text","superScript","subTitle","subTitle2","Lto","bg","overflow","LtoImageBlock","pl","LtoImage","LtoMessageBlock","minWidth","LtoText","DefaultBanner","locale","circleIn","Math","sqrt","circleOut","circleInOut","linear","quadIn","quadOut","quadInOut","cubicIn","cubicOut","cubicInOut","polyIn","custom","pow","exponent","polyOut","polyInOut","pi","PI","halfPi","sinIn","cos","sinOut","sin","sinInOut","tpmt","x","expIn","expOut","expInOut","b0","bounceIn","bounceOut","bounceInOut","backIn","s","overshoot","backOut","backInOut","tau","a","asin","max","elasticIn","amplitude","period","elasticOut","elasticInOut","childCount","count","listWidth","slideWidth","spacingOffset","cellSpacing","calculatedHeight","vertical","slideHeight","heightMode","getAlignmentOffset","slideIndex","offset","cellAlign","frameWidth","getDecoratorStyles","left","WebkitTransform","msTransform","object","enumerableOnly","symbols","getOwnPropertyDescriptors","defineProperties","defaultButtonStyles","disabled","border","background","opacity","cursor","_props$defaultControl","defaultControlsConfig","prevButtonClassName","_props$defaultControl2","prevButtonStyle","prevButtonText","currentSlide","wrapAround","slideCount","style","onClick","event","preventDefault","previousSlide","slidesToShow","scrollMode","slidesToScroll","nextButtonClassName","_defaultControlsConfi","nextButtonStyle","nextButtonText","positionValue","buttonDisabled","alignmentOffset","relativePosition","endPosition","abs","nextSlide","indexes","dotIndexes","lastDotIndex","slidesToShowIsDecimal","scrollSlides","includes","getDotIndexes","_props$defaultControl3","pagingDotsContainerClassName","pagingDotsClassName","_props$defaultControl4","pagingDotsStyle","listStyleType","active","isActive","fill","goToSlide","focusable","cx","cy","r","addEvent","elem","eventHandle","addEventListener","attachEvent","removeEvent","removeEventListener","detachEvent","getSlideClassName","getPropsByTransitionMode","transitionMode","updatedDefaults","parseInt","swipeDirection","x1","x2","y1","y2","xDist","yDist","atan2","swipeAngle","round","calcSomeInitialState","_getPropsByTransition","initialSlideHeight","initialSlideWidth","frameHeight","handleSelfFocus","currentTarget","focus","_extends","toString","_React$Component","ScrollTransition","getListStyles","currentSlideIndex","childrenLength","peekSlide","animation","slideOffset","targetPosition","startSlideIndex","min","floor","slidesOutOfView","ceil","slidesOutOfViewBefore","slidesOutOfViewAfter","isWrapping","getSlideDirection","isWrappingAround","temp","slidesBefore","slidesAfter","distanceFromStart","isDistanceBiggerThanSlides","child","inert","fullSlideWidth","offsetWidth","remainingWidth","fullSlidesBefore","fullSlidesAfter","fullSlidesAuto","fullyVisibleSlides","role","getSlideStyles","tabIndex","getSlideTargetPosition","transformScale","zoomScale","boxSizing","marginBottom","marginLeft","marginRight","marginTop","MozBoxSizing","styles","deltaX","deltaY","hasInteraction","dragging","touchAction","formatChildren","FadeTransition","fadeFromSlide","fadeFrom","fadeTo","fade","fadeToPosition","distance","visibility","opacityAndLeftMap","getSlideOpacityAndLeftMap","getContainerStyles","ScrollTransition3D","relativeDistanceToCurrentSlide","getRelativeDistanceToCurrentSlide","getZoomOffsetFor","visible","getDistanceToCurrentSlide","current","relativeDistanceToCurrent","referenceIndex","_this$props2","getDistance","_this$props3","distanceByLeftEge","distanceByRightEdge","absoluteDirectDistance","opacityScale","_this$props4","getTransformScale","getOpacityScale","slideListMargin","scroll","scroll3d","message","clip","toArray","getMax","b","getHeightOfSlide","slide","totalHeight","offsetHeight","findMaxHeightSlideInRange","slides","maxHeight","ensureIndexInBounds","newIndex","findCurrentHeightSlide","alignment","startIndex","lastIndex","_slicedToArray","arr","_arrayWithHoles","_arr","_e","_s","_iterableToArrayLimit","minLen","_arrayLikeToArray","slice","name","from","_unsupportedIterableToArray","_nonIterableRest","len","arr2","Carousel","displayName","clickDisabled","latestTransitioningIndex","timers","touchObject","controlsMap","funcName","keyCodeConfig","firstSlide","lastSlide","pause","childNodesMutationObs","easing","disableAnimation","resetWrapAroundPosition","wrapToIndex","hasFocus","autoplayIterator","calcSlideHeightAndWidth","getChildNodes","getMouseEvents","getOffsetDeltas","getTargetLeft","getTouchEvents","blockEvent","handleFocus","handleBlur","handleClick","handleKeyPress","handleMouseOut","handleMouseOver","handleSwipe","onResize","onVisibilityChange","renderControls","resetAutoplay","setDimensions","setLeft","setSlideHeightAndWidth","startAutoplay","stopAutoplay","establishChildNodesMutationObserver","mounted","bindEvents","autoplay","keyCodeMap","getKeyCodeMap","getLockScrollEvents","lockTouchScroll","initializeCarouselHeight","slideChanged","heightModeChanged","axisChanged","childrenChanged","getCurrentChildNodeImg","isWrapped","prevSlideCount","slideCountChanged","heightMismatches","curr","shouldUpdate","unbindEvents","disconnectChildNodesMutationObserver","unlockTouchScroll","timesChecked","initializeHeight","childNodes","MutationObserver","_childNodesArray","childNode","observe","attributeFilter","attributeOldValue","attributes","characterData","characterDataOldValue","childList","subtree","disconnect","startX","touches","pageX","startY","pageY","_this4","document","passive","_this5","swiping","onTouchStart","onTouchEnd","onTouchMove","onDragStart","endX","endY","onTouchCancel","_this6","onMouseOver","onMouseOut","onMouseDown","clientX","clientY","onMouseMove","onMouseUp","onMouseLeave","autoplayPaused","pauseOnHover","pauseAutoplay","unpauseAutoplay","metaKey","shiftKey","altKey","ctrlKey","stopPropagation","nativeEvent","_this7","touchLength","edgeEasing","enableKeyboardControls","keyCode","actionName","autoplayReverse","autoplayID","autoplayInterval","touchOffset","isNaN","tx","ty","_this$getOffsetDeltas","lastSlideLimit","offsetTy","offsetTx","_this8","beforeSlide","afterSlide","speed","endSlide","targetSlideIndex","swipeDistance","leftAlignSlideIndex","nextSlideIndex","_this$state3","canUseDOM","hidden","calculateSlideHeight","frame","_this$calcSlideHeight2","stateCb","_getPropsByTransition2","_this$calcSlideHeight3","_getPropsByTransition3","currentChildNode","getElementsByTagName","newLeft","newTop","_this9","withoutControls","controlChildren","toLowerCase","containerClassName","join","trim","getControlsContainerStyles","propVertical","stateFrameWidth","propWidth","propHeight","_this10","_this$state4","frameOverflow","framePadding","renderAnnounceSlideMessage","frameStyles","touchEvents","mouseEvents","TransitionControl","validChildren","_this$getOffsetDeltas2","startTx","startTy","onFocus","onBlur","ref","innerRef","onClickCapture","_this10$getOffsetDelt","disableEdgeSwiping","isEdgeSwiping","ariaProps","cloneElement","autoGenerateStyleTag","dangerouslySetInnerHTML","__html","renderBottomCenterControls","renderCenterLeftControls","renderCenterRightControls","LtoRotator","CustomCarousel","alignContent","Rotator","RotatorLoader","bannerList","_size2","Banners","sanitizedList","bannerData","banner","activeBanner","_isEmpty2","customBannerComponent","UseBanner","endTime","startTime","moment","isAfter","isBefore","dateTimeCheck","BannerLoader","MainBanner","_objectWithoutProperties","_excluded","listData","LoadedBanner","testId","useActiveBanner","useStaticQuery","franchiseeId","SelectedFranchiseeId","useSelectedFranchiseeId","franchisees","useFranchisees","franchiseeDirection","filteredOffsetBannersByFranchisee","franchiseeFilterList","activeBanners","cleanedActiveBanners","offsetBanner","_toConsumableArray","removeLine","_sortBy2","banners","useBestValuePanel","array","_map","line","localeFilter","useHome","useHotNReady","useQualityBanner","filteredQualityBanner","qualityBanner","cleanedQualityBannerItems","qualityBannerSections","Home","pathContext","useHotNReadyPanel","useImageTopPanel","useQualityPanel","useSiteConfig","panelProps","Layout","Container","px","rsAstral","rsCombo","rsFitz","rsNonAstral","rsRegional","rsSurrPair","reOptMod","rsSeq","rsSymbol","reUnicode","_createClass","matches","Element","msMatchesSelector","_focusableElementsString","InertRoot","rootElement","inertManager","_inertManager","_rootElement","_managedNodes","Set","hasAttribute","_savedAriaHidden","getAttribute","setAttribute","_makeSubtreeUnfocusable","_observer","_onMutation","removeAttribute","inertNode","_unmanageNode","startNode","composedTreeWalk","_visitNode","activeElement","body","contains","root","nodeType","DOCUMENT_FRAGMENT_NODE","parentNode","blur","ELEMENT_NODE","element","_adoptInertRoot","_manageNode","register","add","deregister","inertSubroot","getInertRoot","setInert","managedNodes","savedInertNode","records","record","addedNodes","removedNodes","_unmanageSubtree","attributeName","managedNode","ariaHidden","InertNode","inertRoot","_node","_overrodeFocusMethod","_inertRoots","_savedTabIndex","_destroyed","ensureUntabbable","_throwIfDestroyed","destroyed","hasSavedTabIndex","destructor","InertManager","_document","Map","_watchForInert","addInertStyle","head","documentElement","readyState","_onDocumentLoaded","parent","addInertRoot","removeInertRoot","querySelectorAll","inertElement","inertElements","unshift","HTMLElement","shadowRootAncestor","shadowRoot","localName","content","distributedNodes","getDistributedNodes","slot","_distributedNodes","assignedNodes","flatten","firstChild","nextSibling","querySelector","textContent","appendChild","tilt","currNodeKeys","currKeyIndex","allKeys","sort","nextOrderA","nextOrderB","currOrderA","currOrderB","pivot","_pivot","beg","baseGetTag","isObjectLike","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen"],"mappings":"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","file":"component---themes-gatsby-theme-multi-site-src-pages-index-tsx-d8c8ca4ec12aeeb24d8e.js","sourcesContent":["\"use strict\";\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _kapellmeister = require(\"kapellmeister\");\nvar _mergeKeys = _interopRequireDefault(require(\"../core/mergeKeys\"));\nvar _types = require(\"../core/types\");\nvar _utils = require(\"../utils\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj[\"default\"] = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar NodeGroup = function (_Component) {\n _inherits(NodeGroup, _Component);\n var _super = _createSuper(NodeGroup);\n function NodeGroup(props) {\n var _this;\n _classCallCheck(this, NodeGroup);\n _this = _super.call(this, props);\n _defineProperty(_assertThisInitialized(_this), \"animate\", function () {\n var _this$state = _this.state,\n nodeKeys = _this$state.nodeKeys,\n nodeHash = _this$state.nodeHash;\n if (_this.unmounting) {\n return;\n }\n var pending = false;\n var nextNodeKeys = [];\n var length = nodeKeys.length;\n for (var i = 0; i < length; i++) {\n var k = nodeKeys[i];\n var n = nodeHash[k];\n var isTransitioning = n.isTransitioning();\n if (isTransitioning) {\n pending = true;\n }\n if (n.type === _types.LEAVE && !isTransitioning) {\n delete nodeHash[k];\n } else {\n nextNodeKeys.push(k);\n }\n }\n if (!pending) {\n _this.interval.stop();\n }\n _this.setState(function () {\n return {\n nodeKeys: nextNodeKeys,\n nodes: nextNodeKeys.map(function (key) {\n return nodeHash[key];\n })\n };\n });\n });\n _defineProperty(_assertThisInitialized(_this), \"interval\", null);\n _defineProperty(_assertThisInitialized(_this), \"unmounting\", false);\n var interpolation = props.interpolation;\n var Node = function (_BaseNode) {\n _inherits(Node, _BaseNode);\n var _super2 = _createSuper(Node);\n function Node(key, data) {\n var _this2;\n _classCallCheck(this, Node);\n _this2 = _super2.call(this);\n _defineProperty(_assertThisInitialized(_this2), \"getInterpolator\", interpolation);\n _this2.key = key;\n _this2.data = data;\n _this2.type = _types.ENTER;\n return _this2;\n }\n return Node;\n }(_kapellmeister.BaseNode);\n _this.state = {\n Node: Node,\n nodeKeys: [],\n nodeHash: {},\n nodes: [],\n data: null\n };\n return _this;\n }\n _createClass(NodeGroup, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startInterval();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.data !== this.props.data && !this.unmounting) {\n this.startInterval();\n }\n }\n }, {\n key: \"startInterval\",\n value: function startInterval() {\n if (!this.interval) {\n this.interval = (0, _kapellmeister.interval)(this.animate);\n } else {\n this.interval.restart(this.animate);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this$state2 = this.state,\n nodeKeys = _this$state2.nodeKeys,\n nodeHash = _this$state2.nodeHash;\n this.unmounting = true;\n if (this.interval) {\n this.interval.stop();\n }\n nodeKeys.forEach(function (key) {\n nodeHash[key].stopTransitions();\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var renderedChildren = this.props.children(this.state.nodes);\n return renderedChildren && _react[\"default\"].Children.only(renderedChildren);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.data !== prevState.data) {\n var data = nextProps.data,\n keyAccessor = nextProps.keyAccessor,\n start = nextProps.start,\n enter = nextProps.enter,\n update = nextProps.update,\n leave = nextProps.leave;\n var Node = prevState.Node,\n nodeKeys = prevState.nodeKeys,\n nodeHash = prevState.nodeHash;\n var keyIndex = {};\n for (var i = 0; i < nodeKeys.length; i++) {\n keyIndex[nodeKeys[i]] = i;\n }\n var nextKeyIndex = {};\n var nextNodeKeys = [];\n for (var _i = 0; _i < data.length; _i++) {\n var d = data[_i];\n var k = keyAccessor(d, _i);\n nextKeyIndex[k] = _i;\n nextNodeKeys.push(k);\n if (keyIndex[k] === undefined) {\n var node = new Node();\n node.key = k;\n node.data = d;\n node.type = _types.ENTER;\n nodeHash[k] = node;\n }\n }\n for (var _i2 = 0; _i2 < nodeKeys.length; _i2++) {\n var _k = nodeKeys[_i2];\n var n = nodeHash[_k];\n if (nextKeyIndex[_k] !== undefined) {\n n.data = data[nextKeyIndex[_k]];\n n.type = _types.UPDATE;\n } else {\n n.type = _types.LEAVE;\n }\n }\n var mergedNodeKeys = (0, _mergeKeys[\"default\"])(nodeKeys, keyIndex, nextNodeKeys, nextKeyIndex);\n for (var _i3 = 0; _i3 < mergedNodeKeys.length; _i3++) {\n var _k2 = mergedNodeKeys[_i3];\n var _n = nodeHash[_k2];\n var _d = _n.data;\n if (_n.type === _types.ENTER) {\n _n.setState(start(_d, nextKeyIndex[_k2]));\n _n.transition(enter(_d, nextKeyIndex[_k2]));\n } else if (_n.type === _types.LEAVE) {\n _n.transition(leave(_d, keyIndex[_k2]));\n } else {\n _n.transition(update(_d, nextKeyIndex[_k2]));\n }\n }\n return {\n data: data,\n nodes: mergedNodeKeys.map(function (key) {\n return nodeHash[key];\n }),\n nodeHash: nodeHash,\n nodeKeys: mergedNodeKeys\n };\n }\n return null;\n }\n }]);\n return NodeGroup;\n}(_react.Component);\nNodeGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n data: _propTypes[\"default\"].array.isRequired,\n keyAccessor: _propTypes[\"default\"].func.isRequired,\n interpolation: _propTypes[\"default\"].func,\n start: _propTypes[\"default\"].func.isRequired,\n enter: _propTypes[\"default\"].func,\n update: _propTypes[\"default\"].func,\n leave: _propTypes[\"default\"].func,\n children: _propTypes[\"default\"].func.isRequired\n} : {};\nNodeGroup.defaultProps = {\n enter: function enter() {},\n update: function update() {},\n leave: function leave() {},\n interpolation: _utils.numeric\n};\nvar _default = NodeGroup;\nexports[\"default\"] = _default;","var frame = 0,\n // is an animation frame pending?\n timeout = 0,\n // is a timeout pending?\n interval = 0,\n // are any timers active?\n pokeDelay = 1000,\n // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function (f) {\n setTimeout(f, 17);\n };\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\nfunction clearNow() {\n clockNow = 0;\n}\nexport function Timer() {\n this._call = this._time = this._next = null;\n}\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function (callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function () {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\nexport function timer(callback, delay, time) {\n var t = new Timer();\n t.restart(callback, delay, time);\n return t;\n}\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead,\n e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\nfunction poke() {\n var now = clock.now(),\n delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\nfunction nap() {\n var t0,\n t1 = taskHead,\n t2,\n time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}","import { Timer } from \"./timer.js\";\nexport default function (callback, delay, time) {\n var t = new Timer();\n delay = delay == null ? 0 : +delay;\n t.restart(function (elapsed) {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}","function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nvar transitionId = 0;\nexport function getTransitionId() {\n return ++transitionId;\n}\nexport function extend(obj, props) {\n for (var i in props) {\n obj[i] = props[i];\n }\n}\nexport function once(func) {\n var called = false;\n return function transitionEvent() {\n if (!called) {\n called = true;\n func.call(this);\n }\n };\n}\nexport function isNamespace(prop) {\n return _typeof(prop) === 'object' && Array.isArray(prop) === false;\n}\nvar linear = function linear(t) {\n return +t;\n};\nexport var timingDefaults = {\n delay: 0,\n duration: 250,\n ease: linear\n};","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nimport { once } from './utils';\nexport var Events = function Events(config) {\n var _this = this;\n _classCallCheck(this, Events);\n this.start = null;\n this.interrupt = null;\n this.end = null;\n if (config.events) {\n Object.keys(config.events).forEach(function (d) {\n if (typeof config.events[d] !== 'function') {\n throw new Error('Event handlers must be a function');\n } else {\n _this[d] = once(config.events[d]);\n }\n });\n }\n};\nexport default Events;","function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nimport { now, timer, timeout } from 'd3-timer';\nimport { timingDefaults, extend, getTransitionId, isNamespace } from './utils';\nimport Events from './Events';\nvar BaseNode = function () {\n function BaseNode(state) {\n _classCallCheck(this, BaseNode);\n this.state = state || {};\n }\n _createClass(BaseNode, [{\n key: \"transition\",\n value: function transition(config) {\n if (Array.isArray(config)) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n try {\n for (var _iterator = config[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var item = _step.value;\n this.parse(item);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else {\n this.parse(config);\n }\n }\n }, {\n key: \"isTransitioning\",\n value: function isTransitioning() {\n return !!this.transitionData;\n }\n }, {\n key: \"stopTransitions\",\n value: function stopTransitions() {\n var transitions = this.transitionData;\n if (transitions) {\n Object.keys(transitions).forEach(function (t) {\n transitions[t].timer.stop();\n });\n }\n }\n }, {\n key: \"setState\",\n value: function setState(update) {\n if (typeof update === 'function') {\n extend(this.state, update(this.state));\n } else {\n extend(this.state, update);\n }\n }\n }, {\n key: \"parse\",\n value: function parse(config) {\n var _this = this;\n var clone = _objectSpread({}, config);\n var events = new Events(clone);\n if (clone.events) {\n delete clone.events;\n }\n var timing = _objectSpread({}, timingDefaults, clone.timing || {}, {\n time: now()\n });\n if (clone.timing) {\n delete clone.timing;\n }\n Object.keys(clone).forEach(function (stateKey) {\n var tweens = [];\n var next = clone[stateKey];\n if (isNamespace(next)) {\n Object.keys(next).forEach(function (attr) {\n var val = next[attr];\n if (Array.isArray(val)) {\n if (val.length === 1) {\n tweens.push(_this.getTween(attr, val[0], stateKey));\n } else {\n _this.setState(function (state) {\n var _objectSpread2, _ref;\n return _ref = {}, _ref[stateKey] = _objectSpread({}, state[stateKey], (_objectSpread2 = {}, _objectSpread2[attr] = val[0], _objectSpread2)), _ref;\n });\n tweens.push(_this.getTween(attr, val[1], stateKey));\n }\n } else if (typeof val === 'function') {\n var getNameSpacedCustomTween = function getNameSpacedCustomTween() {\n var kapellmeisterNamespacedTween = function kapellmeisterNamespacedTween(t) {\n _this.setState(function (state) {\n var _objectSpread3, _ref2;\n return _ref2 = {}, _ref2[stateKey] = _objectSpread({}, state[stateKey], (_objectSpread3 = {}, _objectSpread3[attr] = val(t), _objectSpread3)), _ref2;\n });\n };\n return kapellmeisterNamespacedTween;\n };\n tweens.push(getNameSpacedCustomTween);\n } else {\n _this.setState(function (state) {\n var _objectSpread4, _ref3;\n return _ref3 = {}, _ref3[stateKey] = _objectSpread({}, state[stateKey], (_objectSpread4 = {}, _objectSpread4[attr] = val, _objectSpread4)), _ref3;\n });\n tweens.push(_this.getTween(attr, val, stateKey));\n }\n });\n } else {\n if (Array.isArray(next)) {\n if (next.length === 1) {\n tweens.push(_this.getTween(stateKey, next[0], null));\n } else {\n var _this$setState;\n _this.setState((_this$setState = {}, _this$setState[stateKey] = next[0], _this$setState));\n tweens.push(_this.getTween(stateKey, next[1], null));\n }\n } else if (typeof next === 'function') {\n var getCustomTween = function getCustomTween() {\n var kapellmeisterTween = function kapellmeisterTween(t) {\n var _this$setState2;\n _this.setState((_this$setState2 = {}, _this$setState2[stateKey] = next(t), _this$setState2));\n };\n return kapellmeisterTween;\n };\n tweens.push(getCustomTween);\n } else {\n var _this$setState3;\n _this.setState((_this$setState3 = {}, _this$setState3[stateKey] = next, _this$setState3));\n tweens.push(_this.getTween(stateKey, next, null));\n }\n }\n _this.update({\n stateKey: stateKey,\n timing: timing,\n tweens: tweens,\n events: events,\n status: 0\n });\n });\n }\n }, {\n key: \"getTween\",\n value: function getTween(attr, endValue, nameSpace) {\n var _this2 = this;\n return function () {\n var begValue = nameSpace ? _this2.state[nameSpace][attr] : _this2.state[attr];\n if (begValue === endValue) {\n return null;\n }\n var i = _this2.getInterpolator(begValue, endValue, attr, nameSpace);\n var stateTween;\n if (nameSpace === null) {\n stateTween = function stateTween(t) {\n var _this2$setState;\n _this2.setState((_this2$setState = {}, _this2$setState[attr] = i(t), _this2$setState));\n };\n } else {\n stateTween = function stateTween(t) {\n _this2.setState(function (state) {\n var _objectSpread5, _ref4;\n return _ref4 = {}, _ref4[nameSpace] = _objectSpread({}, state[nameSpace], (_objectSpread5 = {}, _objectSpread5[attr] = i(t), _objectSpread5)), _ref4;\n });\n };\n }\n return stateTween;\n };\n }\n }, {\n key: \"update\",\n value: function update(transition) {\n if (!this.transitionData) {\n this.transitionData = {};\n }\n this.init(getTransitionId(), transition);\n }\n }, {\n key: \"init\",\n value: function init(id, transition) {\n var _this3 = this;\n var n = transition.tweens.length;\n var tweens = new Array(n);\n var queue = function queue(elapsed) {\n transition.status = 1;\n transition.timer.restart(start, transition.timing.delay, transition.timing.time);\n if (transition.timing.delay <= elapsed) {\n start(elapsed - transition.timing.delay);\n }\n };\n this.transitionData[id] = transition;\n transition.timer = timer(queue, 0, transition.timing.time);\n var start = function start(elapsed) {\n if (transition.status !== 1) return stop();\n for (var tid in _this3.transitionData) {\n var t = _this3.transitionData[tid];\n if (t.stateKey !== transition.stateKey) {\n continue;\n }\n if (t.status === 3) {\n return timeout(start);\n }\n if (t.status === 4) {\n t.status = 6;\n t.timer.stop();\n if (t.events.interrupt) {\n t.events.interrupt.call(_this3);\n }\n delete _this3.transitionData[tid];\n } else if (+tid < id) {\n t.status = 6;\n t.timer.stop();\n delete _this3.transitionData[tid];\n }\n }\n timeout(function () {\n if (transition.status === 3) {\n transition.status = 4;\n transition.timer.restart(tick, transition.timing.delay, transition.timing.time);\n tick(elapsed);\n }\n });\n transition.status = 2;\n if (transition.events.start) {\n transition.events.start.call(_this3);\n }\n if (transition.status !== 2) {\n return;\n }\n transition.status = 3;\n var j = -1;\n for (var i = 0; i < n; ++i) {\n var res = transition.tweens[i]();\n if (res) {\n tweens[++j] = res;\n }\n }\n tweens.length = j + 1;\n };\n var tick = function tick(elapsed) {\n var t = 1;\n if (elapsed < transition.timing.duration) {\n t = transition.timing.ease(elapsed / transition.timing.duration);\n } else {\n transition.timer.restart(stop);\n transition.status = 5;\n }\n var i = -1;\n while (++i < tweens.length) {\n tweens[i](t);\n }\n if (transition.status === 5) {\n if (transition.events.end) {\n transition.events.end.call(_this3);\n }\n stop();\n }\n };\n var stop = function stop() {\n transition.status = 6;\n transition.timer.stop();\n delete _this3.transitionData[id];\n for (var _ in _this3.transitionData) {\n return;\n }\n delete _this3.transitionData;\n };\n }\n }]);\n return BaseNode;\n}();\nexport default BaseNode;","import { Timer, now } from \"./timer.js\";\nexport default function (callback, delay, time) {\n var t = new Timer(),\n total = delay;\n if (delay == null) return t.restart(callback, delay, time), t;\n delay = +delay, time = time == null ? now() : +time;\n t.restart(function tick(elapsed) {\n elapsed += total;\n t.restart(tick, total += delay, time);\n callback(elapsed);\n }, delay, time);\n return t;\n}","var baseProperty = require('./_baseProperty');\n\n/**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nvar asciiSize = baseProperty('length');\n\nmodule.exports = asciiSize;\n","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArrayLike = require('./isArrayLike'),\n isString = require('./isString'),\n stringSize = require('./_stringSize');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\nfunction size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n}\n\nmodule.exports = size;\n","import * as React from 'react';\nimport { map as _map } from 'lodash';\nimport Box from '@lce/slice_v2/Layout/Box';\n\ninterface IComponentListRendererProps {\n listText?: string | string[];\n Component?: any;\n}\n\nconst ComponentListRenderer: React.FC = ({ listText, Component = Box }) => {\n if (Array.isArray(listText)) {\n return (\n <>\n {_map(listText, value => (\n \n {value}\n \n ))}\n \n );\n }\n\n if (listText && !Array.isArray(listText)) {\n return {listText};\n }\n return null;\n};\n\nexport default ComponentListRenderer;\n","var asciiSize = require('./_asciiSize'),\n hasUnicode = require('./_hasUnicode'),\n unicodeSize = require('./_unicodeSize');\n\n/**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\nfunction stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n}\n\nmodule.exports = stringSize;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nmodule.exports = hasUnicode;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LEAVE = exports.UPDATE = exports.ENTER = void 0;\nvar ENTER = 'ENTER';\nexports.ENTER = ENTER;\nvar UPDATE = 'UPDATE';\nexports.UPDATE = UPDATE;\nvar LEAVE = 'LEAVE';\nexports.LEAVE = LEAVE;","\"use strict\";\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\nvar _NodeGroup = _interopRequireDefault(require(\"../NodeGroup\"));\nvar _utils = require(\"../utils\");\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj[\"default\"] = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nvar keyAccessor = function keyAccessor() {\n return '$$key$$';\n};\nvar Animate = function (_Component) {\n _inherits(Animate, _Component);\n var _super = _createSuper(Animate);\n function Animate() {\n _classCallCheck(this, Animate);\n return _super.apply(this, arguments);\n }\n _createClass(Animate, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n show = _this$props.show,\n start = _this$props.start,\n enter = _this$props.enter,\n update = _this$props.update,\n leave = _this$props.leave,\n interpolation = _this$props.interpolation,\n children = _this$props.children;\n var data = typeof start === 'function' ? start() : start;\n return _react[\"default\"].createElement(_NodeGroup[\"default\"], {\n data: show ? [data] : [],\n start: function start() {\n return data;\n },\n keyAccessor: keyAccessor,\n interpolation: interpolation,\n enter: typeof enter === 'function' ? enter : function () {\n return enter;\n },\n update: typeof update === 'function' ? update : function () {\n return update;\n },\n leave: typeof leave === 'function' ? leave : function () {\n return leave;\n }\n }, function (nodes) {\n if (!nodes[0]) {\n return null;\n }\n var renderedChildren = children(nodes[0].state);\n return renderedChildren && _react[\"default\"].Children.only(renderedChildren);\n });\n }\n }]);\n return Animate;\n}(_react.Component);\nAnimate.propTypes = process.env.NODE_ENV !== \"production\" ? {\n show: _propTypes[\"default\"].bool,\n interpolation: _propTypes[\"default\"].func,\n start: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].func, _propTypes[\"default\"].object]),\n enter: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].func, _propTypes[\"default\"].array, _propTypes[\"default\"].object]),\n update: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].func, _propTypes[\"default\"].array, _propTypes[\"default\"].object]),\n leave: _propTypes[\"default\"].oneOfType([_propTypes[\"default\"].func, _propTypes[\"default\"].array, _propTypes[\"default\"].object]),\n children: _propTypes[\"default\"].func.isRequired\n} : {};\nAnimate.defaultProps = {\n show: true,\n interpolation: _utils.numeric\n};\nvar _default = Animate;\nexports[\"default\"] = _default;","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\n","import { SxStyleProp } from 'theme-ui';\n\nexport const BoxImage: SxStyleProp = {\n backgroundColor: 'primary',\n textAlign: 'center',\n flexDirection: 'column',\n mb: '24px',\n minHeight: '1px',\n width: ['100%', '100%', '32.0516%'],\n};\n\nexport const Heading: SxStyleProp = {\n fontSize: [24, 40, 26],\n display: 'flex',\n flexDirection: 'column',\n flex: '1 1 auto',\n justifyContent: 'center',\n alignItems: 'center',\n margin: '0 0 -16px 0',\n};\n\nexport const HeadlineText: SxStyleProp = {\n color: 'white',\n p: '0 16px 28px 16px',\n maxWidth: '480px',\n position: 'relative',\n textTransform: 'uppercase',\n lineHeight: '.8em',\n zIndex: '1',\n m: '0 auto',\n width: '100%',\n transform: ['translateX(-3px) translateY(-50px)', 'translateX(-3px) translateY(-40px)'],\n};\n\nexport const TitleScript: SxStyleProp = {\n position: 'relative',\n zIndex: '1',\n lineHeight: '1em',\n fontSize: '0.9em',\n fontWeight: 'normal',\n transform: ['rotate(-3deg) translatex(-5px) translateY(-40px)', 'rotate(-3deg) translateY(-30px)'],\n};\n\nexport const ImageBox = {\n minHeight: '1px',\n flex: '1 1 auto',\n display: 'block',\n};\n\nexport const Image = {\n verticalAlign: 'middle',\n width: '100%',\n height: 'auto',\n minHeight: '1px',\n m: ['0 0 -48px 0', '0 0 -72px 0'],\n};\n","import * as React from 'react';\nimport Box from '@lce/slice_v2/Layout/Box';\nimport Heading from '@lce/slice_v2/Elements/Heading';\nimport Image from '@lce/slice_v2/Elements/Image';\nimport Flex from '@lce/slice_v2/Layout/Flex';\n\nimport ComponentListRenderer from '../../../../Modules/ComponentListRenderer';\nimport Script from '../../../../Elements/Script';\n\nimport * as Styled from './ImageTopPanel.style';\n\nexport interface IImageTopPanelProps {\n headline: string | string[];\n script?: string | string[];\n image?: {\n alt?: string;\n url?: string;\n };\n}\n\nconst BoxImage: React.FC = ({ headline, script, image }) => (\n \n {image && (\n \n \n \n )}\n \n {script &&\n }\n \n \n \n);\n\nexport default BoxImage;\n","import * as React from 'react';\nimport Box from '@lce/slice_v2/Layout/Box';\nimport { SxStyleProp } from 'theme-ui';\n\nexport interface ISuperscriptProps {\n sx?: SxStyleProp;\n}\n\nconst Superscript: React.FC = ({ sx, children }) => (\n \n {children}\n \n);\n\nexport default Superscript;\n","import { SxStyleProp } from 'theme-ui';\n\nexport const BoxImage: SxStyleProp = {\n backgroundColor: 'primary',\n textAlign: 'center',\n flexDirection: 'column',\n mb: '24px',\n width: ['100%', '100%', '32.0516%'],\n};\n\nexport const Heading: SxStyleProp = {\n flex: '1 1 auto',\n justifyContent: 'center',\n alignItems: 'center',\n mt: '24px',\n fontSize: [18, 32, 22],\n};\n\nexport const TeaserText: SxStyleProp = {\n fontFamily: 'primary',\n fontWeight: 'bold',\n color: 'white',\n position: 'relative',\n zIndex: '1',\n m: '0 12px 20px 12px',\n lineHeight: '32px',\n textAlign: 'center',\n fontSize: 16,\n};\n\nexport const ScriptText: SxStyleProp = {\n fontSize: '0.8em',\n lineHeight: '1em',\n transform: 'rotate(-3deg) translateY(8px)',\n};\n\nexport const ImageBox: SxStyleProp = {\n padding: '0 16px',\n width: '100%',\n};\n\nexport const Image: SxStyleProp = {\n verticalAlign: 'middle',\n width: '50%',\n height: 'auto',\n minHeight: '1px',\n mb: '0',\n};\n","import * as React from 'react';\nimport Flex from '@lce/slice_v2/Layout/Flex';\nimport Box from '@lce/slice_v2/Layout/Box';\nimport Heading from '@lce/slice_v2/Elements/Heading';\nimport Image from '@lce/slice_v2/Elements/Image';\n\nimport checkCountryLocale from '@lce/intl-util/src/CheckCountryLocale';\nimport Superscript from '../../../../Elements/Superscript/Superscript';\nimport ComponentListRenderer from '../../../../Modules/ComponentListRenderer';\nimport Script from '../../../../Elements/Script';\n\nimport * as Styled from './HotNReadyPanel.style';\n\nexport interface IHotNReadyPanelProps {\n scriptText?: string;\n superscript?: string;\n bodyText?: string | string[];\n bottomImage: {\n alt?: string;\n url: string;\n };\n}\nconst HotNReadyPanel: React.FC = ({ bottomImage, scriptText, superscript, bodyText }) => {\n const isRussiaSite = checkCountryLocale('ru-ru');\n return(\n \n \n {scriptText && (\n \n {scriptText}\n {superscript}\n \n )}\n {bodyText && (\n \n \n \n )}\n \n {bottomImage && (\n \n \n \n )}\n \n );\n};\n\nexport default HotNReadyPanel;\n","import { SxStyleProp } from 'theme-ui';\n\nexport const BestValue: SxStyleProp = {\n backgroundColor: 'primary',\n p: '28px 16px 8px 16px',\n textAlign: 'center',\n flexDirection: 'column',\n justifyContent: 'space-between',\n mb: '24px',\n width: ['100%', '100%', '32.0516%'],\n};\n\nexport const BestValueCrest: SxStyleProp = {\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n mb: '12px',\n direction: 'ltr',\n};\n\nexport const LeftLaurel: SxStyleProp = {\n width: ['44px', '62px', '76px'],\n mr: '8px',\n};\n\nexport const RightLaurel: SxStyleProp = {\n width: ['44px', '62px', '76px'],\n ml: '8px',\n};\n\nexport const LaurelText: SxStyleProp = {\n fontFamily: 'primary',\n fontWeight: 'bold',\n fontSize: [ 20, 24, 32],\n color: 'white',\n position: 'relative',\n zIndex: '1',\n lineHeight: '0.7em',\n textAlign: 'center',\n m: ['0 -8px', '0 -12px', '0 -16px'],\n};\n\nexport const LaurelSmallText: SxStyleProp = {\n fontSize: '0.5em',\n lineHeight: '0.8em',\n};\n\nexport const ValueScript: SxStyleProp = {\n color: 'black',\n fontWeight: 'normal',\n fontSize: 20,\n lineHeight: '1em',\n my: '1.5rem',\n};\n\nexport const LegalText: SxStyleProp = {\n fontFamily: 'tertiary',\n maxWidth: '480px',\n m: '16px auto 0 auto',\n fontSize: 6,\n lineHeight: '1em',\n};\n","import * as React from 'react';\nimport { map as _map } from 'lodash';\nimport Box from '@lce/slice_v2/Layout/Box';\nimport Flex from '@lce/slice_v2/Layout/Flex';\nimport Image from '@lce/slice_v2/Elements/Image';\n\nimport { Direction } from '@lce/intl-types/src/IDirection';\nimport checkCountryLocale from '@lce/intl-util/src/CheckCountryLocale';\nimport ComponentListRenderer from '../../../../Modules/ComponentListRenderer';\nimport Script from '../../../../Elements/Script';\nimport * as Styled from './BestValuePanel.style';\nimport Laurel from './assets/laurel.png';\n\nexport interface IBestValueProps {\n direction: Direction;\n awardText?: string | string[];\n scriptText?: string | string[];\n legalText?: string;\n}\n\n// eslint-disable-next-line max-lines-per-function\nconst BestValue: React.FC = ({ awardText, direction, scriptText, legalText }) => {\n const isRussiaSite = checkCountryLocale('ru-ru');\n return(\n \n \n \n \n {Array.isArray(awardText) ? (\n _map(awardText, (value, index) => {\n if (index === awardText.length - 1 || index === 0) {\n return (\n \n {value}\n \n );\n }\n return (\n
\n {value}\n
\n );\n })\n ) : (\n
{awardText}
\n )}\n
\n \n
\n \n {legalText}\n
\n );\n};\n\nexport default BestValue;\n","import { SxStyleProp } from 'theme-ui';\n\nexport const QualityPanel: SxStyleProp = {\n backgroundColor: 'primary',\n width: ['100%', '100%', '66.071%'],\n flexDirection: ['column', 'row'],\n justifyContent: 'space-evenly',\n p: '20px',\n mb: '24px',\n minHeight: '1px',\n};\n\nexport const Section: SxStyleProp = {\n width: ['100%', '33%'],\n justifyContent: 'flex-start',\n flexDirection: 'column',\n p: ['20px 0', '40px 0'],\n minHeight: '1px',\n};\n\nexport const Title: SxStyleProp = {\n color: 'white',\n textTransform: 'uppercase',\n textAlign: 'center',\n fontWeight: 'bold',\n fontSize: 16,\n m: 0,\n};\n\nexport const Description: SxStyleProp = {\n textAlign: 'center',\n fontSize: 12,\n p: '0 8px',\n lineHeight: '1.2em',\n};\n\nexport const SectionImage: SxStyleProp = {\n width: '100%',\n height: 'auto',\n minHeight: '1px',\n};\n","import * as React from 'react';\nimport { map as _map } from 'lodash';\nimport Flex from '@lce/slice_v2/Layout/Flex';\nimport Heading from '@lce/slice_v2/Elements/Heading';\nimport Text from '@lce/slice_v2/Elements/Text';\nimport Image from '@lce/slice_v2/Elements/Image';\n\nimport * as Styled from './QualityPanel.style';\n\ninterface IQualityPanelProps {\n sections: IQualityPanelSectionProps[];\n}\n\nexport interface IQualityPanelSectionProps {\n id: string;\n image: string;\n textDescription: string;\n title: string;\n}\n\nconst QualityPanel: React.FC = ({ sections }) => (\n \n {_map(sections, section => (\n \n \"\"\n {section.title}\n {section.textDescription}\n \n ))}\n \n);\n\nexport default QualityPanel;\n","import * as React from 'react';\nimport Flex from '@lce/slice_v2/Layout/Flex';\nimport { Direction } from '@lce/intl-types/src/IDirection';\n\nimport ImageTopPanel, { IImageTopPanelProps } from '../Panels/ImageTopPanel';\nimport HotNReadyPanel, { IHotNReadyPanelProps } from '../Panels/HotNReadyPanel';\nimport BestValuePanel, { IBestValueProps } from '../Panels/BestValuePanel';\nimport QualityPanel, { IQualityPanelSectionProps } from '../Panels/QualityPanel';\n\ninterface IPanelLoaderProps {\n isThreePanel: boolean;\n direction: Direction;\n hotNReadyPanel: IHotNReadyPanelProps;\n imageTopPanel: IImageTopPanelProps;\n bestValuePanel: IBestValueProps;\n qualityPanel: IQualityPanelSectionProps[];\n}\n\nconst PanelLoader: React.FC = ({\n isThreePanel,\n direction, \n hotNReadyPanel, \n imageTopPanel,\n bestValuePanel,\n qualityPanel }) => {\n\n const Default3Panel: React.FC = () => (\n <>\n \n \n \n \n );\n const Default2Panel: React.FC = () => (\n <>\n \n \n \n );\n const LoadedComponents: React.FC = isThreePanel ? Default3Panel : Default2Panel;\n\n return (\n \n \n \n );\n};\n\nexport default PanelLoader;\n","import { SxStyleProp } from 'theme-ui';\n\nexport const LtoPrice: SxStyleProp = {\n color: 'white',\n textAlign: 'center',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n fontSize: [58, 80],\n};\n\nexport const Price: SxStyleProp = {\n color: 'inherit',\n lineHeight: '0.8em',\n whiteSpace: 'nowrap',\n position: 'relative',\n flexWrap: 'nowrap',\n flexDirection: 'row',\n};\n\nexport const PriceSymbol: SxStyleProp = {\n alignSelf: 'flex-start',\n width: ['16px', '32px'],\n height: ['48px', '72px'],\n mt: ['8px', '16px'],\n};\n\nexport const PriceSymbolRussia: SxStyleProp = {\n alignSelf: 'flex-start',\n width: ['40px', '56px'],\n height: ['80px', '104px'],\n};\n\nexport const Dollars: SxStyleProp = {\n fontSize: 'inherit',\n pb: '20px',\n};\n\nexport const Cents: SxStyleProp = {\n fontSize: '0.55em',\n};\n\nexport const Ivi: SxStyleProp = {\n fontWeight: 'normal',\n position: 'absolute',\n right: '4px',\n bottom: '8px',\n fontSize: '0.125em',\n lineHeight: '1em',\n};\n","import * as React from 'react';\nimport Flex from '@lce/slice_v2/Layout/Flex';\nimport Box from '@lce/slice_v2/Layout/Box';\nimport Image from '@lce/slice_v2/Elements/Image';\n\nimport { IDatoImage } from '@lce/intl-types/src/IDatoImage';\nimport { Direction } from '@lce/intl-types/src/IDirection';\nimport checkCountryLocale from '@lce/intl-util/src/CheckCountryLocale';\nimport * as Styled from './LtoPrice.style';\n\nexport interface ILtoPriceProps {\n currencySymbol?: IDatoImage;\n dollars?: string;\n cents?: string;\n subCents?: string;\n direction: Direction;\n}\n\n// eslint-disable-next-line complexity\nconst LtoPrice: React.FC = ({ dollars, direction, cents, subCents, currencySymbol }) => {\n const isRussiaSite = checkCountryLocale('ru-ru');\n \n return (\n \n {!isRussiaSite && currencySymbol && currencySymbol.url && currencySymbol.alt && (\n {currencySymbol.alt}\n )}\n\n \n {dollars && {dollars}}\n {cents && {cents}}\n {subCents && {subCents}}\n \n {isRussiaSite && currencySymbol && currencySymbol.url && currencySymbol.alt && (\n {currencySymbol.alt}\n )}\n \n );\n};\n\nexport default LtoPrice;\n","import { SxStyleProp } from 'theme-ui';\n\nexport const BannerTitle: SxStyleProp = {\n color: 'white',\n position: 'relative',\n pt: '24px',\n lineHeight: '0.8em',\n};\n\nexport const HotNReadyBlock: SxStyleProp = {\n position: 'absolute',\n top: ['-2px', '-10px'],\n fontSize: '0.375em',\n mb: '10px',\n};\n\nexport const TitleScript: SxStyleProp = {\n color: 'black',\n fontWeight: 'normal',\n fontSize: '1.375em',\n mb: '0',\n};\n\nexport const SubTitleText: SxStyleProp = {\n color: 'black',\n lineHeight: '1.15em',\n fontSize: '0.55em',\n};\n\nexport const SubTitle2Text: SxStyleProp = {\n color: 'black',\n lineHeight: '1.15em',\n fontSize: '0.35em',\n};\n","import * as React from 'react';\nimport Box from '@lce/slice_v2/Layout/Box';\n\nimport ComponentListRenderer from '@lce/intl-ui/src/Modules/ComponentListRenderer';\nimport Script from '@lce/intl-ui/src/Elements/Script';\nimport Superscript from '@lce/intl-ui/src/Elements/Superscript';\nimport * as Styled from './BannerTitle.style';\n\nexport interface IBannerTitleProps {\n script?: string;\n superScript?: string;\n title: string | string[];\n subTitle?: React.ReactNode | React.ReactElement;\n subTitle2?: string;\n}\n\nconst BannerTitle: React.FC = ({\n script,\n superScript,\n title,\n subTitle,\n subTitle2,\n}) => (\n \n {script && (\n \n \n \n )}\n \n {subTitle && (\n \n {subTitle}\n \n )}\n {subTitle2 && (\n \n {subTitle2}\n \n )}\n \n);\n\nexport default BannerTitle;\n","import { SxStyleProp } from 'theme-ui';\n\nexport const Lto: SxStyleProp = {\n width: '100%',\n bg: 'primary',\n flexDirection: ['column-reverse', 'row'],\n overflow: 'hidden',\n minHeight: '404px',\n};\n\nexport const LtoImageBlock: SxStyleProp = {\n flex: ['1 1 auto', '1 1 70%'],\n position: 'relative',\n overflow: 'hidden',\n justifyContent: 'center',\n alignSelf: 'center',\n pt: '20px',\n pl: '24px',\n};\n\nexport const LtoImage: SxStyleProp = {\n width: '100%',\n height: 'auto',\n maxWidth: '800px',\n minHeight: '1px',\n m: '0',\n};\n\nexport const LtoMessageBlock: SxStyleProp = {\n alignItems: 'center',\n flex: ['1 1 auto', '1 1 30%'],\n p: ['16px 16px 0 16px', '16px'],\n minHeight: ['150px', ''],\n minWidth: ['unset', '400px'],\n};\n\nexport const LtoText: SxStyleProp = {\n fontFamily: 'primary',\n fontWeight: 'bold',\n lineHeight: '0.8em',\n whiteSpace: 'pre-line',\n pl: ['15px', '0'],\n pb: ['0', '32px'],\n mb: '0',\n fontSize: [26, 32],\n width: '100%',\n};\n","import * as React from 'react';\nimport Flex from '@lce/slice_v2/Layout/Flex';\nimport Box from '@lce/slice_v2/Layout/Box';\nimport Image from '@lce/slice_v2/Elements/Image';\nimport { IDatoImage } from '@lce/intl-types/src/IDatoImage';\nimport { Direction } from '@lce/intl-types/src/IDirection';\n\nimport LtoPrice from './components/LtoPrice';\nimport BannerTitle from './components/BannerTitle';\nimport * as Styled from './DefaultBanner.style';\n\nexport interface IDefaultBannerProps {\n bannerName?: string;\n cents?: string;\n currencySymbol?: IDatoImage;\n dollars?: string;\n image?: IDatoImage;\n locale: string;\n script?: string;\n subCents?: string;\n subTitle?: string;\n subTitle2?: string;\n superScript?: string;\n title?: string[];\n direction: Direction;\n}\n\nconst DefaultBanner: React.FC = ({\n image,\n cents,\n currencySymbol,\n subCents,\n subTitle,\n subTitle2,\n dollars,\n title,\n script,\n superScript,\n direction,\n locale,\n}) => (\n \n \n {image && image.url &&\n \"\"\n }\n \n \n \n \n {title && }\n \n \n \n);\n\nexport default DefaultBanner;\n","export function circleIn(t) {\n return 1 - Math.sqrt(1 - t * t);\n}\nexport function circleOut(t) {\n return Math.sqrt(1 - --t * t);\n}\nexport function circleInOut(t) {\n return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;\n}","export function linear(t) {\n return +t;\n}","export function quadIn(t) {\n return t * t;\n}\nexport function quadOut(t) {\n return t * (2 - t);\n}\nexport function quadInOut(t) {\n return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;\n}","export function cubicIn(t) {\n return t * t * t;\n}\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}","var exponent = 3;\nexport var polyIn = function custom(e) {\n e = +e;\n function polyIn(t) {\n return Math.pow(t, e);\n }\n polyIn.exponent = custom;\n return polyIn;\n}(exponent);\nexport var polyOut = function custom(e) {\n e = +e;\n function polyOut(t) {\n return 1 - Math.pow(1 - t, e);\n }\n polyOut.exponent = custom;\n return polyOut;\n}(exponent);\nexport var polyInOut = function custom(e) {\n e = +e;\n function polyInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;\n }\n polyInOut.exponent = custom;\n return polyInOut;\n}(exponent);","var pi = Math.PI,\n halfPi = pi / 2;\nexport function sinIn(t) {\n return +t === 1 ? 1 : 1 - Math.cos(t * halfPi);\n}\nexport function sinOut(t) {\n return Math.sin(t * halfPi);\n}\nexport function sinInOut(t) {\n return (1 - Math.cos(pi * t)) / 2;\n}","// tpmt is two power minus ten times t scaled to [0,1]\nexport function tpmt(x) {\n return (Math.pow(2, -10 * x) - 0.0009765625) * 1.0009775171065494;\n}","import { tpmt } from \"./math.js\";\nexport function expIn(t) {\n return tpmt(1 - +t);\n}\nexport function expOut(t) {\n return 1 - tpmt(t);\n}\nexport function expInOut(t) {\n return ((t *= 2) <= 1 ? tpmt(1 - t) : 2 - tpmt(t - 1)) / 2;\n}","var b1 = 4 / 11,\n b2 = 6 / 11,\n b3 = 8 / 11,\n b4 = 3 / 4,\n b5 = 9 / 11,\n b6 = 10 / 11,\n b7 = 15 / 16,\n b8 = 21 / 22,\n b9 = 63 / 64,\n b0 = 1 / b1 / b1;\nexport function bounceIn(t) {\n return 1 - bounceOut(1 - t);\n}\nexport function bounceOut(t) {\n return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;\n}\nexport function bounceInOut(t) {\n return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;\n}","var overshoot = 1.70158;\nexport var backIn = function custom(s) {\n s = +s;\n function backIn(t) {\n return (t = +t) * t * (s * (t - 1) + t);\n }\n backIn.overshoot = custom;\n return backIn;\n}(overshoot);\nexport var backOut = function custom(s) {\n s = +s;\n function backOut(t) {\n return --t * t * ((t + 1) * s + t) + 1;\n }\n backOut.overshoot = custom;\n return backOut;\n}(overshoot);\nexport var backInOut = function custom(s) {\n s = +s;\n function backInOut(t) {\n return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;\n }\n backInOut.overshoot = custom;\n return backInOut;\n}(overshoot);","import { tpmt } from \"./math.js\";\nvar tau = 2 * Math.PI,\n amplitude = 1,\n period = 0.3;\nexport var elasticIn = function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n function elasticIn(t) {\n return a * tpmt(- --t) * Math.sin((s - t) / p);\n }\n elasticIn.amplitude = function (a) {\n return custom(a, p * tau);\n };\n elasticIn.period = function (p) {\n return custom(a, p);\n };\n return elasticIn;\n}(amplitude, period);\nexport var elasticOut = function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n function elasticOut(t) {\n return 1 - a * tpmt(t = +t) * Math.sin((t + s) / p);\n }\n elasticOut.amplitude = function (a) {\n return custom(a, p * tau);\n };\n elasticOut.period = function (p) {\n return custom(a, p);\n };\n return elasticOut;\n}(amplitude, period);\nexport var elasticInOut = function custom(a, p) {\n var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);\n function elasticInOut(t) {\n return ((t = t * 2 - 1) < 0 ? a * tpmt(-t) * Math.sin((s - t) / p) : 2 - a * tpmt(t) * Math.sin((s + t) / p)) / 2;\n }\n elasticInOut.amplitude = function (a) {\n return custom(a, p * tau);\n };\n elasticInOut.period = function (p) {\n return custom(a, p);\n };\n return elasticInOut;\n}(amplitude, period);","import React from 'react';\nexport var getImgTagStyles = function getImgTagStyles() {\n return \".slider-slide > img { width: 100%; display: block; }\\n .slider-slide > img:focus { margin: auto; }\";\n};\nexport var getSlideHeight = function getSlideHeight(props) {\n var childCount = React.Children.count(props.children);\n var listWidth = props.slideWidth * childCount;\n var spacingOffset = props.cellSpacing * childCount;\n var calculatedHeight = props.vertical ? listWidth + spacingOffset : props.slideHeight;\n return calculatedHeight > 0 && props.heightMode !== 'current' ? calculatedHeight : 'auto';\n};\nexport var getAlignmentOffset = function getAlignmentOffset(slideIndex, config) {\n var offset = 0;\n switch (config.cellAlign) {\n case 'left':\n {\n offset = 0;\n offset -= config.cellSpacing * slideIndex;\n break;\n }\n case 'center':\n {\n offset = (config.frameWidth - config.slideWidth) / 2;\n offset -= config.cellSpacing * slideIndex;\n break;\n }\n case 'right':\n {\n offset = config.frameWidth - config.slideWidth;\n offset -= config.cellSpacing * slideIndex;\n break;\n }\n }\n return offset;\n};\nexport var getDecoratorStyles = function getDecoratorStyles(position) {\n switch (position) {\n case 'TopLeft':\n {\n return {\n position: 'absolute',\n top: 0,\n left: 0\n };\n }\n case 'TopCenter':\n {\n return {\n position: 'absolute',\n top: 0,\n left: '50%',\n transform: 'translateX(-50%)',\n WebkitTransform: 'translateX(-50%)',\n msTransform: 'translateX(-50%)'\n };\n }\n case 'TopRight':\n {\n return {\n position: 'absolute',\n top: 0,\n right: 0\n };\n }\n case 'CenterLeft':\n {\n return {\n position: 'absolute',\n top: '50%',\n left: 0,\n transform: 'translateY(-50%)',\n WebkitTransform: 'translateY(-50%)',\n msTransform: 'translateY(-50%)'\n };\n }\n case 'CenterCenter':\n {\n return {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%,-50%)',\n WebkitTransform: 'translate(-50%, -50%)',\n msTransform: 'translate(-50%, -50%)'\n };\n }\n case 'CenterRight':\n {\n return {\n position: 'absolute',\n top: '50%',\n right: 0,\n transform: 'translateY(-50%)',\n WebkitTransform: 'translateY(-50%)',\n msTransform: 'translateY(-50%)'\n };\n }\n case 'BottomLeft':\n {\n return {\n position: 'absolute',\n bottom: 0,\n left: 0\n };\n }\n case 'BottomCenter':\n {\n return {\n position: 'absolute',\n bottom: 0,\n left: '50%',\n transform: 'translateX(-50%)',\n WebkitTransform: 'translateX(-50%)',\n msTransform: 'translateX(-50%)'\n };\n }\n case 'BottomRight':\n {\n return {\n position: 'absolute',\n bottom: 0,\n right: 0\n };\n }\n default:\n {\n return {\n position: 'absolute',\n top: 0,\n left: 0\n };\n }\n }\n};\nexport var getSliderStyles = function getSliderStyles(propWidth, propHeight) {\n return {\n boxSizing: 'border-box',\n display: 'block',\n height: propHeight,\n MozBoxSizing: 'border-box',\n position: 'relative',\n width: propWidth\n };\n};\nexport var getFrameStyles = function getFrameStyles(propFrameOverFlow, propVertical, propFramePadding, stateFrameWidth) {\n return {\n boxSizing: 'border-box',\n display: 'block',\n height: propVertical ? stateFrameWidth || 'initial' : '100%',\n margin: propFramePadding,\n MozBoxSizing: 'border-box',\n msTransform: 'translate(0, 0)',\n overflow: propFrameOverFlow,\n padding: 0,\n position: 'relative',\n touchAction: \"pinch-zoom \".concat(propVertical ? 'pan-x' : 'pan-y'),\n transform: 'translate3d(0, 0, 0)',\n WebkitTransform: 'translate3d(0, 0, 0)'\n };\n};\nexport var getTransitionProps = function getTransitionProps(props, state) {\n return {\n animation: props.animation,\n cellAlign: props.cellAlign,\n cellSpacing: props.cellSpacing,\n currentSlide: state.currentSlide,\n dragging: props.dragging,\n frameWidth: parseInt(state.frameWidth),\n hasInteraction: state.hasInteraction,\n heightMode: props.heightMode,\n isWrappingAround: state.isWrappingAround,\n left: state.left,\n opacityScale: props.opacityScale,\n slideCount: state.slideCount,\n slideHeight: state.slideHeight,\n slideListMargin: props.slideListMargin,\n slideOffset: props.slideOffset,\n slidesToScroll: props.scrollMode === 'page' ? state.slidesToShow : props.slidesToScroll,\n slidesToShow: state.slidesToShow,\n slideWidth: state.slideWidth,\n top: state.top,\n vertical: props.vertical,\n wrapAround: props.wrapAround,\n zoomScale: props.zoomScale\n };\n};","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\n/* eslint-disable complexity */\nimport React from 'react';\nimport { getAlignmentOffset } from './utilities/style-utilities';\nvar defaultButtonStyles = function defaultButtonStyles(disabled) {\n return {\n border: 0,\n background: 'rgba(0,0,0,0.4)',\n color: 'white',\n padding: 10,\n textTransform: 'uppercase',\n opacity: disabled && 0.3,\n cursor: disabled ? 'not-allowed' : 'pointer'\n };\n};\nexport var PreviousButton = function PreviousButton(props) {\n var handleClick = function handleClick(event) {\n event.preventDefault();\n props.previousSlide();\n };\n var _props$defaultControl = props.defaultControlsConfig,\n prevButtonClassName = _props$defaultControl.prevButtonClassName,\n _props$defaultControl2 = _props$defaultControl.prevButtonStyle,\n prevButtonStyle = _props$defaultControl2 === void 0 ? {} : _props$defaultControl2,\n prevButtonText = _props$defaultControl.prevButtonText;\n var disabled = props.currentSlide === 0 && !props.wrapAround || props.slideCount === 0;\n return /*#__PURE__*/React.createElement(\"button\", {\n className: prevButtonClassName,\n style: _objectSpread(_objectSpread({}, defaultButtonStyles(disabled)), prevButtonStyle),\n disabled: disabled,\n onClick: handleClick,\n \"aria-label\": \"previous\",\n type: \"button\"\n }, prevButtonText || 'Prev');\n};\nexport var nextButtonDisabled = function nextButtonDisabled(_ref) {\n var cellAlign = _ref.cellAlign,\n cellSpacing = _ref.cellSpacing,\n currentSlide = _ref.currentSlide,\n frameWidth = _ref.frameWidth,\n positionValue = _ref.positionValue,\n slideCount = _ref.slideCount,\n slidesToShow = _ref.slidesToShow,\n slideWidth = _ref.slideWidth,\n wrapAround = _ref.wrapAround,\n scrollMode = _ref.scrollMode,\n slidesToScroll = _ref.slidesToScroll;\n var buttonDisabled = false;\n if (!wrapAround) {\n var alignmentOffset = getAlignmentOffset(currentSlide, {\n cellAlign: cellAlign,\n cellSpacing: cellSpacing,\n frameWidth: frameWidth,\n slideWidth: slideWidth\n });\n var relativePosition = positionValue - alignmentOffset;\n var width = slideWidth + cellSpacing;\n var endOffset = cellAlign === 'center' ? 2 * alignmentOffset : alignmentOffset;\n var endPosition = -width * slideCount + width * slidesToShow - endOffset;\n buttonDisabled = relativePosition < endPosition || Math.abs(relativePosition - endPosition) < 0.01;\n } // return true if its last slide or slideCount =0\n\n var lastSlide = currentSlide > 0 && currentSlide + slidesToScroll >= slideCount;\n if (lastSlide && !wrapAround && scrollMode === 'remainder' || slideCount === 0) {\n return buttonDisabled = true;\n }\n return buttonDisabled;\n};\nexport var NextButton = function NextButton(props) {\n var handleClick = function handleClick(event) {\n event.preventDefault();\n props.nextSlide();\n };\n var cellAlign = props.cellAlign,\n cellSpacing = props.cellSpacing,\n currentSlide = props.currentSlide,\n defaultControlsConfig = props.defaultControlsConfig,\n frameWidth = props.frameWidth,\n left = props.left,\n slideCount = props.slideCount,\n slidesToShow = props.slidesToShow,\n slideWidth = props.slideWidth,\n top = props.top,\n vertical = props.vertical,\n wrapAround = props.wrapAround,\n scrollMode = props.scrollMode,\n slidesToScroll = props.slidesToScroll;\n var nextButtonClassName = defaultControlsConfig.nextButtonClassName,\n _defaultControlsConfi = defaultControlsConfig.nextButtonStyle,\n nextButtonStyle = _defaultControlsConfi === void 0 ? {} : _defaultControlsConfi,\n nextButtonText = defaultControlsConfig.nextButtonText;\n var disabled = nextButtonDisabled({\n cellAlign: cellAlign,\n cellSpacing: cellSpacing,\n currentSlide: currentSlide,\n frameWidth: frameWidth,\n positionValue: vertical ? top : left,\n slideCount: slideCount,\n slidesToShow: slidesToShow,\n slideWidth: slideWidth,\n wrapAround: wrapAround,\n scrollMode: scrollMode,\n slidesToScroll: slidesToScroll\n });\n return /*#__PURE__*/React.createElement(\"button\", {\n className: nextButtonClassName,\n style: _objectSpread(_objectSpread({}, defaultButtonStyles(disabled)), nextButtonStyle),\n disabled: disabled,\n onClick: handleClick,\n \"aria-label\": \"next\",\n type: \"button\"\n }, nextButtonText || 'Next');\n};\nexport var getDotIndexes = function getDotIndexes(slideCount, slidesToScroll, slidesToShow, cellAlign) {\n var dotIndexes = [];\n var lastDotIndex = slideCount - slidesToShow;\n var slidesToShowIsDecimal = slidesToShow % 1 !== 0;\n switch (cellAlign) {\n case 'center':\n case 'right':\n lastDotIndex += slidesToShow - 1;\n break;\n } // the below condition includes the last index if slidesToShow is decimal\n\n if (cellAlign === 'left' && slidesToShowIsDecimal) {\n lastDotIndex += slidesToShow - 1;\n }\n if (lastDotIndex < 0) {\n return [0];\n }\n var scrollSlides = slidesToScroll === 0 ? 1 : slidesToScroll;\n for (var i = 0; i < lastDotIndex; i += scrollSlides) {\n dotIndexes.push(i);\n } // the below condition includes the last index if slidesToShow is not decimal and cellAlign = left\n\n if (cellAlign === 'left' && !slidesToShowIsDecimal) {\n lastDotIndex = slideCount - (slideCount % slidesToShow || slidesToShow);\n }\n if (!dotIndexes.includes(lastDotIndex)) {\n dotIndexes.push(lastDotIndex);\n }\n return dotIndexes;\n};\nexport var PagingDots = function PagingDots(props) {\n var getListStyles = function getListStyles() {\n return {\n position: 'relative',\n top: -10,\n display: 'flex',\n margin: 0,\n padding: 0,\n listStyleType: 'none'\n };\n };\n var getButtonStyles = function getButtonStyles(active) {\n return {\n cursor: 'pointer',\n opacity: active ? 1 : 0.5,\n background: 'transparent',\n border: 'none',\n fill: 'black'\n };\n };\n var indexes = getDotIndexes(props.slideCount, props.slidesToScroll, props.slidesToShow, props.cellAlign);\n var _props$defaultControl3 = props.defaultControlsConfig,\n pagingDotsContainerClassName = _props$defaultControl3.pagingDotsContainerClassName,\n pagingDotsClassName = _props$defaultControl3.pagingDotsClassName,\n _props$defaultControl4 = _props$defaultControl3.pagingDotsStyle,\n pagingDotsStyle = _props$defaultControl4 === void 0 ? {} : _props$defaultControl4;\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: pagingDotsContainerClassName,\n style: getListStyles()\n }, indexes.map(function (index, i) {\n var isActive = props.currentSlide === index; // the below condition checks and sets navigation dots active if the current slide falls in the current index range\n\n if (props.currentSlide < index && props.currentSlide > indexes[i - 1]) {\n isActive = true;\n }\n return /*#__PURE__*/React.createElement(\"li\", {\n key: index,\n className: isActive ? 'paging-item active' : 'paging-item'\n }, /*#__PURE__*/React.createElement(\"button\", {\n className: pagingDotsClassName,\n type: \"button\",\n style: _objectSpread(_objectSpread({}, getButtonStyles(isActive)), pagingDotsStyle),\n onClick: props.goToSlide.bind(null, index),\n \"aria-label\": \"slide \".concat(index + 1, \" bullet\"),\n \"aria-selected\": isActive\n }, /*#__PURE__*/React.createElement(\"svg\", {\n className: \"paging-dot\",\n width: \"6\",\n height: \"6\",\n \"aria-hidden\": \"true\",\n focusable: \"false\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"3\",\n cy: \"3\",\n r: \"3\"\n }))));\n }));\n};","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nimport React from 'react';\nimport { getAlignmentOffset } from './style-utilities';\nexport var addEvent = function addEvent(elem, type, eventHandle) {\n if (elem === null || typeof elem === 'undefined') {\n return;\n }\n if (elem.addEventListener) {\n elem.addEventListener(type, eventHandle, false);\n } else if (elem.attachEvent) {\n elem.attachEvent(\"on\".concat(type), eventHandle);\n } else {\n elem[\"on\".concat(type)] = eventHandle;\n }\n};\nexport var removeEvent = function removeEvent(elem, type, eventHandle) {\n if (elem === null || typeof elem === 'undefined') {\n return;\n }\n if (elem.removeEventListener) {\n elem.removeEventListener(type, eventHandle, false);\n } else if (elem.detachEvent) {\n elem.detachEvent(\"on\".concat(type), eventHandle);\n } else {\n elem[\"on\".concat(type)] = null;\n }\n};\nexport var addAccessibility = function addAccessibility(children, slidesToShow, currentSlide) {\n var needsTabIndex;\n if (slidesToShow > 1) {\n return React.Children.map(children, function (child, index) {\n var firstVisibleSlide = index >= currentSlide;\n var lastVisibleSlide = index < slidesToShow + currentSlide;\n needsTabIndex = firstVisibleSlide && lastVisibleSlide;\n var ariaProps = needsTabIndex ? {\n 'aria-hidden': 'false',\n tabIndex: 0\n } : {\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.cloneElement(child, _objectSpread(_objectSpread({}, ariaProps), child.props));\n });\n } else {\n return React.Children.map(children, function (child, index) {\n needsTabIndex = index !== currentSlide;\n var ariaProps = needsTabIndex ? {\n 'aria-hidden': 'true'\n } : {\n 'aria-hidden': 'false',\n tabIndex: 0\n };\n return /*#__PURE__*/React.cloneElement(child, _objectSpread(_objectSpread({}, ariaProps), child.props));\n });\n }\n};\nexport var getSlideClassName = function getSlideClassName(index, currentSlide, slidesToShow) {\n var className = '';\n var visible = index >= currentSlide && index < currentSlide + slidesToShow;\n var current = index === currentSlide;\n if (visible) {\n className = ' slide-visible';\n if (current) {\n className = className.concat(' slide-current');\n }\n }\n return className;\n};\nexport var getPropsByTransitionMode = function getPropsByTransitionMode(props, keys) {\n var slidesToShow = props.slidesToShow,\n transitionMode = props.transitionMode;\n var updatedDefaults = {};\n if (transitionMode === 'fade') {\n keys.forEach(function (key) {\n switch (key) {\n case 'slidesToShow':\n updatedDefaults[key] = Math.max(parseInt(slidesToShow), 1);\n break;\n case 'slidesToScroll':\n updatedDefaults[key] = Math.max(parseInt(slidesToShow), 1);\n break;\n case 'cellAlign':\n updatedDefaults[key] = 'left';\n break;\n default:\n updatedDefaults[key] = props[key];\n break;\n }\n });\n } else {\n keys.forEach(function (key) {\n updatedDefaults[key] = props[key];\n });\n }\n return updatedDefaults;\n};\nexport var swipeDirection = function swipeDirection(x1, x2, y1, y2, vertical) {\n var xDist = x1 - x2;\n var yDist = y1 - y2;\n var r = Math.atan2(yDist, xDist);\n var swipeAngle = Math.round(r * 180 / Math.PI);\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n if (swipeAngle <= 45 && swipeAngle >= 0) {\n return 1;\n }\n if (swipeAngle <= 360 && swipeAngle >= 315) {\n return 1;\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return -1;\n }\n if (vertical === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return 1;\n } else {\n return -1;\n }\n }\n return 0;\n};\nexport var getSlideDirection = function getSlideDirection(start, end, isWrapping) {\n var direction = 0;\n if (start === end) return direction;\n if (isWrapping) {\n direction = start < end ? -1 : 1;\n } else {\n direction = start < end ? 1 : -1;\n }\n return direction;\n};\nexport var shouldUpdate = function shouldUpdate(curr, next, keys) {\n var update = false;\n for (var i = 0; i < keys.length; i++) {\n if (curr[keys[i]] !== next[keys[i]]) {\n update = true;\n break;\n }\n }\n return update;\n};\nexport var calcSomeInitialState = function calcSomeInitialState(props) {\n var _getPropsByTransition = getPropsByTransitionMode(props, ['slidesToScroll', 'slidesToShow', 'cellAlign']),\n slidesToScroll = _getPropsByTransition.slidesToScroll,\n slidesToShow = _getPropsByTransition.slidesToShow,\n cellAlign = _getPropsByTransition.cellAlign;\n var slideWidth = props.vertical ? props.initialSlideHeight || 0 : props.initialSlideWidth || 0;\n var slideHeight = props.vertical ? (props.initialSlideHeight || 0) * props.slidesToShow : props.initialSlideHeight || 0;\n var frameHeight = slideHeight + props.cellSpacing * (slidesToShow - 1);\n var frameWidth = props.vertical ? frameHeight : null;\n return {\n slideWidth: slideWidth,\n slideHeight: slideHeight,\n frameWidth: frameWidth,\n slidesToScroll: slidesToScroll,\n slidesToShow: slidesToShow,\n cellAlign: cellAlign\n };\n};\nexport var handleSelfFocus = function handleSelfFocus(e) {\n if (e && e.currentTarget) {\n e.currentTarget.focus();\n }\n};\nexport var isFullyVisible = function isFullyVisible(slideIndex, config) {\n var currentSlide = config.currentSlide,\n cellSpacing = config.cellSpacing,\n slideCount = config.slideCount,\n slideWidth = config.slideWidth,\n frameWidth = config.frameWidth,\n wrapAround = config.wrapAround,\n cellAlign = config.cellAlign; // Slide width can't be 0\n\n var fullSlideWidth = slideWidth || 1; // Calculate offset without cellSpacing\n\n var offsetWidth = getAlignmentOffset(currentSlide, config) + cellSpacing * currentSlide;\n var remainingWidth = frameWidth - offsetWidth;\n var fullSlidesBefore = 0;\n if (cellAlign !== 'left') {\n fullSlidesBefore = Math.max(Math.floor(offsetWidth / fullSlideWidth) + 1, 0);\n } else {\n fullSlidesBefore = Math.max(Math.floor(offsetWidth / fullSlideWidth), 0);\n }\n var fullSlidesAfter = Math.max(Math.floor(remainingWidth / fullSlideWidth), 0); // when slidesToScroll is auto enable clicking of all fully visible slides\n\n if (fullSlidesAfter + fullSlidesBefore + currentSlide >= slideCount && !wrapAround) {\n var fullSlidesAuto = fullSlidesBefore + fullSlidesAfter;\n fullSlidesAfter = fullSlidesAuto;\n fullSlidesBefore = fullSlidesAuto;\n }\n var currentSlideIndex = Math.ceil(currentSlide);\n var fullyVisibleSlides = [];\n for (var i = currentSlideIndex - fullSlidesBefore; i < currentSlideIndex + fullSlidesAfter + 1; i++) {\n if (i < 0) {\n // -1 won't match a slide index\n fullyVisibleSlides.push(wrapAround ? slideCount + i : -1);\n } else {\n fullyVisibleSlides.push(i > slideCount - 1 ? i - slideCount : i);\n }\n }\n return fullyVisibleSlides.includes(slideIndex);\n};","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nimport React from 'react';\nimport { getSlideHeight, getAlignmentOffset } from '../utilities/style-utilities';\nimport { getSlideDirection, handleSelfFocus, getSlideClassName, isFullyVisible } from '../utilities/utilities';\nvar MIN_ZOOM_SCALE = 0;\nvar MAX_ZOOM_SCALE = 1;\nvar ScrollTransition = /*#__PURE__*/function (_React$Component) {\n _inherits(ScrollTransition, _React$Component);\n var _super = _createSuper(ScrollTransition);\n function ScrollTransition(props) {\n var _this;\n _classCallCheck(this, ScrollTransition);\n _this = _super.call(this, props);\n _this.getListStyles = _this.getListStyles.bind(_assertThisInitialized(_this));\n return _this;\n }\n /* eslint-disable complexity */\n\n _createClass(ScrollTransition, [{\n key: \"getSlideTargetPosition\",\n value: function getSlideTargetPosition(currentSlideIndex, positionValue, childrenLength, slidesToShow) {\n var offset = 0; // Below lines help to display peeking slides when number of slides is less than 3.\n\n var peekSlide = true;\n switch (this.props.cellAlign) {\n case 'left':\n peekSlide = this.props.children.length <= 2 && currentSlideIndex !== 0 ? false : true;\n break;\n case 'center':\n peekSlide = this.props.children.length > 2 || this.props.currentSlide !== currentSlideIndex - 1 ? true : false;\n break;\n }\n if (this.props.animation === 'zoom' && peekSlide && (this.props.currentSlide === currentSlideIndex + 1 || this.props.currentSlide === 0 && currentSlideIndex === this.props.children.length - 1)) {\n offset = this.props.slideOffset;\n } else if (this.props.animation === 'zoom' && (this.props.currentSlide === currentSlideIndex - 1 || this.props.currentSlide === this.props.children.length - 1 && currentSlideIndex === 0)) {\n offset = -this.props.slideOffset;\n }\n var targetPosition = (this.props.slideWidth + this.props.cellSpacing) * currentSlideIndex;\n var alignmentOffset = getAlignmentOffset(currentSlideIndex, this.props);\n var relativePosition = positionValue - alignmentOffset;\n var startSlideIndex = Math.min(Math.abs(Math.floor(relativePosition / this.props.slideWidth)), this.props.slideCount - 1);\n if (this.props.wrapAround && currentSlideIndex !== startSlideIndex) {\n var slidesOutOfView = Math.max(this.props.slideCount - Math.ceil(this.props.frameWidth / this.props.slideWidth),\n // Total slides in view\n 0);\n var slidesOutOfViewBefore = Math.floor(slidesOutOfView / 2);\n var slidesOutOfViewAfter = slidesOutOfView - slidesOutOfViewBefore;\n var direction = getSlideDirection(startSlideIndex, this.props.currentSlide, this.props.isWrappingAround);\n if (direction < 0) {\n var temp = slidesOutOfViewBefore;\n slidesOutOfViewBefore = slidesOutOfViewAfter;\n slidesOutOfViewAfter = temp;\n }\n var slidesInViewBefore = Math.ceil(alignmentOffset / this.props.slideWidth);\n var slidesBefore = slidesInViewBefore + slidesOutOfViewBefore;\n var slidesInViewAfter = Math.ceil((this.props.frameWidth - alignmentOffset) / this.props.slideWidth) - 1;\n var slidesAfter = slidesInViewAfter + slidesOutOfViewAfter;\n var distanceFromStart = Math.abs(startSlideIndex - currentSlideIndex);\n var isDistanceBiggerThanSlides = childrenLength === slidesToShow ? distanceFromStart > slidesAfter : distanceFromStart >= slidesAfter;\n if (currentSlideIndex < startSlideIndex) {\n if (distanceFromStart > slidesBefore) {\n targetPosition = (this.props.slideWidth + this.props.cellSpacing) * (this.props.slideCount + currentSlideIndex);\n }\n } else if (isDistanceBiggerThanSlides) {\n targetPosition = (this.props.slideWidth + this.props.cellSpacing) * (this.props.slideCount - currentSlideIndex) * -1;\n }\n }\n return targetPosition + offset || 0;\n }\n /* eslint-enable complexity */\n }, {\n key: \"formatChildren\",\n value: function formatChildren(children) {\n var _this2 = this;\n var _this$props = this.props,\n top = _this$props.top,\n left = _this$props.left,\n currentSlide = _this$props.currentSlide,\n slidesToShow = _this$props.slidesToShow,\n vertical = _this$props.vertical;\n var positionValue = vertical ? top : left;\n var childrenLength = React.Children.count(children);\n return React.Children.map(children, function (child, index) {\n var isVisible = isFullyVisible(index, _this2.props);\n var inert = isVisible ? {} : {\n inert: 'true'\n };\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: \"slider-slide\".concat(getSlideClassName(index, currentSlide, slidesToShow)),\n \"aria-label\": \"slide \".concat(index + 1, \" of \").concat(children.length),\n role: \"group\",\n style: _this2.getSlideStyles(index, positionValue, childrenLength, slidesToShow),\n key: index,\n onClick: handleSelfFocus,\n tabIndex: -1\n }, inert), child);\n });\n }\n }, {\n key: \"getSlideStyles\",\n value: function getSlideStyles(index, positionValue, childrenLength, slidesToShow) {\n var targetPosition = this.getSlideTargetPosition(index, positionValue, childrenLength, slidesToShow);\n var transformScale = this.props.animation === 'zoom' && this.props.currentSlide !== index ? Math.max(Math.min(this.props.zoomScale, MAX_ZOOM_SCALE), MIN_ZOOM_SCALE) : 1.0;\n return {\n boxSizing: 'border-box',\n display: this.props.vertical ? 'block' : 'inline-block',\n height: getSlideHeight(this.props),\n left: this.props.vertical ? 0 : targetPosition,\n listStyleType: 'none',\n marginBottom: this.props.vertical ? this.props.cellSpacing / 2 : 'auto',\n marginLeft: this.props.vertical ? 'auto' : this.props.cellSpacing / 2,\n marginRight: this.props.vertical ? 'auto' : this.props.cellSpacing / 2,\n marginTop: this.props.vertical ? this.props.cellSpacing / 2 : 'auto',\n MozBoxSizing: 'border-box',\n position: 'absolute',\n top: this.props.vertical ? targetPosition : 0,\n transform: \"scale(\".concat(transformScale, \")\"),\n transition: 'transform .4s linear',\n verticalAlign: 'top',\n width: this.props.vertical ? '100%' : this.props.slideWidth\n };\n }\n }, {\n key: \"getListStyles\",\n value: function getListStyles(styles) {\n var deltaX = styles.deltaX,\n deltaY = styles.deltaY;\n var listWidth = this.props.slideWidth * React.Children.count(this.props.children);\n var spacingOffset = this.props.cellSpacing * React.Children.count(this.props.children);\n var transform = \"translate3d(\".concat(deltaX, \"px, \").concat(deltaY, \"px, 0)\");\n var transition = this.props.heightMode === 'current' && this.props.hasInteraction ? 'height 0.2s ease-out' : '0s';\n return {\n boxSizing: 'border-box',\n cursor: this.props.dragging === true ? 'pointer' : 'inherit',\n display: 'block',\n height: this.props.vertical ? listWidth + spacingOffset : this.props.slideHeight,\n margin: this.props.vertical ? \"\".concat(this.props.cellSpacing / 2 * -1, \"px 0px\") : \"0px \".concat(this.props.cellSpacing / 2 * -1, \"px\"),\n padding: 0,\n position: 'relative',\n MozBoxSizing: 'border-box',\n msTransform: \"translate(\".concat(deltaX, \"px, \").concat(deltaY, \"px)\"),\n touchAction: \"pinch-zoom \".concat(this.props.vertical ? 'pan-x' : 'pan-y'),\n transform: transform,\n WebkitTransform: transform,\n width: 'auto',\n transition: transition\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = this.formatChildren(this.props.children);\n var deltaX = this.props.deltaX;\n var deltaY = this.props.deltaY;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"slider-list\",\n style: this.getListStyles({\n deltaX: deltaX,\n deltaY: deltaY\n })\n }, children);\n }\n }]);\n return ScrollTransition;\n}(React.Component);\nexport { ScrollTransition as default };\nScrollTransition.defaultProps = {\n cellAlign: 'left',\n cellSpacing: 0,\n currentSlide: 0,\n deltaX: 0,\n deltaY: 0,\n dragging: false,\n frameWidth: 0,\n heightMode: 'max',\n isWrappingAround: false,\n left: 0,\n slideCount: 0,\n slideHeight: 0,\n slidesToScroll: 1,\n slideWidth: 0,\n top: 0,\n vertical: false,\n wrapAround: false,\n zoomScale: 0.85\n};","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nimport React from 'react';\nimport { getSlideHeight } from '../utilities/style-utilities';\nimport { handleSelfFocus, getSlideClassName } from '../utilities/utilities';\nvar FadeTransition = /*#__PURE__*/function (_React$Component) {\n _inherits(FadeTransition, _React$Component);\n var _super = _createSuper(FadeTransition);\n function FadeTransition(props) {\n var _this;\n _classCallCheck(this, FadeTransition);\n _this = _super.call(this, props);\n _this.fadeFromSlide = props.currentSlide;\n return _this;\n }\n _createClass(FadeTransition, [{\n key: \"formatChildren\",\n value: function formatChildren(children, opacity) {\n var _this2 = this;\n var _this$props = this.props,\n currentSlide = _this$props.currentSlide,\n slidesToShow = _this$props.slidesToShow;\n return React.Children.map(children, function (child, index) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"slider-slide\".concat(getSlideClassName(index, currentSlide, slidesToShow)),\n style: _this2.getSlideStyles(index, opacity),\n key: index,\n \"aria-label\": \"slide \".concat(index + 1, \" of \").concat(children.length),\n role: \"group\",\n onClick: handleSelfFocus,\n tabIndex: -1\n }, child);\n });\n }\n }, {\n key: \"getSlideOpacityAndLeftMap\",\n value: function getSlideOpacityAndLeftMap(fadeFrom, fadeTo, fade) {\n // Figure out which position to fade to\n var fadeToPosition = fadeTo;\n if (fadeFrom > fade && fadeFrom === 0) {\n fadeToPosition = fadeFrom - this.props.slidesToShow;\n } else if (fadeFrom < fade && fadeFrom + this.props.slidesToShow > this.props.slideCount - 1) {\n fadeToPosition = fadeFrom + this.props.slidesToShow;\n } // Calculate opacity for active slides\n\n var opacity = {};\n if (fadeFrom === fadeTo) {\n opacity[fadeFrom] = 1;\n } else {\n var distance = fadeFrom - fadeToPosition;\n opacity[fadeFrom] = (fade - fadeToPosition) / distance;\n opacity[fadeTo] = (fadeFrom - fade) / distance;\n } // Calculate left for slides and merge in opacity\n\n var map = {};\n for (var i = 0; i < this.props.slidesToShow; i++) {\n map[fadeFrom + i] = {\n opacity: opacity[fadeFrom],\n left: this.props.slideWidth * i\n };\n map[fadeTo + i] = {\n opacity: opacity[fadeTo],\n left: this.props.slideWidth * i\n };\n }\n return map;\n }\n }, {\n key: \"getSlideStyles\",\n value: function getSlideStyles(index, data) {\n return {\n boxSizing: 'border-box',\n display: 'block',\n height: getSlideHeight(this.props),\n left: data[index] ? data[index].left : 0,\n listStyleType: 'none',\n marginBottom: 'auto',\n marginLeft: this.props.cellSpacing / 2,\n marginRight: this.props.cellSpacing / 2,\n marginTop: 'auto',\n MozBoxSizing: 'border-box',\n opacity: data[index] ? data[index].opacity : 0,\n position: 'absolute',\n top: 0,\n verticalAlign: 'top',\n visibility: data[index] ? 'inherit' : 'hidden',\n width: this.props.slideWidth\n };\n }\n }, {\n key: \"getContainerStyles\",\n value: function getContainerStyles() {\n var width = this.props.slideWidth * this.props.slidesToShow;\n return {\n boxSizing: 'border-box',\n cursor: this.props.dragging === true ? 'pointer' : 'inherit',\n display: 'block',\n height: this.props.slideHeight,\n margin: this.props.vertical ? \"\".concat(this.props.cellSpacing / 2 * -1, \"px 0px\") : \"0px \".concat(this.props.cellSpacing / 2 * -1, \"px\"),\n MozBoxSizing: 'border-box',\n padding: 0,\n touchAction: \"pinch-zoom \".concat(this.props.vertical ? 'pan-x' : 'pan-y'),\n width: width\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var fade = -(this.props.deltaX || this.props.deltaY) / this.props.slideWidth % this.props.slideCount;\n if (parseInt(fade) === fade) {\n this.fadeFromSlide = fade;\n }\n var opacityAndLeftMap = this.getSlideOpacityAndLeftMap(this.fadeFromSlide, this.props.currentSlide, fade);\n var children = this.formatChildren(this.props.children, opacityAndLeftMap);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"slider-list\",\n style: this.getContainerStyles()\n }, children);\n }\n }]);\n return FadeTransition;\n}(React.Component);\nexport { FadeTransition as default };\nFadeTransition.defaultProps = {\n cellSpacing: 0,\n currentSlide: 0,\n deltaX: 0,\n deltaY: 0,\n dragging: false,\n heightMode: 'max',\n isWrappingAround: false,\n left: 0,\n slideCount: 0,\n slideHeight: 0,\n slidesToShow: 1,\n slideWidth: 0,\n top: 0,\n vertical: false,\n wrapAround: false\n};","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nimport React from 'react';\nimport { getSlideHeight } from '../utilities/style-utilities';\nimport { handleSelfFocus } from '../utilities/utilities';\nvar MIN_ZOOM_SCALE = 0;\nvar MAX_ZOOM_SCALE = 1;\nvar ScrollTransition3D = /*#__PURE__*/function (_React$Component) {\n _inherits(ScrollTransition3D, _React$Component);\n var _super = _createSuper(ScrollTransition3D);\n function ScrollTransition3D(props) {\n var _this;\n _classCallCheck(this, ScrollTransition3D);\n _this = _super.call(this, props);\n _this.getListStyles = _this.getListStyles.bind(_assertThisInitialized(_this));\n return _this;\n }\n /* eslint-disable complexity */\n\n _createClass(ScrollTransition3D, [{\n key: \"getSlideTargetPosition\",\n value: function getSlideTargetPosition(index) {\n var targetPosition = 0;\n var offset = 0;\n if (index !== this.props.currentSlide) {\n var relativeDistanceToCurrentSlide = this.getRelativeDistanceToCurrentSlide(index);\n targetPosition = (this.props.slideWidth + this.props.cellSpacing) * relativeDistanceToCurrentSlide - this.getZoomOffsetFor(relativeDistanceToCurrentSlide);\n offset = 0;\n if (this.props.animation === 'zoom' && (this.props.currentSlide === index + 1 || this.props.currentSlide === 0 && index === this.props.children.length - 1)) {\n offset = this.props.slideOffset;\n } else if (this.props.animation === 'zoom' && (this.props.currentSlide === index - 1 || this.props.currentSlide === this.props.children.length - 1 && index === 0)) {\n offset = -this.props.slideOffset;\n }\n }\n return targetPosition + offset;\n }\n /* eslint-enable complexity */\n }, {\n key: \"formatChildren\",\n value: function formatChildren(children) {\n var _this2 = this;\n var _this$props = this.props,\n top = _this$props.top,\n left = _this$props.left,\n currentSlide = _this$props.currentSlide,\n slidesToShow = _this$props.slidesToShow,\n vertical = _this$props.vertical;\n var positionValue = vertical ? top : left;\n return React.Children.map(children, function (child, index) {\n var visible = _this2.getDistanceToCurrentSlide(index) <= slidesToShow / 2;\n var current = currentSlide === index;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"slider-slide\".concat(visible ? ' slide-visible' : '').concat(current ? ' slide-current' : ''),\n style: _this2.getSlideStyles(index, positionValue),\n key: index,\n \"aria-label\": \"slide \".concat(index + 1, \" of \").concat(children.length),\n role: \"group\",\n onClick: handleSelfFocus,\n tabIndex: -1\n }, child);\n });\n }\n }, {\n key: \"getZoomOffsetFor\",\n value: function getZoomOffsetFor(relativeDistanceToCurrent) {\n if (relativeDistanceToCurrent === 0) {\n return 0;\n }\n var marginGeneratedByZoom = (1 - Math.pow(this.props.zoomScale, Math.abs(relativeDistanceToCurrent))) * this.props.slideWidth;\n var direction = relativeDistanceToCurrent < 0 ? -1 : 1;\n var result = marginGeneratedByZoom * direction + this.getZoomOffsetFor(relativeDistanceToCurrent < 0 ? relativeDistanceToCurrent + 1 : relativeDistanceToCurrent - 1);\n return result;\n }\n }, {\n key: \"getDistance\",\n value: function getDistance(index, referenceIndex) {\n return Math.abs(index - referenceIndex);\n }\n }, {\n key: \"getDistanceToCurrentSlide\",\n value: function getDistanceToCurrentSlide(index) {\n var _this$props2 = this.props,\n wrapAround = _this$props2.wrapAround,\n currentSlide = _this$props2.currentSlide,\n slideCount = _this$props2.slideCount;\n return wrapAround ? Math.min(Math.min(this.getDistance(index, 0) + this.getDistance(currentSlide, slideCount), this.getDistance(index, slideCount) + this.getDistance(currentSlide, 0)), this.getDistance(index, currentSlide)) : this.getDistance(index, currentSlide);\n }\n }, {\n key: \"getRelativeDistanceToCurrentSlide\",\n value: function getRelativeDistanceToCurrentSlide(index) {\n var _this$props3 = this.props,\n wrapAround = _this$props3.wrapAround,\n currentSlide = _this$props3.currentSlide,\n slideCount = _this$props3.slideCount;\n if (wrapAround) {\n var distanceByLeftEge = this.getDistance(index, 0) + this.getDistance(currentSlide, slideCount);\n var distanceByRightEdge = this.getDistance(index, slideCount) + this.getDistance(currentSlide, 0);\n var absoluteDirectDistance = this.getDistance(index, currentSlide);\n var minimumDistance = Math.min(Math.min(distanceByLeftEge, distanceByRightEdge), absoluteDirectDistance);\n switch (minimumDistance) {\n case absoluteDirectDistance:\n return index - currentSlide;\n case distanceByLeftEge:\n return distanceByLeftEge;\n case distanceByRightEdge:\n return -distanceByRightEdge;\n default:\n return 0;\n }\n } else {\n return index - currentSlide;\n }\n }\n }, {\n key: \"getTransformScale\",\n value: function getTransformScale(index) {\n return this.props.currentSlide !== index ? Math.max(Math.min(Math.pow(this.props.zoomScale, this.getDistanceToCurrentSlide(index)), MAX_ZOOM_SCALE), MIN_ZOOM_SCALE) : 1.0;\n }\n }, {\n key: \"getOpacityScale\",\n value: function getOpacityScale(index) {\n return this.props.currentSlide !== index ? Math.max(Math.min(Math.pow(this.props.opacityScale, this.getDistanceToCurrentSlide(index)), MAX_ZOOM_SCALE), MIN_ZOOM_SCALE) : 1.0;\n }\n }, {\n key: \"getSlideStyles\",\n value: function getSlideStyles(index, positionValue) {\n var _this$props4 = this.props,\n vertical = _this$props4.vertical,\n slideCount = _this$props4.slideCount,\n cellSpacing = _this$props4.cellSpacing,\n slideWidth = _this$props4.slideWidth;\n var targetPosition = this.getSlideTargetPosition(index, positionValue);\n var transformScale = this.getTransformScale(index);\n return {\n boxSizing: 'border-box',\n display: vertical ? 'block' : 'inline-block',\n height: getSlideHeight(this.props),\n left: vertical ? 0 : targetPosition,\n listStyleType: 'none',\n marginBottom: vertical ? cellSpacing / 2 : 'auto',\n marginLeft: vertical ? 'auto' : cellSpacing / 2,\n marginRight: vertical ? 'auto' : cellSpacing / 2,\n marginTop: vertical ? cellSpacing / 2 : 'auto',\n MozBoxSizing: 'border-box',\n opacity: this.getOpacityScale(index),\n position: 'absolute',\n top: vertical ? targetPosition : 0,\n transform: \"scale(\".concat(transformScale, \")\"),\n transition: 'left 0.4s ease-out, transform 0.4s ease-out, opacity 0.4s ease-out',\n verticalAlign: 'top',\n width: vertical ? '100%' : slideWidth,\n zIndex: slideCount - this.getDistanceToCurrentSlide(index)\n };\n }\n }, {\n key: \"getListStyles\",\n value: function getListStyles() {\n var listWidth = this.props.slideWidth * React.Children.count(this.props.children);\n var spacingOffset = this.props.cellSpacing * React.Children.count(this.props.children);\n return {\n boxSizing: 'border-box',\n cursor: this.props.dragging === true ? 'pointer' : 'inherit',\n height: this.props.vertical ? listWidth + spacingOffset : this.props.slideHeight,\n left: \"calc(50% - (\".concat(this.props.slideWidth, \"px / 2))\"),\n margin: this.props.vertical ? \"\".concat(this.props.cellSpacing / 2 * -1, \"px 0px\") : \"\".concat(this.props.slideListMargin, \"px \").concat(this.props.cellSpacing / 2 * -1, \"px\"),\n MozBoxSizing: 'border-box',\n padding: 0,\n position: 'relative',\n touchAction: \"pinch-zoom \".concat(this.props.vertical ? 'pan-x' : 'pan-y'),\n width: this.props.vertical ? 'auto' : '100%'\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = this.formatChildren(this.props.children);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"slider-list\",\n style: this.getListStyles()\n }, children);\n }\n }]);\n return ScrollTransition3D;\n}(React.Component);\nexport { ScrollTransition3D as default };\nScrollTransition3D.defaultProps = {\n cellSpacing: 0,\n currentSlide: 0,\n dragging: false,\n heightMode: 'max',\n isWrappingAround: false,\n left: 0,\n opacityScale: 0.65,\n slideCount: 0,\n slideHeight: 0,\n slideListMargin: 0,\n slidesToShow: 3,\n slideWidth: 0,\n top: 0,\n vertical: false,\n wrapAround: true,\n zoomScale: 0.75\n};","import ScrollTransition from './transitions/scroll-transition';\nimport FadeTransition from './transitions/fade-transition';\nimport ScrollTransition3D from './transitions/3d-scroll-transition';\nexport default {\n fade: FadeTransition,\n scroll: ScrollTransition,\n scroll3d: ScrollTransition3D\n};","import React from 'react';\nvar AnnounceSlide = function AnnounceSlide(_ref) {\n var message = _ref.message;\n var styles = {\n position: 'absolute',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n padding: 0,\n margin: '-1px',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n border: 0\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n \"aria-live\": \"polite\",\n \"aria-atomic\": \"true\",\n style: styles,\n tabIndex: -1\n }, message);\n};\nexport var defaultRenderAnnounceSlideMessage = function defaultRenderAnnounceSlideMessage(_ref2) {\n var currentSlide = _ref2.currentSlide,\n slideCount = _ref2.slideCount;\n return \"Slide \".concat(currentSlide + 1, \" of \").concat(slideCount);\n};\nexport default AnnounceSlide;","import React from 'react';\nexport var getValidChildren = function getValidChildren(children) {\n // .toArray automatically removes invalid React children\n return React.Children.toArray(children);\n};\nvar getMax = function getMax(a, b) {\n return a > b ? a : b;\n};\nvar getHeightOfSlide = function getHeightOfSlide(slide) {\n if (!slide) {\n return 0;\n }\n if (slide.children && slide.children.length > 0) {\n var totalHeight = 0;\n for (var i = 0; i < slide.children.length; ++i) {\n totalHeight += slide.children[i].offsetHeight;\n }\n return totalHeight;\n } else {\n return slide.offsetHeight;\n }\n}; // end - is exclusive\n\nexport var findMaxHeightSlideInRange = function findMaxHeightSlideInRange(slides, start, end) {\n var maxHeight = 0;\n if (slides.length === 0 || start < 0 || end < 0 || start > slides.length - 1 || end > slides.length) {\n return maxHeight;\n }\n if (start < end) {\n for (var i = start; i < end; i++) {\n maxHeight = getMax(getHeightOfSlide(slides[i]), maxHeight);\n }\n } else if (start > end) {\n // Finding max in a wrap around\n for (var _i = start; _i < slides.length; _i++) {\n maxHeight = getMax(getHeightOfSlide(slides[_i]), maxHeight);\n }\n for (var _i2 = 0; _i2 < end; _i2++) {\n maxHeight = getMax(getHeightOfSlide(slides[_i2]), maxHeight);\n }\n } else {\n // start === end\n maxHeight = getHeightOfSlide(slides[start]);\n }\n return maxHeight;\n};\nvar ensureIndexInBounds = function ensureIndexInBounds(index, slideCount) {\n var newIndex = index;\n while (newIndex < 0) {\n newIndex += slideCount;\n }\n while (newIndex > slideCount) {\n newIndex -= slideCount;\n }\n return newIndex;\n};\nexport var findCurrentHeightSlide = function findCurrentHeightSlide(currentSlide, slidesToShow, alignment, wrapAround, slides) {\n if (slidesToShow > 1) {\n var startIndex = currentSlide;\n var lastIndex = Math.min(Math.ceil(slidesToShow) + currentSlide, slides.length);\n var offset = alignment === 'center' ? (slidesToShow - 1) / 2 : slidesToShow - 1;\n switch (alignment) {\n case 'center':\n startIndex = Math.floor(currentSlide - offset);\n lastIndex = Math.ceil(currentSlide + offset) + 1;\n break;\n case 'right':\n startIndex = Math.floor(currentSlide - offset);\n lastIndex = currentSlide + 1;\n break;\n case 'left':\n startIndex = currentSlide;\n lastIndex = Math.ceil(currentSlide + offset) + 1;\n break;\n } // inclusive\n\n startIndex = wrapAround ? ensureIndexInBounds(startIndex, slides.length) : Math.max(startIndex, 0); // exclusive\n\n lastIndex = wrapAround ? ensureIndexInBounds(lastIndex, slides.length) : Math.min(lastIndex, slides.length);\n return findMaxHeightSlideInRange(slides, startIndex, lastIndex);\n } else {\n return getHeightOfSlide(slides[currentSlide]);\n }\n};\nexport var calculateSlideHeight = function calculateSlideHeight(props, state) {\n var childNodes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var heightMode = props.heightMode,\n vertical = props.vertical,\n initialSlideHeight = props.initialSlideHeight,\n wrapAround = props.wrapAround;\n var slidesToShow = state.slidesToShow,\n currentSlide = state.currentSlide,\n cellAlign = state.cellAlign;\n var firstSlide = childNodes[0];\n if (firstSlide && heightMode === 'first') {\n return vertical ? getHeightOfSlide(firstSlide) * slidesToShow : getHeightOfSlide(firstSlide);\n }\n if (heightMode === 'max') {\n return findMaxHeightSlideInRange(childNodes, 0, childNodes.length);\n }\n if (heightMode === 'current') {\n return findCurrentHeightSlide(currentSlide, slidesToShow, cellAlign, wrapAround, childNodes);\n }\n return initialSlideHeight || 100;\n};","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n return _typeof(obj);\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\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}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\nimport React from 'react';\nimport 'wicg-inert';\nimport ExecutionEnvironment from 'exenv';\nimport Animate from 'react-move/Animate';\nimport * as easing from 'd3-ease';\nimport { PagingDots, PreviousButton, NextButton } from './default-controls';\nimport Transitions from './all-transitions';\nimport AnnounceSlide, { defaultRenderAnnounceSlideMessage } from './announce-slide';\nimport { addAccessibility, addEvent, removeEvent, getPropsByTransitionMode, swipeDirection, shouldUpdate, calcSomeInitialState } from './utilities/utilities';\nimport { getAlignmentOffset, getImgTagStyles, getDecoratorStyles, getSliderStyles, getFrameStyles, getTransitionProps } from './utilities/style-utilities';\nimport { getValidChildren, calculateSlideHeight } from './utilities/bootstrapping-utilities';\nvar Carousel = /*#__PURE__*/function (_React$Component) {\n _inherits(Carousel, _React$Component);\n var _super = _createSuper(Carousel);\n function Carousel() {\n var _this;\n _classCallCheck(this, Carousel);\n _this = _super.apply(this, arguments);\n _this.displayName = 'Carousel';\n _this.clickDisabled = false;\n _this.latestTransitioningIndex = null;\n _this.timers = [];\n _this.touchObject = {};\n _this.controlsMap = [{\n funcName: 'renderTopLeftControls',\n key: 'TopLeft'\n }, {\n funcName: 'renderTopCenterControls',\n key: 'TopCenter'\n }, {\n funcName: 'renderTopRightControls',\n key: 'TopRight'\n }, {\n funcName: 'renderCenterLeftControls',\n key: 'CenterLeft'\n }, {\n funcName: 'renderCenterCenterControls',\n key: 'CenterCenter'\n }, {\n funcName: 'renderCenterRightControls',\n key: 'CenterRight'\n }, {\n funcName: 'renderBottomLeftControls',\n key: 'BottomLeft'\n }, {\n funcName: 'renderBottomCenterControls',\n key: 'BottomCenter'\n }, {\n funcName: 'renderBottomRightControls',\n key: 'BottomRight'\n }];\n _this.keyCodeConfig = {\n nextSlide: [39, 68, 38, 87],\n previousSlide: [37, 65, 40, 83],\n firstSlide: [81],\n lastSlide: [69],\n pause: [32]\n };\n _this.childNodesMutationObs = null;\n _this.state = _objectSpread({\n currentSlide: _this.props.slideIndex,\n dragging: false,\n easing: _this.props.disableAnimation ? '' : easing.easeCircleOut,\n hasInteraction: false,\n // to remove animation from the initial slide on the page load when non-default slideIndex is used\n isWrappingAround: false,\n left: 0,\n resetWrapAroundPosition: false,\n slideCount: getValidChildren(_this.props.children).length,\n top: 0,\n wrapToIndex: null,\n hasFocus: false\n }, calcSomeInitialState(_this.props));\n _this.autoplayIterator = _this.autoplayIterator.bind(_assertThisInitialized(_this));\n _this.calcSlideHeightAndWidth = _this.calcSlideHeightAndWidth.bind(_assertThisInitialized(_this));\n _this.getChildNodes = _this.getChildNodes.bind(_assertThisInitialized(_this));\n _this.getMouseEvents = _this.getMouseEvents.bind(_assertThisInitialized(_this));\n _this.getOffsetDeltas = _this.getOffsetDeltas.bind(_assertThisInitialized(_this));\n _this.getTargetLeft = _this.getTargetLeft.bind(_assertThisInitialized(_this));\n _this.getTouchEvents = _this.getTouchEvents.bind(_assertThisInitialized(_this));\n _this.blockEvent = _this.blockEvent.bind(_assertThisInitialized(_this));\n _this.goToSlide = _this.goToSlide.bind(_assertThisInitialized(_this));\n _this.handleFocus = _this.handleFocus.bind(_assertThisInitialized(_this));\n _this.handleBlur = _this.handleBlur.bind(_assertThisInitialized(_this));\n _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this));\n _this.handleKeyPress = _this.handleKeyPress.bind(_assertThisInitialized(_this));\n _this.handleMouseOut = _this.handleMouseOut.bind(_assertThisInitialized(_this));\n _this.handleMouseOver = _this.handleMouseOver.bind(_assertThisInitialized(_this));\n _this.handleSwipe = _this.handleSwipe.bind(_assertThisInitialized(_this));\n _this.nextSlide = _this.nextSlide.bind(_assertThisInitialized(_this));\n _this.onResize = _this.onResize.bind(_assertThisInitialized(_this));\n _this.onVisibilityChange = _this.onVisibilityChange.bind(_assertThisInitialized(_this));\n _this.previousSlide = _this.previousSlide.bind(_assertThisInitialized(_this));\n _this.renderControls = _this.renderControls.bind(_assertThisInitialized(_this));\n _this.resetAutoplay = _this.resetAutoplay.bind(_assertThisInitialized(_this));\n _this.setDimensions = _this.setDimensions.bind(_assertThisInitialized(_this));\n _this.setLeft = _this.setLeft.bind(_assertThisInitialized(_this));\n _this.setSlideHeightAndWidth = _this.setSlideHeightAndWidth.bind(_assertThisInitialized(_this));\n _this.startAutoplay = _this.startAutoplay.bind(_assertThisInitialized(_this));\n _this.stopAutoplay = _this.stopAutoplay.bind(_assertThisInitialized(_this));\n _this.establishChildNodesMutationObserver = _this.establishChildNodesMutationObserver.bind(_assertThisInitialized(_this));\n return _this;\n }\n _createClass(Carousel, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // see https://github.com/facebook/react/issues/3417#issuecomment-121649937\n this.mounted = true;\n this.setLeft();\n this.setDimensions();\n this.bindEvents();\n this.establishChildNodesMutationObserver();\n if (this.props.autoplay) {\n this.startAutoplay();\n }\n var keyCodeConfig = _extends({}, this.keyCodeConfig, this.props.keyCodeConfig);\n this.keyCodeMap = this.getKeyCodeMap(keyCodeConfig);\n this.getLockScrollEvents().lockTouchScroll();\n this.initializeCarouselHeight();\n } // eslint-disable-next-line complexity\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var slideChanged = prevState.currentSlide !== this.state.currentSlide;\n var heightModeChanged = prevProps.heightMode !== this.props.heightMode;\n var axisChanged = prevProps.vertical !== this.props.vertical;\n var childrenChanged = prevProps.children !== this.props.children;\n if (axisChanged) {\n this.onResize();\n } else if (slideChanged || heightModeChanged) {\n var image = this.getCurrentChildNodeImg();\n if (image) {\n image.addEventListener('load', this.setSlideHeightAndWidth);\n image.removeEventListener('load', this.setSlideHeightAndWidth);\n } else {\n this.setSlideHeightAndWidth();\n }\n }\n if (this.state.isWrappingAround) {\n this.isWrapped = true;\n }\n var prevSlideCount = getValidChildren(prevProps.children).length;\n var slideCount = getValidChildren(this.props.children).length;\n var slideCountChanged = prevSlideCount !== slideCount;\n if (slideCountChanged) {\n this.setState({\n slideCount: slideCount,\n currentSlide: this.props.slideIndex\n });\n }\n var _this$calcSlideHeight = this.calcSlideHeightAndWidth(),\n slideHeight = _this$calcSlideHeight.slideHeight;\n var heightMismatches = slideHeight !== prevState.slideHeight;\n if (this.mounted && heightMismatches) {\n this.setDimensions();\n } else {\n var updateDimensions = slideCountChanged || shouldUpdate(prevProps, this.props, ['cellSpacing', 'vertical', 'slideWidth', 'slideHeight', 'heightMode', 'slidesToScroll', 'slidesToShow', 'transitionMode', 'cellAlign']);\n if (updateDimensions) {\n this.setDimensions(this.props);\n }\n }\n if (childrenChanged) {\n this.initializeCarouselHeight();\n }\n if (slideCountChanged && slideCount <= this.state.currentSlide) {\n this.goToSlide(Math.max(slideCount - 1, 0), this.props);\n } else if (prevProps.slideIndex !== this.props.slideIndex && this.props.slideIndex !== this.state.currentSlide && !this.state.isWrappingAround) {\n this.goToSlide(this.props.slideIndex, this.props);\n }\n if (prevProps.autoplay !== this.props.autoplay) {\n if (this.props.autoplay) {\n this.startAutoplay();\n } else {\n this.stopAutoplay();\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unbindEvents();\n this.disconnectChildNodesMutationObserver();\n this.stopAutoplay(); // see https://github.com/facebook/react/issues/3417#issuecomment-121649937\n\n this.mounted = false;\n for (var i = 0; i < this.timers.length; i++) {\n clearTimeout(this.timers[i]);\n }\n this.getLockScrollEvents().unlockTouchScroll();\n }\n }, {\n key: \"initializeCarouselHeight\",\n value: function initializeCarouselHeight() {\n var _this2 = this;\n var initialDelay = 200;\n var timesChecked = 0;\n var initializeHeight = function initializeHeight(delay) {\n _this2.timers.push(setTimeout(function () {\n // If slideHeight is greater than zero and matches calculated slideHeight,\n // assume the app has been initialized. If not,\n // keep trying to set dimensions until things work.\n var _this2$calcSlideHeigh = _this2.calcSlideHeightAndWidth(),\n slideHeight = _this2$calcSlideHeigh.slideHeight;\n if (_this2.state.slideHeight > 0 && _this2.state.slideHeight === slideHeight) {\n return;\n }\n _this2.setDimensions();\n ++timesChecked; // Increase delay per attempt so the checks\n // slowly decrease if content is taking forever to load.\n //\n // If we've checked more than 10 times, it's probably never going\n // to load, so we stop checking. Otherwise, the page will freeze\n // after a long period:\n // See https://github.com/FormidableLabs/nuka-carousel/issues/798\n\n if (timesChecked < 10) {\n // Add exponential backoff to check more slowly\n initializeHeight(delay * 1.5);\n }\n }, delay));\n };\n initializeHeight(initialDelay);\n }\n }, {\n key: \"establishChildNodesMutationObserver\",\n value: function establishChildNodesMutationObserver() {\n var _this3 = this;\n var childNodes = this.getChildNodes();\n if (childNodes.length && 'MutationObserver' in window) {\n this.childNodesMutationObs = new MutationObserver(function () {\n _this3.setSlideHeightAndWidth();\n });\n var observeChildNodeMutation = function observeChildNodeMutation(node) {\n _this3.childNodesMutationObs.observe(node, {\n attributeFilter: ['style'],\n attributeOldValue: false,\n attributes: true,\n characterData: false,\n characterDataOldValue: false,\n childList: false,\n subtree: false\n });\n };\n var childNodesArray = Array.from(childNodes);\n for (var _i = 0, _childNodesArray = childNodesArray; _i < _childNodesArray.length; _i++) {\n var childNode = _childNodesArray[_i];\n observeChildNodeMutation(childNode);\n }\n }\n }\n }, {\n key: \"disconnectChildNodesMutationObserver\",\n value: function disconnectChildNodesMutationObserver() {\n if (this.childNodesMutationObs instanceof MutationObserver) {\n this.childNodesMutationObs.disconnect();\n }\n }\n }, {\n key: \"blockEvent\",\n value: function blockEvent(e) {\n if (this.state.dragging) {\n var direction = swipeDirection(this.touchObject.startX, e.touches[0].pageX, this.touchObject.startY, e.touches[0].pageY, this.props.vertical);\n if (direction !== 0) {\n e.preventDefault();\n }\n }\n }\n }, {\n key: \"getLockScrollEvents\",\n value: function getLockScrollEvents() {\n var _this4 = this;\n var lockTouchScroll = function lockTouchScroll() {\n document.addEventListener('touchmove', _this4.blockEvent, {\n passive: false\n });\n };\n var unlockTouchScroll = function unlockTouchScroll() {\n document.removeEventListener('touchmove', _this4.blockEvent, {\n passive: false\n });\n };\n return {\n lockTouchScroll: lockTouchScroll,\n unlockTouchScroll: unlockTouchScroll\n };\n }\n }, {\n key: \"getTouchEvents\",\n value: function getTouchEvents() {\n var _this5 = this;\n if (this.props.swiping === false) {\n return {\n onTouchStart: this.handleMouseOver,\n onTouchEnd: this.handleMouseOut\n };\n }\n return {\n onTouchStart: function onTouchStart(e) {\n //detect pinch zoom\n if (e.touches.length === 2) {\n _this5.handleMouseOver();\n return;\n }\n _this5.touchObject = {\n startX: e.touches[0].pageX,\n startY: e.touches[0].pageY\n };\n _this5.handleMouseOver();\n _this5.setState({\n dragging: true\n });\n },\n onTouchMove: function onTouchMove(e) {\n if (e.touches.length === 2) {\n return;\n }\n var direction = swipeDirection(_this5.touchObject.startX, e.touches[0].pageX, _this5.touchObject.startY, e.touches[0].pageY, _this5.props.vertical);\n var length = _this5.props.vertical ? Math.round(Math.sqrt(Math.pow(e.touches[0].pageY - _this5.touchObject.startY, 2))) : Math.round(Math.sqrt(Math.pow(e.touches[0].pageX - _this5.touchObject.startX, 2)));\n if (length >= 10) {\n if (_this5.clickDisabled === false) _this5.props.onDragStart(e);\n _this5.clickDisabled = true;\n }\n _this5.touchObject = {\n startX: _this5.touchObject.startX,\n startY: _this5.touchObject.startY,\n endX: e.touches[0].pageX,\n endY: e.touches[0].pageY,\n length: length,\n direction: direction\n };\n _this5.setState({\n left: _this5.props.vertical ? 0 : _this5.getTargetLeft(_this5.touchObject.length * _this5.touchObject.direction),\n top: _this5.props.vertical ? _this5.getTargetLeft(_this5.touchObject.length * _this5.touchObject.direction) : 0\n });\n },\n onTouchEnd: function onTouchEnd(e) {\n if (e.touches.length === 2) {\n _this5.handleMouseOut();\n return;\n }\n _this5.handleSwipe(e);\n _this5.handleMouseOut();\n },\n onTouchCancel: function onTouchCancel(e) {\n _this5.handleSwipe(e);\n }\n };\n }\n }, {\n key: \"getMouseEvents\",\n value: function getMouseEvents() {\n var _this6 = this;\n if (this.props.dragging === false) {\n return {\n onMouseOver: this.handleMouseOver,\n onMouseOut: this.handleMouseOut\n };\n }\n return {\n onMouseOver: this.handleMouseOver,\n onMouseOut: this.handleMouseOut,\n onMouseDown: function onMouseDown(e) {\n if (e.preventDefault) {\n e.preventDefault();\n }\n _this6.touchObject = {\n startX: e.clientX,\n startY: e.clientY\n };\n _this6.setState({\n dragging: true\n });\n },\n onMouseMove: function onMouseMove(e) {\n if (!_this6.state.dragging) {\n return;\n }\n var direction = swipeDirection(_this6.touchObject.startX, e.clientX, _this6.touchObject.startY, e.clientY, _this6.props.vertical);\n if (direction !== 0) {\n e.preventDefault();\n }\n var length = _this6.props.vertical ? Math.round(Math.sqrt(Math.pow(e.clientY - _this6.touchObject.startY, 2))) : Math.round(Math.sqrt(Math.pow(e.clientX - _this6.touchObject.startX, 2))); // prevents disabling click just because mouse moves a fraction of a pixel\n\n if (length >= 10) {\n if (_this6.clickDisabled === false) _this6.props.onDragStart(e);\n _this6.clickDisabled = true;\n }\n _this6.touchObject = {\n startX: _this6.touchObject.startX,\n startY: _this6.touchObject.startY,\n endX: e.clientX,\n endY: e.clientY,\n length: length,\n direction: direction\n };\n _this6.setState({\n left: _this6.props.vertical ? 0 : _this6.getTargetLeft(_this6.touchObject.length * _this6.touchObject.direction),\n top: _this6.props.vertical ? _this6.getTargetLeft(_this6.touchObject.length * _this6.touchObject.direction) : 0\n });\n },\n onMouseUp: function onMouseUp(e) {\n if (_this6.touchObject.length === 0 || _this6.touchObject.length === undefined) {\n _this6.setState({\n dragging: false\n });\n return;\n }\n _this6.handleSwipe(e);\n },\n onMouseLeave: function onMouseLeave(e) {\n if (!_this6.state.dragging) {\n return;\n }\n _this6.handleSwipe(e);\n }\n };\n }\n }, {\n key: \"pauseAutoplay\",\n value: function pauseAutoplay() {\n if (this.props.autoplay) {\n this.autoplayPaused = true;\n this.stopAutoplay();\n }\n }\n }, {\n key: \"unpauseAutoplay\",\n value: function unpauseAutoplay() {\n if (this.props.autoplay && this.autoplayPaused) {\n this.startAutoplay();\n this.autoplayPaused = null;\n }\n }\n }, {\n key: \"handleMouseOver\",\n value: function handleMouseOver() {\n if (this.props.pauseOnHover) {\n this.pauseAutoplay();\n }\n }\n }, {\n key: \"handleMouseOut\",\n value: function handleMouseOut() {\n if (this.autoplayPaused) {\n this.unpauseAutoplay();\n }\n }\n }, {\n key: \"handleFocus\",\n value: function handleFocus() {\n this.setState({\n hasFocus: true\n });\n }\n }, {\n key: \"handleBlur\",\n value: function handleBlur() {\n this.setState({\n hasFocus: false\n });\n }\n }, {\n key: \"handleClick\",\n value: function handleClick(event) {\n if (this.clickDisabled === true) {\n if (event.metaKey || event.shiftKey || event.altKey || event.ctrlKey) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n if (event.nativeEvent) {\n event.nativeEvent.stopPropagation();\n }\n }\n }\n }, {\n key: \"handleSwipe\",\n value: function handleSwipe() {\n var _this7 = this;\n var slidesToShow = this.state.slidesToShow;\n if (this.props.slidesToScroll === 'auto') {\n slidesToShow = this.state.slidesToScroll;\n }\n var touchLength = this.touchObject.length || 0; // touchLength must be longer than 1/5 the slideWidth / slidesToShow\n // for swiping to be initiated\n\n if (touchLength > this.state.slideWidth / slidesToShow / 5) {\n if (this.touchObject.direction === 1) {\n if (this.state.currentSlide + 1 >= this.state.slideCount && !this.props.wrapAround) {\n this.setState({\n easing: easing[this.props.edgeEasing]\n });\n } else {\n this.nextSlide();\n }\n } else if (this.touchObject.direction === -1) {\n if (this.state.currentSlide <= 0 && !this.props.wrapAround) {\n this.setState({\n easing: easing[this.props.edgeEasing]\n });\n } else {\n this.previousSlide();\n }\n }\n } else if (touchLength > 0) {\n this.goToSlide(this.state.currentSlide);\n } // wait for `handleClick` event before resetting clickDisabled\n\n this.timers.push(setTimeout(function () {\n _this7.clickDisabled = false;\n }, 0));\n this.touchObject = {};\n this.setState({\n dragging: false\n });\n } // eslint-disable-next-line complexity\n }, {\n key: \"handleKeyPress\",\n value: function handleKeyPress(e) {\n if (this.state.hasFocus && this.props.enableKeyboardControls) {\n var actionName = this.keyCodeMap[e.keyCode];\n switch (actionName) {\n case 'nextSlide':\n this.nextSlide();\n break;\n case 'previousSlide':\n this.previousSlide();\n break;\n case 'firstSlide':\n this.goToSlide(0, this.props);\n break;\n case 'lastSlide':\n this.goToSlide(this.state.slideCount - 1, this.props);\n break;\n case 'pause':\n if (this.state.pauseOnHover && this.props.autoplay) {\n this.setState({\n pauseOnHover: false\n });\n this.pauseAutoplay();\n break;\n } else {\n this.setState({\n pauseOnHover: true\n });\n this.unpauseAutoplay();\n break;\n }\n }\n }\n }\n }, {\n key: \"getKeyCodeMap\",\n value: function getKeyCodeMap(keyCodeConfig) {\n var keyCodeMap = {};\n Object.keys(keyCodeConfig).forEach(function (actionName) {\n keyCodeConfig[actionName].forEach(function (keyCode) {\n return keyCodeMap[keyCode] = actionName;\n });\n });\n return keyCodeMap;\n }\n }, {\n key: \"autoplayIterator\",\n value: function autoplayIterator() {\n if (this.props.wrapAround) {\n if (this.props.autoplayReverse) {\n this.previousSlide();\n } else {\n this.nextSlide();\n }\n return;\n }\n if (this.props.autoplayReverse) {\n if (this.state.currentSlide !== 0) {\n this.previousSlide();\n } else {\n this.stopAutoplay();\n }\n } else if (this.state.currentSlide !== this.state.slideCount - this.state.slidesToShow) {\n this.nextSlide();\n } else {\n this.stopAutoplay();\n }\n }\n }, {\n key: \"startAutoplay\",\n value: function startAutoplay() {\n this.autoplayID = setInterval(this.autoplayIterator, this.props.autoplayInterval);\n }\n }, {\n key: \"resetAutoplay\",\n value: function resetAutoplay() {\n if (this.props.autoplay && !this.autoplayPaused) {\n this.stopAutoplay();\n this.startAutoplay();\n }\n }\n }, {\n key: \"stopAutoplay\",\n value: function stopAutoplay() {\n if (this.autoplayID) {\n clearInterval(this.autoplayID);\n }\n } // Animation Method\n }, {\n key: \"getTargetLeft\",\n value: function getTargetLeft(touchOffset, slide) {\n var target = slide || this.state.currentSlide;\n var offset = getAlignmentOffset(target, _objectSpread(_objectSpread({}, this.props), this.state));\n var left = this.state.slideWidth * target;\n var lastSlide = this.state.currentSlide > 0 && target + this.state.slidesToScroll >= this.state.slideCount;\n if (lastSlide && !this.props.wrapAround && this.props.scrollMode === 'remainder') {\n left = this.state.slideWidth * this.state.slideCount - this.state.frameWidth;\n offset = 0;\n offset -= this.props.cellSpacing * (this.state.slideCount - 1);\n }\n if (!isNaN(touchOffset)) {\n offset -= touchOffset;\n } else {\n offset -= 0;\n }\n return (left - offset) * -1;\n }\n }, {\n key: \"getOffsetDeltas\",\n value: function getOffsetDeltas() {\n var offset = 0;\n if (this.state.isWrappingAround) {\n offset = this.getTargetLeft(null, this.state.wrapToIndex);\n } else {\n offset = this.getTargetLeft(this.touchObject.length * this.touchObject.direction);\n }\n return {\n tx: [this.props.vertical ? 0 : offset],\n ty: [this.props.vertical ? offset : 0]\n };\n }\n }, {\n key: \"isEdgeSwiping\",\n value: function isEdgeSwiping() {\n var _this$state = this.state,\n currentSlide = _this$state.currentSlide,\n slideCount = _this$state.slideCount,\n slideWidth = _this$state.slideWidth,\n slideHeight = _this$state.slideHeight,\n slidesToShow = _this$state.slidesToShow;\n var _this$getOffsetDeltas = this.getOffsetDeltas(),\n tx = _this$getOffsetDeltas.tx,\n ty = _this$getOffsetDeltas.ty;\n var offset = getAlignmentOffset(currentSlide, _objectSpread(_objectSpread({}, this.props), this.state));\n if (this.props.vertical) {\n var rowHeight = slideHeight / slidesToShow;\n var slidesLeftToShow = slideCount - slidesToShow;\n var lastSlideLimit = rowHeight * slidesLeftToShow;\n var offsetTy = ty[0] - offset; // returns true if ty offset is outside first or last slide\n\n return offsetTy > 0 || -offsetTy > lastSlideLimit;\n }\n var offsetTx = tx[0] - offset; // returns true if tx offset is outside first or last slide\n\n return offsetTx > 0 || -offsetTx > slideWidth * (slideCount - 1);\n } // Action Methods\n }, {\n key: \"goToSlide\",\n value: function goToSlide(index, props) {\n var _this8 = this;\n if (props === undefined) {\n props = this.props;\n }\n this.latestTransitioningIndex = index;\n this.setState({\n hasInteraction: true,\n easing: easing[props.easing]\n });\n var previousSlide = this.state.currentSlide;\n if (index >= this.state.slideCount || index < 0) {\n if (!props.wrapAround) {\n return;\n }\n if (index >= this.state.slideCount) {\n props.beforeSlide(this.state.currentSlide, 0);\n this.setState(function (prevState) {\n return {\n left: props.vertical ? 0 : _this8.getTargetLeft(_this8.state.slideWidth, prevState.currentSlide),\n top: props.vertical ? _this8.getTargetLeft(_this8.state.slideWidth, prevState.currentSlide) : 0,\n currentSlide: 0,\n isWrappingAround: true,\n wrapToIndex: _this8.state.slideCount\n };\n }, function () {\n _this8.timers.push(setTimeout(function () {\n if (index === _this8.latestTransitioningIndex) {\n _this8.resetAutoplay();\n if (index !== previousSlide) {\n _this8.props.afterSlide(0);\n }\n }\n }, props.speed));\n });\n return;\n } else {\n var endSlide = index < 0 ? this.state.slideCount + index : this.state.slideCount - this.state.slidesToScroll;\n props.beforeSlide(this.state.currentSlide, endSlide);\n this.setState(function (prevState) {\n return {\n left: props.vertical ? 0 : _this8.getTargetLeft(0, prevState.currentSlide),\n top: props.vertical ? _this8.getTargetLeft(0, prevState.currentSlide) : 0,\n currentSlide: endSlide,\n isWrappingAround: true,\n wrapToIndex: index\n };\n }, function () {\n _this8.timers.push(setTimeout(function () {\n if (index === _this8.latestTransitioningIndex) {\n _this8.resetAutoplay();\n if (index !== previousSlide) {\n _this8.props.afterSlide(_this8.state.slideCount - 1);\n }\n }\n }, props.speed));\n });\n return;\n }\n }\n this.props.beforeSlide(this.state.currentSlide, index);\n this.setState({\n currentSlide: index\n }, function () {\n _this8.timers.push(setTimeout(function () {\n if (index === _this8.latestTransitioningIndex) {\n _this8.resetAutoplay();\n if (index !== previousSlide) {\n _this8.props.afterSlide(index);\n }\n }\n }, props.speed));\n });\n }\n }, {\n key: \"nextSlide\",\n value: function nextSlide() {\n var _this$state2 = this.state,\n slidesToScroll = _this$state2.slidesToScroll,\n currentSlide = _this$state2.currentSlide,\n slideWidth = _this$state2.slideWidth,\n slideCount = _this$state2.slideCount;\n var targetSlideIndex = currentSlide + slidesToScroll;\n var slidesToShow = this.state.slidesToShow;\n if (this.props.slidesToScroll === 'auto') {\n var swipeDistance = this.touchObject.length;\n if (swipeDistance > 0) {\n targetSlideIndex = Math.round(swipeDistance / slideWidth) + currentSlide;\n } else {\n slidesToShow = slidesToScroll;\n }\n }\n if (currentSlide >= slideCount - slidesToShow && !this.props.wrapAround && this.props.cellAlign === 'left') {\n return;\n }\n if (this.props.wrapAround) {\n this.goToSlide(targetSlideIndex);\n } else {\n if (this.props.slideWidth !== 1) {\n this.goToSlide(targetSlideIndex);\n return;\n }\n var offset = targetSlideIndex;\n var leftAlignSlideIndex = this.props.scrollMode === 'page' ? offset : Math.min(offset, slideCount - Math.floor(slidesToShow));\n var nextSlideIndex = this.props.cellAlign !== 'left' ? offset : leftAlignSlideIndex; // If nextSlideIndex is larger than last index, then\n // just navigate to last index\n\n this.goToSlide(Math.min(nextSlideIndex, slideCount - 1));\n }\n }\n }, {\n key: \"previousSlide\",\n value: function previousSlide() {\n var _this$state3 = this.state,\n slidesToScroll = _this$state3.slidesToScroll,\n slideWidth = _this$state3.slideWidth,\n currentSlide = _this$state3.currentSlide;\n var targetSlideIndex = currentSlide - slidesToScroll;\n var swipeDistance = this.touchObject.length;\n if (this.props.slidesToScroll === 'auto' && swipeDistance > 0) {\n targetSlideIndex = currentSlide - Math.round(swipeDistance / slideWidth);\n }\n if (currentSlide <= 0 && !this.props.wrapAround) {\n return;\n }\n if (this.props.wrapAround) {\n this.goToSlide(targetSlideIndex);\n } else {\n this.goToSlide(Math.max(0, targetSlideIndex));\n }\n } // Bootstrapping\n }, {\n key: \"bindEvents\",\n value: function bindEvents() {\n if (ExecutionEnvironment.canUseDOM) {\n addEvent(window, 'resize', this.onResize);\n addEvent(document, 'visibilitychange', this.onVisibilityChange);\n addEvent(document, 'keydown', this.handleKeyPress);\n }\n }\n }, {\n key: \"onResize\",\n value: function onResize() {\n this.setDimensions(null, this.props.onResize);\n }\n }, {\n key: \"onVisibilityChange\",\n value: function onVisibilityChange() {\n if (document.hidden) {\n this.pauseAutoplay();\n } else {\n this.unpauseAutoplay();\n }\n }\n }, {\n key: \"unbindEvents\",\n value: function unbindEvents() {\n if (ExecutionEnvironment.canUseDOM) {\n removeEvent(window, 'resize', this.onResize);\n removeEvent(document, 'visibilitychange', this.onVisibilityChange);\n removeEvent(document, 'keydown', this.handleKeyPress);\n }\n }\n }, {\n key: \"calcSlideHeightAndWidth\",\n value: function calcSlideHeightAndWidth(props) {\n // slide height\n props = props || this.props;\n var childNodes = this.getChildNodes();\n var slideHeight = calculateSlideHeight(props, this.state, childNodes); //slide width\n\n var _getPropsByTransition = getPropsByTransitionMode(props, ['slidesToShow']),\n slidesToShow = _getPropsByTransition.slidesToShow;\n var frame = this.frame;\n var slideWidth;\n if (this.props.animation === 'zoom') {\n slideWidth = frame.offsetWidth - frame.offsetWidth * 15 / 100;\n } else if (typeof props.slideWidth !== 'number') {\n slideWidth = parseInt(props.slideWidth);\n } else if (props.vertical) {\n slideWidth = slideHeight / slidesToShow * props.slideWidth;\n } else {\n slideWidth = frame.offsetWidth / slidesToShow * props.slideWidth;\n }\n if (!props.vertical) {\n slideWidth -= props.cellSpacing * ((100 - 100 / slidesToShow) / 100);\n }\n return {\n slideHeight: slideHeight,\n slideWidth: slideWidth\n };\n }\n }, {\n key: \"setSlideHeightAndWidth\",\n value: function setSlideHeightAndWidth() {\n var _this$calcSlideHeight2 = this.calcSlideHeightAndWidth(),\n slideHeight = _this$calcSlideHeight2.slideHeight,\n slideWidth = _this$calcSlideHeight2.slideWidth;\n if (slideHeight !== this.state.slideHeight || slideWidth !== this.state.slideWidth || this.isWrapped) {\n this.isWrapped = false;\n this.setState({\n slideHeight: slideHeight,\n slideWidth: slideWidth\n });\n }\n } // eslint-disable-next-line complexity\n }, {\n key: \"setDimensions\",\n value: function setDimensions(props) {\n var stateCb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};\n props = props || this.props;\n var _getPropsByTransition2 = getPropsByTransitionMode(props, ['slidesToShow', 'cellAlign', 'scrollMode']),\n slidesToShow = _getPropsByTransition2.slidesToShow,\n cellAlign = _getPropsByTransition2.cellAlign,\n scrollMode = _getPropsByTransition2.scrollMode;\n var frame = this.frame;\n var _this$calcSlideHeight3 = this.calcSlideHeightAndWidth(props),\n slideHeight = _this$calcSlideHeight3.slideHeight,\n slideWidth = _this$calcSlideHeight3.slideWidth;\n var frameHeight = slideHeight + props.cellSpacing * (slidesToShow - 1);\n var frameWidth = props.vertical ? frameHeight : frame.offsetWidth;\n var _getPropsByTransition3 = getPropsByTransitionMode(props, ['slidesToScroll']),\n slidesToScroll = _getPropsByTransition3.slidesToScroll;\n if (slidesToScroll === 'auto' || scrollMode === 'page') {\n slidesToScroll = Math.floor(frameWidth / (slideWidth + props.cellSpacing));\n }\n if ((props.slideWidth !== 1 || props.cellSpacing > 0) && scrollMode === 'page' && cellAlign === 'left') {\n slidesToShow = slidesToScroll;\n }\n this.setState({\n frameWidth: frameWidth,\n slideHeight: slideHeight,\n slidesToScroll: slidesToScroll,\n slidesToShow: slidesToShow,\n slideWidth: slideWidth,\n cellAlign: cellAlign\n }, function () {\n stateCb();\n });\n }\n }, {\n key: \"getChildNodes\",\n value: function getChildNodes() {\n return this.frame.childNodes[0].childNodes;\n }\n }, {\n key: \"getCurrentChildNodeImg\",\n value: function getCurrentChildNodeImg() {\n var childNodes = this.getChildNodes();\n var currentChildNode = childNodes[this.props.slideIndex];\n return currentChildNode ? currentChildNode.getElementsByTagName('img')[0] : null;\n }\n }, {\n key: \"setLeft\",\n value: function setLeft() {\n var newLeft = this.props.vertical ? 0 : this.getTargetLeft();\n var newTop = this.props.vertical ? this.getTargetLeft() : 0;\n if (newLeft !== this.state.left || newTop !== this.state.top) {\n this.setState({\n left: newLeft,\n top: newTop\n });\n }\n }\n }, {\n key: \"renderControls\",\n value: function renderControls() {\n var _this9 = this;\n if (this.props.withoutControls) {\n return this.controlsMap.map(function () {\n return null;\n });\n } else {\n return this.controlsMap.map(function (_ref) {\n var funcName = _ref.funcName,\n key = _ref.key;\n var func = _this9.props[funcName];\n var controlChildren = func && typeof func === 'function' && func({\n cellAlign: _this9.props.cellAlign,\n cellSpacing: _this9.props.cellSpacing,\n currentSlide: _this9.state.currentSlide,\n defaultControlsConfig: _this9.props.defaultControlsConfig,\n frameWidth: _this9.state.frameWidth,\n goToSlide: function goToSlide(index) {\n return _this9.goToSlide(index);\n },\n left: _this9.state.left,\n nextSlide: function nextSlide() {\n return _this9.nextSlide();\n },\n previousSlide: function previousSlide() {\n return _this9.previousSlide();\n },\n scrollMode: _this9.props.scrollMode,\n slideCount: _this9.state.slideCount,\n slidesToScroll: _this9.state.slidesToScroll,\n slidesToShow: _this9.state.slidesToShow,\n slideWidth: _this9.state.slideWidth,\n top: _this9.state.top,\n vertical: _this9.props.vertical,\n wrapAround: _this9.props.wrapAround\n });\n return controlChildren && /*#__PURE__*/React.createElement(\"div\", {\n key: key,\n className: [\"slider-control-\".concat(key.toLowerCase()), _this9.props.defaultControlsConfig.containerClassName || ''].join(' ').trim(),\n style: _objectSpread(_objectSpread({}, getDecoratorStyles(key)), _this9.props.getControlsContainerStyles(key))\n }, controlChildren);\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this10 = this;\n var _this$state4 = this.state,\n currentSlide = _this$state4.currentSlide,\n slideCount = _this$state4.slideCount,\n frameWidth = _this$state4.frameWidth,\n hasInteraction = _this$state4.hasInteraction;\n var _this$props = this.props,\n disableAnimation = _this$props.disableAnimation,\n frameOverflow = _this$props.frameOverflow,\n framePadding = _this$props.framePadding,\n renderAnnounceSlideMessage = _this$props.renderAnnounceSlideMessage,\n slidesToShow = _this$props.slidesToShow,\n vertical = _this$props.vertical;\n var duration = this.state.dragging || !this.state.dragging && this.state.resetWrapAroundPosition && this.props.wrapAround || disableAnimation || !hasInteraction ? 0 : this.props.speed;\n var frameStyles = getFrameStyles(frameOverflow, vertical, framePadding, frameWidth);\n var touchEvents = this.getTouchEvents();\n var mouseEvents = this.getMouseEvents();\n var TransitionControl = Transitions[this.props.transitionMode];\n var validChildren = getValidChildren(this.props.children);\n var _this$getOffsetDeltas2 = this.getOffsetDeltas(),\n _this$getOffsetDeltas3 = _slicedToArray(_this$getOffsetDeltas2.tx, 1),\n startTx = _this$getOffsetDeltas3[0],\n _this$getOffsetDeltas4 = _slicedToArray(_this$getOffsetDeltas2.ty, 1),\n startTy = _this$getOffsetDeltas4[0];\n return /*#__PURE__*/React.createElement(\"section\", {\n className: ['slider', this.props.className || ''].join(' ').trim(),\n onFocus: this.handleFocus,\n \"aria-label\": \"carousel-slider\",\n role: \"region\",\n onBlur: this.handleBlur,\n ref: this.props.innerRef,\n tabIndex: 0,\n style: _extends({}, getSliderStyles(this.props.width, this.props.height), this.props.style)\n }, !this.props.autoplay && /*#__PURE__*/React.createElement(AnnounceSlide, {\n message: renderAnnounceSlideMessage({\n currentSlide: currentSlide,\n slideCount: slideCount\n })\n }), /*#__PURE__*/React.createElement(\"div\", _extends({\n className: \"slider-frame\",\n ref: function ref(frame) {\n return _this10.frame = frame;\n },\n style: frameStyles\n }, touchEvents, mouseEvents, {\n onClickCapture: this.handleClick\n }), /*#__PURE__*/React.createElement(Animate, {\n show: true,\n start: {\n tx: startTx,\n ty: startTy\n },\n update: function update() {\n var _this10$getOffsetDelt = _this10.getOffsetDeltas(),\n tx = _this10$getOffsetDelt.tx,\n ty = _this10$getOffsetDelt.ty;\n if (_this10.props.disableEdgeSwiping && !_this10.props.wrapAround && _this10.isEdgeSwiping()) {\n return {};\n } else {\n return {\n tx: tx,\n ty: ty,\n timing: {\n duration: duration,\n ease: _this10.state.easing\n },\n events: {\n end: function end() {\n var newLeft = _this10.props.vertical ? 0 : _this10.getTargetLeft();\n var newTop = _this10.props.vertical ? _this10.getTargetLeft() : 0;\n if (newLeft !== _this10.state.left || newTop !== _this10.state.top) {\n _this10.setState({\n left: newLeft,\n top: newTop,\n isWrappingAround: false,\n resetWrapAroundPosition: true\n }, function () {\n _this10.setState({\n resetWrapAroundPosition: false\n });\n });\n }\n }\n }\n };\n }\n }\n }, function (_ref2) {\n var tx = _ref2.tx,\n ty = _ref2.ty;\n return /*#__PURE__*/React.createElement(TransitionControl, _extends({}, getTransitionProps(_this10.props, _this10.state), {\n deltaX: tx,\n deltaY: ty\n }), addAccessibility(validChildren, slidesToShow, currentSlide));\n })), this.renderControls(), this.props.autoGenerateStyleTag && /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\",\n dangerouslySetInnerHTML: {\n __html: getImgTagStyles()\n }\n }));\n }\n }]);\n return Carousel;\n}(React.Component);\nexport { Carousel as default };\nCarousel.defaultProps = {\n afterSlide: function afterSlide() {},\n autoGenerateStyleTag: true,\n autoplay: false,\n autoplayInterval: 3000,\n autoplayReverse: false,\n beforeSlide: function beforeSlide() {},\n cellAlign: 'left',\n cellSpacing: 0,\n getControlsContainerStyles: function getControlsContainerStyles() {},\n defaultControlsConfig: {},\n disableAnimation: false,\n disableEdgeSwiping: false,\n dragging: true,\n easing: 'easeCircleOut',\n edgeEasing: 'easeElasticOut',\n enableKeyboardControls: false,\n frameOverflow: 'hidden',\n framePadding: '0px',\n height: 'inherit',\n heightMode: 'max',\n keyCodeConfig: {},\n onDragStart: function onDragStart() {},\n onResize: function onResize() {},\n pauseOnHover: true,\n renderAnnounceSlideMessage: defaultRenderAnnounceSlideMessage,\n renderBottomCenterControls: function renderBottomCenterControls(props) {\n return /*#__PURE__*/React.createElement(PagingDots, props);\n },\n renderCenterLeftControls: function renderCenterLeftControls(props) {\n return /*#__PURE__*/React.createElement(PreviousButton, props);\n },\n renderCenterRightControls: function renderCenterRightControls(props) {\n return /*#__PURE__*/React.createElement(NextButton, props);\n },\n scrollMode: 'remainder',\n slideIndex: 0,\n slideListMargin: 10,\n slideOffset: 25,\n slidesToScroll: 1,\n slidesToShow: 1,\n slideWidth: 1,\n speed: 500,\n style: {},\n swiping: true,\n transitionMode: 'scroll',\n vertical: false,\n width: '100%',\n withoutControls: false,\n wrapAround: false\n};\nexport { NextButton, PreviousButton, PagingDots };","import { SxStyleProp } from 'theme-ui';\n\nexport const LtoRotator: SxStyleProp = {\n bg: 'primary',\n};\n\nexport const CustomCarousel: SxStyleProp = {\n margin: 'auto',\n display: 'flex',\n alignContent: 'flex-end',\n '.slider-control-centerleft': {\n display: 'none !important',\n },\n '.slider-control-centerright': {\n display: 'none !important',\n },\n '.slider-control-bottomcenter > ul > li': {\n p: '0 8px',\n },\n '.slider-control-bottomcenter > ul > li > button > svg > circle': {\n fill: '#fff !important',\n },\n};\n","import * as React from 'react';\nimport Carousel from 'nuka-carousel';\nimport Box from '@lce/slice_v2/Layout/Box';\n\nimport { Direction } from '@lce/intl-types/src/IDirection';\nimport * as Styled from './LtoRotator.style';\n\nexport interface IRotatorProps {\n children: React.ReactElement | React.ReactNode;\n direction: Direction;\n}\n\nconst Rotator: React.FC = ({ children, direction }) => (\n \n \n \n {children}\n \n \n \n);\n\nexport default Rotator;\n","import * as React from 'react';\nimport { size as _size } from 'lodash';\n\nimport { Direction } from '@lce/intl-types/src/IDirection';\nimport LtoRotator from '../LtoRotator';\n\nexport interface IRotatorLoaderProps {\n bannerList: any[] | any;\n direction: Direction;\n}\n\nconst RotatorLoader: React.FC = ({ children, bannerList, direction }) => {\n if (_size(bannerList) > 1) {\n return {children};\n }\n return <>{children};\n};\n\nexport default RotatorLoader;\n","import * as React from 'react';\n//Import custom banners here and add them to the Banners object.\n\nexport interface IObjectIndexer {\n [key: string]: T;\n}\n\nconst Banners: IObjectIndexer> = {};\n\nexport default Banners;\n","import { IActiveBannerProps } from '@lce/intl-types/src/IActiveBannerProps';\nimport { map as _map, isEmpty as _isEmpty } from 'lodash';\nimport * as moment from 'moment';\n\nimport UseBanner from '../../Patterns/Banners/useBanner';\n\nconst dateTimeCheck = (banner: IActiveBannerProps) => {\n if (!banner.endTime && !banner.startTime) {\n return true;\n }\n if (banner.endTime && banner.startTime && moment().isAfter(banner.startTime) && moment().isBefore(banner.endTime)) {\n return true;\n }\n if (banner.endTime && !banner.startTime && moment().isBefore(banner.endTime)) {\n return true;\n }\n if (!banner.endTime && banner.startTime && moment().isAfter(banner.startTime)) {\n return true;\n }\n return false;\n};\n\nexport const sanitizedList = (bannerData: IActiveBannerProps[]) => {\n const bannerList: any = [];\n let count = 0;\n _map(bannerData, (banner: IActiveBannerProps) => {\n if (\n (banner && banner.activeBanner && !_isEmpty(banner.activeBanner)) ||\n (banner && banner.customBannerComponent === 'MyTestComponent') ||\n (banner && banner.customBannerComponent && UseBanner[banner.customBannerComponent])\n ) {\n if (dateTimeCheck(banner)) {\n bannerList[count] = banner;\n count++;\n }\n }\n });\n return bannerList;\n};\n","import * as React from 'react';\nimport { map as _map } from 'lodash';\nimport Box from '@lce/slice_v2/Layout/Box';\nimport { IActiveBannerProps } from '@lce/intl-types/src/IActiveBannerProps';\nimport RotatorLoader from '@lce/intl-ui/src/Modules/RotatorLoader';\nimport DefaultBanner from '@lce/intl-ui/src/Patterns/Banners/DefaultBanner';\n\nimport { Direction } from '@lce/intl-types/src/IDirection';\nimport UseBanner from '../../Patterns/Banners/useBanner';\nimport { sanitizedList } from './sanitizedList';\n\nexport interface IBannerLoaderProps {\n locale: string;\n direction: Direction;\n MainBanner?: React.FC;\n bannerData: IActiveBannerProps[];\n}\n\nconst BannerLoader: React.FC = ({ bannerData, MainBanner = DefaultBanner, direction, ...props }) => {\n const listData = sanitizedList(bannerData);\n const hasBanners = listData?.length > 0;\n \n if (!hasBanners) return null;\n \n return (\n \n {_map(listData, (banner: IActiveBannerProps) => {\n const LoadedBanner = banner.customBannerComponent ? UseBanner[banner.customBannerComponent] : MainBanner;\n const testId = banner.customBannerComponent || 'BannerComponent';\n\n return (\n \n \n \n );\n })}\n \n );\n};\n\nexport default BannerLoader;\n","import { graphql, useStaticQuery } from 'gatsby';\nimport { map as _map, sortBy as _sortBy } from 'lodash';\nimport { IDatoImage } from '@lce/intl-types/src/IDatoImage';\nimport { ILineObject } from '@lce/intl-types/src/ILineObject';\nimport { franchiseeFilterList } from '@lce/intl-util/src/FranchiseeFilter';\nimport { Direction } from '@lce/intl-types/src/IDirection';\nimport { IActiveBannerProps } from '@lce/intl-types/src/IActiveBannerProps';\nimport removeLine from '@lce/intl-util/src/removeLine';\nimport franchiseeDirection from '@lce/intl-util/src/FranchiseeDirection';\n\nimport useFranchisees from '../FranchiseeId/hooks/useFranchisees';\nimport { useSelectedFranchiseeId } from '../FranchiseeId/hooks/useSelectedFranchiseeId';\n\ninterface IDatoActiveBannerProps {\n activeBanners: {\n nodes: IDatoNodeActiveBannerProps[];\n };\n}\n\nexport interface IDatoNodeActiveBannerProps {\n id: string;\n locale: string;\n endTime?: string;\n startTime?: string;\n customBannerComponent?: string;\n position: number;\n activeBanner: IDatoHomePageDefaultProps[];\n}\n\ninterface IDatoHomePageDefaultProps {\n id: string;\n bannerName: string;\n image: IDatoImage;\n cents?: string;\n subCents?: string;\n dollars?: string;\n currencySymbol?: IDatoImage;\n subTitle: string;\n subTitle2: string;\n hours?: string;\n script?: string;\n superScript?: string;\n title: ILineObject[];\n}\n\n// eslint-disable-next-line max-lines-per-function\nconst useActiveBanner = (locale: string) => {\n const data: IDatoActiveBannerProps = useStaticQuery(graphql`\n query ActiveBannerMsQuery {\n activeBanners: allDatoCmsActiveBanner {\n nodes {\n id\n locale\n startTime\n endTime\n franchisee {\n name\n originalId\n } \n activeBanner {\n bannerName\n cents\n dollars\n currencySymbol {\n alt\n url\n }\n image {\n alt\n url\n }\n script\n subCents\n subTitle\n subTitle2\n superScript\n hours\n title {\n line\n }\n }\n customBannerComponent\n position\n }\n }\n }\n `);\n const { franchiseeId: SelectedFranchiseeId } = useSelectedFranchiseeId(locale);\n const { franchisees } = useFranchisees(locale);\n\n const direction: Direction = franchiseeDirection(franchisees, SelectedFranchiseeId);\n\n const filteredOffsetBannersByFranchisee = franchiseeFilterList(data.activeBanners.nodes, SelectedFranchiseeId, locale);\n\n let cleanedActiveBanners: IActiveBannerProps[] = [];\n\n _map(filteredOffsetBannersByFranchisee, offsetBanner => {\n if (offsetBanner.activeBanner[0]) {\n return (cleanedActiveBanners = [\n ...cleanedActiveBanners,\n {\n ...offsetBanner,\n activeBanner: {\n ...offsetBanner.activeBanner[0],\n title: removeLine(offsetBanner.activeBanner[0].title),\n },\n direction,\n },\n ]);\n }\n\n return (cleanedActiveBanners = [\n ...cleanedActiveBanners,\n {\n ...offsetBanner,\n direction,\n },\n ]);\n });\n\n const sortedActiveBanner = _sortBy(cleanedActiveBanners, (banners) => banners.position);\n\n return {\n ...sortedActiveBanner,\n };\n};\n\nexport default useActiveBanner;\n","import { graphql, useStaticQuery } from 'gatsby';\nimport _map from 'lodash/map';\n\nimport localeFilter from '@lce/intl-util/src/localeFilter';\nimport { IBestValueProps } from '@lce/gatsby-theme-multi-site/src/ui/PageComponents/Home/Panels/BestValuePanel';\nimport { ILineObject } from '@lce/intl-types/src/ILineObject';\n\ninterface INodeBestValuePanelProps {\n bestValuePanel: {\n nodes: IDatoBestValueNodeProps[];\n };\n}\n\ninterface IDatoBestValueNodeProps {\n locale: string;\n awardText?: ILineObject[];\n scriptText?: ILineObject[];\n legalText?: string;\n}\n\nconst useBestValuePanel = (locale: string): IBestValueProps => {\n const data: INodeBestValuePanelProps = useStaticQuery(graphql`\n query UseBestValuePanelMsQuery {\n bestValuePanel: allDatoCmsBestValuePanel {\n nodes {\n locale\n awardText {\n line\n }\n scriptText {\n line\n }\n legalText\n }\n }\n }\n `);\n\n const removeLine = (array?: ILineObject[]): string[] => _map(array, object => object.line);\n\n const bestValuePanel = localeFilter(data.bestValuePanel.nodes, locale);\n\n return {\n ...bestValuePanel,\n awardText: bestValuePanel && removeLine(bestValuePanel.awardText),\n scriptText: bestValuePanel && removeLine(bestValuePanel.scriptText),\n };\n};\n\nexport default useBestValuePanel;\n","import { graphql, useStaticQuery } from 'gatsby';\nimport _map from 'lodash/map';\n\nimport localeFilter from '@lce/intl-util/src/localeFilter';\nimport { IImageTopPanelProps } from '@lce/gatsby-theme-multi-site/src/ui/PageComponents/Home/Panels/ImageTopPanel';\nimport { ILineObject } from '@lce/intl-types/src/ILineObject';\n\ninterface INodeImageTopPanelProps {\n ImageTopPanel: {\n nodes: IDatoBestValueNodeProps[];\n };\n}\n\ninterface IDatoBestValueNodeProps {\n locale: string;\n headline?: ILineObject[];\n script?: ILineObject[];\n image?: {\n alt: string;\n url: string;\n };\n}\n\nconst useHome = (locale: string): IImageTopPanelProps => {\n const data: INodeImageTopPanelProps = useStaticQuery(graphql`\n query UseImageTopPanelMsQuery {\n ImageTopPanel: allDatoCmsImageTopPanel {\n nodes {\n locale\n image {\n alt\n url\n }\n script {\n line\n }\n headline {\n line\n }\n }\n }\n }\n `);\n\n const removeLine = (array?: ILineObject[]): string[] => _map(array, object => object.line);\n\n const ImageTopPanel = localeFilter(data.ImageTopPanel.nodes, locale);\n\n return {\n script: ImageTopPanel && removeLine(ImageTopPanel.script),\n headline: ImageTopPanel && removeLine(ImageTopPanel.headline),\n image: ImageTopPanel && ImageTopPanel.image,\n };\n};\n\nexport default useHome;\n","import { graphql, useStaticQuery } from 'gatsby';\n\nimport localeFilter from '@lce/intl-util/src/localeFilter';\nimport { IHotNReadyPanelProps } from '@lce/intl-ui/src/PageComponents/Home/Panels/HotNReadyPanel';\nimport { ILineObject } from '@lce/intl-types/src/ILineObject';\nimport removeLine from '@lce/intl-util/src/removeLine';\n\ninterface INodeHotNReadyPanelProps {\n HotNReadyPanel: {\n nodes: IDatoHotNReadyNodeProps[];\n };\n}\n\ninterface IDatoHotNReadyNodeProps {\n locale: string;\n scriptText?: string;\n superscript?: string;\n bodyText?: ILineObject[];\n bottomImage: {\n alt?: string;\n url: string;\n };\n}\n\nconst useHotNReady = (locale: string): IHotNReadyPanelProps => {\n const data: INodeHotNReadyPanelProps = useStaticQuery(graphql`\n query UseHotNReadyPanelMsQuery {\n HotNReadyPanel: allDatoCmsHotNReadyPanel {\n nodes {\n locale\n scriptText\n superscript\n bodyText {\n line\n }\n bottomImage {\n url\n }\n }\n }\n }\n `);\n\n const HotNReadyPanel = localeFilter(data.HotNReadyPanel.nodes, locale);\n\n return {\n ...HotNReadyPanel,\n scriptText: HotNReadyPanel && HotNReadyPanel.scriptText,\n superscript: HotNReadyPanel && HotNReadyPanel.superscript,\n bodyText: HotNReadyPanel && removeLine(HotNReadyPanel.bodyText),\n bottomImage: HotNReadyPanel && HotNReadyPanel.bottomImage,\n };\n};\n\nexport default useHotNReady;\n","import { graphql, useStaticQuery } from 'gatsby';\nimport { map as _map } from 'lodash';\n\nimport localeFilter from '@lce/intl-util/src/localeFilter';\n\ninterface IDatoQualityBannerProps {\n qualityBanner: {\n nodes: IQualityBanner[];\n };\n}\n\ninterface IQualityBanner {\n locale: string;\n qualityBannerSections: IQualityBannerItem[];\n}\n\ninterface IQualityBannerItem {\n image: {\n url: string;\n };\n id: string;\n textDescription: string;\n title: string;\n}\n\n// eslint-disable-next-line max-lines-per-function\nconst useQualityBanner = (locale: string) => {\n const data: IDatoQualityBannerProps = useStaticQuery(graphql`\n query QualityBannerMsQuery {\n qualityBanner: allDatoCmsQualityBanner {\n nodes {\n locale\n qualityBannerSections {\n locale\n image {\n url\n }\n id\n textDescription\n title\n }\n }\n }\n }\n `);\n\n const filteredQualityBanner = localeFilter(data.qualityBanner.nodes, locale);\n\n const cleanedQualityBannerItems = _map(\n filteredQualityBanner && filteredQualityBanner.qualityBannerSections,\n section => ({\n ...section,\n image: section.image.url,\n }),\n );\n\n return {\n ...cleanedQualityBannerItems,\n };\n};\n\nexport default useQualityBanner;\n","import * as React from 'react';\nimport Box from '@lce/slice_v2/Layout/Box';\nimport { IDefaultPageProps } from '@lce/intl-types/src/IDefaultPageProps';\nimport Container from '@lce/intl-ui/src/Layout/Container';\nimport PanelLoader from '@lce/intl-ui/src/PageComponents/Home/PanelLoader';\nimport DefaultBanner from '@lce/intl-ui/src/Patterns/Banners/DefaultBanner';\n\nimport BannerLoader from '../ui/Modules/BannerLoader';\nimport Layout from '../ui/ConnectedLayout';\nimport useActiveBanner from '../api/HomePage/useActiveBanner';\nimport useSiteConfig from '../api/Config/useSiteConfig';\nimport useBestValuePanel from '../api/HomePage/useBestValuePanel';\nimport useImageTopPanel from '../api/HomePage/useImageTopPanel';\nimport useHotNReadyPanel from '../api/HomePage/useHotNReadyPanel';\nimport useQualityPanel from '../api/HomePage/useQualityPanel';\n\nconst Home: React.FC = props => {\n const { locale } = props.pathContext;\n\n const bannerData = useActiveBanner(locale);\n const hotNReadyPanel = useHotNReadyPanel(locale);\n const imageTopPanel = useImageTopPanel(locale);\n const bestValuePanel = useBestValuePanel(locale);\n const qualityPanel = useQualityPanel(locale);\n const { direction } = useSiteConfig(locale);\n \n const panelProps = { hotNReadyPanel, imageTopPanel, bestValuePanel, qualityPanel, direction };\n const isThreePanelDefault = false; // This value comes from siteConfig.isThreePanel\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nexport default Home;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\nfunction unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n}\n\nmodule.exports = unicodeSize;\n","var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\n/**\n * This work is licensed under the W3C Software and Document License\n * (http://www.w3.org/Consortium/Legal/2015/copyright-software-and-document).\n */\n\n(function () {\n // Return early if we're not running inside of the browser.\n if (typeof window === 'undefined') {\n return;\n }\n\n // Convenience function for converting NodeLists.\n /** @type {typeof Array.prototype.slice} */\n var slice = Array.prototype.slice;\n\n /**\n * IE has a non-standard name for \"matches\".\n * @type {typeof Element.prototype.matches}\n */\n var matches = Element.prototype.matches || Element.prototype.msMatchesSelector;\n\n /** @type {string} */\n var _focusableElementsString = ['a[href]', 'area[href]', 'input:not([disabled])', 'select:not([disabled])', 'textarea:not([disabled])', 'button:not([disabled])', 'details', 'summary', 'iframe', 'object', 'embed', '[contenteditable]'].join(',');\n\n /**\n * `InertRoot` manages a single inert subtree, i.e. a DOM subtree whose root element has an `inert`\n * attribute.\n *\n * Its main functions are:\n *\n * - to create and maintain a set of managed `InertNode`s, including when mutations occur in the\n * subtree. The `makeSubtreeUnfocusable()` method handles collecting `InertNode`s via registering\n * each focusable node in the subtree with the singleton `InertManager` which manages all known\n * focusable nodes within inert subtrees. `InertManager` ensures that a single `InertNode`\n * instance exists for each focusable node which has at least one inert root as an ancestor.\n *\n * - to notify all managed `InertNode`s when this subtree stops being inert (i.e. when the `inert`\n * attribute is removed from the root node). This is handled in the destructor, which calls the\n * `deregister` method on `InertManager` for each managed inert node.\n */\n\n var InertRoot = function () {\n /**\n * @param {!HTMLElement} rootElement The HTMLElement at the root of the inert subtree.\n * @param {!InertManager} inertManager The global singleton InertManager object.\n */\n function InertRoot(rootElement, inertManager) {\n _classCallCheck(this, InertRoot);\n\n /** @type {!InertManager} */\n this._inertManager = inertManager;\n\n /** @type {!HTMLElement} */\n this._rootElement = rootElement;\n\n /**\n * @type {!Set}\n * All managed focusable nodes in this InertRoot's subtree.\n */\n this._managedNodes = new Set();\n\n // Make the subtree hidden from assistive technology\n if (this._rootElement.hasAttribute('aria-hidden')) {\n /** @type {?string} */\n this._savedAriaHidden = this._rootElement.getAttribute('aria-hidden');\n } else {\n this._savedAriaHidden = null;\n }\n this._rootElement.setAttribute('aria-hidden', 'true');\n\n // Make all focusable elements in the subtree unfocusable and add them to _managedNodes\n this._makeSubtreeUnfocusable(this._rootElement);\n\n // Watch for:\n // - any additions in the subtree: make them unfocusable too\n // - any removals from the subtree: remove them from this inert root's managed nodes\n // - attribute changes: if `tabindex` is added, or removed from an intrinsically focusable\n // element, make that node a managed node.\n this._observer = new MutationObserver(this._onMutation.bind(this));\n this._observer.observe(this._rootElement, {\n attributes: true,\n childList: true,\n subtree: true\n });\n }\n\n /**\n * Call this whenever this object is about to become obsolete. This unwinds all of the state\n * stored in this object and updates the state of all of the managed nodes.\n */\n\n _createClass(InertRoot, [{\n key: 'destructor',\n value: function destructor() {\n this._observer.disconnect();\n if (this._rootElement) {\n if (this._savedAriaHidden !== null) {\n this._rootElement.setAttribute('aria-hidden', this._savedAriaHidden);\n } else {\n this._rootElement.removeAttribute('aria-hidden');\n }\n }\n this._managedNodes.forEach(function (inertNode) {\n this._unmanageNode(inertNode.node);\n }, this);\n\n // Note we cast the nulls to the ANY type here because:\n // 1) We want the class properties to be declared as non-null, or else we\n // need even more casts throughout this code. All bets are off if an\n // instance has been destroyed and a method is called.\n // 2) We don't want to cast \"this\", because we want type-aware optimizations\n // to know which properties we're setting.\n this._observer = /** @type {?} */null;\n this._rootElement = /** @type {?} */null;\n this._managedNodes = /** @type {?} */null;\n this._inertManager = /** @type {?} */null;\n }\n\n /**\n * @return {!Set} A copy of this InertRoot's managed nodes set.\n */\n }, {\n key: '_makeSubtreeUnfocusable',\n /**\n * @param {!Node} startNode\n */\n value: function _makeSubtreeUnfocusable(startNode) {\n var _this2 = this;\n composedTreeWalk(startNode, function (node) {\n return _this2._visitNode(node);\n });\n var activeElement = document.activeElement;\n if (!document.body.contains(startNode)) {\n // startNode may be in shadow DOM, so find its nearest shadowRoot to get the activeElement.\n var node = startNode;\n /** @type {!ShadowRoot|undefined} */\n var root = undefined;\n while (node) {\n if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n root = /** @type {!ShadowRoot} */node;\n break;\n }\n node = node.parentNode;\n }\n if (root) {\n activeElement = root.activeElement;\n }\n }\n if (startNode.contains(activeElement)) {\n activeElement.blur();\n // In IE11, if an element is already focused, and then set to tabindex=-1\n // calling blur() will not actually move the focus.\n // To work around this we call focus() on the body instead.\n if (activeElement === document.activeElement) {\n document.body.focus();\n }\n }\n }\n\n /**\n * @param {!Node} node\n */\n }, {\n key: '_visitNode',\n value: function _visitNode(node) {\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n var element = /** @type {!HTMLElement} */node;\n\n // If a descendant inert root becomes un-inert, its descendants will still be inert because of\n // this inert root, so all of its managed nodes need to be adopted by this InertRoot.\n if (element !== this._rootElement && element.hasAttribute('inert')) {\n this._adoptInertRoot(element);\n }\n if (matches.call(element, _focusableElementsString) || element.hasAttribute('tabindex')) {\n this._manageNode(element);\n }\n }\n\n /**\n * Register the given node with this InertRoot and with InertManager.\n * @param {!Node} node\n */\n }, {\n key: '_manageNode',\n value: function _manageNode(node) {\n var inertNode = this._inertManager.register(node, this);\n this._managedNodes.add(inertNode);\n }\n\n /**\n * Unregister the given node with this InertRoot and with InertManager.\n * @param {!Node} node\n */\n }, {\n key: '_unmanageNode',\n value: function _unmanageNode(node) {\n var inertNode = this._inertManager.deregister(node, this);\n if (inertNode) {\n this._managedNodes['delete'](inertNode);\n }\n }\n\n /**\n * Unregister the entire subtree starting at `startNode`.\n * @param {!Node} startNode\n */\n }, {\n key: '_unmanageSubtree',\n value: function _unmanageSubtree(startNode) {\n var _this3 = this;\n composedTreeWalk(startNode, function (node) {\n return _this3._unmanageNode(node);\n });\n }\n\n /**\n * If a descendant node is found with an `inert` attribute, adopt its managed nodes.\n * @param {!HTMLElement} node\n */\n }, {\n key: '_adoptInertRoot',\n value: function _adoptInertRoot(node) {\n var inertSubroot = this._inertManager.getInertRoot(node);\n\n // During initialisation this inert root may not have been registered yet,\n // so register it now if need be.\n if (!inertSubroot) {\n this._inertManager.setInert(node, true);\n inertSubroot = this._inertManager.getInertRoot(node);\n }\n inertSubroot.managedNodes.forEach(function (savedInertNode) {\n this._manageNode(savedInertNode.node);\n }, this);\n }\n\n /**\n * Callback used when mutation observer detects subtree additions, removals, or attribute changes.\n * @param {!Array} records\n * @param {!MutationObserver} self\n */\n }, {\n key: '_onMutation',\n value: function _onMutation(records, self) {\n records.forEach(function (record) {\n var target = /** @type {!HTMLElement} */record.target;\n if (record.type === 'childList') {\n // Manage added nodes\n slice.call(record.addedNodes).forEach(function (node) {\n this._makeSubtreeUnfocusable(node);\n }, this);\n\n // Un-manage removed nodes\n slice.call(record.removedNodes).forEach(function (node) {\n this._unmanageSubtree(node);\n }, this);\n } else if (record.type === 'attributes') {\n if (record.attributeName === 'tabindex') {\n // Re-initialise inert node if tabindex changes\n this._manageNode(target);\n } else if (target !== this._rootElement && record.attributeName === 'inert' && target.hasAttribute('inert')) {\n // If a new inert root is added, adopt its managed nodes and make sure it knows about the\n // already managed nodes from this inert subroot.\n this._adoptInertRoot(target);\n var inertSubroot = this._inertManager.getInertRoot(target);\n this._managedNodes.forEach(function (managedNode) {\n if (target.contains(managedNode.node)) {\n inertSubroot._manageNode(managedNode.node);\n }\n });\n }\n }\n }, this);\n }\n }, {\n key: 'managedNodes',\n get: function get() {\n return new Set(this._managedNodes);\n }\n\n /** @return {boolean} */\n }, {\n key: 'hasSavedAriaHidden',\n get: function get() {\n return this._savedAriaHidden !== null;\n }\n\n /** @param {?string} ariaHidden */\n }, {\n key: 'savedAriaHidden',\n set: function set(ariaHidden) {\n this._savedAriaHidden = ariaHidden;\n }\n\n /** @return {?string} */,\n\n get: function get() {\n return this._savedAriaHidden;\n }\n }]);\n return InertRoot;\n }();\n\n /**\n * `InertNode` initialises and manages a single inert node.\n * A node is inert if it is a descendant of one or more inert root elements.\n *\n * On construction, `InertNode` saves the existing `tabindex` value for the node, if any, and\n * either removes the `tabindex` attribute or sets it to `-1`, depending on whether the element\n * is intrinsically focusable or not.\n *\n * `InertNode` maintains a set of `InertRoot`s which are descendants of this `InertNode`. When an\n * `InertRoot` is destroyed, and calls `InertManager.deregister()`, the `InertManager` notifies the\n * `InertNode` via `removeInertRoot()`, which in turn destroys the `InertNode` if no `InertRoot`s\n * remain in the set. On destruction, `InertNode` reinstates the stored `tabindex` if one exists,\n * or removes the `tabindex` attribute if the element is intrinsically focusable.\n */\n\n var InertNode = function () {\n /**\n * @param {!Node} node A focusable element to be made inert.\n * @param {!InertRoot} inertRoot The inert root element associated with this inert node.\n */\n function InertNode(node, inertRoot) {\n _classCallCheck(this, InertNode);\n\n /** @type {!Node} */\n this._node = node;\n\n /** @type {boolean} */\n this._overrodeFocusMethod = false;\n\n /**\n * @type {!Set} The set of descendant inert roots.\n * If and only if this set becomes empty, this node is no longer inert.\n */\n this._inertRoots = new Set([inertRoot]);\n\n /** @type {?number} */\n this._savedTabIndex = null;\n\n /** @type {boolean} */\n this._destroyed = false;\n\n // Save any prior tabindex info and make this node untabbable\n this.ensureUntabbable();\n }\n\n /**\n * Call this whenever this object is about to become obsolete.\n * This makes the managed node focusable again and deletes all of the previously stored state.\n */\n\n _createClass(InertNode, [{\n key: 'destructor',\n value: function destructor() {\n this._throwIfDestroyed();\n if (this._node && this._node.nodeType === Node.ELEMENT_NODE) {\n var element = /** @type {!HTMLElement} */this._node;\n if (this._savedTabIndex !== null) {\n element.setAttribute('tabindex', this._savedTabIndex);\n } else {\n element.removeAttribute('tabindex');\n }\n\n // Use `delete` to restore native focus method.\n if (this._overrodeFocusMethod) {\n delete element.focus;\n }\n }\n\n // See note in InertRoot.destructor for why we cast these nulls to ANY.\n this._node = /** @type {?} */null;\n this._inertRoots = /** @type {?} */null;\n this._destroyed = true;\n }\n\n /**\n * @type {boolean} Whether this object is obsolete because the managed node is no longer inert.\n * If the object has been destroyed, any attempt to access it will cause an exception.\n */\n }, {\n key: '_throwIfDestroyed',\n /**\n * Throw if user tries to access destroyed InertNode.\n */\n value: function _throwIfDestroyed() {\n if (this.destroyed) {\n throw new Error('Trying to access destroyed InertNode');\n }\n }\n\n /** @return {boolean} */\n }, {\n key: 'ensureUntabbable',\n /** Save the existing tabindex value and make the node untabbable and unfocusable */\n value: function ensureUntabbable() {\n if (this.node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n var element = /** @type {!HTMLElement} */this.node;\n if (matches.call(element, _focusableElementsString)) {\n if ( /** @type {!HTMLElement} */element.tabIndex === -1 && this.hasSavedTabIndex) {\n return;\n }\n if (element.hasAttribute('tabindex')) {\n this._savedTabIndex = /** @type {!HTMLElement} */element.tabIndex;\n }\n element.setAttribute('tabindex', '-1');\n if (element.nodeType === Node.ELEMENT_NODE) {\n element.focus = function () {};\n this._overrodeFocusMethod = true;\n }\n } else if (element.hasAttribute('tabindex')) {\n this._savedTabIndex = /** @type {!HTMLElement} */element.tabIndex;\n element.removeAttribute('tabindex');\n }\n }\n\n /**\n * Add another inert root to this inert node's set of managing inert roots.\n * @param {!InertRoot} inertRoot\n */\n }, {\n key: 'addInertRoot',\n value: function addInertRoot(inertRoot) {\n this._throwIfDestroyed();\n this._inertRoots.add(inertRoot);\n }\n\n /**\n * Remove the given inert root from this inert node's set of managing inert roots.\n * If the set of managing inert roots becomes empty, this node is no longer inert,\n * so the object should be destroyed.\n * @param {!InertRoot} inertRoot\n */\n }, {\n key: 'removeInertRoot',\n value: function removeInertRoot(inertRoot) {\n this._throwIfDestroyed();\n this._inertRoots['delete'](inertRoot);\n if (this._inertRoots.size === 0) {\n this.destructor();\n }\n }\n }, {\n key: 'destroyed',\n get: function get() {\n return /** @type {!InertNode} */this._destroyed;\n }\n }, {\n key: 'hasSavedTabIndex',\n get: function get() {\n return this._savedTabIndex !== null;\n }\n\n /** @return {!Node} */\n }, {\n key: 'node',\n get: function get() {\n this._throwIfDestroyed();\n return this._node;\n }\n\n /** @param {?number} tabIndex */\n }, {\n key: 'savedTabIndex',\n set: function set(tabIndex) {\n this._throwIfDestroyed();\n this._savedTabIndex = tabIndex;\n }\n\n /** @return {?number} */,\n\n get: function get() {\n this._throwIfDestroyed();\n return this._savedTabIndex;\n }\n }]);\n return InertNode;\n }();\n\n /**\n * InertManager is a per-document singleton object which manages all inert roots and nodes.\n *\n * When an element becomes an inert root by having an `inert` attribute set and/or its `inert`\n * property set to `true`, the `setInert` method creates an `InertRoot` object for the element.\n * The `InertRoot` in turn registers itself as managing all of the element's focusable descendant\n * nodes via the `register()` method. The `InertManager` ensures that a single `InertNode` instance\n * is created for each such node, via the `_managedNodes` map.\n */\n\n var InertManager = function () {\n /**\n * @param {!Document} document\n */\n function InertManager(document) {\n _classCallCheck(this, InertManager);\n if (!document) {\n throw new Error('Missing required argument; InertManager needs to wrap a document.');\n }\n\n /** @type {!Document} */\n this._document = document;\n\n /**\n * All managed nodes known to this InertManager. In a map to allow looking up by Node.\n * @type {!Map}\n */\n this._managedNodes = new Map();\n\n /**\n * All inert roots known to this InertManager. In a map to allow looking up by Node.\n * @type {!Map}\n */\n this._inertRoots = new Map();\n\n /**\n * Observer for mutations on `document.body`.\n * @type {!MutationObserver}\n */\n this._observer = new MutationObserver(this._watchForInert.bind(this));\n\n // Add inert style.\n addInertStyle(document.head || document.body || document.documentElement);\n\n // Wait for document to be loaded.\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', this._onDocumentLoaded.bind(this));\n } else {\n this._onDocumentLoaded();\n }\n }\n\n /**\n * Set whether the given element should be an inert root or not.\n * @param {!HTMLElement} root\n * @param {boolean} inert\n */\n\n _createClass(InertManager, [{\n key: 'setInert',\n value: function setInert(root, inert) {\n if (inert) {\n if (this._inertRoots.has(root)) {\n // element is already inert\n return;\n }\n var inertRoot = new InertRoot(root, this);\n root.setAttribute('inert', '');\n this._inertRoots.set(root, inertRoot);\n // If not contained in the document, it must be in a shadowRoot.\n // Ensure inert styles are added there.\n if (!this._document.body.contains(root)) {\n var parent = root.parentNode;\n while (parent) {\n if (parent.nodeType === 11) {\n addInertStyle(parent);\n }\n parent = parent.parentNode;\n }\n }\n } else {\n if (!this._inertRoots.has(root)) {\n // element is already non-inert\n return;\n }\n var _inertRoot = this._inertRoots.get(root);\n _inertRoot.destructor();\n this._inertRoots['delete'](root);\n root.removeAttribute('inert');\n }\n }\n\n /**\n * Get the InertRoot object corresponding to the given inert root element, if any.\n * @param {!Node} element\n * @return {!InertRoot|undefined}\n */\n }, {\n key: 'getInertRoot',\n value: function getInertRoot(element) {\n return this._inertRoots.get(element);\n }\n\n /**\n * Register the given InertRoot as managing the given node.\n * In the case where the node has a previously existing inert root, this inert root will\n * be added to its set of inert roots.\n * @param {!Node} node\n * @param {!InertRoot} inertRoot\n * @return {!InertNode} inertNode\n */\n }, {\n key: 'register',\n value: function register(node, inertRoot) {\n var inertNode = this._managedNodes.get(node);\n if (inertNode !== undefined) {\n // node was already in an inert subtree\n inertNode.addInertRoot(inertRoot);\n } else {\n inertNode = new InertNode(node, inertRoot);\n }\n this._managedNodes.set(node, inertNode);\n return inertNode;\n }\n\n /**\n * De-register the given InertRoot as managing the given inert node.\n * Removes the inert root from the InertNode's set of managing inert roots, and remove the inert\n * node from the InertManager's set of managed nodes if it is destroyed.\n * If the node is not currently managed, this is essentially a no-op.\n * @param {!Node} node\n * @param {!InertRoot} inertRoot\n * @return {?InertNode} The potentially destroyed InertNode associated with this node, if any.\n */\n }, {\n key: 'deregister',\n value: function deregister(node, inertRoot) {\n var inertNode = this._managedNodes.get(node);\n if (!inertNode) {\n return null;\n }\n inertNode.removeInertRoot(inertRoot);\n if (inertNode.destroyed) {\n this._managedNodes['delete'](node);\n }\n return inertNode;\n }\n\n /**\n * Callback used when document has finished loading.\n */\n }, {\n key: '_onDocumentLoaded',\n value: function _onDocumentLoaded() {\n // Find all inert roots in document and make them actually inert.\n var inertElements = slice.call(this._document.querySelectorAll('[inert]'));\n inertElements.forEach(function (inertElement) {\n this.setInert(inertElement, true);\n }, this);\n\n // Comment this out to use programmatic API only.\n this._observer.observe(this._document.body || this._document.documentElement, {\n attributes: true,\n subtree: true,\n childList: true\n });\n }\n\n /**\n * Callback used when mutation observer detects attribute changes.\n * @param {!Array} records\n * @param {!MutationObserver} self\n */\n }, {\n key: '_watchForInert',\n value: function _watchForInert(records, self) {\n var _this = this;\n records.forEach(function (record) {\n switch (record.type) {\n case 'childList':\n slice.call(record.addedNodes).forEach(function (node) {\n if (node.nodeType !== Node.ELEMENT_NODE) {\n return;\n }\n var inertElements = slice.call(node.querySelectorAll('[inert]'));\n if (matches.call(node, '[inert]')) {\n inertElements.unshift(node);\n }\n inertElements.forEach(function (inertElement) {\n this.setInert(inertElement, true);\n }, _this);\n }, _this);\n break;\n case 'attributes':\n if (record.attributeName !== 'inert') {\n return;\n }\n var target = /** @type {!HTMLElement} */record.target;\n var inert = target.hasAttribute('inert');\n _this.setInert(target, inert);\n break;\n }\n }, this);\n }\n }]);\n return InertManager;\n }();\n\n /**\n * Recursively walk the composed tree from |node|.\n * @param {!Node} node\n * @param {(function (!HTMLElement))=} callback Callback to be called for each element traversed,\n * before descending into child nodes.\n * @param {?ShadowRoot=} shadowRootAncestor The nearest ShadowRoot ancestor, if any.\n */\n\n function composedTreeWalk(node, callback, shadowRootAncestor) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n var element = /** @type {!HTMLElement} */node;\n if (callback) {\n callback(element);\n }\n\n // Descend into node:\n // If it has a ShadowRoot, ignore all child elements - these will be picked\n // up by the or elements. Descend straight into the\n // ShadowRoot.\n var shadowRoot = /** @type {!HTMLElement} */element.shadowRoot;\n if (shadowRoot) {\n composedTreeWalk(shadowRoot, callback, shadowRoot);\n return;\n }\n\n // If it is a element, descend into distributed elements - these\n // are elements from outside the shadow root which are rendered inside the\n // shadow DOM.\n if (element.localName == 'content') {\n var content = /** @type {!HTMLContentElement} */element;\n // Verifies if ShadowDom v0 is supported.\n var distributedNodes = content.getDistributedNodes ? content.getDistributedNodes() : [];\n for (var i = 0; i < distributedNodes.length; i++) {\n composedTreeWalk(distributedNodes[i], callback, shadowRootAncestor);\n }\n return;\n }\n\n // If it is a element, descend into assigned nodes - these\n // are elements from outside the shadow root which are rendered inside the\n // shadow DOM.\n if (element.localName == 'slot') {\n var slot = /** @type {!HTMLSlotElement} */element;\n // Verify if ShadowDom v1 is supported.\n var _distributedNodes = slot.assignedNodes ? slot.assignedNodes({\n flatten: true\n }) : [];\n for (var _i = 0; _i < _distributedNodes.length; _i++) {\n composedTreeWalk(_distributedNodes[_i], callback, shadowRootAncestor);\n }\n return;\n }\n }\n\n // If it is neither the parent of a ShadowRoot, a element, a \n // element, nor a element recurse normally.\n var child = node.firstChild;\n while (child != null) {\n composedTreeWalk(child, callback, shadowRootAncestor);\n child = child.nextSibling;\n }\n }\n\n /**\n * Adds a style element to the node containing the inert specific styles\n * @param {!Node} node\n */\n function addInertStyle(node) {\n if (node.querySelector('style#inert-style, link#inert-style')) {\n return;\n }\n var style = document.createElement('style');\n style.setAttribute('id', 'inert-style');\n style.textContent = '\\n' + '[inert] {\\n' + ' pointer-events: none;\\n' + ' cursor: default;\\n' + '}\\n' + '\\n' + '[inert], [inert] * {\\n' + ' -webkit-user-select: none;\\n' + ' -moz-user-select: none;\\n' + ' -ms-user-select: none;\\n' + ' user-select: none;\\n' + '}\\n';\n node.appendChild(style);\n }\n if (!HTMLElement.prototype.hasOwnProperty('inert')) {\n /** @type {!InertManager} */\n var inertManager = new InertManager(document);\n Object.defineProperty(HTMLElement.prototype, 'inert', {\n enumerable: true,\n /** @this {!HTMLElement} */\n get: function get() {\n return this.hasAttribute('inert');\n },\n /** @this {!HTMLElement} */\n set: function set(inert) {\n inertManager.setInert(this, inert);\n }\n });\n }\n})();","import * as React from 'react';\n\nimport Box from '@lce/slice_v2/Layout/Box';\nimport { SxStyleProp } from 'theme-ui';\nimport checkCountryLocale from '@lce/intl-util/src/CheckCountryLocale';\n\nexport interface IScriptProps {\n tilt?: number;\n sx?: SxStyleProp;\n}\n\nconst Script: React.FC = ({ tilt = 3, sx, children }) => {\n const isRussiaSite = checkCountryLocale('ru-ru');\n return(\n \n {children}\n \n );\n};\n\nexport default Script;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nfunction mergeKeys(currNodeKeys, currKeyIndex, nextNodeKeys, nextKeyIndex) {\n var allKeys = [];\n for (var i = 0; i < nextNodeKeys.length; i++) {\n allKeys[i] = nextNodeKeys[i];\n }\n for (var _i = 0; _i < currNodeKeys.length; _i++) {\n if (nextKeyIndex[currNodeKeys[_i]] === undefined) {\n allKeys.push(currNodeKeys[_i]);\n }\n }\n return allKeys.sort(function (a, b) {\n var nextOrderA = nextKeyIndex[a];\n var nextOrderB = nextKeyIndex[b];\n var currOrderA = currKeyIndex[a];\n var currOrderB = currKeyIndex[b];\n if (nextOrderA != null && nextOrderB != null) {\n return nextKeyIndex[a] - nextKeyIndex[b];\n } else if (currOrderA != null && currOrderB != null) {\n return currKeyIndex[a] - currKeyIndex[b];\n } else if (nextOrderA != null) {\n for (var _i2 = 0; _i2 < nextNodeKeys.length; _i2++) {\n var pivot = nextNodeKeys[_i2];\n if (!currKeyIndex[pivot]) {\n continue;\n }\n if (nextOrderA < nextKeyIndex[pivot] && currOrderB > currKeyIndex[pivot]) {\n return -1;\n } else if (nextOrderA > nextKeyIndex[pivot] && currOrderB < currKeyIndex[pivot]) {\n return 1;\n }\n }\n return 1;\n }\n for (var _i3 = 0; _i3 < nextNodeKeys.length; _i3++) {\n var _pivot = nextNodeKeys[_i3];\n if (!currKeyIndex[_pivot]) {\n continue;\n }\n if (nextOrderB < nextKeyIndex[_pivot] && currOrderA > currKeyIndex[_pivot]) {\n return 1;\n } else if (nextOrderB > nextKeyIndex[_pivot] && currOrderA < currKeyIndex[_pivot]) {\n return -1;\n }\n }\n return -1;\n });\n}\nvar _default = mergeKeys;\nexports[\"default\"] = _default;","import { map as _map } from 'lodash';\nimport { ILineObject } from '@lce/intl-types/src/ILineObject';\n\nconst removeLine = (array?: ILineObject[]): string[] => _map(array, object => object.line);\n\nexport default removeLine;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.numeric = numeric;\nfunction numeric(beg, end) {\n var a = +beg;\n var b = +end - a;\n return function (t) {\n return a + b * t;\n };\n}","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAD/CAYAAAAHQ3PUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RTk0NDREMTBBRTc1MTFFQTgxODhFRUFBNUIwM0VDMkYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RTk0NDREMTFBRTc1MTFFQTgxODhFRUFBNUIwM0VDMkYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpFNzYzQ0Q3NUFFNkMxMUVBODE4OEVFQUE1QjAzRUMyRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpFNzYzQ0Q3NkFFNkMxMUVBODE4OEVFQUE1QjAzRUMyRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtROMawAABZwSURBVHja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\"","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n 'use strict';\n\n var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n var ExecutionEnvironment = {\n canUseDOM: canUseDOM,\n canUseWorkers: typeof Worker !== 'undefined',\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n canUseViewport: canUseDOM && !!window.screen\n };\n if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n define(function () {\n return ExecutionEnvironment;\n });\n } else if (typeof module !== 'undefined' && module.exports) {\n module.exports = ExecutionEnvironment;\n } else {\n window.ExecutionEnvironment = ExecutionEnvironment;\n }\n})();"],"sourceRoot":""}