{"version":3,"sources":["webpack:///./src/components/Image/ListingBanner.jsx","webpack:///./src/components/Gallery/Gallery.jsx","webpack:///./src/pages/Page/Paragraphs/VideoSliderCard/VideoSliderCard.jsx","webpack:///./src/pages/Page/Paragraphs/VideoSlider/VideoSlider.jsx","webpack:///./src/pages/Page/Paragraphs/SVGWave/SVGWave.jsx","webpack:///./src/pages/Page/Paragraph.jsx","webpack:///./src/pages/Page/Page.jsx","webpack:///./src/components/BackButton/BackButton.jsx","webpack:///./src/utils/useRequest.jsx","webpack:///./node_modules/react-slick/lib/slider.js","webpack:///./node_modules/lodash.debounce/index.js","webpack:///./node_modules/react-slick/lib/default-props.js","webpack:///./node_modules/enquire.js/src/Util.js","webpack:///./node_modules/react-slick/lib/arrows.js","webpack:///./node_modules/react-slick/lib/index.js","webpack:///./node_modules/react-intersection-observer/react-intersection-observer.m.js","webpack:///./src/utils/imageFormat.jsx","webpack:///./src/components/News/News.jsx","webpack:///./node_modules/react-slick/lib/track.js","webpack:///./node_modules/react-slick/lib/dots.js","webpack:///./src/components/Floater/Floater.jsx","webpack:///./src/components/LazyImage/LazyImage.jsx","webpack:///./node_modules/enquire.js/src/index.js","webpack:///./node_modules/enquire.js/src/QueryHandler.js","webpack:///./node_modules/react-slick/lib/initial-state.js","webpack:///./node_modules/react-slick/lib/inner-slider.js","webpack:///./node_modules/enquire.js/src/MediaQuery.js","webpack:///./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack:///./node_modules/react-slick/lib/utils/innerSliderUtils.js"],"names":["ListingBanner","props","bgSrc","src","width","height","useState","loaded","state","setState","useInView","triggerOnce","rootMargin","ref","inView","entry","viewBox","wideBlur","srcSet","makeSrcSet","imgClassName","join","style","position","className","backgroundImage","xmlns","xmlnsXlink","xlinkHref","lazy","itemProp","key","alt","title","onLoad","i","next","target","nextSibling","isIMG","tagName","w","h","onError","top","left","GalleryArrow","onClick","undefined","prev","Gallery","nav1","nav2","init","infinite","noIcons","videoReady","setVideoReady","autoplay","settings","autoplaySpeed","slider1","useRef","useEffect","getVideoKey","url","replace","videoImgUrl","small","popupImage","e","index","preventDefault","currentSlide","console","log","popupSlides","popupsState","popupGallery","items","length","slides","map","s","mimeType","href","popupVideo","video","push","autoPlay","muted","loop","playsInline","mediaSize","getImageSize","properties","prefix","view","zoom","icon","isImage","source","formatUri","API_BASE_URL","view800","view400","description","isVideo","onPlaying","dots","speed","arrows","slidesToShow","slidesToScroll","nextArrow","prevArrow","customPaging","slider","VideoSliderCard","text","button_url","button_title","paragraphIndex","handleVideoEnd","h1","dangerouslySetInnerHTML","__html","A1Button","preserveAspectRatio","onEnded","type","VideoSlider","data","sliderRef","noNextVideo","setNoNextVideo","event","setTimeout","current","slickNext","beforeChange","oldIndex","newIndex","currentVideo","document","querySelector","pause","currentTime","afterChange","slideIndex","play","onInit","fade","slide","id","fill","cx","cy","r","SVGWave","version","d","fillRule","NewsParagraph","news","n","media","content","apirone","baseURL","teaser","newsUrl","comparison","News","TextParagraph","link_text","GalleryParagraph","wide","background","PCard","image","src2x","imageSize","LazyImage","CardParagraph","bg","cards","c","black","BannerParagraph","imageFormat","full","align","ImageParagraph","linkasbutton","Paragraph","wave","containerClass","Page","navigate","useNavigate","pageKeyParam","useParams","pageUrl","useLocation","pathname","backUrl","backTitle","pageKey","usePublicRequest","appState","cmsData","page","loading","error","reset","Floater","paragraphs","p","stripTags","substring","split","pop","seo","extension","aiState","setContext","noh1","Meta","itemScope","itemType","BackButton","aria-label","toLowerCase","payload","compare","payloadStr","JSON","stringify","stamp","response","setResponse","queryPublic","then","Date","getTime","mutate","oldResponse","softMutate","useRequest","query2","_typeof","obj","Symbol","iterator","constructor","prototype","Object","defineProperty","exports","value","_react","_interopRequireDefault","_innerSlider","_json2mq","_defaultProps","_innerSliderUtils","__esModule","_extends","assign","arguments","hasOwnProperty","call","apply","this","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_defineProperties","descriptor","configurable","writable","_setPrototypeOf","o","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","_isNativeReflectConstruct","result","Super","_getPrototypeOf","NewTarget","_possibleConstructorReturn","self","TypeError","_assertThisInitialized","ReferenceError","getPrototypeOf","enquire","canUseDOM","Slider","_React$Component","subClass","superClass","create","_inherits","Constructor","protoProps","staticProps","_super","_this","instance","_classCallCheck","innerSlider","slickPrev","dontAnimate","slickGoTo","breakpoint","_responsiveMediaHandlers","query","handler","register","_this2","responsive","breakpoints","breakpt","sort","x","y","bQuery","minWidth","maxWidth","slice","unregister","newProps","_this3","resp","centerMode","children","Children","toArray","child","trim","variableWidth","rows","slidesPerRow","warn","newChildren","currentWidth","newSlide","j","row","k","cloneElement","tabIndex","concat","display","createElement","unslick","InnerSlider","innerSliderRefHandler","Component","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","global","freeSelf","root","Function","objectToString","toString","nativeMax","Math","max","nativeMin","min","now","isObject","toNumber","isObjectLike","isSymbol","other","isBinary","test","module","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","remainingWait","debounced","isInvoking","cancel","clearTimeout","flush","_default","accessibility","adaptiveHeight","appendDots","centerPadding","cssEase","dotsClass","draggable","easing","edgeFriction","focusOnSelect","initialSlide","lazyLoad","onEdge","onLazyLoadError","onReInit","pauseOnDotsHover","pauseOnFocus","pauseOnHover","rtl","swipe","swipeEvent","swipeToSlide","touchMove","touchThreshold","useCSS","useTransform","vertical","waitForAnimate","isFunction","isArray","each","collection","fn","PrevArrow","NextArrow","_classnames","_createClass","_React$PureComponent","clickHandler","prevClasses","prevHandler","bind","message","slideCount","prevArrowProps","customProps","PureComponent","_React$PureComponent2","_super2","nextClasses","nextHandler","canGoNext","nextArrowProps","observerMap","Map","RootIds","WeakMap","rootId","unsupportedValue","optionsToId","has","set","get","observe","element","callback","fallbackInView","window","IntersectionObserver","bounds","getBoundingClientRect","isIntersecting","intersectionRatio","threshold","boundingClientRect","intersectionRect","rootBounds","_createObserver","thresholds","elements","observer","entries","_elements$get","some","trackVisibility","isVisible","Array","createObserver","callbacks","splice","indexOf","unobserve","size","disconnect","_excluded","isPlainChildren","_temp","_ref","delay","skip","initialInView","onChange","_React$useState","setRef","node","imageScale","ww","wh","includes","format","imageTitle","Track","getSlideClasses","spec","slickActive","slickCenter","slickCloned","centerOffset","floor","targetSlide","getKey","fallbackKey","renderSlides","preCloneSlides","postCloneSlides","childrenCount","count","startIndex","lazyStartIndex","endIndex","lazyEndIndex","elem","childOnClickOptions","lazyLoadedList","childStyle","slideWidth","slideHeight","opacity","transition","getSlideStyle","slideClass","slideClasses","outline","preCloneNo","getPreClones","reverse","_len","_key","_this$props","mouseEvents","onMouseEnter","onMouseOver","onMouseLeave","handleRef","trackStyle","Dots","dotCount","ceil","_rightBound","rightBound","clamp","_leftBound","leftBound","dotOptions","placeholderSrc","isLazy","classNameDef","handleImageLoaded","placeholder","handleImageError","usedSrc","Image","onload","onerror","MediaQueryDispatch","QueryHandler","deferSetup","setup","initialised","on","match","off","unmatch","destroy","equals","animating","autoplaying","currentDirection","currentLeft","direction","dragging","edgeDragged","initialized","listHeight","listWidth","scrolling","swipeLeft","swiped","swiping","touchObject","startX","startY","curX","curY","trackWidth","_initialState","_lodash","_track","_dots","_arrows","_resizeObserverPolyfill","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","list","track","getHeight","slidesToLoad","getOnDemandLazySlides","prevState","onLazyLoad","listRef","trackRef","updateState","adaptHeight","lazyLoadTimer","setInterval","progressiveLazyLoad","ro","onWindowResized","callbackTimers","querySelectorAll","onfocus","onSlideFocus","onblur","onSlideBlur","addEventListener","attachEvent","animationEndCallback","clearInterval","timer","removeEventListener","detachEvent","autoplayTimer","prevProps","checkImagesLoad","setTrackStyle","didPropsChange","changeSlide","debouncedResize","resizeWindow","isTrackMounted","updatedState","initializedState","targetLeft","getTrackLeft","getTrackCSS","_trackWidth","_trackLeft","childrenWidths","preClones","postClones","getPostClones","_i","_i2","_trackStyle","trackLeft","images","imagesCount","loadedCount","onclick","prevClickHandler","parentNode","focus","_index","asNavFor","_slideHandler","slideHandler","nextState","asNavForIndex","firstBatch","nodes","clickable","stopPropagation","dir","keyHandler","ontouchmove","returnValue","verticalSwiping","disableBodyScroll","swipeStart","swipeMove","swipeEnd","triggerSlideHandler","enableBodyScroll","Number","isNaN","nextIndex","playType","pauseType","trackProps","extractObject","onTrackOver","onTrackLeave","selectHandler","dotProps","onDotsLeave","onDotsOver","arrowProps","verticalHeightStyle","centerPaddingStyle","padding","listStyle","listProps","onMouseDown","onMouseMove","onMouseUp","onTouchStart","onTouchMove","onTouchEnd","touchEnd","onTouchCancel","onKeyDown","innerSliderProps","listRefHandler","trackRefHandler","ssrState","ssrInit","_i3","_Object$keys","MediaQuery","isUnconditional","handlers","mql","matchMedia","listener","currentTarget","assess","addListener","constuctor","addHandler","qh","matches","removeHandler","clear","removeListener","action","Util","Error","queries","browserIsIncapable","q","shouldDegrade","checkSpecKeys","checkNavigable","slidesOnRight","slidesOnLeft","siblingDirection","safePreventDefault","lazySlidesOnRight","lazySlidesOnLeft","getWidth","getTrackAnimateCSS","getTotalSlides","getSwipeDirection","getSlideCount","getRequiredLazySlides","getNavigableIndexes","number","lowerBound","upperBound","_reactName","onDemandSlides","requiredSlides","offsetWidth","offsetHeight","xDist","yDist","swipeAngle","atan2","round","PI","abs","canGo","newObject","listNode","trackNode","centerPaddingAdj","finalSlide","animationLeft","finalLeft","animationSlide","indexOffset","previousInt","slideOffset","previousTargetSlide","keyCode","touches","pageX","clientX","pageY","clientY","curLeft","swipeLength","sqrt","pow","verticalSwipeLength","positionOffset","swipeDirection","touchSwipeLength","onSwipe","minSwipe","activeSlide","counter","indexes","navigables","prevNavigable","swipedSlide","slickList","from","every","offsetTop","offsetLeft","currentIndex","dataset","keysArray","reduce","trackHeight","trackChildren","WebkitTransition","WebkitTransform","transform","msTransform","marginTop","marginLeft","slidesToOffset","targetSlideIndex","trackElem","childNodes","right","_ref2"],"mappings":"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","file":"static/js/pages-Page-Page.c66e8997.chunk.js","sourcesContent":["/*\nОдин из вариантов вывода изображений, с мета-тегами, ленивой загрузкой, прелоадером, заполнением размытой версией фона и т.п.\n*/\n\nimport { useState, useEffect, useRef } from 'react';\nimport { makeSrcSet } from '../../utils/imageFormat';\nimport { useInView } from 'react-intersection-observer';\n//import LazyImage from '../../components/LazyImage/LazyImage';\n\nconst ListingBanner = (props) => {\n const bgSrc = props.bgSrc? props.bgSrc : props.src; \n const width = props.width ? props.width : 1920;\n const height = props.height ? props.height : 800;\n const [state, setState] = useState({loaded: true, src: null, width: width, height: height});\n const { ref, inView, entry } = useInView({\n triggerOnce: true,\n rootMargin: '200px 100px',\n });\n //const imageRef = useRef();\n const viewBox = \"0 0 \" + state.width + \" \" + state.height;\n const srcSet = props.srcSet ? makeSrcSet(props.srcSet) : null;\n const wideBlur = props.wideBlur ? props.wideBlur : null;\n\n //console.log('ListingBanner', state);\n\n const handleImageLoaded = (i) => {\n //console.log('ListingBanner image loaded', entry.target, props.src);\n const next = entry?.target?.nextSibling;\n const isIMG = (next?.tagName == 'IMG');\n const w = isIMG ? next.width : width;\n const h = isIMG ? next.height : height;\n setState({loaded: true, src: props.src, width: w, height: h});\n }\n\n const handleImageErrored = () => {\n setState({loaded: false, src: null, width: width, height: height});\n }\n\n const imgClassName = [props.imgClassName ? props.imgClassName : 'img', state.loaded ? 'loaded' : 'hidden'].join(' ');\n\n /*useEffect(() => {\n imageRef.current = new Image;\n imageRef.current.onload = handleImageLoaded;\n imageRef.current.onerror = handleImageErrored;\n imageRef.current.src = props.src;\n },[])*/\n\n //console.log('IMG', wideBlur );\n\n return(\n
\n \n {(wideBlur && bgSrc) && \n
\n }\n\n \n \n \n \n {(inView || props.lazy == false) &&\n {props.alt\n }\n\n
\n )\n}\n//\nexport default ListingBanner;\n\n\n\n/*\n\n\n \n \n \n\n {(wideBlur && bgSrc) && \n
\n }\n \n {props.src && (inView || props.lazy == false) &&\n {props.alt\n }\n\n\n\n\n\n*/","/*\nГалерея с листалкой и превьюшками под ней (на базе Slick.js)\nВ зависимости от того, какие данные насыпали галерея рендерит и листинги, и шоурум и данные из CMS (параграфы).\n*/\n\n\nimport {useState, useEffect, useRef} from 'react';\nimport Slider from \"@ant-design/react-slick\";\nimport ListingBanner from '../../components/Image/ListingBanner';\n//import Banner from '../../components/Image/Banner';\nimport popupsState from '../../stores/popupsState';\nimport {API_BASE_URL} from '../../constants/Constants';\nimport {makeSrcSet} from '../../utils/imageFormat';\nimport getImageSize from '../../utils/imageFormat';\nimport './Gallery.scss';\n//import {toJS} from 'mobx';\n\n\nconst GalleryArrow = (props) => {\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t)\n}\n\nconst Gallery = (props) => {\n\n\tconst [state, setState] = useState({nav1: null, nav2: null, init: false});\n\n\tconst title = props.title ? props.title : null;\n\tconst infinite = props.infinite !== undefined ? props.infinite : false;\n\tconst noIcons = props.noIcons \n\tconst [videoReady, setVideoReady] = useState(false)\n\n\t// var settings = {\n\t// dots: props.noIcons,\n\t// infinite: false,\n\t// speed: 500,\n\t// arrows: true,\n\t// slidesToShow: props.noIcons ? 3 : 1,\n\t// slidesToScroll: 1,\n\t// //lazyLoad: 'ondemand',\n\t// nextArrow: ,\n\t// prevArrow: \n\t// };\n\n\tif (props.autoplay) {\n\t \tsettings.autoplay = true;\n\t \tsettings.autoplaySpeed = props.autoplay;\n\t}\n\n /*var dots = {\n\t dots: false,\n\t speed: 500,\n\t //slidesToShow: 1,\n\t centerMode: true,\n\t infinite: false,\n\t arrows: false,\n\t slidesToScroll: 1,\n\t variableWidth: true,\n\t focusOnSelect: true,\n\t nextArrow: ,\n\t prevArrow: \n\t //lazyLoad: 'ondemand',\n\t};*/\n\n\tvar slider1 = useRef();\n\t/*var slider2 = useRef();*/\n\tuseEffect(() => {\n\n\t \tsetState({\n\t nav1: slider1,\n\t //nav2: slider2,\n\t init: true\n\t })\n \t},[]);\n\n\n\tconst getVideoKey = (url) => {\n\t\treturn url.replace(/https?:\\/\\/.*(youtube.*v=|youtu.be\\/|youtube.com\\/embed\\/)([^&\\n$]*).*/g, '$2');\n\t}\n \n\tconst videoImgUrl = (url,small = false) => {\n\t \tconst key = getVideoKey(url);\n\t \tif (key !== '') {\n\t \t\tif (small) {\n\t\t \t\treturn 'https://img.youtube.com/vi/' + key + '/default.jpg';\n\t\t \t} else {\n\t\t \t\treturn 'https://img.youtube.com/vi/' + key + '/maxresdefault.jpg';\n\t\t \t}\n\t \t} else {\n\t \t\treturn '';\n\t \t}\n\t }\n\n \tconst popupVideo = (url, e = false) => {\n\t\tif (e) e.preventDefault();\n\t \tconst key = getVideoKey(url);\n\t \tpopupsState.popupVideo('youtube_'+key,'Video', key);\n \t}\n\n\tconst popupImage = (url,title, e = false, index) => {\n\t \tif (e) e.preventDefault();\n \n const currentSlide = e.target.src;\n console.log('popupImage',popupSlides, currentSlide);\n\t \tpopupsState.popupGallery('gallery', title ? title : 'Image', popupSlides, currentSlide, index);\n\t}\n\n\tconst switchTab = (e) => {\n\t\tsetActive(e.target.getAttribute('data-tab'));\n\t}\n\n\tif (props.items == undefined || props.items.length == 0) {\n\t\treturn null;\n\t} \n\n const popupSlides = [];\n\n\tconst slides = props.items.map((s, i)=> {\n\t\t//console.log('SLIDE', s)\n\t\tif (s.mimeType !== undefined) {\n\t\t\tif (s.isImage) {\n\t\t\t\tconst source = s.formatUri.replace('{format}', 'pridea_bigger');\n\n popupSlides.push(source);\n\t\t\t\t\n\t\t\t\tconst view = API_BASE_URL + s.formatUri.replace('{format}', 'pridea_view_scale').replace(/(\\.png|\\.jpg)/, '.webp');\n\t\t\t\tconst view800 = API_BASE_URL + s.formatUri.replace('{format}', 'pridea_view_scale_800').replace(/(\\.png|\\.jpg)/, '.webp');\n\t\t\t\tconst view400 = API_BASE_URL + s.formatUri.replace('{format}', 'pridea_view_scale_400').replace(/(\\.png|\\.jpg)/, '.webp');\n\t\t\t\tconst title = s.title? s.title : 'Image ' + i;\n\t\t\t\tconst alt = s.description ? s.description : title;\n\t\t\t\tconst icon = API_BASE_URL + s.formatUri.replace('{format}', 'pridea_icon').replace(/(\\.png|\\.jpg)/, '.webp');\n\t\t\t\tconst mediaSize = getImageSize(s?.properties?.width, s?.properties?.height, 'pridea_view_scale');\n\t\t\t\treturn (\n\t\t\t\t\t)\n\t\t\t}\n\t\t\tif (s.isVideo) {\n\t\t\t\tconst mediaSize = s.properties && s.properties.width ? s.properties : \n\t\t\t\t\t{width: props.width ? props.width : 1920, height: props.height ? props.height : 676};\n popupSlides.push(s.url);\n\t\t\t\treturn (\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
)\n\t\t\t}\n\t\t\t//console.log(s,s.mimeType)\n\t\t} else {\n\t\t\tif (s.url !== undefined) {\n\t\t\t\t//mediaSize\n \n\t\t\t\treturn (\n\t\t\t\t\t)\n\t\t\t} else if (s.video !== undefined) {\n popupSlides.push(s.video);\n\t\t\t\treturn (\n\t\t\t\t\t
\n\t\t\t\t\t\t
)\n\t\t\t} else {\n\t\t\t\tconst mediaSize = getImageSize(s?.properties?.width, s?.properties?.height, 'pridea_view_scale');\n popupSlides.push((props.prefix ? props.prefix : '') + s.view);\n\t\t\t\treturn (\n\t\t\t\t\t)\n\t\t\t}\n\t\t}\t\n\t})\n\n\tconst getIcon = (i) => {\n\t\tif (props.items[i] !== undefined) {\n\t\t\tconst s = props.items[i];\n\t\t\tif (s.mimeType !== undefined) {\n\t\t\t\tif (s.isImage) {\n\t\t\t\t\tconst icon = API_BASE_URL + s.formatUri.replace('{format}', 'pridea_icon').replace(/(\\.png|\\.jpg)/, '.webp');\n\t\t\t\t\tconst title = s.title? s.title : 'Image ' + i;\n\t\t\t\t\tconst alt = s.description ? s.description : title;\n\t\t\t\t\treturn
{alt}
\n\t\t\t\t}\n\t\t\t\tif (s.isVideo) {\n\t\t\t\t\treturn
\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (s.video !== undefined) {\n\t\t\t\t\treturn
\n\t\t\t\t}\n\t\t\t\tif (s.url !== undefined) {\n\t\t\t\t\treturn
{'Slide
\n\t\t\t\t} else {\n\t\t\t\t\tconst icon = (props.prefix ? props.prefix : '') + s.icon;\n\t\t\t\t\treturn
{'Slide
\n\t\t\t\t}\n\t\t\t} \n\t\t} \n\t\treturn {index};\n\t}\n\n\tconst settings = {\n\t dots: true,\n\t infinite: infinite,\n\t speed: 500,\n\t arrows: true,\n\t slidesToShow: props.noIcons ? 3 : 1,\n\t slidesToScroll: 1,\n\t //lazyLoad: 'ondemand',\n\t nextArrow: ,\n\t prevArrow: ,\n\t customPaging: getIcon\n\t};\n\n\tif (props.autoplay) {\n\t \tsettings.autoplay = true;\n\t \tsettings.autoplaySpeed = props.autoplay;\n\t}\n\n\t/*const icons = props.noIcons ? false : props.items.map((s, i) => {\n\t\tif (s.mimeType !== undefined) {\n\t\t\tif (s.isImage) {\n\t\t\t\tconst icon = API_BASE_URL + s.formatUri.replace('{format}', 'pridea_icon').replace(/(\\.png|\\.jpg)/, '.webp');\n\t\t\t\tconst title = s.title? s.title : 'Image ' + i;\n\t\t\t\tconst alt = s.description ? s.description : title;\n\t\t\t\treturn
{alt}
\n\t\t\t}\n\t\t\tif (s.isVideo) {\n\t\t\t\treturn
\n\t\t\t}\n\t\t} else {\n\t\t\tif (s.video !== undefined) {\n\t\t\t\treturn
\n\t\t\t}\n\t\t\tif (s.url !== undefined) {\n\t\t\t\treturn
{'Slide
\n\t\t\t} else {\n\t\t\t\tconst icon = (props.prefix ? props.prefix : '') + s.icon;\n\t\t\t\treturn
{'Slide
\n\t\t\t}\n\t\t}\n\t})*/\n\n\treturn (\n\t\t
\n\t (slider1 = slider)}>\n\t {slides}\n\t \n\t\t
\n\t)\n}\n\nexport default Gallery;\n/*\n
\n\t (slider1 = slider)}>\n\t {slides}\n\t \n\t {(props.items.length > 1 && !props.noIcons ) &&\n\t\t (slider2 = slider)}>\n\t\t {icons}\n\t\t \n\t }\n\t\t
\n\n*/\n","import { useNavigate } from \"react-router-dom\";\nimport \"./VideoSliderCard.scss\";\nimport A1Button from '../../../../components/A1Button/A1Button';\n\nfunction VideoSliderCard({\n title,\n text,\n button_url,\n button_title,\n video,\n paragraphIndex,\n index,\n handleVideoEnd,\n h1\n}) {\n\n return (\n
\n
\n {\n title &&\n (h1 \n ? \n

{title}

\n : \n

{title}

\n )\n }\n
\n {(button_title || button_url) && (\n
\n \n {button_title}\n \n
\n )}\n
\n
\n \n \n \n
\n
\n \n \n \n \n
\n
\n
\n \n );\n}\n\nexport default VideoSliderCard;\n","import Slider from \"react-slick\";\nimport VideoSliderCard from \"../VideoSliderCard/VideoSliderCard\";\nimport { useState, useRef } from \"react\";\n\nfunction VideoSlider({ index, data }) {\n const sliderRef = useRef();\n const [noNextVideo, setNoNextVideo] = useState(false);\n\n const handleSlideChange = (slideIndex) => {\n //const currentVideo = document.querySelector(`.slick-current #sliderVideo_${index}_${slideIndex}`);\n const currentVideo = document.querySelector(\n `.slick-current .sliderVideo_${index}_${slideIndex}`\n );\n //console.log(currentVideo);\n currentVideo.currentTime = 0;\n currentVideo.play();\n //console.log(\"handleSlideChange\", slideIndex);\n };\n\n const handeBeforeSlideChange = (oldIndex, newIndex) => {\n //console.log(\"handeBeforeSlideChange\", oldIndex, newIndex);\n const currentVideo = document.querySelector(\n `.slick-current .sliderVideo_${index}_${oldIndex}`\n );\n currentVideo.pause();\n currentVideo.currentTime = 0;\n };\n\n const handleInit = () => {\n const currentVideo = document.querySelector(\n `.slick-current .sliderVideo_${index}_0`\n );\n currentVideo.play();\n };\n\n const nextSlide = () => {\n sliderRef.current.slickNext();\n setNoNextVideo(false);\n };\n\n const handleVideoEnd = (event) => {\n if (!noNextVideo) {\n setNoNextVideo(true);\n setTimeout(() => {\n nextSlide();\n }, 1000);\n } else {\n //console.log(\"handleVideoEnd\", \"blocked!\");\n }\n };\n\n const settings = {\n dots: true,\n infinite: true,\n speed: 500,\n slidesToShow: 1,\n slidesToScroll: 1,\n beforeChange: handeBeforeSlideChange,\n afterChange: handleSlideChange,\n onInit: handleInit,\n arrows: false,\n fade: true,\n //infinite: false,\n //beforeChange: ( next) => setVideoSlide(next)\n };\n\n return (\n <>\n \n {data.slide.map((s, i) => (\n \n ))}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default VideoSlider;\n","\nfunction SVGWave() {\n return (\n \n \n\n )\n}\n\nexport default SVGWave\n","/*\nПараграфы разных типов\nTODO: раскидать по файлам?\n*/\n\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport apirone from \"../../utils/api\";\nimport getImageSize from \"../../utils/imageFormat\"\nimport Gallery from '../../components/Gallery/Gallery';\nimport LazyImage from '../../components/LazyImage/LazyImage';\nimport News from '../../components/News/News';\nimport VideoSlider from \"../Page/Paragraphs/VideoSlider/VideoSlider\";\nimport SVGWave from './Paragraphs/SVGWave/SVGWave';\nimport A1Button from '../../components/A1Button/A1Button';\n//import {toJS} from 'mobx';\n\n\n\nfunction NewsParagraph({data}) {\n return (\n <>\n {\n data.title && \n (data.h1 \n ? \n

{data.title}

\n : \n

{data.title}

\n ) \n }\n
\n {\n data.news.map(n => {\n const media = n?.content?.media ? apirone.baseURL + n.content.media.formatUri.replace('{format}','pridea_thumb') : null;\n const teaser = n.content.teaser ? n.content.teaser : 'News, Updates and Comparisons';\n const newsUrl = n.content.comparison && n.content.comparison !== '' ? '/compare/' + n.content.comparison : n.content.url;\n //console.log('urrl', newsUrl, toJS(n.content));\n return \n })\n }\n
\n \n )\n}\n\nfunction TextParagraph({data}) {\n \n return (\n <>\n {\n data.title && \n (data.h1 \n ? \n

{data.title}

\n : \n

{data.title}

\n ) \n }\n
\n {data.url && }\n \n );\n}\n\nfunction GalleryParagraph({data}) {\n return (\n <>\n {\n data.title && \n (data.h1 \n ? \n

{data.title}

\n : \n

{data.title}

\n ) \n }\n
\n \n
\n \n );\n}\n\n\nfunction PCard({paragraphIndex, data}) {\n const src = apirone.baseURL + data.image.formatUri.replace('{format}', 'pridea_card').replace(/\\.(png|jpg|jpeg)/,'.webp');\n const src2x = apirone.baseURL + data.image.formatUri.replace('{format}', 'pridea_card_2x').replace(/\\.(png|jpg|jpeg)/,'.webp');\n const imageSize = getImageSize(data.image?.properties?.width, data.image?.properties?.height, 'pridea_article');\n const title = data.image.title ? data.image.title : data.title;\n const alt = data.image.description ? data.image.description : data.title;\n\n return (\n
\n 0}\n width={imageSize.width} \n height={imageSize.height} \n src={src} \n srcSet={src + ' 1x, ' + src2x + ' 2x'}\n alt={alt} \n //title={title} \n />\n {data.title && \n (data.h1 \n ? \n

{data.title}

\n : \n

{data.title}

\n )\n }\n {data.text &&
}\n {data.url && }\n
\n )\n}\n\nfunction CardParagraph({index, data}) {\n const style = data.bg ? {backgroundImage: apirone.baseURL + data.bg} : null;\n const cards = data.cards.map((c,i) => )\n return (\n <>\n {\n data.title && \n (data.h1 \n ? \n

{data.title}

\n : \n

{data.title}

\n )\n }\n
\n {cards}\n
\n \n );\n}\n\nfunction BannerParagraph({index, data}) {\n const imageFormat = data.full ? 'pridea_big' : 'pridea_view_scale';\n const src = apirone.baseURL + data.image.formatUri.replace('{format}', imageFormat).replace(/\\.(png|jpg|jpeg)/,'.webp');\n const imageSize = getImageSize(data.image?.properties?.width, data.image?.properties?.height, imageFormat);\n const title = data.image.title ? data.image.title : data.title;\n const alt = data.image.description ? data.image.description : data.title;\n const className = \n \"image_wrapper \" + data.align + \n (data.black ? ' image_black' : ' image_white') + \n (data.wide ? ' image_wide' : ' image_normal');\n\n return (\n
\n
\n 0}\n width={imageSize.width} \n height={imageSize.height} \n src={src}\n alt={alt} \n title={title} \n />\n
\n
\n );\n}\n\n\nfunction ImageParagraph({index, data}) {\n const src = apirone.baseURL + data.image.formatUri.replace('{format}', 'pridea_source_2x').replace(/\\.(png|jpg|jpeg)/,'.webp');\n const src2x = apirone.baseURL + data.image.formatUri.replace('{format}', 'pridea_view_scale').replace(/\\.(png|jpg|jpeg)/,'.webp');\n const imageSize = getImageSize(data.image?.properties?.width, data.image?.properties?.height, 'pridea_source_2x');\n const title = data.image.title ? data.image.title : data.title;\n const alt = data.image.description ? data.image.description : data.title;\n //const classWave = data.wave && 'wave_svg';\n const className = \n \"image_wrapper \" + data.align + \n (data.black ? ' image_black' : ' image_white') + \n (data.wide ? ' image_wide' : ' image_normal');\n return (\n
\n
\n 0}\n width={imageSize.width} \n height={imageSize.height} \n src={src}\n srcSet={src + ' 1x, ' + src2x + ' 2x'} \n alt={alt} \n title={title} \n />\n
\n
\n {\n data.title && \n (data.h1 \n ? \n

{data.title}

\n : \n

{data.title}

\n ) \n }\n
\n {data.url && \n
\n {data.linkasbutton \n ?\n {data.link_text ? data.link_text : data.url}\n :\n {data.link_text ? data.link_text : data.url}\n \n }\n
\n }\n
\n\n
\n );\n}\n\n\nfunction Paragraph(props) {\n const className = \n \"paragraph paragraph_\" + props.data.type +\n (props.data.black ? ' paragraph_black' : ' paragraph_white') + \n (props.data.wide ? ' paragraph_wide' : ' paragraph_normal') +\n (props.data.wave ? ' paragraph_wave' : '');\n\n\n const id = props.index ? 'paragraph_' + props.index : null;\n const backgroundImage = props.data && props.data.bg && props.data.bg.url ? props.data.bg.url : false;\n const style = backgroundImage ? {backgroundImage: 'url(' + apirone.baseURL + backgroundImage + ')'} : null;\n const containerClass = props.data.full ? 'wide_container' : 'container';\n return (\n
\n {props.data.wave &&
}\n
\n {\n props.type == 'text' && \n }\n {\n props.type == 'gallery' && \n }\n {\n props.type == 'card' && \n }\n {\n props.type == 'image' && \n }\n {\n props.type == 'wide_image' && \n }\n {\n props.type == 'news' && \n }\n {\n props.type == 'videoslider' && \n }\n \n
\n \n
\n )\n}\n\n\nexport default Paragraph;\n","/*\nСтраница CMS, выводит заранее продуманные параграфы по известному шаблону.\n*/\n\nimport React, {useState, useCallback, useEffect} from 'react';\nimport { useNavigate, useLocation } from 'react-router-dom';\nimport apirone from \"../../utils/api\";\nimport getImageSize from \"../../utils/imageFormat\"\nimport { useParams } from \"react-router-dom\";\nimport appState from '../../stores/appState';\nimport aiState from '../../stores/aiState';\nimport Floater from '../../components/Floater/Floater';\nimport Gallery from '../../components/Gallery/Gallery';\nimport {usePublicRequest} from '../../utils/useRequest';\nimport BackButton from '../../components/BackButton/BackButton';\nimport Meta, {stripTags} from '../../components/Meta/Meta';\nimport LazyImage from '../../components/LazyImage/LazyImage';\nimport News from '../../components/News/News';\nimport Paragraph from './Paragraph';\nimport {toJS} from 'mobx';\n\n\n\n\nfunction Page(props) {\n const navigate = useNavigate();\n const { pageKeyParam } = useParams();\n const pageUrl = useLocation();\n const url = apirone.baseURL + pageUrl.pathname;\n const backUrl = props.backUrl ? props.backUrl : false;\n const backTitle = props.backTitle ? props.backTitle : '';\n const pageKey = pageKeyParam ? '/' + pageKeyParam : (props.pageKey ? '/' +props.pageKey : pageUrl.pathname);\n const {loading, data, error} = usePublicRequest( pageKey + '.json', false, appState.cmsData.page);\n useEffect(() => {appState.reset();},[])\n\n if (loading) return
\n if (error || data.content == undefined) return
\n \n let description = null;\n const content = [];\n const paragraphs = data.content.paragraphs && (data.content.paragraphs.map((p, i) => {\n if (!description) {\n if (p.text) {\n description = stripTags(p.text);\n if (description.length > 300) {\n description = description.substring(0, 300).split(' ');\n description.pop();\n description = description.join(' ') + '...';\n } \n }\n }\n return \n }));\n\n const news = data.content.news && (data.content.news.map((n, i) => {\n const media = n.content?.media?.formatUri ? n.content.media.formatUri.replace('{format}', 'pridea_thumb') : null\n return \n }));\n\n if (paragraphs) content.push(paragraphs);\n if (news) content.push(
{news}
);\n \n const backgroundImage = data.content && data.content.bg && data.content.bg.formatUri ? data.content.bg.formatUri.replace('{format}','pridea_big') : false;\n const style = backgroundImage ? {backgroundImage: 'url(' + apirone.baseURL + backgroundImage + ')'} : null;\n const title = data.content && data.content.title ? data.content.title : 'air.one page';\n const seo = data?.extension?.seo ? data?.extension.seo : null;\n const teaser = data.content?.teaser ? stripTags(data.content.teaser) : description;\n const media = data.content?.media?.formatUri ? data.content.media.formatUri.replace('{format}', 'pridea_view_scale') : null;\n \n\n aiState.setContext('');\n\n return(\n
\n \n
\n {\n !data?.content?.noh1 &&\n
\n
\n {backUrl &&\n
\n {navigate(-1/*backUrl*/)}} />\n
\n }\n \n

{title}

\n \n
\n
\n }\n {\n content\n }\n
\n
\n )\n}\n\nexport default Page;\n","/*\nКнопка Назад с SVG стрелкой\n*/\n\nfunction BackButton({title, onClick}) {\n return (\n \n )\n}\n\nexport default BackButton;","import {useState, useEffect} from 'react';\nimport apirone from './api';\n\n\nfunction useRequest(url, payload, init = false) {\n \n const payloadStr = JSON.stringify(payload);\n //console.log('response.init', payloadStr, init)\n const [response, setResponse] = useState({url: url, payload: payloadStr, loading: init ? false : true, data: init, error: false, stamp: false});\n useEffect(() => {\n //console.log('response.data', response.data)\n if (!response.data || response.url !== url || response.payload !== payloadStr) {\n apirone.query2(response.url, payload).then( r => {\n const stamp = new Date();\n if (r) {\n setResponse(oldResponse => {\n return {url: url, payload: payloadStr, loading: false, data: r, error: false, stamp: stamp.getTime()}\n })\n } else {\n setResponse({url: url, payload: payloadStr, loading: false, data: [], error: true, stamp: stamp.getTime()})\n }\n }) \n }\n },[url, payloadStr, response.data, response.loading]);\n \n const mutate = () => {\n setResponse({url: url, loading: true, data: false, error: false})\n }\n const softMutate = () => {\n setResponse({url: url, loading: true, data: response.data, error: false})\n }\n return {...response, mutate: mutate, softMutate: softMutate};\n}\n\n\nfunction usePublicRequest(url, payload, init = false) {\n //console.log('usePublicRequest', url, init);\n const loaded = init && ((init.type && init.type == 'page') || init.compare);\n const payloadStr = JSON.stringify(payload);\n const [response, setResponse] = useState({url: url, payload: payloadStr, loading: init ? false : true, data: init, error: false, loaded: loaded, stamp: false});\n useEffect(() => {\n //console.log('LOAD...' + (response.payload !== payloadStr ? 'Yez!' : 'No!'), response.payload, payloadStr)\n if (!response.loaded || response.url !== url || response.payload !== payloadStr) {\n \n apirone.queryPublic(url, payload).then( r => {\n const stamp = new Date();\n if (r) {\n setResponse({url: url, payload: payloadStr, loading: false, data: r, error: false, loaded: true, stamp: stamp.getTime()})\n } else {\n setResponse({url: url, payload: payloadStr, loading: false, data: [], error: true, loaded: true, stamp: stamp.getTime()})\n }\n }) \n }\n },[url, payloadStr, response.loaded]);\n \n const mutate = () => {\n setResponse(oldResponse => {return {...oldResponse, loaded: false, loading: true, url: url, payload: payloadStr}})\n }\n const softMutate = () => {\n setResponse(oldResponse => {return {...oldResponse, loaded: false, error: false, loading: true, url: url, payload: payloadStr}})\n //setResponse({url: url, loading: true, data: response.data, error: false})\n }\n return {...response, mutate: mutate, softMutate: softMutate};\n}\n\n\nexport default useRequest;\n\nexport {usePublicRequest}\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _innerSlider = require(\"./inner-slider\");\n\nvar _json2mq = _interopRequireDefault(require(\"json2mq\"));\n\nvar _defaultProps = _interopRequireDefault(require(\"./default-props\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar enquire = (0, _innerSliderUtils.canUseDOM)() && require(\"enquire.js\");\n\nvar Slider = /*#__PURE__*/function (_React$Component) {\n _inherits(Slider, _React$Component);\n\n var _super = _createSuper(Slider);\n\n function Slider(props) {\n var _this;\n\n _classCallCheck(this, Slider);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"innerSliderRefHandler\", function (ref) {\n return _this.innerSlider = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n return _this.innerSlider.slickPrev();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n return _this.innerSlider.slickNext();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return _this.innerSlider.slickGoTo(slide, dontAnimate);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPause\", function () {\n return _this.innerSlider.pause(\"paused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPlay\", function () {\n return _this.innerSlider.autoPlay(\"play\");\n });\n\n _this.state = {\n breakpoint: null\n };\n _this._responsiveMediaHandlers = [];\n return _this;\n }\n\n _createClass(Slider, [{\n key: \"media\",\n value: function media(query, handler) {\n // javascript handler for css media query\n enquire.register(query, handler);\n\n this._responsiveMediaHandlers.push({\n query: query,\n handler: handler\n });\n } // handles responsive breakpoints\n\n }, {\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n // performance monitoring\n //if (process.env.NODE_ENV !== 'production') {\n //const { whyDidYouUpdate } = require('why-did-you-update')\n //whyDidYouUpdate(React)\n //}\n if (this.props.responsive) {\n var breakpoints = this.props.responsive.map(function (breakpt) {\n return breakpt.breakpoint;\n }); // sort them in increasing order of their numerical value\n\n breakpoints.sort(function (x, y) {\n return x - y;\n });\n breakpoints.forEach(function (breakpoint, index) {\n // media query for each breakpoint\n var bQuery;\n\n if (index === 0) {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: 0,\n maxWidth: breakpoint\n });\n } else {\n bQuery = (0, _json2mq[\"default\"])({\n minWidth: breakpoints[index - 1] + 1,\n maxWidth: breakpoint\n });\n } // when not using server side rendering\n\n\n (0, _innerSliderUtils.canUseDOM)() && _this2.media(bQuery, function () {\n _this2.setState({\n breakpoint: breakpoint\n });\n });\n }); // Register media query for full screen. Need to support resize from small to large\n // convert javascript object to media query string\n\n var query = (0, _json2mq[\"default\"])({\n minWidth: breakpoints.slice(-1)[0]\n });\n (0, _innerSliderUtils.canUseDOM)() && this.media(query, function () {\n _this2.setState({\n breakpoint: null\n });\n });\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._responsiveMediaHandlers.forEach(function (obj) {\n enquire.unregister(obj.query, obj.handler);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var settings;\n var newProps;\n\n if (this.state.breakpoint) {\n newProps = this.props.responsive.filter(function (resp) {\n return resp.breakpoint === _this3.state.breakpoint;\n });\n settings = newProps[0].settings === \"unslick\" ? \"unslick\" : _objectSpread(_objectSpread(_objectSpread({}, _defaultProps[\"default\"]), this.props), newProps[0].settings);\n } else {\n settings = _objectSpread(_objectSpread({}, _defaultProps[\"default\"]), this.props);\n } // force scrolling by one if centerMode is on\n\n\n if (settings.centerMode) {\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 in centerMode, you are using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToScroll = 1;\n } // force showing one slide and scrolling by one if the fade mode is on\n\n\n if (settings.fade) {\n if (settings.slidesToShow > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToShow should be equal to 1 when fade is true, you're using \".concat(settings.slidesToShow));\n }\n\n if (settings.slidesToScroll > 1 && process.env.NODE_ENV !== \"production\") {\n console.warn(\"slidesToScroll should be equal to 1 when fade is true, you're using \".concat(settings.slidesToScroll));\n }\n\n settings.slidesToShow = 1;\n settings.slidesToScroll = 1;\n } // makes sure that children is an array, even when there is only 1 child\n\n\n var children = _react[\"default\"].Children.toArray(this.props.children); // Children may contain false or null, so we should filter them\n // children may also contain string filled with spaces (in certain cases where we use jsx strings)\n\n\n children = children.filter(function (child) {\n if (typeof child === \"string\") {\n return !!child.trim();\n }\n\n return !!child;\n }); // rows and slidesPerRow logic is handled here\n\n if (settings.variableWidth && (settings.rows > 1 || settings.slidesPerRow > 1)) {\n console.warn(\"variableWidth is not supported in case of rows > 1 or slidesPerRow > 1\");\n settings.variableWidth = false;\n }\n\n var newChildren = [];\n var currentWidth = null;\n\n for (var i = 0; i < children.length; i += settings.rows * settings.slidesPerRow) {\n var newSlide = [];\n\n for (var j = i; j < i + settings.rows * settings.slidesPerRow; j += settings.slidesPerRow) {\n var row = [];\n\n for (var k = j; k < j + settings.slidesPerRow; k += 1) {\n if (settings.variableWidth && children[k].props.style) {\n currentWidth = children[k].props.style.width;\n }\n\n if (k >= children.length) break;\n row.push( /*#__PURE__*/_react[\"default\"].cloneElement(children[k], {\n key: 100 * i + 10 * j + k,\n tabIndex: -1,\n style: {\n width: \"\".concat(100 / settings.slidesPerRow, \"%\"),\n display: \"inline-block\"\n }\n }));\n }\n\n newSlide.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: 10 * i + j\n }, row));\n }\n\n if (settings.variableWidth) {\n newChildren.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: i,\n style: {\n width: currentWidth\n }\n }, newSlide));\n } else {\n newChildren.push( /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n key: i\n }, newSlide));\n }\n }\n\n if (settings === \"unslick\") {\n var className = \"regular slider \" + (this.props.className || \"\");\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n className: className\n }, children);\n } else if (newChildren.length <= settings.slidesToShow) {\n settings.unslick = true;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(_innerSlider.InnerSlider, _extends({\n style: this.props.style,\n ref: this.innerSliderRefHandler\n }, settings), newChildren);\n }\n }]);\n\n return Slider;\n}(_react[\"default\"].Component);\n\nexports[\"default\"] = Slider;","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar defaultProps = {\n accessibility: true,\n adaptiveHeight: false,\n afterChange: null,\n appendDots: function appendDots(dots) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"ul\", {\n style: {\n display: \"block\"\n }\n }, dots);\n },\n arrows: true,\n autoplay: false,\n autoplaySpeed: 3000,\n beforeChange: null,\n centerMode: false,\n centerPadding: \"50px\",\n className: \"\",\n cssEase: \"ease\",\n customPaging: function customPaging(i) {\n return /*#__PURE__*/_react[\"default\"].createElement(\"button\", null, i + 1);\n },\n dots: false,\n dotsClass: \"slick-dots\",\n draggable: true,\n easing: \"linear\",\n edgeFriction: 0.35,\n fade: false,\n focusOnSelect: false,\n infinite: true,\n initialSlide: 0,\n lazyLoad: null,\n nextArrow: null,\n onEdge: null,\n onInit: null,\n onLazyLoadError: null,\n onReInit: null,\n pauseOnDotsHover: false,\n pauseOnFocus: false,\n pauseOnHover: true,\n prevArrow: null,\n responsive: null,\n rows: 1,\n rtl: false,\n slide: \"div\",\n slidesPerRow: 1,\n slidesToScroll: 1,\n slidesToShow: 1,\n speed: 500,\n swipe: true,\n swipeEvent: null,\n swipeToSlide: false,\n touchMove: true,\n touchThreshold: 5,\n useCSS: true,\n useTransform: true,\n variableWidth: false,\n vertical: false,\n waitForAnimate: true\n};\nvar _default = defaultProps;\nexports[\"default\"] = _default;","/**\n * Helper function for iterating over a collection\n *\n * @param collection\n * @param fn\n */\nfunction each(collection, fn) {\n var i = 0,\n length = collection.length,\n cont;\n\n for(i; i < length; i++) {\n cont = fn(collection[i], i);\n if(cont === false) {\n break; //allow early exit\n }\n }\n}\n\n/**\n * Helper function for determining whether target object is an array\n *\n * @param target the object under test\n * @return {Boolean} true if array, false otherwise\n */\nfunction isArray(target) {\n return Object.prototype.toString.apply(target) === '[object Array]';\n}\n\n/**\n * Helper function for determining whether target object is a function\n *\n * @param target the object under test\n * @return {Boolean} true if function, false otherwise\n */\nfunction isFunction(target) {\n return typeof target === 'function';\n}\n\nmodule.exports = {\n isFunction : isFunction,\n isArray : isArray,\n each : each\n};\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PrevArrow = exports.NextArrow = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar PrevArrow = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(PrevArrow, _React$PureComponent);\n\n var _super = _createSuper(PrevArrow);\n\n function PrevArrow() {\n _classCallCheck(this, PrevArrow);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(PrevArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var prevClasses = {\n \"slick-arrow\": true,\n \"slick-prev\": true\n };\n var prevHandler = this.clickHandler.bind(this, {\n message: \"previous\"\n });\n\n if (!this.props.infinite && (this.props.currentSlide === 0 || this.props.slideCount <= this.props.slidesToShow)) {\n prevClasses[\"slick-disabled\"] = true;\n prevHandler = null;\n }\n\n var prevArrowProps = {\n key: \"0\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(prevClasses),\n style: {\n display: \"block\"\n },\n onClick: prevHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var prevArrow;\n\n if (this.props.prevArrow) {\n prevArrow = /*#__PURE__*/_react[\"default\"].cloneElement(this.props.prevArrow, _objectSpread(_objectSpread({}, prevArrowProps), customProps));\n } else {\n prevArrow = /*#__PURE__*/_react[\"default\"].createElement(\"button\", _extends({\n key: \"0\",\n type: \"button\"\n }, prevArrowProps), \" \", \"Previous\");\n }\n\n return prevArrow;\n }\n }]);\n\n return PrevArrow;\n}(_react[\"default\"].PureComponent);\n\nexports.PrevArrow = PrevArrow;\n\nvar NextArrow = /*#__PURE__*/function (_React$PureComponent2) {\n _inherits(NextArrow, _React$PureComponent2);\n\n var _super2 = _createSuper(NextArrow);\n\n function NextArrow() {\n _classCallCheck(this, NextArrow);\n\n return _super2.apply(this, arguments);\n }\n\n _createClass(NextArrow, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n if (e) {\n e.preventDefault();\n }\n\n this.props.clickHandler(options, e);\n }\n }, {\n key: \"render\",\n value: function render() {\n var nextClasses = {\n \"slick-arrow\": true,\n \"slick-next\": true\n };\n var nextHandler = this.clickHandler.bind(this, {\n message: \"next\"\n });\n\n if (!(0, _innerSliderUtils.canGoNext)(this.props)) {\n nextClasses[\"slick-disabled\"] = true;\n nextHandler = null;\n }\n\n var nextArrowProps = {\n key: \"1\",\n \"data-role\": \"none\",\n className: (0, _classnames[\"default\"])(nextClasses),\n style: {\n display: \"block\"\n },\n onClick: nextHandler\n };\n var customProps = {\n currentSlide: this.props.currentSlide,\n slideCount: this.props.slideCount\n };\n var nextArrow;\n\n if (this.props.nextArrow) {\n nextArrow = /*#__PURE__*/_react[\"default\"].cloneElement(this.props.nextArrow, _objectSpread(_objectSpread({}, nextArrowProps), customProps));\n } else {\n nextArrow = /*#__PURE__*/_react[\"default\"].createElement(\"button\", _extends({\n key: \"1\",\n type: \"button\"\n }, nextArrowProps), \" \", \"Next\");\n }\n\n return nextArrow;\n }\n }]);\n\n return NextArrow;\n}(_react[\"default\"].PureComponent);\n\nexports.NextArrow = NextArrow;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _slider = _interopRequireDefault(require(\"./slider\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _default = _slider[\"default\"];\nexports[\"default\"] = _default;","import * as 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\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nvar observerMap = new Map();\nvar RootIds = new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = undefined;\n/**\r\n * What should be the default behavior if the IntersectionObserver is unsupported?\r\n * Ideally the polyfill has been loaded, you can have the following happen:\r\n * - `undefined`: Throw an error\r\n * - `true` or `false`: Set the `inView` value to this regardless of intersection state\r\n * **/\n\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\n/**\r\n * Generate a unique ID for the root element\r\n * @param root\r\n */\n\nfunction getRootId(root) {\n if (!root) return '0';\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\n/**\r\n * Convert the options to a string Id, based on the values.\r\n * Ensures we can reuse the same observer when observing elements with the same options.\r\n * @param options\r\n */\n\n\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(function (key) {\n return options[key] !== undefined;\n }).map(function (key) {\n return key + \"_\" + (key === 'root' ? getRootId(options.root) : options[key]);\n }).toString();\n}\n\nfunction createObserver(options) {\n // Create a unique ID for this observer instance, based on the root, root margin and threshold.\n var id = optionsToId(options);\n var instance = observerMap.get(id);\n\n if (!instance) {\n // Create a map of elements this observer is going to observe. Each element has a list of callbacks that should be triggered, once it comes into view.\n var elements = new Map();\n var thresholds;\n var observer = new IntersectionObserver(function (entries) {\n entries.forEach(function (entry) {\n var _elements$get;\n\n // While it would be nice if you could just look at isIntersecting to determine if the component is inside the viewport, browsers can't agree on how to use it.\n // -Firefox ignores `threshold` when considering `isIntersecting`, so it will never be false again if `threshold` is > 0\n var inView = entry.isIntersecting && thresholds.some(function (threshold) {\n return entry.intersectionRatio >= threshold;\n }); // @ts-ignore support IntersectionObserver v2\n\n if (options.trackVisibility && typeof entry.isVisible === 'undefined') {\n // The browser doesn't support Intersection Observer v2, falling back to v1 behavior.\n // @ts-ignore\n entry.isVisible = inView;\n }\n\n (_elements$get = elements.get(entry.target)) == null ? void 0 : _elements$get.forEach(function (callback) {\n callback(inView, entry);\n });\n });\n }, options); // Ensure we have a valid thresholds array. If not, use the threshold from the options\n\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id: id,\n observer: observer,\n elements: elements\n };\n observerMap.set(id, instance);\n }\n\n return instance;\n}\n/**\r\n * @param element - DOM Element to observe\r\n * @param callback - Callback function to trigger when intersection status changes\r\n * @param options - Intersection Observer options\r\n * @param fallbackInView - Fallback inView value.\r\n * @return Function - Cleanup function that should be triggered to unregister the observer\r\n */\n\n\nfunction observe(element, callback, options, fallbackInView) {\n if (options === void 0) {\n options = {};\n }\n\n if (fallbackInView === void 0) {\n fallbackInView = unsupportedValue;\n }\n\n if (typeof window.IntersectionObserver === 'undefined' && fallbackInView !== undefined) {\n var bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === 'number' ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return function () {// Nothing to cleanup\n };\n } // An observer with the same options can be reused, so lets use this fact\n\n\n var _createObserver = createObserver(options),\n id = _createObserver.id,\n observer = _createObserver.observer,\n elements = _createObserver.elements; // Register the callback listener for this element\n\n\n var callbacks = elements.get(element) || [];\n\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n // Remove the callback from the callback list\n callbacks.splice(callbacks.indexOf(callback), 1);\n\n if (callbacks.length === 0) {\n // No more callback exists for element, so destroy it\n elements[\"delete\"](element);\n observer.unobserve(element);\n }\n\n if (elements.size === 0) {\n // No more elements are being observer by this instance, so destroy it\n observer.disconnect();\n observerMap[\"delete\"](id);\n }\n };\n}\n\nvar _excluded = [\"children\", \"as\", \"triggerOnce\", \"threshold\", \"root\", \"rootMargin\", \"onChange\", \"skip\", \"trackVisibility\", \"delay\", \"initialInView\", \"fallbackInView\"];\n\nfunction isPlainChildren(props) {\n return typeof props.children !== 'function';\n}\n/**\r\n ## Render props\r\n\n To use the `` component, you pass it a function. It will be called\r\n whenever the state changes, with the new value of `inView`. In addition to the\r\n `inView` prop, children also receive a `ref` that should be set on the\r\n containing DOM element. This is the element that the IntersectionObserver will\r\n monitor.\r\n\n If you need it, you can also access the\r\n [`IntersectionObserverEntry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry)\r\n on `entry`, giving you access to all the details about the current intersection\r\n state.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n \r\n {({ inView, ref, entry }) => (\r\n
\r\n

{`Header inside viewport ${inView}.`}

\r\n
\r\n )}\r\n
\r\n );\r\n\n export default Component;\r\n ```\r\n\n ## Plain children\r\n\n You can pass any element to the ``, and it will handle creating the\r\n wrapping DOM element. Add a handler to the `onChange` method, and control the\r\n state in your own component. Any extra props you add to `` will be\r\n passed to the HTML element, allowing you set the `className`, `style`, etc.\r\n\n ```jsx\r\n import { InView } from 'react-intersection-observer';\r\n\n const Component = () => (\r\n console.log('Inview:', inView)}>\r\n

Plain children are always rendered. Use onChange to monitor state.

\r\n
\r\n );\r\n\n export default Component;\r\n ```\r\n */\n\n\nvar InView = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InView, _React$Component);\n\n function InView(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.node = null;\n _this._unobserveCb = null;\n\n _this.handleNode = function (node) {\n if (_this.node) {\n // Clear the old observer, before we start observing a new element\n _this.unobserve();\n\n if (!node && !_this.props.triggerOnce && !_this.props.skip) {\n // Reset the state if we get a new node, and we aren't ignoring updates\n _this.setState({\n inView: !!_this.props.initialInView,\n entry: undefined\n });\n }\n }\n\n _this.node = node ? node : null;\n\n _this.observeNode();\n };\n\n _this.handleChange = function (inView, entry) {\n if (inView && _this.props.triggerOnce) {\n // If `triggerOnce` is true, we should stop observing the element.\n _this.unobserve();\n }\n\n if (!isPlainChildren(_this.props)) {\n // Store the current State, so we can pass it to the children in the next render update\n // There's no reason to update the state for plain children, since it's not used in the rendering.\n _this.setState({\n inView: inView,\n entry: entry\n });\n }\n\n if (_this.props.onChange) {\n // If the user is actively listening for onChange, always trigger it\n _this.props.onChange(inView, entry);\n }\n };\n\n _this.state = {\n inView: !!props.initialInView,\n entry: undefined\n };\n return _this;\n }\n\n var _proto = InView.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n // If a IntersectionObserver option changed, reinit the observer\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.unobserve();\n this.node = null;\n };\n\n _proto.observeNode = function observeNode() {\n if (!this.node || this.props.skip) return;\n var _this$props = this.props,\n threshold = _this$props.threshold,\n root = _this$props.root,\n rootMargin = _this$props.rootMargin,\n trackVisibility = _this$props.trackVisibility,\n delay = _this$props.delay,\n fallbackInView = _this$props.fallbackInView;\n this._unobserveCb = observe(this.node, this.handleChange, {\n threshold: threshold,\n root: root,\n rootMargin: rootMargin,\n // @ts-ignore\n trackVisibility: trackVisibility,\n // @ts-ignore\n delay: delay\n }, fallbackInView);\n };\n\n _proto.unobserve = function unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n\n this._unobserveCb = null;\n }\n };\n\n _proto.render = function render() {\n if (!isPlainChildren(this.props)) {\n var _this$state = this.state,\n inView = _this$state.inView,\n entry = _this$state.entry;\n return this.props.children({\n inView: inView,\n entry: entry,\n ref: this.handleNode\n });\n }\n\n var _this$props2 = this.props,\n children = _this$props2.children,\n as = _this$props2.as,\n props = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n\n return /*#__PURE__*/React.createElement(as || 'div', _extends({\n ref: this.handleNode\n }, props), children);\n };\n\n return InView;\n}(React.Component);\n\n/**\r\n * React Hooks make it easy to monitor the `inView` state of your components. Call\r\n * the `useInView` hook with the (optional) [options](#options) you need. It will\r\n * return an array containing a `ref`, the `inView` status and the current\r\n * [`entry`](https://developer.mozilla.org/en-US/docs/Web/API/IntersectionObserverEntry).\r\n * Assign the `ref` to the DOM element you want to monitor, and the hook will\r\n * report the status.\r\n *\r\n * @example\r\n * ```jsx\r\n * import React from 'react';\r\n * import { useInView } from 'react-intersection-observer';\r\n *\r\n * const Component = () => {\r\n * const { ref, inView, entry } = useInView({\r\n * threshold: 0,\r\n * });\r\n *\r\n * return (\r\n *
\r\n *

{`Header inside viewport ${inView}.`}

\r\n *
\r\n * );\r\n * };\r\n * ```\r\n */\n\nfunction useInView(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n threshold = _ref.threshold,\n delay = _ref.delay,\n trackVisibility = _ref.trackVisibility,\n rootMargin = _ref.rootMargin,\n root = _ref.root,\n triggerOnce = _ref.triggerOnce,\n skip = _ref.skip,\n initialInView = _ref.initialInView,\n fallbackInView = _ref.fallbackInView,\n onChange = _ref.onChange;\n\n var unobserve = React.useRef();\n var callback = React.useRef();\n\n var _React$useState = React.useState({\n inView: !!initialInView\n }),\n state = _React$useState[0],\n setState = _React$useState[1]; // Store the onChange callback in a `ref`, so we can access the latest instance inside the `useCallback`.\n\n\n callback.current = onChange;\n var setRef = React.useCallback(function (node) {\n if (unobserve.current !== undefined) {\n unobserve.current();\n unobserve.current = undefined;\n } // Skip creating the observer\n\n\n if (skip) return;\n\n if (node) {\n unobserve.current = observe(node, function (inView, entry) {\n setState({\n inView: inView,\n entry: entry\n });\n if (callback.current) callback.current(inView, entry);\n\n if (entry.isIntersecting && triggerOnce && unobserve.current) {\n // If it should only trigger once, unobserve the element after it's inView\n unobserve.current();\n unobserve.current = undefined;\n }\n }, {\n root: root,\n rootMargin: rootMargin,\n threshold: threshold,\n // @ts-ignore\n trackVisibility: trackVisibility,\n // @ts-ignore\n delay: delay\n }, fallbackInView);\n }\n }, // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [// If the threshold is an array, convert it to a string so it won't change between renders.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n Array.isArray(threshold) ? threshold.toString() : threshold, root, rootMargin, triggerOnce, skip, trackVisibility, fallbackInView, delay]);\n /* eslint-disable-next-line */\n\n React.useEffect(function () {\n if (!unobserve.current && state.entry && !triggerOnce && !skip) {\n // If we don't have a ref, then reset the state (unless the hook is set to only `triggerOnce` or `skip`)\n // This ensures we correctly reflect the current state - If you aren't observing anything, then nothing is inView\n setState({\n inView: !!initialInView\n });\n }\n });\n var result = [setRef, state.inView, state.entry]; // Support object destructuring, by adding the specific values.\n\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\n\nexport { InView, defaultFallbackInView, observe, useInView };\n//# sourceMappingURL=react-intersection-observer.m.js.map\n","/*\n\n\n\n \n PRidea original\n \n \n \n\n \n \n PRidea bigger original\n \n \n \n\n\n \n \n PRidea original\n \n \n \n\n \n \n PRidea original\n \n \n \n\n \n \n PRidea dealer\n \n \n \n\n \n \n Article\n \n \n \n\n \n \n Article\n \n \n \n\n \n \n PRidea thumbnail\n \n \n \n\n \n \n PRidea thumbnail 2\n \n \n \n\n \n \n PRidea view\n \n \n \n\n\n\n \n \n PRidea scaled view\n \n \n \n \n \n \n PRidea icon\n \n \n \n\n \n \n PRidea icon\n \n \n \n \n \n \n PRidea icon\n \n \n \n\n \n \n PRidea showroom card\n \n \n \n\n \n \n PRidea showroom card 2x\n \n \n \n\n \n \n PRidea showroom card\n \n \n \n\n\n*/\nfunction imageScale(w, h, ww = false, wh = false) {\n\tif (!wh && ww) {\n\t\treturn {width: ww, height: h*(ww/w)}\n\t}\n\treturn {width: w, height: h}\n}\n\nfunction getImageSize(width, height, format) {\n\tswitch (format) {\n\t\tcase 'pridea_big': return imageScale(width, height, 1920);\n\t\tcase 'pridea_bigger': return imageScale(width, height, 2560);\n\t\tcase 'pridea_source': return imageScale(width, height, 300);\n\t\tcase 'pridea_source_2x': return imageScale(width, height, 600);\n\t\tcase 'pridea_article': return imageScale(width, height, 640);\n\t\tcase 'pridea_card': return imageScale(width, height, 350);\n\t\tcase 'pridea_card_2x': return imageScale(width, height, 700);\n\t\tcase 'pridea_view_scale': return imageScale(width, height, 1176);\n\t}\n\treturn imageScale(width, height);\n}\n\nfunction makeSrcSet(data, src) {\n var srcSet = data; \n if (data === true && src) {\n if (src.includes('pridea_icon')) {\n srcSet = {\n '100w' : src.replace('pridea_icon', 'pridea_icon_nano'),\n '1000w': src,\n }\n }\n if (src.includes('pridea_view_scale')) {\n srcSet = {\n //'2x': src.replace('pridea_view_scale', 'pridea_view_scale_800'), \n '400w': src.replace('pridea_view_scale', 'pridea_view_scale_400'), \n '800w': src.replace('pridea_view_scale', 'pridea_view_scale_800'), \n '1176w' : src,\n }\n }\n if (src.includes('pridea_source')) {\n srcSet = {\n '1x': src, \n '2x': src.replace('pridea_source', 'pridea_source_2x'), \n }\n }\n if (src.includes('pridea_card')) {\n srcSet = {\n '1x': src, \n '2x': src.replace('pridea_card', 'pridea_card_2x'), \n }\n }\n }\n\treturn Object.keys(srcSet).map(w => srcSet[w] + ' ' + w).join(', ')\n}\n\nexport default getImageSize;\nexport {makeSrcSet};","/*\nКарточка новости\n*/\n\nimport React, {useState} from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport LazyImage from '../../components/LazyImage/LazyImage';\n\nfunction News(props) {\n\tconst {id, url, title, media, text, ...rest} = {...props};\n\n\tconst navigate = useNavigate();\n\tconst imageTitle = title ? title : 'air.one news';\n\tconst handleClick = (e) => {\n\t\te.preventDefault();\n\t\tnavigate(url);\n\t}\n\n\treturn (\n\t\t\n\t)\n}\n\nexport default News;\n\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Track = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// given specifications/props for a slide, fetch all the classes that need to be applied to the slide\nvar getSlideClasses = function getSlideClasses(spec) {\n var slickActive, slickCenter, slickCloned;\n var centerOffset, index;\n\n if (spec.rtl) {\n index = spec.slideCount - 1 - spec.index;\n } else {\n index = spec.index;\n }\n\n slickCloned = index < 0 || index >= spec.slideCount;\n\n if (spec.centerMode) {\n centerOffset = Math.floor(spec.slidesToShow / 2);\n slickCenter = (index - spec.currentSlide) % spec.slideCount === 0;\n\n if (index > spec.currentSlide - centerOffset - 1 && index <= spec.currentSlide + centerOffset) {\n slickActive = true;\n }\n } else {\n slickActive = spec.currentSlide <= index && index < spec.currentSlide + spec.slidesToShow;\n }\n\n var focusedSlide;\n\n if (spec.targetSlide < 0) {\n focusedSlide = spec.targetSlide + spec.slideCount;\n } else if (spec.targetSlide >= spec.slideCount) {\n focusedSlide = spec.targetSlide - spec.slideCount;\n } else {\n focusedSlide = spec.targetSlide;\n }\n\n var slickCurrent = index === focusedSlide;\n return {\n \"slick-slide\": true,\n \"slick-active\": slickActive,\n \"slick-center\": slickCenter,\n \"slick-cloned\": slickCloned,\n \"slick-current\": slickCurrent // dubious in case of RTL\n\n };\n};\n\nvar getSlideStyle = function getSlideStyle(spec) {\n var style = {};\n\n if (spec.variableWidth === undefined || spec.variableWidth === false) {\n style.width = spec.slideWidth;\n }\n\n if (spec.fade) {\n style.position = \"relative\";\n\n if (spec.vertical) {\n style.top = -spec.index * parseInt(spec.slideHeight);\n } else {\n style.left = -spec.index * parseInt(spec.slideWidth);\n }\n\n style.opacity = spec.currentSlide === spec.index ? 1 : 0;\n\n if (spec.useCSS) {\n style.transition = \"opacity \" + spec.speed + \"ms \" + spec.cssEase + \", \" + \"visibility \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n\n return style;\n};\n\nvar getKey = function getKey(child, fallbackKey) {\n return child.key || fallbackKey;\n};\n\nvar renderSlides = function renderSlides(spec) {\n var key;\n var slides = [];\n var preCloneSlides = [];\n var postCloneSlides = [];\n\n var childrenCount = _react[\"default\"].Children.count(spec.children);\n\n var startIndex = (0, _innerSliderUtils.lazyStartIndex)(spec);\n var endIndex = (0, _innerSliderUtils.lazyEndIndex)(spec);\n\n _react[\"default\"].Children.forEach(spec.children, function (elem, index) {\n var child;\n var childOnClickOptions = {\n message: \"children\",\n index: index,\n slidesToScroll: spec.slidesToScroll,\n currentSlide: spec.currentSlide\n }; // in case of lazyLoad, whether or not we want to fetch the slide\n\n if (!spec.lazyLoad || spec.lazyLoad && spec.lazyLoadedList.indexOf(index) >= 0) {\n child = elem;\n } else {\n child = /*#__PURE__*/_react[\"default\"].createElement(\"div\", null);\n }\n\n var childStyle = getSlideStyle(_objectSpread(_objectSpread({}, spec), {}, {\n index: index\n }));\n var slideClass = child.props.className || \"\";\n var slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: index\n })); // push a cloned element of the desired slide\n\n slides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"original\" + getKey(child, index),\n \"data-index\": index,\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n tabIndex: \"-1\",\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({\n outline: \"none\"\n }, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n })); // if slide needs to be precloned or postcloned\n\n if (spec.infinite && spec.fade === false) {\n var preCloneNo = childrenCount - index;\n\n if (preCloneNo <= (0, _innerSliderUtils.getPreClones)(spec) && childrenCount !== spec.slidesToShow) {\n key = -preCloneNo;\n\n if (key >= startIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: key\n }));\n preCloneSlides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"precloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({}, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n\n if (childrenCount !== spec.slidesToShow) {\n key = childrenCount + index;\n\n if (key < endIndex) {\n child = elem;\n }\n\n slideClasses = getSlideClasses(_objectSpread(_objectSpread({}, spec), {}, {\n index: key\n }));\n postCloneSlides.push( /*#__PURE__*/_react[\"default\"].cloneElement(child, {\n key: \"postcloned\" + getKey(child, key),\n \"data-index\": key,\n tabIndex: \"-1\",\n className: (0, _classnames[\"default\"])(slideClasses, slideClass),\n \"aria-hidden\": !slideClasses[\"slick-active\"],\n style: _objectSpread(_objectSpread({}, child.props.style || {}), childStyle),\n onClick: function onClick(e) {\n child.props && child.props.onClick && child.props.onClick(e);\n\n if (spec.focusOnSelect) {\n spec.focusOnSelect(childOnClickOptions);\n }\n }\n }));\n }\n }\n });\n\n if (spec.rtl) {\n return preCloneSlides.concat(slides, postCloneSlides).reverse();\n } else {\n return preCloneSlides.concat(slides, postCloneSlides);\n }\n};\n\nvar Track = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Track, _React$PureComponent);\n\n var _super = _createSuper(Track);\n\n function Track() {\n var _this;\n\n _classCallCheck(this, Track);\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), \"node\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"handleRef\", function (ref) {\n _this.node = ref;\n });\n\n return _this;\n }\n\n _createClass(Track, [{\n key: \"render\",\n value: function render() {\n var slides = renderSlides(this.props);\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave;\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({\n ref: this.handleRef,\n className: \"slick-track\",\n style: this.props.trackStyle\n }, mouseEvents), slides);\n }\n }]);\n\n return Track;\n}(_react[\"default\"].PureComponent);\n\nexports.Track = Track;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Dots = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar getDotCount = function getDotCount(spec) {\n var dots;\n\n if (spec.infinite) {\n dots = Math.ceil(spec.slideCount / spec.slidesToScroll);\n } else {\n dots = Math.ceil((spec.slideCount - spec.slidesToShow) / spec.slidesToScroll) + 1;\n }\n\n return dots;\n};\n\nvar Dots = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(Dots, _React$PureComponent);\n\n var _super = _createSuper(Dots);\n\n function Dots() {\n _classCallCheck(this, Dots);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(Dots, [{\n key: \"clickHandler\",\n value: function clickHandler(options, e) {\n // In Autoplay the focus stays on clicked button even after transition\n // to next slide. That only goes away by click somewhere outside\n e.preventDefault();\n this.props.clickHandler(options);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseOver = _this$props.onMouseOver,\n onMouseLeave = _this$props.onMouseLeave,\n infinite = _this$props.infinite,\n slidesToScroll = _this$props.slidesToScroll,\n slidesToShow = _this$props.slidesToShow,\n slideCount = _this$props.slideCount,\n currentSlide = _this$props.currentSlide;\n var dotCount = getDotCount({\n slideCount: slideCount,\n slidesToScroll: slidesToScroll,\n slidesToShow: slidesToShow,\n infinite: infinite\n });\n var mouseEvents = {\n onMouseEnter: onMouseEnter,\n onMouseOver: onMouseOver,\n onMouseLeave: onMouseLeave\n };\n var dots = [];\n\n for (var i = 0; i < dotCount; i++) {\n var _rightBound = (i + 1) * slidesToScroll - 1;\n\n var rightBound = infinite ? _rightBound : (0, _innerSliderUtils.clamp)(_rightBound, 0, slideCount - 1);\n\n var _leftBound = rightBound - (slidesToScroll - 1);\n\n var leftBound = infinite ? _leftBound : (0, _innerSliderUtils.clamp)(_leftBound, 0, slideCount - 1);\n var className = (0, _classnames[\"default\"])({\n \"slick-active\": infinite ? currentSlide >= leftBound && currentSlide <= rightBound : currentSlide === leftBound\n });\n var dotOptions = {\n message: \"dots\",\n index: i,\n slidesToScroll: slidesToScroll,\n currentSlide: currentSlide\n };\n var onClick = this.clickHandler.bind(this, dotOptions);\n dots = dots.concat( /*#__PURE__*/_react[\"default\"].createElement(\"li\", {\n key: i,\n className: className\n }, /*#__PURE__*/_react[\"default\"].cloneElement(this.props.customPaging(i), {\n onClick: onClick\n })));\n }\n\n return /*#__PURE__*/_react[\"default\"].cloneElement(this.props.appendDots(dots), _objectSpread({\n className: this.props.dotsClass\n }, mouseEvents));\n }\n }]);\n\n return Dots;\n}(_react[\"default\"].PureComponent);\n\nexports.Dots = Dots;","/*\nБлок, для отображения загрузки контента или временной заглушки. \nПо умолчанию ..., можно указать текст. Рендерится по центру родителя светлым шрифтом.\n*/\n\n\nconst Floater = (props) => {\n return (\n
{props.text ? props.text : '...'}
\n )\n}\n\nexport default Floater;\n","/*\nКартинка с ленивлй загрузкой\n*/\n\nimport { useState, useEffect } from 'react';\nimport { useInView } from 'react-intersection-observer';\n\nfunction LazyImage({srcSet, itemProp, lazy, onLoad, onError, className, placeholderSrc, src, ...props}) {\n\tconst { ref, inView, entry } = useInView({\n\t\ttriggerOnce: true,\n rootMargin: '200px 100px',\n });\n const isLazy = lazy !== undefined ? lazy : true;\n const width = props.width ? props.width : 1920;\n const height = props.height ? props.height : 676;\n const style = {width: width + 'px', height: height + 'px'};\n const viewBox = \"0 0 \" + width + ' ' + height;\n const classNameDef = className ? className : 'lazy_image';\n //console.log(htmlProps);\n\n const placeholder = props.placeholder ? props.placeholder : \n\n const handleImageLoaded = (e) => {\n \tif (onLoad) {\n \t\tonLoad(ref.current.width, ref.current.height);\n \t}\n }\n\n const handleImageError = (e) => {\n \tif (onError) {\n \t\tonError()\n \t}\n }\n\n const usedSrc = src ? src : placeholderSrc;\n\n useEffect(() => {\n ref.current = new Image;\n ref.current.onload = handleImageLoaded;\n ref.current.onerror = handleImageError;\n ref.current.src = usedSrc;\n }, []);\n\n return (inView || isLazy == false) && src\n \t?\n \t\n \t:\n <>\n {\n placeholderSrc\n ? \n \n :\n \n }\n \n \t\n}\n\nexport default LazyImage;","var MediaQueryDispatch = require('./MediaQueryDispatch');\nmodule.exports = new MediaQueryDispatch();\n","/**\n * Delegate to handle a media query being matched and unmatched.\n *\n * @param {object} options\n * @param {function} options.match callback for when the media query is matched\n * @param {function} [options.unmatch] callback for when the media query is unmatched\n * @param {function} [options.setup] one-time callback triggered the first time a query is matched\n * @param {boolean} [options.deferSetup=false] should the setup callback be run immediately, rather than first time query is matched?\n * @constructor\n */\nfunction QueryHandler(options) {\n this.options = options;\n !options.deferSetup && this.setup();\n}\n\nQueryHandler.prototype = {\n\n constructor : QueryHandler,\n\n /**\n * coordinates setup of the handler\n *\n * @function\n */\n setup : function() {\n if(this.options.setup) {\n this.options.setup();\n }\n this.initialised = true;\n },\n\n /**\n * coordinates setup and triggering of the handler\n *\n * @function\n */\n on : function() {\n !this.initialised && this.setup();\n this.options.match && this.options.match();\n },\n\n /**\n * coordinates the unmatch event for the handler\n *\n * @function\n */\n off : function() {\n this.options.unmatch && this.options.unmatch();\n },\n\n /**\n * called when a handler is to be destroyed.\n * delegates to the destroy or unmatch callbacks, depending on availability.\n *\n * @function\n */\n destroy : function() {\n this.options.destroy ? this.options.destroy() : this.off();\n },\n\n /**\n * determines equality by reference.\n * if object is supplied compare options, if function, compare match callback\n *\n * @function\n * @param {object || function} [target] the target for comparison\n */\n equals : function(target) {\n return this.options === target || this.options.match === target;\n }\n\n};\n\nmodule.exports = QueryHandler;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar initialState = {\n animating: false,\n autoplaying: null,\n currentDirection: 0,\n currentLeft: null,\n currentSlide: 0,\n direction: 1,\n dragging: false,\n edgeDragged: false,\n initialized: false,\n lazyLoadedList: [],\n listHeight: null,\n listWidth: null,\n scrolling: false,\n slideCount: null,\n slideHeight: null,\n slideWidth: null,\n swipeLeft: null,\n swiped: false,\n // used by swipeEvent. differentites between touch and swipe.\n swiping: false,\n touchObject: {\n startX: 0,\n startY: 0,\n curX: 0,\n curY: 0\n },\n trackStyle: {},\n trackWidth: 0,\n targetSlide: 0\n};\nvar _default = initialState;\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.InnerSlider = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _initialState = _interopRequireDefault(require(\"./initial-state\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.debounce\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _innerSliderUtils = require(\"./utils/innerSliderUtils\");\n\nvar _track = require(\"./track\");\n\nvar _dots = require(\"./dots\");\n\nvar _arrows = require(\"./arrows\");\n\nvar _resizeObserverPolyfill = _interopRequireDefault(require(\"resize-observer-polyfill\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar InnerSlider = /*#__PURE__*/function (_React$Component) {\n _inherits(InnerSlider, _React$Component);\n\n var _super = _createSuper(InnerSlider);\n\n function InnerSlider(props) {\n var _this;\n\n _classCallCheck(this, InnerSlider);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"listRefHandler\", function (ref) {\n return _this.list = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"trackRefHandler\", function (ref) {\n return _this.track = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"adaptHeight\", function () {\n if (_this.props.adaptiveHeight && _this.list) {\n var elem = _this.list.querySelector(\"[data-index=\\\"\".concat(_this.state.currentSlide, \"\\\"]\"));\n\n _this.list.style.height = (0, _innerSliderUtils.getHeight)(elem) + \"px\";\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n _this.props.onInit && _this.props.onInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread(_objectSpread({}, _this.props), _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n }\n\n var spec = _objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props);\n\n _this.updateState(spec, true, function () {\n _this.adaptHeight();\n\n _this.props.autoplay && _this.autoPlay(\"update\");\n });\n\n if (_this.props.lazyLoad === \"progressive\") {\n _this.lazyLoadTimer = setInterval(_this.progressiveLazyLoad, 1000);\n }\n\n _this.ro = new _resizeObserverPolyfill[\"default\"](function () {\n if (_this.state.animating) {\n _this.onWindowResized(false); // don't set trackStyle hence don't break animation\n\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.onWindowResized();\n }, _this.props.speed));\n } else {\n _this.onWindowResized();\n }\n });\n\n _this.ro.observe(_this.list);\n\n document.querySelectorAll && Array.prototype.forEach.call(document.querySelectorAll(\".slick-slide\"), function (slide) {\n slide.onfocus = _this.props.pauseOnFocus ? _this.onSlideFocus : null;\n slide.onblur = _this.props.pauseOnFocus ? _this.onSlideBlur : null;\n });\n\n if (window.addEventListener) {\n window.addEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.attachEvent(\"onresize\", _this.onWindowResized);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n if (_this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n }\n\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n }\n\n if (_this.callbackTimers.length) {\n _this.callbackTimers.forEach(function (timer) {\n return clearTimeout(timer);\n });\n\n _this.callbackTimers = [];\n }\n\n if (window.addEventListener) {\n window.removeEventListener(\"resize\", _this.onWindowResized);\n } else {\n window.detachEvent(\"onresize\", _this.onWindowResized);\n }\n\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n _this.ro.disconnect();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function (prevProps) {\n _this.checkImagesLoad();\n\n _this.props.onReInit && _this.props.onReInit();\n\n if (_this.props.lazyLoad) {\n var slidesToLoad = (0, _innerSliderUtils.getOnDemandLazySlides)(_objectSpread(_objectSpread({}, _this.props), _this.state));\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (prevState) {\n return {\n lazyLoadedList: prevState.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n }\n } // if (this.props.onLazyLoad) {\n // this.props.onLazyLoad([leftMostSlide])\n // }\n\n\n _this.adaptHeight();\n\n var spec = _objectSpread(_objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props), _this.state);\n\n var setTrackStyle = _this.didPropsChange(prevProps);\n\n setTrackStyle && _this.updateState(spec, setTrackStyle, function () {\n if (_this.state.currentSlide >= _react[\"default\"].Children.count(_this.props.children)) {\n _this.changeSlide({\n message: \"index\",\n index: _react[\"default\"].Children.count(_this.props.children) - _this.props.slidesToShow,\n currentSlide: _this.state.currentSlide\n });\n }\n\n if (_this.props.autoplay) {\n _this.autoPlay(\"update\");\n } else {\n _this.pause(\"paused\");\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onWindowResized\", function (setTrackStyle) {\n if (_this.debouncedResize) _this.debouncedResize.cancel();\n _this.debouncedResize = (0, _lodash[\"default\"])(function () {\n return _this.resizeWindow(setTrackStyle);\n }, 50);\n\n _this.debouncedResize();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"resizeWindow\", function () {\n var setTrackStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var isTrackMounted = Boolean(_this.track && _this.track.node); // prevent warning: setting state on unmounted component (server side rendering)\n\n if (!isTrackMounted) return;\n\n var spec = _objectSpread(_objectSpread({\n listRef: _this.list,\n trackRef: _this.track\n }, _this.props), _this.state);\n\n _this.updateState(spec, setTrackStyle, function () {\n if (_this.props.autoplay) _this.autoPlay(\"update\");else _this.pause(\"paused\");\n }); // animating state should be cleared while resizing, otherwise autoplay stops working\n\n\n _this.setState({\n animating: false\n });\n\n clearTimeout(_this.animationEndCallback);\n delete _this.animationEndCallback;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateState\", function (spec, setTrackStyle, callback) {\n var updatedState = (0, _innerSliderUtils.initializedState)(spec);\n spec = _objectSpread(_objectSpread(_objectSpread({}, spec), updatedState), {}, {\n slideIndex: updatedState.currentSlide\n });\n var targetLeft = (0, _innerSliderUtils.getTrackLeft)(spec);\n spec = _objectSpread(_objectSpread({}, spec), {}, {\n left: targetLeft\n });\n var trackStyle = (0, _innerSliderUtils.getTrackCSS)(spec);\n\n if (setTrackStyle || _react[\"default\"].Children.count(_this.props.children) !== _react[\"default\"].Children.count(spec.children)) {\n updatedState[\"trackStyle\"] = trackStyle;\n }\n\n _this.setState(updatedState, callback);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"ssrInit\", function () {\n if (_this.props.variableWidth) {\n var _trackWidth = 0,\n _trackLeft = 0;\n var childrenWidths = [];\n var preClones = (0, _innerSliderUtils.getPreClones)(_objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: _this.props.children.length\n }));\n var postClones = (0, _innerSliderUtils.getPostClones)(_objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: _this.props.children.length\n }));\n\n _this.props.children.forEach(function (child) {\n childrenWidths.push(child.props.style.width);\n _trackWidth += child.props.style.width;\n });\n\n for (var i = 0; i < preClones; i++) {\n _trackLeft += childrenWidths[childrenWidths.length - 1 - i];\n _trackWidth += childrenWidths[childrenWidths.length - 1 - i];\n }\n\n for (var _i = 0; _i < postClones; _i++) {\n _trackWidth += childrenWidths[_i];\n }\n\n for (var _i2 = 0; _i2 < _this.state.currentSlide; _i2++) {\n _trackLeft += childrenWidths[_i2];\n }\n\n var _trackStyle = {\n width: _trackWidth + \"px\",\n left: -_trackLeft + \"px\"\n };\n\n if (_this.props.centerMode) {\n var currentWidth = \"\".concat(childrenWidths[_this.state.currentSlide], \"px\");\n _trackStyle.left = \"calc(\".concat(_trackStyle.left, \" + (100% - \").concat(currentWidth, \") / 2 ) \");\n }\n\n return {\n trackStyle: _trackStyle\n };\n }\n\n var childrenCount = _react[\"default\"].Children.count(_this.props.children);\n\n var spec = _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n slideCount: childrenCount\n });\n\n var slideCount = (0, _innerSliderUtils.getPreClones)(spec) + (0, _innerSliderUtils.getPostClones)(spec) + childrenCount;\n var trackWidth = 100 / _this.props.slidesToShow * slideCount;\n var slideWidth = 100 / slideCount;\n var trackLeft = -slideWidth * ((0, _innerSliderUtils.getPreClones)(spec) + _this.state.currentSlide) * trackWidth / 100;\n\n if (_this.props.centerMode) {\n trackLeft += (100 - slideWidth * trackWidth / 100) / 2;\n }\n\n var trackStyle = {\n width: trackWidth + \"%\",\n left: trackLeft + \"%\"\n };\n return {\n slideWidth: slideWidth + \"%\",\n trackStyle: trackStyle\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"checkImagesLoad\", function () {\n var images = _this.list && _this.list.querySelectorAll && _this.list.querySelectorAll(\".slick-slide img\") || [];\n var imagesCount = images.length,\n loadedCount = 0;\n Array.prototype.forEach.call(images, function (image) {\n var handler = function handler() {\n return ++loadedCount && loadedCount >= imagesCount && _this.onWindowResized();\n };\n\n if (!image.onclick) {\n image.onclick = function () {\n return image.parentNode.focus();\n };\n } else {\n var prevClickHandler = image.onclick;\n\n image.onclick = function () {\n prevClickHandler();\n image.parentNode.focus();\n };\n }\n\n if (!image.onload) {\n if (_this.props.lazyLoad) {\n image.onload = function () {\n _this.adaptHeight();\n\n _this.callbackTimers.push(setTimeout(_this.onWindowResized, _this.props.speed));\n };\n } else {\n image.onload = handler;\n\n image.onerror = function () {\n handler();\n _this.props.onLazyLoadError && _this.props.onLazyLoadError();\n };\n }\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"progressiveLazyLoad\", function () {\n var slidesToLoad = [];\n\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n\n for (var index = _this.state.currentSlide; index < _this.state.slideCount + (0, _innerSliderUtils.getPostClones)(spec); index++) {\n if (_this.state.lazyLoadedList.indexOf(index) < 0) {\n slidesToLoad.push(index);\n break;\n }\n }\n\n for (var _index = _this.state.currentSlide - 1; _index >= -(0, _innerSliderUtils.getPreClones)(spec); _index--) {\n if (_this.state.lazyLoadedList.indexOf(_index) < 0) {\n slidesToLoad.push(_index);\n break;\n }\n }\n\n if (slidesToLoad.length > 0) {\n _this.setState(function (state) {\n return {\n lazyLoadedList: state.lazyLoadedList.concat(slidesToLoad)\n };\n });\n\n if (_this.props.onLazyLoad) {\n _this.props.onLazyLoad(slidesToLoad);\n }\n } else {\n if (_this.lazyLoadTimer) {\n clearInterval(_this.lazyLoadTimer);\n delete _this.lazyLoadTimer;\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slideHandler\", function (index) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var _this$props = _this.props,\n asNavFor = _this$props.asNavFor,\n beforeChange = _this$props.beforeChange,\n onLazyLoad = _this$props.onLazyLoad,\n speed = _this$props.speed,\n afterChange = _this$props.afterChange; // capture currentslide before state is updated\n\n var currentSlide = _this.state.currentSlide;\n\n var _slideHandler = (0, _innerSliderUtils.slideHandler)(_objectSpread(_objectSpread(_objectSpread({\n index: index\n }, _this.props), _this.state), {}, {\n trackRef: _this.track,\n useCSS: _this.props.useCSS && !dontAnimate\n })),\n state = _slideHandler.state,\n nextState = _slideHandler.nextState;\n\n if (!state) return;\n beforeChange && beforeChange(currentSlide, state.currentSlide);\n var slidesToLoad = state.lazyLoadedList.filter(function (value) {\n return _this.state.lazyLoadedList.indexOf(value) < 0;\n });\n onLazyLoad && slidesToLoad.length > 0 && onLazyLoad(slidesToLoad);\n\n if (!_this.props.waitForAnimate && _this.animationEndCallback) {\n clearTimeout(_this.animationEndCallback);\n afterChange && afterChange(currentSlide);\n delete _this.animationEndCallback;\n }\n\n _this.setState(state, function () {\n // asNavForIndex check is to avoid recursive calls of slideHandler in waitForAnimate=false mode\n if (asNavFor && _this.asNavForIndex !== index) {\n _this.asNavForIndex = index;\n asNavFor.innerSlider.slideHandler(index);\n }\n\n if (!nextState) return;\n _this.animationEndCallback = setTimeout(function () {\n var animating = nextState.animating,\n firstBatch = _objectWithoutProperties(nextState, [\"animating\"]);\n\n _this.setState(firstBatch, function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.setState({\n animating: animating\n });\n }, 10));\n\n afterChange && afterChange(state.currentSlide);\n delete _this.animationEndCallback;\n });\n }, speed);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"changeSlide\", function (options) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n\n var targetSlide = (0, _innerSliderUtils.changeSlide)(spec, options);\n if (targetSlide !== 0 && !targetSlide) return;\n\n if (dontAnimate === true) {\n _this.slideHandler(targetSlide, dontAnimate);\n } else {\n _this.slideHandler(targetSlide);\n }\n\n _this.props.autoplay && _this.autoPlay(\"update\");\n\n if (_this.props.focusOnSelect) {\n var nodes = _this.list.querySelectorAll(\".slick-current\");\n\n nodes[0] && nodes[0].focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"clickHandler\", function (e) {\n if (_this.clickable === false) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n _this.clickable = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"keyHandler\", function (e) {\n var dir = (0, _innerSliderUtils.keyHandler)(e, _this.props.accessibility, _this.props.rtl);\n dir !== \"\" && _this.changeSlide({\n message: dir\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"selectHandler\", function (options) {\n _this.changeSlide(options);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"disableBodyScroll\", function () {\n var preventDefault = function preventDefault(e) {\n e = e || window.event;\n if (e.preventDefault) e.preventDefault();\n e.returnValue = false;\n };\n\n window.ontouchmove = preventDefault;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"enableBodyScroll\", function () {\n window.ontouchmove = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeStart\", function (e) {\n if (_this.props.verticalSwiping) {\n _this.disableBodyScroll();\n }\n\n var state = (0, _innerSliderUtils.swipeStart)(e, _this.props.swipe, _this.props.draggable);\n state !== \"\" && _this.setState(state);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeMove\", function (e) {\n var state = (0, _innerSliderUtils.swipeMove)(e, _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n\n if (state[\"swiping\"]) {\n _this.clickable = false;\n }\n\n _this.setState(state);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"swipeEnd\", function (e) {\n var state = (0, _innerSliderUtils.swipeEnd)(e, _objectSpread(_objectSpread(_objectSpread({}, _this.props), _this.state), {}, {\n trackRef: _this.track,\n listRef: _this.list,\n slideIndex: _this.state.currentSlide\n }));\n if (!state) return;\n var triggerSlideHandler = state[\"triggerSlideHandler\"];\n delete state[\"triggerSlideHandler\"];\n\n _this.setState(state);\n\n if (triggerSlideHandler === undefined) return;\n\n _this.slideHandler(triggerSlideHandler);\n\n if (_this.props.verticalSwiping) {\n _this.enableBodyScroll();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"touchEnd\", function (e) {\n _this.swipeEnd(e);\n\n _this.clickable = true;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickPrev\", function () {\n // this and fellow methods are wrapped in setTimeout\n // to make sure initialize setState has happened before\n // any of such methods are called\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"previous\"\n });\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickNext\", function () {\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"next\"\n });\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"slickGoTo\", function (slide) {\n var dontAnimate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n slide = Number(slide);\n if (isNaN(slide)) return \"\";\n\n _this.callbackTimers.push(setTimeout(function () {\n return _this.changeSlide({\n message: \"index\",\n index: slide,\n currentSlide: _this.state.currentSlide\n }, dontAnimate);\n }, 0));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"play\", function () {\n var nextIndex;\n\n if (_this.props.rtl) {\n nextIndex = _this.state.currentSlide - _this.props.slidesToScroll;\n } else {\n if ((0, _innerSliderUtils.canGoNext)(_objectSpread(_objectSpread({}, _this.props), _this.state))) {\n nextIndex = _this.state.currentSlide + _this.props.slidesToScroll;\n } else {\n return false;\n }\n }\n\n _this.slideHandler(nextIndex);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"autoPlay\", function (playType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (playType === \"update\") {\n if (autoplaying === \"hovered\" || autoplaying === \"focused\" || autoplaying === \"paused\") {\n return;\n }\n } else if (playType === \"leave\") {\n if (autoplaying === \"paused\" || autoplaying === \"focused\") {\n return;\n }\n } else if (playType === \"blur\") {\n if (autoplaying === \"paused\" || autoplaying === \"hovered\") {\n return;\n }\n }\n\n _this.autoplayTimer = setInterval(_this.play, _this.props.autoplaySpeed + 50);\n\n _this.setState({\n autoplaying: \"playing\"\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"pause\", function (pauseType) {\n if (_this.autoplayTimer) {\n clearInterval(_this.autoplayTimer);\n _this.autoplayTimer = null;\n }\n\n var autoplaying = _this.state.autoplaying;\n\n if (pauseType === \"paused\") {\n _this.setState({\n autoplaying: \"paused\"\n });\n } else if (pauseType === \"focused\") {\n if (autoplaying === \"hovered\" || autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"focused\"\n });\n }\n } else {\n // pauseType is 'hovered'\n if (autoplaying === \"playing\") {\n _this.setState({\n autoplaying: \"hovered\"\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDotsOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDotsLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackOver\", function () {\n return _this.props.autoplay && _this.pause(\"hovered\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTrackLeave\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"hovered\" && _this.autoPlay(\"leave\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideFocus\", function () {\n return _this.props.autoplay && _this.pause(\"focused\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onSlideBlur\", function () {\n return _this.props.autoplay && _this.state.autoplaying === \"focused\" && _this.autoPlay(\"blur\");\n });\n\n _defineProperty(_assertThisInitialized(_this), \"render\", function () {\n var className = (0, _classnames[\"default\"])(\"slick-slider\", _this.props.className, {\n \"slick-vertical\": _this.props.vertical,\n \"slick-initialized\": true\n });\n\n var spec = _objectSpread(_objectSpread({}, _this.props), _this.state);\n\n var trackProps = (0, _innerSliderUtils.extractObject)(spec, [\"fade\", \"cssEase\", \"speed\", \"infinite\", \"centerMode\", \"focusOnSelect\", \"currentSlide\", \"lazyLoad\", \"lazyLoadedList\", \"rtl\", \"slideWidth\", \"slideHeight\", \"listHeight\", \"vertical\", \"slidesToShow\", \"slidesToScroll\", \"slideCount\", \"trackStyle\", \"variableWidth\", \"unslick\", \"centerPadding\", \"targetSlide\", \"useCSS\"]);\n var pauseOnHover = _this.props.pauseOnHover;\n trackProps = _objectSpread(_objectSpread({}, trackProps), {}, {\n onMouseEnter: pauseOnHover ? _this.onTrackOver : null,\n onMouseLeave: pauseOnHover ? _this.onTrackLeave : null,\n onMouseOver: pauseOnHover ? _this.onTrackOver : null,\n focusOnSelect: _this.props.focusOnSelect && _this.clickable ? _this.selectHandler : null\n });\n var dots;\n\n if (_this.props.dots === true && _this.state.slideCount >= _this.props.slidesToShow) {\n var dotProps = (0, _innerSliderUtils.extractObject)(spec, [\"dotsClass\", \"slideCount\", \"slidesToShow\", \"currentSlide\", \"slidesToScroll\", \"clickHandler\", \"children\", \"customPaging\", \"infinite\", \"appendDots\"]);\n var pauseOnDotsHover = _this.props.pauseOnDotsHover;\n dotProps = _objectSpread(_objectSpread({}, dotProps), {}, {\n clickHandler: _this.changeSlide,\n onMouseEnter: pauseOnDotsHover ? _this.onDotsLeave : null,\n onMouseOver: pauseOnDotsHover ? _this.onDotsOver : null,\n onMouseLeave: pauseOnDotsHover ? _this.onDotsLeave : null\n });\n dots = /*#__PURE__*/_react[\"default\"].createElement(_dots.Dots, dotProps);\n }\n\n var prevArrow, nextArrow;\n var arrowProps = (0, _innerSliderUtils.extractObject)(spec, [\"infinite\", \"centerMode\", \"currentSlide\", \"slideCount\", \"slidesToShow\", \"prevArrow\", \"nextArrow\"]);\n arrowProps.clickHandler = _this.changeSlide;\n\n if (_this.props.arrows) {\n prevArrow = /*#__PURE__*/_react[\"default\"].createElement(_arrows.PrevArrow, arrowProps);\n nextArrow = /*#__PURE__*/_react[\"default\"].createElement(_arrows.NextArrow, arrowProps);\n }\n\n var verticalHeightStyle = null;\n\n if (_this.props.vertical) {\n verticalHeightStyle = {\n height: _this.state.listHeight\n };\n }\n\n var centerPaddingStyle = null;\n\n if (_this.props.vertical === false) {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: \"0px \" + _this.props.centerPadding\n };\n }\n } else {\n if (_this.props.centerMode === true) {\n centerPaddingStyle = {\n padding: _this.props.centerPadding + \" 0px\"\n };\n }\n }\n\n var listStyle = _objectSpread(_objectSpread({}, verticalHeightStyle), centerPaddingStyle);\n\n var touchMove = _this.props.touchMove;\n var listProps = {\n className: \"slick-list\",\n style: listStyle,\n onClick: _this.clickHandler,\n onMouseDown: touchMove ? _this.swipeStart : null,\n onMouseMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onMouseUp: touchMove ? _this.swipeEnd : null,\n onMouseLeave: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onTouchStart: touchMove ? _this.swipeStart : null,\n onTouchMove: _this.state.dragging && touchMove ? _this.swipeMove : null,\n onTouchEnd: touchMove ? _this.touchEnd : null,\n onTouchCancel: _this.state.dragging && touchMove ? _this.swipeEnd : null,\n onKeyDown: _this.props.accessibility ? _this.keyHandler : null\n };\n var innerSliderProps = {\n className: className,\n dir: \"ltr\",\n style: _this.props.style\n };\n\n if (_this.props.unslick) {\n listProps = {\n className: \"slick-list\"\n };\n innerSliderProps = {\n className: className\n };\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", innerSliderProps, !_this.props.unslick ? prevArrow : \"\", /*#__PURE__*/_react[\"default\"].createElement(\"div\", _extends({\n ref: _this.listRefHandler\n }, listProps), /*#__PURE__*/_react[\"default\"].createElement(_track.Track, _extends({\n ref: _this.trackRefHandler\n }, trackProps), _this.props.children)), !_this.props.unslick ? nextArrow : \"\", !_this.props.unslick ? dots : \"\");\n });\n\n _this.list = null;\n _this.track = null;\n _this.state = _objectSpread(_objectSpread({}, _initialState[\"default\"]), {}, {\n currentSlide: _this.props.initialSlide,\n slideCount: _react[\"default\"].Children.count(_this.props.children)\n });\n _this.callbackTimers = [];\n _this.clickable = true;\n _this.debouncedResize = null;\n\n var ssrState = _this.ssrInit();\n\n _this.state = _objectSpread(_objectSpread({}, _this.state), ssrState);\n return _this;\n }\n\n _createClass(InnerSlider, [{\n key: \"didPropsChange\",\n value: function didPropsChange(prevProps) {\n var setTrackStyle = false;\n\n for (var _i3 = 0, _Object$keys = Object.keys(this.props); _i3 < _Object$keys.length; _i3++) {\n var key = _Object$keys[_i3];\n\n if (!prevProps.hasOwnProperty(key)) {\n setTrackStyle = true;\n break;\n }\n\n if (_typeof(prevProps[key]) === \"object\" || typeof prevProps[key] === \"function\") {\n continue;\n }\n\n if (prevProps[key] !== this.props[key]) {\n setTrackStyle = true;\n break;\n }\n }\n\n return setTrackStyle || _react[\"default\"].Children.count(this.props.children) !== _react[\"default\"].Children.count(prevProps.children);\n }\n }]);\n\n return InnerSlider;\n}(_react[\"default\"].Component);\n\nexports.InnerSlider = InnerSlider;","var QueryHandler = require('./QueryHandler');\nvar each = require('./Util').each;\n\n/**\n * Represents a single media query, manages it's state and registered handlers for this query\n *\n * @constructor\n * @param {string} query the media query string\n * @param {boolean} [isUnconditional=false] whether the media query should run regardless of whether the conditions are met. Primarily for helping older browsers deal with mobile-first design\n */\nfunction MediaQuery(query, isUnconditional) {\n this.query = query;\n this.isUnconditional = isUnconditional;\n this.handlers = [];\n this.mql = window.matchMedia(query);\n\n var self = this;\n this.listener = function(mql) {\n // Chrome passes an MediaQueryListEvent object, while other browsers pass MediaQueryList directly\n self.mql = mql.currentTarget || mql;\n self.assess();\n };\n this.mql.addListener(this.listener);\n}\n\nMediaQuery.prototype = {\n\n constuctor : MediaQuery,\n\n /**\n * add a handler for this query, triggering if already active\n *\n * @param {object} handler\n * @param {function} handler.match callback for when query is activated\n * @param {function} [handler.unmatch] callback for when query is deactivated\n * @param {function} [handler.setup] callback for immediate execution when a query handler is registered\n * @param {boolean} [handler.deferSetup=false] should the setup callback be deferred until the first time the handler is matched?\n */\n addHandler : function(handler) {\n var qh = new QueryHandler(handler);\n this.handlers.push(qh);\n\n this.matches() && qh.on();\n },\n\n /**\n * removes the given handler from the collection, and calls it's destroy methods\n *\n * @param {object || function} handler the handler to remove\n */\n removeHandler : function(handler) {\n var handlers = this.handlers;\n each(handlers, function(h, i) {\n if(h.equals(handler)) {\n h.destroy();\n return !handlers.splice(i,1); //remove from array and exit each early\n }\n });\n },\n\n /**\n * Determine whether the media query should be considered a match\n *\n * @return {Boolean} true if media query can be considered a match, false otherwise\n */\n matches : function() {\n return this.mql.matches || this.isUnconditional;\n },\n\n /**\n * Clears all handlers and unbinds events\n */\n clear : function() {\n each(this.handlers, function(handler) {\n handler.destroy();\n });\n this.mql.removeListener(this.listener);\n this.handlers.length = 0; //clear array\n },\n\n /*\n * Assesses the query, turning on all handlers if it matches, turning them off if it doesn't match\n */\n assess : function() {\n var action = this.matches() ? 'on' : 'off';\n\n each(this.handlers, function(handler) {\n handler[action]();\n });\n }\n};\n\nmodule.exports = MediaQuery;\n","var MediaQuery = require('./MediaQuery');\nvar Util = require('./Util');\nvar each = Util.each;\nvar isFunction = Util.isFunction;\nvar isArray = Util.isArray;\n\n/**\n * Allows for registration of query handlers.\n * Manages the query handler's state and is responsible for wiring up browser events\n *\n * @constructor\n */\nfunction MediaQueryDispatch () {\n if(!window.matchMedia) {\n throw new Error('matchMedia not present, legacy browsers require a polyfill');\n }\n\n this.queries = {};\n this.browserIsIncapable = !window.matchMedia('only all').matches;\n}\n\nMediaQueryDispatch.prototype = {\n\n constructor : MediaQueryDispatch,\n\n /**\n * Registers a handler for the given media query\n *\n * @param {string} q the media query\n * @param {object || Array || Function} options either a single query handler object, a function, or an array of query handlers\n * @param {function} options.match fired when query matched\n * @param {function} [options.unmatch] fired when a query is no longer matched\n * @param {function} [options.setup] fired when handler first triggered\n * @param {boolean} [options.deferSetup=false] whether setup should be run immediately or deferred until query is first matched\n * @param {boolean} [shouldDegrade=false] whether this particular media query should always run on incapable browsers\n */\n register : function(q, options, shouldDegrade) {\n var queries = this.queries,\n isUnconditional = shouldDegrade && this.browserIsIncapable;\n\n if(!queries[q]) {\n queries[q] = new MediaQuery(q, isUnconditional);\n }\n\n //normalise to object in an array\n if(isFunction(options)) {\n options = { match : options };\n }\n if(!isArray(options)) {\n options = [options];\n }\n each(options, function(handler) {\n if (isFunction(handler)) {\n handler = { match : handler };\n }\n queries[q].addHandler(handler);\n });\n\n return this;\n },\n\n /**\n * unregisters a query and all it's handlers, or a specific handler for a query\n *\n * @param {string} q the media query to target\n * @param {object || function} [handler] specific handler to unregister\n */\n unregister : function(q, handler) {\n var query = this.queries[q];\n\n if(query) {\n if(handler) {\n query.removeHandler(handler);\n }\n else {\n query.clear();\n delete this.queries[q];\n }\n }\n\n return this;\n }\n};\n\nmodule.exports = MediaQueryDispatch;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.checkSpecKeys = exports.checkNavigable = exports.changeSlide = exports.canUseDOM = exports.canGoNext = void 0;\nexports.clamp = clamp;\nexports.swipeStart = exports.swipeMove = exports.swipeEnd = exports.slidesOnRight = exports.slidesOnLeft = exports.slideHandler = exports.siblingDirection = exports.safePreventDefault = exports.lazyStartIndex = exports.lazySlidesOnRight = exports.lazySlidesOnLeft = exports.lazyEndIndex = exports.keyHandler = exports.initializedState = exports.getWidth = exports.getTrackLeft = exports.getTrackCSS = exports.getTrackAnimateCSS = exports.getTotalSlides = exports.getSwipeDirection = exports.getSlideCount = exports.getRequiredLazySlides = exports.getPreClones = exports.getPostClones = exports.getOnDemandLazySlides = exports.getNavigableIndexes = exports.getHeight = exports.extractObject = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction clamp(number, lowerBound, upperBound) {\n return Math.max(lowerBound, Math.min(number, upperBound));\n}\n\nvar safePreventDefault = function safePreventDefault(event) {\n var passiveEvents = [\"onTouchStart\", \"onTouchMove\", \"onWheel\"];\n\n if (!passiveEvents.includes(event._reactName)) {\n event.preventDefault();\n }\n};\n\nexports.safePreventDefault = safePreventDefault;\n\nvar getOnDemandLazySlides = function getOnDemandLazySlides(spec) {\n var onDemandSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n if (spec.lazyLoadedList.indexOf(slideIndex) < 0) {\n onDemandSlides.push(slideIndex);\n }\n }\n\n return onDemandSlides;\n}; // return list of slides that need to be present\n\n\nexports.getOnDemandLazySlides = getOnDemandLazySlides;\n\nvar getRequiredLazySlides = function getRequiredLazySlides(spec) {\n var requiredSlides = [];\n var startIndex = lazyStartIndex(spec);\n var endIndex = lazyEndIndex(spec);\n\n for (var slideIndex = startIndex; slideIndex < endIndex; slideIndex++) {\n requiredSlides.push(slideIndex);\n }\n\n return requiredSlides;\n}; // startIndex that needs to be present\n\n\nexports.getRequiredLazySlides = getRequiredLazySlides;\n\nvar lazyStartIndex = function lazyStartIndex(spec) {\n return spec.currentSlide - lazySlidesOnLeft(spec);\n};\n\nexports.lazyStartIndex = lazyStartIndex;\n\nvar lazyEndIndex = function lazyEndIndex(spec) {\n return spec.currentSlide + lazySlidesOnRight(spec);\n};\n\nexports.lazyEndIndex = lazyEndIndex;\n\nvar lazySlidesOnLeft = function lazySlidesOnLeft(spec) {\n return spec.centerMode ? Math.floor(spec.slidesToShow / 2) + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : 0;\n};\n\nexports.lazySlidesOnLeft = lazySlidesOnLeft;\n\nvar lazySlidesOnRight = function lazySlidesOnRight(spec) {\n return spec.centerMode ? Math.floor((spec.slidesToShow - 1) / 2) + 1 + (parseInt(spec.centerPadding) > 0 ? 1 : 0) : spec.slidesToShow;\n}; // get width of an element\n\n\nexports.lazySlidesOnRight = lazySlidesOnRight;\n\nvar getWidth = function getWidth(elem) {\n return elem && elem.offsetWidth || 0;\n};\n\nexports.getWidth = getWidth;\n\nvar getHeight = function getHeight(elem) {\n return elem && elem.offsetHeight || 0;\n};\n\nexports.getHeight = getHeight;\n\nvar getSwipeDirection = function getSwipeDirection(touchObject) {\n var verticalSwiping = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var xDist, yDist, r, swipeAngle;\n xDist = touchObject.startX - touchObject.curX;\n yDist = touchObject.startY - touchObject.curY;\n r = Math.atan2(yDist, xDist);\n swipeAngle = Math.round(r * 180 / Math.PI);\n\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n\n if (swipeAngle <= 45 && swipeAngle >= 0 || swipeAngle <= 360 && swipeAngle >= 315) {\n return \"left\";\n }\n\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return \"right\";\n }\n\n if (verticalSwiping === true) {\n if (swipeAngle >= 35 && swipeAngle <= 135) {\n return \"up\";\n } else {\n return \"down\";\n }\n }\n\n return \"vertical\";\n}; // whether or not we can go next\n\n\nexports.getSwipeDirection = getSwipeDirection;\n\nvar canGoNext = function canGoNext(spec) {\n var canGo = true;\n\n if (!spec.infinite) {\n if (spec.centerMode && spec.currentSlide >= spec.slideCount - 1) {\n canGo = false;\n } else if (spec.slideCount <= spec.slidesToShow || spec.currentSlide >= spec.slideCount - spec.slidesToShow) {\n canGo = false;\n }\n }\n\n return canGo;\n}; // given an object and a list of keys, return new object with given keys\n\n\nexports.canGoNext = canGoNext;\n\nvar extractObject = function extractObject(spec, keys) {\n var newObject = {};\n keys.forEach(function (key) {\n return newObject[key] = spec[key];\n });\n return newObject;\n}; // get initialized state\n\n\nexports.extractObject = extractObject;\n\nvar initializedState = function initializedState(spec) {\n // spec also contains listRef, trackRef\n var slideCount = _react[\"default\"].Children.count(spec.children);\n\n var listNode = spec.listRef;\n var listWidth = Math.ceil(getWidth(listNode));\n var trackNode = spec.trackRef && spec.trackRef.node;\n var trackWidth = Math.ceil(getWidth(trackNode));\n var slideWidth;\n\n if (!spec.vertical) {\n var centerPaddingAdj = spec.centerMode && parseInt(spec.centerPadding) * 2;\n\n if (typeof spec.centerPadding === \"string\" && spec.centerPadding.slice(-1) === \"%\") {\n centerPaddingAdj *= listWidth / 100;\n }\n\n slideWidth = Math.ceil((listWidth - centerPaddingAdj) / spec.slidesToShow);\n } else {\n slideWidth = listWidth;\n }\n\n var slideHeight = listNode && getHeight(listNode.querySelector('[data-index=\"0\"]'));\n var listHeight = slideHeight * spec.slidesToShow;\n var currentSlide = spec.currentSlide === undefined ? spec.initialSlide : spec.currentSlide;\n\n if (spec.rtl && spec.currentSlide === undefined) {\n currentSlide = slideCount - 1 - spec.initialSlide;\n }\n\n var lazyLoadedList = spec.lazyLoadedList || [];\n var slidesToLoad = getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n currentSlide: currentSlide,\n lazyLoadedList: lazyLoadedList\n }));\n lazyLoadedList = lazyLoadedList.concat(slidesToLoad);\n var state = {\n slideCount: slideCount,\n slideWidth: slideWidth,\n listWidth: listWidth,\n trackWidth: trackWidth,\n currentSlide: currentSlide,\n slideHeight: slideHeight,\n listHeight: listHeight,\n lazyLoadedList: lazyLoadedList\n };\n\n if (spec.autoplaying === null && spec.autoplay) {\n state[\"autoplaying\"] = \"playing\";\n }\n\n return state;\n};\n\nexports.initializedState = initializedState;\n\nvar slideHandler = function slideHandler(spec) {\n var waitForAnimate = spec.waitForAnimate,\n animating = spec.animating,\n fade = spec.fade,\n infinite = spec.infinite,\n index = spec.index,\n slideCount = spec.slideCount,\n lazyLoad = spec.lazyLoad,\n currentSlide = spec.currentSlide,\n centerMode = spec.centerMode,\n slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n useCSS = spec.useCSS;\n var lazyLoadedList = spec.lazyLoadedList;\n if (waitForAnimate && animating) return {};\n var animationSlide = index,\n finalSlide,\n animationLeft,\n finalLeft;\n var state = {},\n nextState = {};\n var targetSlide = infinite ? index : clamp(index, 0, slideCount - 1);\n\n if (fade) {\n if (!infinite && (index < 0 || index >= slideCount)) return {};\n\n if (index < 0) {\n animationSlide = index + slideCount;\n } else if (index >= slideCount) {\n animationSlide = index - slideCount;\n }\n\n if (lazyLoad && lazyLoadedList.indexOf(animationSlide) < 0) {\n lazyLoadedList = lazyLoadedList.concat(animationSlide);\n }\n\n state = {\n animating: true,\n currentSlide: animationSlide,\n lazyLoadedList: lazyLoadedList,\n targetSlide: animationSlide\n };\n nextState = {\n animating: false,\n targetSlide: animationSlide\n };\n } else {\n finalSlide = animationSlide;\n\n if (animationSlide < 0) {\n finalSlide = animationSlide + slideCount;\n if (!infinite) finalSlide = 0;else if (slideCount % slidesToScroll !== 0) finalSlide = slideCount - slideCount % slidesToScroll;\n } else if (!canGoNext(spec) && animationSlide > currentSlide) {\n animationSlide = finalSlide = currentSlide;\n } else if (centerMode && animationSlide >= slideCount) {\n animationSlide = infinite ? slideCount : slideCount - 1;\n finalSlide = infinite ? 0 : slideCount - 1;\n } else if (animationSlide >= slideCount) {\n finalSlide = animationSlide - slideCount;\n if (!infinite) finalSlide = slideCount - slidesToShow;else if (slideCount % slidesToScroll !== 0) finalSlide = 0;\n }\n\n if (!infinite && animationSlide + slidesToShow >= slideCount) {\n finalSlide = slideCount - slidesToShow;\n }\n\n animationLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n slideIndex: animationSlide\n }));\n finalLeft = getTrackLeft(_objectSpread(_objectSpread({}, spec), {}, {\n slideIndex: finalSlide\n }));\n\n if (!infinite) {\n if (animationLeft === finalLeft) animationSlide = finalSlide;\n animationLeft = finalLeft;\n }\n\n if (lazyLoad) {\n lazyLoadedList = lazyLoadedList.concat(getOnDemandLazySlides(_objectSpread(_objectSpread({}, spec), {}, {\n currentSlide: animationSlide\n })));\n }\n\n if (!useCSS) {\n state = {\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: finalLeft\n })),\n lazyLoadedList: lazyLoadedList,\n targetSlide: targetSlide\n };\n } else {\n state = {\n animating: true,\n currentSlide: finalSlide,\n trackStyle: getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: animationLeft\n })),\n lazyLoadedList: lazyLoadedList,\n targetSlide: targetSlide\n };\n nextState = {\n animating: false,\n currentSlide: finalSlide,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: finalLeft\n })),\n swipeLeft: null,\n targetSlide: targetSlide\n };\n }\n }\n\n return {\n state: state,\n nextState: nextState\n };\n};\n\nexports.slideHandler = slideHandler;\n\nvar changeSlide = function changeSlide(spec, options) {\n var indexOffset, previousInt, slideOffset, unevenOffset, targetSlide;\n var slidesToScroll = spec.slidesToScroll,\n slidesToShow = spec.slidesToShow,\n slideCount = spec.slideCount,\n currentSlide = spec.currentSlide,\n previousTargetSlide = spec.targetSlide,\n lazyLoad = spec.lazyLoad,\n infinite = spec.infinite;\n unevenOffset = slideCount % slidesToScroll !== 0;\n indexOffset = unevenOffset ? 0 : (slideCount - currentSlide) % slidesToScroll;\n\n if (options.message === \"previous\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : slidesToShow - indexOffset;\n targetSlide = currentSlide - slideOffset;\n\n if (lazyLoad && !infinite) {\n previousInt = currentSlide - slideOffset;\n targetSlide = previousInt === -1 ? slideCount - 1 : previousInt;\n }\n\n if (!infinite) {\n targetSlide = previousTargetSlide - slidesToScroll;\n }\n } else if (options.message === \"next\") {\n slideOffset = indexOffset === 0 ? slidesToScroll : indexOffset;\n targetSlide = currentSlide + slideOffset;\n\n if (lazyLoad && !infinite) {\n targetSlide = (currentSlide + slidesToScroll) % slideCount + indexOffset;\n }\n\n if (!infinite) {\n targetSlide = previousTargetSlide + slidesToScroll;\n }\n } else if (options.message === \"dots\") {\n // Click on dots\n targetSlide = options.index * options.slidesToScroll;\n } else if (options.message === \"children\") {\n // Click on the slides\n targetSlide = options.index;\n\n if (infinite) {\n var direction = siblingDirection(_objectSpread(_objectSpread({}, spec), {}, {\n targetSlide: targetSlide\n }));\n\n if (targetSlide > options.currentSlide && direction === \"left\") {\n targetSlide = targetSlide - slideCount;\n } else if (targetSlide < options.currentSlide && direction === \"right\") {\n targetSlide = targetSlide + slideCount;\n }\n }\n } else if (options.message === \"index\") {\n targetSlide = Number(options.index);\n }\n\n return targetSlide;\n};\n\nexports.changeSlide = changeSlide;\n\nvar keyHandler = function keyHandler(e, accessibility, rtl) {\n if (e.target.tagName.match(\"TEXTAREA|INPUT|SELECT\") || !accessibility) return \"\";\n if (e.keyCode === 37) return rtl ? \"next\" : \"previous\";\n if (e.keyCode === 39) return rtl ? \"previous\" : \"next\";\n return \"\";\n};\n\nexports.keyHandler = keyHandler;\n\nvar swipeStart = function swipeStart(e, swipe, draggable) {\n e.target.tagName === \"IMG\" && safePreventDefault(e);\n if (!swipe || !draggable && e.type.indexOf(\"mouse\") !== -1) return \"\";\n return {\n dragging: true,\n touchObject: {\n startX: e.touches ? e.touches[0].pageX : e.clientX,\n startY: e.touches ? e.touches[0].pageY : e.clientY,\n curX: e.touches ? e.touches[0].pageX : e.clientX,\n curY: e.touches ? e.touches[0].pageY : e.clientY\n }\n };\n};\n\nexports.swipeStart = swipeStart;\n\nvar swipeMove = function swipeMove(e, spec) {\n // spec also contains, trackRef and slideIndex\n var scrolling = spec.scrolling,\n animating = spec.animating,\n vertical = spec.vertical,\n swipeToSlide = spec.swipeToSlide,\n verticalSwiping = spec.verticalSwiping,\n rtl = spec.rtl,\n currentSlide = spec.currentSlide,\n edgeFriction = spec.edgeFriction,\n edgeDragged = spec.edgeDragged,\n onEdge = spec.onEdge,\n swiped = spec.swiped,\n swiping = spec.swiping,\n slideCount = spec.slideCount,\n slidesToScroll = spec.slidesToScroll,\n infinite = spec.infinite,\n touchObject = spec.touchObject,\n swipeEvent = spec.swipeEvent,\n listHeight = spec.listHeight,\n listWidth = spec.listWidth;\n if (scrolling) return;\n if (animating) return safePreventDefault(e);\n if (vertical && swipeToSlide && verticalSwiping) safePreventDefault(e);\n var swipeLeft,\n state = {};\n var curLeft = getTrackLeft(spec);\n touchObject.curX = e.touches ? e.touches[0].pageX : e.clientX;\n touchObject.curY = e.touches ? e.touches[0].pageY : e.clientY;\n touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curX - touchObject.startX, 2)));\n var verticalSwipeLength = Math.round(Math.sqrt(Math.pow(touchObject.curY - touchObject.startY, 2)));\n\n if (!verticalSwiping && !swiping && verticalSwipeLength > 10) {\n return {\n scrolling: true\n };\n }\n\n if (verticalSwiping) touchObject.swipeLength = verticalSwipeLength;\n var positionOffset = (!rtl ? 1 : -1) * (touchObject.curX > touchObject.startX ? 1 : -1);\n if (verticalSwiping) positionOffset = touchObject.curY > touchObject.startY ? 1 : -1;\n var dotCount = Math.ceil(slideCount / slidesToScroll);\n var swipeDirection = getSwipeDirection(spec.touchObject, verticalSwiping);\n var touchSwipeLength = touchObject.swipeLength;\n\n if (!infinite) {\n if (currentSlide === 0 && (swipeDirection === \"right\" || swipeDirection === \"down\") || currentSlide + 1 >= dotCount && (swipeDirection === \"left\" || swipeDirection === \"up\") || !canGoNext(spec) && (swipeDirection === \"left\" || swipeDirection === \"up\")) {\n touchSwipeLength = touchObject.swipeLength * edgeFriction;\n\n if (edgeDragged === false && onEdge) {\n onEdge(swipeDirection);\n state[\"edgeDragged\"] = true;\n }\n }\n }\n\n if (!swiped && swipeEvent) {\n swipeEvent(swipeDirection);\n state[\"swiped\"] = true;\n }\n\n if (!vertical) {\n if (!rtl) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n } else {\n swipeLeft = curLeft - touchSwipeLength * positionOffset;\n }\n } else {\n swipeLeft = curLeft + touchSwipeLength * (listHeight / listWidth) * positionOffset;\n }\n\n if (verticalSwiping) {\n swipeLeft = curLeft + touchSwipeLength * positionOffset;\n }\n\n state = _objectSpread(_objectSpread({}, state), {}, {\n touchObject: touchObject,\n swipeLeft: swipeLeft,\n trackStyle: getTrackCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: swipeLeft\n }))\n });\n\n if (Math.abs(touchObject.curX - touchObject.startX) < Math.abs(touchObject.curY - touchObject.startY) * 0.8) {\n return state;\n }\n\n if (touchObject.swipeLength > 10) {\n state[\"swiping\"] = true;\n safePreventDefault(e);\n }\n\n return state;\n};\n\nexports.swipeMove = swipeMove;\n\nvar swipeEnd = function swipeEnd(e, spec) {\n var dragging = spec.dragging,\n swipe = spec.swipe,\n touchObject = spec.touchObject,\n listWidth = spec.listWidth,\n touchThreshold = spec.touchThreshold,\n verticalSwiping = spec.verticalSwiping,\n listHeight = spec.listHeight,\n swipeToSlide = spec.swipeToSlide,\n scrolling = spec.scrolling,\n onSwipe = spec.onSwipe,\n targetSlide = spec.targetSlide,\n currentSlide = spec.currentSlide,\n infinite = spec.infinite;\n\n if (!dragging) {\n if (swipe) safePreventDefault(e);\n return {};\n }\n\n var minSwipe = verticalSwiping ? listHeight / touchThreshold : listWidth / touchThreshold;\n var swipeDirection = getSwipeDirection(touchObject, verticalSwiping); // reset the state of touch related state variables.\n\n var state = {\n dragging: false,\n edgeDragged: false,\n scrolling: false,\n swiping: false,\n swiped: false,\n swipeLeft: null,\n touchObject: {}\n };\n\n if (scrolling) {\n return state;\n }\n\n if (!touchObject.swipeLength) {\n return state;\n }\n\n if (touchObject.swipeLength > minSwipe) {\n safePreventDefault(e);\n\n if (onSwipe) {\n onSwipe(swipeDirection);\n }\n\n var slideCount, newSlide;\n var activeSlide = infinite ? currentSlide : targetSlide;\n\n switch (swipeDirection) {\n case \"left\":\n case \"up\":\n newSlide = activeSlide + getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 0;\n break;\n\n case \"right\":\n case \"down\":\n newSlide = activeSlide - getSlideCount(spec);\n slideCount = swipeToSlide ? checkNavigable(spec, newSlide) : newSlide;\n state[\"currentDirection\"] = 1;\n break;\n\n default:\n slideCount = activeSlide;\n }\n\n state[\"triggerSlideHandler\"] = slideCount;\n } else {\n // Adjust the track back to it's original position.\n var currentLeft = getTrackLeft(spec);\n state[\"trackStyle\"] = getTrackAnimateCSS(_objectSpread(_objectSpread({}, spec), {}, {\n left: currentLeft\n }));\n }\n\n return state;\n};\n\nexports.swipeEnd = swipeEnd;\n\nvar getNavigableIndexes = function getNavigableIndexes(spec) {\n var max = spec.infinite ? spec.slideCount * 2 : spec.slideCount;\n var breakpoint = spec.infinite ? spec.slidesToShow * -1 : 0;\n var counter = spec.infinite ? spec.slidesToShow * -1 : 0;\n var indexes = [];\n\n while (breakpoint < max) {\n indexes.push(breakpoint);\n breakpoint = counter + spec.slidesToScroll;\n counter += Math.min(spec.slidesToScroll, spec.slidesToShow);\n }\n\n return indexes;\n};\n\nexports.getNavigableIndexes = getNavigableIndexes;\n\nvar checkNavigable = function checkNavigable(spec, index) {\n var navigables = getNavigableIndexes(spec);\n var prevNavigable = 0;\n\n if (index > navigables[navigables.length - 1]) {\n index = navigables[navigables.length - 1];\n } else {\n for (var n in navigables) {\n if (index < navigables[n]) {\n index = prevNavigable;\n break;\n }\n\n prevNavigable = navigables[n];\n }\n }\n\n return index;\n};\n\nexports.checkNavigable = checkNavigable;\n\nvar getSlideCount = function getSlideCount(spec) {\n var centerOffset = spec.centerMode ? spec.slideWidth * Math.floor(spec.slidesToShow / 2) : 0;\n\n if (spec.swipeToSlide) {\n var swipedSlide;\n var slickList = spec.listRef;\n var slides = slickList.querySelectorAll && slickList.querySelectorAll(\".slick-slide\") || [];\n Array.from(slides).every(function (slide) {\n if (!spec.vertical) {\n if (slide.offsetLeft - centerOffset + getWidth(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n } else {\n if (slide.offsetTop + getHeight(slide) / 2 > spec.swipeLeft * -1) {\n swipedSlide = slide;\n return false;\n }\n }\n\n return true;\n });\n\n if (!swipedSlide) {\n return 0;\n }\n\n var currentIndex = spec.rtl === true ? spec.slideCount - spec.currentSlide : spec.currentSlide;\n var slidesTraversed = Math.abs(swipedSlide.dataset.index - currentIndex) || 1;\n return slidesTraversed;\n } else {\n return spec.slidesToScroll;\n }\n};\n\nexports.getSlideCount = getSlideCount;\n\nvar checkSpecKeys = function checkSpecKeys(spec, keysArray) {\n return keysArray.reduce(function (value, key) {\n return value && spec.hasOwnProperty(key);\n }, true) ? null : console.error(\"Keys Missing:\", spec);\n};\n\nexports.checkSpecKeys = checkSpecKeys;\n\nvar getTrackCSS = function getTrackCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\"]);\n var trackWidth, trackHeight;\n var trackChildren = spec.slideCount + 2 * spec.slidesToShow;\n\n if (!spec.vertical) {\n trackWidth = getTotalSlides(spec) * spec.slideWidth;\n } else {\n trackHeight = trackChildren * spec.slideHeight;\n }\n\n var style = {\n opacity: 1,\n transition: \"\",\n WebkitTransition: \"\"\n };\n\n if (spec.useTransform) {\n var WebkitTransform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var transform = !spec.vertical ? \"translate3d(\" + spec.left + \"px, 0px, 0px)\" : \"translate3d(0px, \" + spec.left + \"px, 0px)\";\n var msTransform = !spec.vertical ? \"translateX(\" + spec.left + \"px)\" : \"translateY(\" + spec.left + \"px)\";\n style = _objectSpread(_objectSpread({}, style), {}, {\n WebkitTransform: WebkitTransform,\n transform: transform,\n msTransform: msTransform\n });\n } else {\n if (spec.vertical) {\n style[\"top\"] = spec.left;\n } else {\n style[\"left\"] = spec.left;\n }\n }\n\n if (spec.fade) style = {\n opacity: 1\n };\n if (trackWidth) style.width = trackWidth;\n if (trackHeight) style.height = trackHeight; // Fallback for IE8\n\n if (window && !window.addEventListener && window.attachEvent) {\n if (!spec.vertical) {\n style.marginLeft = spec.left + \"px\";\n } else {\n style.marginTop = spec.left + \"px\";\n }\n }\n\n return style;\n};\n\nexports.getTrackCSS = getTrackCSS;\n\nvar getTrackAnimateCSS = function getTrackAnimateCSS(spec) {\n checkSpecKeys(spec, [\"left\", \"variableWidth\", \"slideCount\", \"slidesToShow\", \"slideWidth\", \"speed\", \"cssEase\"]);\n var style = getTrackCSS(spec); // useCSS is true by default so it can be undefined\n\n if (spec.useTransform) {\n style.WebkitTransition = \"-webkit-transform \" + spec.speed + \"ms \" + spec.cssEase;\n style.transition = \"transform \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n if (spec.vertical) {\n style.transition = \"top \" + spec.speed + \"ms \" + spec.cssEase;\n } else {\n style.transition = \"left \" + spec.speed + \"ms \" + spec.cssEase;\n }\n }\n\n return style;\n};\n\nexports.getTrackAnimateCSS = getTrackAnimateCSS;\n\nvar getTrackLeft = function getTrackLeft(spec) {\n if (spec.unslick) {\n return 0;\n }\n\n checkSpecKeys(spec, [\"slideIndex\", \"trackRef\", \"infinite\", \"centerMode\", \"slideCount\", \"slidesToShow\", \"slidesToScroll\", \"slideWidth\", \"listWidth\", \"variableWidth\", \"slideHeight\"]);\n var slideIndex = spec.slideIndex,\n trackRef = spec.trackRef,\n infinite = spec.infinite,\n centerMode = spec.centerMode,\n slideCount = spec.slideCount,\n slidesToShow = spec.slidesToShow,\n slidesToScroll = spec.slidesToScroll,\n slideWidth = spec.slideWidth,\n listWidth = spec.listWidth,\n variableWidth = spec.variableWidth,\n slideHeight = spec.slideHeight,\n fade = spec.fade,\n vertical = spec.vertical;\n var slideOffset = 0;\n var targetLeft;\n var targetSlide;\n var verticalOffset = 0;\n\n if (fade || spec.slideCount === 1) {\n return 0;\n }\n\n var slidesToOffset = 0;\n\n if (infinite) {\n slidesToOffset = -getPreClones(spec); // bring active slide to the beginning of visual area\n // if next scroll doesn't have enough children, just reach till the end of original slides instead of shifting slidesToScroll children\n\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = -(slideIndex > slideCount ? slidesToShow - (slideIndex - slideCount) : slideCount % slidesToScroll);\n } // shift current slide to center of the frame\n\n\n if (centerMode) {\n slidesToOffset += parseInt(slidesToShow / 2);\n }\n } else {\n if (slideCount % slidesToScroll !== 0 && slideIndex + slidesToScroll > slideCount) {\n slidesToOffset = slidesToShow - slideCount % slidesToScroll;\n }\n\n if (centerMode) {\n slidesToOffset = parseInt(slidesToShow / 2);\n }\n }\n\n slideOffset = slidesToOffset * slideWidth;\n verticalOffset = slidesToOffset * slideHeight;\n\n if (!vertical) {\n targetLeft = slideIndex * slideWidth * -1 + slideOffset;\n } else {\n targetLeft = slideIndex * slideHeight * -1 + verticalOffset;\n }\n\n if (variableWidth === true) {\n var targetSlideIndex;\n var trackElem = trackRef && trackRef.node;\n targetSlideIndex = slideIndex + getPreClones(spec);\n targetSlide = trackElem && trackElem.childNodes[targetSlideIndex];\n targetLeft = targetSlide ? targetSlide.offsetLeft * -1 : 0;\n\n if (centerMode === true) {\n targetSlideIndex = infinite ? slideIndex + getPreClones(spec) : slideIndex;\n targetSlide = trackElem && trackElem.children[targetSlideIndex];\n targetLeft = 0;\n\n for (var slide = 0; slide < targetSlideIndex; slide++) {\n targetLeft -= trackElem && trackElem.children[slide] && trackElem.children[slide].offsetWidth;\n }\n\n targetLeft -= parseInt(spec.centerPadding);\n targetLeft += targetSlide && (listWidth - targetSlide.offsetWidth) / 2;\n }\n }\n\n return targetLeft;\n};\n\nexports.getTrackLeft = getTrackLeft;\n\nvar getPreClones = function getPreClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n if (spec.variableWidth) {\n return spec.slideCount;\n }\n\n return spec.slidesToShow + (spec.centerMode ? 1 : 0);\n};\n\nexports.getPreClones = getPreClones;\n\nvar getPostClones = function getPostClones(spec) {\n if (spec.unslick || !spec.infinite) {\n return 0;\n }\n\n return spec.slideCount;\n};\n\nexports.getPostClones = getPostClones;\n\nvar getTotalSlides = function getTotalSlides(spec) {\n return spec.slideCount === 1 ? 1 : getPreClones(spec) + spec.slideCount + getPostClones(spec);\n};\n\nexports.getTotalSlides = getTotalSlides;\n\nvar siblingDirection = function siblingDirection(spec) {\n if (spec.targetSlide > spec.currentSlide) {\n if (spec.targetSlide > spec.currentSlide + slidesOnRight(spec)) {\n return \"left\";\n }\n\n return \"right\";\n } else {\n if (spec.targetSlide < spec.currentSlide - slidesOnLeft(spec)) {\n return \"right\";\n }\n\n return \"left\";\n }\n};\n\nexports.siblingDirection = siblingDirection;\n\nvar slidesOnRight = function slidesOnRight(_ref) {\n var slidesToShow = _ref.slidesToShow,\n centerMode = _ref.centerMode,\n rtl = _ref.rtl,\n centerPadding = _ref.centerPadding;\n\n // returns no of slides on the right of active slide\n if (centerMode) {\n var right = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) right += 1;\n if (rtl && slidesToShow % 2 === 0) right += 1;\n return right;\n }\n\n if (rtl) {\n return 0;\n }\n\n return slidesToShow - 1;\n};\n\nexports.slidesOnRight = slidesOnRight;\n\nvar slidesOnLeft = function slidesOnLeft(_ref2) {\n var slidesToShow = _ref2.slidesToShow,\n centerMode = _ref2.centerMode,\n rtl = _ref2.rtl,\n centerPadding = _ref2.centerPadding;\n\n // returns no of slides on the left of active slide\n if (centerMode) {\n var left = (slidesToShow - 1) / 2 + 1;\n if (parseInt(centerPadding) > 0) left += 1;\n if (!rtl && slidesToShow % 2 === 0) left += 1;\n return left;\n }\n\n if (rtl) {\n return slidesToShow - 1;\n }\n\n return 0;\n};\n\nexports.slidesOnLeft = slidesOnLeft;\n\nvar canUseDOM = function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n};\n\nexports.canUseDOM = canUseDOM;"],"sourceRoot":""}