{"version":3,"sources":["webpack:///./node_modules/react-move/core/mergeKeys.js","webpack:///./node_modules/react-move/NodeGroup/index.js","webpack:///./node_modules/exenv/index.js","webpack:///./node_modules/react-move/Animate/index.js","webpack:///./src/components/StaffItem/index.js","webpack:///./src/pages/contact.js","webpack:///./node_modules/react-move/utils.js","webpack:///./node_modules/d3-ease/src/circle.js","webpack:///./node_modules/d3-ease/src/linear.js","webpack:///./node_modules/d3-ease/src/quad.js","webpack:///./node_modules/d3-ease/src/cubic.js","webpack:///./node_modules/d3-ease/src/poly.js","webpack:///./node_modules/d3-ease/src/sin.js","webpack:///./node_modules/d3-ease/src/exp.js","webpack:///./node_modules/d3-ease/src/bounce.js","webpack:///./node_modules/d3-ease/src/back.js","webpack:///./node_modules/d3-ease/src/elastic.js","webpack:///./node_modules/nuka-carousel/es/utilities/style-utilities.js","webpack:///./node_modules/nuka-carousel/es/default-controls.js","webpack:///./node_modules/nuka-carousel/es/utilities/utilities.js","webpack:///./node_modules/nuka-carousel/es/transitions/scroll-transition.js","webpack:///./node_modules/nuka-carousel/es/transitions/fade-transition.js","webpack:///./node_modules/nuka-carousel/es/transitions/3d-scroll-transition.js","webpack:///./node_modules/nuka-carousel/es/all-transitions.js","webpack:///./node_modules/nuka-carousel/es/announce-slide.js","webpack:///./node_modules/nuka-carousel/es/utilities/bootstrapping-utilities.js","webpack:///./node_modules/nuka-carousel/es/index.js","webpack:///./src/slices/HeroImage/index.js","webpack:///./src/slices/HeroVideo/index.js","webpack:///./src/components/HeroCarousel/index.js","webpack:///./node_modules/react-move/core/types.js","webpack:///./node_modules/d3-timer/src/timer.js","webpack:///./node_modules/d3-timer/src/timeout.js","webpack:///./node_modules/kapellmeister/es/utils.js","webpack:///./node_modules/kapellmeister/es/Events.js","webpack:///./node_modules/kapellmeister/es/BaseNode.js","webpack:///./node_modules/d3-timer/src/interval.js","webpack:///./node_modules/kapellmeister/es/index.js","webpack:///./src/components/SliceZone/index.js"],"names":["Object","defineProperty","exports","value","_default","currNodeKeys","currKeyIndex","nextNodeKeys","nextKeyIndex","allKeys","i","length","_i","undefined","push","sort","a","b","nextOrderA","nextOrderB","currOrderA","currOrderB","_i2","pivot","_i3","_pivot","_react","obj","__esModule","_typeof","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_interopRequireWildcard","_kapellmeister","_interopRequireDefault","_mergeKeys","_types","_utils","WeakMap","Symbol","iterator","constructor","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","descriptor","enumerable","configurable","writable","_possibleConstructorReturn","self","_assertThisInitialized","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","_inherits","subClass","superClass","create","_setPrototypeOf","p","_defineProperty","NodeGroup","_Component","_this","this","_this$state","state","nodeKeys","nodeHash","unmounting","pending","k","n","isTransitioning","type","LEAVE","interval","stop","setState","nodes","map","interpolation","Node","_BaseNode","data","_this2","ENTER","BaseNode","protoProps","staticProps","nextProps","prevState","keyAccessor","start","enter","update","leave","keyIndex","d","node","_k","UPDATE","mergedNodeKeys","_k2","_n","_d","transition","startInterval","prevProps","restart","animate","_this$state2","forEach","stopTransitions","renderedChildren","children","Children","only","Component","propTypes","defaultProps","numeric","canUseDOM","window","document","createElement","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","_NodeGroup","Animate","apply","arguments","_this$props","show","Root","styled","div","Inner","theme","palette","colors","grey","Thumbnail","black","Content","spacing","gutter","white","Title","h3","rem","breakpoint","Details","h4","Position","span","primary","Phone","Email","StaffItem","to","image","Image","fluid","imageSharp","childImageSharp","fallback","alt","RichText","asText","name","position","phone","href","email","Container","grid","maxWidth","Intro","Col","Section","Row","Staff","GridItem","query","App","page","prismic","contact","Layout","SEO","title","seo_meta_title","description","seo_description","hero_items","HeroCarousel","items","Hero","heading","featured_imageSharp","pageTitle","content","render","SliceZone","slices","body","staff_items","staff","beg","end","t","circleIn","Math","sqrt","circleOut","circleInOut","linear","quadIn","quadOut","quadInOut","cubicIn","cubicOut","cubicInOut","polyIn","custom","e","pow","exponent","polyOut","polyInOut","pi","PI","halfPi","sinIn","cos","sinOut","sin","sinInOut","expIn","expOut","expInOut","b0","bounceIn","bounceOut","bounceInOut","backIn","s","overshoot","backOut","backInOut","tau","elasticIn","asin","max","amplitude","period","elasticOut","elasticInOut","childCount","count","listWidth","slideWidth","spacingOffset","cellSpacing","calculatedHeight","vertical","slideHeight","heightMode","getAlignmentOffset","slideIndex","config","offset","cellAlign","frameWidth","getDecoratorStyles","top","left","transform","WebkitTransform","msTransform","right","bottom","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","_objectSpread","source","getOwnPropertyDescriptors","defineProperties","_createClass","defaultButtonStyles","disabled","border","background","color","padding","textTransform","opacity","cursor","_React$Component","PreviousButton","handleClick","bind","event","preventDefault","previousSlide","_this$props$defaultCo","defaultControlsConfig","prevButtonClassName","_this$props$defaultCo2","prevButtonStyle","prevButtonText","currentSlide","wrapAround","slideCount","className","style","onClick","_React$Component2","NextButton","nextButtonDisable","nextButtonDisabled","nextSlide","params","positionValue","slidesToShow","buttonDisabled","alignmentOffset","relativePosition","width","endPosition","abs","_this$props$defaultCo3","nextButtonClassName","_this$props$defaultCo4","nextButtonStyle","nextButtonText","_React$Component3","PagingDots","slidesToScroll","scrollMode","dotIndexes","lastDotIndex","floor","display","margin","listStyleType","active","fill","_this3","indexes","getDotIndexes","_this$props$defaultCo5","pagingDotsContainerClassName","pagingDotsClassName","_this$props$defaultCo6","pagingDotsStyle","getListStyles","index","isActive","getButtonStyles","goToSlide","concat","height","cx","cy","r","addEvent","elem","eventHandle","removeEvent","removeEventListener","detachEvent","getPropsByTransitionMode","transitionMode","updatedDefaults","parseInt","swipeDirection","x1","x2","y1","y2","xDist","yDist","atan2","swipeAngle","round","calcSomeInitialState","_getPropsByTransition","initialSlideHeight","initialSlideWidth","frameHeight","handleSelfFocus","currentTarget","focus","ScrollTransition","currentSlideIndex","animation","slideOffset","targetPosition","startSlideIndex","min","slidesOutOfView","ceil","slidesOutOfViewBefore","slidesOutOfViewAfter","isWrapping","direction","getSlideDirection","isWrappingAround","temp","slidesBefore","slidesAfter","distanceFromStart","child","visible","getSlideStyles","tabIndex","getSlideTargetPosition","transformScale","zoomScale","boxSizing","marginBottom","marginLeft","marginRight","marginTop","MozBoxSizing","verticalAlign","styles","deltaX","deltaY","dragging","touchAction","formatChildren","oneOf","string","number","bool","oneOfType","FadeTransition","fadeFromSlide","fadeFrom","fadeTo","fade","fadeToPosition","distance","visibility","opacityAndLeftMap","getSlideOpacityAndLeftMap","getContainerStyles","ScrollTransition3D","relativeDistanceToCurrentSlide","getRelativeDistanceToCurrentSlide","getZoomOffsetFor","getDistanceToCurrentSlide","current","relativeDistanceToCurrent","referenceIndex","_this$props2","getDistance","_this$props3","distanceByLeftEge","distanceByRightEdge","absoluteDirectDistance","opacityScale","_this$props4","getTransformScale","getOpacityScale","zIndex","slideListMargin","scroll","scroll3d","_ref","message","overflow","_toConsumableArray","arr","Array","isArray","arr2","_arrayWithoutHoles","iter","toString","from","_iterableToArray","_nonIterableSpread","toArray","getMax","getHeightOfSlide","slide","reduce","totalHeight","offsetHeight","findMaxHeightSlideInRange","slides","maxHeight","findCurrentHeightSlide","alignment","startIndex","lastIndex","_extends","assign","Carousel","displayName","clickDisabled","timers","touchObject","controlsMap","funcName","keyCodeConfig","firstSlide","lastSlide","pause","childNodesMutationObs","easing","disableAnimation","hasInteraction","resetWrapAroundPosition","wrapToIndex","hasFocus","autoplayIterator","calcSlideHeightAndWidth","getChildNodes","getMouseEvents","getOffsetDeltas","getTargetLeft","getTouchEvents","handleFocus","handleBlur","handleKeyPress","handleMouseOut","handleMouseOver","handleSwipe","onResize","onVisibilityChange","renderControls","resetAutoplay","setDimensions","setLeft","setSlideHeightAndWidth","startAutoplay","stopAutoplay","establishChildNodesMutationObserver","mounted","bindEvents","autoplay","keyCodeMap","getKeyCodeMap","getlockScrollEvents","lockTouchScroll","initializeHeight","delay","setTimeout","slideChanged","heightModeChanged","getCurrentChildNodeImg","prevSlideCount","slideCountChanged","heightMismatches","curr","next","shouldUpdate","unbindEvents","disconnectChildNodesMutationObserver","clearTimeout","unlockTouchScroll","childNodes","MutationObserver","observeChildNodeMutation","observe","attributeFilter","attributeOldValue","attributes","characterData","characterDataOldValue","childList","subtree","_childNodesArray","disconnect","_this4","blockEvent","startX","touches","pageX","startY","pageY","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","setInterval","autoplayInterval","clearInterval","touchOffset","tx","ty","_this$getOffsetDeltas","lastSlideLimit","offsetTy","offsetTx","_this8","beforeSlide","afterSlide","speed","endSlide","targetSlideIndex","swipeDistance","leftAlignSlideIndex","nextSlideIndex","_this$state3","hidden","calculateSlideHeight","frame","offsetWidth","_this$calcSlideHeight2","stateCb","_getPropsByTransition2","_this$calcSlideHeight3","_getPropsByTransition3","currentChildNode","getElementsByTagName","newLeft","newTop","_this9","withoutControls","func","controlChildren","toLowerCase","containerClassName","join","trim","getControlsContainerStyles","propVertical","stateFrameWidth","propWidth","propHeight","_this10","_this$state4","frameOverflow","framePadding","renderAnnounceSlideMessage","duration","frameStyles","touchEvents","mouseEvents","TransitionControl","validChildren","onFocus","onBlur","ref","innerRef","onClickCapture","_this10$getOffsetDelt","disableEdgeSwiping","isEdgeSwiping","timing","ease","events","_ref2","cloneElement","autoGenerateStyleTag","dangerouslySetInnerHTML","__html","shape","elementType","exact","arrayOf","renderBottomCenterControls","renderBottomLeftControls","renderBottomRightControls","renderCenterCenterControls","renderCenterLeftControls","renderCenterRightControls","renderTopCenterControls","renderTopLeftControls","renderTopRightControls","HeroImage","preHeading","pre_title","actions","link","Button","variant","link_label","big","text","linkResolver","HeroVideo","videoProps","video","src","url","poster","slice","taskHead","taskTail","timeout","clockLast","clockNow","clockSkew","clock","performance","now","Date","setFrame","requestAnimationFrame","f","clearNow","Timer","_call","_time","_next","timer","callback","time","wake","timerFlush","t0","t2","t1","Infinity","sleep","nap","poke","elapsed","transitionId","extend","timingDefaults","Events","interrupt","Error","called","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","done","item","parse","err","transitionData","transitions","clone","stateKey","_this$setState","prop","tweens","attr","val","getTween","_objectSpread2","_objectSpread3","_objectSpread4","_ref3","_this$setState2","_this$setState3","status","endValue","nameSpace","begValue","getInterpolator","_this2$setState","_objectSpread5","_ref4","init","id","tid","tick","j","res","_","total"],"mappings":"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","file":"component---src-pages-contact-js-4ce984a764646830537c.js","sourcesContent":["\"use strict\";\n\nrequire(\"core-js/modules/es6.array.sort\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction mergeKeys(currNodeKeys, currKeyIndex, nextNodeKeys, nextKeyIndex) {\n var allKeys = [];\n\n for (var i = 0; i < nextNodeKeys.length; i++) {\n allKeys[i] = nextNodeKeys[i];\n }\n\n for (var _i = 0; _i < currNodeKeys.length; _i++) {\n if (nextKeyIndex[currNodeKeys[_i]] === undefined) {\n allKeys.push(currNodeKeys[_i]);\n }\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\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\n if (!currKeyIndex[pivot]) {\n continue;\n }\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\n return 1;\n }\n\n for (var _i3 = 0; _i3 < nextNodeKeys.length; _i3++) {\n var _pivot = nextNodeKeys[_i3];\n\n if (!currKeyIndex[_pivot]) {\n continue;\n }\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\n return -1;\n });\n}\n\nvar _default = mergeKeys;\nexports[\"default\"] = _default;","\"use strict\";\n\nrequire(\"core-js/modules/es6.array.for-each\");\n\nrequire(\"core-js/modules/es6.array.map\");\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es7.symbol.async-iterator\");\n\nrequire(\"core-js/modules/es6.symbol\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.string.iterator\");\n\nrequire(\"core-js/modules/es6.weak-map\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _kapellmeister = require(\"kapellmeister\");\n\nvar _mergeKeys = _interopRequireDefault(require(\"../core/mergeKeys\"));\n\nvar _types = require(\"../core/types\");\n\nvar _utils = require(\"../utils\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction _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\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar NodeGroup = function (_Component) {\n _inherits(NodeGroup, _Component);\n\n function NodeGroup(props) {\n var _this;\n\n _classCallCheck(this, NodeGroup);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeGroup).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"animate\", function () {\n var _this$state = _this.state,\n nodeKeys = _this$state.nodeKeys,\n nodeHash = _this$state.nodeHash;\n\n if (_this.unmounting) {\n return;\n }\n\n var pending = false;\n var nextNodeKeys = [];\n var length = nodeKeys.length;\n\n for (var i = 0; i < length; i++) {\n var k = nodeKeys[i];\n var n = nodeHash[k];\n var isTransitioning = n.isTransitioning();\n\n if (isTransitioning) {\n pending = true;\n }\n\n if (n.type === _types.LEAVE && !isTransitioning) {\n delete nodeHash[k];\n } else {\n nextNodeKeys.push(k);\n }\n }\n\n if (!pending) {\n _this.interval.stop();\n }\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\n _defineProperty(_assertThisInitialized(_this), \"interval\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"unmounting\", false);\n\n var interpolation = props.interpolation;\n\n var Node = function (_BaseNode) {\n _inherits(Node, _BaseNode);\n\n function Node(key, data) {\n var _this2;\n\n _classCallCheck(this, Node);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(Node).call(this));\n\n _defineProperty(_assertThisInitialized(_this2), \"getInterpolator\", interpolation);\n\n _this2.key = key;\n _this2.data = data;\n _this2.type = _types.ENTER;\n return _this2;\n }\n\n return Node;\n }(_kapellmeister.BaseNode);\n\n _this.state = {\n Node: Node,\n nodeKeys: [],\n nodeHash: {},\n nodes: [],\n data: null\n };\n return _this;\n }\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\n if (this.interval) {\n this.interval.stop();\n }\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\n for (var i = 0; i < nodeKeys.length; i++) {\n keyIndex[nodeKeys[i]] = i;\n }\n\n var nextKeyIndex = {};\n var nextNodeKeys = [];\n\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\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\n for (var _i2 = 0; _i2 < nodeKeys.length; _i2++) {\n var _k = nodeKeys[_i2];\n var n = nodeHash[_k];\n\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\n var mergedNodeKeys = (0, _mergeKeys[\"default\"])(nodeKeys, keyIndex, nextNodeKeys, nextKeyIndex);\n\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\n if (_n.type === _types.ENTER) {\n _n.setState(start(_d, nextKeyIndex[_k2]));\n\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\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\n return null;\n }\n }]);\n\n return NodeGroup;\n}(_react.Component);\n\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;","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n var ExecutionEnvironment = {\n canUseDOM: canUseDOM,\n canUseWorkers: typeof Worker !== 'undefined',\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n canUseViewport: canUseDOM && !!window.screen\n };\n\n if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n define(function () {\n return ExecutionEnvironment;\n });\n } else if (typeof module !== 'undefined' && module.exports) {\n module.exports = ExecutionEnvironment;\n } else {\n window.ExecutionEnvironment = ExecutionEnvironment;\n }\n})();","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.create\");\n\nrequire(\"core-js/modules/es6.object.set-prototype-of\");\n\nrequire(\"core-js/modules/es7.symbol.async-iterator\");\n\nrequire(\"core-js/modules/es6.symbol\");\n\nrequire(\"core-js/modules/web.dom.iterable\");\n\nrequire(\"core-js/modules/es6.array.iterator\");\n\nrequire(\"core-js/modules/es6.object.to-string\");\n\nrequire(\"core-js/modules/es6.string.iterator\");\n\nrequire(\"core-js/modules/es6.weak-map\");\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _NodeGroup = _interopRequireDefault(require(\"../NodeGroup\"));\n\nvar _utils = require(\"../utils\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n var cache = new WeakMap();\n\n _getRequireWildcardCache = function _getRequireWildcardCache() {\n return cache;\n };\n\n return cache;\n}\n\nfunction _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache();\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction _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\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nvar keyAccessor = function keyAccessor() {\n return '$$key$$';\n};\n\nvar Animate = function (_Component) {\n _inherits(Animate, _Component);\n\n function Animate() {\n _classCallCheck(this, Animate);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Animate).apply(this, arguments));\n }\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\n var renderedChildren = children(nodes[0].state);\n return renderedChildren && _react[\"default\"].Children.only(renderedChildren);\n });\n }\n }]);\n\n return Animate;\n}(_react.Component);\n\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;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { rem } from 'polished';\nimport styled from 'styled-components';\nimport { RichText } from 'prismic-reactjs';\n\nimport Image from '../Image';\n\nimport { breakpoint } from '../../theme';\n\nconst Root = styled.div`\n width: 100%;\n`;\n\nconst Inner = styled.div`\n display: block;\n width: 100%;\n background-color: ${(props) => props.theme.palette.colors.grey};\n text-align: left;\n`;\n\nconst Thumbnail = styled.div`\n display: block;\n width: 100%;\n background-color: ${(props) => props.theme.palette.colors.black};\n`;\n\nconst Content = styled.div`\n display: block;\n padding: ${(props) => props.theme.spacing.gutter};\n width: 100%;\n color: ${(props) => props.theme.palette.colors.white};\n`;\n\nconst Title = styled.h3`\n display: block;\n width: 100%;\n margin: 0;\n font-size: ${rem(20)};\n\n ${breakpoint('large')} {\n font-size: ${rem(22)};\n }\n`;\n\nconst Details = styled.h4`\n display: block;\n width: 100%;\n margin: 0;\n font-size: ${rem(15)};\n\n ${breakpoint('large')} {\n font-size: ${rem(16)};\n }\n`;\n\nconst Position = styled.span`\n display: block;\n color: ${(props) => props.theme.palette.colors.primary};\n margin-top: 0.2rem;\n margin-bottom: 0.65rem;\n`;\n\nconst Phone = styled.a`\n display: block;\n margin-bottom: 0.25rem;\n color: ${(props) => props.theme.palette.colors.white};\n`;\n\nconst Email = styled.a`\n display: block;\n margin-bottom: 0.25rem;\n color: ${(props) => props.theme.palette.colors.white};\n`;\n\nfunction StaffItem({ data }) {\n return (\n \n \n {data.image && (\n \n \n \n )}\n \n {RichText.asText(data.name)}\n
\n {data.position && {data.position}}\n {data.phone && (\n {data.phone}\n )}\n {data.email && (\n {data.email}\n )}\n
\n
\n
\n
\n );\n}\n\nStaffItem.propTypes = {\n data: PropTypes.oneOfType([PropTypes.object]).isRequired,\n};\n\nexport default StaffItem;\n","/* eslint-disable no-underscore-dangle */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport { rem } from 'polished';\nimport { graphql } from 'gatsby';\n\nimport { RichText } from 'prismic-reactjs';\n\nimport SEO from '../components/SEO';\nimport Layout from '../components/Layout';\nimport Hero from '../components/Hero';\nimport Row from '../components/Row';\nimport Col from '../components/Col';\nimport StaffItem from '../components/StaffItem';\nimport SliceZone from '../components/SliceZone';\nimport HeroCarousel from '../components/HeroCarousel';\n\nimport { breakpoint } from '../theme';\n\nconst Container = styled.div`\n max-width: ${(props) => props.theme.grid.maxWidth};\n margin: ${rem(50)} auto 0;\n padding-bottom: ${rem(110)};\n`;\n\nconst Intro = styled(Col)`\n text-align: center;\n margin: ${rem(50)} auto ${rem(75)};\n width: 100%;\n max-width: ${rem(500)};\n font-size: ${rem(18)};\n\n ${breakpoint('mediumlarge')} {\n max-width: ${rem(680)};\n font-size: ${rem(20)};\n }\n\n ${breakpoint('large')} {\n margin-top: ${rem(70)};\n }\n`;\n\nconst Section = styled(Row)`\n margin-bottom: ${rem(40)};\n justify-content: center;\n\n ${breakpoint('large')} {\n margin-bottom: ${rem(50)};\n }\n`;\n\nconst Staff = styled(Section)`\n margin-top: ${rem(40)};\n\n ${breakpoint('large')} {\n margin-top: ${rem(50)};\n }\n`;\n\nconst GridItem = styled(Col)`\n width: 100%;\n margin-bottom: ${rem(28)};\n\n ${breakpoint('medium')} {\n width: 50%;\n }\n\n ${breakpoint('mediumlarge')} {\n width: 33.33%;\n }\n`;\n\nfunction App({ data }) {\n const { contact: page } = data.prismic;\n if (!page) {\n return null;\n }\n\n return (\n \n \n\n {page.hero_items && page.hero_items.length ? (\n \n ) : (\n \n )}\n\n {page.content && (\n \n \n \n \n \n )}\n\n \n \n \n \n \n \n {page.staff_items && page.staff_items.length && (\n \n {page.staff_items.map(({ primary: staff }) => (\n \n \n \n ))}\n \n )}\n \n \n );\n}\n\nApp.propTypes = {\n data: PropTypes.objectOf(PropTypes.object).isRequired,\n};\n\nexport const query = graphql`\n query ContactQuery {\n prismic {\n contact(lang: \"en-gb\", uid: \"contact\") {\n _meta {\n uid\n }\n title\n body {\n ... on PRISMIC_ContactBodyCode_block {\n type\n label\n primary {\n codeBlock\n }\n }\n ... on PRISMIC_ContactBodyQuote {\n type\n label\n primary {\n quote\n }\n }\n ... on PRISMIC_ContactBodyText {\n type\n label\n primary {\n text\n }\n }\n ... on PRISMIC_ContactBodyImage {\n type\n label\n primary {\n image\n imageSharp {\n childImageSharp {\n fluid(maxWidth: 1200, quality: 75) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n }\n }\n }\n seo_description\n seo_meta_title\n featured_image\n featured_imageSharp {\n childImageSharp {\n fluid(maxWidth: 1600, quality: 75) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n staff_items {\n ... on PRISMIC_ContactStaff_itemsStaff {\n type\n label\n primary {\n email\n image\n imageSharp {\n childImageSharp {\n fluid(maxWidth: 700, maxHeight: 700, quality: 75) {\n ...GatsbyImageSharpFluid_withWebp\n }\n }\n }\n name\n phone\n position\n }\n }\n }\n }\n }\n }\n`;\n\nexport default App;\n","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.numeric = numeric;\n\nfunction numeric(beg, end) {\n var a = +beg;\n var b = +end - a;\n return function (t) {\n return a + b * t;\n };\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\n function polyIn(t) {\n return Math.pow(t, e);\n }\n\n polyIn.exponent = custom;\n return polyIn;\n}(exponent);\nexport var polyOut = function custom(e) {\n e = +e;\n\n function polyOut(t) {\n return 1 - Math.pow(1 - t, e);\n }\n\n polyOut.exponent = custom;\n return polyOut;\n}(exponent);\nexport var polyInOut = function custom(e) {\n e = +e;\n\n function polyInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;\n }\n\n polyInOut.exponent = custom;\n return polyInOut;\n}(exponent);","var pi = Math.PI,\n halfPi = pi / 2;\nexport function sinIn(t) {\n return 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}","export function expIn(t) {\n return Math.pow(2, 10 * t - 10);\n}\nexport function expOut(t) {\n return 1 - Math.pow(2, -10 * t);\n}\nexport function expInOut(t) {\n return ((t *= 2) <= 1 ? Math.pow(2, 10 * t - 10) : 2 - Math.pow(2, 10 - 10 * t)) / 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\n function backIn(t) {\n return t * t * ((s + 1) * t - s);\n }\n\n backIn.overshoot = custom;\n return backIn;\n}(overshoot);\nexport var backOut = function custom(s) {\n s = +s;\n\n function backOut(t) {\n return --t * t * ((s + 1) * t + s) + 1;\n }\n\n backOut.overshoot = custom;\n return backOut;\n}(overshoot);\nexport var backInOut = function custom(s) {\n s = +s;\n\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\n backInOut.overshoot = custom;\n return backInOut;\n}(overshoot);","var 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\n function elasticIn(t) {\n return a * Math.pow(2, 10 * --t) * Math.sin((s - t) / p);\n }\n\n elasticIn.amplitude = function (a) {\n return custom(a, p * tau);\n };\n\n elasticIn.period = function (p) {\n return custom(a, p);\n };\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\n function elasticOut(t) {\n return 1 - a * Math.pow(2, -10 * (t = +t)) * Math.sin((t + s) / p);\n }\n\n elasticOut.amplitude = function (a) {\n return custom(a, p * tau);\n };\n\n elasticOut.period = function (p) {\n return custom(a, p);\n };\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\n function elasticInOut(t) {\n return ((t = t * 2 - 1) < 0 ? a * Math.pow(2, 10 * t) * Math.sin((s - t) / p) : 2 - a * Math.pow(2, -10 * t) * Math.sin((s + t) / p)) / 2;\n }\n\n elasticInOut.amplitude = function (a) {\n return custom(a, p * tau);\n };\n\n elasticInOut.period = function (p) {\n return custom(a, p);\n };\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\n switch (config.cellAlign) {\n case 'left':\n {\n offset = 0;\n offset -= config.cellSpacing * slideIndex;\n break;\n }\n\n case 'center':\n {\n offset = (config.frameWidth - config.slideWidth) / 2;\n offset -= config.cellSpacing * slideIndex;\n break;\n }\n\n case 'right':\n {\n offset = config.frameWidth - config.slideWidth;\n offset -= config.cellSpacing * slideIndex;\n break;\n }\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\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\n case 'TopRight':\n {\n return {\n position: 'absolute',\n top: 0,\n right: 0\n };\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\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\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\n case 'BottomLeft':\n {\n return {\n position: 'absolute',\n bottom: 0,\n left: 0\n };\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\n case 'BottomRight':\n {\n return {\n position: 'absolute',\n bottom: 0,\n right: 0\n };\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 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};","import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.function.bind\";\nimport \"core-js/modules/es6.object.create\";\nimport \"core-js/modules/es6.object.set-prototype-of\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es6.object.define-properties\";\nimport \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\n\nfunction _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\n return _typeof(obj);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\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\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\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\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React from 'react';\nimport { getAlignmentOffset } from './utilities/style-utilities';\n\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};\n\nexport var PreviousButton = /*#__PURE__*/function (_React$Component) {\n _inherits(PreviousButton, _React$Component);\n\n function PreviousButton() {\n var _this;\n\n _classCallCheck(this, PreviousButton);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(PreviousButton).apply(this, arguments));\n _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(PreviousButton, [{\n key: \"handleClick\",\n value: function handleClick(event) {\n event.preventDefault();\n this.props.previousSlide();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props$defaultCo = this.props.defaultControlsConfig,\n prevButtonClassName = _this$props$defaultCo.prevButtonClassName,\n _this$props$defaultCo2 = _this$props$defaultCo.prevButtonStyle,\n prevButtonStyle = _this$props$defaultCo2 === void 0 ? {} : _this$props$defaultCo2,\n prevButtonText = _this$props$defaultCo.prevButtonText;\n var disabled = this.props.currentSlide === 0 && !this.props.wrapAround || this.props.slideCount === 0;\n return React.createElement(\"button\", {\n className: prevButtonClassName,\n style: _objectSpread({}, defaultButtonStyles(disabled), {}, prevButtonStyle),\n disabled: disabled,\n onClick: this.handleClick,\n \"aria-label\": \"previous\",\n type: \"button\"\n }, prevButtonText || 'Prev');\n }\n }]);\n\n return PreviousButton;\n}(React.Component);\nexport var NextButton = /*#__PURE__*/function (_React$Component2) {\n _inherits(NextButton, _React$Component2);\n\n function NextButton() {\n var _this2;\n\n _classCallCheck(this, NextButton);\n\n _this2 = _possibleConstructorReturn(this, _getPrototypeOf(NextButton).apply(this, arguments));\n _this2.handleClick = _this2.handleClick.bind(_assertThisInitialized(_this2));\n _this2.nextButtonDisable = _this2.nextButtonDisabled.bind(_assertThisInitialized(_this2));\n return _this2;\n }\n\n _createClass(NextButton, [{\n key: \"handleClick\",\n value: function handleClick(event) {\n event.preventDefault();\n this.props.nextSlide();\n }\n }, {\n key: \"nextButtonDisabled\",\n value: function nextButtonDisabled(params) {\n var cellAlign = params.cellAlign,\n cellSpacing = params.cellSpacing,\n currentSlide = params.currentSlide,\n frameWidth = params.frameWidth,\n positionValue = params.positionValue,\n slideCount = params.slideCount,\n slidesToShow = params.slidesToShow,\n slideWidth = params.slideWidth,\n wrapAround = params.wrapAround;\n var buttonDisabled = false;\n\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 }\n\n return buttonDisabled;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n cellAlign = _this$props.cellAlign,\n cellSpacing = _this$props.cellSpacing,\n currentSlide = _this$props.currentSlide,\n frameWidth = _this$props.frameWidth,\n left = _this$props.left,\n slideCount = _this$props.slideCount,\n slidesToShow = _this$props.slidesToShow,\n slideWidth = _this$props.slideWidth,\n top = _this$props.top,\n vertical = _this$props.vertical,\n wrapAround = _this$props.wrapAround;\n var _this$props$defaultCo3 = this.props.defaultControlsConfig,\n nextButtonClassName = _this$props$defaultCo3.nextButtonClassName,\n _this$props$defaultCo4 = _this$props$defaultCo3.nextButtonStyle,\n nextButtonStyle = _this$props$defaultCo4 === void 0 ? {} : _this$props$defaultCo4,\n nextButtonText = _this$props$defaultCo3.nextButtonText;\n var disabled = this.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 });\n return React.createElement(\"button\", {\n className: nextButtonClassName,\n style: _objectSpread({}, defaultButtonStyles(disabled), {}, nextButtonStyle),\n disabled: disabled,\n onClick: this.handleClick,\n \"aria-label\": \"next\",\n type: \"button\"\n }, nextButtonText || 'Next');\n }\n }]);\n\n return NextButton;\n}(React.Component);\nexport var PagingDots = /*#__PURE__*/function (_React$Component3) {\n _inherits(PagingDots, _React$Component3);\n\n function PagingDots() {\n _classCallCheck(this, PagingDots);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(PagingDots).apply(this, arguments));\n }\n\n _createClass(PagingDots, [{\n key: \"getDotIndexes\",\n value: function getDotIndexes(slideCount, slidesToScroll, slidesToShow, cellAlign, scrollMode) {\n var dotIndexes = [];\n var lastDotIndex = slideCount - slidesToShow;\n\n switch (cellAlign) {\n case 'center':\n case 'right':\n lastDotIndex += slidesToShow - 1;\n break;\n }\n\n if (lastDotIndex < 0) {\n return [0];\n }\n\n for (var i = 0; i < lastDotIndex; i += slidesToScroll) {\n dotIndexes.push(i);\n }\n\n if (cellAlign === 'left' && scrollMode === 'page') {\n lastDotIndex = Math.floor(slideCount - (slideCount % slidesToShow || slidesToShow));\n }\n\n dotIndexes.push(lastDotIndex);\n return dotIndexes;\n }\n }, {\n key: \"getListStyles\",\n value: 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 }, {\n key: \"getButtonStyles\",\n value: 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 }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var indexes = this.getDotIndexes(this.props.slideCount, this.props.slidesToScroll, this.props.slidesToShow, this.props.cellAlign, this.props.scrollMode);\n var _this$props$defaultCo5 = this.props.defaultControlsConfig,\n pagingDotsContainerClassName = _this$props$defaultCo5.pagingDotsContainerClassName,\n pagingDotsClassName = _this$props$defaultCo5.pagingDotsClassName,\n _this$props$defaultCo6 = _this$props$defaultCo5.pagingDotsStyle,\n pagingDotsStyle = _this$props$defaultCo6 === void 0 ? {} : _this$props$defaultCo6;\n return React.createElement(\"ul\", {\n className: pagingDotsContainerClassName,\n style: this.getListStyles()\n }, indexes.map(function (index) {\n var isActive = _this3.props.currentSlide === index;\n return React.createElement(\"li\", {\n key: index,\n className: isActive ? 'paging-item active' : 'paging-item'\n }, React.createElement(\"button\", {\n className: pagingDotsClassName,\n type: \"button\",\n style: _objectSpread({}, _this3.getButtonStyles(isActive), {}, pagingDotsStyle),\n onClick: _this3.props.goToSlide.bind(null, index),\n \"aria-label\": \"slide \".concat(index + 1, \" bullet\")\n }, React.createElement(\"svg\", {\n className: \"paging-dot\",\n width: \"6\",\n height: \"6\"\n }, React.createElement(\"circle\", {\n cx: \"3\",\n cy: \"3\",\n r: \"3\"\n }))));\n }));\n }\n }]);\n\n return PagingDots;\n}(React.Component);","import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es6.object.define-properties\";\nimport \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/es6.symbol\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.keys\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\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\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\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\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nimport React from 'react';\nexport var addEvent = function addEvent(elem, type, eventHandle) {\n if (elem === null || typeof elem === 'undefined') {\n return;\n }\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\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\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 React.cloneElement(child, _objectSpread({}, child.props, {}, ariaProps));\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 React.cloneElement(child, _objectSpread({}, child.props, {}, ariaProps));\n });\n }\n};\nexport var getPropsByTransitionMode = function getPropsByTransitionMode(props, keys) {\n var slidesToShow = props.slidesToShow,\n transitionMode = props.transitionMode;\n var updatedDefaults = {};\n\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\n case 'slidesToScroll':\n updatedDefaults[key] = Math.max(parseInt(slidesToShow), 1);\n break;\n\n case 'cellAlign':\n updatedDefaults[key] = 'left';\n break;\n\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\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\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n\n if (swipeAngle <= 45 && swipeAngle >= 0) {\n return 1;\n }\n\n if (swipeAngle <= 360 && swipeAngle >= 315) {\n return 1;\n }\n\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return -1;\n }\n\n if (vertical === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return 1;\n } else {\n return -1;\n }\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\n if (isWrapping) {\n direction = start < end ? -1 : 1;\n } else {\n direction = start < end ? 1 : -1;\n }\n\n return direction;\n};\nexport var shouldUpdate = function shouldUpdate(curr, next, keys) {\n var update = false;\n\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\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\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 : '100%';\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};","import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.function.bind\";\nimport \"core-js/modules/es6.object.create\";\nimport \"core-js/modules/es6.object.set-prototype-of\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\n\nfunction _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\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getSlideHeight, getAlignmentOffset } from '../utilities/style-utilities';\nimport { getSlideDirection, handleSelfFocus } from '../utilities/utilities';\nvar MIN_ZOOM_SCALE = 0;\nvar MAX_ZOOM_SCALE = 1;\n\nvar ScrollTransition = /*#__PURE__*/function (_React$Component) {\n _inherits(ScrollTransition, _React$Component);\n\n function ScrollTransition(props) {\n var _this;\n\n _classCallCheck(this, ScrollTransition);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ScrollTransition).call(this, props));\n _this.getListStyles = _this.getListStyles.bind(_assertThisInitialized(_this));\n return _this;\n }\n /* eslint-disable complexity */\n\n\n _createClass(ScrollTransition, [{\n key: \"getSlideTargetPosition\",\n value: function getSlideTargetPosition(currentSlideIndex, positionValue) {\n var offset = 0;\n\n if (this.props.animation === 'zoom' && (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\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\n if (this.props.wrapAround && currentSlideIndex !== startSlideIndex) {\n var slidesOutOfView = Math.max(this.props.slideCount - Math.ceil(this.props.frameWidth / this.props.slideWidth), // 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\n if (direction < 0) {\n var temp = slidesOutOfViewBefore;\n slidesOutOfViewBefore = slidesOutOfViewAfter;\n slidesOutOfViewAfter = temp;\n }\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\n if (currentSlideIndex < startSlideIndex) {\n if (distanceFromStart > slidesBefore) {\n targetPosition = (this.props.slideWidth + this.props.cellSpacing) * (this.props.slideCount + currentSlideIndex);\n }\n } else if (distanceFromStart > slidesAfter) {\n targetPosition = (this.props.slideWidth + this.props.cellSpacing) * (this.props.slideCount - currentSlideIndex) * -1;\n }\n }\n\n return targetPosition + offset || 0;\n }\n /* eslint-enable complexity */\n\n }, {\n key: \"formatChildren\",\n value: function formatChildren(children) {\n var _this2 = this;\n\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 = index >= currentSlide && index < currentSlide + slidesToShow;\n return React.createElement(\"li\", {\n className: \"slider-slide\".concat(visible ? ' slide-visible' : ''),\n style: _this2.getSlideStyles(index, positionValue),\n key: index,\n onClick: handleSelfFocus,\n tabIndex: -1\n }, child);\n });\n }\n }, {\n key: \"getSlideStyles\",\n value: function getSlideStyles(index, positionValue) {\n var targetPosition = this.getSlideTargetPosition(index, positionValue);\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 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 };\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 React.createElement(\"ul\", {\n className: \"slider-list\",\n style: this.getListStyles({\n deltaX: deltaX,\n deltaY: deltaY\n })\n }, children);\n }\n }]);\n\n return ScrollTransition;\n}(React.Component);\n\nexport { ScrollTransition as default };\nScrollTransition.propTypes = {\n animation: PropTypes.oneOf(['zoom']),\n cellAlign: PropTypes.string,\n cellSpacing: PropTypes.number,\n currentSlide: PropTypes.number,\n deltaX: PropTypes.number,\n deltaY: PropTypes.number,\n dragging: PropTypes.bool,\n frameWidth: PropTypes.number,\n heightMode: PropTypes.oneOf(['first', 'current', 'max']),\n isWrappingAround: PropTypes.bool,\n left: PropTypes.number,\n slideCount: PropTypes.number,\n slideHeight: PropTypes.number,\n slideOffset: PropTypes.number,\n slidesToScroll: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n slideWidth: PropTypes.number,\n top: PropTypes.number,\n vertical: PropTypes.bool,\n wrapAround: PropTypes.bool,\n zoomScale: PropTypes.number\n};\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};","import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.object.create\";\nimport \"core-js/modules/es6.object.set-prototype-of\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\n\nfunction _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\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getSlideHeight } from '../utilities/style-utilities';\nimport { handleSelfFocus } from '../utilities/utilities';\n\nvar FadeTransition = /*#__PURE__*/function (_React$Component) {\n _inherits(FadeTransition, _React$Component);\n\n function FadeTransition(props) {\n var _this;\n\n _classCallCheck(this, FadeTransition);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(FadeTransition).call(this, props));\n _this.fadeFromSlide = props.currentSlide;\n return _this;\n }\n\n _createClass(FadeTransition, [{\n key: \"formatChildren\",\n value: function formatChildren(children, opacity) {\n var _this2 = this;\n\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 var visible = index >= currentSlide && index < currentSlide + slidesToShow;\n return React.createElement(\"li\", {\n className: \"slider-slide\".concat(visible ? ' slide-visible' : ''),\n style: _this2.getSlideStyles(index, opacity),\n key: index,\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\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\n var opacity = {};\n\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\n var map = {};\n\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\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\n if (parseInt(fade) === fade) {\n this.fadeFromSlide = fade;\n }\n\n var opacityAndLeftMap = this.getSlideOpacityAndLeftMap(this.fadeFromSlide, this.props.currentSlide, fade);\n var children = this.formatChildren(this.props.children, opacityAndLeftMap);\n return React.createElement(\"ul\", {\n className: \"slider-list\",\n style: this.getContainerStyles()\n }, children);\n }\n }]);\n\n return FadeTransition;\n}(React.Component);\n\nexport { FadeTransition as default };\nFadeTransition.propTypes = {\n cellSpacing: PropTypes.number,\n currentSlide: PropTypes.number,\n deltaX: PropTypes.number,\n deltaY: PropTypes.number,\n dragging: PropTypes.bool,\n heightMode: PropTypes.oneOf(['first', 'current', 'max']),\n isWrappingAround: PropTypes.bool,\n left: PropTypes.number,\n slideCount: PropTypes.number,\n slideHeight: PropTypes.number,\n slidesToShow: PropTypes.number,\n slideWidth: PropTypes.number,\n top: PropTypes.number,\n vertical: PropTypes.bool,\n wrapAround: PropTypes.bool\n};\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};","import \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.function.bind\";\nimport \"core-js/modules/es6.object.create\";\nimport \"core-js/modules/es6.object.set-prototype-of\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\n\nfunction _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\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getSlideHeight } from '../utilities/style-utilities';\nimport { handleSelfFocus } from '../utilities/utilities';\nvar MIN_ZOOM_SCALE = 0;\nvar MAX_ZOOM_SCALE = 1;\n\nvar ScrollTransition3D = /*#__PURE__*/function (_React$Component) {\n _inherits(ScrollTransition3D, _React$Component);\n\n function ScrollTransition3D(props) {\n var _this;\n\n _classCallCheck(this, ScrollTransition3D);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ScrollTransition3D).call(this, props));\n _this.getListStyles = _this.getListStyles.bind(_assertThisInitialized(_this));\n return _this;\n }\n /* eslint-disable complexity */\n\n\n _createClass(ScrollTransition3D, [{\n key: \"getSlideTargetPosition\",\n value: function getSlideTargetPosition(index) {\n var targetPosition = 0;\n var offset = 0;\n\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\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\n return targetPosition + offset;\n }\n /* eslint-enable complexity */\n\n }, {\n key: \"formatChildren\",\n value: function formatChildren(children) {\n var _this2 = this;\n\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 React.createElement(\"li\", {\n className: \"slider-slide\".concat(visible ? ' slide-visible' : '').concat(current ? ' slide-current' : ''),\n style: _this2.getSlideStyles(index, positionValue),\n key: index,\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\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\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\n switch (minimumDistance) {\n case absoluteDirectDistance:\n return index - currentSlide;\n\n case distanceByLeftEge:\n return distanceByLeftEge;\n\n case distanceByRightEdge:\n return -distanceByRightEdge;\n\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 React.createElement(\"ul\", {\n className: \"slider-list\",\n style: this.getListStyles()\n }, children);\n }\n }]);\n\n return ScrollTransition3D;\n}(React.Component);\n\nexport { ScrollTransition3D as default };\nScrollTransition3D.propTypes = {\n cellSpacing: PropTypes.number,\n currentSlide: PropTypes.number,\n dragging: PropTypes.bool,\n heightMode: PropTypes.oneOf(['first', 'current', 'max']),\n isWrappingAround: PropTypes.bool,\n left: PropTypes.number,\n opacityScale: PropTypes.number,\n slideCount: PropTypes.number,\n slideHeight: PropTypes.number,\n slideListMargin: PropTypes.number,\n slideOffset: PropTypes.number,\n slidesToShow: PropTypes.number,\n slideWidth: PropTypes.number,\n top: PropTypes.number,\n vertical: PropTypes.bool,\n wrapAround: PropTypes.bool,\n zoomScale: PropTypes.number\n};\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';\n\nvar AnnounceSlide = function AnnounceSlide(_ref) {\n var message = _ref.message;\n var styles = {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden'\n };\n return React.createElement(\"div\", {\n \"aria-live\": \"polite\",\n \"aria-atomic\": \"true\",\n style: styles,\n tabIndex: -1\n }, message);\n};\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 \"core-js/modules/es6.array.reduce\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es6.string.iterator\";\nimport \"core-js/modules/es6.array.from\";\nimport \"core-js/modules/es6.regexp.to-string\";\nimport \"core-js/modules/es6.date.to-string\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\nimport \"core-js/modules/web.dom.iterable\";\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nimport React from 'react';\nexport var addAccessibility = function addAccessibility(children, slidesToShow) {\n if (slidesToShow > 1) {\n return React.Children.map(children, function (child) {\n return React.cloneElement(child, child.props);\n });\n } else {\n // when slidesToshow is 1\n return React.Children.map(children, function (child) {\n return React.cloneElement(child, child.props);\n });\n }\n};\nexport var getValidChildren = function getValidChildren(children) {\n // .toArray automatically removes invalid React children\n return React.Children.toArray(children);\n};\n\nvar getMax = function getMax(a, b) {\n return a > b ? a : b;\n};\n\nvar getHeightOfSlide = function getHeightOfSlide(slide) {\n if (!slide) {\n return 0;\n }\n\n if (slide.children && slide.children.length > 0) {\n // Need to convert slide.children from HTMLCollection\n // to an array\n var children = _toConsumableArray(slide.children);\n\n return children.reduce(function (totalHeight, child) {\n return totalHeight + child.offsetHeight;\n }, 0);\n } else {\n return slide.offsetHeight;\n }\n}; // end - is exclusive\n\n\nexport var findMaxHeightSlideInRange = function findMaxHeightSlideInRange(slides, start, end) {\n var maxHeight = 0;\n\n if (slides.length === 0 || start < 0 || end < 0 || start > slides.length - 1 || end > slides.length) {\n return maxHeight;\n }\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\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\n return maxHeight;\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\n switch (alignment) {\n case 'center':\n startIndex = Math.floor(currentSlide - offset);\n lastIndex = Math.ceil(currentSlide + offset) + 1;\n break;\n\n case 'right':\n startIndex = Math.floor(currentSlide - offset);\n lastIndex = currentSlide + 1;\n break;\n\n case 'left':\n startIndex = Math.floor(currentSlide + offset);\n lastIndex = Math.ceil(currentSlide + offset) + 1;\n break;\n } // inclusive\n\n\n startIndex = wrapAround && startIndex < 0 ? slides.length + startIndex : Math.max(startIndex, 0); // exclusive\n\n lastIndex = wrapAround && lastIndex > slides.length ? 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\n if (firstSlide && heightMode === 'first') {\n return vertical ? getHeightOfSlide(firstSlide) * slidesToShow : getHeightOfSlide(firstSlide);\n }\n\n if (heightMode === 'max') {\n return findMaxHeightSlideInRange(childNodes, 0, childNodes.length);\n }\n\n if (heightMode === 'current') {\n return findCurrentHeightSlide(currentSlide, slidesToShow, cellAlign, wrapAround, childNodes);\n }\n\n return initialSlideHeight || 100;\n};","import \"core-js/modules/es6.string.trim\";\nimport \"core-js/modules/es6.array.map\";\nimport \"core-js/modules/es6.string.iterator\";\nimport \"core-js/modules/es6.array.from\";\nimport \"core-js/modules/es6.function.bind\";\nimport \"core-js/modules/es6.object.create\";\nimport \"core-js/modules/es6.object.set-prototype-of\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es6.object.define-properties\";\nimport \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.object.assign\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\n\nfunction _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\n return _typeof(obj);\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\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\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\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\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\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 { addEvent, removeEvent, getPropsByTransitionMode, swipeDirection, shouldUpdate, calcSomeInitialState } from './utilities/utilities';\nimport { getAlignmentOffset, getImgTagStyles, getDecoratorStyles, getSliderStyles, getFrameStyles, getTransitionProps } from './utilities/style-utilities';\nimport { addAccessibility, getValidChildren, calculateSlideHeight } from './utilities/bootstrapping-utilities';\n\nvar Carousel = /*#__PURE__*/function (_React$Component) {\n _inherits(Carousel, _React$Component);\n\n function Carousel() {\n var _this;\n\n _classCallCheck(this, Carousel);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Carousel).apply(this, arguments));\n _this.displayName = 'Carousel';\n _this.clickDisabled = false;\n _this.isTransitioning = false;\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.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\n _createClass(Carousel, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this; // see https://github.com/facebook/react/issues/3417#issuecomment-121649937\n\n\n this.mounted = true;\n this.setLeft();\n this.setDimensions();\n this.bindEvents();\n this.establishChildNodesMutationObserver();\n\n if (this.props.autoplay) {\n this.startAutoplay();\n }\n\n var keyCodeConfig = _extends({}, this.keyCodeConfig, this.props.keyCodeConfig);\n\n this.keyCodeMap = this.getKeyCodeMap(keyCodeConfig);\n this.getlockScrollEvents().lockTouchScroll();\n var heightCheckDelay = 200;\n\n var initializeHeight = function initializeHeight(delay) {\n _this2.timers.push(setTimeout(function () {\n // If slideHeight is greater than zero, then\n // assume the app has been initialized. If not,\n // keep trying to set dimensions until things work.\n if (_this2.state.slideHeight > 0) {\n return;\n }\n\n _this2.setDimensions(); // Increase delay per attempt so the checks\n // slowly decrease if content is taking forever to load.\n\n\n initializeHeight(delay + heightCheckDelay);\n }, delay));\n };\n\n initializeHeight(heightCheckDelay);\n } // eslint-disable-next-line complexity\n\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\n if (axisChanged) {\n this.onResize();\n } else if (slideChanged || heightModeChanged) {\n var image = this.getCurrentChildNodeImg();\n\n if (image) {\n image.addEventListener('load', this.setSlideHeightAndWidth);\n image.removeEventListener('load', this.setSlideHeightAndWidth);\n } else {\n this.setSlideHeightAndWidth();\n }\n }\n\n var prevSlideCount = getValidChildren(prevProps.children).length;\n var slideCount = getValidChildren(this.props.children).length;\n var slideCountChanged = prevSlideCount !== slideCount;\n\n if (slideCountChanged) {\n this.setState({\n slideCount: slideCount,\n currentSlide: this.props.slideIndex\n });\n }\n\n var _this$calcSlideHeight = this.calcSlideHeightAndWidth(),\n slideHeight = _this$calcSlideHeight.slideHeight;\n\n var heightMismatches = slideHeight !== prevState.slideHeight;\n\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\n if (updateDimensions) {\n this.setDimensions(this.props);\n }\n }\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\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\n for (var i = 0; i < this.timers.length; i++) {\n clearTimeout(this.timers[i]);\n }\n\n this.getlockScrollEvents().unlockTouchScroll();\n }\n }, {\n key: \"establishChildNodesMutationObserver\",\n value: function establishChildNodesMutationObserver() {\n var _this3 = this;\n\n var childNodes = this.getChildNodes();\n\n if (childNodes.length && 'MutationObserver' in window) {\n this.childNodesMutationObs = new MutationObserver(function () {\n _this3.setSlideHeightAndWidth();\n });\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\n var childNodesArray = Array.from(childNodes);\n\n for (var _i = 0, _childNodesArray = childNodesArray; _i < _childNodesArray.length; _i++) {\n var node = _childNodesArray[_i];\n observeChildNodeMutation(node);\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: \"getlockScrollEvents\",\n value: function getlockScrollEvents() {\n var _this4 = this;\n\n var blockEvent = function blockEvent(e) {\n if (_this4.state.dragging) {\n var direction = swipeDirection(_this4.touchObject.startX, e.touches[0].pageX, _this4.touchObject.startY, e.touches[0].pageY, _this4.props.vertical);\n\n if (direction !== 0) {\n e.preventDefault();\n }\n }\n };\n\n var lockTouchScroll = function lockTouchScroll() {\n document.addEventListener('touchmove', blockEvent, {\n passive: false\n });\n };\n\n var unlockTouchScroll = function unlockTouchScroll() {\n document.removeEventListener('touchmove', blockEvent, {\n passive: false\n });\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\n if (this.props.swiping === false) {\n return {\n onTouchStart: this.handleMouseOver,\n onTouchEnd: this.handleMouseOut\n };\n }\n\n return {\n onTouchStart: function onTouchStart(e) {\n _this5.touchObject = {\n startX: e.touches[0].pageX,\n startY: e.touches[0].pageY\n };\n\n _this5.handleMouseOver();\n\n _this5.setState({\n dragging: true\n });\n },\n onTouchMove: function onTouchMove(e) {\n var direction = swipeDirection(_this5.touchObject.startX, e.touches[0].pageX, _this5.touchObject.startY, e.touches[0].pageY, _this5.props.vertical);\n\n if (direction !== 0) {\n e.preventDefault();\n }\n\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\n if (length >= 10) {\n if (_this5.clickDisabled === false) _this5.props.onDragStart(e);\n _this5.clickDisabled = true;\n }\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\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 _this5.handleSwipe(e);\n\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\n if (this.props.dragging === false) {\n return {\n onMouseOver: this.handleMouseOver,\n onMouseOut: this.handleMouseOut\n };\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\n _this6.touchObject = {\n startX: e.clientX,\n startY: e.clientY\n };\n\n _this6.setState({\n dragging: true\n });\n },\n onMouseMove: function onMouseMove(e) {\n if (!_this6.state.dragging) {\n return;\n }\n\n var direction = swipeDirection(_this6.touchObject.startX, e.clientX, _this6.touchObject.startY, e.clientY, _this6.props.vertical);\n\n if (direction !== 0) {\n e.preventDefault();\n }\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\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\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\n return;\n }\n\n _this6.handleSwipe(e);\n },\n onMouseLeave: function onMouseLeave(e) {\n if (!_this6.state.dragging) {\n return;\n }\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\n event.preventDefault();\n event.stopPropagation();\n\n if (event.nativeEvent) {\n event.nativeEvent.stopPropagation();\n }\n }\n }\n }, {\n key: \"handleSwipe\",\n value: function handleSwipe() {\n var _this7 = this;\n\n var slidesToShow = this.state.slidesToShow;\n\n if (this.props.slidesToScroll === 'auto') {\n slidesToShow = this.state.slidesToScroll;\n }\n\n var touchLength = this.touchObject.length || 0;\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\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 }, {\n key: \"handleKeyPress\",\n value: function handleKeyPress(e) {\n if (this.state.hasFocus && this.props.enableKeyboardControls) {\n var actionName = this.keyCodeMap[e.keyCode];\n\n switch (actionName) {\n case 'nextSlide':\n this.nextSlide();\n break;\n\n case 'previousSlide':\n this.previousSlide();\n break;\n\n case 'firstSlide':\n this.goToSlide(0, this.props);\n break;\n\n case 'lastSlide':\n this.goToSlide(this.state.slideCount - 1, this.props);\n break;\n\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 }, {\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\n return;\n }\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 }, {\n key: \"getTargetLeft\",\n value: function getTargetLeft(touchOffset, slide) {\n var target = slide || this.state.currentSlide;\n var offset = getAlignmentOffset(target, _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\n if (lastSlide && this.props.slideWidth !== 1 && !this.props.wrapAround && this.props.slidesToScroll === 'auto') {\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\n offset -= touchOffset || 0;\n return (left - offset) * -1;\n }\n }, {\n key: \"getOffsetDeltas\",\n value: function getOffsetDeltas() {\n var offset = 0;\n\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\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\n var _this$getOffsetDeltas = this.getOffsetDeltas(),\n tx = _this$getOffsetDeltas.tx,\n ty = _this$getOffsetDeltas.ty;\n\n var offset = getAlignmentOffset(currentSlide, _objectSpread({}, this.props, {}, this.state));\n\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\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 }, {\n key: \"goToSlide\",\n value: function goToSlide(index, props) {\n var _this8 = this;\n\n if (props === undefined) {\n props = this.props;\n }\n\n if (this.isTransitioning) {\n return;\n }\n\n this.setState({\n hasInteraction: true,\n easing: easing[props.easing]\n });\n this.isTransitioning = true;\n var previousSlide = this.state.currentSlide;\n\n if (index >= this.state.slideCount || index < 0) {\n if (!props.wrapAround) {\n this.isTransitioning = false;\n return;\n }\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 _this8.resetAutoplay();\n\n _this8.isTransitioning = false;\n\n if (index !== previousSlide) {\n _this8.props.afterSlide(0);\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 _this8.resetAutoplay();\n\n _this8.isTransitioning = false;\n\n if (index !== previousSlide) {\n _this8.props.afterSlide(_this8.state.slideCount - 1);\n }\n }, props.speed));\n });\n return;\n }\n }\n\n this.props.beforeSlide(this.state.currentSlide, index);\n this.setState({\n currentSlide: index\n }, function () {\n return _this8.timers.push(setTimeout(function () {\n _this8.resetAutoplay();\n\n _this8.isTransitioning = false;\n\n if (index !== previousSlide) {\n _this8.props.afterSlide(index);\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\n if (this.props.slidesToScroll === 'auto') {\n var swipeDistance = this.touchObject.length;\n\n if (swipeDistance > 0) {\n targetSlideIndex = Math.round(swipeDistance / slideWidth) + currentSlide;\n } else {\n slidesToShow = slidesToScroll;\n }\n }\n\n if (currentSlide >= slideCount - slidesToShow && !this.props.wrapAround && this.props.cellAlign === 'left') {\n return;\n }\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\n var offset = targetSlideIndex;\n var leftAlignSlideIndex = this.props.scrollMode === 'page' ? offset : Math.min(offset, slideCount - 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\n if (this.props.slidesToScroll === 'auto' && swipeDistance > 0) {\n targetSlideIndex = currentSlide - Math.round(swipeDistance / slideWidth);\n }\n\n if (currentSlide <= 0 && !this.props.wrapAround) {\n return;\n }\n\n if (this.props.wrapAround) {\n this.goToSlide(targetSlideIndex);\n } else {\n this.goToSlide(Math.max(0, targetSlideIndex));\n }\n } // Bootstrapping\n\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\n var frame = this.frame;\n var slideWidth;\n\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\n if (!props.vertical) {\n slideWidth -= props.cellSpacing * ((100 - 100 / slidesToShow) / 100);\n }\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\n if (slideHeight !== this.state.slideHeight || slideWidth !== this.state.slideWidth) {\n this.setState({\n slideHeight: slideHeight,\n slideWidth: slideWidth\n });\n }\n }\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\n var _getPropsByTransition2 = getPropsByTransitionMode(props, ['slidesToShow', 'cellAlign', 'scrollMode']),\n slidesToShow = _getPropsByTransition2.slidesToShow,\n cellAlign = _getPropsByTransition2.cellAlign,\n scrollMode = _getPropsByTransition2.scrollMode;\n\n var frame = this.frame;\n\n var _this$calcSlideHeight3 = this.calcSlideHeightAndWidth(props),\n slideHeight = _this$calcSlideHeight3.slideHeight,\n slideWidth = _this$calcSlideHeight3.slideWidth;\n\n var frameHeight = slideHeight + props.cellSpacing * (slidesToShow - 1);\n var frameWidth = props.vertical ? frameHeight : frame.offsetWidth;\n\n var _getPropsByTransition3 = getPropsByTransitionMode(props, ['slidesToScroll']),\n slidesToScroll = _getPropsByTransition3.slidesToScroll;\n\n if (slidesToScroll === 'auto' || scrollMode === 'page') {\n slidesToScroll = Math.floor(frameWidth / (slideWidth + props.cellSpacing));\n }\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\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\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 && React.createElement(\"div\", {\n key: key,\n className: [\"slider-control-\".concat(key.toLowerCase()), _this9.props.defaultControlsConfig.containerClassName || ''].join(' ').trim(),\n style: _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\n var _this$state4 = this.state,\n currentSlide = _this$state4.currentSlide,\n slideCount = _this$state4.slideCount,\n frameWidth = _this$state4.frameWidth;\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 || !this.state.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 return React.createElement(\"div\", {\n className: ['slider', this.props.className || ''].join(' ').trim(),\n onFocus: this.handleFocus,\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 && React.createElement(AnnounceSlide, {\n message: renderAnnounceSlideMessage({\n currentSlide: currentSlide,\n slideCount: slideCount\n })\n }), 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 }), React.createElement(Animate, {\n show: true,\n start: {\n tx: 0,\n ty: 0\n },\n update: function update() {\n var _this10$getOffsetDelt = _this10.getOffsetDeltas(),\n tx = _this10$getOffsetDelt.tx,\n ty = _this10$getOffsetDelt.ty;\n\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\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 children: function children(_ref2) {\n var tx = _ref2.tx,\n ty = _ref2.ty;\n return React.createElement(TransitionControl, _extends({}, getTransitionProps(_this10.props, _this10.state), {\n deltaX: tx,\n deltaY: ty\n }), addAccessibility(validChildren, slidesToShow, currentSlide));\n }\n })), this.renderControls(), this.props.autoGenerateStyleTag && React.createElement(\"style\", {\n type: \"text/css\",\n dangerouslySetInnerHTML: {\n __html: getImgTagStyles()\n }\n }));\n }\n }]);\n\n return Carousel;\n}(React.Component);\n\nexport { Carousel as default };\nCarousel.propTypes = {\n afterSlide: PropTypes.func,\n animation: PropTypes.oneOf(['zoom']),\n autoGenerateStyleTag: PropTypes.bool,\n autoplay: PropTypes.bool,\n autoplayInterval: PropTypes.number,\n autoplayReverse: PropTypes.bool,\n beforeSlide: PropTypes.func,\n cellAlign: PropTypes.oneOf(['left', 'center', 'right']),\n cellSpacing: PropTypes.number,\n getControlsContainerStyles: PropTypes.func,\n defaultControlsConfig: PropTypes.shape({\n containerClassName: PropTypes.string,\n nextButtonClassName: PropTypes.string,\n nextButtonStyle: PropTypes.object,\n nextButtonText: PropTypes.string,\n prevButtonClassName: PropTypes.string,\n prevButtonStyle: PropTypes.object,\n prevButtonText: PropTypes.string,\n pagingDotsContainerClassName: PropTypes.string,\n pagingDotsClassName: PropTypes.string,\n pagingDotsStyle: PropTypes.object\n }),\n disableAnimation: PropTypes.bool,\n disableEdgeSwiping: PropTypes.bool,\n dragging: PropTypes.bool,\n easing: PropTypes.string,\n edgeEasing: PropTypes.string,\n enableKeyboardControls: PropTypes.bool,\n frameOverflow: PropTypes.string,\n framePadding: PropTypes.string,\n height: PropTypes.string,\n heightMode: PropTypes.oneOf(['first', 'current', 'max']),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n current: PropTypes.elementType\n })]),\n initialSlideHeight: PropTypes.number,\n initialSlideWidth: PropTypes.number,\n keyCodeConfig: PropTypes.exact({\n previousSlide: PropTypes.arrayOf(PropTypes.number),\n nextSlide: PropTypes.arrayOf(PropTypes.number),\n firstSlide: PropTypes.arrayOf(PropTypes.number),\n lastSlide: PropTypes.arrayOf(PropTypes.number),\n pause: PropTypes.arrayOf(PropTypes.number)\n }),\n onDragStart: PropTypes.func,\n onResize: PropTypes.func,\n opacityScale: PropTypes.number,\n pauseOnHover: PropTypes.bool,\n renderAnnounceSlideMessage: PropTypes.func,\n renderBottomCenterControls: PropTypes.func,\n renderBottomLeftControls: PropTypes.func,\n renderBottomRightControls: PropTypes.func,\n renderCenterCenterControls: PropTypes.func,\n renderCenterLeftControls: PropTypes.func,\n renderCenterRightControls: PropTypes.func,\n renderTopCenterControls: PropTypes.func,\n renderTopLeftControls: PropTypes.func,\n renderTopRightControls: PropTypes.func,\n scrollMode: PropTypes.oneOf(['page', 'remainder']),\n slideIndex: PropTypes.number,\n slideListMargin: PropTypes.number,\n slideOffset: PropTypes.number,\n slidesToScroll: PropTypes.oneOfType([PropTypes.number, PropTypes.oneOf(['auto'])]),\n slidesToShow: PropTypes.number,\n slideWidth: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n speed: PropTypes.number,\n swiping: PropTypes.bool,\n transitionMode: PropTypes.oneOf(['scroll', 'fade', 'scroll3d']),\n vertical: PropTypes.bool,\n width: PropTypes.string,\n withoutControls: PropTypes.bool,\n wrapAround: PropTypes.bool\n};\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 React.createElement(PagingDots, props);\n },\n renderCenterLeftControls: function renderCenterLeftControls(props) {\n return React.createElement(PreviousButton, props);\n },\n renderCenterRightControls: function renderCenterRightControls(props) {\n return 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 React from 'react';\nimport PropTypes from 'prop-types';\nimport { RichText } from 'prismic-reactjs';\nimport { linkResolver } from '@digitaliseringsbyran/gatsby-source-prismic-graphql';\n\nimport styled from 'styled-components';\n\nimport Hero from '../../components/Hero';\nimport Button from '../../components/Button';\n\n// import LinkUtil from '../../utils/link';\n\nconst Root = styled.div`\n position: relative;\n width: 100%;\n`;\n\nfunction HeroImage({ data, pageTitle }) {\n return (\n \n \n {data.primary.link_label}\n \n )\n }\n big\n pageTitle={pageTitle}\n >\n {data.primary.text && (\n \n )}\n \n \n );\n}\n\nHeroImage.propTypes = {\n data: PropTypes.oneOfType([PropTypes.object]).isRequired,\n pageTitle: PropTypes.bool,\n};\n\nHeroImage.defaultProps = {\n pageTitle: false,\n};\n\nexport default HeroImage;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { RichText } from 'prismic-reactjs';\nimport { linkResolver } from '@digitaliseringsbyran/gatsby-source-prismic-graphql';\nimport styled from 'styled-components';\n\nimport Hero from '../../components/Hero';\nimport Button from '../../components/Button';\n\n// import LinkUtil from '../../utils/link';\n\nconst Root = styled.div`\n position: relative;\n width: 100%;\n`;\n\n// function debounce(fn, ms) {\n// let timer;\n// return () => {\n// clearTimeout(timer);\n// timer = setTimeout(() => {\n// timer = null;\n// fn.apply(this, arguments);\n// }, ms);\n// };\n// }\n\nfunction HeroVideo({ data, pageTitle }) {\n // const [dimensions, setDimensions] = useState({\n // height: window.innerHeight,\n // width: window.innerWidth,\n // });\n // useEffect(() => {\n // const debouncedHandleResize = debounce(function handleResize() {\n // setDimensions({\n // height: window.innerHeight,\n // width: window.innerWidth,\n // });\n // }, 1000);\n\n // window.addEventListener('resize', debouncedHandleResize);\n // });\n\n const videoProps = {\n // src: [\n // {\n // src: 'http://download.blender.org/peach/trailer/trailer_400p.ogg',\n // type: 'video/ogg',\n // },\n // {\n // src: 'http://clips.vorwaerts-gmbh.de/VfE_html5.mp4',\n // type: 'video/mp4',\n // },\n // ],\n // poster:\n // 'http://il6.picdn.net/shutterstock/videos/3548084/thumb/1.jpg?i10c=img.resize(height:160)',\n // containerWidth: dimensions.width && dimensions.width,\n // containerHeight: dimensions.height && dimensions.height,\n };\n\n if (data.primary.video) {\n videoProps.src = [\n {\n src: data.primary.video.url,\n type: 'video/mp4',\n },\n ];\n videoProps.poster = data.primary.image?.url;\n }\n\n return (\n \n \n {data.primary.link_label}\n \n )\n }\n big\n pageTitle={pageTitle}\n videoProps={videoProps}\n >\n {data.primary.text && (\n \n )}\n \n \n );\n}\n\nHeroVideo.propTypes = {\n data: PropTypes.oneOfType([PropTypes.object]).isRequired,\n pageTitle: PropTypes.bool,\n};\n\nHeroVideo.defaultProps = {\n pageTitle: false,\n};\n\nexport default HeroVideo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Carousel from 'nuka-carousel';\n\nimport styled from 'styled-components';\n\nimport HeroImage from '../../slices/HeroImage';\nimport HeroVideo from '../../slices/HeroVideo';\n\nconst Root = styled.div`\n position: relative;\n width: 100%;\n`;\n\n/**\n * Maybe there should be a fixed item that can be passed as the Optional-page-title item? If not passed use h1 for first item\n */\n\nfunction HeroCarousel({ items, big }) {\n return (\n \n \n {items &&\n items.map((slice, index) => {\n switch (slice.type) {\n case 'image_item':\n return (\n \n );\n case 'video_item':\n return (\n \n );\n default:\n return null;\n }\n })}\n \n \n );\n}\n\nHeroCarousel.propTypes = {\n items: PropTypes.arrayOf(PropTypes.object),\n big: PropTypes.bool,\n};\n\nHeroCarousel.defaultProps = {\n items: [],\n big: false,\n};\n\nexport default HeroCarousel;\n","\"use strict\";\n\nrequire(\"core-js/modules/es6.object.define-property\");\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;","import \"core-js/modules/es6.function.bind\";\nvar frame = 0,\n // is an animation frame pending?\ntimeout = 0,\n // is a timeout pending?\ninterval = 0,\n // are any timers active?\npokeDelay = 1000,\n // how frequently we check for clock skew\ntaskHead,\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}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call = this._time = this._next = null;\n}\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function restart(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\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;else taskHead = this;\n taskTail = this;\n }\n\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function stop() {\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\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n\n var t = taskHead,\n e;\n\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(),\n delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0,\n t1 = taskHead,\n t2,\n time = Infinity;\n\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\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n\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}","import \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.symbol\";\n\nfunction _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\n return _typeof(obj);\n}\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}\n\nvar linear = function linear(t) {\n return +t;\n};\n\nexport var timingDefaults = {\n delay: 0,\n duration: 250,\n ease: linear\n};","import \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.array.for-each\";\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nimport { once } from './utils';\nexport var Events = function Events(config) {\n var _this = this;\n\n _classCallCheck(this, Events);\n\n this.start = null;\n this.interrupt = null;\n this.end = null;\n\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;","import \"core-js/modules/es7.symbol.async-iterator\";\nimport \"core-js/modules/es6.array.is-array\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/es6.symbol\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.keys\";\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nimport { now, timer, timeout } from 'd3-timer';\nimport { timingDefaults, extend, getTransitionId, isNamespace } from './utils';\nimport Events from './Events';\n\nvar BaseNode = function () {\n function BaseNode(state) {\n _classCallCheck(this, BaseNode);\n\n this.state = state || {};\n }\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\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\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\n var clone = _objectSpread({}, config);\n\n var events = new Events(clone);\n\n if (clone.events) {\n delete clone.events;\n }\n\n var timing = _objectSpread({}, timingDefaults, clone.timing || {}, {\n time: now()\n });\n\n if (clone.timing) {\n delete clone.timing;\n }\n\n Object.keys(clone).forEach(function (stateKey) {\n var tweens = [];\n var next = clone[stateKey];\n\n if (isNamespace(next)) {\n Object.keys(next).forEach(function (attr) {\n var val = next[attr];\n\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\n return _ref = {}, _ref[stateKey] = _objectSpread({}, state[stateKey], (_objectSpread2 = {}, _objectSpread2[attr] = val[0], _objectSpread2)), _ref;\n });\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\n return _ref2 = {}, _ref2[stateKey] = _objectSpread({}, state[stateKey], (_objectSpread3 = {}, _objectSpread3[attr] = val(t), _objectSpread3)), _ref2;\n });\n };\n\n return kapellmeisterNamespacedTween;\n };\n\n tweens.push(getNameSpacedCustomTween);\n } else {\n _this.setState(function (state) {\n var _objectSpread4, _ref3;\n\n return _ref3 = {}, _ref3[stateKey] = _objectSpread({}, state[stateKey], (_objectSpread4 = {}, _objectSpread4[attr] = val, _objectSpread4)), _ref3;\n });\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\n _this.setState((_this$setState = {}, _this$setState[stateKey] = next[0], _this$setState));\n\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\n _this.setState((_this$setState2 = {}, _this$setState2[stateKey] = next(t), _this$setState2));\n };\n\n return kapellmeisterTween;\n };\n\n tweens.push(getCustomTween);\n } else {\n var _this$setState3;\n\n _this.setState((_this$setState3 = {}, _this$setState3[stateKey] = next, _this$setState3));\n\n tweens.push(_this.getTween(stateKey, next, null));\n }\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\n return function () {\n var begValue = nameSpace ? _this2.state[nameSpace][attr] : _this2.state[attr];\n\n if (begValue === endValue) {\n return null;\n }\n\n var i = _this2.getInterpolator(begValue, endValue, attr, nameSpace);\n\n var stateTween;\n\n if (nameSpace === null) {\n stateTween = function stateTween(t) {\n var _this2$setState;\n\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\n return _ref4 = {}, _ref4[nameSpace] = _objectSpread({}, state[nameSpace], (_objectSpread5 = {}, _objectSpread5[attr] = i(t), _objectSpread5)), _ref4;\n });\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\n this.init(getTransitionId(), transition);\n }\n }, {\n key: \"init\",\n value: function init(id, transition) {\n var _this3 = this;\n\n var n = transition.tweens.length;\n var tweens = new Array(n);\n\n var queue = function queue(elapsed) {\n transition.status = 1;\n transition.timer.restart(start, transition.timing.delay, transition.timing.time);\n\n if (transition.timing.delay <= elapsed) {\n start(elapsed - transition.timing.delay);\n }\n };\n\n this.transitionData[id] = transition;\n transition.timer = timer(queue, 0, transition.timing.time);\n\n var start = function start(elapsed) {\n if (transition.status !== 1) return stop();\n\n for (var tid in _this3.transitionData) {\n var t = _this3.transitionData[tid];\n\n if (t.stateKey !== transition.stateKey) {\n continue;\n }\n\n if (t.status === 3) {\n return timeout(start);\n }\n\n if (t.status === 4) {\n t.status = 6;\n t.timer.stop();\n\n if (t.events.interrupt) {\n t.events.interrupt.call(_this3);\n }\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\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\n if (transition.events.start) {\n transition.events.start.call(_this3);\n }\n\n if (transition.status !== 2) {\n return;\n }\n\n transition.status = 3;\n var j = -1;\n\n for (var i = 0; i < n; ++i) {\n var res = transition.tweens[i]();\n\n if (res) {\n tweens[++j] = res;\n }\n }\n\n tweens.length = j + 1;\n };\n\n var tick = function tick(elapsed) {\n var t = 1;\n\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\n var i = -1;\n\n while (++i < tweens.length) {\n tweens[i](t);\n }\n\n if (transition.status === 5) {\n if (transition.events.end) {\n transition.events.end.call(_this3);\n }\n\n stop();\n }\n };\n\n var stop = function stop() {\n transition.status = 6;\n transition.timer.stop();\n delete _this3.transitionData[id];\n\n for (var _ in _this3.transitionData) {\n return;\n }\n\n delete _this3.transitionData;\n };\n }\n }]);\n\n return BaseNode;\n}();\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}","export { default as BaseNode } from './BaseNode';\nexport { now, timer, interval, timeout } from 'd3-timer';","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport { rem } from 'polished';\n\nimport { breakpoint } from '../../theme';\n\nimport Slice from '../Slice';\n\nconst Section = styled.div`\n margin-bottom: ${rem(35)};\n\n ${breakpoint('large')} {\n margin-bottom: ${rem(50)};\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n`;\n\nfunction SliceZone({ slices }) {\n return (\n slices &&\n slices.map((slice, index) => (\n // eslint-disable-next-line react/no-array-index-key\n
\n \n
\n ))\n );\n}\n\nSliceZone.propTypes = {\n slices: PropTypes.arrayOf(PropTypes.object),\n};\n\nexport default SliceZone;\n"],"sourceRoot":""}