{"version":3,"sources":["webpack:///./node_modules/react-swipeable/es/index.js","webpack:///./node_modules/react-only-when/dist/index.es.js","webpack:///./node_modules/react-elastic-carousel/dist/index.es.js","webpack:///./src/components/Treatments/TreatmentsCarousel/ItemCarousel/ItemCarousel.js","webpack:///./src/templates/problem/problem.js","webpack:///./src/components/Treatments/TreatmentModal/TreatmentModal.module.scss","webpack:///./src/components/problems/problems.js","webpack:///./src/templates/problem/problem.module.scss","webpack:///./src/components/Treatments/TreatmentBlock/TreatmentBlock.js","webpack:///./src/components/Treatments/TreatmentBlock/TreatmentBlock.module.scss","webpack:///./node_modules/classnames/index.js","webpack:///./src/components/problems/problems.module.scss","webpack:///./node_modules/@material-ui/icons/Close.js","webpack:///./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack:///./src/components/Treatments/TreatmentsCarousel/ItemCarousel/ItemCarousel.module.scss","webpack:///./src/components/Treatments/TreatmentModal/TreatmentModal.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","defaultProps","preventDefaultTouchmoveEvent","delta","rotationAngle","trackMouse","trackTouch","initialState","xy","swiping","eventData","undefined","start","rotateXYByAngle","pos","angle","angleInRadians","Math","PI","cos","sin","getHandlers","set","handlerProps","onStart","event","touches","state","props","document","addEventListener","onMove","onUp","_ref","clientX","clientY","initial","concat","first","timeStamp","_ref2","_rotateXYByAngle","x","y","deltaX","deltaY","absX","abs","absY","time","velocity","sqrt","dir","getDirection","onSwiping","cancelablePageSwipe","onSwiped","cancelable","preventDefault","onEnd","cleanUpMouse","removeEventListener","e","attachTouch","el","tls","forEach","_ref3","h","_ref4","output","ref","addState","cleanUpTouch","onMouseDown","updateTransientState","_React$PureComponent","subClass","superClass","Swipeable","_this","_set","cb","transientState","type","create","constructor","__proto__","render","_this$props","className","style","_this$props$nodeName","nodeName","innerRef","children","_getHandlers","handlers","createElement","PureComponent","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","possibleConstructorReturn","self","ReferenceError","_Component","Only","getPrototypeOf","value","setPrototypeOf","inherits","_props","when","hiddenMode","singleChild","Children","only","_singleChild$props","restOfChildProps","obj","keys","indexOf","objectWithoutProperties","extendedProps","keepNode","display","visibility","cloned","cloneElement","propTypes","element","isRequired","bool","oneOf","string","_classCallCheck","_defineProperties","_createClass","_defineProperty","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","_objectSpread2","getOwnPropertyDescriptors","_inherits","_setPrototypeOf","_getPrototypeOf","o","p","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_assertThisInitialized","_possibleConstructorReturn","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","toString","_isNativeReflectConstruct","result","Super","NewTarget","_taggedTemplateLiteral","strings","raw","slice","freeze","_toConsumableArray","arr","Array","isArray","_arrayLikeToArray","_arrayWithoutHoles","iter","Symbol","iterator","from","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","minLen","n","name","test","len","arr2","_createForOfIteratorHelper","allowArrayLike","it","F","s","done","_e","f","err","normalCompletion","didErr","step","next","_e2","return","noop","numberToArray","cssPrefix","prefix","space","_len","classNames","_key","chainedClasses","reduce","acc","current","pipe","_len2","fns","_key2","v","_templateObject","data","Button","button","attrs","_ref$type","disabled","consts","_templateObject$1","ItemWrapper","div","itemPosition","_templateObject$2","SliderContainer","_templateObject$3","calcLeft","isRTL","verticalMode","isSwiping","swipedSliderPosition","sliderPosition","calcRight","calcTop","Slider","transition","transitionMs","easing","tiltEasing","effectiveEasing","left","right","top","_ref5","_ref6","_ref7","outerSpacing","_templateObject$4","StyledCarousel","height","size","_templateObject$5","CarouselWrapper","_React$Component","ItemWrapperContainer","_super","args","onClick","id","Component","childWidth","autoTabIndexVisibleItems","enableSwipe","enableMouseSwipe","itemsToShow","itemsToScroll","currentItem","itemPadding","onItemClick","width","paddingStyle","join","minVisibleItem","maxVisibleItem","prevItem","nextItem","originalChildren","map","child","idx","isVisible","isPrevItem","isNextItem","itemClass","childToRender","tabIndex","padding","flexDirection","stopPropagation","directionIcons","up","down","arrowClassname","direction","icons","rest","arrows","styleObj","rotate","transform","rotateStyle","activeIndexReducer","action","limit","optimisticNextItem","optimisticPrevItem","nextItemAction","prevItemAction","_templateObject$6","Dot","active","DotContainer","_templateObject$7","Indicators","Pagination","numOfPages","activePage","pages","item","Carousel","rootHeight","childHeight","transitioning","activeIndex","initialActiveIndex","initialFirstItem","sliderContainerWidth","ro","entries","observer","_step","_iterator","_loop","entry","sliderContainer","window","requestAnimationFrame","onContainerResize","slider","onSliderResize","observe","disconnect","autoPlaySpeed","getDerivedPropsFromBreakPoint","autoPlayIntervalId","setInterval","slideNext","clearInterval","getNumOfPages","setState","fn","currentBreakPoint","breakPoints","restOfProps","reverse","find","bp","_this$getDerivedProps2","totalItems","toArray","moveBy","emptySlots","newActiveIndex","sliderNode","_this$getDerivedProps3","sliderHeight","contentRect","nextState","childrenLength","min","sliderContainerNode","newSliderContainerWidth","_this$getDerivedProps4","containerWidth","_this$getDerivedProps5","onResize","showEmptySlots","currentState","maxItemsToShow","endLimit","updateSliderPosition","position","distance","duration","setTimeout","index","roundedIdx","round","currentIndex","getPrev","_this$getDerivedProps7","nextAction","nextItemIndex","getNextItemIndex","_this$getDerivedProps9","goingNext","goingBack","horizontalSwipe","verticalSwipe","horizontalMode","distanceSwipe","horizontalEdgeStoppage","verticalEdgeStoppage","_this$state","_this$getDerivedProps10","func","resetSwipe","minSwipeDistanceHorizontal","minSwipeDistanceVertical","swipedLeft","swipedRight","swipedUp","swipedDown","goodToGo","numberOfSlidesViaSwipe","ceil","numberOfSlidesTogo","max","backSlidesToGo","forwardSlideTtoGo","goTo","_numberOfSlidesViaSwipe","_numberOfSlidesTogo","_backSlidesToGo","_forwardSlideTtoGo","skipTilt","options","onNextStart","nextItemObj","getNextItemObj","convertChildToCbObj","onPrevStart","slidePrev","_this$getDerivedProps13","enableTilt","_this$state2","tiltMovement","_this$getDerivedProps14","_this$getDerivedProps15","onNextEnd","onChange","_this$state3","removeSliderTransitionHook","_this$getDerivedProps16","onPrevEnd","_this$state4","nextItemId","childSize","_this$getDerivedProps17","safeNextItemId","isPrev","positionEndCb","stateUpdater","generatePositionUpdater","updateActivePage","onSliderTransitionEnd","_this$getDerivedProps18","safeItemsToShow","_this$getDerivedProps19","inRangeItemsToShow","newActivePage","inRangeActivePageIndex","indicatorId","gotoIndex","initResizeObserver","setPages","prevProps","prevState","_this$props2","enableAutoPlay","_this$state5","currentChildrenLength","prevChildrenLength","removeAutoPlay","setAutoPlay","calculatedItemsToShow","unSubscribeObserver","_this$state6","_this$getDerivedProps22","focusOnSelect","pagination","showArrows","disableArrowsOnEnd","renderArrow","renderPagination","canSlidePrev","canSlideNext","disabledPrevArrow","disabledNextArrow","isEdge","setRef","onIndicatorClick","showModal","img","price","desc","setModal","newModal","TreatmentModal","close","closeModal","ItemCarousel","resetTimeout","useState","setWidth","modal","playSpeed","itemsNumber","items","carouselRef","useRef","useEffect","innerWidth","zIndex","clearTimeout","itemsLength","itemsPerPage","getLastIndex","treatments","node","TreatmentBlock","Nazwa","Zdjecie","Cena","Czas","Opis","createTreatments","Problem","problem","strapiProblem","description","tytul","title","ProblemImage","fluid","obrazek","childImageSharp","TitleProblem","opis","Text","transformImageUri","uri","startsWith","process","zabiegs","TreatmentsBlock","TitleTreatments","to","textDecoration","color","module","exports","query","Problems","problems","useStaticQuery","allStrapiProblem","nodes","Container","Title","Flex","sort","a","b","pozycja_na_stronie","encodeURIComponent","toLowerCase","ImageHidden","fadeIn","loading","Tag","Image","ProblemName","handleProblems","classes","treatment_block","onKeyDown","role","image","alt","labels","values","hasOwn","arg","argType","inner","default","_interopRequireDefault","_interopRequireWildcard","React","_default","d","MapShim","Map","getIndex","some","anonymous","__entries__","prototypeAccessors","get","delete","splice","has","clear","callback","ctx","list","isBrowser","global$1","global","Function","requestAnimationFrame$1","bind","now","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","delay","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","throttle","addObserver","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","attributes","childList","characterData","subtree","propertyName","getInstance","instance_","defineConfigurable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","parseFloat","getBordersSize","styles","positions","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","getPaddings","horizPad","vertPad","bottom","boxSizing","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getBBox","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","rect","broadcastRect","ResizeObserverEntry","rectInit","Constr","DOMRectReadOnly","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","Element","observations","unobserve","clearActive","this$1","observation","WeakMap","ResizeObserver","method","container","text","backdrop","aria-label"],"mappings":"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","file":"component---src-templates-problem-problem-js-dbe0a70aa66f2aba5c23.js","sourcesContent":["import React from 'react';\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 _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar defaultProps = {\n preventDefaultTouchmoveEvent: false,\n delta: 10,\n rotationAngle: 0,\n trackMouse: false,\n trackTouch: true\n};\nvar initialState = {\n xy: [0, 0],\n swiping: false,\n eventData: undefined,\n start: undefined\n};\nvar LEFT = 'Left';\nvar RIGHT = 'Right';\nvar UP = 'Up';\nvar DOWN = 'Down';\nvar touchStart = 'touchstart';\nvar touchMove = 'touchmove';\nvar touchEnd = 'touchend';\nvar mouseMove = 'mousemove';\nvar mouseUp = 'mouseup';\n\nfunction getDirection(absX, absY, deltaX, deltaY) {\n if (absX > absY) {\n if (deltaX > 0) {\n return LEFT;\n }\n\n return RIGHT;\n } else if (deltaY > 0) {\n return UP;\n }\n\n return DOWN;\n}\n\nfunction rotateXYByAngle(pos, angle) {\n if (angle === 0) return pos;\n var angleInRadians = Math.PI / 180 * angle;\n var x = pos[0] * Math.cos(angleInRadians) + pos[1] * Math.sin(angleInRadians);\n var y = pos[1] * Math.cos(angleInRadians) - pos[0] * Math.sin(angleInRadians);\n return [x, y];\n}\n\nfunction getHandlers(set, handlerProps) {\n var onStart = function onStart(event) {\n // if more than a single touch don't track, for now...\n if (event.touches && event.touches.length > 1) return;\n set(function (state, props) {\n // setup mouse listeners on document to track swipe since swipe can leave container\n if (props.trackMouse) {\n document.addEventListener(mouseMove, onMove);\n document.addEventListener(mouseUp, onUp);\n }\n\n var _ref = event.touches ? event.touches[0] : event,\n clientX = _ref.clientX,\n clientY = _ref.clientY;\n\n var xy = rotateXYByAngle([clientX, clientY], props.rotationAngle);\n return _extends({}, state, initialState, {\n eventData: {\n initial: [].concat(xy),\n first: true\n },\n xy: xy,\n start: event.timeStamp || 0\n });\n });\n };\n\n var onMove = function onMove(event) {\n set(function (state, props) {\n if (!state.xy[0] || !state.xy[1] || event.touches && event.touches.length > 1) {\n return state;\n }\n\n var _ref2 = event.touches ? event.touches[0] : event,\n clientX = _ref2.clientX,\n clientY = _ref2.clientY;\n\n var _rotateXYByAngle = rotateXYByAngle([clientX, clientY], props.rotationAngle),\n x = _rotateXYByAngle[0],\n y = _rotateXYByAngle[1];\n\n var deltaX = state.xy[0] - x;\n var deltaY = state.xy[1] - y;\n var absX = Math.abs(deltaX);\n var absY = Math.abs(deltaY);\n var time = (event.timeStamp || 0) - state.start;\n var velocity = Math.sqrt(absX * absX + absY * absY) / (time || 1); // if swipe is under delta and we have not started to track a swipe: skip update\n\n if (absX < props.delta && absY < props.delta && !state.swiping) return state;\n var dir = getDirection(absX, absY, deltaX, deltaY);\n\n var eventData = _extends({}, state.eventData, {\n event: event,\n absX: absX,\n absY: absY,\n deltaX: deltaX,\n deltaY: deltaY,\n velocity: velocity,\n dir: dir\n });\n\n props.onSwiping && props.onSwiping(eventData); // track if a swipe is cancelable(handler for swiping or swiped(dir) exists)\n // so we can call preventDefault if needed\n\n var cancelablePageSwipe = false;\n\n if (props.onSwiping || props.onSwiped || props[\"onSwiped\" + dir]) {\n cancelablePageSwipe = true;\n }\n\n if (cancelablePageSwipe && props.preventDefaultTouchmoveEvent && props.trackTouch && event.cancelable) event.preventDefault(); // first is now always false\n\n return _extends({}, state, {\n eventData: _extends({}, eventData, {\n first: false\n }),\n swiping: true\n });\n });\n };\n\n var onEnd = function onEnd(event) {\n set(function (state, props) {\n var eventData;\n\n if (state.swiping) {\n eventData = _extends({}, state.eventData, {\n event: event\n });\n props.onSwiped && props.onSwiped(eventData);\n props[\"onSwiped\" + eventData.dir] && props[\"onSwiped\" + eventData.dir](eventData);\n }\n\n return _extends({}, state, initialState, {\n eventData: eventData\n });\n });\n };\n\n var cleanUpMouse = function cleanUpMouse() {\n // safe to just call removeEventListener\n document.removeEventListener(mouseMove, onMove);\n document.removeEventListener(mouseUp, onUp);\n };\n\n var onUp = function onUp(e) {\n cleanUpMouse();\n onEnd(e);\n };\n\n var attachTouch = function attachTouch(el) {\n if (el && el.addEventListener) {\n // attach touch event listeners and handlers\n var tls = [[touchStart, onStart], [touchMove, onMove], [touchEnd, onEnd]];\n tls.forEach(function (_ref3) {\n var e = _ref3[0],\n h = _ref3[1];\n return el.addEventListener(e, h);\n }); // return properly scoped cleanup method for removing listeners\n\n return function () {\n return tls.forEach(function (_ref4) {\n var e = _ref4[0],\n h = _ref4[1];\n return el.removeEventListener(e, h);\n });\n };\n }\n };\n\n var onRef = function onRef(el) {\n // \"inline\" ref functions are called twice on render, once with null then again with DOM element\n // ignore null here\n if (el === null) return;\n set(function (state, props) {\n // if the same DOM el as previous just return state\n if (state.el === el) return state;\n var addState = {}; // if new DOM el clean up old DOM and reset cleanUpTouch\n\n if (state.el && state.el !== el && state.cleanUpTouch) {\n state.cleanUpTouch();\n addState.cleanUpTouch = null;\n } // only attach if we want to track touch\n\n\n if (props.trackTouch && el) {\n addState.cleanUpTouch = attachTouch(el);\n } // store event attached DOM el for comparison, clean up, and re-attachment\n\n\n return _extends({}, state, {\n el: el\n }, addState);\n });\n }; // set ref callback to attach touch event listeners\n\n\n var output = {\n ref: onRef // if track mouse attach mouse down listener\n\n };\n\n if (handlerProps.trackMouse) {\n output.onMouseDown = onStart;\n }\n\n return [output, attachTouch];\n}\n\nfunction updateTransientState(state, props, attachTouch) {\n var addState = {}; // clean up touch handlers if no longer tracking touches\n\n if (!props.trackTouch && state.cleanUpTouch) {\n state.cleanUpTouch();\n addState.cleanUpTouch = null;\n } else if (props.trackTouch && !state.cleanUpTouch) {\n // attach/re-attach touch handlers\n if (state.el) {\n addState.cleanUpTouch = attachTouch(state.el);\n }\n }\n\n return _extends({}, state, addState);\n}\n\nfunction useSwipeable(props) {\n var trackMouse = props.trackMouse;\n var transientState = React.useRef(_extends({}, initialState, {\n type: 'hook'\n }));\n var transientProps = React.useRef();\n transientProps.current = _extends({}, defaultProps, props);\n\n var _React$useMemo = React.useMemo(function () {\n return getHandlers(function (cb) {\n return transientState.current = cb(transientState.current, transientProps.current);\n }, {\n trackMouse: trackMouse\n });\n }, [trackMouse]),\n handlers = _React$useMemo[0],\n attachTouch = _React$useMemo[1];\n\n transientState.current = updateTransientState(transientState.current, transientProps.current, attachTouch);\n return handlers;\n}\n\nvar Swipeable = /*#__PURE__*/function (_React$PureComponent) {\n _inheritsLoose(Swipeable, _React$PureComponent);\n\n function Swipeable(props) {\n var _this;\n\n _this = _React$PureComponent.call(this, props) || this;\n\n _this._set = function (cb) {\n _this.transientState = cb(_this.transientState, _this.props);\n };\n\n _this.transientState = _extends({}, initialState, {\n type: 'class'\n });\n return _this;\n }\n\n var _proto = Swipeable.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n className = _this$props.className,\n style = _this$props.style,\n _this$props$nodeName = _this$props.nodeName,\n nodeName = _this$props$nodeName === void 0 ? 'div' : _this$props$nodeName,\n innerRef = _this$props.innerRef,\n children = _this$props.children,\n trackMouse = _this$props.trackMouse;\n\n var _getHandlers = getHandlers(this._set, {\n trackMouse: trackMouse\n }),\n handlers = _getHandlers[0],\n attachTouch = _getHandlers[1];\n\n this.transientState = updateTransientState(this.transientState, this.props, attachTouch);\n var ref = innerRef ? function (el) {\n return innerRef(el), handlers.ref(el);\n } : handlers.ref;\n return React.createElement(nodeName, _extends({}, handlers, {\n className: className,\n style: style,\n ref: ref\n }), children);\n };\n\n return Swipeable;\n}(React.PureComponent);\n\nSwipeable.defaultProps = defaultProps;\nexport { DOWN, LEFT, RIGHT, Swipeable, UP, useSwipeable };","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar Only = function (_Component) {\n inherits(Only, _Component);\n\n function Only() {\n classCallCheck(this, Only);\n return possibleConstructorReturn(this, (Only.__proto__ || Object.getPrototypeOf(Only)).apply(this, arguments));\n }\n\n createClass(Only, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n when = _props.when,\n hiddenMode = _props.hiddenMode,\n className = _props.className;\n var singleChild = React.Children.only(children);\n var _singleChild$props = singleChild.props,\n style = _singleChild$props.style,\n restOfChildProps = objectWithoutProperties(_singleChild$props, ['style']);\n\n var extendedProps = _extends({}, restOfChildProps);\n\n var keepNode = hiddenMode && hiddenMode !== \"withNull\";\n\n if (keepNode) {\n if (hiddenMode === \"withCss\") {\n extendedProps.className = extendedProps.className + ' ' + className;\n } else {\n extendedProps.style = _extends({}, style, hiddenMode === \"withDisplay\" && {\n display: \"none\"\n }, hiddenMode === \"withVisibility\" && {\n visibility: \"hidden\"\n });\n }\n }\n\n var cloned = React.cloneElement(singleChild, extendedProps);\n var toHide = keepNode ? cloned : null;\n return when ? singleChild : toHide;\n }\n }]);\n return Only;\n}(Component);\n\nOnly.defaultProps = {\n hiddenMode: \"withNull\",\n className: \"r-o_hidden\"\n};\nOnly.propTypes = {\n /** A single child element */\n children: PropTypes.element.isRequired,\n\n /** When true, children will rendered as is */\n when: PropTypes.bool.isRequired,\n\n /** Determines how \"react-only-when\" should hide the child element \n * \"withNull\": Will not render the child\n * \"withDisplay\": Will render the child with display:none \n * \"withVisibility\": Will render the child with visibility:hidden\n * \"withCss\": Will render the child with a CSS class (you can pass it a custom className prop)\n */\n hiddenMode: PropTypes.oneOf([\"withNull\", \"withDisplay\", \"withVisibility\", \"withCss\"]),\n\n /** This is working in combination with hiddenMode={\"withCss\"} */\n className: PropTypes.string\n};\nexport default Only;","import \"core-js/modules/es.array.reduce.js\";\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport React, { Children } from 'react';\nimport { Swipeable } from 'react-swipeable';\nimport cx from 'classnames';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport Only from 'react-only-when';\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction 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 _objectSpread2(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 _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) {\n var it;\n\n if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) {\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = o[Symbol.iterator]();\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it.return != null) it.return();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}\n\nvar noop = function noop() {};\n\nvar numberToArray = function numberToArray(n) {\n return _toConsumableArray(Array(n).keys());\n};\n\nvar cssPrefix = function cssPrefix() {\n var prefix = \"rec\";\n var space = \" \";\n var result = \"\".concat(prefix); // initial it with global prefix;\n // in case of an array we add the class prefix per item;\n\n for (var _len = arguments.length, classNames = new Array(_len), _key = 0; _key < _len; _key++) {\n classNames[_key] = arguments[_key];\n }\n\n var chainedClasses = classNames.reduce(function (acc, current) {\n if (current) {\n acc += \"\".concat(space).concat(prefix, \"-\").concat(current); // we must keep spaces between class names\n }\n\n return acc;\n }, \"\");\n result += chainedClasses;\n return result;\n};\n\nvar pipe = function pipe() {\n for (var _len2 = arguments.length, fns = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n fns[_key2] = arguments[_key2];\n }\n\n return function (x) {\n return fns.reduce(function (v, f) {\n return f(v);\n }, x);\n };\n};\n\nfunction _templateObject() {\n var data = _taggedTemplateLiteral([\"\\n box-sizing: border-box;\\n transition: all 0.3s ease;\\n font-size: 1.6em;\\n background-color: rgba(103, 58, 183, 0.1);\\n color: \", \";\\n box-shadow: 0 0 2px 0px #333;\\n border-radius: 50%;\\n border: none;\\n padding: 0;\\n width: 50px;\\n height: 50px;\\n min-width: 50px;\\n line-height: 50px;\\n align-self: center;\\n cursor: pointer;\\n outline: none;\\n &:hover:enabled,\\n &:focus:enabled {\\n color: #fff;\\n background-color: rgba(103, 58, 183, 1);\\n box-shadow: 0 0 2px 0 #333;\\n }\\n &:disabled {\\n cursor: not-allowed;\\n }\\n\"]);\n\n _templateObject = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nvar Button = styled.button.attrs(function (_ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? \"button\" : _ref$type;\n return {\n type: type\n };\n})(_templateObject(), function (props) {\n return props.disabled ? \"#999\" : \"#333\";\n});\nvar consts = {\n PREV: \"PREV\",\n NEXT: \"NEXT\",\n START: \"flex-start\",\n CENTER: \"center\",\n END: \"flex-end\"\n};\n\nfunction _templateObject$1() {\n var data = _taggedTemplateLiteral([\"\\n box-sizing: border-box;\\n display: flex;\\n overflow: hidden;\\n user-select: none;\\n justify-content: \", \";\\n\"]);\n\n _templateObject$1 = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nvar ItemWrapper = styled.div.attrs(function (_ref) {\n var style = _ref.style;\n return {\n style: style,\n className: cssPrefix(\"item-wrapper\")\n };\n})(_templateObject$1(), function (_ref2) {\n var itemPosition = _ref2.itemPosition;\n return itemPosition;\n});\nItemWrapper.defaultProps = {\n style: {},\n itemPosition: consts.CENTER\n};\nItemWrapper.propTypes = {\n children: PropTypes.element.isRequired,\n style: PropTypes.object,\n itemPosition: PropTypes.oneOf([consts.START, consts.CENTER, consts.END])\n};\n\nfunction _templateObject$2() {\n var data = _taggedTemplateLiteral([\"\\n overflow: hidden;\\n position: relative;\\n width: 100%;\\n margin: 0 10px;\\n\"]);\n\n _templateObject$2 = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nvar SliderContainer = styled.div(_templateObject$2());\n\nfunction _templateObject$3() {\n var data = _taggedTemplateLiteral([\"\\n position: absolute;\\n display: flex;\\n flex-direction: \", \";\\n \", \";\\n \", \";\\n\"]);\n\n _templateObject$3 = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nvar calcLeft = function calcLeft(_ref) {\n var isRTL = _ref.isRTL,\n verticalMode = _ref.verticalMode,\n isSwiping = _ref.isSwiping,\n swipedSliderPosition = _ref.swipedSliderPosition,\n sliderPosition = _ref.sliderPosition;\n\n if (verticalMode || isRTL) {\n return \"auto\";\n } else {\n return \"\".concat(isSwiping ? swipedSliderPosition : sliderPosition, \"px\");\n }\n};\n\nvar calcRight = function calcRight(_ref2) {\n var isRTL = _ref2.isRTL,\n verticalMode = _ref2.verticalMode,\n isSwiping = _ref2.isSwiping,\n swipedSliderPosition = _ref2.swipedSliderPosition,\n sliderPosition = _ref2.sliderPosition;\n\n if (!verticalMode && isRTL) {\n return \"\".concat(isSwiping ? swipedSliderPosition : sliderPosition, \"px\");\n } else {\n return \"auto\";\n }\n};\n\nvar calcTop = function calcTop(_ref3) {\n var verticalMode = _ref3.verticalMode,\n isSwiping = _ref3.isSwiping,\n swipedSliderPosition = _ref3.swipedSliderPosition,\n sliderPosition = _ref3.sliderPosition;\n\n if (!verticalMode) {\n return \"auto\";\n } else {\n return \"\".concat(isSwiping ? swipedSliderPosition : sliderPosition, \"px\");\n }\n};\n\nvar calcTransition = function calcTransition(_ref4) {\n var isSwiping = _ref4.isSwiping,\n transitionMs = _ref4.transitionMs,\n easing = _ref4.easing,\n tiltEasing = _ref4.tiltEasing;\n var duration = isSwiping ? 0 : transitionMs;\n var effectiveEasing = isSwiping ? tiltEasing : easing;\n return \"all \".concat(duration, \"ms \").concat(effectiveEasing);\n}; // We use attributes (style) to bypass multiple creation of classes (dynamic styling)\n\n\nvar Slider = styled.div.attrs(function (props) {\n return {\n style: {\n transition: calcTransition(props),\n left: calcLeft(props),\n right: calcRight(props),\n top: calcTop(props)\n }\n };\n})(_templateObject$3(), function (_ref5) {\n var verticalMode = _ref5.verticalMode;\n return verticalMode ? \"column\" : \"row\";\n}, function (_ref6) {\n var verticalMode = _ref6.verticalMode;\n return verticalMode ? \"min-height: 100%;\" : \"\";\n}, function (_ref7) {\n var verticalMode = _ref7.verticalMode,\n outerSpacing = _ref7.outerSpacing;\n return verticalMode ? \"\" : \"margin: 0 \".concat(outerSpacing, \"px;\");\n});\n\nfunction _templateObject$4() {\n var data = _taggedTemplateLiteral([\"\\n display: flex;\\n flex-direction: row;\\n width: 100%;\\n\"]);\n\n _templateObject$4 = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nvar StyledCarousel = styled.div.attrs(function (props) {\n return {\n style: {\n height: props.size.height\n }\n };\n})(_templateObject$4());\n\nfunction _templateObject$5() {\n var data = _taggedTemplateLiteral([\"\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n width: 100%;\\n direction: \", \";\\n\"]);\n\n _templateObject$5 = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nvar CarouselWrapper = styled.div(_templateObject$5(), function (_ref) {\n var isRTL = _ref.isRTL;\n return isRTL ? \"rtl\" : \"ltr\";\n});\n\nvar ItemWrapperContainer = /*#__PURE__*/function (_React$Component) {\n _inherits(ItemWrapperContainer, _React$Component);\n\n var _super = _createSuper(ItemWrapperContainer);\n\n function ItemWrapperContainer() {\n var _this;\n\n _classCallCheck(this, ItemWrapperContainer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function () {\n var _this$props = _this.props,\n onClick = _this$props.onClick,\n id = _this$props.id;\n onClick(id);\n });\n\n return _this;\n }\n\n _createClass(ItemWrapperContainer, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ItemWrapper, _extends({}, this.props, {\n onClick: this.onClick\n }));\n }\n }]);\n\n return ItemWrapperContainer;\n}(React.Component);\n\nItemWrapperContainer.defaultProps = {\n onClick: noop\n};\n\nvar Track = function Track(_ref) {\n var children = _ref.children,\n childWidth = _ref.childWidth,\n autoTabIndexVisibleItems = _ref.autoTabIndexVisibleItems,\n enableSwipe = _ref.enableSwipe,\n enableMouseSwipe = _ref.enableMouseSwipe,\n preventDefaultTouchmoveEvent = _ref.preventDefaultTouchmoveEvent,\n itemsToShow = _ref.itemsToShow,\n itemsToScroll = _ref.itemsToScroll,\n currentItem = _ref.currentItem,\n itemPosition = _ref.itemPosition,\n itemPadding = _ref.itemPadding,\n onSwiped = _ref.onSwiped,\n onSwiping = _ref.onSwiping,\n verticalMode = _ref.verticalMode,\n onItemClick = _ref.onItemClick;\n var width = \"\".concat(childWidth, \"px\");\n var paddingStyle = \"\".concat(itemPadding.join(\"px \"), \"px\");\n var minVisibleItem = currentItem;\n var maxVisibleItem = currentItem + itemsToShow;\n var prevItem = minVisibleItem - itemsToScroll;\n var nextItem = maxVisibleItem + itemsToScroll;\n var originalChildren = React.Children.map(children, function (child, idx) {\n var isVisible = idx >= minVisibleItem && idx < maxVisibleItem;\n var isPrevItem = !isVisible && idx >= prevItem && idx < currentItem;\n var isNextItem = !isVisible && idx < nextItem && idx > currentItem;\n var itemClass = \"carousel-item\";\n var childToRender = autoTabIndexVisibleItems ? /*#__PURE__*/React.cloneElement(child, {\n tabIndex: isVisible ? 0 : -1\n }) : child;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: cssPrefix(itemClass, \"\".concat(itemClass, \"-\").concat(idx), \"\".concat(itemClass, \"-\").concat(isVisible ? \"visible\" : \"hidden\"), isPrevItem && \"\".concat(itemClass, \"-prev\"), isNextItem && \"\".concat(itemClass, \"-next\"))\n }, /*#__PURE__*/React.createElement(ItemWrapperContainer, {\n id: idx,\n itemPosition: itemPosition,\n style: {\n width: width,\n padding: paddingStyle\n },\n key: idx,\n onClick: onItemClick\n }, childToRender));\n });\n var toRender = enableSwipe ? /*#__PURE__*/React.createElement(Swipeable, {\n style: {\n display: \"flex\",\n flexDirection: verticalMode ? \"column\" : \"row\"\n },\n stopPropagation: true,\n preventDefaultTouchmoveEvent: preventDefaultTouchmoveEvent,\n trackMouse: enableMouseSwipe,\n onSwiped: onSwiped,\n onSwiping: onSwiping,\n className: cssPrefix(\"swipable\")\n }, originalChildren) : originalChildren;\n return toRender;\n};\n\nvar directionIcons = {\n left: \"❮\",\n right: \"❯\",\n up: \"❮\",\n down: \"❯\"\n};\nvar arrowClassname = cssPrefix(\"arrow\");\n\nvar rotateStyle = function rotateStyle(direction) {\n var rotate = {};\n\n if (direction === Arrow.up || direction === Arrow.down) {\n rotate.transform = \"rotate(90deg)\";\n }\n\n return rotate;\n};\n\nvar Arrow = function Arrow(_ref) {\n var direction = _ref.direction,\n onClick = _ref.onClick,\n icons = _ref.icons,\n style = _ref.style,\n rest = _objectWithoutProperties(_ref, [\"direction\", \"onClick\", \"icons\", \"style\"]);\n\n var arrows = _objectSpread2(_objectSpread2({}, directionIcons), icons);\n\n var styleObj = _objectSpread2(_objectSpread2({}, rotateStyle(direction)), style);\n\n return /*#__PURE__*/React.createElement(Button, _extends({\n tabIndex: 0,\n onClick: onClick,\n className: cx(arrowClassname, \"\".concat(arrowClassname, \"-\").concat(direction)),\n style: styleObj\n }, rest), arrows[direction]);\n};\n\nArrow.left = \"left\";\nArrow.right = \"right\";\nArrow.up = \"up\";\nArrow.down = \"down\";\nvar NEXT_ITEM = \"NEXT_ITEM\";\nvar PREV_ITEM = \"PREV_ITEM\";\n\nvar activeIndexReducer = function activeIndexReducer(state, action) {\n var limit = action.limit,\n itemsToScroll = action.itemsToScroll,\n type = action.type;\n\n switch (type) {\n case NEXT_ITEM:\n {\n var optimisticNextItem = state + itemsToScroll;\n var nextItem = limit >= optimisticNextItem ? optimisticNextItem : limit;\n return nextItem;\n }\n\n case PREV_ITEM:\n {\n var optimisticPrevItem = state - itemsToScroll;\n var prevItem = optimisticPrevItem >= limit ? optimisticPrevItem : limit;\n return prevItem;\n }\n\n default:\n return state;\n }\n};\n\nvar nextItemAction = function nextItemAction(limit, itemsToScroll) {\n return {\n type: NEXT_ITEM,\n limit: limit,\n itemsToScroll: itemsToScroll\n };\n};\n\nvar prevItemAction = function prevItemAction(limit, itemsToScroll) {\n return {\n type: PREV_ITEM,\n limit: limit,\n itemsToScroll: itemsToScroll\n };\n};\n\nfunction _templateObject$6() {\n var data = _taggedTemplateLiteral([\"\\n box-sizing: border-box;\\n padding: 0;\\n transition: all 250ms ease;\\n border: none;\\n margin: 5px;\\n background-color: \", \";\\n font-size: 1.3em;\\n content: \\\"\\\";\\n height: 10px;\\n width: 10px;\\n box-shadow: \", \";\\n border-radius: 50%;\\n outline: none;\\n &:hover,\\n &:focus {\\n cursor: pointer;\\n box-shadow: \", \";\\n }\\n\"]);\n\n _templateObject$6 = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nvar boxShadow = \"0 0 1px 2px rgba(0, 0, 0, 0.5)\";\nvar activeBoxShadow = \"0 0 1px 3px rgba(103,58,183,1)\";\nvar hoveredBoxShadow = \"0 0 1px 3px rgba(103,58,183,.5)\";\nvar Dot = styled.button.attrs(function (_ref) {\n var _ref$type = _ref.type,\n type = _ref$type === void 0 ? \"button\" : _ref$type;\n return {\n type: type\n };\n})(_templateObject$6(), function (_ref2) {\n var active = _ref2.active;\n return active ? \"rgba(103,58,183,.5)\" : \"transparent\";\n}, function (_ref3) {\n var active = _ref3.active;\n return active ? activeBoxShadow : boxShadow;\n}, function (_ref4) {\n var active = _ref4.active;\n return active ? activeBoxShadow : hoveredBoxShadow;\n});\n\nvar DotContainer = /*#__PURE__*/function (_React$Component) {\n _inherits(DotContainer, _React$Component);\n\n var _super = _createSuper(DotContainer);\n\n function DotContainer() {\n var _this;\n\n _classCallCheck(this, DotContainer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function () {\n var _this$props = _this.props,\n onClick = _this$props.onClick,\n id = _this$props.id;\n onClick(id);\n });\n\n return _this;\n }\n\n _createClass(DotContainer, [{\n key: \"render\",\n value: function render() {\n var active = this.props.active;\n return /*#__PURE__*/React.createElement(Dot, {\n tabIndex: active ? -1 : 0,\n onClick: this.onClick,\n active: active,\n className: \"\".concat(cssPrefix(\"dot\"), \" \").concat(active ? cssPrefix(\"dot_active\") : \"\")\n });\n }\n }]);\n\n return DotContainer;\n}(React.Component);\n\nfunction _templateObject$7() {\n var data = _taggedTemplateLiteral([\"\\n display: flex;\\n flex-wrap: wrap;\\n margin-top: 15px;\\n\"]);\n\n _templateObject$7 = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nvar Indicators = styled.div(_templateObject$7());\n\nvar Pagination = /*#__PURE__*/function (_React$Component) {\n _inherits(Pagination, _React$Component);\n\n var _super = _createSuper(Pagination);\n\n function Pagination() {\n _classCallCheck(this, Pagination);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Pagination, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n numOfPages = _this$props.numOfPages,\n activePage = _this$props.activePage,\n onClick = _this$props.onClick;\n var pages = numberToArray(numOfPages);\n return /*#__PURE__*/React.createElement(Indicators, {\n className: cssPrefix(\"pagination\")\n }, pages.map(function (item, i) {\n return /*#__PURE__*/React.createElement(DotContainer, {\n key: i,\n id: i,\n active: i === activePage,\n onClick: onClick\n });\n }));\n }\n }]);\n\n return Pagination;\n}(React.Component);\n\nPagination.defaultProps = {\n onClick: noop\n};\n\nvar Carousel = /*#__PURE__*/function (_React$Component) {\n _inherits(Carousel, _React$Component);\n\n var _super = _createSuper(Carousel);\n\n function Carousel() {\n var _this;\n\n _classCallCheck(this, Carousel);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n rootHeight: 0,\n childWidth: 0,\n childHeight: 0,\n sliderPosition: 0,\n swipedSliderPosition: 0,\n isSwiping: false,\n transitioning: false,\n transitionMs: _this.props.transitionMs,\n activeIndex: _this.props.initialActiveIndex || _this.props.initialFirstItem,\n // support deprecated initialFirstItem\n pages: [],\n activePage: 0,\n sliderContainerWidth: 0\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setRef\", function (name) {\n return function (ref) {\n return _this[name] = ref;\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"initResizeObserver\", function () {\n _this.ro = new ResizeObserver(function (entries, observer) {\n var _iterator = _createForOfIteratorHelper(entries),\n _step;\n\n try {\n var _loop = function _loop() {\n var entry = _step.value;\n\n if (entry.target === _this.sliderContainer) {\n // we are using rAF because it fixes the infinite refresh with gatsby (ssr?).\n // TBH, I'm not sure i fully understand why.\n // see https://github.com/sag1v/react-elastic-carousel/issues/107\n window.requestAnimationFrame(function () {\n _this.onContainerResize(entry);\n });\n }\n\n if (entry.target === _this.slider) {\n // we are using rAF because it fixes the infinite refresh with gatsby (ssr?).\n // TBH, I'm not sure i fully understand why\n // see https://github.com/sag1v/react-elastic-carousel/issues/107\n window.requestAnimationFrame(function () {\n _this.onSliderResize(entry);\n });\n }\n };\n\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n });\n\n _this.ro.observe(_this.sliderContainer);\n\n _this.ro.observe(_this.slider);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"unSubscribeObserver\", function () {\n return _this.ro.disconnect();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setAutoPlay\", function () {\n var _this$getDerivedProps = _this.getDerivedPropsFromBreakPoint(),\n autoPlaySpeed = _this$getDerivedProps.autoPlaySpeed;\n\n _this.autoPlayIntervalId = setInterval(function () {\n var transitioning = _this.state.transitioning;\n\n if (!transitioning) {\n _this.slideNext();\n }\n }, autoPlaySpeed);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"removeAutoPlay\", function () {\n if (_this.autoPlayIntervalId) {\n clearInterval(_this.autoPlayIntervalId);\n _this.autoPlayIntervalId = null;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setPages\", function () {\n var numOfPages = _this.getNumOfPages();\n\n var pages = numberToArray(numOfPages);\n\n _this.setState({\n pages: pages\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSliderTransitionEnd\", function (fn) {\n _this.slider.addEventListener(\"transitionend\", fn);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"removeSliderTransitionHook\", function (fn) {\n _this.slider.removeEventListener(\"transitionend\", fn);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getDerivedPropsFromBreakPoint\", function () {\n var _this$props = _this.props,\n breakPoints = _this$props.breakPoints,\n restOfProps = _objectWithoutProperties(_this$props, [\"breakPoints\"]);\n\n var sliderContainerWidth = _this.state.sliderContainerWidth; // default breakpoint from individual props\n\n var currentBreakPoint; // if breakpoints were added as props override the individual props\n\n if (breakPoints && breakPoints.length > 0) {\n currentBreakPoint = breakPoints.slice() // no mutations\n .reverse() // so we can find last match\n .find(function (bp) {\n return bp.width <= sliderContainerWidth;\n });\n\n if (!currentBreakPoint) {\n /* in case we don't have a lower width than sliderContainerWidth\n * this mostly happens in initilization when sliderContainerWidth is 0\n */\n currentBreakPoint = breakPoints[0];\n }\n } // merge direct props with current breakpoint Props\n\n\n return _objectSpread2(_objectSpread2({}, restOfProps), currentBreakPoint);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateSliderPosition\", function () {\n _this.setState(function (state) {\n var _this$getDerivedProps2 = _this.getDerivedPropsFromBreakPoint(),\n children = _this$getDerivedProps2.children,\n verticalMode = _this$getDerivedProps2.verticalMode,\n itemsToShow = _this$getDerivedProps2.itemsToShow,\n transitionMs = _this$getDerivedProps2.transitionMs;\n\n var childWidth = state.childWidth,\n childHeight = state.childHeight,\n activeIndex = state.activeIndex;\n var totalItems = Children.toArray(children).length;\n var hiddenSlots = totalItems - itemsToShow;\n var moveBy = activeIndex * -1;\n var emptySlots = itemsToShow - (totalItems - activeIndex);\n\n if (emptySlots > 0 && hiddenSlots > 0) {\n moveBy = emptySlots + activeIndex * -1;\n }\n\n var sliderPosition = (verticalMode ? childHeight : childWidth) * moveBy;\n var newActiveIndex = emptySlots > 0 ? activeIndex - emptySlots : activeIndex; // go back from 0ms to whatever set by the user\n // We were at 0ms because we wanted to disable animation on resize\n // see https://github.com/sag1v/react-elastic-carousel/issues/94\n\n window.requestAnimationFrame(function () {\n return _this.setState({\n transitionMs: transitionMs\n });\n });\n return {\n sliderPosition: sliderPosition,\n activeIndex: newActiveIndex < 0 ? 0 : newActiveIndex\n };\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSliderResize\", function (sliderNode) {\n var _this$getDerivedProps3 = _this.getDerivedPropsFromBreakPoint(),\n verticalMode = _this$getDerivedProps3.verticalMode,\n children = _this$getDerivedProps3.children,\n itemsToShow = _this$getDerivedProps3.itemsToShow;\n\n var sliderHeight = sliderNode.contentRect.height;\n var nextState = {};\n var childrenLength = Children.toArray(children).length;\n\n if (verticalMode) {\n var childHeight = sliderHeight / childrenLength; // We use Math.min because we don't want to make the child smaller\n // if the number of children is smaller than itemsToShow.\n // (Because we do not want \"empty slots\")\n\n nextState.rootHeight = childHeight * Math.min(childrenLength, itemsToShow);\n nextState.childHeight = childHeight;\n } else {\n nextState.rootHeight = sliderHeight;\n }\n\n _this.setState(nextState);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onContainerResize\", function (sliderContainerNode) {\n var newSliderContainerWidth = sliderContainerNode.contentRect.width; // update slider container width\n // disable animation on resize see https://github.com/sag1v/react-elastic-carousel/issues/94\n\n var _this$getDerivedProps4 = _this.getDerivedPropsFromBreakPoint(),\n outerSpacing = _this$getDerivedProps4.outerSpacing,\n initialVerticalMode = _this$getDerivedProps4.verticalMode;\n\n var containerWidth = newSliderContainerWidth - (initialVerticalMode ? 0 : outerSpacing * 2);\n\n if (_this.state.sliderContainerWidth === newSliderContainerWidth) {\n // prevent infinite loop\n return;\n }\n\n _this.setState({\n sliderContainerWidth: containerWidth,\n transitionMs: 0\n }, function () {\n // we must get these props inside setState (get future props because its async)\n var _this$getDerivedProps5 = _this.getDerivedPropsFromBreakPoint(),\n onResize = _this$getDerivedProps5.onResize,\n verticalMode = _this$getDerivedProps5.verticalMode,\n itemsToShow = _this$getDerivedProps5.itemsToShow,\n showEmptySlots = _this$getDerivedProps5.showEmptySlots,\n children = _this$getDerivedProps5.children;\n /* based on slider container's width, get num of items to show\n * and calculate child's width (and update it in state)\n */\n\n\n var childrenLength = Children.toArray(children).length;\n var childWidth = 0;\n\n if (verticalMode) {\n childWidth = containerWidth;\n } else {\n // When \"showEmptySlots\" is false\n // We use Math.min because we don't want to make the child smaller\n // if the number of children is smaller than itemsToShow.\n // (Because we do not want \"empty slots\")\n childWidth = containerWidth / (showEmptySlots ? itemsToShow : Math.min(childrenLength, itemsToShow));\n }\n\n _this.setState(function (currentState) {\n // We might need to change the selected index when the size of the container changes\n // we are making sure the selected index is not out of boundaries and respecting itemsToShow\n // This usually happens with breakpoints. see https://github.com/sag1v/react-elastic-carousel/issues/122\n var activeIndex = currentState.activeIndex; // we take the lowest, in case itemsToShow is greater than childrenLength\n\n var maxItemsToShow = Math.min(childrenLength, itemsToShow);\n var endLimit = childrenLength - maxItemsToShow;\n\n if (activeIndex > endLimit) {\n activeIndex = endLimit;\n }\n\n return {\n childWidth: childWidth,\n activeIndex: activeIndex\n };\n }, function () {\n /* Based on all of the above new data:\n * update slider position\n * get the new current breakpoint\n * pass the current breakpoint to the consumer's callback\n */\n _this.updateSliderPosition();\n\n var currentBreakPoint = _this.getDerivedPropsFromBreakPoint();\n\n onResize(currentBreakPoint);\n });\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"tiltMovement\", function (position) {\n var distance = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 20;\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 150;\n\n _this.setState(function (state) {\n return {\n isSwiping: true,\n swipedSliderPosition: position - distance\n };\n });\n\n setTimeout(function () {\n _this.setState({\n isSwiping: false,\n swipedSliderPosition: 0\n });\n }, duration);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"convertChildToCbObj\", function (index) {\n var _this$getDerivedProps6 = _this.getDerivedPropsFromBreakPoint(),\n children = _this$getDerivedProps6.children; // support decimal itemsToShow\n\n\n var roundedIdx = Math.round(index);\n var child = Children.toArray(children)[roundedIdx];\n return {\n item: child.props,\n index: roundedIdx\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getNextItemIndex\", function (currentIndex, getPrev) {\n var _this$getDerivedProps7 = _this.getDerivedPropsFromBreakPoint(),\n children = _this$getDerivedProps7.children,\n itemsToShow = _this$getDerivedProps7.itemsToShow,\n itemsToScroll = _this$getDerivedProps7.itemsToScroll;\n\n var childrenLength = Children.toArray(children).length;\n var notEnoughItemsToShow = itemsToShow > childrenLength;\n var limit = getPrev ? 0 : childrenLength - itemsToShow;\n\n if (notEnoughItemsToShow) {\n limit = 0; // basically don't move\n }\n\n var nextAction = getPrev ? prevItemAction(0, itemsToScroll) : nextItemAction(limit, itemsToScroll);\n var nextItem = activeIndexReducer(currentIndex, nextAction);\n return nextItem;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getNextItemObj\", function (getPrev) {\n var _this$getDerivedProps8 = _this.getDerivedPropsFromBreakPoint(),\n children = _this$getDerivedProps8.children;\n\n var activeIndex = _this.state.activeIndex;\n\n var nextItemIndex = _this.getNextItemIndex(activeIndex, getPrev); // support decimal itemsToShow\n\n\n var roundedIdx = Math.round(nextItemIndex);\n var asElement = Children.toArray(children)[roundedIdx];\n var asObj = {\n item: asElement.props,\n index: roundedIdx\n };\n return asObj;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"resetSwipe\", function () {\n _this.setState({\n swipedSliderPosition: 0,\n transitioning: false,\n isSwiping: false\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwiping\", function (data) {\n var deltaX = data.deltaX,\n absX = data.absX,\n deltaY = data.deltaY,\n absY = data.absY,\n dir = data.dir;\n\n _this.setState(function (state) {\n var childWidth = state.childWidth,\n childHeight = state.childHeight,\n activeIndex = state.activeIndex,\n sliderPosition = state.sliderPosition;\n\n var _this$getDerivedProps9 = _this.getDerivedPropsFromBreakPoint(),\n itemsToShow = _this$getDerivedProps9.itemsToShow,\n verticalMode = _this$getDerivedProps9.verticalMode,\n children = _this$getDerivedProps9.children,\n isRTL = _this$getDerivedProps9.isRTL; // determine how far can user swipe\n\n\n var childrenLength = Children.toArray(children).length;\n var goingNext = !verticalMode && dir === \"Left\" && !isRTL || !verticalMode && dir === \"Right\" && isRTL || verticalMode && dir === \"Up\";\n var goingBack = !verticalMode && dir === \"Right\" && !isRTL || !verticalMode && dir === \"Left\" && isRTL || verticalMode && dir === \"Down\";\n var horizontalSwipe = dir === \"Left\" || dir === \"Right\";\n var verticalSwipe = dir === \"Up\" || dir === \"Down\";\n var horizontalMode = !verticalMode;\n var distanceSwipe = 0;\n var horizontalEdgeStoppage = childWidth / 2;\n var verticalEdgeStoppage = childHeight / 2;\n\n if (verticalMode) {\n if (verticalSwipe) {\n var trackSize = childrenLength * childHeight;\n\n if (goingNext) {\n distanceSwipe = trackSize - childHeight * activeIndex - itemsToShow * childHeight + verticalEdgeStoppage;\n } else if (goingBack) {\n distanceSwipe = childHeight * activeIndex + verticalEdgeStoppage;\n }\n }\n } else {\n if (horizontalSwipe) {\n var _trackSize = childrenLength * childWidth;\n\n if (goingNext) {\n distanceSwipe = _trackSize - childWidth * activeIndex - itemsToShow * childWidth + horizontalEdgeStoppage;\n } else if (goingBack) {\n distanceSwipe = childWidth * activeIndex + horizontalEdgeStoppage;\n }\n }\n }\n\n var shouldHorizontalSkipUpdate = horizontalMode && verticalSwipe || horizontalMode && horizontalSwipe && absX > distanceSwipe;\n var shouldVerticalSkipUpdate = verticalMode && horizontalSwipe || verticalMode && verticalSwipe && absY > distanceSwipe;\n\n if (shouldHorizontalSkipUpdate || shouldVerticalSkipUpdate) {\n // bail out of state update\n return;\n }\n\n var swipedSliderPosition;\n\n if (horizontalSwipe) {\n if (isRTL) {\n swipedSliderPosition = sliderPosition + deltaX;\n } else {\n swipedSliderPosition = sliderPosition - deltaX;\n }\n } else {\n swipedSliderPosition = sliderPosition - deltaY;\n }\n\n return {\n swipedSliderPosition: swipedSliderPosition,\n isSwiping: true,\n transitioning: true\n };\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSwiped\", function (data) {\n // we need to handle all scenarios:\n // 1. Horizontal mode - swipe left or right\n // 2. Horizontal mode with RTL - swipe left or right\n // 3. vertical mode - swipe up or down\n var absX = data.absX,\n absY = data.absY,\n dir = data.dir;\n var _this$state = _this.state,\n childWidth = _this$state.childWidth,\n childHeight = _this$state.childHeight,\n activeIndex = _this$state.activeIndex;\n\n var _this$getDerivedProps10 = _this.getDerivedPropsFromBreakPoint(),\n verticalMode = _this$getDerivedProps10.verticalMode,\n isRTL = _this$getDerivedProps10.isRTL,\n itemsToScroll = _this$getDerivedProps10.itemsToScroll;\n\n var func = _this.resetSwipe;\n var minSwipeDistanceHorizontal = childWidth / 5;\n var minSwipeDistanceVertical = childHeight / 5;\n var swipedLeft = dir === \"Left\";\n var swipedRight = dir === \"Right\";\n var swipedUp = dir === \"Up\";\n var swipedDown = dir === \"Down\";\n var verticalGoSwipe = verticalMode && (swipedUp || swipedDown) && absY > minSwipeDistanceVertical;\n var horizontalGoSwipe = !verticalMode && (swipedRight || swipedLeft) && absX > minSwipeDistanceHorizontal;\n var goodToGo = false;\n\n if (verticalGoSwipe || horizontalGoSwipe) {\n goodToGo = true;\n }\n\n if (goodToGo) {\n // we should go to a different item\n // determine what method we need to invoke\n if (verticalMode) {\n // get number of slides from user's swiping\n var numberOfSlidesViaSwipe = Math.ceil((absY - minSwipeDistanceVertical) / childHeight); // if user swipes more than itemsToScroll then we want to bypass itemsToScroll for a smoother scroll\n\n var numberOfSlidesTogo = Math.max(itemsToScroll, numberOfSlidesViaSwipe);\n var backSlidesToGo = activeIndex - numberOfSlidesTogo;\n var forwardSlideTtoGo = activeIndex + numberOfSlidesTogo; // up or down\n\n if (swipedDown) {\n // func = this.onPrevStart;\n func = function func() {\n return _this.goTo(backSlidesToGo);\n };\n }\n\n if (swipedUp) {\n // func = this.onNextStart;\n func = function func() {\n return _this.goTo(forwardSlideTtoGo);\n };\n }\n } else {\n // get number of slides from user's swiping\n var _numberOfSlidesViaSwipe = Math.ceil((absX - minSwipeDistanceHorizontal) / childWidth); // if user swipes more than itemsToScroll then we want to bypass itemsToScroll for a smoother scroll\n\n\n var _numberOfSlidesTogo = Math.max(itemsToScroll, _numberOfSlidesViaSwipe);\n\n var _backSlidesToGo = activeIndex - _numberOfSlidesTogo;\n\n var _forwardSlideTtoGo = activeIndex + _numberOfSlidesTogo; // horizontal mode\n\n\n if (isRTL) {\n // flip sides\n if (swipedLeft) {\n // func = this.onPrevStart;\n func = function func() {\n return _this.goTo(_backSlidesToGo);\n };\n }\n\n if (swipedRight) {\n // func = this.onNextStart;\n func = function func() {\n return _this.goTo(_forwardSlideTtoGo);\n };\n }\n } else {\n // normal behavior\n if (swipedLeft) {\n // func = this.onNextStart;\n func = function func() {\n return _this.goTo(_forwardSlideTtoGo);\n };\n }\n\n if (swipedRight) {\n // func = this.onPrevStart;\n func = function func() {\n return _this.goTo(_backSlidesToGo);\n };\n }\n }\n }\n } // we are not \"tilting\" on edges, so we need to reset isSwiping and transitioning.\n // otherwise we wont slide back to edge\n\n\n _this.setState({\n isSwiping: false,\n transitioning: false\n });\n\n func({\n skipTilt: true\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onNextStart\", function (options) {\n var _this$getDerivedProps11 = _this.getDerivedPropsFromBreakPoint(),\n onNextStart = _this$getDerivedProps11.onNextStart;\n\n var activeIndex = _this.state.activeIndex;\n\n var nextItemObj = _this.getNextItemObj();\n\n var prevItemObj = _this.convertChildToCbObj(activeIndex);\n\n onNextStart(prevItemObj, nextItemObj);\n\n _this.slideNext(options);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPrevStart\", function (options) {\n var _this$getDerivedProps12 = _this.getDerivedPropsFromBreakPoint(),\n onPrevStart = _this$getDerivedProps12.onPrevStart;\n\n var activeIndex = _this.state.activeIndex;\n\n var nextItemObj = _this.getNextItemObj(true);\n\n var prevItemObj = _this.convertChildToCbObj(activeIndex);\n\n onPrevStart(prevItemObj, nextItemObj);\n\n _this.slidePrev(options);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slideNext\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var skipTilt = options.skipTilt;\n\n var _this$getDerivedProps13 = _this.getDerivedPropsFromBreakPoint(),\n enableTilt = _this$getDerivedProps13.enableTilt;\n\n var _this$state2 = _this.state,\n activeIndex = _this$state2.activeIndex,\n sliderPosition = _this$state2.sliderPosition;\n\n var nextItem = _this.getNextItemIndex(activeIndex, false);\n\n if (activeIndex !== nextItem) {\n _this.goTo(nextItem);\n } else if (enableTilt && !skipTilt) {\n _this.tiltMovement(sliderPosition, 20, 150);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slidePrev\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var skipTilt = options.skipTilt;\n var activeIndex = _this.state.activeIndex;\n\n var _this$getDerivedProps14 = _this.getDerivedPropsFromBreakPoint(),\n enableTilt = _this$getDerivedProps14.enableTilt;\n\n var prevItem = _this.getNextItemIndex(activeIndex, true);\n\n if (activeIndex !== prevItem) {\n _this.goTo(prevItem);\n } else if (enableTilt && !skipTilt) {\n _this.tiltMovement(0, -20, 150);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onNextEnd\", function () {\n var _this$getDerivedProps15 = _this.getDerivedPropsFromBreakPoint(),\n onNextEnd = _this$getDerivedProps15.onNextEnd,\n onChange = _this$getDerivedProps15.onChange;\n\n var _this$state3 = _this.state,\n activeIndex = _this$state3.activeIndex,\n activePage = _this$state3.activePage;\n\n var nextItemObj = _this.convertChildToCbObj(activeIndex);\n\n _this.removeSliderTransitionHook(_this.onNextEnd);\n\n _this.setState({\n transitioning: false\n });\n\n onChange && onChange(nextItemObj, activePage);\n onNextEnd(nextItemObj, activePage);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPrevEnd\", function () {\n var _this$getDerivedProps16 = _this.getDerivedPropsFromBreakPoint(),\n onPrevEnd = _this$getDerivedProps16.onPrevEnd,\n onChange = _this$getDerivedProps16.onChange;\n\n var _this$state4 = _this.state,\n activeIndex = _this$state4.activeIndex,\n activePage = _this$state4.activePage;\n\n var nextItemObj = _this.convertChildToCbObj(activeIndex);\n\n _this.removeSliderTransitionHook(_this.onPrevEnd);\n\n _this.setState({\n transitioning: false\n });\n\n onChange && onChange(nextItemObj, activePage);\n onPrevEnd(nextItemObj, activePage);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"generatePositionUpdater\", function (direction, nextItemId, verticalMode, rest) {\n return function (state) {\n var sliderPosition = state.sliderPosition,\n childWidth = state.childWidth,\n childHeight = state.childHeight,\n activeIndex = state.activeIndex;\n var newSliderPosition = 0;\n var childSize = verticalMode ? childHeight : childWidth;\n\n if (direction === consts.NEXT) {\n newSliderPosition = sliderPosition - childSize * (nextItemId - activeIndex);\n } else {\n newSliderPosition = sliderPosition + childSize * (activeIndex - nextItemId);\n }\n\n return _objectSpread2({\n sliderPosition: newSliderPosition,\n activeIndex: nextItemId,\n swipedSliderPosition: 0,\n isSwiping: false\n }, rest);\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"goTo\", function (nextItemId) {\n var _this$getDerivedProps17 = _this.getDerivedPropsFromBreakPoint(),\n children = _this$getDerivedProps17.children,\n verticalMode = _this$getDerivedProps17.verticalMode,\n itemsToShow = _this$getDerivedProps17.itemsToShow;\n\n var activeIndex = _this.state.activeIndex;\n var childrenLength = Children.toArray(children).length;\n var safeNextItemId = Math.max(0, nextItemId); // don't allow negative numbers\n\n var isPrev = activeIndex > safeNextItemId;\n\n var nextAvailableItem = _this.getNextItemIndex(activeIndex, isPrev);\n\n var noChange = nextAvailableItem === activeIndex;\n var outOfBoundary = safeNextItemId + itemsToShow >= childrenLength;\n\n if (noChange) {\n return;\n }\n\n if (outOfBoundary) {\n // Either go to last index (respect itemsToShow) or 0 index if we can't fill the slider\n safeNextItemId = Math.max(0, childrenLength - itemsToShow);\n }\n\n var direction = consts.NEXT;\n var positionEndCb = _this.onNextEnd;\n\n if (isPrev) {\n direction = consts.PREV;\n positionEndCb = _this.onPrevEnd;\n }\n\n var stateUpdater = _this.generatePositionUpdater(direction, safeNextItemId, verticalMode, {\n transitioning: true\n });\n\n _this.setState(stateUpdater, function () {\n // callback\n pipe(_this.updateActivePage(), _this.onSliderTransitionEnd(positionEndCb));\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getNumOfPages\", function () {\n var _this$getDerivedProps18 = _this.getDerivedPropsFromBreakPoint(),\n children = _this$getDerivedProps18.children,\n itemsToShow = _this$getDerivedProps18.itemsToShow;\n\n var childrenLength = Children.toArray(children).length;\n var safeItemsToShow = Math.max(itemsToShow, 1);\n var numOfPages = Math.ceil(childrenLength / safeItemsToShow);\n return numOfPages || 1;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateActivePage\", function () {\n _this.setState(function (state) {\n var _this$getDerivedProps19 = _this.getDerivedPropsFromBreakPoint(),\n itemsToShow = _this$getDerivedProps19.itemsToShow,\n children = _this$getDerivedProps19.children;\n\n var activeIndex = state.activeIndex,\n activePage = state.activePage;\n\n var numOfPages = _this.getNumOfPages();\n\n var childrenLength = Children.toArray(children).length;\n var inRangeItemsToShow = Math.min(childrenLength, itemsToShow); // watch out from 0 (so we wont divide by zero)\n\n var safeItemsToShow = Math.max(inRangeItemsToShow, 1);\n var newActivePage = Math.ceil(activeIndex / safeItemsToShow);\n var inRangeActivePageIndex = Math.min(numOfPages - 1, newActivePage);\n\n if (activePage !== inRangeActivePageIndex) {\n return {\n activePage: inRangeActivePageIndex\n };\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onIndicatorClick\", function (indicatorId) {\n var _this$getDerivedProps20 = _this.getDerivedPropsFromBreakPoint(),\n itemsToShow = _this$getDerivedProps20.itemsToShow;\n\n var gotoIndex = indicatorId * itemsToShow;\n\n _this.setState({\n activePage: indicatorId\n });\n\n _this.goTo(gotoIndex);\n });\n\n return _this;\n }\n\n _createClass(Carousel, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.initResizeObserver();\n this.updateActivePage();\n this.setPages();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var _this$props2 = this.props,\n enableAutoPlay = _this$props2.enableAutoPlay,\n children = _this$props2.children,\n itemsToShow = _this$props2.itemsToShow,\n itemsToScroll = _this$props2.itemsToScroll,\n breakPoints = _this$props2.breakPoints;\n var _this$state5 = this.state,\n activeIndex = _this$state5.activeIndex,\n sliderContainerWidth = _this$state5.sliderContainerWidth;\n var nextItem = this.getNextItemIndex(activeIndex, false);\n var currentChildrenLength = Children.toArray(children).length;\n var prevChildrenLength = Children.toArray(prevProps.children).length; // update pages (for pagination)\n\n if (prevChildrenLength !== currentChildrenLength || prevProps.itemsToShow !== itemsToShow || prevProps.itemsToScroll !== itemsToScroll || prevProps.breakPoints !== breakPoints || sliderContainerWidth !== prevState.sliderContainerWidth) {\n // we mimic a container resize to recalculate item width when itemsToShow are updated\n this.onContainerResize({\n contentRect: {\n width: sliderContainerWidth\n }\n });\n this.setPages();\n this.updateActivePage();\n } // autoplay update\n\n\n if (activeIndex === nextItem) {\n this.removeAutoPlay();\n } else if (enableAutoPlay && !this.autoPlayIntervalId) {\n this.setAutoPlay();\n } else if (!enableAutoPlay && this.autoPlayIntervalId) {\n this.removeAutoPlay();\n }\n\n if (prevChildrenLength !== currentChildrenLength) {\n var _this$getDerivedProps21 = this.getDerivedPropsFromBreakPoint(),\n calculatedItemsToShow = _this$getDerivedProps21.itemsToShow; // number of items is reduced (we don't care if number of items is increased)\n // we need to check if our current index is not out of boundaries\n // we need to include itemsToShow so we can fill up the slots\n\n\n var lastIndex = currentChildrenLength - 1;\n var isOutOfRange = activeIndex + calculatedItemsToShow > lastIndex;\n\n if (isOutOfRange) {\n // we are out of boundaries, go \"back\" to last item of the list (respect itemsToShow)\n this.goTo(Math.max(0, currentChildrenLength - calculatedItemsToShow));\n }\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.unSubscribeObserver();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state6 = this.state,\n childWidth = _this$state6.childWidth,\n activePage = _this$state6.activePage,\n isSwiping = _this$state6.isSwiping,\n sliderPosition = _this$state6.sliderPosition,\n swipedSliderPosition = _this$state6.swipedSliderPosition,\n rootHeight = _this$state6.rootHeight,\n pages = _this$state6.pages,\n activeIndex = _this$state6.activeIndex,\n transitionMs = _this$state6.transitionMs;\n\n var _this$getDerivedProps22 = this.getDerivedPropsFromBreakPoint(),\n className = _this$getDerivedProps22.className,\n style = _this$getDerivedProps22.style,\n itemsToShow = _this$getDerivedProps22.itemsToShow,\n itemsToScroll = _this$getDerivedProps22.itemsToScroll,\n verticalMode = _this$getDerivedProps22.verticalMode,\n isRTL = _this$getDerivedProps22.isRTL,\n easing = _this$getDerivedProps22.easing,\n tiltEasing = _this$getDerivedProps22.tiltEasing,\n children = _this$getDerivedProps22.children,\n focusOnSelect = _this$getDerivedProps22.focusOnSelect,\n autoTabIndexVisibleItems = _this$getDerivedProps22.autoTabIndexVisibleItems,\n itemPosition = _this$getDerivedProps22.itemPosition,\n itemPadding = _this$getDerivedProps22.itemPadding,\n outerSpacing = _this$getDerivedProps22.outerSpacing,\n enableSwipe = _this$getDerivedProps22.enableSwipe,\n enableMouseSwipe = _this$getDerivedProps22.enableMouseSwipe,\n pagination = _this$getDerivedProps22.pagination,\n showArrows = _this$getDerivedProps22.showArrows,\n disableArrowsOnEnd = _this$getDerivedProps22.disableArrowsOnEnd,\n preventDefaultTouchmoveEvent = _this$getDerivedProps22.preventDefaultTouchmoveEvent,\n renderArrow = _this$getDerivedProps22.renderArrow,\n renderPagination = _this$getDerivedProps22.renderPagination;\n\n var numOfPages = this.getNumOfPages();\n /** Determine if arrows should be disabled */\n\n var canSlidePrev = activeIndex !== this.getNextItemIndex(activeIndex, true);\n var canSlideNext = activeIndex !== this.getNextItemIndex(activeIndex, false);\n var disabledPrevArrow = !canSlidePrev && disableArrowsOnEnd;\n var disabledNextArrow = !canSlideNext && disableArrowsOnEnd;\n return /*#__PURE__*/React.createElement(CarouselWrapper, {\n isRTL: isRTL,\n className: \"\".concat(cssPrefix(\"carousel-wrapper\"), \" \").concat(className),\n style: style\n }, /*#__PURE__*/React.createElement(StyledCarousel, {\n className: cssPrefix(\"carousel\"),\n size: {\n height: rootHeight\n }\n }, /*#__PURE__*/React.createElement(Only, {\n when: showArrows\n }, renderArrow ? renderArrow({\n type: consts.PREV,\n onClick: this.onPrevStart,\n isEdge: !canSlidePrev\n }) : /*#__PURE__*/React.createElement(Arrow, {\n onClick: this.onPrevStart,\n direction: verticalMode ? Arrow.up : Arrow.left,\n disabled: disabledPrevArrow\n })), /*#__PURE__*/React.createElement(SliderContainer, {\n className: cssPrefix(\"slider-container\"),\n ref: this.setRef(\"sliderContainer\")\n }, /*#__PURE__*/React.createElement(Slider, {\n verticalMode: verticalMode,\n isRTL: isRTL,\n easing: easing,\n sliderPosition: sliderPosition,\n swipedSliderPosition: swipedSliderPosition,\n isSwiping: isSwiping,\n transitionMs: transitionMs,\n tiltEasing: tiltEasing,\n className: cssPrefix(\"slider\"),\n ref: this.setRef(\"slider\"),\n outerSpacing: outerSpacing\n }, /*#__PURE__*/React.createElement(Track, {\n verticalMode: verticalMode,\n children: Children.toArray(children),\n childWidth: childWidth,\n currentItem: activeIndex,\n autoTabIndexVisibleItems: autoTabIndexVisibleItems,\n itemsToShow: itemsToShow,\n itemsToScroll: itemsToScroll,\n itemPosition: itemPosition,\n itemPadding: itemPadding,\n enableSwipe: enableSwipe,\n enableMouseSwipe: enableMouseSwipe,\n preventDefaultTouchmoveEvent: preventDefaultTouchmoveEvent,\n onSwiped: this.onSwiped,\n onSwiping: this.onSwiping,\n onItemClick: focusOnSelect ? this.goTo : undefined\n }))), /*#__PURE__*/React.createElement(Only, {\n when: showArrows\n }, renderArrow ? renderArrow({\n type: consts.NEXT,\n onClick: this.onNextStart,\n isEdge: !canSlideNext\n }) : /*#__PURE__*/React.createElement(Arrow, {\n onClick: this.onNextStart,\n direction: verticalMode ? Arrow.down : Arrow.right,\n disabled: disabledNextArrow\n }))), /*#__PURE__*/React.createElement(Only, {\n when: pagination\n }, renderPagination ? renderPagination({\n pages: pages,\n activePage: activePage,\n onClick: this.onIndicatorClick\n }) : /*#__PURE__*/React.createElement(Pagination, {\n numOfPages: numOfPages,\n activePage: activePage,\n onClick: this.onIndicatorClick\n })));\n }\n }]);\n\n return Carousel;\n}(React.Component);\n\nCarousel.defaultProps = {\n className: \"\",\n style: {},\n verticalMode: false,\n isRTL: false,\n initialFirstItem: 0,\n initialActiveIndex: 0,\n showArrows: true,\n showEmptySlots: false,\n disableArrowsOnEnd: true,\n pagination: true,\n easing: \"ease\",\n tiltEasing: \"ease\",\n transitionMs: 500,\n enableTilt: true,\n enableSwipe: true,\n enableMouseSwipe: true,\n preventDefaultTouchmoveEvent: false,\n focusOnSelect: false,\n autoTabIndexVisibleItems: true,\n itemsToShow: 1,\n itemsToScroll: 1,\n itemPosition: consts.CENTER,\n itemPadding: [0, 0, 0, 0],\n outerSpacing: 0,\n enableAutoPlay: false,\n autoPlaySpeed: 2000,\n // callbacks\n onChange: noop,\n onNextEnd: noop,\n onPrevEnd: noop,\n onNextStart: noop,\n onPrevStart: noop,\n onResize: noop\n};\nexport default Carousel;\nexport { consts };","import React, { useState, useRef, useEffect } from \"react\"\nimport TreatmentBlock from \"../../TreatmentBlock/TreatmentBlock\"\nimport TreatmentModal from \"../../TreatmentModal/TreatmentModal\"\nimport Carousel from \"react-elastic-carousel\"\nimport style from \"./ItemCarousel.module.scss\"\n\nconst closeModal = setModal => {\n setModal(null)\n}\n\nconst createTreatments = (treatments, setModal) => {\n return treatments.map((value, id) => {\n let data\n\n if (value.node !== undefined) {\n data = value.node\n } else data = value\n\n return (\n \n showModal(\n data.Nazwa,\n data.Zdjecie,\n data.Cena,\n data.Czas,\n data.Opis,\n setModal\n )\n }\n name={data.Nazwa}\n img={data.Zdjecie}\n price={data.Cena}\n time={data.Czas}\n />\n )\n })\n}\n\nconst showModal = (name, img, price, time, desc, setModal) => {\n const newModal = (\n closeModal(setModal)}\n />\n )\n setModal(newModal)\n}\n\nfunction getLastIndex(width, breakPoints, itemsLength) {\n let itemsPerPage = 1\n for (let i = 0; i < breakPoints.length; i++) {\n if (width > breakPoints[i].width) {\n itemsPerPage = breakPoints[i].itemsToShow\n }\n }\n\n let lastIndex = itemsLength - itemsPerPage + 1\n\n return lastIndex\n}\n\nfunction ItemCarousel(props) {\n const [width, setWidth] = useState(0)\n const [modal, setModal] = useState()\n const playSpeed = props.playSpeed\n const itemsNumber = props.items.length\n const carouselRef = useRef()\n let resetTimeout\n\n const breakPoints = [\n { width: 1, itemsToShow: 1 },\n { width: 550, itemsToShow: 2 },\n { width: 850, itemsToShow: 3 },\n { width: 10000, itemsToShow: 4 },\n ]\n\n useEffect(() => {\n setWidth(window.innerWidth)\n\n window.addEventListener(\"resize\", () => {\n setWidth(window.innerWidth)\n })\n\n return () => {\n window.removeEventListener(\"resize\", () => {})\n }\n }, [])\n\n const onNextStart = (currentItem, nextItem) => {\n if (currentItem.index === nextItem.index) {\n // we hit the last item, go to first item\n carouselRef.current.goTo(0)\n }\n }\n\n const onPrevStart = (currentItem, nextItem) => {\n if (currentItem.index === nextItem.index) {\n // we hit the first item, go to last item\n carouselRef.current.goTo(itemsNumber)\n }\n }\n\n return (\n <>\n
\n {modal ?? null}\n
\n {\n clearTimeout(resetTimeout)\n if (index + 1 === getLastIndex(width, breakPoints, itemsNumber)) {\n resetTimeout = setTimeout(() => {\n carouselRef.current.goTo(0)\n }, playSpeed / 2)\n }\n }}\n >\n {createTreatments(props.items, setModal)}\n \n \n )\n}\n\nexport default ItemCarousel\n","import React from \"react\"\nimport { graphql, Link } from \"gatsby\"\nimport Layout from \"../../components/layout\"\nimport Problems from \"../../components/problems/problems\"\nimport ItemCarousel from \"../../components/Treatments/TreatmentsCarousel/ItemCarousel/ItemCarousel\"\nimport style from \"./problem.module.scss\"\nimport ReactMarkdown from \"react-markdown\"\nimport Img from \"gatsby-image\"\nimport SEO from \"../../components/seo\"\n\nfunction Problem({ data }) {\n const problem = data.strapiProblem\n\n const treatmentsBlock = () => {\n if (data.strapiProblem.zabiegs.length > 0) {\n return (\n
\n

Proponujemy

\n \n
\n )\n } else {\n return (\n
\n

\n Prosimy o kontakt w sprawie tego problemu...\n

\n
\n )\n }\n }\n return (\n \n \n
\n \n

{problem.tytul}

\n \n uri.startsWith(\"http\") ? uri : `${process.env.IMAGE_BASE_URL}${uri}`\n }\n />\n
\n\n {treatmentsBlock()}\n \n
\n )\n}\n\nexport const query = graphql`\n query problemTemplate($id: String!) {\n strapiProblem(id: { eq: $id }) {\n id\n obrazek {\n childImageSharp {\n fluid(maxWidth: 1000) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n opis\n tytul\n zabiegs {\n Cena\n Nazwa\n Opis\n pozycja_na_stronie\n Zdjecie {\n childImageSharp {\n fluid(maxWidth: 1000) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n id\n }\n }\n }\n`\n\nexport default Problem\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"TreatmentModal-module--container--1RZhD\",\"modal\":\"TreatmentModal-module--modal--EJ8c7\",\"close\":\"TreatmentModal-module--close--295yb\",\"image\":\"TreatmentModal-module--image--7041P\",\"button\":\"TreatmentModal-module--button--1ROx2\",\"text\":\"TreatmentModal-module--text--1orig\",\"name\":\"TreatmentModal-module--name--3ds4S\",\"desc\":\"TreatmentModal-module--desc--2q94R\",\"backdrop\":\"TreatmentModal-module--backdrop--3Yroy\"};","import React from \"react\"\nimport style from \"./problems.module.scss\"\nimport { graphql, useStaticQuery, Link } from \"gatsby\"\nimport Img from \"gatsby-image\"\n\nfunction Problems(props) {\n const data = useStaticQuery(query)\n\n const problems = data.allStrapiProblem.nodes\n\n const handleProblems = data => {\n return data\n .sort((a, b) => a.pozycja_na_stronie - b.pozycja_na_stronie)\n .map(problem => {\n return (\n \n
\n
\n \n
\n

{problem.tytul}

\n
\n \n )\n })\n }\n\n return (\n
\n

{props.title}

\n\n
{handleProblems(problems)}
\n
\n )\n}\n\nconst query = graphql`\n {\n allStrapiProblem {\n nodes {\n id\n tytul\n pozycja_na_stronie\n obrazek {\n childImageSharp {\n fluid(maxWidth: 600) {\n ...GatsbyImageSharpFluid\n }\n }\n }\n }\n }\n }\n`\n\nexport default Problems\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"TreatmentsBlock\":\"problem-module--TreatmentsBlock--2I1nw\",\"TitleTreatments\":\"problem-module--TitleTreatments--2WBgm\",\"Problem\":\"problem-module--Problem--27BCn\",\"TitleProblem\":\"problem-module--TitleProblem--3768l\",\"Text\":\"problem-module--Text--3B49h\",\"ProblemImage\":\"problem-module--ProblemImage--2HRGa\"};","import React from \"react\"\nimport Img from \"gatsby-image\"\n\nimport classes from \"./TreatmentBlock.module.scss\"\n\nconst TreatmentBlock = ({ name, img, price, onClick }) => {\n return (\n \n \n

\n {name.length > 40 ? name.slice(0, 40) + \"...\" : name}\n

\n
\n

Cena

\n

{price}

\n
\n \n \n )\n}\n\nexport default TreatmentBlock\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"treatment_block\":\"TreatmentBlock-module--treatment_block--whB5P\",\"image\":\"TreatmentBlock-module--image--1tYAw\",\"name\":\"TreatmentBlock-module--name--1es0u\",\"data\":\"TreatmentBlock-module--data--yH6hC\",\"labels\":\"TreatmentBlock-module--labels--3CGWz\",\"values\":\"TreatmentBlock-module--values--1gHJO\",\"button\":\"TreatmentBlock-module--button--29te1\",\"buttonactive\":\"TreatmentBlock-module--buttonactive--33mE2\",\"buttonfocus\":\"TreatmentBlock-module--buttonfocus--16bpz\"};","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n/* global define */\n(function () {\n 'use strict';\n\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n var argType = typeof arg;\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (typeof module !== 'undefined' && module.exports) {\n classNames.default = classNames;\n module.exports = classNames;\n } else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n // register as 'classnames', consistent with npm package name\n define('classnames', [], function () {\n return classNames;\n });\n } else {\n window.classNames = classNames;\n }\n})();","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Container\":\"problems-module--Container--j3jn_\",\"Title\":\"problems-module--Title--2j-Rm\",\"Flex\":\"problems-module--Flex--16_b4\",\"Problem\":\"problems-module--Problem--3CNJp\",\"Image\":\"problems-module--Image--1_mDC\",\"ImageHidden\":\"problems-module--ImageHidden--12J-V\",\"ProblemName\":\"problems-module--ProblemName--8vs7M\",\"Link\":\"problems-module--Link--2xRoW\"};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import \"core-js/modules/es.array.reduce.js\";\n\n/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\n\n/* eslint-disable require-jsdoc, valid-jsdoc */\nvar MapShim = function () {\n if (typeof Map !== 'undefined') {\n return Map;\n }\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\n\n\n function getIndex(arr, key) {\n var result = -1;\n arr.some(function (entry, index) {\n if (entry[0] === key) {\n result = index;\n return true;\n }\n\n return false;\n });\n return result;\n }\n\n return function () {\n function anonymous() {\n this.__entries__ = [];\n }\n\n var prototypeAccessors = {\n size: {\n configurable: true\n }\n };\n /**\r\n * @returns {boolean}\r\n */\n\n prototypeAccessors.size.get = function () {\n return this.__entries__.length;\n };\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\n\n\n anonymous.prototype.get = function (key) {\n var index = getIndex(this.__entries__, key);\n var entry = this.__entries__[index];\n return entry && entry[1];\n };\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\n\n\n anonymous.prototype.set = function (key, value) {\n var index = getIndex(this.__entries__, key);\n\n if (~index) {\n this.__entries__[index][1] = value;\n } else {\n this.__entries__.push([key, value]);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n\n\n anonymous.prototype.delete = function (key) {\n var entries = this.__entries__;\n var index = getIndex(entries, key);\n\n if (~index) {\n entries.splice(index, 1);\n }\n };\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\n\n\n anonymous.prototype.has = function (key) {\n return !!~getIndex(this.__entries__, key);\n };\n /**\r\n * @returns {void}\r\n */\n\n\n anonymous.prototype.clear = function () {\n this.__entries__.splice(0);\n };\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\n\n\n anonymous.prototype.forEach = function (callback, ctx) {\n var this$1 = this;\n if (ctx === void 0) ctx = null;\n\n for (var i = 0, list = this$1.__entries__; i < list.length; i += 1) {\n var entry = list[i];\n callback.call(ctx, entry[1], entry[0]);\n }\n };\n\n Object.defineProperties(anonymous.prototype, prototypeAccessors);\n return anonymous;\n }();\n}();\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\n\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document; // Returns global object of a current environment.\n\nvar global$1 = function () {\n if (typeof global !== 'undefined' && global.Math === Math) {\n return global;\n }\n\n if (typeof self !== 'undefined' && self.Math === Math) {\n return self;\n }\n\n if (typeof window !== 'undefined' && window.Math === Math) {\n return window;\n } // eslint-disable-next-line no-new-func\n\n\n return Function('return this')();\n}();\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\n\n\nvar requestAnimationFrame$1 = function () {\n if (typeof requestAnimationFrame === 'function') {\n // It's required to use a bounded function because IE sometimes throws\n // an \"Invalid calling object\" error if rAF is invoked without the global\n // object on the left hand side.\n return requestAnimationFrame.bind(global$1);\n }\n\n return function (callback) {\n return setTimeout(function () {\n return callback(Date.now());\n }, 1000 / 60);\n };\n}(); // Defines minimum timeout before adding a trailing call.\n\n\nvar trailingTimeout = 2;\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\n\nvar throttle = function throttle(callback, delay) {\n var leadingCall = false,\n trailingCall = false,\n lastCallTime = 0;\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\n\n function resolvePending() {\n if (leadingCall) {\n leadingCall = false;\n callback();\n }\n\n if (trailingCall) {\n proxy();\n }\n }\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\n\n\n function timeoutCallback() {\n requestAnimationFrame$1(resolvePending);\n }\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\n\n\n function proxy() {\n var timeStamp = Date.now();\n\n if (leadingCall) {\n // Reject immediately following calls.\n if (timeStamp - lastCallTime < trailingTimeout) {\n return;\n } // Schedule new call to be in invoked when the pending one is resolved.\n // This is important for \"transitions\" which never actually start\n // immediately so there is a chance that we might miss one if change\n // happens amids the pending invocation.\n\n\n trailingCall = true;\n } else {\n leadingCall = true;\n trailingCall = false;\n setTimeout(timeoutCallback, delay);\n }\n\n lastCallTime = timeStamp;\n }\n\n return proxy;\n}; // Minimum delay before invoking the update of observers.\n\n\nvar REFRESH_DELAY = 20; // A list of substrings of CSS properties used to find transition events that\n// might affect dimensions of observed elements.\n\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight']; // Check if MutationObserver is available.\n\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\n\nvar ResizeObserverController = function ResizeObserverController() {\n this.connected_ = false;\n this.mutationEventsAdded_ = false;\n this.mutationsObserver_ = null;\n this.observers_ = [];\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\n};\n/**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\n\n/**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\n\n/**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\n\n/**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\n\n\nResizeObserverController.prototype.addObserver = function (observer) {\n if (!~this.observers_.indexOf(observer)) {\n this.observers_.push(observer);\n } // Add listeners if they haven't been added yet.\n\n\n if (!this.connected_) {\n this.connect_();\n }\n};\n/**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\n\n\nResizeObserverController.prototype.removeObserver = function (observer) {\n var observers = this.observers_;\n var index = observers.indexOf(observer); // Remove observer if it's present in registry.\n\n if (~index) {\n observers.splice(index, 1);\n } // Remove listeners if controller has no connected observers.\n\n\n if (!observers.length && this.connected_) {\n this.disconnect_();\n }\n};\n/**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\n\n\nResizeObserverController.prototype.refresh = function () {\n var changesDetected = this.updateObservers_(); // Continue running updates if changes have been detected as there might\n // be future ones caused by CSS transitions.\n\n if (changesDetected) {\n this.refresh();\n }\n};\n/**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\n\n\nResizeObserverController.prototype.updateObservers_ = function () {\n // Collect observers that have active observations.\n var activeObservers = this.observers_.filter(function (observer) {\n return observer.gatherActive(), observer.hasActive();\n }); // Deliver notifications in a separate cycle in order to avoid any\n // collisions between observers, e.g. when multiple instances of\n // ResizeObserver are tracking the same element and the callback of one\n // of them changes content dimensions of the observed target. Sometimes\n // this may result in notifications being blocked for the rest of observers.\n\n activeObservers.forEach(function (observer) {\n return observer.broadcastActive();\n });\n return activeObservers.length > 0;\n};\n/**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n\n\nResizeObserverController.prototype.connect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already added.\n if (!isBrowser || this.connected_) {\n return;\n } // Subscription to the \"Transitionend\" event is used as a workaround for\n // delayed transitions. This way it's possible to capture at least the\n // final state of an element.\n\n\n document.addEventListener('transitionend', this.onTransitionEnd_);\n window.addEventListener('resize', this.refresh);\n\n if (mutationObserverSupported) {\n this.mutationsObserver_ = new MutationObserver(this.refresh);\n this.mutationsObserver_.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n } else {\n document.addEventListener('DOMSubtreeModified', this.refresh);\n this.mutationEventsAdded_ = true;\n }\n\n this.connected_ = true;\n};\n/**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\n\n\nResizeObserverController.prototype.disconnect_ = function () {\n // Do nothing if running in a non-browser environment or if listeners\n // have been already removed.\n if (!isBrowser || !this.connected_) {\n return;\n }\n\n document.removeEventListener('transitionend', this.onTransitionEnd_);\n window.removeEventListener('resize', this.refresh);\n\n if (this.mutationsObserver_) {\n this.mutationsObserver_.disconnect();\n }\n\n if (this.mutationEventsAdded_) {\n document.removeEventListener('DOMSubtreeModified', this.refresh);\n }\n\n this.mutationsObserver_ = null;\n this.mutationEventsAdded_ = false;\n this.connected_ = false;\n};\n/**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\n\n\nResizeObserverController.prototype.onTransitionEnd_ = function (ref) {\n var propertyName = ref.propertyName;\n if (propertyName === void 0) propertyName = ''; // Detect whether transition may affect dimensions of an element.\n\n var isReflowProperty = transitionKeys.some(function (key) {\n return !!~propertyName.indexOf(key);\n });\n\n if (isReflowProperty) {\n this.refresh();\n }\n};\n/**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\n\n\nResizeObserverController.getInstance = function () {\n if (!this.instance_) {\n this.instance_ = new ResizeObserverController();\n }\n\n return this.instance_;\n};\n\nResizeObserverController.instance_ = null;\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\n\nvar defineConfigurable = function defineConfigurable(target, props) {\n for (var i = 0, list = Object.keys(props); i < list.length; i += 1) {\n var key = list[i];\n Object.defineProperty(target, key, {\n value: props[key],\n enumerable: false,\n writable: false,\n configurable: true\n });\n }\n\n return target;\n};\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\n\n\nvar getWindowOf = function getWindowOf(target) {\n // Assume that the element is an instance of Node, which means that it\n // has the \"ownerDocument\" property from which we can retrieve a\n // corresponding global object.\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView; // Return the local global object if it's not possible extract one from\n // provided element.\n\n return ownerGlobal || global$1;\n}; // Placeholder of an empty content rectangle.\n\n\nvar emptyRect = createRectInit(0, 0, 0, 0);\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\n\nfunction toFloat(value) {\n return parseFloat(value) || 0;\n}\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\n\n\nfunction getBordersSize(styles) {\n var positions = [],\n len = arguments.length - 1;\n\n while (len-- > 0) {\n positions[len] = arguments[len + 1];\n }\n\n return positions.reduce(function (size, position) {\n var value = styles['border-' + position + '-width'];\n return size + toFloat(value);\n }, 0);\n}\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\n\n\nfunction getPaddings(styles) {\n var positions = ['top', 'right', 'bottom', 'left'];\n var paddings = {};\n\n for (var i = 0, list = positions; i < list.length; i += 1) {\n var position = list[i];\n var value = styles['padding-' + position];\n paddings[position] = toFloat(value);\n }\n\n return paddings;\n}\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction getSVGContentRect(target) {\n var bbox = target.getBBox();\n return createRectInit(0, 0, bbox.width, bbox.height);\n}\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction getHTMLElementContentRect(target) {\n // Client width & height properties can't be\n // used exclusively as they provide rounded values.\n var clientWidth = target.clientWidth;\n var clientHeight = target.clientHeight; // By this condition we can catch all non-replaced inline, hidden and\n // detached elements. Though elements with width & height properties less\n // than 0.5 will be discarded as well.\n //\n // Without it we would need to implement separate methods for each of\n // those cases and it's not possible to perform a precise and performance\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\n // gives wrong results for elements with width & height less than 0.5.\n\n if (!clientWidth && !clientHeight) {\n return emptyRect;\n }\n\n var styles = getWindowOf(target).getComputedStyle(target);\n var paddings = getPaddings(styles);\n var horizPad = paddings.left + paddings.right;\n var vertPad = paddings.top + paddings.bottom; // Computed styles of width & height are being used because they are the\n // only dimensions available to JS that contain non-rounded values. It could\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\n // affected by CSS transformations let alone paddings, borders and scroll bars.\n\n var width = toFloat(styles.width),\n height = toFloat(styles.height); // Width & height include paddings and borders when the 'border-box' box\n // model is applied (except for IE).\n\n if (styles.boxSizing === 'border-box') {\n // Following conditions are required to handle Internet Explorer which\n // doesn't include paddings and borders to computed CSS dimensions.\n //\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\n // properties then it's either IE, and thus we don't need to subtract\n // anything, or an element merely doesn't have paddings/borders styles.\n if (Math.round(width + horizPad) !== clientWidth) {\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\n }\n\n if (Math.round(height + vertPad) !== clientHeight) {\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\n }\n } // Following steps can't be applied to the document's root element as its\n // client[Width/Height] properties represent viewport area of the window.\n // Besides, it's as well not necessary as the itself neither has\n // rendered scroll bars nor it can be clipped.\n\n\n if (!isDocumentElement(target)) {\n // In some browsers (only in Firefox, actually) CSS width & height\n // include scroll bars size which can be removed at this step as scroll\n // bars are the only difference between rounded dimensions + paddings\n // and \"client\" properties, though that is not always true in Chrome.\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\n var horizScrollbar = Math.round(height + vertPad) - clientHeight; // Chrome has a rather weird rounding of \"client\" properties.\n // E.g. for an element with content width of 314.2px it sometimes gives\n // the client width of 315px and for the width of 314.7px it may give\n // 314px. And it doesn't happen all the time. So just ignore this delta\n // as a non-relevant.\n\n if (Math.abs(vertScrollbar) !== 1) {\n width -= vertScrollbar;\n }\n\n if (Math.abs(horizScrollbar) !== 1) {\n height -= horizScrollbar;\n }\n }\n\n return createRectInit(paddings.left, paddings.top, width, height);\n}\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\n\n\nvar isSVGGraphicsElement = function () {\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\n // interface.\n if (typeof SVGGraphicsElement !== 'undefined') {\n return function (target) {\n return target instanceof getWindowOf(target).SVGGraphicsElement;\n };\n } // If it's so, then check that element is at least an instance of the\n // SVGElement and that it has the \"getBBox\" method.\n // eslint-disable-next-line no-extra-parens\n\n\n return function (target) {\n return target instanceof getWindowOf(target).SVGElement && typeof target.getBBox === 'function';\n };\n}();\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\n\n\nfunction isDocumentElement(target) {\n return target === getWindowOf(target).document.documentElement;\n}\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction getContentRect(target) {\n if (!isBrowser) {\n return emptyRect;\n }\n\n if (isSVGGraphicsElement(target)) {\n return getSVGContentRect(target);\n }\n\n return getHTMLElementContentRect(target);\n}\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\n\n\nfunction createReadOnlyRect(ref) {\n var x = ref.x;\n var y = ref.y;\n var width = ref.width;\n var height = ref.height; // If DOMRectReadOnly is available use it as a prototype for the rectangle.\n\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\n var rect = Object.create(Constr.prototype); // Rectangle's properties are not writable and non-enumerable.\n\n defineConfigurable(rect, {\n x: x,\n y: y,\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: height + y,\n left: x\n });\n return rect;\n}\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\n\n\nfunction createRectInit(x, y, width, height) {\n return {\n x: x,\n y: y,\n width: width,\n height: height\n };\n}\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\n\n\nvar ResizeObservation = function ResizeObservation(target) {\n this.broadcastWidth = 0;\n this.broadcastHeight = 0;\n this.contentRect_ = createRectInit(0, 0, 0, 0);\n this.target = target;\n};\n/**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\n\n/**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\n\n/**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\n\n\nResizeObservation.prototype.isActive = function () {\n var rect = getContentRect(this.target);\n this.contentRect_ = rect;\n return rect.width !== this.broadcastWidth || rect.height !== this.broadcastHeight;\n};\n/**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\n\n\nResizeObservation.prototype.broadcastRect = function () {\n var rect = this.contentRect_;\n this.broadcastWidth = rect.width;\n this.broadcastHeight = rect.height;\n return rect;\n};\n\nvar ResizeObserverEntry = function ResizeObserverEntry(target, rectInit) {\n var contentRect = createReadOnlyRect(rectInit); // According to the specification following properties are not writable\n // and are also not enumerable in the native implementation.\n //\n // Property accessors are not being used as they'd require to define a\n // private WeakMap storage which may cause memory leaks in browsers that\n // don't support this type of collections.\n\n defineConfigurable(this, {\n target: target,\n contentRect: contentRect\n });\n};\n\nvar ResizeObserverSPI = function ResizeObserverSPI(callback, controller, callbackCtx) {\n this.activeObservations_ = [];\n this.observations_ = new MapShim();\n\n if (typeof callback !== 'function') {\n throw new TypeError('The callback provided as parameter 1 is not a function.');\n }\n\n this.callback_ = callback;\n this.controller_ = controller;\n this.callbackCtx_ = callbackCtx;\n};\n/**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\n\n/**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\n\n/**\r\n * Public ResizeObserver instance which will be passed to the callback\r\n * function and used as a value of it's \"this\" binding.\r\n *\r\n * @private {ResizeObserver}\r\n */\n\n/**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\n\n\nResizeObserverSPI.prototype.observe = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n } // Do nothing if current environment doesn't have the Element interface.\n\n\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n\n var observations = this.observations_; // Do nothing if element is already being observed.\n\n if (observations.has(target)) {\n return;\n }\n\n observations.set(target, new ResizeObservation(target));\n this.controller_.addObserver(this); // Force the update of observations.\n\n this.controller_.refresh();\n};\n/**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\n\n\nResizeObserverSPI.prototype.unobserve = function (target) {\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n } // Do nothing if current environment doesn't have the Element interface.\n\n\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\n return;\n }\n\n if (!(target instanceof getWindowOf(target).Element)) {\n throw new TypeError('parameter 1 is not of type \"Element\".');\n }\n\n var observations = this.observations_; // Do nothing if element is not being observed.\n\n if (!observations.has(target)) {\n return;\n }\n\n observations.delete(target);\n\n if (!observations.size) {\n this.controller_.removeObserver(this);\n }\n};\n/**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\n\n\nResizeObserverSPI.prototype.disconnect = function () {\n this.clearActive();\n this.observations_.clear();\n this.controller_.removeObserver(this);\n};\n/**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\n\n\nResizeObserverSPI.prototype.gatherActive = function () {\n var this$1 = this;\n this.clearActive();\n this.observations_.forEach(function (observation) {\n if (observation.isActive()) {\n this$1.activeObservations_.push(observation);\n }\n });\n};\n/**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\n\n\nResizeObserverSPI.prototype.broadcastActive = function () {\n // Do nothing if observer doesn't have active observations.\n if (!this.hasActive()) {\n return;\n }\n\n var ctx = this.callbackCtx_; // Create ResizeObserverEntry instance for every active observation.\n\n var entries = this.activeObservations_.map(function (observation) {\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\n });\n this.callback_.call(ctx, entries, ctx);\n this.clearActive();\n};\n/**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\n\n\nResizeObserverSPI.prototype.clearActive = function () {\n this.activeObservations_.splice(0);\n};\n/**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\n\n\nResizeObserverSPI.prototype.hasActive = function () {\n return this.activeObservations_.length > 0;\n}; // Registry of internal observers. If WeakMap is not available use current shim\n// for the Map collection as it has all required methods and because WeakMap\n// can't be fully polyfilled anyway.\n\n\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\n\nvar ResizeObserver = function ResizeObserver(callback) {\n if (!(this instanceof ResizeObserver)) {\n throw new TypeError('Cannot call a class as a function.');\n }\n\n if (!arguments.length) {\n throw new TypeError('1 argument required, but only 0 present.');\n }\n\n var controller = ResizeObserverController.getInstance();\n var observer = new ResizeObserverSPI(callback, controller, this);\n observers.set(this, observer);\n}; // Expose public methods of ResizeObserver.\n\n\n['observe', 'unobserve', 'disconnect'].forEach(function (method) {\n ResizeObserver.prototype[method] = function () {\n return (ref = observers.get(this))[method].apply(ref, arguments);\n var ref;\n };\n});\n\nvar index = function () {\n // Export existing implementation if available.\n if (typeof global$1.ResizeObserver !== 'undefined') {\n return global$1.ResizeObserver;\n }\n\n return ResizeObserver;\n}();\n\nexport default index;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modal\":\"ItemCarousel-module--modal--3GcfN\",\"recDot\":\"ItemCarousel-module--rec-dot--2PxsF\",\"recDot_active\":\"ItemCarousel-module--rec-dot_active--3sWSZ\"};","import React from \"react\"\nimport Img from \"gatsby-image\"\nimport { Link } from 'gatsby'\nimport ReactMarkdown from \"react-markdown\"\n\n \nimport classes from \"./TreatmentModal.module.scss\"\nimport CloseIcon from \"@material-ui/icons/Close\"\n\nconst TreatmentModal = ({ img, desc, name, price, time, close }) => {\n return (\n
\n
\n close()} />\n {/*
*/}\n \n
\n \n {\n close()\n }}\n >\n Cennik\n \n \n
\n {/*
*/}\n {/*
*/}\n
\n

{name}

\n {desc}\n
\n {/*
\n
\n

Cena

\n
\n
\n

{price}

\n
\n
*/}\n {/*
*/}\n
\n \n
\n )\n}\n\nexport default TreatmentModal\n"],"sourceRoot":""}