{"version":3,"sources":["webpack:///./node_modules/react-swipeable/dist/react-swipeable.umd.js","webpack:///./src/app/components/TrendsBar.js","webpack:///./src/app/components/Articles.js","webpack:///./src/app/components/MostReadArticles.js","webpack:///./src/app/components/EditorsChoiceArticles.js","webpack:///./src/app/components/MostReadWidget.js","webpack:///./src/app/components/ArticleCard.js","webpack:///./src/templates/HomePageTVBox.js","webpack:///./src/app/components/ui/Carousel.style.js","webpack:///./src/app/components/ui/Carousel.js","webpack:///./src/app/components/WingBanners.js","webpack:///./assets/images/icons/gallery-prev.svg","webpack:///./assets/images/icons/gallery-next.svg","webpack:///./src/app/components/Membrana.js"],"names":["exports","React","_interopNamespace","e","__esModule","n","Object","create","keys","forEach","k","d","getOwnPropertyDescriptor","defineProperty","get","enumerable","React__namespace","_extends","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","defaultProps","delta","preventDefaultTouchmoveEvent","rotationAngle","trackMouse","trackTouch","initialState","first","initial","start","swiping","xy","rotateXYByAngle","pos","angle","angleInRadians","Math","PI","cos","sin","DOWN","LEFT","RIGHT","UP","useSwipeable","options","transientState","useRef","transientProps","current","_React$useMemo","useMemo","set","handlerProps","onStart","event","touches","state","props","document","addEventListener","onMove","onUp","_ref","clientX","clientY","concat","timeStamp","_ref2","_rotateXYByAngle","x","y","deltaX","deltaY","absX","abs","absY","time","velocity","sqrt","vxvy","dir","getDirection","toLowerCase","eventData","onSwipeStart","onSwiping","cancelablePageSwipe","onSwiped","cancelable","preventDefault","onEnd","onSwipedDir","onTap","cleanUpMouse","removeEventListener","attachTouch","el","passive","cleanup","tls","_ref3","h","_ref4","output","ref","addState","cleanUpTouch","onMouseDown","getHandlers","stateSetter","handlers","updateTransientState","factory","Trends","div","maxWidth","w","mx","mt","borderWidth","borderStyle","borderColor","pb","mb","display","alignItems","sm","lg","flexDirection","pt","h3","text","mr","to","visitorId","sessionId","section","color","hoverColor","flexWrap","sectionsLabels","map","trend","slug","darkMode","backgroundColor","borderRadius","p","label","gridTemplateColumns","gap","className","articles","slice","article","uuid","position","getCanonical","spaceX","flex","h6","getTeaser","image","getImage","width","alt","shape","noImage","NoImage","connect","trendingArticles","getSessionId","getVisitorId","dispatch","bindActionCreators","fetchTrendingArticles","page0Limit","pageSize","fetchArticles","fetchMoreArticles","component","MoreFromButton","styled","button","Articles","useState","scrollY","setScrollY","hasFetchedMore","useEffect","timer","setTimeout","window","scrollTo","clearTimeout","moreButton","id","justifyContent","gridColumn","my","moreButtonColour","onClick","pageView","canonical","replace","process","pageYOffset","sectionProps","rel","itemprop","href","nextHref","prevHref","memo","app","deepCompare","Skeleton","Array","fill","v","_","lastType","bg","MostReadArticles","loading","fetchMostReadArticles","notFound","index","mostReadArticles","EditorsChoiceArticles","fetchEditorsChoiceArticles","editorsChoice","MostReadWidget","tab","useTabState","selectedId","List","ariaLabel","px","py","Tab","Panel","ImageSizes","hero","primary","normal","defaultHeadline","h1","children","ArticleCard","showImage","showAbstract","size","headline","rest","ShowImage","images","Image","videos","url","thumbnailURL","ImageSize","Headline","author","formatAgo","published","system","OpinionArticlesNoImage","clickSource","getImageSize","OpinionArticles","wAdD","Template","authorName","isConnected","sectionLabel","relatedSections","withReadCount","adPath","isOpinion","h4","HomePageTVBox","Wrapper","Carousel","ul","slidesToShow","translateX","css","Slide","li","Pagination","Bullet","active","th","navigationStyles","disabled","Next","Prev","useInterval","callback","delay","savedCallback","setInterval","clearInterval","forwardRef","dataTestId","goNext","goPrev","loop","nextButton","numberOfSlides","pageIdx","prevButton","renderPaginationItem","setNumberOfSlides","setPageIdx","slidesToSwipe","swipeHandlers","visibleSlides","idx","aria-controls","aria-label","data-testid","aria-live","aria-roledescription","role","child","cloneElement","includes","S","displayName","useCarousel","autoplay","duration","mobileSlidesToShow","mobileSlidesToSwipe","onSelectSlide","downMd","useDown","lastSlideIdx","nextPageIdx","min","prevPageIdx","max","onSwipedLeft","onSwipedRight","wallpaperMapping","setWallPaperActive","mappingLeft","mappingRight","onSlotRenderEndedLeft","onSlotRenderEndedRight","wallpaperActive","handleWallpaperLoaded","useCallback","isEmpty","pathname","useLocation","left","top","transform","zIndex","visibility","startsWith","collapseEmptyDiv","slotId","targeting","Wallpaper","mapping","FORMATS","wallpaper","onSlotRenderEnded","wAdM","Wingbanner","wingbanner","right","module","Membrana","location","yieldMasterCmd","push","yieldMaster","init","pageVersionAutodetect","path"],"mappings":"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","file":"static/js/2.690118c3.chunk.js","sourcesContent":["(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\n  typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\n  (global = global || self, factory(global.swipeable = {}, global.react));\n}(this, (function (exports, React) {\n  function _interopNamespace(e) {\n    if (e && e.__esModule) return e;\n    var n = Object.create(null);\n    if (e) {\n      Object.keys(e).forEach(function (k) {\n        if (k !== 'default') {\n          var d = Object.getOwnPropertyDescriptor(e, k);\n          Object.defineProperty(n, k, d.get ? d : {\n            enumerable: true,\n            get: function () {\n              return e[k];\n            }\n          });\n        }\n      });\n    }\n    n['default'] = e;\n    return n;\n  }\n\n  var React__namespace = /*#__PURE__*/_interopNamespace(React);\n\n  function _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\n  var LEFT = \"Left\";\n  var RIGHT = \"Right\";\n  var UP = \"Up\";\n  var DOWN = \"Down\";\n\n  var defaultProps = {\n    delta: 10,\n    preventDefaultTouchmoveEvent: false,\n    rotationAngle: 0,\n    trackMouse: false,\n    trackTouch: true\n  };\n  var initialState = {\n    first: true,\n    initial: [0, 0],\n    start: 0,\n    swiping: false,\n    xy: [0, 0]\n  };\n  var mouseMove = \"mousemove\";\n  var mouseUp = \"mouseup\";\n  var touchEnd = \"touchend\";\n  var touchMove = \"touchmove\";\n  var touchStart = \"touchstart\";\n\n  function getDirection(absX, absY, deltaX, deltaY) {\n    if (absX > absY) {\n      if (deltaX > 0) {\n        return RIGHT;\n      }\n\n      return LEFT;\n    } else if (deltaY > 0) {\n      return DOWN;\n    }\n\n    return UP;\n  }\n\n  function rotateXYByAngle(pos, angle) {\n    if (angle === 0) return pos;\n    var angleInRadians = Math.PI / 180 * angle;\n    var x = pos[0] * Math.cos(angleInRadians) + pos[1] * Math.sin(angleInRadians);\n    var y = pos[1] * Math.cos(angleInRadians) - pos[0] * Math.sin(angleInRadians);\n    return [x, y];\n  }\n\n  function getHandlers(set, handlerProps) {\n    var onStart = function onStart(event) {\n      if (event && \"touches\" in event && event.touches.length > 1) return;\n      set(function (state, props) {\n        if (props.trackMouse) {\n          document.addEventListener(mouseMove, onMove);\n          document.addEventListener(mouseUp, onUp);\n        }\n\n        var _ref = \"touches\" in event ? event.touches[0] : event,\n            clientX = _ref.clientX,\n            clientY = _ref.clientY;\n\n        var xy = rotateXYByAngle([clientX, clientY], props.rotationAngle);\n        return _extends({}, state, initialState, {\n          initial: [].concat(xy),\n          xy: xy,\n          start: event.timeStamp || 0\n        });\n      });\n    };\n\n    var onMove = function onMove(event) {\n      set(function (state, props) {\n        if (\"touches\" in event && event.touches.length > 1) {\n          return state;\n        }\n\n        var _ref2 = \"touches\" in event ? event.touches[0] : event,\n            clientX = _ref2.clientX,\n            clientY = _ref2.clientY;\n\n        var _rotateXYByAngle = rotateXYByAngle([clientX, clientY], props.rotationAngle),\n            x = _rotateXYByAngle[0],\n            y = _rotateXYByAngle[1];\n\n        var deltaX = x - state.xy[0];\n        var deltaY = y - state.xy[1];\n        var absX = Math.abs(deltaX);\n        var absY = Math.abs(deltaY);\n        var time = (event.timeStamp || 0) - state.start;\n        var velocity = Math.sqrt(absX * absX + absY * absY) / (time || 1);\n        var vxvy = [deltaX / (time || 1), deltaY / (time || 1)];\n        var dir = getDirection(absX, absY, deltaX, deltaY);\n        var delta = typeof props.delta === \"number\" ? props.delta : props.delta[dir.toLowerCase()] || defaultProps.delta;\n        if (absX < delta && absY < delta && !state.swiping) return state;\n        var eventData = {\n          absX: absX,\n          absY: absY,\n          deltaX: deltaX,\n          deltaY: deltaY,\n          dir: dir,\n          event: event,\n          first: state.first,\n          initial: state.initial,\n          velocity: velocity,\n          vxvy: vxvy\n        };\n        eventData.first && props.onSwipeStart && props.onSwipeStart(eventData);\n        props.onSwiping && props.onSwiping(eventData);\n        var cancelablePageSwipe = false;\n\n        if (props.onSwiping || props.onSwiped || \"onSwiped\" + dir in props) {\n          cancelablePageSwipe = true;\n        }\n\n        if (cancelablePageSwipe && props.preventDefaultTouchmoveEvent && props.trackTouch && event.cancelable) event.preventDefault();\n        return _extends({}, state, {\n          first: false,\n          eventData: eventData,\n          swiping: true\n        });\n      });\n    };\n\n    var onEnd = function onEnd(event) {\n      set(function (state, props) {\n        var eventData;\n\n        if (state.swiping && state.eventData) {\n          eventData = _extends({}, state.eventData, {\n            event: event\n          });\n          props.onSwiped && props.onSwiped(eventData);\n          var onSwipedDir = props[\"onSwiped\" + eventData.dir];\n          onSwipedDir && onSwipedDir(eventData);\n        } else {\n          props.onTap && props.onTap({\n            event: event\n          });\n        }\n\n        return _extends({}, state, initialState, {\n          eventData: eventData\n        });\n      });\n    };\n\n    var cleanUpMouse = function cleanUpMouse() {\n      document.removeEventListener(mouseMove, onMove);\n      document.removeEventListener(mouseUp, onUp);\n    };\n\n    var onUp = function onUp(e) {\n      cleanUpMouse();\n      onEnd(e);\n    };\n\n    var attachTouch = function attachTouch(el, passive) {\n      var cleanup = function cleanup() {};\n\n      if (el && el.addEventListener) {\n        var tls = [[touchStart, onStart], [touchMove, onMove], [touchEnd, onEnd]];\n        tls.forEach(function (_ref3) {\n          var e = _ref3[0],\n              h = _ref3[1];\n          return el.addEventListener(e, h, {\n            passive: passive\n          });\n        });\n\n        cleanup = function cleanup() {\n          return tls.forEach(function (_ref4) {\n            var e = _ref4[0],\n                h = _ref4[1];\n            return el.removeEventListener(e, h);\n          });\n        };\n      }\n\n      return cleanup;\n    };\n\n    var onRef = function onRef(el) {\n      if (el === null) return;\n      set(function (state, props) {\n        if (state.el === el) return state;\n        var addState = {};\n\n        if (state.el && state.el !== el && state.cleanUpTouch) {\n          state.cleanUpTouch();\n          addState.cleanUpTouch = void 0;\n        }\n\n        if (props.trackTouch && el) {\n          addState.cleanUpTouch = attachTouch(el, !props.preventDefaultTouchmoveEvent);\n        }\n\n        return _extends({}, state, {\n          el: el\n        }, addState);\n      });\n    };\n\n    var output = {\n      ref: onRef\n    };\n\n    if (handlerProps.trackMouse) {\n      output.onMouseDown = onStart;\n    }\n\n    return [output, attachTouch];\n  }\n\n  function updateTransientState(state, props, attachTouch) {\n    var addState = {};\n\n    if (!props.trackTouch && state.cleanUpTouch) {\n      state.cleanUpTouch();\n      addState.cleanUpTouch = void 0;\n    } else if (props.trackTouch && !state.cleanUpTouch) {\n      if (state.el) {\n        addState.cleanUpTouch = attachTouch(state.el, !props.preventDefaultTouchmoveEvent);\n      }\n    }\n\n    return _extends({}, state, addState);\n  }\n\n  function useSwipeable(options) {\n    var trackMouse = options.trackMouse;\n    var transientState = React__namespace.useRef(_extends({}, initialState));\n    var transientProps = React__namespace.useRef(_extends({}, defaultProps));\n    transientProps.current = _extends({}, defaultProps, options, {\n      delta: options.delta === void 0 ? defaultProps.delta : options.delta,\n      rotationAngle: options.rotationAngle === void 0 ? defaultProps.rotationAngle : options.rotationAngle,\n      trackTouch: options.trackTouch === void 0 ? defaultProps.trackTouch : options.trackTouch\n    });\n\n    var _React$useMemo = React__namespace.useMemo(function () {\n      return getHandlers(function (stateSetter) {\n        return transientState.current = stateSetter(transientState.current, transientProps.current);\n      }, {\n        trackMouse: trackMouse\n      });\n    }, [trackMouse]),\n        handlers = _React$useMemo[0],\n        attachTouch = _React$useMemo[1];\n\n    transientState.current = updateTransientState(transientState.current, transientProps.current, attachTouch);\n    return handlers;\n  }\n\n  exports.DOWN = DOWN;\n  exports.LEFT = LEFT;\n  exports.RIGHT = RIGHT;\n  exports.UP = UP;\n  exports.useSwipeable = useSwipeable;\n\n})));\n//# sourceMappingURL=react-swipeable.umd.js.map\n","import React from 'react'\r\nimport styled, { x } from '@xstyled/styled-components'\r\nimport { connect } from 'react-redux'\r\nimport { bindActionCreators } from 'redux'\r\nimport { fetchTrendingArticles } from '../../store/trendingArticles'\r\nimport { getCanonical, getImage, getTeaser } from '../../lib/articleUtils'\r\nimport StyledLink from '../components/ui/Link'\r\nimport ImageOrNoImage from './ui/Image'\r\nimport NoImage from '../../../assets/images/general/no-image.png'\r\nimport Articles from '../components/Articles'\r\nimport { getSessionId, getVisitorId } from '../../store/article'\r\n\r\nconst Trends = (props) => {\r\n  const clickSource = 'Trend Bar'\r\n  return (\r\n  <>\r\n    <x.div maxWidth={1220} w='100%' mx='auto' mt={50} borderWidth='0 0 1px 0' borderStyle='solid' borderColor='divider' pb={10} mb={20} display='flex' alignItems={{ sm: 'none', lg: 'center' }} flexDirection={{ sm:'column', lg: 'row' }} pt={{ sm: '0', lg: '20px' }}>\r\n      <x.h3 text='h3' mr={{ sm: '0', lg: '50px' }} mb={{ sm: '10', lg: '0' }} w={{ sm: '100%', lg: 'auto' }}>\r\n        <StyledLink to='/trends' visitorId={props.visitorId} sessionId={props.sessionId} section={props.section} source={clickSource} color={props.color} hoverColor={props.hoverColor}>Trending on IOL</StyledLink>\r\n      </x.h3>\r\n      <x.div display='flex' flexWrap='wrap'>\r\n        {props.sectionsLabels.map(trend => (\r\n          <StyledLink to={'/' + trend.slug} key={trend.slug} text={props.darkMode ? 'trendLinkDarMode' : 'trendLink'} color={props.color} hoverColor={props.hoverColor} backgroundColor={props.darkMode ? '#434343' : '#EFF1F1'} borderRadius='100px' p='4px 12px' mr={10} mb={{ sm: '10px', lg: '0' }} visitorId={props.visitorId} sessionId={props.sessionId} section={props.section} source={clickSource}>{trend.label}</StyledLink>\r\n        ))}\r\n      </x.div>\r\n    </x.div>\r\n    <x.div maxWidth={1220} w='100%' mx='auto' display='grid' gridTemplateColumns={{ sm: '100%', lg: 'repeat(4, calc((100% - 120px) / 4))' }} gap={{ lg: '40' }} pt={{ sm: '0', lg: '20px' }} className='trendsbar'>\r\n      {props.articles.slice(0, 4).map((article, i) => (\r\n        <x.article key={article.uuid} position='relative' className={i < 3 ? 'divider-right' : ''} p={{ sm: '20px 0', lg: '0' }} borderWidth={{ sm: '0 0 1px 0', lg: '0' }} borderStyle='solid' borderColor='divider'>\r\n          <StyledLink article={article} to={getCanonical(article)} display='flex' spaceX={10} visitorId={props.visitorId} sessionId={props.sessionId} section={props.section} source={clickSource} color={props.color} hoverColor={props.hoverColor}>\r\n            <x.div flex='1 1 0'>\r\n              <x.h6 text='h6' mb={8}>{getTeaser(article)}</x.h6>\r\n            </x.div>\r\n            <x.div>\r\n              <ImageOrNoImage image={getImage(article)} width={80} alt={getTeaser(article)} shape='square' noImage={NoImage} w={{ sm: '50px', lg: '80px' }} />\r\n            </x.div>\r\n          </StyledLink>\r\n        </x.article>\r\n      ))}\r\n    </x.div>\r\n  </>\r\n)}\r\n\r\nconst TrendsBar = props => (\r\n  <Articles className={props.className} section='trendingarticles' page0Limit={4} pageSize={4} fetchArticles={props.fetchTrendingArticles}\r\n    noImage={NoImage} fetchMoreArticles={() => { }} articles={props.articles} component={Trends} {...props} />\r\n)\r\n\r\nconst mapStateToProps = (state) => ({ articles: state.trendingArticles, sessionId: getSessionId(state), visitorId: getVisitorId(state) })\r\nconst mapDispatchToProps = (dispatch) => bindActionCreators({ fetchTrendingArticles }, dispatch)\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(TrendsBar)\r\n","import { memo } from 'react'\nimport styled, { x } from '@xstyled/styled-components'\nimport { Articles as IONArticles } from 'ion-article-cmp'\nimport Helmet from 'react-helmet'\nimport { pageView } from '../../store/app'\nimport deepCompare from '../../lib/deepCompare'\nimport { connect } from 'react-redux'\nimport { bindActionCreators } from 'redux'\n\nconst MoreFromButton = styled.button`\n  text-transform: uppercase;\n  padding: 10px 20px;\n  color: #FFF;\n  background-color: grey;\n  transition: all linear .3s;\n  &:hover {\n    background-color: black;\n  }\n`\n\nexport const Articles = (props) => {\n  const [scrollY, setScrollY] = React.useState(-1)\n  const hasFetchedMore = props.articles[props.section] ? props.articles[props.section].hasFetchedMore : false\n\n  React.useEffect(() => {\n    if (hasFetchedMore && scrollY >= 0) {\n      const timer = setTimeout(() => {\n        window.scrollTo(0, scrollY)\n        setScrollY(-1)\n      }, 0)\n      return () => clearTimeout(timer)\n    }\n  }, [hasFetchedMore])\n\n  return (\n    <IONArticles\n      moreButton={(p) => (\n        <x.div id='buttonContainer' className='more-from-btn noScript' display='flex' justifyContent='center' alignItems='center' w='100%' gridColumn='span 4' my='20'>\n          {typeof window !== 'undefined' && (\n            <MoreFromButton\n              className={'btn' + p.moreButtonColour} id='viewMoreButton'\n              onClick={() => {\n                props.pageView(p.canonical.replace(process.env.RAZZLE_SITE_URL, ''))\n                setScrollY(window.pageYOffset)\n                return p.onClick()\n              }}\n            >More From {p.sectionProps.sectionsLabels && p.sectionProps.sectionsLabels[0] && p.sectionProps.sectionsLabels[0].label}\n            </MoreFromButton>\n          )}\n          {typeof window === 'undefined' && (\n            <a id='viewMoreButtonNoScript' href={p.nextHref}><MoreFromButton>More From {p.sectionProps.sectionsLabels && p.sectionProps.sectionsLabels[0] && p.sectionProps.sectionsLabels[0].label}</MoreFromButton></a>\n          )}\n          <Helmet>\n            <link rel='canonical' itemprop='url' href={p.canonical} />\n            <link rel='next' href={p.nextHref} />\n            {p.prevHref && (\n              <link rel='prev' href={p.prevHref} />\n            )}\n          </Helmet>\n        </x.div>\n      )} {...props}\n    />\n  )\n}\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({ pageView }, dispatch)\nexport default memo(connect(state => state.app, mapDispatchToProps)(Articles), deepCompare)\n","import React from 'react'\nimport { x } from '@xstyled/styled-components'\nimport PropTypes from 'prop-types'\nimport { connect } from 'react-redux'\nimport { bindActionCreators } from 'redux'\nimport { fetchMostReadArticles } from '../../store/mostReadArticles'\n\nimport { getCanonical, getTeaser } from '../../lib/articleUtils'\nimport StyledLink from '../components/ui/Link'\nimport { Articles } from 'ion-article-cmp'\nimport NoImage from '../../../assets/images/general/no-image.png'\nimport { getVisitorId, getSessionId } from '../../store/article'\n\nexport const Skeleton = (props) => (\n  Array(5).fill().map((v, i) =>\n    <x.article key={i} pb={{ _: '20px', lastType: '0' }} mb={{ _: '20px', lastType: '0' }} borderWidth={{ _: '0 0 1px 0', lastType: '0' }} borderStyle='solid' borderColor='divider'>\n      <x.div h={5} mb={5} bg='#F0F0F0' />\n      <x.div w='33%' h={5} bg='#F0F0F0' />\n    </x.article>\n  )\n)\n\nconst MostReadArticles = (props) => {\n  const clickSource = 'Most Read'\n  return (\n    <Articles\n      className={props.className} loading={Skeleton} section={props.section || 'news'} page0Limit={props.pageSize || 5} pageSize={props.pageSize || 5} fetchArticles={props.fetchMostReadArticles}\n      noImage={NoImage} notFound={() => (<Skeleton />)} fetchMoreArticles={() => { }} articles={props.articles}\n      component={({ articles }) => {\n        return articles.map((article, index) => (\n          <x.article key={article.uuid + '-' + index} pb={{ _: '20px', lastType: '0' }} mb={{ _: '20px', lastType: '0' }} borderWidth={{ _: '0 0 1px 0', lastType: '0' }} borderStyle='solid' borderColor='divider'>\n            <StyledLink to={'/' + getCanonical(article)} visitorId={props.visitorId} sessionId={props.sessionId} section={props.section} source={clickSource}>\n              <x.h6 text='h6'>{getTeaser(article)}</x.h6>\n            </StyledLink>\n          </x.article>\n        ))\n      }}\n    />\n  )\n}\n\nMostReadArticles.propTypes = {\n  articles: PropTypes.object.isRequired,\n  fetchMostReadArticles: PropTypes.func.isRequired\n}\n\nMostReadArticles.defaultProps = {\n  pageSize: 5\n}\n\nconst mapStateToProps = (state) => ({ articles: state.mostReadArticles, visitorId: getVisitorId(state), sessionId: getSessionId(state) })\nconst mapDispatchToProps = (dispatch) => bindActionCreators({ fetchMostReadArticles }, dispatch)\n\nexport default connect(mapStateToProps, mapDispatchToProps)(MostReadArticles)\n","import React from 'react'\nimport { x } from '@xstyled/styled-components'\nimport PropTypes from 'prop-types'\nimport { connect } from 'react-redux'\nimport { bindActionCreators } from 'redux'\nimport { fetchEditorsChoiceArticles } from '../../store/editorsChoice'\nimport { getSessionId, getVisitorId } from '../../store/article'\n\nimport { getCanonical, getTeaser } from '../../lib/articleUtils'\nimport StyledLink from '../components/ui/Link'\nimport { Articles } from 'ion-article-cmp'\nimport NoImage from '../../../assets/images/general/no-image.png'\n\nexport const Skeleton = (props) => (\n  Array(5).fill().map((v, i) =>\n    <x.article key={i} pb={{ _: '20px', lastType: '0' }} mb={{ _: '20px', lastType: '0' }} borderWidth={{ _: '0 0 1px 0', lastType: '0' }} borderStyle='solid' borderColor='divider'>\n      <x.div h={5} mb={5} bg='#F0F0F0'></x.div>hello\n      <x.div w='33%' h={5} bg='#F0F0F0'></x.div>\n    </x.article>\n  )\n)\n\nconst EditorsChoiceArticles = (props) => {\n  const clickSource = 'Editors Choice'\n  return (\n    <Articles className={props.className} loading={Skeleton} section={'editorschoice'} page0Limit={props.pageSize || 5} pageSize={props.pageSize || 5} fetchArticles={props.fetchEditorsChoiceArticles}\n      noImage={NoImage} notFound={() => (<Skeleton />)} fetchMoreArticles={() => { }} articles={props.articles}\n      component={({ articles }) => {\n        return articles.map((article, index) => (\n          <x.article article={article} key={article.uuid + '-' + index} pb={{ _: '20px', lastType: '0' }} mb={{ _: '20px', lastType: '0' }} borderWidth={{ _: '0 0 1px 0', lastType: '0' }} borderStyle='solid' borderColor='divider'>\n            <StyledLink to={'/' + getCanonical(article)} visitorId={props.visitorId} sessionId={props.sessionId} section={props.section} source={clickSource}>\n              <x.h6 text='h6'>{getTeaser(article)}</x.h6>\n            </StyledLink>\n          </x.article>\n        ))\n      }}\n    />\n  )\n}\n\nEditorsChoiceArticles.propTypes = {\n  articles: PropTypes.object.isRequired,\n  fetchEditorsChoiceArticles: PropTypes.func.isRequired\n}\n\nEditorsChoiceArticles.defaultProps = {\n  pageSize: 5\n}\n\nconst mapStateToProps = (state) => ({ articles: state.editorsChoice, visitorId: getVisitorId(state), sessionId: getSessionId(state) })\nconst mapDispatchToProps = (dispatch) => bindActionCreators({ fetchEditorsChoiceArticles }, dispatch)\n\nexport default connect(mapStateToProps, mapDispatchToProps)(EditorsChoiceArticles)\n","import { Tab, useTabState } from '../components/ui/Tabs'\nimport MostReadArticles from './MostReadArticles'\nimport EditorsChoiceArticles from './EditorsChoiceArticles'\n\nexport const MostReadWidget = props => {\n  const tab = useTabState({ selectedId: 'most-read' })\n  return (\n    <>\n      <Tab.List ariaLabel='Tabs' {...tab} bg='ltGrey' px={15} py={8} mb={20} display='flex' justifyContent='space-between' flexWrap='nowrap'>\n        <Tab.Tab {...tab} id='most-read'>\n          Most Read\n        </Tab.Tab>\n        <Tab.Tab {...tab} id='editors-choice'>\n          Editor's Choice\n        </Tab.Tab>\n      </Tab.List>\n      <Tab.Panel {...tab} id='most-read' pb={20} mb={20} borderWidth='0 0 1px 0' borderStyle='solid' borderColor='divider'>\n        <MostReadArticles {...props} />\n      </Tab.Panel>\n      <Tab.Panel {...tab} id='editors-choice' pb={20} mb={20} borderWidth='0 0 1px 0' borderStyle='solid' borderColor='divider'>\n        <EditorsChoiceArticles {...props} />\n      </Tab.Panel>\n    </>\n  )\n}\n\nexport default MostReadWidget\n","import React from 'react'\nimport StyledLink from '../components/ui/Link'\nimport styled, { x, system } from '@xstyled/styled-components'\nimport { formatAgo } from '../../lib/dateUtils'\nimport { getTeaser } from '../../lib/articleUtils'\nimport ImageOrNoImage from './ui/Image'\nimport NoImage from '../../../assets/images/general/no-image.png'\n\nconst ImageSizes = {\n  hero: 560,\n  primary: 240,\n  normal: 100\n}\n\nconst defaultHeadline = (p) => (<x.h1 text='h1'>{p.children}</x.h1>) (<x.h6 text='h6'>{p.children}</x.h6>)\n\nexport function ArticleCardLayout ({ article, href, shape, showImage, showAbstract, image, size, headline, ...rest }) {\n  const ShowImage = showImage && (article.image || (!!article.images && article.images.length))\n  const Image = image || article.image || (article.images && article.images[0]) || (article.videos && { url: article.videos[0].thumbnailURL })\n  const ImageSize = ImageSizes[size] || size\n  const Headline = headline || defaultHeadline\n  const clickSource = 'Article Card'\n\n  return (\n    <x.article pb={20} {...rest}>\n      <StyledLink article={article} to={href} text='secondary' visitorId={rest.visitorId} sessionId={rest.sessionId} section={rest.section} source={clickSource} color={rest.color} hoverColor={rest.hoverColor}>\n        {ShowImage &&\n          <ImageOrNoImage image={Image} w='100%' mb={10} width={ImageSize} alt={getTeaser(article)} shape={shape || '16x9'} noImage={NoImage} />\n        }\n        <Headline>{getTeaser(article)}</Headline>\n        <x.p text='meta' color={rest.color || 'meta'} my={8}>By {article.author} | Published {formatAgo(article.published, true)}</x.p>\n        {showAbstract &&\n          <x.p text='large'>{article.abstract}</x.p>\n        }\n      </StyledLink>\n    </x.article>\n  )\n}\n\nconst ArticleCard = styled(ArticleCardLayout)`\n  ${system}\n`\nexport default ArticleCard\n","import React from 'react'\nimport { getCanonical, getImageSize, getImage, getTeaser } from '../lib/articleUtils'\nimport { x } from '@xstyled/styled-components'\nimport ArticleCard from '../app/components/ArticleCard'\nimport { formatAgo } from '../lib/dateUtils'\nimport ImageOrNoImage from '../app/components/ui/Image'\nimport NoImage from '../../assets/images/general/no-image.png'\nimport StyledLink from '../app/components/ui/Link'\n\nconst OpinionArticlesNoImage = ({ article, hoverColor, visitorId, sessionId, section, clickSource, color }) => {\n  return (\n    <StyledLink to={'/' + getCanonical(article)} article={article} display='flex' spaceX={10} flexDirection={{ sm: 'unset', lg: 'row' }} visitorId={visitorId} sessionId={sessionId} section='news' source={clickSource} color={color} hoverColor={hoverColor}>\n      <x.div display={{ lg: 'none' }}>\n        <ImageOrNoImage image={getImage(article)} width={getImageSize('normal')} alt={getTeaser(article)} shape='square' noImage={NoImage} w={{ sm: '100px', lg: '100%' }} />\n      </x.div>\n      <x.div flex='1 1 0'>\n        <x.h6 text='h6'>{getTeaser(article)}</x.h6>\n        <x.p text='meta' color='meta' mt={8}>By {article.author} | Published {formatAgo(article.published, true)}</x.p>\n      </x.div>\n    </StyledLink>\n  )\n}\n\nconst OpinionArticles = ({ article, hoverColor, visitorId, sessionId, section, clickSource, color }) => {\n  return (\n    <StyledLink to={'/' + getCanonical(article)} display='flex' spaceX={{ sm: '10px', wAdD: '0', article: '10px' }} flexDirection={{ sm: 'unset', wAdD: 'column', article: 'row' }} visitorId={visitorId} sessionId={sessionId} section='news' source={clickSource} color={color} hoverColor={hoverColor}>\n      <x.div>\n        <ImageOrNoImage image={getImage(article)} width={getImageSize('normal')} alt={getTeaser(article)} shape='square' noImage={NoImage} w={{ sm: '100px', lg: '100px' }} />\n      </x.div>\n      <x.div flex='1 1 0'>\n        <x.h6 text='h6'>{getTeaser(article)}</x.h6>\n        <x.p text='meta' color='meta' mt={8}>By {article.author} | Published {formatAgo(article.published, true)}</x.p>\n      </x.div>\n    </StyledLink>\n  )\n}\n\nconst Template = ({ articles, authorName, section, noImage, isConnected, sectionLabel, moreButton, relatedSections, withReadCount, adPath, visitorId, sessionId, color, hoverColor, isOpinion }) => {\n  const clickSource = 'TV Box'\n  return (\n    <>\n      {articles[0] && articles[1] &&\n        <x.div display='flex' flexDirection='column' position='relative' className='divider-right' p={{ sm: '0 0 20px 0', lg: '0' }} borderWidth={{ sm: '0 0 1px 0', lg: '0' }} borderStyle='solid' borderColor='divider'>\n          <ArticleCard\n            pb={20} size='hero' borderWidth='0 0 1px 0' borderStyle='solid' borderColor='divider'\n            headline={(p) => (<x.h1 text='h1'>{p.children}</x.h1>)} showAbstract showImage href={'/' + getCanonical(articles[0])}\n            article={articles[0]}\n            visitorId={visitorId} sessionId={sessionId} section='news'\n            color={color}\n            hoverColor={hoverColor}\n          />\n          <x.article pt={20}>\n            <StyledLink to={'/' + getCanonical(articles[1])} display='flex' spaceX={{ sm: '0', article: '10px' }} flexDirection={{ sm: 'column-reverse', article: 'row' }} visitorId={visitorId} sessionId={sessionId} section='news' source={clickSource} color={color} hoverColor={hoverColor}>\n              <x.div flex='1 1 0'>\n                <x.h4 text='h4'>{getTeaser(articles[1])}</x.h4>\n                <x.p text='meta' color='meta' my={8}>By {articles[1].author} | Published {formatAgo(articles[1].published, true)}</x.p>\n                <x.p text='small'>{articles[1].abstract}</x.p>\n              </x.div>\n              <x.div mb={{ sm: '10', article: '0' }}>\n                <ImageOrNoImage image={getImage(articles[1])} w={{ sm: '100%', article: 'auto' }} mb={10} width={getImageSize('hero')} display={{ sm: 'none', lg: 'block', article: 'none' }} alt={getTeaser(articles[1])} shape='16x9' noImage={NoImage} />\n                <ImageOrNoImage image={getImage(articles[1])} w={{ sm: '100%', article: 'auto' }} mb={10} width={getImageSize('primary')} display={{ sm: 'block', lg: 'none', article: 'block' }} alt={getTeaser(articles[1])} shape='16x9' noImage={NoImage} />\n              </x.div>\n            </StyledLink>\n          </x.article>\n        </x.div>}\n      <x.div position='relative' p={{ sm: '20px 0', lg: '0' }} className='divider-right' borderWidth='0'>\n        {articles[2] &&\n          <x.article pb={20} borderWidth='0 0 1px 0' borderStyle='solid' borderColor='divider'>\n            {!isOpinion &&\n              <StyledLink to={'/' + getCanonical(articles[2])} display='flex' spaceX={{ sm: '10px', wAdD: '0', article: '10px' }} flexDirection={{ sm: 'unset', wAdD: 'column-reverse', article: 'row' }} visitorId={visitorId} sessionId={sessionId} section='news' source={clickSource} color={color} hoverColor={hoverColor}>\n                <x.div flex='1 1 0'>\n                  <x.h6 text='h6'>{getTeaser(articles[2])}</x.h6>\n                  <x.p text='meta' color='meta' mt={8}>By {articles[2].author} | Published {formatAgo(articles[2].published, true)}</x.p>\n                </x.div>\n                <x.div>\n                  <ImageOrNoImage image={getImage(articles[2])} width={getImageSize('normal')} alt={getTeaser(articles[2])} shape='square' noImage={NoImage} w={{ sm: '50px', lg: '100px' }} />\n                </x.div>\n              </StyledLink>}\n            {isOpinion &&\n              <OpinionArticles\n                article={articles[2]} hoverColor={hoverColor} visitorId={visitorId} sessionId={sessionId} section={section} clickSource={clickSource} color={color}\n              />}\n          </x.article>}\n        {articles[3] &&\n          <x.article py={20} borderWidth='0 0 1px 0' borderStyle='solid' borderColor='divider'>\n            {!isOpinion &&\n              <StyledLink to={'/' + getCanonical(articles[3])} display='flex' spaceX={{ sm: '10px', wAdD: '0', article: '10px' }} flexDirection={{ sm: 'unset', wAdD: 'column-reverse', article: 'row' }} visitorId={visitorId} sessionId={sessionId} section='news' source={clickSource} color={color} hoverColor={hoverColor}>\n                <x.div flex='1 1 0'>\n                  <x.h6 text='h6'>{getTeaser(articles[3])}</x.h6>\n                  <x.p text='meta' color='meta' mt={8}>By {articles[3].author} | Published {formatAgo(articles[3].published, true)}</x.p>\n                </x.div>\n                <x.div>\n                  <ImageOrNoImage image={getImage(articles[3])} width={getImageSize('normal')} alt={getTeaser(articles[3])} shape='square' noImage={NoImage} w={{ sm: '50px', lg: '100px' }} />\n                </x.div>\n              </StyledLink>}\n            {isOpinion &&\n              <OpinionArticles\n                article={articles[3]} hoverColor={hoverColor} visitorId={visitorId} sessionId={sessionId} section={section} clickSource={clickSource} color={color}\n              />}\n          </x.article>}\n        {articles[4] &&\n          <x.article py={20} borderWidth='0 0 1px 0' borderStyle='solid' borderColor='divider'>\n            {!isOpinion &&\n              <StyledLink to={'/' + getCanonical(articles[4])} article={articles[4]} display='flex' spaceX={10} flexDirection={{ sm: 'unset', lg: 'row' }} visitorId={visitorId} sessionId={sessionId} section='news' source={clickSource} color={color} hoverColor={hoverColor}>\n                <x.div flex='1 1 0'>\n                  <x.h6 text='h6'>{getTeaser(articles[4])}</x.h6>\n                  <x.p text='meta' color='meta' mt={8}>By {articles[4].author} | Published {formatAgo(articles[4].published, true)}</x.p>\n                </x.div>\n                <x.div display={{ lg: 'none' }}>\n                  <ImageOrNoImage image={getImage(articles[4])} width={getImageSize('normal')} alt={getTeaser(articles[4])} shape='square' noImage={NoImage} w={{ sm: '50px', lg: '100%' }} />\n                </x.div>\n              </StyledLink>}\n            {isOpinion &&\n              <OpinionArticlesNoImage\n                article={articles[4]} hoverColor={hoverColor} visitorId={visitorId} sessionId={sessionId} section={section} clickSource={clickSource} color={color}\n              />}\n          </x.article>}\n        {articles[5] &&\n          <x.article py={20} borderWidth='0 0 1px 0' borderStyle='solid' borderColor='divider'>\n            {!isOpinion &&\n              <StyledLink to={'/' + getCanonical(articles[5])} article={articles[5]} display='flex' spaceX={10} flexDirection={{ sm: 'unset', lg: 'row' }} visitorId={visitorId} sessionId={sessionId} section='news' source={clickSource} color={color} hoverColor={hoverColor}>\n                <x.div flex='1 1 0'>\n                  <x.h6 text='h6'>{getTeaser(articles[5])}</x.h6>\n                  <x.p text='meta' color='meta' mt={8}>By {articles[5].author} | Published {formatAgo(articles[5].published, true)}</x.p>\n                </x.div>\n                <x.div display={{ lg: 'none' }}>\n                  <ImageOrNoImage image={getImage(articles[5])} width={getImageSize('normal')} alt={getTeaser(articles[5])} shape='square' noImage={NoImage} w={{ sm: '50px', lg: '100%' }} />\n                </x.div>\n              </StyledLink>}\n            {isOpinion &&\n              <OpinionArticlesNoImage\n                article={articles[5]} hoverColor={hoverColor} visitorId={visitorId} sessionId={sessionId} section={section} clickSource={clickSource} color={color}\n              />}\n          </x.article>}\n        {articles[6] &&\n          <x.article py={20} borderWidth='0 0 1px 0' borderStyle='solid' borderColor='divider'>\n            {!isOpinion &&\n              <StyledLink to={'/' + getCanonical(articles[6])} article={articles[6]} display='flex' spaceX={10} flexDirection={{ sm: 'unset', lg: 'row' }} visitorId={visitorId} sessionId={sessionId} section='news' source={clickSource} color={color} hoverColor={hoverColor}>\n                <x.div flex='1 1 0'>\n                  <x.h6 text='h6'>{getTeaser(articles[6])}</x.h6>\n                  <x.p text='meta' color='meta' mt={8}>By {articles[6].author} | Published {formatAgo(articles[6].published, true)}</x.p>\n                </x.div>\n                <x.div display={{ lg: 'none' }}>\n                  <ImageOrNoImage image={getImage(articles[6])} width={getImageSize('normal')} alt={getTeaser(articles[6])} shape='square' noImage={NoImage} w={{ sm: '50px', lg: '100%' }} />\n                </x.div>\n              </StyledLink>}\n            {isOpinion &&\n              <OpinionArticlesNoImage\n                article={articles[6]} hoverColor={hoverColor} visitorId={visitorId} sessionId={sessionId} section={section} clickSource={clickSource} color={color}\n              />}\n          </x.article>}\n        {articles[7] &&\n          <x.article pt={20}>\n            {!isOpinion &&\n              <StyledLink to={'/' + getCanonical(articles[7])} display='flex' spaceX={10} flexDirection={{ sm: 'unset', lg: 'row' }} visitorId={visitorId} sessionId={sessionId} section='news' source={clickSource} color={color} hoverColor={hoverColor}>\n                <x.div flex='1 1 0'>\n                  <x.h6 text='h6'>{getTeaser(articles[7])}</x.h6>\n                  <x.p text='meta' color='meta' mt={8}>By {articles[7].author} | Published {formatAgo(articles[7].published, true)}</x.p>\n                </x.div>\n                <x.div display={{ lg: 'none' }}>\n                  <ImageOrNoImage image={getImage(articles[7])} width={getImageSize('normal')} alt={getTeaser(articles[7])} shape='square' noImage={NoImage} w={{ sm: '50px', lg: '100%' }} />\n                </x.div>\n              </StyledLink>}\n            {isOpinion &&\n              <OpinionArticlesNoImage\n                article={articles[7]} hoverColor={hoverColor} visitorId={visitorId} sessionId={sessionId} section={section} clickSource={clickSource} color={color}\n              />}\n          </x.article>}\n      </x.div>\n    </>\n  )\n}\n\nconst HomePageTVBox = (props) => {\n  return (\n    <Template {...props} />\n  )\n}\n\nexport default HomePageTVBox\n","import styled, { css } from '@xstyled/styled-components'\nimport { system, th } from '@xstyled/system'\n\nexport const Wrapper = styled.div`\n  overflow: hidden;\n  position: relative;\n  ${system}\n`\n\nexport const Carousel = styled.ul(\n  ({ slidesToShow, translateX }) => css`\n    list-style: none;\n    margin: 0;\n    padding: 0;\n    display: flex;\n    width: ${100 / slidesToShow}%;\n    height: 100%;\n    transition: transform 0.5s ease-out;\n    transform: translateX(${translateX}%);\n  `\n)\n\nexport const Slide = styled.li`\n  width: 100%;\n  height: 100%;\n  flex: 0 0 auto;\n  ${system}\n`\n\nexport const Pagination = styled.div`\n  display: flex;\n  position: relative;\n  z-index: 10;\n  bottom: 0;\n  width: 100%;\n  gap: 20px;\n  padding-bottom: 5px;\n  @media screen and (max-width:1023px) {\n    gap: 10px;\n    padding-bottom: 10px;\n  }\n  img {\n    width: 144px;\n    display: block;\n  }\n`\n\nexport const Bullet = styled.div(\n  ({ active }) => css`\n    height: 10;\n    width: 10;\n    border-radius: 50%;\n    cursor: pointer;\n    margin: 0 xxs;\n    ${active ? th('carousels.navigation.bullet.active') : th('carousels.navigation.bullet.default')}\n    ${system}\n  `\n)\n\nconst navigationStyles = css`\n  position: absolute;\n  height: 20px;\n  top: 0;\n  display: flex;\n  align-items: center;\n  cursor: ${props => (props.disabled ? 'not-allowed' : 'pointer')};\n  opacity: ${props => (props.disabled ? 0.25 : 1)};\n  pointer-events: ${props => (props.disabled ? 'none' : null)};\n  z-index: 20;\n`\n\nexport const Next = styled.div`\n  ${navigationStyles}\n  right: 0;\n  top: 4px;\n  width: 20px;\n  height: 20px;\n`\n\nexport const Prev = styled.div`\n  ${navigationStyles}\n  right: 28px;\n  top: 4px;\n  width: 20px;\n  height: 20px;\n`","import React, { cloneElement, forwardRef, useEffect, useState, useRef } from 'react'\nimport { bool, func, node, number, string } from 'prop-types'\nimport { useDown } from '@xstyled/styled-components'\nimport { useSwipeable } from 'react-swipeable'\n\nimport * as S from './Carousel.style'\n\nexport const useInterval = (callback, delay) => {\n  const savedCallback = useRef()\n\n  // Remember the latest callback.\n  useEffect(() => {\n    savedCallback.current = callback\n  }, [callback])\n\n  // Set up the interval.\n  useEffect(() => {\n    function tick() {\n      savedCallback.current()\n    }\n    if (delay !== null) {\n      let id = setInterval(tick, delay)\n      return () => clearInterval(id)\n    }\n  }, [delay])\n}\n\nexport const Carousel = forwardRef((props, ref) => {\n  const {\n    children,\n    dataTestId,\n    goNext,\n    goPrev,\n    id = 'carousel',\n    loop,\n    nextButton,\n    numberOfSlides,\n    pageIdx,\n    prevButton,\n    renderPaginationItem,\n    setNumberOfSlides,\n    setPageIdx,\n    slidesToShow,\n    slidesToSwipe,\n    swipeHandlers,\n    ...rest\n  } = props\n\n  const translateX = -(pageIdx * 100)\n\n  useEffect(() => {\n    // TODO: Allow for immutable objects - remove when no longer needed\n    setNumberOfSlides(children.length || children.size)\n  }, [children, setNumberOfSlides])\n\n  // Get array with indexes of visible slides so we know which ones are (aria-)hidden\n  const visibleSlides = Array(slidesToShow)\n    .fill()\n    .map((_, idx) => pageIdx + idx)\n\n  return (\n    <>\n      {prevButton && (\n        <S.Prev\n          aria-controls={id}\n          aria-label=\"Previous slide\"\n          className=\"carousel-prev\"\n          data-testid={dataTestId && `${dataTestId}-button-prev`}\n          disabled={!loop && pageIdx === 0}\n          onClick={goPrev}\n        >\n          {prevButton}\n        </S.Prev>\n      )}\n      {nextButton && (\n        <S.Next\n          aria-controls={id}\n          aria-label=\"Next slide\"\n          className=\"carousel-next\"\n          data-testid={dataTestId && `${dataTestId}-button-next`}\n          disabled={!loop && pageIdx >= numberOfSlides - slidesToSwipe}\n          onClick={goNext}\n        >\n          {nextButton}\n        </S.Next>\n      )}\n      <S.Wrapper\n        {...rest}\n        aria-live=\"off\"\n        aria-roledescription=\"carousel\"\n        id={id}\n        ref={ref}\n        role=\"region\"\n      >\n        <S.Carousel {...swipeHandlers} slidesToShow={slidesToShow} translateX={translateX}>\n          {children.map((child, idx) =>\n            cloneElement(child, {\n              key: idx,\n              role: 'group',\n              'aria-hidden': !visibleSlides.includes(idx),\n              'aria-readonly': true,\n              'aria-roledescription': 'slide',\n              'aria-label': `${idx + 1} of ${numberOfSlides}`\n            })\n          )}\n        </S.Carousel>\n        <S.Pagination\n          className=\"carousel-pagination\"\n          data-testid={dataTestId && `${dataTestId}-pagination`}\n        >\n          {children.map((_, idx) => {\n            const props = {\n              idx,\n              'aria-controls': id,\n              'aria-label': `${idx + 1} of ${numberOfSlides}`,\n              'aria-selected': idx === pageIdx,\n              onClick: () => setPageIdx(idx),\n              pageIdx\n            }\n            if (renderPaginationItem) {\n              return renderPaginationItem(props)\n            }\n            // eslint-disable-next-line react/no-array-index-key\n            return <S.Bullet active={idx === pageIdx} key={idx} {...props} />\n          })}\n        </S.Pagination>\n      </S.Wrapper>\n    </>\n  )\n})\n\nCarousel.Slide = S.Slide\nCarousel.Bullet = S.Bullet\nCarousel.displayName = 'Carousel'\n\nexport const useCarousel = (props = {}) => {\n  let {\n    autoplay,\n    duration = 5000,\n    loop,\n    slidesToShow = 1,\n    slidesToSwipe = slidesToShow,\n    mobileSlidesToShow = 1,\n    mobileSlidesToSwipe = mobileSlidesToShow,\n    onSelectSlide,\n    ...rest\n  } = props\n\n  // Set slidesToShow to 1 for mobile\n  const downMd = useDown('md')\n  if (downMd) {\n    slidesToShow = mobileSlidesToShow\n    slidesToSwipe = mobileSlidesToSwipe\n  }\n\n  const [numberOfSlides, setNumberOfSlides] = useState(0)\n  const [pageIdx, setPageIdx] = useState(0)\n\n  const lastSlideIdx = numberOfSlides ? numberOfSlides - slidesToShow : 0\n\n  // Add autoplay\n  useInterval(\n    () => {\n      if (autoplay) {\n        goNext()\n      }\n    },\n    autoplay ? duration : null\n  )\n\n  const goNext = () => {\n    const nextPageIdx = Math.min(pageIdx + slidesToSwipe, lastSlideIdx)\n\n    if (pageIdx === lastSlideIdx && loop) {\n      setPageIdx(0)\n      if (onSelectSlide) {\n        onSelectSlide(0)\n      }\n    } else if (nextPageIdx <= lastSlideIdx) {\n      setPageIdx(nextPageIdx)\n      if (onSelectSlide) {\n        onSelectSlide(nextPageIdx)\n      }\n    }\n  }\n\n  const goPrev = () => {\n    const prevPageIdx = Math.max(pageIdx - slidesToSwipe, 0)\n\n    if (pageIdx === 0 && loop) {\n      setPageIdx(lastSlideIdx)\n      if (onSelectSlide) {\n        onSelectSlide(lastSlideIdx)\n      }\n    } else if (prevPageIdx >= 0) {\n      setPageIdx(prevPageIdx)\n      if (onSelectSlide) {\n        onSelectSlide(prevPageIdx)\n      }\n    }\n  }\n\n  const swipeHandlers  = useSwipeable({\n    onSwipedLeft: goNext,\n    onSwipedRight: goPrev\n  })\n\n  return {\n    goNext,\n    goPrev,\n    loop,\n    numberOfSlides,\n    pageIdx,\n    setNumberOfSlides,\n    setPageIdx,\n    slidesToShow,\n    slidesToSwipe,\n    swipeHandlers,\n    ...rest\n  }\n}\n\nCarousel.propTypes /* remove-proptypes */ = {\n  autoplay: bool,\n  children: node,\n  dataTestId: string,\n  duration: number,\n  goNext: func,\n  goPrev: func,\n  id: string,\n  loop: bool,\n  nextButton: node,\n  numberOfSlides: number,\n  pageIdx: number,\n  prevButton: node,\n  renderPaginationItem: func,\n  setNumberOfSlides: func,\n  setPageIdx: func,\n  slidesToShow: number,\n  slidesToSwipe: number\n}","import React, { useCallback } from 'react'\nimport { x } from '@xstyled/styled-components'\nimport { connect } from 'react-redux'\nimport { bindActionCreators } from 'redux'\nimport { setWallPaperActive } from '../../store/app'\nimport Ad from '../components/Ad'\nimport {FORMATS, MAPPINGS} from './AdFormats'\nimport { useLocation } from 'react-router-dom'\n\nconst wallpaperMapping = [\n  [[1500, 0], [1, 1]],\n  [[1400, 0], [1, 1]],\n  [[1024, 0], []],\n  [[640, 0], []],\n  [[0, 0], []]\n]\n\nconst WingBanners = ({ isConnected, adPath, mappingLeft, mappingRight, onSlotRenderEndedLeft, onSlotRenderEndedRight, wallpaperActive, setWallPaperActive }) => {\n  const handleWallpaperLoaded = useCallback((e) => {\n    setWallPaperActive(!e.isEmpty)\n  })\n  const { pathname } = useLocation()\n  return (\n    <>\n      <x.section w='100vw' h='100%' position='absolute' left='50%' mt={20} top='0' transform='translateX(-50%)' zIndex='1' display={wallpaperActive ? 'none' : 'block'} visibility={wallpaperActive ? 'hidden' : 'visible'}>\n        {/* Only request Wallpapers on the home page */}\n        {(pathname === '/' || pathname === '/business' || pathname.startsWith('/business-report')) && process.env.RAZZLE_ENABLE_WALLPAPER &&\n          <Ad isConnected={isConnected} adPath={adPath} collapseEmptyDiv slotId='wallpaper' targeting={{ Wallpaper: '1' }} mapping={wallpaperMapping} className='wallpaper-advert' {...FORMATS.wallpaper} onSlotRenderEnded={handleWallpaperLoaded} />}\n        <x.div position='absolute' left={20} top={0} display={{ wAdM: 'none', wAdD: 'block' }} h='100%'>\n          <x.div position='sticky' top={20}>\n            <Ad isConnected={isConnected} adPath={adPath} slotId='Wingbanner-Left' targeting={{ Wingbanner: 'Left' }} onSlotRenderEnded={onSlotRenderEndedLeft} collapseEmptyDiv mapping={mappingLeft} {...FORMATS.wingbanner} />\n          </x.div>\n        </x.div>\n        <x.div position='absolute' right={20} top={0} display={{ wAdM: 'none', wAdD: 'block' }} h='100%'>\n          <x.div position='sticky' top={20}>\n            <Ad isConnected={isConnected} adPath={adPath} slotId='Wingbanner-Right' targeting={{ Wingbanner: 'Right' }} onSlotRenderEnded={onSlotRenderEndedRight} collapseEmptyDiv mapping={mappingRight} {...FORMATS.wingbanner} />\n          </x.div>\n        </x.div>\n      </x.section>\n    </>\n  )\n}\n\nconst mapStateToProps = (state) => (state.app)\nconst mapDispatchToProps = (dispatch) => bindActionCreators({ setWallPaperActive }, dispatch)\n\nexport default connect(mapStateToProps, mapDispatchToProps)(WingBanners)\n","module.exports = __webpack_public_path__ + \"static/media/gallery-prev.5b4c06a7.svg\";","module.exports = __webpack_public_path__ + \"static/media/gallery-next.8ada7682.svg\";","import React, { useEffect } from 'react'\nimport { x } from '@xstyled/styled-components'\nimport { useLocation } from 'react-router-dom'\n\nconst Membrana = () => {\n  const location = useLocation()\n  useEffect(() => {\n    if (typeof window !== 'undefined') {\n      window.yieldMasterCmd = window.yieldMasterCmd || []\n      window.yieldMasterCmd.push(function () {\n        window.yieldMaster.init({\n          pageVersionAutodetect: true\n        })\n      })\n    }\n  }, [location.path])\n  return (\n    <x.div w='100%' maxWidth={1220} mx='auto' mt={20} mb={20} zIndex={5}>\n      <x.div className='IOL_VIDEO' />\n    </x.div>\n  )\n}\n\nexport default Membrana\n"],"sourceRoot":""}