{"version":3,"sources":["webpack:///./Scripts/Hooks/useWindowSize.js","webpack:///./Styles/Fondprodukter/variables/_foundation.scss","webpack:///./Scripts/Hooks/useParseCssList.js","webpack:///./Scripts/Components/ProductSlider.js"],"names":["useWindowSize","initialWidth","window","innerWidth","initialHeight","innerHeight","useState","size","setSize","useLayoutEffect","updateSize","addEventListener","removeEventListener","module","exports","useParseCssList","cssList","splitted","replace","split","result","str","breakpoints","FoundationVariables","ProductSlider","props","React","currentSlide","setCurrentSlide","slidesPerView","setSlidesPerView","windowWidth","useKeenSlider","loop","slideChanged","s","details","relativeSlide","sliderRef","slider","getBreakpoint","name","useEffect","className","ref","children","child","i","itemType","dangerouslySetInnerHTML","__html","innerHTML","key","onClick","e","stopPropagation","prev","hidden","next","Math","floor"],"mappings":"kKAEe,SAASA,IACpB,IAAIC,EAAeC,QAAUA,OAAOC,WAAaD,OAAOC,WAAa,EACjEC,EAAgBF,QAAUA,OAAOG,YAAcH,OAAOG,YAAc,EAFpC,EAGZC,mBAAS,CAACL,EAAcG,IAHZ,WAG7BG,EAH6B,KAGvBC,EAHuB,KAYpC,OARAC,2BAAgB,WACd,SAASC,IACPF,EAAQ,CAACN,OAAOC,WAAYD,OAAOG,cAIrC,OAFAH,OAAOS,iBAAiB,SAAUD,GAClCA,IACO,kBAAMR,OAAOU,oBAAoB,SAAUF,MACjD,IACIH,I,qBCbXM,EAAOC,QAAU,CAAC,YAAc,mF,kHCDjB,SAASC,EAAgBC,GACpC,IAAIC,EAAWD,EAAQE,QAAQ,IAAK,IAAIA,QAAQ,IAAK,IAAIC,MAAM,KAC3DC,EAAS,GAKb,OAJA,IAAAH,GAAQ,KAARA,GAAa,SAAAI,GAAO,QACZF,EAAQE,EAAIF,MAAM,KACtBC,EAAO,MAAAD,EAAM,IAAN,SAAmB,MAAAA,EAAM,IAAN,WAEvBC,I,kOCLX,qCAKA,IAAME,EAAcP,YAAgBQ,IAAoBD,aAEzC,SAASE,EAAcC,GAAO,MACDC,IAAMpB,SAAS,GADd,WAClCqB,EADkC,KACpBC,EADoB,OAECF,IAAMpB,SAAS,GAFhB,WAElCuB,EAFkC,KAEnBC,EAFmB,OAGnB9B,cAAf+B,EAHkC,cAIbC,wBAAc,CACtCH,cAAeA,EACfI,MAAM,EACNC,aAHsC,SAGzBC,GACXP,EAAgBO,EAAEC,UAAUC,kBARO,WAIlCC,EAJkC,KAIvBC,EAJuB,KAYnCC,EAAgB,SAAAC,GAClB,OAAO,IAASnB,EAAYmB,GAAMvB,QAAQ,KAAM,MAGpDQ,IAAMgB,WAAU,WACTX,GAAeS,EAAc,iBAAmBT,EAAcS,EAAc,SAC3EV,EAAiB,KACZC,EAAc,KAAOA,EAAcS,EAAc,gBACtDV,EAAiB,KAEjBA,EADKC,GAAe,IACH,IAEA,KAEtB,CAACA,IAEJ,IAAsB,EAgBtB,OAAO,yBAAKY,UAAU,8DAClB,yBAAKA,UAAU,cAAcC,IAAKN,GAhB3B,MAAAb,EAAMoB,UAAN,QAAmB,SAACC,EAAOC,GAC9B,OAAO,yBAAKJ,UAAU,yCAAyCK,SAAS,4BAA4BC,wBAAyB,CAACC,OAAQJ,EAAMK,WAAYC,IAAKL,QAkBhKR,GAAU,oCACP,yBAAKI,UAAU,8CAA8CU,QAfnD,SAAAC,GACdA,EAAEC,kBACFhB,EAAOiB,QAa8EC,OAAwB,GAAhB9B,GACrF,uBAAGgB,UAAU,4BAEjB,yBAAKA,UAAU,+CAA+CU,QAbpD,SAAAC,GACdA,EAAEC,kBACFhB,EAAOmB,QAW+ED,OAAQ9B,GAAgBY,EAAOH,UAAU7B,KAAOoD,KAAKC,MAAM/B,IACzI,uBAAGc,UAAU,kC","file":"6.84c599f9f4b781eecdf3.js","sourcesContent":["import { useState, useLayoutEffect } from 'react';\r\n\r\nexport default function useWindowSize() {\r\n var initialWidth = window && window.innerWidth ? window.innerWidth : 0\r\n var initialHeight = window && window.innerHeight ? window.innerHeight : 0\r\n const [size, setSize] = useState([initialWidth, initialHeight]);\r\n useLayoutEffect(() => {\r\n function updateSize() {\r\n setSize([window.innerWidth, window.innerHeight]);\r\n }\r\n window.addEventListener('resize', updateSize);\r\n updateSize();\r\n return () => window.removeEventListener('resize', updateSize);\r\n }, []);\r\n return size;\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"breakpoints\":\"(small: 0, medium: 768px, medium-large: 1080px, large: 1440px, xlarge: 1920px)\"};","export default function useParseCssList(cssList) {\r\n var splitted = cssList.replace(\"(\", \"\").replace(\")\", \"\").split(\",\")\r\n var result = {}\r\n splitted.map(str => {\r\n var split = str.split(\":\")\r\n result[split[0].trim()] = split[1].trim()\r\n })\r\n return result\r\n}","import React, { Fragment } from \"react\"\r\nimport { useKeenSlider } from \"keen-slider/react\"\r\nimport(/* webpackPrefetch: true */ \"keen-slider/keen-slider.min.css\")\r\nimport FoundationVariables from \"../../Styles/Fondprodukter/variables/_foundation.scss\"\r\nimport useParseCssList from \"../Hooks/useParseCssList\"\r\nimport useWindowSize from \"../Hooks/useWindowSize\"\r\n\r\nconst breakpoints = useParseCssList(FoundationVariables.breakpoints);\r\n\r\nexport default function ProductSlider(props) {\r\n const [currentSlide, setCurrentSlide] = React.useState(0)\r\n const [slidesPerView, setSlidesPerView] = React.useState(4)\r\n const [windowWidth] = useWindowSize()\r\n const [sliderRef, slider] = useKeenSlider({\r\n slidesPerView: slidesPerView,\r\n loop: false,\r\n slideChanged(s) {\r\n setCurrentSlide(s.details().relativeSlide)\r\n },\r\n })\r\n\r\n const getBreakpoint = name => {\r\n return parseInt(breakpoints[name].replace(\"px\", \"\"))\r\n }\r\n\r\n React.useEffect(() => {\r\n if(windowWidth >= getBreakpoint(\"medium-large\") && windowWidth < getBreakpoint(\"large\")) {\r\n setSlidesPerView(3.1)\r\n }else if(windowWidth > 500 && windowWidth < getBreakpoint(\"medium-large\")) {\r\n setSlidesPerView(2.1)\r\n }else if(windowWidth <= 500) {\r\n setSlidesPerView(1.2)\r\n }else{\r\n setSlidesPerView(4)\r\n }\r\n }, [windowWidth])\r\n\r\n var getSlides = () => {\r\n return props.children.map((child, i) => {\r\n return
\r\n })\r\n }\r\n\r\n const prevSlide = e => {\r\n e.stopPropagation()\r\n slider.prev()\r\n }\r\n\r\n const nextSlide = e => {\r\n e.stopPropagation()\r\n slider.next()\r\n }\r\n\r\n return
\r\n
\r\n {getSlides()}\r\n
\r\n {slider && <>\r\n \r\n \r\n }\r\n
\r\n}"],"sourceRoot":""}