{"version":3,"sources":["webpack:///./src/components/helpers/Container/index.tsx","webpack:///./src/configs.ts","webpack:///./src/utilities/objects.ts","webpack:///./src/components/Carousel/index.tsx","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/components/common/SvgImage/index.tsx","webpack:///./src/components/common/Button/index.tsx","webpack:///./src/components/common/Hero/index.tsx","webpack:///./src/components/common/ImageWithFocalPoint/index.tsx","webpack:///./src/components/common/Link/index.tsx","webpack:///./src/components/common/Overlay/index.tsx","webpack:///./src/components/common/Stats/index.tsx","webpack:///./src/components/NewsCard/index.tsx","webpack:///./src/core/config/index.ts","webpack:///./src/contexts/Localizations/index.tsx","webpack:///./src/contexts/Localizations/defaultLocalizations.ts","webpack:///./src/components/common/Tag/index.tsx","webpack:///./src/components/common/Image/index.tsx","webpack:///./src/components/CompetitionCard/index.tsx","webpack:///./src/components/CompetitionCarousel/index.tsx","webpack:///./src/components/common/ImageObject/index.tsx","webpack:///./src/components/common/UnderlineTitle/index.tsx","webpack:///./src/components/NewsCarousel/index.tsx","webpack:///./src/components/common/Content/index.tsx","webpack:///./src/components/common/Contact/index.tsx","webpack:///./src/components/common/RichText/index.tsx","webpack:///./src/hooks/useHabitat.tsx","webpack:///./src/utilities/browser.ts","webpack:///./src/components/common/JumpList/index.tsx","webpack:///./src/breakpoints.ts","webpack:///./src/components/common/ResponsiveTable/index.tsx","webpack:///./src/components/common/DateCategory/index.tsx","webpack:///./src/components/common/Accordion/index.tsx","webpack:///./src/components/common/ImageBasic/index.tsx","webpack:///./src/components/common/Loader/index.tsx","webpack:///./src/components/common/SocialLinks/index.tsx","webpack:///./src/components/common/TagList/index.tsx","webpack:///./src/components/common/Paginaton/index.tsx","webpack:///./src/components/SearchScreen/index.tsx","webpack:///./src/components/LinkCarousel/index.tsx","webpack:///./node_modules/algoliasearch/dist/algoliasearch.umd.js","webpack:///./src/hooks/UseOutsideAlerter.ts","webpack:///./src/components/SearchOverlay/index.tsx"],"names":["children","className","CSS_CLASSES","isActive","isOpen","isShowing","navIsShowing","overlayIsShowing","DISCIPLINE","gravel","indoor","para","road","track","trials","other","isIdenticalObject","objectA","objectB","aProps","Object","getOwnPropertyNames","bProps","length","i","propName","title","slickConfig","large","containerTheme","viewMoreLink","controlInline","slider","sliderBody","hasSetPosition","setHasSetPosition","nextIsDisabled","setNextIsDisabled","previousIsDisabled","setPreviousIsDisabled","arrowsAreHidden","setArrowsAreHidden","checkSlickDisabled","slickNextButton","current","querySelector","slickPreviousButton","classList","contains","defaultSlickSettings","accessibility","dots","infinite","speed","slidesToShow","slidesToScroll","initialSlide","arrows","useTransform","responsive","breakpoint","settings","onInit","setTimeout","afterChange","assign","paddleIcon","slickGoTo","type","disabled","onClick","slickPrev","aria-label","ariaHidden","reference","slickNext","iconAfter","ref","aria-hidden","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","resolve","module","exports","xlinkHref","style","text","icon","ariaLabel","showLoader","iconOnly","fullWidth","isProcessing","handleClick","buttonClass","SvgImage","Hero","backLink","colorTheme","image","imageSize","isDarkened","isLanding","isForPage","root","classes","push","join","Container","href","url","ImageObject","fitType","useFocalPoint","aspectRatio","aspectRatioMobile","mobileImageTriggerWidth","widthSizes","isLoaded","hasTransparentBackground","focalPoint","setFocalPoint","file","details","xPercentile","x","width","yPercentile","y","height","Image","alt","cropTo","xQuadrant","yQuadrant","setFocalArea","isExternal","isButton","buttonType","buttonColour","target","rel","bodyElm","document","body","handleClose","hasCloseRedirect","containerLess","closeOverlay","remove","handleKeyUp","event","keyCode","add","window","addEventListener","removeEventListener","stats","discipline","head","slice","label","value","stat","key","category","date","thumbnail","locale","toLowerCase","Boolean","format","config","env","apiUrl","webSettings","baseUrl","webUrl","storybookApi","localizations","shareConfig","shareUrl","mobileOnly","cookieConfig","cookiePolicy","cookiePolicyExpirationDays","xsrfRequestToken","translationsNotation","LocalizationContext","documentElement","lang","translations","expand","mobileImageTriggerWidthDefault","md","aspectRatioMap","undefined","lowQualityWidth","media","data-sizes","data-srcset","widthSize","Math","ceil","parseInt","onLoad","objectPosition","data-src","innerWidth","colourCode","dates","name","raceHubLink","venue","disciplineLink","isDownload","isPublished","publishingDate","isUciEvent","isLive","cards","competitions","themeColor","standalone","Carousel","live","item","index","calendar","liveLabel","latest","latestLabel","upcoming","upcomingLabel","defaultWidths","noAnimate","srcset","setSrcset","src","size","Number","news","defaultSlickConfig","intro","contact","content","link","secondaryLink","downloads","isTitleFloating","download","toReadable","phoneNumber","split","replace","addr","tel","fax","email","website","facebook","instagram","twitter","dangerouslySetInnerHTML","__html","updateHabitat","insertUrlParam","includeHash","history","pushState","searchParams","URLSearchParams","location","search","set","newurl","protocol","host","pathname","toString","hash","path","getUrlParamValue","entries","hashes","indexOf","params","val","decodeURIComponent","getAllUrlParams","filter","param","isMobile","test","navigator","scrollIntoView","elemToScrollTo","behaviour","MSInputMethodContext","behavior","isPortrait","items","action","selectedValue","theme","useScroller","useSearch","disableFirst","withDatePicker","defaultDatePickerValue","onDateChange","includeDates","datePickerLocale","wrapperRef","setValue","setIsOpen","options","setOptions","isClosing","setIsClosing","searchValue","setSearchValue","close","mapSelection","visible","handleChange","optionIndex","preventDefault","optionsSelection","selected","filteredOptions","option","displayText","includes","createOption","role","createSearch","placeholder","searchLabel","onChange","currentTarget","toggle","dateIndex","findIndex","inline","xxs","xs","sm","ml","lg","xl","xxl","xxxl","xxxxl","headers","rows","stickyCol","moreClassName","headerClassName","rowClassName","cellClassName","nested","isExpanded","setExpanded","rowExpandedStates","setRowExpandedStates","some","row","fromEntries","aria-expanded","header","alwaysVisible","hiddenOnMobile","trim","scope","rowIndex","Table","colIndex","Fragment","toggleExpandRow","colSpan","dateFormat","dateTime","AccordionPanel","activeTab","toggleTab","isAsync","isResults","setHeight","asyncContentLoaded","setAsyncContentLoaded","wrapper","calculatePanelHeight","panelElement","ontransitionend","scrollHeight","requestAnimationFrame","props","onBeforeLoad","panels","panelsInState","setPanelsInState","mappedPanels","panel","useIntrinsicHeight","setIsLoaded","list","tags","tag","defaultProps","pageQueryKey","state","pages","firstPageIndex","lastPageIndex","previousPageIndex","nextPageIndex","currentPage","isFirstPageDisabled","isLastPageDisabled","totalAmountOfPages","isPreviousDisabled","isNextDisabled","maxVisiblePagesMobile","maxVisiblePagesDesktop","maxVisiblePages","componentDidMount","this","handdleMaxVisiblePages","stopPropagation","getPager","componentDidUpdate","prevProps","totalItems","itemsPerPage","setState","generateVisablePages","maxVisibleOffset","startPage","endPage","Array","from","s","l","viewportWidth","changePage","page","retainRoute","String","generateButton","isDisabled","rootLocation","render","appId","publicKey","searchIndex","eventsMoreLink","newsMoreLink","filters","all","resource","initIndex","SpeechRecognition","webkitSpeechRecognition","recognition","searchField","searchTerm","setSearchTerm","refinement","setRefinement","results","setResults","isRecording","setIsRecording","voiceNotAllowed","setVoiceNotAllowed","isSearching","setIsSearching","handleSearch","promiseSearches","facetFilters","Promise","then","searchResults","hits","handleClearSearch","focus","TYPE_LABEL_MAP","refinementAllLabel","refinementPageLabel","refinementEventLabel","refinementNewsLabel","refinementResourceLabel","Hits","toCompetition","contentType","raceHubLinkLabel","resourceLinkLabel","disciplineName","toNews","createdAt","articleType","eventSlickConfig","newsSlickConfig","resourceSlickConfig","filteredResults","noResultsTitle","noResultsTextPrefix","noResultsTextSuffix","links","htmlFor","clearSearchLabel","onresult","resultIndex","transcript","onerror","error","start","aria-pressed","voiceSearchLabel","searchSubmitLabel","LinksCard","groupedLinks","fill","_","group","t","r","defineProperty","enumerable","configurable","writable","getOwnPropertySymbols","n","getOwnPropertyDescriptor","apply","arguments","a","forEach","getOwnPropertyDescriptors","defineProperties","prototype","propertyIsEnumerable","call","isArray","Symbol","iterator","u","next","done","return","TypeError","concat","localStorage","JSON","parse","getItem","get","miss","stringify","setItem","delete","clear","removeItem","caches","shift","catch","serializable","c","m","WithinHeaders","queryParameters","WithinQueryParameters","f","min","d","wait","floor","random","p","h","encodeURIComponent","data","timeout","cacheable","g","Read","Write","Any","w","status","lastUpdate","Date","now","O","accept","I","j","D","S","method","userAgent","pop","message","transporterStackTrace","R","N","connectTimeout","timeouts","connect","responseTimeout","request","response","triesLeft","onSuccess","onRetry","isTimedOut","logger","info","A","hostsCache","onFail","requester","send","getTimeout","statelessHosts","q","reverse","k","requestsCache","responsesCache","hosts","read","mappedRequestOptions","transporter","reject","write","T","segment","version","E","charAt","substr","C","U","z","J","F","H","M","K","batch","shouldStop","cursor","W","acl","$","B","cluster","Q","users","G","clearExistingDictionaryEntries","requests","xt","taskID","L","operation","destination","it","methods","waitTask","fe","V","le","Rules","Settings","X","Synonyms","Y","Z","objectID","tt","et","rt","nt","at","ot","retrieveMappings","getClusters","indexName","ut","st","ct","ft","dt","lt","pt","ht","mt","facetName","facetQuery","searchForFacetValues","ie","yt","gt","vt","bt","Pt","query","wt","Ot","It","every","jt","Dt","qt","hitsPerPage","ue","_highlightResult","St","se","kt","batchSize","taskIDs","objectIDs","Tt","Nt","forwardToReplicas","Et","Rt","At","Ct","Ut","de","DeleteObject","zt","Jt","Ft","Gt","Ht","queryLanguages","Mt","paginate","oe","object","position","nbPages","Kt","Wt","Bt","attributesToRetrieve","Qt","getVersion","Lt","Vt","_t","createIfNotExists","PartialUpdateObject","PartialUpdateObjectNoCreate","Xt","safe","autoGenerateObjectIDIfNotExist","substring","te","v","b","Yt","re","clearExistingRules","Zt","ae","clearExistingSynonyms","$t","AddObject","UpdateObject","ee","ne","replaceExistingSynonyms","ce","DeleteIndex","ClearIndex","ye","apiKey","XMLHttpRequest","open","setRequestHeader","abort","onreadystatechange","readyState","OPENED","clearTimeout","responseText","onload","debug","console","region","getPersonalizationStrategy","setPersonalizationStrategy","authMode","addAlgoliaAgent","clearCache","multipleBatch","multipleGetObjects","multipleQueries","copyIndex","copySettings","copySynonyms","copyRules","moveIndex","listIndices","getLogs","listClusters","multipleSearchForFacetValues","getApiKey","addApiKey","listApiKeys","updateApiKey","deleteApiKey","restoreApiKey","assignUserID","assignUserIDs","getUserID","searchUserIDs","listUserIDs","getTopUserIDs","removeUserID","hasPendingMappings","clearDictionaryEntries","deleteDictionaryEntries","getDictionarySettings","getAppTask","replaceDictionaryEntries","saveDictionaryEntries","searchDictionaryEntries","setDictionarySettings","waitAppTask","findAnswers","getObject","getObjects","saveObject","saveObjects","setSettings","getSettings","partialUpdateObject","partialUpdateObjects","deleteObject","deleteObjects","deleteBy","clearObjects","browseObjects","getObjectPosition","findObject","exists","saveSynonym","saveSynonyms","getSynonym","searchSynonyms","browseSynonyms","deleteSynonym","clearSynonyms","replaceAllObjects","replaceAllSynonyms","searchRules","getRule","deleteRule","saveRule","saveRules","replaceAllRules","browseRules","clearRules","initAnalytics","addABTest","getABTest","getABTests","stopABTest","deleteABTest","initPersonalization","initRecommendation","handler","handleClickOutside","setIsActive"],"mappings":"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","file":"habitat.21.component.js","sourcesContent":["import * as React from 'react';\r\nimport './styles.scss';\r\n\r\ninterface ContainerProps {\r\n children: JSX.Element | JSX.Element[];\r\n}\r\n\r\nconst Container = ({ children }: ContainerProps) => (\r\n
\r\n {children}\r\n
\r\n);\r\n\r\nexport default Container;\r\n","import { Discipline, DisciplineCodes } from 'core/typings';\r\n\r\nimport {\r\n CookieConfig,\r\n SharePlatformDetail,\r\n} from './typings/configs';\r\n\r\nexport const COOKIE_CONFIG: CookieConfig = {\r\n cookiePolicy: 'c_policy',\r\n cookiePolicyExpirationDays: 60,\r\n xsrfRequestToken: 'XSRF-REQUEST-TOKEN',\r\n};\r\n\r\nexport const CSS_CLASSES = {\r\n isActive: 'is-open',\r\n isOpen: 'is-open',\r\n isShowing: 'is-showing',\r\n navIsShowing: 'nav-is-showing',\r\n overlayIsShowing: 'overlay-is-showing',\r\n};\r\n\r\nexport const SHARE_PLATFORM_DETAILS: SharePlatformDetail[] = [\r\n {\r\n id: 'facebook',\r\n shareUrl: 'https://www.facebook.com/sharer/sharer.php?u=',\r\n },\r\n {\r\n id: 'twitter',\r\n shareUrl: 'https://twitter.com/intent/tweet?url=',\r\n },\r\n {\r\n id: 'whatsapp',\r\n shareUrl: 'whatsapp://send?text=',\r\n },\r\n {\r\n id: 'copylink',\r\n shareUrl: null,\r\n },\r\n];\r\n\r\nexport const DISCIPLINE: Record = {\r\n 'bmx-freestyle': 'bfr',\r\n 'bmx-racing': 'bmx',\r\n 'cycling-esport': 'ces',\r\n 'cyclo-cross': 'cro',\r\n gravel: 'gra',\r\n indoor: 'ind',\r\n 'mountain-bike': 'mtb',\r\n para: 'par',\r\n road: 'roa',\r\n track: 'pis',\r\n trials: 'tri',\r\n other: 'cpt',\r\n};\r\n","/**\r\n * Checks if two objects are identical\r\n * This is a good method for prop checking in componentDidUpdate\r\n */\r\nconst isIdenticalObject = (objectA: any, objectB: any) => {\r\n const aProps = Object.getOwnPropertyNames(objectA);\r\n const bProps = Object.getOwnPropertyNames(objectB);\r\n\r\n if (aProps.length !== bProps.length) {\r\n return false;\r\n }\r\n\r\n // eslint-disable-next-line no-plusplus\r\n for (let i = 0; i < aProps.length; i++) {\r\n const propName = aProps[i];\r\n if (objectA[propName] !== objectB[propName]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\n\r\n/**\r\n * Breaks arrar into chunks based on a specified size\r\n */\r\nconst arrChunks = (arr: any[], size: number) => {\r\n if (!Array.isArray(arr)) {\r\n throw new Error('Chunk expects argument one to be type of array.');\r\n }\r\n\r\n const len = {\r\n length: Math.ceil(arr.length / size),\r\n };\r\n\r\n return Array.from(len).map((value, index) => (\r\n arr.slice(index * size, (index * size) + size)\r\n ));\r\n};\r\n\r\n// Put asyncForEach into a module\r\nconst asyncForEach = async (array: any[], callback: Function) => {\r\n // eslint-disable-next-line no-plusplus\r\n for (let index = 0; index < array.length; index++) {\r\n // eslint-disable-next-line no-await-in-loop\r\n await callback(array[index], index, array);\r\n }\r\n};\r\n\r\nexport {\r\n isIdenticalObject,\r\n arrChunks,\r\n asyncForEach,\r\n};\r\n","import * as React from 'react';\r\nimport { useState, useRef, useEffect } from 'react';\r\nimport Slider, { Settings as SlickConfig } from 'react-slick';\r\nimport CarouselProps from './type';\r\nimport { SvgImage, Link } from '../common';\r\nimport '../../styles/vendor/slick-caroursel.scss';\r\nimport './styles.scss';\r\n\r\nconst Carousel = ({\r\n title,\r\n children,\r\n slickConfig,\r\n large,\r\n containerTheme,\r\n viewMoreLink,\r\n controlInline,\r\n}: CarouselProps) => {\r\n const slider = useRef(null);\r\n const sliderBody = useRef(null);\r\n const [hasSetPosition, setHasSetPosition] = useState(false); // fix for initialSlide !== 0\r\n const [nextIsDisabled, setNextIsDisabled] = useState(true);\r\n const [previousIsDisabled, setPreviousIsDisabled] = useState(true);\r\n const [arrowsAreHidden, setArrowsAreHidden] = useState(false);\r\n\r\n /**\r\n * Checks for the disabled slick controls in order to set\r\n * the state accordingly to enable/disable custom next/previous\r\n * buttons.\r\n */\r\n const checkSlickDisabled = () => {\r\n const slickNextButton = sliderBody.current?.querySelector('.slick-next') as HTMLButtonElement;\r\n const slickPreviousButton = sliderBody.current?.querySelector('.slick-prev') as HTMLButtonElement;\r\n if (slickNextButton) {\r\n setNextIsDisabled(\r\n slickNextButton.classList.contains('slick-disabled'),\r\n );\r\n }\r\n\r\n if (slickPreviousButton) {\r\n setPreviousIsDisabled(\r\n slickPreviousButton.classList.contains('slick-disabled'),\r\n );\r\n }\r\n };\r\n\r\n // Default slick settings\r\n const defaultSlickSettings: SlickConfig = {\r\n accessibility: true,\r\n dots: false,\r\n infinite: false,\r\n speed: 500,\r\n slidesToShow: 5.15,\r\n slidesToScroll: 1,\r\n initialSlide: 0,\r\n arrows: true,\r\n useTransform: false,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 4.1,\r\n arrows: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1400,\r\n settings: {\r\n slidesToShow: 3.5,\r\n arrows: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1200,\r\n settings: {\r\n slidesToShow: 3.1,\r\n arrows: true,\r\n },\r\n },\r\n {\r\n breakpoint: 950,\r\n settings: {\r\n slidesToShow: 2.5,\r\n arrows: true,\r\n },\r\n },\r\n {\r\n breakpoint: 750,\r\n settings: {\r\n slidesToShow: 2.1,\r\n arrows: true,\r\n },\r\n },\r\n {\r\n breakpoint: 550,\r\n settings: {\r\n slidesToShow: 1.5,\r\n },\r\n },\r\n {\r\n breakpoint: 400,\r\n settings: {\r\n arrows: false,\r\n slidesToShow: 1.1,\r\n },\r\n },\r\n ],\r\n onInit: () => {\r\n setTimeout(() => checkSlickDisabled(), 1500);\r\n },\r\n afterChange: () => {\r\n checkSlickDisabled();\r\n },\r\n };\r\n\r\n // Merge the any settings passed in via props with the default settings.\r\n const [settings] = useState(\r\n slickConfig ? Object.assign(defaultSlickSettings, slickConfig) : defaultSlickSettings,\r\n );\r\n\r\n useEffect(() => {\r\n checkSlickDisabled();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (previousIsDisabled && nextIsDisabled) {\r\n setArrowsAreHidden(true);\r\n } else {\r\n setArrowsAreHidden(false);\r\n }\r\n }, [previousIsDisabled, nextIsDisabled]);\r\n\r\n const paddleIcon = large\r\n ? '#icon-right-paddle-light'\r\n : '#icon-right-paddle';\r\n\r\n useEffect(() => {\r\n if (slider.current && !hasSetPosition) {\r\n slider.current?.slickGoTo(settings.initialSlide || 0);\r\n setHasSetPosition(true);\r\n }\r\n }, [settings.initialSlide, hasSetPosition, slider]);\r\n\r\n return (\r\n
\r\n
\r\n {title && (\r\n

{title}

\r\n )}\r\n {!controlInline && (\r\n
\r\n slider.current?.slickPrev()}\r\n aria-label=\"previous\"\r\n >\r\n \r\n \r\n slider.current?.slickNext()}\r\n aria-label=\"next\"\r\n >\r\n \r\n \r\n {viewMoreLink && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n {children}\r\n \r\n
\r\n {controlInline && (\r\n
\r\n slider.current?.slickPrev()}\r\n aria-label=\"previous\"\r\n >\r\n \r\n \r\n slider.current?.slickNext()}\r\n aria-label=\"next\"\r\n >\r\n \r\n \r\n {viewMoreLink && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default Carousel;\r\n","var map = {\n\t\"./af\": 58,\n\t\"./af.js\": 58,\n\t\"./ar\": 59,\n\t\"./ar-dz\": 60,\n\t\"./ar-dz.js\": 60,\n\t\"./ar-kw\": 61,\n\t\"./ar-kw.js\": 61,\n\t\"./ar-ly\": 62,\n\t\"./ar-ly.js\": 62,\n\t\"./ar-ma\": 63,\n\t\"./ar-ma.js\": 63,\n\t\"./ar-sa\": 64,\n\t\"./ar-sa.js\": 64,\n\t\"./ar-tn\": 65,\n\t\"./ar-tn.js\": 65,\n\t\"./ar.js\": 59,\n\t\"./az\": 66,\n\t\"./az.js\": 66,\n\t\"./be\": 67,\n\t\"./be.js\": 67,\n\t\"./bg\": 68,\n\t\"./bg.js\": 68,\n\t\"./bm\": 69,\n\t\"./bm.js\": 69,\n\t\"./bn\": 70,\n\t\"./bn-bd\": 71,\n\t\"./bn-bd.js\": 71,\n\t\"./bn.js\": 70,\n\t\"./bo\": 72,\n\t\"./bo.js\": 72,\n\t\"./br\": 73,\n\t\"./br.js\": 73,\n\t\"./bs\": 74,\n\t\"./bs.js\": 74,\n\t\"./ca\": 75,\n\t\"./ca.js\": 75,\n\t\"./cs\": 76,\n\t\"./cs.js\": 76,\n\t\"./cv\": 77,\n\t\"./cv.js\": 77,\n\t\"./cy\": 78,\n\t\"./cy.js\": 78,\n\t\"./da\": 79,\n\t\"./da.js\": 79,\n\t\"./de\": 80,\n\t\"./de-at\": 81,\n\t\"./de-at.js\": 81,\n\t\"./de-ch\": 82,\n\t\"./de-ch.js\": 82,\n\t\"./de.js\": 80,\n\t\"./dv\": 83,\n\t\"./dv.js\": 83,\n\t\"./el\": 84,\n\t\"./el.js\": 84,\n\t\"./en-au\": 85,\n\t\"./en-au.js\": 85,\n\t\"./en-ca\": 86,\n\t\"./en-ca.js\": 86,\n\t\"./en-gb\": 87,\n\t\"./en-gb.js\": 87,\n\t\"./en-ie\": 88,\n\t\"./en-ie.js\": 88,\n\t\"./en-il\": 89,\n\t\"./en-il.js\": 89,\n\t\"./en-in\": 90,\n\t\"./en-in.js\": 90,\n\t\"./en-nz\": 91,\n\t\"./en-nz.js\": 91,\n\t\"./en-sg\": 92,\n\t\"./en-sg.js\": 92,\n\t\"./eo\": 93,\n\t\"./eo.js\": 93,\n\t\"./es\": 94,\n\t\"./es-do\": 95,\n\t\"./es-do.js\": 95,\n\t\"./es-mx\": 96,\n\t\"./es-mx.js\": 96,\n\t\"./es-us\": 97,\n\t\"./es-us.js\": 97,\n\t\"./es.js\": 94,\n\t\"./et\": 98,\n\t\"./et.js\": 98,\n\t\"./eu\": 99,\n\t\"./eu.js\": 99,\n\t\"./fa\": 100,\n\t\"./fa.js\": 100,\n\t\"./fi\": 101,\n\t\"./fi.js\": 101,\n\t\"./fil\": 102,\n\t\"./fil.js\": 102,\n\t\"./fo\": 103,\n\t\"./fo.js\": 103,\n\t\"./fr\": 40,\n\t\"./fr-ca\": 104,\n\t\"./fr-ca.js\": 104,\n\t\"./fr-ch\": 105,\n\t\"./fr-ch.js\": 105,\n\t\"./fr.js\": 40,\n\t\"./fy\": 106,\n\t\"./fy.js\": 106,\n\t\"./ga\": 107,\n\t\"./ga.js\": 107,\n\t\"./gd\": 108,\n\t\"./gd.js\": 108,\n\t\"./gl\": 109,\n\t\"./gl.js\": 109,\n\t\"./gom-deva\": 110,\n\t\"./gom-deva.js\": 110,\n\t\"./gom-latn\": 111,\n\t\"./gom-latn.js\": 111,\n\t\"./gu\": 112,\n\t\"./gu.js\": 112,\n\t\"./he\": 113,\n\t\"./he.js\": 113,\n\t\"./hi\": 114,\n\t\"./hi.js\": 114,\n\t\"./hr\": 115,\n\t\"./hr.js\": 115,\n\t\"./hu\": 116,\n\t\"./hu.js\": 116,\n\t\"./hy-am\": 117,\n\t\"./hy-am.js\": 117,\n\t\"./id\": 118,\n\t\"./id.js\": 118,\n\t\"./is\": 119,\n\t\"./is.js\": 119,\n\t\"./it\": 120,\n\t\"./it-ch\": 121,\n\t\"./it-ch.js\": 121,\n\t\"./it.js\": 120,\n\t\"./ja\": 122,\n\t\"./ja.js\": 122,\n\t\"./jv\": 123,\n\t\"./jv.js\": 123,\n\t\"./ka\": 124,\n\t\"./ka.js\": 124,\n\t\"./kk\": 125,\n\t\"./kk.js\": 125,\n\t\"./km\": 126,\n\t\"./km.js\": 126,\n\t\"./kn\": 127,\n\t\"./kn.js\": 127,\n\t\"./ko\": 128,\n\t\"./ko.js\": 128,\n\t\"./ku\": 129,\n\t\"./ku.js\": 129,\n\t\"./ky\": 130,\n\t\"./ky.js\": 130,\n\t\"./lb\": 131,\n\t\"./lb.js\": 131,\n\t\"./lo\": 132,\n\t\"./lo.js\": 132,\n\t\"./lt\": 133,\n\t\"./lt.js\": 133,\n\t\"./lv\": 134,\n\t\"./lv.js\": 134,\n\t\"./me\": 135,\n\t\"./me.js\": 135,\n\t\"./mi\": 136,\n\t\"./mi.js\": 136,\n\t\"./mk\": 137,\n\t\"./mk.js\": 137,\n\t\"./ml\": 138,\n\t\"./ml.js\": 138,\n\t\"./mn\": 139,\n\t\"./mn.js\": 139,\n\t\"./mr\": 140,\n\t\"./mr.js\": 140,\n\t\"./ms\": 141,\n\t\"./ms-my\": 142,\n\t\"./ms-my.js\": 142,\n\t\"./ms.js\": 141,\n\t\"./mt\": 143,\n\t\"./mt.js\": 143,\n\t\"./my\": 144,\n\t\"./my.js\": 144,\n\t\"./nb\": 145,\n\t\"./nb.js\": 145,\n\t\"./ne\": 146,\n\t\"./ne.js\": 146,\n\t\"./nl\": 147,\n\t\"./nl-be\": 148,\n\t\"./nl-be.js\": 148,\n\t\"./nl.js\": 147,\n\t\"./nn\": 149,\n\t\"./nn.js\": 149,\n\t\"./oc-lnc\": 150,\n\t\"./oc-lnc.js\": 150,\n\t\"./pa-in\": 151,\n\t\"./pa-in.js\": 151,\n\t\"./pl\": 152,\n\t\"./pl.js\": 152,\n\t\"./pt\": 153,\n\t\"./pt-br\": 154,\n\t\"./pt-br.js\": 154,\n\t\"./pt.js\": 153,\n\t\"./ro\": 155,\n\t\"./ro.js\": 155,\n\t\"./ru\": 156,\n\t\"./ru.js\": 156,\n\t\"./sd\": 157,\n\t\"./sd.js\": 157,\n\t\"./se\": 158,\n\t\"./se.js\": 158,\n\t\"./si\": 159,\n\t\"./si.js\": 159,\n\t\"./sk\": 160,\n\t\"./sk.js\": 160,\n\t\"./sl\": 161,\n\t\"./sl.js\": 161,\n\t\"./sq\": 162,\n\t\"./sq.js\": 162,\n\t\"./sr\": 163,\n\t\"./sr-cyrl\": 164,\n\t\"./sr-cyrl.js\": 164,\n\t\"./sr.js\": 163,\n\t\"./ss\": 165,\n\t\"./ss.js\": 165,\n\t\"./sv\": 166,\n\t\"./sv.js\": 166,\n\t\"./sw\": 167,\n\t\"./sw.js\": 167,\n\t\"./ta\": 168,\n\t\"./ta.js\": 168,\n\t\"./te\": 169,\n\t\"./te.js\": 169,\n\t\"./tet\": 170,\n\t\"./tet.js\": 170,\n\t\"./tg\": 171,\n\t\"./tg.js\": 171,\n\t\"./th\": 172,\n\t\"./th.js\": 172,\n\t\"./tk\": 173,\n\t\"./tk.js\": 173,\n\t\"./tl-ph\": 174,\n\t\"./tl-ph.js\": 174,\n\t\"./tlh\": 175,\n\t\"./tlh.js\": 175,\n\t\"./tr\": 176,\n\t\"./tr.js\": 176,\n\t\"./tzl\": 177,\n\t\"./tzl.js\": 177,\n\t\"./tzm\": 178,\n\t\"./tzm-latn\": 179,\n\t\"./tzm-latn.js\": 179,\n\t\"./tzm.js\": 178,\n\t\"./ug-cn\": 180,\n\t\"./ug-cn.js\": 180,\n\t\"./uk\": 181,\n\t\"./uk.js\": 181,\n\t\"./ur\": 182,\n\t\"./ur.js\": 182,\n\t\"./uz\": 183,\n\t\"./uz-latn\": 184,\n\t\"./uz-latn.js\": 184,\n\t\"./uz.js\": 183,\n\t\"./vi\": 185,\n\t\"./vi.js\": 185,\n\t\"./x-pseudo\": 186,\n\t\"./x-pseudo.js\": 186,\n\t\"./yo\": 187,\n\t\"./yo.js\": 187,\n\t\"./zh-cn\": 188,\n\t\"./zh-cn.js\": 188,\n\t\"./zh-hk\": 189,\n\t\"./zh-hk.js\": 189,\n\t\"./zh-mo\": 190,\n\t\"./zh-mo.js\": 190,\n\t\"./zh-tw\": 191,\n\t\"./zh-tw.js\": 191\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 229;","import * as React from 'react';\r\n\r\ninterface SvgImageProps {\r\n title?: string;\r\n reference: string;\r\n ariaHidden?: boolean;\r\n className?: string;\r\n}\r\n\r\nconst SvgImage = ({\r\n title,\r\n reference,\r\n ariaHidden,\r\n className,\r\n}: SvgImageProps) => (\r\n \r\n {title && (\r\n {title}\r\n )}\r\n \r\n \r\n);\r\n\r\nexport default SvgImage;\r\n","import * as React from 'react';\r\nimport SvgImage from '../SvgImage';\r\nimport './styles.scss';\r\n\r\ninterface ButtonProps {\r\n type: 'button' | 'submit' | 'reset';\r\n style?: 'default' | 'secondary' | 'transparent' | 'uci';\r\n text?: string;\r\n icon?: {\r\n reference: string;\r\n title: string;\r\n } | undefined;\r\n role?: 'button';\r\n ariaLabel?: string;\r\n disabled?: boolean;\r\n showLoader?: boolean;\r\n iconOnly?: boolean;\r\n fullWidth?: boolean;\r\n isProcessing?: boolean;\r\n handleClick?: (event: React.MouseEvent) => void | undefined;\r\n}\r\n\r\nconst Button = ({\r\n type = 'button',\r\n style = 'default',\r\n text,\r\n icon,\r\n ariaLabel,\r\n disabled = false,\r\n showLoader = false,\r\n iconOnly = false,\r\n fullWidth = false,\r\n isProcessing = false,\r\n handleClick,\r\n}: ButtonProps) => {\r\n const buttonClass = `\r\n button\r\n button--${style}\r\n ${text && 'button--has-label'}\r\n ${icon && 'button--has-icon'}\r\n ${iconOnly && 'button--icon-only'}\r\n ${fullWidth && 'button--full-width'}\r\n ${showLoader && 'button--updating'}\r\n ${disabled && 'button--disabled'}\r\n ${isProcessing && 'button--processing'}\r\n `;\r\n\r\n return (\r\n \r\n {icon && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {text && (\r\n
\r\n {text}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Button;\r\n","import * as React from 'react';\r\n\r\nimport Container from '../../helpers/Container';\r\nimport ImageObject from '../ImageObject';\r\nimport SvgImage from '../SvgImage';\r\nimport { HeroBannerProps } from './type';\r\nimport './styles.scss';\r\n\r\nconst HeroBanner = ({\r\n ariaHidden,\r\n backLink,\r\n children,\r\n colorTheme = 'blue',\r\n image,\r\n imageSize = 'half',\r\n isDarkened,\r\n isLanding,\r\n isForPage,\r\n}: HeroBannerProps) => {\r\n const root = 'hero-banner';\r\n const classes = [\r\n root,\r\n `${root}--theme-${colorTheme}`,\r\n ];\r\n if (isDarkened) {\r\n classes.push(`${root}--darkened`);\r\n }\r\n if (image) {\r\n classes.push(`${root}--${imageSize}`);\r\n }\r\n if (!image) {\r\n classes.push(`${root}--no-image`);\r\n }\r\n if (isLanding) {\r\n classes.push(`${root}--landing`);\r\n }\r\n if (isForPage) {\r\n classes.push(`${root}--for-page`);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n {backLink ? (\r\n \r\n \r\n {backLink?.title}\r\n \r\n ) : }\r\n
\r\n\r\n
\r\n {children}\r\n
\r\n
\r\n
\r\n
\r\n\r\n {!isLanding && (\r\n
\r\n {image && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default HeroBanner;\r\n","import * as React from 'react';\r\nimport { useEffect, useState } from 'react';\r\nimport { Image as ImageType } from '../../../typings';\r\nimport Image from '../Image';\r\n\r\ninterface ImageWithFocalPointProps {\r\n image: ImageType;\r\n aspectRatio: '2x1' | '16x9' | '3x2' | '4x3' | '1x1' | '4x5' | '2x3' | '6x1' | '6x7-promo';\r\n widthSizes?: string[];\r\n aspectRatioMobile?: '2x1' | '16x9' | '3x2' | '4x3' | '1x1' | '4x5' | '2x3' | '6x1' | '6x7-promo';\r\n mobileImageTriggerWidth?: number;\r\n isLoaded?: Function;\r\n hasTransparentBackground?: boolean;\r\n isDarkened?: boolean;\r\n}\r\n\r\nconst ImageWithFocalPoint = ({\r\n image,\r\n aspectRatio,\r\n aspectRatioMobile,\r\n mobileImageTriggerWidth,\r\n widthSizes,\r\n isLoaded,\r\n hasTransparentBackground = false,\r\n isDarkened = false, // passed as percentage 80 etc.\r\n}: ImageWithFocalPointProps) => {\r\n const [focalPoint, setFocalPoint] = useState(null);\r\n /*\r\n Set crop quadrant area as:\r\n 'center' | 'top' | 'right' | 'left' | 'bottom' | 'top_right' |\r\n 'top_left' | 'bottom_right' | 'bottom_left';\r\n Docs: https://www.contentful.com/developers/docs/references/images-api/#/reference/resizing-&-cropping/specify-focus-area\r\n We get x / y coords in pixels so we calculate percentage and\r\n then which area it falls into from there.\r\n */\r\n const setFocalArea = () => {\r\n if (!image.focalPoint) return 'center';\r\n if (!image.file || !image.file.details) return 'center';\r\n\r\n const xPercentile = (image.focalPoint.x / image.file.details.image.width) * 100;\r\n const yPercentile = (image.focalPoint.y / image.file.details.image.height) * 100;\r\n // eslint-disable-next-line no-nested-ternary\r\n const xQuadrant = xPercentile < 33 ? 'left' : xPercentile > 66 ? 'right' : 'center';\r\n // eslint-disable-next-line no-nested-ternary\r\n const yQuadrant = yPercentile < 33 ? 'top' : xPercentile > 66 ? 'bottom' : 'center';\r\n\r\n if (xQuadrant === 'center') {\r\n return yQuadrant;\r\n }\r\n if (yQuadrant === 'center') {\r\n return xQuadrant;\r\n }\r\n\r\n return `${yQuadrant}_${xQuadrant}`;\r\n };\r\n\r\n useEffect(() => {\r\n if (image.focalPoint && image.file.details) {\r\n const xPercentile = (image.focalPoint.x / image.file.details.image.width) * 100;\r\n const yPercentile = (image.focalPoint.y / image.file.details.image.height) * 100;\r\n setFocalPoint(`${xPercentile}% ${yPercentile}%`);\r\n }\r\n }, [image]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ImageWithFocalPoint;\r\n","import * as React from 'react';\r\nimport SvgImage from '../SvgImage';\r\nimport { Link as LinkType } from '../../../typings';\r\nimport './styles.scss';\r\n\r\nconst Link = ({\r\n title,\r\n url,\r\n isExternal = false,\r\n isButton = false,\r\n icon,\r\n iconAfter,\r\n className = '',\r\n ariaLabel,\r\n buttonType = 'text-link',\r\n buttonColour = 'white',\r\n}: LinkType) => {\r\n const isDisabled = () => (\r\n url === null || url === ''\r\n );\r\n\r\n const root = 'link';\r\n const classes = [root, className];\r\n\r\n if (icon || iconAfter) {\r\n classes.push(`${root}--has-icon`);\r\n }\r\n\r\n if (isButton) {\r\n classes.push('button');\r\n }\r\n\r\n if (isDisabled()) {\r\n classes.push(`${root}--disabled`);\r\n }\r\n\r\n if (buttonType) {\r\n classes.push(buttonType);\r\n }\r\n\r\n if (buttonColour) {\r\n classes.push(`${root}--${buttonColour}`);\r\n }\r\n\r\n return (\r\n \r\n {icon && (\r\n
\r\n \r\n
\r\n )}\r\n {title}\r\n {iconAfter && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default Link;\r\n","import * as React from 'react';\r\nimport { useEffect } from 'react';\r\nimport SvgImage from '../SvgImage';\r\nimport { CSS_CLASSES } from '../../../configs';\r\nimport './styles.scss';\r\n\r\nconst bodyElm = document.body;\r\n\r\ninterface OverlayProps {\r\n children: JSX.Element | JSX.Element[];\r\n handleClose: Function;\r\n style?: string;\r\n id?: string;\r\n hasCloseRedirect?: boolean;\r\n containerLess?: boolean;\r\n}\r\n\r\nconst Overlay = ({\r\n children,\r\n handleClose,\r\n style,\r\n id,\r\n hasCloseRedirect,\r\n containerLess,\r\n}: OverlayProps) => {\r\n const closeOverlay = () => {\r\n bodyElm.classList.remove(CSS_CLASSES.overlayIsShowing);\r\n /* timeout to allow animations to complete. */\r\n if (hasCloseRedirect) {\r\n handleClose();\r\n return;\r\n }\r\n setTimeout(() => {\r\n handleClose();\r\n }, 100);\r\n };\r\n\r\n const handleKeyUp = (event: React.KeyboardEvent) => {\r\n if (event.keyCode === 27) {\r\n closeOverlay();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n bodyElm.classList.add(CSS_CLASSES.overlayIsShowing);\r\n /**\r\n * This needs some rework - note quite sure why it's built this way tbh\r\n */\r\n // @ts-ignore\r\n window.addEventListener('keyup', handleKeyUp);\r\n // @ts-ignore\r\n return () => window.removeEventListener('keyup', handleKeyUp);\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n {children}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Overlay;\r\n","import * as React from 'react';\r\nimport { Discipline } from '../../../core/typings';\r\nimport './styles.scss';\r\n\r\ntype Stat = {\r\n label: string;\r\n value: string;\r\n};\r\n\r\ninterface StatsProps {\r\n stats: Stat[];\r\n text?: string;\r\n discipline?: Discipline;\r\n}\r\n\r\nconst Stats = ({\r\n stats,\r\n text,\r\n discipline,\r\n}: StatsProps) => {\r\n const head = stats[0];\r\n const body = stats.slice(1);\r\n\r\n return (\r\n
\r\n
\r\n {text && (\r\n
{text}
\r\n )}\r\n\r\n
{head.label}
\r\n
{head.value}
\r\n\r\n {text && (\r\n
{text}
\r\n )}\r\n
\r\n
    \r\n {body.map((stat: Stat) => (\r\n \r\n
  • \r\n
    {stat.label}
    \r\n
    {stat.value}
    \r\n
  • \r\n
    \r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Stats;\r\n","import React, { useContext } from 'react';\r\nimport moment from 'moment';\r\nimport LocalizationContext from '../../contexts/Localizations';\r\nimport NewsCardProps from './type';\r\nimport { DateAndCategory, Image, SvgImage } from '../common';\r\nimport './styles.scss';\r\n\r\nconst NewsCard = ({\r\n category,\r\n title,\r\n date,\r\n thumbnail,\r\n type,\r\n url,\r\n viewMoreLink,\r\n}: NewsCardProps) => {\r\n const { locale } = useContext(LocalizationContext);\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {url && (\r\n \r\n {title}\r\n \r\n )}\r\n {!url && (\r\n <>{title}\r\n )}\r\n
\r\n {viewMoreLink && (\r\n \r\n )}\r\n
\r\n {thumbnail && (\r\n
\r\n {Boolean(type && type.toLowerCase() === 'video') && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n
\r\n )}\r\n {date && (\r\n
\r\n {date && moment(date).locale(locale).format('DD MMM YY')}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default NewsCard;\r\n","import LocalizationsState from '../typings/localization';\r\n\r\ndeclare const Config: AppConfiguration;\r\n\r\ndeclare const webSettings: {\r\n baseUrl: string;\r\n localizations: LocalizationsState;\r\n};\r\nexport interface AppConfiguration {\r\n env: string;\r\n apiUrl: string;\r\n webUrl: string;\r\n storybookApi?: string;\r\n localizations: LocalizationsState;\r\n}\r\n\r\nexport interface SharePlatformDetail {\r\n key: number;\r\n id: string;\r\n shareUrl: string | null;\r\n mobileOnly: boolean;\r\n}\r\n\r\nexport const config: AppConfiguration = {\r\n env: Config.env,\r\n apiUrl: `${webSettings.baseUrl}${Config.apiUrl}`,\r\n webUrl: webSettings.baseUrl,\r\n storybookApi: Config.storybookApi ? Config.storybookApi : undefined,\r\n localizations: webSettings.localizations,\r\n};\r\n\r\nexport interface CookieConfig {\r\n cookiePolicy: string;\r\n cookiePolicyExpirationDays: number;\r\n xsrfRequestToken: string;\r\n}\r\n\r\nexport const shareConfig: SharePlatformDetail[] = [\r\n {\r\n key: 1,\r\n id: 'facebook',\r\n shareUrl: 'https://www.facebook.com/sharer/sharer.php?u=',\r\n mobileOnly: false,\r\n },\r\n {\r\n key: 2,\r\n id: 'twitter',\r\n shareUrl: 'https://twitter.com/intent/tweet?url=',\r\n mobileOnly: false,\r\n },\r\n {\r\n key: 3,\r\n id: 'whatsapp',\r\n shareUrl: 'whatsapp://send?text=',\r\n mobileOnly: true,\r\n },\r\n {\r\n key: 4,\r\n id: 'copylink',\r\n shareUrl: null,\r\n mobileOnly: false,\r\n },\r\n];\r\n\r\nexport const cookieConfig: CookieConfig = {\r\n cookiePolicy: 'c_policy',\r\n cookiePolicyExpirationDays: 60,\r\n xsrfRequestToken: 'XSRF-REQUEST-TOKEN',\r\n};\r\n","import 'moment/locale/fr';\r\nimport { Notation } from 'notation';\r\nimport { createContext } from 'react';\r\nimport { config } from '../../core/config';\r\nimport LocalizationsState from '../../core/typings/localization';\r\nimport defaultLocalizations from './defaultLocalizations';\r\n\r\ninterface LocalizationsContextType {\r\n locale: string;\r\n translations: LocalizationsState;\r\n setTranslations: (TranslationsState: LocalizationsState) => void;\r\n}\r\n\r\n/**\r\n * Create a notation instance in order to use the notation\r\n * exapand method to mutate the translations to a nested\r\n * object rather than using the dot notation in the keys\r\n * set by the backend. Merge config.localizations with\r\n * defaultLocalizations to avoid missing labels\r\n */\r\nconst translationsNotation = new Notation(\r\n Object.assign(defaultLocalizations, config.localizations),\r\n);\r\n\r\nconst LocalizationContext = createContext(\r\n {\r\n locale: document.documentElement.lang,\r\n translations: translationsNotation.expand().value,\r\n } as LocalizationsContextType,\r\n);\r\n\r\nexport default LocalizationContext;\r\n","export default {\r\n 'cookieBanner.title': 'cookieBanner.title',\r\n 'cookieBanner.acceptText': 'cookieBanner.acceptText',\r\n 'header.forLabel': 'header.forLabel',\r\n 'header.usefulLinksLabel': 'header.usefulLinksLabel',\r\n 'footer.partnersLabel': 'footer.partnersLabel',\r\n 'footer.worldCyclingPartnersLabel': 'footer.worldCyclingPartnersLabel',\r\n 'footer.officialSupplierLabel': 'footer.officialSupplierLabel',\r\n 'relatedContent.title': 'relatedContent.title',\r\n 'competition.racesLabel': 'competition.racesLabel',\r\n 'competition.classLabel': 'competition.classLabel',\r\n 'competition.websiteLabel': 'competition.websiteLabel',\r\n 'competition.emailLabel': 'competition.emailLabel',\r\n 'competition.addressLabel': 'competition.addressLabel',\r\n 'competition.assignmentsLabel': 'competition.assignmentsLabel',\r\n 'competition.appointedByLabel': 'competition.appointedByLabel',\r\n 'calendar.latestLabel': 'calendar.latestLabel',\r\n 'calendar.upcomingLabel': 'calendar.upcomingLabel',\r\n 'calendar.pastLabel': 'calendar.pastLabel',\r\n 'calendar.raceHubLinkLabel': 'calendar.raceHubLinkLabel',\r\n 'calendar.raceCategoryLabel': 'calendar.raceCategoryLabel',\r\n 'calendar.raceTypeLabel': 'calendar.raceTypeLabel',\r\n 'calendar.raceClassLabel': 'calendar.raceClassLabel',\r\n 'calendar.eventTypeLabel': 'calendar.eventTypeLabel',\r\n 'calendar.disciplineLabel': 'calendar.disciplineLabel',\r\n 'calendar.raceYearLabel': 'calendar.raceYearLabel',\r\n 'calendar.searchLabel': 'calendar.searchLabel',\r\n 'calendar.searchText': 'calendar.searchText',\r\n 'calendar.noResults': 'calendar.noResults',\r\n 'calendar.viewMoreLabel': 'calendar.viewMoreLabel',\r\n 'calendar.moreFiltersLabel': 'calendar.moreFiltersLabel',\r\n 'calendar.noSearchResults': 'calendar.noSearchResults',\r\n 'calendar.applyFiltersLabel': 'calendar.applyFiltersLabel',\r\n 'calendar.downloadLabel': 'calendar.downloadLabel',\r\n 'calendar.downloadSelectionLabel': 'calendar.downloadSelectionLabel',\r\n 'calendar.downloadSeasonLabel': 'calendar.downloadSeasonLabel',\r\n 'calendar.downloadHelpText': 'calendar.downloadHelpText',\r\n 'competitionDetails.classLabel': 'competitionDetails.classLabel',\r\n 'competitionDetails.websiteLabel': 'competitionDetails.websiteLabel',\r\n 'competitionDetails.emailLabel': 'competitionDetails.emailLabel',\r\n 'competitionDetails.scheduleTitle': 'competitionDetails.scheduleTitle',\r\n 'competitionDetails.commissiaryTitle': 'competitionDetails.commissiaryTitle',\r\n 'competitionDetails.commissiaryAppointedBy': 'competitionDetails.commissiaryAppointedBy',\r\n 'filters.allFilterText': 'filters.allFilterText',\r\n 'filters.allDisciplinesText': 'filters.allDisciplinesText',\r\n 'filters.allSeasonsText': 'filters.allSeasonsText',\r\n 'filters.allCountriesText': 'filters.allCountriesText',\r\n 'filters.countryLabel': 'filters.countryLabel',\r\n 'filters.seasonLabel': 'filters.seasonLabel',\r\n 'filters.disciplineLabel': 'filters.disciplineLabel',\r\n 'discipline.bmx': 'discipline.bmx',\r\n 'discipline.cpt': 'discipline.cpt',\r\n 'discipline.cro': 'discipline.cro',\r\n 'discipline.ind': 'discipline.ind',\r\n 'discipline.mtb': 'discipline.mtb',\r\n 'discipline.par': 'discipline.par',\r\n 'discipline.pis': 'discipline.pis',\r\n 'discipline.roa': 'discipline.roa',\r\n 'discipline.tri': 'discipline.tri',\r\n 'discipline.gra': 'discipline.gra',\r\n 'discipline.bfr': 'discipline.bfr',\r\n 'discipline.ces': 'discipline.ces',\r\n 'event.dayLabel': 'event.dayLabel',\r\n 'event.liveNowLabel': 'event.liveNowLabel',\r\n 'event.fromLabel': 'event.fromLabel',\r\n 'event.upcomingLabel': 'event.upcomingLabel',\r\n 'event.liveStreamLabel': 'event.liveStreamLabel',\r\n 'event.liveScheduleLabel': 'event.liveScheduleLabel',\r\n 'event.todaysEventsLabel': 'event.todaysEventsLabel',\r\n 'event.watchPlaylistTitle': 'event.watchPlaylistTitle',\r\n 'homepage.liveEventLabel': 'homepage.liveEventLabel',\r\n 'riders.teamCategory': 'riders.teamCategory',\r\n 'riders.searchText': 'riders.searchText',\r\n 'riders.resultsLabel': 'riders.resultsLabel',\r\n 'riders.teamsLabel': 'riders.teamsLabel',\r\n 'riders.ridersLabel': 'riders.ridersLabel',\r\n 'riders.dobLabel': 'riders.dobLabel',\r\n 'riders.nationalityLabel': 'riders.nationalityLabel',\r\n 'riders.sanctionsLabel': 'riders.sanctionsLabel',\r\n 'regulations.overviewLabel': 'regulations.overviewLabel',\r\n 'regulations.rulesInForceLabel': 'regulations.rulesInForceLabel',\r\n 'regulations.upcomingAmendmentsLabel': 'regulations.upcomingAmendmentsLabel',\r\n 'regulations.versionOnLabel': 'regulations.versionOnLabel',\r\n 'regulations.inForceFromLabel': 'regulations.inForceFromLabel',\r\n 'news.latest': 'news.latest',\r\n 'news.noResultsText': 'news.noResultsText',\r\n 'raceHub.commentaryViewMore': 'raceHub.commentaryViewMore',\r\n 'search.searchLabel': 'search.searchLabel',\r\n 'contact.title': 'contact.title',\r\n 'contact.addr': 'contact.addr',\r\n 'contact.tel': 'contact.tel',\r\n 'contact.fax': 'contact.fax',\r\n 'contact.email': 'contact.email',\r\n 'contact.website': 'contact.website',\r\n 'contact.twitter': 'contact.twitter',\r\n 'rankingWidget.title': 'rankingWidget.title',\r\n 'rankingWidget.pointsLabel': 'rankingWidget.pointsLabel',\r\n 'rankingWidget.menLabel': 'rankingWidget.menLabel',\r\n 'rankingWidget.womenLabel': 'rankingWidget.womenLabel',\r\n 'rankingWidget.lastUpdatedLabel': 'rankingWidget.lastUpdatedLabel',\r\n 'rankingWidget.noRankingsLabel': 'rankingWidget.noRankingsLabel',\r\n 'technicalRankings.refineResultsLabel': 'technicalRankings.refineResultsLabel',\r\n 'technicalRankings.searchTeamLabel': 'technicalRankings.searchTeamLabel',\r\n 'technicalRankings.notesLabel': 'technicalRankings.notesLabel',\r\n 'technicalRankings.notesMenDisclaimer': 'technicalRankings.notesMenDisclaimer',\r\n 'technicalRankings.notesWomenDisclaimer': 'technicalRankings.notesWomenDisclaimer',\r\n 'technicalRankings.title': 'technicalRankings.title',\r\n 'technicalRankings.tableTotalLabel': 'technicalRankings.tableTotalLabel',\r\n 'technicalRankings.tableTypeLabel': 'technicalRankings.tableTypeLabel',\r\n};\r\n","import * as React from 'react';\r\nimport './styles.scss';\r\n\r\ninterface TagProps {\r\n text: string;\r\n url: string;\r\n}\r\n\r\nconst Tag = ({ text, url }: TagProps) => (\r\n {text}\r\n);\r\n\r\nexport default Tag;\r\n","/*\r\n Responsive image component.\r\n Details in /README.md\r\n */\r\n\r\nimport * as React from 'react';\r\nimport breakpoints from '../../../breakpoints';\r\nimport 'lazysizes';\r\nimport 'lazysizes/plugins/attrchange/ls.attrchange';\r\nimport './styles.scss';\r\n\r\nconst defaultWidth = '1000';\r\nconst defaultLowQualityWidth = '20';\r\nconst defaultAspectRatio = '16x9';\r\nconst mobileImageTriggerWidthDefault = breakpoints.md;\r\nconst imageQuality = 80;\r\n\r\nconst aspectRatioMap = {\r\n '2x1': 0.5,\r\n '16x9': 0.5625,\r\n '3x2': 0.667,\r\n '4x3': 0.75,\r\n '1x1': 1,\r\n '4x5': 1.2,\r\n '2x3': 1.5,\r\n '6x1': 0.59,\r\n '6x7-promo': 1.16,\r\n};\r\n\r\ninterface ImageProps {\r\n url: string;\r\n alt: string;\r\n aspectRatio?: '2x1' | '16x9' | '3x2' | '4x3' | '1x1' | '4x5' | '2x3' | '6x1' | '6x7-promo';\r\n focalPoint?: string | null;\r\n cropTo?: string | undefined;\r\n lowQualityWidth?: string;\r\n widthSizes?: string[];\r\n aspectRatioMobile?: '2x1' | '16x9' | '3x2' | '4x3' | '1x1' | '4x5' | '2x3' | '6x1' | '6x7-promo';\r\n mobileImageTriggerWidth?: number;\r\n isLoaded?: Function;\r\n hasTransparentBackground?: boolean;\r\n isDarkened?: boolean;\r\n}\r\n\r\nconst Image = ({\r\n url,\r\n alt,\r\n aspectRatio = defaultAspectRatio,\r\n aspectRatioMobile,\r\n mobileImageTriggerWidth = mobileImageTriggerWidthDefault,\r\n cropTo = undefined,\r\n widthSizes = [defaultWidth],\r\n lowQualityWidth = defaultLowQualityWidth,\r\n isLoaded,\r\n hasTransparentBackground = false,\r\n focalPoint,\r\n isDarkened = false, // passed as percentage 80 etc.\r\n}: ImageProps) => {\r\n const setAspectRatio = () => {\r\n if (!aspectRatioMobile) return aspectRatio;\r\n return window.innerWidth < mobileImageTriggerWidth ? aspectRatioMobile : aspectRatio;\r\n };\r\n\r\n return (\r\n \r\n {aspectRatioMobile && (\r\n (\r\n // @ts-ignore\r\n `${url}?fit=thumb&q=${imageQuality}&f=${cropTo || ''}&fl=progressive&w=${widthSize}&h=${Math.ceil(parseInt(widthSize, 10) * aspectRatioMap[aspectRatioMobile])} ${widthSize}w`\r\n ))\r\n }\r\n />\r\n )}\r\n\r\n {\r\n if (isLoaded) {\r\n isLoaded();\r\n }\r\n }}\r\n data-sizes=\"auto\"\r\n style={{ objectPosition: focalPoint || 'initial' }}\r\n // @ts-ignore\r\n data-src={`${url}?fit=thumb&w=${lowQualityWidth}&f=${cropTo || ''}&h=${Math.ceil(parseInt(lowQualityWidth, 10) * aspectRatioMap[setAspectRatio()])}`}\r\n data-srcset={\r\n widthSizes.map((widthSize) => (\r\n // @ts-ignore\r\n `${url}?fit=thumb&q=${imageQuality}&f=${cropTo || ''}&fl=progressive&w=${widthSize}&h=${Math.ceil(parseInt(widthSize, 10) * aspectRatioMap[aspectRatio])} ${widthSize}w`\r\n ))\r\n }\r\n className={`lazyload blur-up ${isDarkened ? 'has-opacity' : ''}`}\r\n alt={alt || 'image with no description'}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default Image;\r\n","import * as React from 'react';\r\nimport CompetitionCardProps from './type';\r\nimport { DateAndCategory, Link, SvgImage } from '../common';\r\nimport './styles.scss';\r\n\r\nconst CompetitionCard = ({\r\n colourCode,\r\n dates,\r\n name,\r\n raceHubLink,\r\n venue,\r\n disciplineLink,\r\n label,\r\n isDownload,\r\n isPublished,\r\n publishingDate,\r\n isUciEvent,\r\n isLive,\r\n}: CompetitionCardProps) => (\r\n
\r\n
\r\n {isUciEvent && (\r\n
\r\n \r\n
\r\n )}\r\n {label && (\r\n
\r\n {label}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {name}\r\n
\r\n
\r\n
\r\n
\r\n {dates}\r\n
\r\n
\r\n {venue}\r\n
\r\n {isDownload && isPublished && (\r\n
\r\n Published\r\n
\r\n )}\r\n {isDownload && publishingDate && (\r\n
\r\n {publishingDate}\r\n
\r\n )}\r\n {raceHubLink && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n);\r\n\r\nexport default CompetitionCard;\r\n","/* eslint-disable react/no-array-index-key */\r\nimport React, { useContext } from 'react';\r\nimport { Link } from '../common';\r\nimport LocalizationContext from '../../contexts/Localizations';\r\nimport CompetitionCard from '../CompetitionCard';\r\nimport Carousel from '../Carousel';\r\nimport CompetitionCarouselProps from './type';\r\nimport './styles.scss';\r\n\r\nconst CompetitionCarousel = ({\r\n cards,\r\n competitions,\r\n themeColor,\r\n slickConfig,\r\n standalone,\r\n viewMoreLink,\r\n title,\r\n}: CompetitionCarouselProps) => {\r\n const { translations } = useContext(LocalizationContext);\r\n\r\n return (\r\n
\r\n {title && (\r\n

\r\n {title}\r\n

\r\n )}\r\n\r\n
\r\n \r\n {cards?.live?.map((item, index) => (\r\n
\r\n \r\n
\r\n ))}\r\n\r\n {cards?.latest && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n {cards?.upcoming?.map((item, index) => (\r\n
\r\n \r\n
\r\n ))}\r\n\r\n {competitions?.map((item, index) => (\r\n
\r\n \r\n
\r\n ))}\r\n \r\n
\r\n {viewMoreLink && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default CompetitionCarousel;\r\n","import * as React from 'react';\r\nimport { useState, useEffect } from 'react';\r\nimport { Image as ImageType } from '../../../typings';\r\nimport 'lazysizes';\r\nimport 'lazysizes/plugins/attrchange/ls.attrchange';\r\nimport './styles.scss';\r\n\r\nconst defaultWidths = ['400', '800', '1200', '2400', '4000'];\r\n\r\nconst aspectRatioMap: Record = {\r\n '2x1': 0.5,\r\n '16x9': 0.5625,\r\n '3x2': 0.667,\r\n '4x3': 0.75,\r\n '1x1': 1,\r\n '4x5': 1.2,\r\n '2x3': 1.5,\r\n};\r\n\r\ninterface ImageObjectProps {\r\n image: ImageType;\r\n widthSizes?: string[];\r\n isDarkened?: boolean;\r\n useFocalPoint?: boolean;\r\n fitType?: 'contain' | 'cover'\r\n isLoaded?: () => void;\r\n noAnimate?: boolean;\r\n aspectRatio?: string;\r\n}\r\n\r\ninterface FocalStyle {\r\n objectPosition: string;\r\n}\r\n\r\nconst ImageObject = ({\r\n image,\r\n widthSizes = defaultWidths,\r\n aspectRatio,\r\n isDarkened = false,\r\n useFocalPoint = true,\r\n fitType = 'cover',\r\n isLoaded,\r\n noAnimate,\r\n}: ImageObjectProps) => {\r\n const [focalPoint, setFocalPoint] = useState();\r\n const [srcset, setSrcset] = useState();\r\n\r\n useEffect(() => {\r\n if (image.focalPoint) {\r\n // @ts-ignore\r\n const xPercentile = (image.focalPoint.x / image.file.details?.image?.width) * 100;\r\n // @ts-ignore\r\n const yPercentile = (image.focalPoint.y / image.file.details?.image?.height) * 100;\r\n setFocalPoint({\r\n objectPosition: `${xPercentile}% ${yPercentile}%`,\r\n });\r\n }\r\n\r\n const src = widthSizes\r\n .map((size: string, index: number) => `${image.file.url}?fit=thumb&fl=progressive&w=${size}&h=${aspectRatio ? Math.ceil(Number(widthSizes[index]) * aspectRatioMap[aspectRatio]) : ''} ${size}w`);\r\n\r\n setSrcset(src.join(','));\r\n }, [image]);\r\n\r\n const classes = [\r\n 'image-object',\r\n `image-object--${fitType}`,\r\n 'lazyload',\r\n ];\r\n if (isDarkened) {\r\n classes.push('has-opacity');\r\n }\r\n if (noAnimate) {\r\n classes.push('image-object--no-animate');\r\n }\r\n\r\n return (\r\n isLoaded?.()}\r\n data-sizes=\"auto\"\r\n data-srcset={srcset}\r\n data-src={`${image.file.url}?fit=thumb&fl=progressive&w=${widthSizes[0]}&h=${aspectRatio ? Math.ceil(Number(widthSizes[0]) * aspectRatioMap[aspectRatio]) : ''}`}\r\n className={classes.join(' ')}\r\n alt={image.title ? image.title : 'image with no description'}\r\n style={useFocalPoint ? focalPoint : undefined}\r\n />\r\n );\r\n};\r\n\r\nexport default ImageObject;\r\n","import * as React from 'react';\r\nimport './styles.scss';\r\n\r\ninterface UnderlineTitleProps {\r\n title: string;\r\n containerTheme: string;\r\n className?: string;\r\n}\r\n\r\nconst UnderlineTitle = ({\r\n title,\r\n containerTheme,\r\n className,\r\n}: UnderlineTitleProps) => (\r\n

\r\n {title}\r\n

\r\n);\r\n\r\nexport default UnderlineTitle;\r\n","import React from 'react';\r\nimport Carousel from '../Carousel';\r\nimport NewsCard from '../NewsCard';\r\nimport NewsCardProps from '../NewsCard/type';\r\nimport { Link } from '../../core/typings';\r\nimport './styles.scss';\r\n\r\ninterface NewsCarouselProps {\r\n news: NewsCardProps[];\r\n slickConfig?: Record;\r\n viewMoreLink?: Link;\r\n title?: string;\r\n}\r\n\r\nconst NewsCarousel = ({\r\n news,\r\n slickConfig,\r\n viewMoreLink,\r\n title,\r\n}: NewsCarouselProps) => {\r\n const defaultSlickConfig = {\r\n slidesToShow: 3,\r\n responsive: [\r\n {\r\n breakpoint: 460,\r\n settings: {\r\n slidesToShow: 1.1,\r\n arrows: true,\r\n },\r\n },\r\n ],\r\n ...slickConfig,\r\n };\r\n\r\n return (\r\n \r\n {news.map((item) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default NewsCarousel;\r\n","import * as React from 'react';\r\nimport { isEmpty } from 'lodash';\r\nimport useHabitat from '../../../hooks/useHabitat';\r\nimport './styles.scss';\r\nimport SvgImage from '../SvgImage';\r\nimport Contact from '../Contact';\r\nimport RichText from '../RichText';\r\nimport UnderlineTitle from '../UnderlineTitle';\r\nimport { Link, Contacts } from '../../../typings';\r\n\r\ninterface ContentProps {\r\n title?: string;\r\n intro?: string;\r\n contact?: Contacts;\r\n content?: string;\r\n link?: Link;\r\n secondaryLink?: Link;\r\n downloads?: Link[];\r\n containerTheme?: string;\r\n isTitleFloating?: boolean;\r\n}\r\n\r\nconst Content = ({\r\n title,\r\n intro,\r\n contact,\r\n content,\r\n link,\r\n secondaryLink,\r\n downloads,\r\n containerTheme = 'white',\r\n isTitleFloating,\r\n}: ContentProps) => {\r\n useHabitat();\r\n\r\n return (\r\n
\r\n {Boolean(title || contact) && (\r\n
\r\n {title && (\r\n \r\n )}\r\n\r\n {(contact && !isEmpty(contact)) && (\r\n \r\n )}\r\n
\r\n )}\r\n\r\n {!title && (\r\n <>\r\n {intro && (!contact || isEmpty(contact)) && (!title\r\n ?

{intro}

\r\n :

{intro}

)}\r\n \r\n )}\r\n
\r\n {title && (\r\n <>\r\n {intro && (contact || !isEmpty(contact)) && (title\r\n ?

{intro}

\r\n :

{intro}

)}\r\n \r\n )}\r\n\r\n {content && (\r\n \r\n )}\r\n\r\n {downloads && (\r\n
    \r\n {downloads.map((download) => (\r\n
  • \r\n \r\n {download.title}\r\n \r\n \r\n
  • \r\n ))}\r\n
\r\n )}\r\n\r\n {link && (\r\n /* eslint-disable-next-line react/jsx-no-target-blank */\r\n \r\n {link.title}\r\n \r\n \r\n )}\r\n {secondaryLink && (\r\n /* eslint-disable-next-line react/jsx-no-target-blank */\r\n \r\n {secondaryLink.title}\r\n \r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Content;\r\n","import * as React from 'react';\r\nimport { useContext } from 'react';\r\nimport SvgImage from '../SvgImage';\r\nimport { Contacts } from '../../../typings';\r\nimport LocalizationContext from '../../../contexts/Localizations';\r\nimport './styles.scss';\r\n\r\ninterface ContactProps {\r\n contact: Contacts;\r\n containerTheme: string;\r\n}\r\n\r\nconst Contact = ({\r\n contact,\r\n containerTheme,\r\n}: ContactProps) => {\r\n const { translations } = useContext(LocalizationContext);\r\n // Adds space between every characters apart from (0)\r\n // Required for screen readers to read phone numbers properly and include all character\r\n const toReadable = (phoneNumber: string): string => phoneNumber\r\n .split(' ')\r\n .join('')\r\n .split('')\r\n .join(' ')\r\n .replace('( 0 )', '(0)');\r\n\r\n return (\r\n
\r\n

\r\n {translations.contact.title}\r\n

\r\n\r\n
    \r\n {(contact.addr && contact.addr.length) && (\r\n
  • \r\n \r\n {`${translations.contact.addr}:`}\r\n \r\n {contact.addr}\r\n
  • \r\n )}\r\n {(contact.tel && contact.tel.length) && (\r\n
  • \r\n \r\n {`${translations.contact.tel}:`}\r\n \r\n \r\n {contact.tel}\r\n \r\n
  • \r\n )}\r\n {(contact.fax && contact.fax.length) && (\r\n
  • \r\n \r\n {`${translations.contact.fax}:`}\r\n \r\n \r\n {contact.fax}\r\n \r\n
  • \r\n )}\r\n {(contact.email && contact.email.length) && (\r\n
  • \r\n \r\n {`${translations.contact.email}:`}\r\n \r\n \r\n {contact.email}\r\n \r\n
  • \r\n )}\r\n {(contact.website && contact.website.length) && (\r\n
  • \r\n \r\n {`${translations.contact.website}:`}\r\n \r\n \r\n {contact.website}\r\n \r\n
  • \r\n )}\r\n
  • \r\n
      \r\n {(contact.facebook && contact.facebook.length) && (\r\n
    • \r\n \r\n \r\n \r\n
    • \r\n )}\r\n {(contact.instagram && contact.instagram.length) && (\r\n
    • \r\n \r\n \r\n \r\n
    • \r\n )}\r\n {(contact.twitter && contact.twitter.length) && (\r\n
    • \r\n \r\n \r\n \r\n
    • \r\n )}\r\n
    \r\n
  • \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Contact;\r\n","import * as React from 'react';\r\nimport './styles.scss';\r\n\r\ninterface RichTextProps {\r\n content: string;\r\n containerTheme: string;\r\n}\r\n\r\nconst RichText = ({\r\n content,\r\n containerTheme,\r\n}: RichTextProps) => (\r\n
\r\n \r\n
\r\n);\r\n\r\nexport default RichText;\r\n","import { useEffect } from 'react';\r\n\r\nconst useHabitat = (): Function => {\r\n useEffect(() => {\r\n if (window.updateHabitat) {\r\n window.updateHabitat();\r\n }\r\n }, []);\r\n\r\n return window.updateHabitat as Function;\r\n};\r\n\r\nexport default useHabitat;\r\n","import { Image } from '../typings/index';\r\n\r\ndeclare global {\r\n interface Document {\r\n documentMode?: any;\r\n }\r\n}\r\n\r\nconst isIE = () => (\r\n !!window.MSInputMethodContext && !!document.documentMode\r\n);\r\n\r\n// Insert url param\r\nconst insertUrlParam = (key: string, value: string, includeHash?: boolean) => {\r\n // @ts-ignore\r\n if (history.pushState) {\r\n const searchParams = new URLSearchParams(window.location.search);\r\n searchParams.set(key, value);\r\n let newurl = `${window.location.protocol}//${window.location.host}${window.location.pathname}?${searchParams.toString()}`;\r\n if (includeHash && window.location.hash) {\r\n newurl = `${newurl}${window.location.hash}`;\r\n }\r\n window.history.pushState({ path: newurl }, '', newurl);\r\n }\r\n};\r\n\r\n// Removes all query string entires\r\nconst removeAllQueryStrings = () => {\r\n const url = window.location.href.replace(/(\\?.*)|(@.*)/g, '');\r\n window.history.pushState({ path: url }, '', url);\r\n};\r\n\r\n// Get All url params\r\nconst getAllUrlParams = (search: string) => {\r\n const hashes = search.slice(search.indexOf('?') + 1).split('&');\r\n const params: { [key: string]: string } = {};\r\n hashes.map((hash) => {\r\n const [key, val] = hash.split('=');\r\n params[key] = decodeURIComponent(val);\r\n return true;\r\n });\r\n return params;\r\n};\r\n\r\n// Get param value\r\nconst getUrlParamValue = (key: any) => {\r\n const search = Object.entries(getAllUrlParams(window.location.href)).filter((param) => (\r\n param[0] === key\r\n ));\r\n return search[0] ? search[0][1] : null;\r\n};\r\n\r\n// Script exists in head of document.\r\n// Taken from: https://github.com/kaimallea/isMobile\r\nconst isMobile = () => (\r\n /Mobi/.test(navigator.userAgent)\r\n);\r\n\r\nconst scrollIntoView = (elemToScrollTo: HTMLElement, behaviour: ScrollBehavior) => {\r\n if (!isIE()) {\r\n elemToScrollTo.scrollIntoView({\r\n behavior: behaviour,\r\n });\r\n }\r\n};\r\n\r\nconst isPortrait = (image: Image) => (\r\n // @ts-ignore\r\n (image.file.details.image.height > image.file.details.image.width)\r\n);\r\n\r\nconst elementInViewport = (el: any) => {\r\n let top = el.offsetTop;\r\n let left = el.offsetLeft;\r\n const width = el.offsetWidth;\r\n const height = el.offsetHeight;\r\n\r\n while (el.offsetParent) {\r\n // eslint-disable-next-line no-param-reassign\r\n el = el.offsetParent;\r\n top += el.offsetTop;\r\n left += el.offsetLeft;\r\n }\r\n\r\n return (\r\n top >= window.pageYOffset\r\n && left >= window.pageXOffset\r\n && (top + height) <= (window.pageYOffset + window.innerHeight)\r\n && (left + width) <= (window.pageXOffset + window.innerWidth)\r\n );\r\n};\r\n\r\nconst toDataURL = (url: string, callback: Function) => {\r\n const xhr = new XMLHttpRequest();\r\n xhr.onload = () => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n if (callback) {\r\n callback(reader.result);\r\n }\r\n };\r\n reader.readAsDataURL(xhr.response);\r\n };\r\n xhr.open('GET', url);\r\n xhr.responseType = 'blob';\r\n xhr.send();\r\n};\r\n\r\nexport {\r\n insertUrlParam,\r\n getAllUrlParams,\r\n getUrlParamValue,\r\n removeAllQueryStrings,\r\n isMobile,\r\n scrollIntoView,\r\n isPortrait,\r\n elementInViewport,\r\n toDataURL,\r\n};\r\n","import * as React from 'react';\r\nimport {\r\n useContext, useState, useEffect, useRef,\r\n} from 'react';\r\nimport moment from 'moment';\r\nimport { fr } from 'date-fns/locale/fr';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport DatePicker, { registerLocale } from 'react-datepicker';\r\nimport useOutsideAlerter from '../../../hooks/UseOutsideAlerter';\r\nimport LocalizationContext from '../../../contexts/Localizations';\r\nimport SvgImage from '../SvgImage';\r\nimport './styles.scss';\r\n\r\nregisterLocale('fr', fr);\r\n\r\ninterface JumpListOption {\r\n displayText: string;\r\n value: string;\r\n selectedValue?: boolean;\r\n visible?: boolean;\r\n name?: string;\r\n}\r\n\r\ninterface JumpListProps {\r\n items: JumpListOption[];\r\n selectedValue?: string;\r\n action: Function;\r\n icon?: string;\r\n theme?: string;\r\n useScroller?: boolean;\r\n useSearch?: boolean;\r\n name?: string;\r\n disableFirst?: boolean;\r\n withDatePicker?: boolean;\r\n defaultDatePickerValue?: Date;\r\n onDateChange?: Function;\r\n includeDates?: Date[];\r\n datePickerLocale?: string;\r\n}\r\n\r\nconst JumpList = ({\r\n items,\r\n action,\r\n selectedValue,\r\n icon = 'icon-arrow-down',\r\n theme = 'default',\r\n useScroller = false,\r\n useSearch = false,\r\n name,\r\n disableFirst = false,\r\n withDatePicker = false,\r\n defaultDatePickerValue,\r\n onDateChange,\r\n includeDates,\r\n datePickerLocale,\r\n}: JumpListProps) => {\r\n const wrapperRef = useRef>(null);\r\n const [value, setValue] = useState();\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [options, setOptions] = useState();\r\n const [isClosing, setIsClosing] = useState(false);\r\n const [searchValue, setSearchValue] = useState(null);\r\n const { translations } = useContext(LocalizationContext);\r\n\r\n /**\r\n * Closes the open view\r\n */\r\n const close = () => {\r\n setIsClosing(true);\r\n setTimeout(() => {\r\n setIsClosing(false);\r\n setIsOpen(false);\r\n if (useSearch) {\r\n setSearchValue(null);\r\n }\r\n }, useSearch ? 0 : 300);\r\n };\r\n\r\n /**\r\n * This will tigger the close method when the user\r\n * interacts outside wrapperRef\r\n */\r\n useOutsideAlerter(wrapperRef, () => {\r\n close();\r\n });\r\n\r\n /**\r\n * Toggle open/close\r\n * @param event\r\n * @returns\r\n */\r\n const toggle = (event?: React.MouseEvent) => {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n if (disableFirst) {\r\n return null;\r\n }\r\n\r\n if (isOpen) {\r\n return close();\r\n }\r\n\r\n return setIsOpen(!isOpen);\r\n };\r\n\r\n /**\r\n * This remaps the options base of the items and selectedValue\r\n * props.\r\n * @returns\r\n */\r\n const mapSelection = () => items.map((item, index) => ({\r\n ...item,\r\n name,\r\n selectedValue: item.value === selectedValue,\r\n visible: !(withDatePicker && defaultDatePickerValue && index > 4),\r\n }));\r\n\r\n /**\r\n * This handels the change event on the drop down.\r\n * @param event\r\n * @param optionIndex\r\n */\r\n const handleChange = (event: React.MouseEvent, optionIndex: number) => {\r\n event.preventDefault();\r\n setOptions(mapSelection());\r\n setValue(options ? options[optionIndex] : undefined);\r\n close();\r\n\r\n if (action && typeof action === 'function') {\r\n action(options ? options[optionIndex] : undefined);\r\n }\r\n };\r\n\r\n /**\r\n * Component has mounted hook\r\n */\r\n useEffect(() => {\r\n if (items.length) {\r\n const optionsSelection = mapSelection();\r\n setOptions(optionsSelection);\r\n }\r\n }, []);\r\n\r\n /**\r\n * Observe the options state to determine the selected value.\r\n * If a new value is selected with will trigger and setValue in state.\r\n */\r\n useEffect(() => {\r\n if (options) {\r\n const selected: JumpListOption = options.filter(\r\n (item: JumpListOption) => item.value === selectedValue,\r\n )[0];\r\n\r\n setValue(selected || options[0]);\r\n }\r\n }, [options, selectedValue]);\r\n\r\n /**\r\n * Observe the search value term to filter down the visible\r\n * option in the list. This is only applicable if the user\r\n * has turned on useSearch in props.\r\n */\r\n useEffect(() => {\r\n if (options) {\r\n if (searchValue === null || searchValue === '') {\r\n setOptions(mapSelection());\r\n } else {\r\n const filteredOptions: JumpListOption[] = options?.map((option) => ({\r\n ...option,\r\n visible: option.displayText.toLowerCase().includes(searchValue.toLowerCase()),\r\n }));\r\n\r\n setOptions(filteredOptions);\r\n }\r\n }\r\n }, [searchValue, selectedValue, items]);\r\n\r\n /**\r\n * Creates a list option\r\n * @param option\r\n * @param index\r\n * @returns\r\n */\r\n const createOption = (option: JumpListOption, index: number) => (\r\n
  • \r\n handleChange(event, index)}>\r\n {option.displayText}\r\n \r\n
  • \r\n );\r\n\r\n /**\r\n * Creates the search JSX controls. This is only applicable\r\n * if the user has turned on useSearch in props.\r\n * @returns\r\n */\r\n const createSearch = () => (\r\n
    \r\n (\r\n setSearchValue((event.currentTarget as HTMLInputElement).value)\r\n )}\r\n />\r\n {Boolean(!options?.filter((option) => option.visible).length) && (\r\n
    \r\n {`No selection found for ${searchValue}.`}\r\n {/* Needs Laguage label */}\r\n
    \r\n )}\r\n
    \r\n );\r\n\r\n /**\r\n * Creates the option list.\r\n * @returns\r\n */\r\n const createOptions = () => {\r\n if (useScroller) {\r\n return (\r\n
    \r\n {useSearch && createSearch()}\r\n \r\n <>\r\n {options && (\r\n
      \r\n {options?.map((option, key) => option.visible && createOption(option, key))}\r\n
    \r\n )}\r\n\r\n {withDatePicker && defaultDatePickerValue && (\r\n {\r\n if (onDateChange) {\r\n const dateIndex = options?.findIndex((option) => {\r\n const optionMoment = moment(option.value).format('DD-MM-YYYY');\r\n const selectedMoment = moment(date).format('DD-MM-YYYY');\r\n\r\n return optionMoment === selectedMoment;\r\n });\r\n\r\n if (dateIndex !== undefined && dateIndex >= 0) {\r\n onDateChange(date);\r\n\r\n handleChange(event, dateIndex);\r\n }\r\n }\r\n }}\r\n includeDates={includeDates}\r\n inline\r\n locale={datePickerLocale}\r\n />\r\n )}\r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n {useSearch && createSearch()}\r\n {options && (\r\n
      \r\n {options?.map((option, key) => option.visible && createOption(option, key))}\r\n
    \r\n )}\r\n\r\n {withDatePicker && defaultDatePickerValue && (\r\n \r\n )}\r\n
    \r\n );\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {value && (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n {createOptions()}\r\n \r\n );\r\n};\r\n\r\nexport default JumpList;\r\n","export default {\r\n xxs: 375,\r\n xs: 450,\r\n sm: 620,\r\n md: 768,\r\n ml: 870,\r\n lg: 1024,\r\n xl: 1300,\r\n xxl: 1440,\r\n xxxl: 1740,\r\n xxxxl: 1900,\r\n};\r\n","/* eslint-disable react/no-array-index-key */\r\nimport React, { useState, useEffect, Fragment } from 'react';\r\nimport SvgImage from '../SvgImage';\r\nimport './styles.scss';\r\n\r\ninterface ResponsiveTableProps {\r\n headers: {\r\n alwaysVisible: boolean;\r\n key: string;\r\n label: string;\r\n hiddenOnMobile?: boolean;\r\n }[];\r\n rows: {\r\n row: Record;\r\n Table?: JSX.Element;\r\n }[];\r\n stickyCol?: JSX.Element[];\r\n className?: string;\r\n moreClassName?: string;\r\n headerClassName?: string;\r\n rowClassName?: string;\r\n cellClassName?: string;\r\n nested?: boolean;\r\n}\r\n\r\nconst ResponsiveTable = ({\r\n headers,\r\n rows,\r\n stickyCol,\r\n className,\r\n moreClassName,\r\n headerClassName,\r\n rowClassName,\r\n cellClassName,\r\n nested,\r\n}: ResponsiveTableProps) => {\r\n const [isExpanded, setExpanded] = useState(false);\r\n const [rowExpandedStates, setRowExpandedStates] = useState>({});\r\n\r\n const toggleExpandTable = () => {\r\n setExpanded(!isExpanded);\r\n };\r\n\r\n const toggleExpandRow = (rowIndex: number) => {\r\n setRowExpandedStates({\r\n ...rowExpandedStates,\r\n [rowIndex]: !rowExpandedStates[rowIndex],\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (rows.some((row) => row.Table)) {\r\n setRowExpandedStates(Object.fromEntries(Object.entries(rows.map(() => false))));\r\n }\r\n }, []);\r\n\r\n return (\r\n
    \r\n {!nested && (\r\n
    \r\n \r\n Show details\r\n \r\n
    \r\n )}\r\n\r\n
    \r\n \r\n \r\n \r\n {stickyCol && (\r\n \r\n )}\r\n\r\n {headers.map((header) => (\r\n \r\n {header.label}\r\n \r\n ))}\r\n\r\n {rows.some((row) => row.Table) && (\r\n \r\n
    \r\n expand\r\n
    \r\n \r\n )}\r\n \r\n \r\n \r\n {rows.map(({ row, Table }, rowIndex) => (\r\n \r\n \r\n {headers.map((header, colIndex) => (\r\n \r\n {stickyCol && colIndex === 0 && (\r\n {stickyCol[rowIndex]}\r\n )}\r\n \r\n {row[header.key]}\r\n \r\n \r\n ))}\r\n\r\n {Table && (\r\n \r\n toggleExpandRow(rowIndex)}\r\n >\r\n \r\n \r\n \r\n )}\r\n \r\n {Table && (\r\n \r\n \r\n { Table }\r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ResponsiveTable;\r\n","import * as React from 'react';\r\nimport moment from 'moment';\r\nimport { Link as LinkType } from '../../../typings';\r\nimport './styles.scss';\r\n\r\ninterface DateAndCategoryProps {\r\n date?: string;\r\n category?: LinkType;\r\n dateFormat?: string;\r\n}\r\n\r\nconst DateAndCategory = ({ date, category, dateFormat }: DateAndCategoryProps) => (\r\n
    \r\n {category && (\r\n \r\n )}\r\n {date && (\r\n \r\n )}\r\n\r\n
    \r\n);\r\n\r\nexport default DateAndCategory;\r\n","import * as React from 'react';\r\nimport { useState, useEffect, useRef } from 'react';\r\nimport useHabitat from '../../../hooks/useHabitat';\r\nimport Content from '../Content';\r\nimport { Discipline } from '../../../core/typings';\r\nimport './styles.scss';\r\n\r\ninterface AccordionPanelProps {\r\n index: number;\r\n activeTab: boolean;\r\n toggleTab: Function;\r\n label: string | JSX.Element;\r\n content: string | JSX.Element | JSX.Element[];\r\n themeColor: string;\r\n discipline?: string;\r\n isAsync?: boolean;\r\n isResults?: boolean;\r\n}\r\n\r\nconst AccordionPanel = ({\r\n index,\r\n activeTab,\r\n toggleTab,\r\n label,\r\n content,\r\n themeColor,\r\n discipline,\r\n isAsync,\r\n isResults,\r\n}: AccordionPanelProps) => {\r\n const [height, setHeight] = useState('0px');\r\n const [asyncContentLoaded, setAsyncContentLoaded] = useState(false);\r\n const wrapper = useRef(null);\r\n\r\n const calculatePanelHeight = () => {\r\n const panelElement = wrapper.current as HTMLDivElement;\r\n\r\n if (activeTab) {\r\n panelElement.ontransitionend = () => {\r\n setHeight('auto');\r\n };\r\n\r\n setHeight(`${panelElement.scrollHeight}px`);\r\n } else {\r\n panelElement.ontransitionend = null;\r\n\r\n setHeight(`${panelElement.scrollHeight}px`);\r\n\r\n requestAnimationFrame(() => {\r\n setHeight('0px');\r\n });\r\n }\r\n };\r\n\r\n const handleLoadedContent = () => {\r\n setAsyncContentLoaded(true);\r\n calculatePanelHeight();\r\n };\r\n\r\n useEffect(() => {\r\n calculatePanelHeight();\r\n }, [activeTab]);\r\n\r\n return (\r\n
    \r\n toggleTab(index)}\r\n >\r\n {label}\r\n \r\n \r\n {typeof content === 'string' && (\r\n
    \r\n \r\n
    \r\n )}\r\n\r\n {!isAsync && React.isValidElement(content) && content}\r\n\r\n {isAsync && (activeTab || asyncContentLoaded) && React.isValidElement(content) && (\r\n \r\n )}\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport interface AccordionPanelType {\r\n label: string | JSX.Element;\r\n content: string | JSX.Element | JSX.Element[];\r\n}\r\n\r\ninterface AccordionProps {\r\n panels: AccordionPanelType[];\r\n themeColor: string;\r\n discipline?: Discipline;\r\n isResults?: boolean;\r\n}\r\n\r\ninterface PanelsState {\r\n label: string | JSX.Element;\r\n content: string | JSX.Element | JSX.Element[];\r\n activeTab: boolean;\r\n}\r\n\r\nconst Accordion = ({\r\n panels,\r\n themeColor,\r\n discipline,\r\n isResults,\r\n}: AccordionProps) => {\r\n const [panelsInState, setPanelsInState] = useState([]);\r\n useHabitat();\r\n\r\n const toggleTab = (index: number) => {\r\n const current: PanelsState[] = [...panelsInState];\r\n\r\n current[index].activeTab = !panelsInState[index].activeTab;\r\n setPanelsInState(current);\r\n };\r\n\r\n useEffect(() => {\r\n if (panels) {\r\n const mappedPanels: PanelsState[] = panels.map((panel) => ({\r\n ...panel,\r\n activeTab: false,\r\n }));\r\n\r\n setPanelsInState(mappedPanels);\r\n }\r\n }, []);\r\n\r\n return (\r\n
    \r\n {panelsInState && (\r\n <>\r\n {panelsInState.map((panel, index) => (\r\n \r\n ))}\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default Accordion;\r\n","import * as React from 'react';\r\nimport { useState, useEffect } from 'react';\r\nimport { Image as ImageType } from '../../../typings';\r\nimport 'lazysizes';\r\nimport 'lazysizes/plugins/attrchange/ls.attrchange';\r\n\r\nconst defaultWidths = ['400', '800', '1200', '2400', '4000'];\r\n\r\ninterface ImageBasicProps {\r\n image: ImageType;\r\n widthSizes?: string[];\r\n isDarkened?: boolean;\r\n useIntrinsicHeight?: boolean;\r\n}\r\n\r\nconst ImageBasic = ({\r\n image,\r\n widthSizes = defaultWidths,\r\n isDarkened = false,\r\n useIntrinsicHeight,\r\n}: ImageBasicProps) => {\r\n const [isLoaded, setIsLoaded] = useState(false);\r\n const [srcset, setSrcset] = useState();\r\n\r\n useEffect(() => {\r\n const src = widthSizes\r\n .map((size: string) => `${image.file.url}?fit=thumb&fl=progressive&w=${size} ${size}w`);\r\n\r\n setSrcset(src.join(','));\r\n }, [image]);\r\n\r\n return (\r\n setIsLoaded(true)}\r\n />\r\n );\r\n};\r\n\r\nexport default ImageBasic;\r\n","import * as React from 'react';\r\n\r\nimport './styles.scss';\r\n\r\nconst Loader: React.FC = () => (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n);\r\n\r\nexport default Loader;\r\n","import * as React from 'react';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport SvgImage from '../SvgImage';\r\nimport './styles.scss';\r\n\r\ninterface SocialLinksProps {\r\n list: {\r\n name: string;\r\n url: string;\r\n type: string;\r\n }[];\r\n}\r\n\r\nconst SocialLinks = ({ list }: SocialLinksProps) => (\r\n
    \r\n \r\n
    \r\n);\r\n\r\nexport default SocialLinks;\r\n","import * as React from 'react';\r\nimport Tag from '../Tag';\r\nimport './styles.scss';\r\n\r\ninterface TagProps {\r\n tags: {\r\n text: string;\r\n url: string;\r\n }[];\r\n}\r\n\r\nconst TagList = ({ tags }: TagProps) => (\r\n
      \r\n {tags.map((tag) => (\r\n
    • \r\n \r\n
    • \r\n ))}\r\n
    \r\n);\r\n\r\nexport default TagList;\r\n","import * as React from 'react';\r\nimport { insertUrlParam } from '../../../utilities/browser';\r\nimport { isIdenticalObject } from '../../../utilities/objects';\r\nimport SvgImage from '../SvgImage';\r\nimport './styles.scss';\r\n\r\ninterface PaginationProps {\r\n totalItems: number;\r\n currentPage: number;\r\n itemsPerPage: number;\r\n handleClick?: Function;\r\n pageQueryKey?: string;\r\n retainRoute?: boolean;\r\n style?: string;\r\n}\r\n\r\ninterface PaginationState {\r\n pages: number[];\r\n firstPageIndex: number | undefined;\r\n lastPageIndex: number | undefined;\r\n previousPageIndex: number | undefined;\r\n nextPageIndex: number | undefined;\r\n totalItems?: number | undefined;\r\n currentPage: number | undefined;\r\n totalAmountOfPages: number | undefined;\r\n isFirstPageDisabled: boolean | undefined;\r\n isLastPageDisabled: boolean | undefined;\r\n isPreviousDisabled: boolean | undefined;\r\n isNextDisabled: boolean | undefined;\r\n // The below need to move to props with defaults\r\n maxVisiblePagesMobile: number;\r\n maxVisiblePagesDesktop: number;\r\n maxVisiblePages: number;\r\n}\r\n\r\n// move to prop with default value\r\nconst breakpoint = 620;\r\n\r\nconst defaultProps = {\r\n pageQueryKey: 'page',\r\n};\r\nexport default class Pagination extends React.Component {\r\n // eslint-disable-next-line react/static-property-placement\r\n static defaultProps = defaultProps;\r\n\r\n constructor(props: PaginationProps) {\r\n super(props);\r\n this.state = {\r\n pages: [],\r\n firstPageIndex: undefined,\r\n lastPageIndex: undefined,\r\n previousPageIndex: undefined,\r\n nextPageIndex: undefined,\r\n // totalItems: undefined,\r\n currentPage: undefined,\r\n isFirstPageDisabled: undefined,\r\n isLastPageDisabled: undefined,\r\n totalAmountOfPages: undefined,\r\n isPreviousDisabled: undefined,\r\n isNextDisabled: undefined,\r\n maxVisiblePagesMobile: 3,\r\n maxVisiblePagesDesktop: 5,\r\n maxVisiblePages: 5,\r\n };\r\n }\r\n\r\n async componentDidMount() {\r\n await this.handdleMaxVisiblePages(window.innerWidth);\r\n window.addEventListener('resize', async (event) => {\r\n event.stopPropagation();\r\n await this.handdleMaxVisiblePages(window.innerWidth);\r\n });\r\n\r\n this.getPager();\r\n }\r\n\r\n componentDidUpdate(prevProps: PaginationProps) {\r\n const hasPropsUpdated = isIdenticalObject(prevProps, this.props);\r\n if (!hasPropsUpdated) {\r\n this.getPager();\r\n }\r\n }\r\n\r\n /**\r\n * This handles setting the state of the pager.\r\n * Flags toggle display views on pager elements\r\n * and fetches and sets the visable page list\r\n * from generateVisablePages.\r\n */\r\n getPager() {\r\n const {\r\n totalItems,\r\n currentPage,\r\n itemsPerPage,\r\n } = this.props;\r\n\r\n const {\r\n maxVisiblePages,\r\n } = this.state;\r\n\r\n const totalAmountOfPages = Math.ceil(totalItems / itemsPerPage);\r\n const isFirstPageDisabled = (\r\n (!(currentPage > (Math.ceil(maxVisiblePages / 2)))) || totalAmountOfPages <= maxVisiblePages\r\n );\r\n const isLastPageDisabled = currentPage > totalAmountOfPages - Math.ceil(maxVisiblePages / 2)\r\n || totalAmountOfPages <= maxVisiblePages;\r\n const lastPageIndex = totalAmountOfPages;\r\n const previousPageIndex = (currentPage - 1);\r\n const isPreviousDisabled = !(currentPage - 1);\r\n const isNextDisabled = (currentPage + 1) > lastPageIndex;\r\n\r\n this.setState({\r\n pages: this.generateVisablePages(\r\n totalAmountOfPages,\r\n currentPage,\r\n ),\r\n firstPageIndex: 1,\r\n lastPageIndex,\r\n previousPageIndex,\r\n nextPageIndex: (currentPage + 1),\r\n // totalItems,\r\n currentPage,\r\n totalAmountOfPages,\r\n isFirstPageDisabled,\r\n isLastPageDisabled,\r\n isPreviousDisabled,\r\n isNextDisabled,\r\n });\r\n }\r\n\r\n /**\r\n * Generates and returns the list of visible\r\n * pages based on the current page and the\r\n * maxVisiblePages.\r\n * @param totalAmountOfPages\r\n * @param currentPage\r\n */\r\n generateVisablePages(totalAmountOfPages: number, currentPage: number) {\r\n const { maxVisiblePages } = this.state;\r\n const maxVisibleOffset = (maxVisiblePages % 2 === 0) ? 1 : 0.5;\r\n let startPage = 1;\r\n let endPage = (maxVisiblePages + 1);\r\n\r\n if (currentPage > 2) {\r\n startPage = (currentPage - (maxVisiblePages / 2 - maxVisibleOffset));\r\n endPage = (currentPage + (maxVisiblePages / 2 + maxVisibleOffset));\r\n }\r\n\r\n if (currentPage > (totalAmountOfPages - 2)) {\r\n startPage = (totalAmountOfPages - (maxVisiblePages - 1));\r\n endPage = totalAmountOfPages + 1;\r\n }\r\n\r\n if (totalAmountOfPages <= maxVisiblePages) {\r\n startPage = 1;\r\n endPage = totalAmountOfPages + 1;\r\n }\r\n\r\n return Array.from({\r\n length: (endPage - startPage),\r\n }, (s, l) => l + startPage);\r\n }\r\n\r\n /**\r\n * Checks the viewport width to determine the\r\n * maxVisiblePages based on mobile/desktop\r\n * @param viewportWidth\r\n */\r\n async handdleMaxVisiblePages(viewportWidth: number) {\r\n const {\r\n maxVisiblePagesMobile,\r\n maxVisiblePagesDesktop,\r\n totalAmountOfPages,\r\n currentPage,\r\n } = this.state;\r\n\r\n if (viewportWidth < breakpoint) {\r\n await this.setState({\r\n maxVisiblePages: maxVisiblePagesMobile,\r\n });\r\n } else {\r\n await this.setState({\r\n maxVisiblePages: maxVisiblePagesDesktop,\r\n });\r\n }\r\n\r\n this.setState({\r\n pages: this.generateVisablePages(\r\n totalAmountOfPages as number,\r\n currentPage as number,\r\n ),\r\n });\r\n }\r\n\r\n /**\r\n * Change page state handler\r\n * @param event\r\n * @param page\r\n */\r\n changePage(event: React.MouseEvent, page: number) {\r\n const {\r\n pageQueryKey,\r\n retainRoute,\r\n handleClick,\r\n } = this.props;\r\n\r\n event.preventDefault();\r\n insertUrlParam((pageQueryKey || ''), String(page), retainRoute);\r\n if (handleClick) {\r\n handleClick(page);\r\n }\r\n }\r\n\r\n /**\r\n * Generates the page buttons\r\n * @param page\r\n * @param text\r\n * @param isDisabled\r\n */\r\n generateButton(page: number, text: string, isDisabled: boolean) {\r\n const { retainRoute } = this.props;\r\n const rootLocation = retainRoute ? '' : `${window.location.pathname}?page=${page}`;\r\n return (\r\n (!isDisabled ? this.changePage(event, page) : null)}\r\n href={rootLocation}\r\n role=\"button\"\r\n >\r\n {text}\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n style,\r\n } = this.props;\r\n\r\n const {\r\n pages,\r\n firstPageIndex,\r\n lastPageIndex,\r\n previousPageIndex,\r\n nextPageIndex,\r\n currentPage,\r\n isFirstPageDisabled,\r\n isLastPageDisabled,\r\n isPreviousDisabled,\r\n isNextDisabled,\r\n totalAmountOfPages,\r\n } = this.state;\r\n\r\n return (\r\n
    \r\n
      \r\n\r\n {/* First page */}\r\n
    • \r\n {this.generateButton(firstPageIndex as number, '1', isFirstPageDisabled as boolean)}\r\n
    • \r\n\r\n {/* Page list */}\r\n {pages.map((item) => (\r\n
    • \r\n {this.generateButton(item, String(item), false)}\r\n
    • \r\n ))}\r\n\r\n {/* Last page */}\r\n
    • \r\n {this.generateButton(lastPageIndex as number, `${totalAmountOfPages}`, isLastPageDisabled as boolean)}\r\n
    • \r\n
    \r\n\r\n \r\n\r\n
    \r\n\r\n );\r\n }\r\n}\r\n","import React, {\r\n useState,\r\n useEffect,\r\n useContext,\r\n useRef,\r\n} from 'react';\r\nimport PerfectScrollbar from 'react-perfect-scrollbar';\r\nimport algoliasearch from 'algoliasearch';\r\nimport LocalizationContext from '../../contexts/Localizations';\r\nimport Container from '../helpers/Container';\r\nimport UnderlineTitle from '../common/UnderlineTitle';\r\nimport SvgImage from '../common/SvgImage';\r\nimport Loader from '../common/Loader';\r\nimport LinkCarousel from '../LinkCarousel';\r\nimport NewsCarousel from '../NewsCarousel';\r\nimport CompetitionCarousel from '../CompetitionCarousel';\r\nimport SearchScreenProps from './type';\r\nimport { Image, Link } from '../../typings';\r\nimport { Discipline } from '../../core/typings';\r\n\r\nimport './styles.scss';\r\n\r\ninterface AlgoliaResult {\r\n content: string;\r\n contentType: string;\r\n createdAt: string;\r\n newsCategory: string;\r\n objectID: string;\r\n tags: string[];\r\n title: string;\r\n url: string;\r\n thumbnailImage?: Image;\r\n discipline?: Discipline;\r\n disciplineLink?: string;\r\n disciplineName?: string;\r\n articleType?: string;\r\n}\r\n\r\nconst SearchScreen = ({\r\n title,\r\n appId,\r\n publicKey,\r\n searchIndex,\r\n eventsMoreLink,\r\n newsMoreLink,\r\n}: SearchScreenProps) => {\r\n const filters: Record = {\r\n all: [\r\n 'contentType:page',\r\n 'contentType:news',\r\n 'contentType:event',\r\n 'contentType:resource',\r\n ],\r\n page: ['contentType:page'],\r\n news: ['contentType:news'],\r\n event: ['contentType:event'],\r\n resource: ['contentType:resource'],\r\n };\r\n\r\n const searchClient = algoliasearch(appId, publicKey);\r\n const index = searchClient.initIndex(searchIndex);\r\n const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;\r\n const recognition = SpeechRecognition && new SpeechRecognition();\r\n\r\n const { translations } = useContext(LocalizationContext);\r\n const searchField = useRef(null);\r\n const [searchTerm, setSearchTerm] = useState('');\r\n const [refinement, setRefinement] = useState('all');\r\n const [results, setResults] = useState({});\r\n const [isRecording, setIsRecording] = useState(false);\r\n const [voiceNotAllowed, setVoiceNotAllowed] = useState(false);\r\n const [isSearching, setIsSearching] = useState(true);\r\n const search = (filter?: string) => index.search(searchTerm, {\r\n facetFilters: filter,\r\n });\r\n\r\n const handleSearch = async () => {\r\n setIsSearching(true);\r\n setResults({});\r\n const promiseSearches = filters[refinement].map((filter) => search(filter));\r\n Promise.all(promiseSearches).then((searchResults) => {\r\n if (refinement === 'all') {\r\n setResults({\r\n page: searchResults[0].hits,\r\n news: searchResults[1].hits,\r\n event: searchResults[2].hits,\r\n resource: searchResults[3].hits,\r\n });\r\n } else {\r\n setResults({\r\n [refinement]: searchResults[0].hits,\r\n });\r\n }\r\n setIsSearching(false);\r\n });\r\n };\r\n\r\n const handleClearSearch = () => {\r\n (searchField?.current as HTMLInputElement)?.focus();\r\n setSearchTerm('');\r\n };\r\n\r\n const handleVoiceSearch = () => {\r\n recognition.onresult = (event: any) => {\r\n const current = event.resultIndex;\r\n\r\n setIsRecording(false);\r\n setSearchTerm(event.results[current][0].transcript);\r\n };\r\n\r\n recognition.onerror = (event: any) => {\r\n if (event.error === 'not-allowed') {\r\n setVoiceNotAllowed(true);\r\n }\r\n };\r\n\r\n setIsRecording(true);\r\n recognition.start();\r\n };\r\n\r\n useEffect(() => {\r\n handleSearch();\r\n }, [refinement]);\r\n\r\n useEffect(() => {\r\n handleSearch();\r\n }, [searchTerm]);\r\n\r\n const TYPE_LABEL_MAP = {\r\n all: translations.search.refinementAllLabel,\r\n page: translations.search.refinementPageLabel,\r\n event: translations.search.refinementEventLabel,\r\n news: translations.search.refinementNewsLabel,\r\n resource: translations.search.refinementResourceLabel,\r\n } as Record;\r\n\r\n const Hits = () => {\r\n const toCompetition = (item: AlgoliaResult) => ({\r\n ...item,\r\n colourCode: item.discipline,\r\n isDownload: item.contentType === 'resource',\r\n name: item.title,\r\n raceHubLink: {\r\n url: item.url,\r\n title: item.contentType === 'event'\r\n ? translations.search.raceHubLinkLabel\r\n : translations.search.resourceLinkLabel,\r\n },\r\n ...(item.contentType === 'event' && {\r\n disciplineLink: {\r\n url: item.disciplineLink,\r\n title: item.disciplineName,\r\n },\r\n }),\r\n });\r\n\r\n const toNews = (item: AlgoliaResult) => ({\r\n ...item,\r\n date: item.createdAt,\r\n type: item.articleType,\r\n category: {\r\n title: item.disciplineName,\r\n },\r\n thumbnail: item.thumbnailImage,\r\n });\r\n\r\n const eventSlickConfig = {\r\n slidesToShow: 4,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 3,\r\n arrows: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1000,\r\n settings: {\r\n slidesToShow: 2,\r\n arrows: true,\r\n },\r\n },\r\n {\r\n breakpoint: 650,\r\n settings: {\r\n slidesToShow: 1.5,\r\n arrows: true,\r\n },\r\n },\r\n {\r\n breakpoint: 530,\r\n settings: {\r\n slidesToShow: 1,\r\n arrows: true,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n const newsSlickConfig = {\r\n slidesToShow: 4,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 3,\r\n arrows: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1000,\r\n settings: {\r\n slidesToShow: 2,\r\n arrows: true,\r\n },\r\n },\r\n {\r\n breakpoint: 650,\r\n settings: {\r\n slidesToShow: 1.5,\r\n arrows: true,\r\n },\r\n },\r\n {\r\n breakpoint: 530,\r\n settings: {\r\n slidesToShow: 1,\r\n arrows: true,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n const resourceSlickConfig = {\r\n slidesToShow: 5,\r\n responsive: [\r\n {\r\n breakpoint: 1600,\r\n settings: {\r\n slidesToShow: 4,\r\n arrows: true,\r\n },\r\n },\r\n {\r\n breakpoint: 1000,\r\n settings: {\r\n slidesToShow: 3,\r\n arrows: true,\r\n },\r\n },\r\n {\r\n breakpoint: 650,\r\n settings: {\r\n slidesToShow: 2,\r\n arrows: true,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n const filteredResults = Object.entries(results).filter(([, items]) => (\r\n (items as any)?.length > 0));\r\n\r\n return (\r\n <>\r\n {isSearching && (\r\n
    \r\n \r\n
    \r\n )}\r\n {Boolean(filteredResults.length === 0 && !isSearching) && (\r\n
    \r\n

    {translations.search.noResultsTitle}

    \r\n

    \r\n {translations.search.noResultsTextPrefix}\r\n {` ${searchTerm}, `}\r\n {translations.search.noResultsTextSuffix}\r\n

    \r\n
    \r\n )}\r\n {filteredResults.map(([type, items]) => (\r\n
    \r\n \r\n\r\n {type === 'page' && (\r\n \r\n )}\r\n\r\n {type === 'event' && (\r\n \r\n )}\r\n\r\n {type === 'news' && (\r\n \r\n )}\r\n\r\n {type === 'resource' && (\r\n \r\n )}\r\n
    \r\n ))}\r\n \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n

    {title}

    \r\n\r\n
    \r\n \r\n
      \r\n {Object.keys(filters).map((type) => (\r\n
    • \r\n ) => {\r\n event.preventDefault();\r\n setRefinement(type);\r\n }}\r\n >\r\n {TYPE_LABEL_MAP[type]}\r\n \r\n
    • \r\n ))}\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n {searchTerm && (\r\n handleClearSearch}\r\n aria-label={translations.search.clearSearchLabel}\r\n />\r\n )}\r\n {recognition && (\r\n \r\n \r\n \r\n )}\r\n ) => {\r\n event.preventDefault();\r\n setSearchTerm(searchField?.current ? (searchField?.current as HTMLInputElement)?.value : '');\r\n }}\r\n aria-label={translations.search.searchSubmitLabel}\r\n >\r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SearchScreen;\r\n","/* eslint-disable react/no-array-index-key */\r\nimport * as React from 'react';\r\nimport { Link as LinkType } from '../../typings';\r\nimport { Link } from '../common';\r\nimport Carousel from '../Carousel';\r\nimport './styles.scss';\r\n\r\ninterface LinkCarouselProps {\r\n links: LinkType[];\r\n}\r\n\r\nconst LinksCard = ({\r\n links,\r\n}: LinkCarouselProps) => (\r\n
      \r\n {links.map((link) => (\r\n
    • \r\n \r\n
    • \r\n ))}\r\n
    \r\n);\r\n\r\nconst LinkCarousel = ({\r\n links,\r\n}: LinkCarouselProps) => {\r\n const cutOff = 4;\r\n const groupedLinks = new Array(Math.ceil(links.length / cutOff))\r\n .fill(null)\r\n .map((_, index) => links.slice(cutOff * index, cutOff * index + cutOff));\r\n\r\n const slickConfig = {\r\n slidesToShow: 2,\r\n responsive: [\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 1.1,\r\n arrows: true,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n \r\n {groupedLinks.map((group, index) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default LinkCarousel;\r\n","/*! algoliasearch.umd.js | 4.10.5 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self).algoliasearch=e()}(this,(function(){\"use strict\";function t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function r(r){for(var n=1;n=0||(a[r]=t[r]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(!(Symbol.iterator in Object(t)||\"[object Arguments]\"===Object.prototype.toString.call(t)))return;var r=[],n=!0,a=!1,o=void 0;try{for(var i,u=t[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!e||r.length!==e);n=!0);}catch(t){a=!0,o=t}finally{try{n||null==u.return||u.return()}finally{if(a)throw o}}return r}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}function o(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){var r=JSON.stringify(t),n=o()[r];return Promise.all([n||e(),void 0!==n])})).then((function(t){var e=a(t,2),n=e[0],o=e[1];return Promise.all([n,o||r.miss(n)])})).then((function(t){return a(t,1)[0]}))},set:function(t,e){return Promise.resolve().then((function(){var a=o();return a[JSON.stringify(t)]=e,n().setItem(r,JSON.stringify(a)),e}))},delete:function(t){return Promise.resolve().then((function(){var e=o();delete e[JSON.stringify(t)],n().setItem(r,JSON.stringify(e))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function u(t){var e=o(t.caches),r=e.shift();return void 0===r?{get:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},n=e();return n.then((function(t){return Promise.all([t,r.miss(t)])})).then((function(t){return a(t,1)[0]}))},set:function(t,e){return Promise.resolve(e)},delete:function(t){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(t,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(t,n,a).catch((function(){return u({caches:e}).get(t,n,a)}))},set:function(t,n){return r.set(t,n).catch((function(){return u({caches:e}).set(t,n)}))},delete:function(t){return r.delete(t).catch((function(){return u({caches:e}).delete(t)}))},clear:function(){return r.clear().catch((function(){return u({caches:e}).clear()}))}}}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},e={};return{get:function(r,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},o=JSON.stringify(r);if(o in e)return Promise.resolve(t.serializable?JSON.parse(e[o]):e[o]);var i=n(),u=a&&a.miss||function(){return Promise.resolve()};return i.then((function(t){return u(t)})).then((function(){return i}))},set:function(r,n){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(t){return delete e[JSON.stringify(t)],Promise.resolve()},clear:function(){return e={},Promise.resolve()}}}function c(t,e,r){var n={\"x-algolia-api-key\":r,\"x-algolia-application-id\":e};return{headers:function(){return t===m.WithinHeaders?n:{}},queryParameters:function(){return t===m.WithinQueryParameters?n:{}}}}function f(t){var e=0;return t((function r(){return e++,new Promise((function(n){setTimeout((function(){n(t(r))}),Math.min(100*e,1e3))}))}))}function d(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t,e){return Promise.resolve()};return Object.assign(t,{wait:function(r){return d(t.then((function(t){return Promise.all([e(t,r),t])})).then((function(t){return t[1]})))}})}function l(t){for(var e=t.length-1;e>0;e--){var r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function p(t,e){return e?(Object.keys(e).forEach((function(r){t[r]=e[r](t)})),t):t}function h(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n0?n:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var g={Read:1,Write:2,Any:3},v=1,b=2,P=3;function w(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v;return r(r({},t),{},{status:e,lastUpdate:Date.now()})}function O(t){return\"string\"==typeof t?{protocol:\"https\",url:t,accept:g.Any}:{protocol:t.protocol||\"https\",url:t.url,accept:t.accept||g.Any}}var I=\"DELETE\",x=\"GET\",j=\"POST\",D=\"PUT\";function q(t,e){return Promise.all(e.map((function(e){return t.get(e,(function(){return Promise.resolve(w(e))}))}))).then((function(t){var r=t.filter((function(t){return function(t){return t.status===v||Date.now()-t.lastUpdate>12e4}(t)})),n=t.filter((function(t){return function(t){return t.status===P&&Date.now()-t.lastUpdate<=12e4}(t)})),a=[].concat(o(r),o(n));return{getTimeout:function(t,e){return(0===n.length&&0===t?1:n.length+3+t)*e},statelessHosts:a.length>0?a.map((function(t){return O(t)})):e}}))}function S(t,e,n,a){var i=[],u=function(t,e){if(t.method===x||void 0===t.data&&void 0===e.data)return;var n=Array.isArray(t.data)?t.data:r(r({},t.data),e.data);return JSON.stringify(n)}(n,a),s=function(t,e){var n=r(r({},t.headers),e.headers),a={};return Object.keys(n).forEach((function(t){var e=n[t];a[t.toLowerCase()]=e})),a}(t,a),c=n.method,f=n.method!==x?{}:r(r({},n.data),a.data),d=r(r(r({\"x-algolia-agent\":t.userAgent.value},t.queryParameters),f),a.queryParameters),l=0,p=function e(r,o){var f=r.pop();if(void 0===f)throw{name:\"RetryError\",message:\"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.\",transporterStackTrace:R(i)};var p={data:u,headers:s,method:c,url:N(f,n.path,d),connectTimeout:o(l,t.timeouts.connect),responseTimeout:o(l,a.timeout)},h=function(t){var e={request:p,response:t,host:f,triesLeft:r.length};return i.push(e),e},m={onSuccess:function(t){return function(t){try{return JSON.parse(t.content)}catch(e){throw function(t,e){return{name:\"DeserializationError\",message:t,response:e}}(e.message,t)}}(t)},onRetry:function(n){var a=h(n);return n.isTimedOut&&l++,Promise.all([t.logger.info(\"Retryable failure\",A(a)),t.hostsCache.set(f,w(f,n.isTimedOut?P:b))]).then((function(){return e(r,o)}))},onFail:function(t){throw h(t),function(t,e){var r=t.content,n=t.status,a=r;try{a=JSON.parse(r).message}catch(t){}return function(t,e,r){return{name:\"ApiError\",message:t,status:e,transporterStackTrace:r}}(a,n,e)}(t,R(i))}};return t.requester.send(p).then((function(t){return function(t,e){return function(t){var e=t.status;return t.isTimedOut||function(t){var e=t.isTimedOut,r=t.status;return!e&&0==~~r}(t)||2!=~~(e/100)&&4!=~~(e/100)}(t)?e.onRetry(t):2==~~(t.status/100)?e.onSuccess(t):e.onFail(t)}(t,m)}))};return q(t.hostsCache,e).then((function(t){return p(o(t.statelessHosts).reverse(),t.getTimeout)}))}function k(t){var e=t.hostsCache,r=t.logger,n=t.requester,o=t.requestsCache,i=t.responsesCache,u=t.timeouts,s=t.userAgent,c=t.hosts,f=t.queryParameters,d={hostsCache:e,logger:r,requester:n,requestsCache:o,responsesCache:i,timeouts:u,userAgent:s,headers:t.headers,queryParameters:f,hosts:c.map((function(t){return O(t)})),read:function(t,e){var r=y(e,d.timeouts.read),n=function(){return S(d,d.hosts.filter((function(t){return 0!=(t.accept&g.Read)})),t,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:t.cacheable))return n();var o={request:t,mappedRequestOptions:r,transporter:{queryParameters:d.queryParameters,headers:d.headers}};return d.responsesCache.get(o,(function(){return d.requestsCache.get(o,(function(){return d.requestsCache.set(o,n()).then((function(t){return Promise.all([d.requestsCache.delete(o),t])}),(function(t){return Promise.all([d.requestsCache.delete(o),Promise.reject(t)])})).then((function(t){var e=a(t,2);e[0];return e[1]}))}))}),{miss:function(t){return d.responsesCache.set(o,t)}})},write:function(t,e){return S(d,d.hosts.filter((function(t){return 0!=(t.accept&g.Write)})),t,y(e,d.timeouts.write))}};return d}function T(t){var e={value:\"Algolia for JavaScript (\".concat(t,\")\"),add:function(t){var r=\"; \".concat(t.segment).concat(void 0!==t.version?\" (\".concat(t.version,\")\"):\"\");return-1===e.value.indexOf(r)&&(e.value=\"\".concat(e.value).concat(r)),e}};return e}function N(t,e,r){var n=E(r),a=\"\".concat(t.protocol,\"://\").concat(t.url,\"/\").concat(\"/\"===e.charAt(0)?e.substr(1):e);return n.length&&(a+=\"?\".concat(n)),a}function E(t){return Object.keys(t).map((function(e){return h(\"%s=%s\",e,(r=t[e],\"[object Object]\"===Object.prototype.toString.call(r)||\"[object Array]\"===Object.prototype.toString.call(r)?JSON.stringify(t[e]):t[e]));var r})).join(\"&\")}function R(t){return t.map((function(t){return A(t)}))}function A(t){var e=t.request.headers[\"x-algolia-api-key\"]?{\"x-algolia-api-key\":\"*****\"}:{};return r(r({},t),{},{request:r(r({},t.request),{},{headers:r(r({},t.request.headers),e)})})}var C=function(t){return function(e,r){return t.transporter.write({method:j,path:\"2/abtests\",data:e},r)}},U=function(t){return function(e,r){return t.transporter.write({method:I,path:h(\"2/abtests/%s\",e)},r)}},z=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"2/abtests/%s\",e)},r)}},J=function(t){return function(e){return t.transporter.read({method:x,path:\"2/abtests\"},e)}},F=function(t){return function(e,r){return t.transporter.write({method:j,path:h(\"2/abtests/%s/stop\",e)},r)}},H=function(t){return function(e){return t.transporter.read({method:x,path:\"1/strategies/personalization\"},e)}},M=function(t){return function(e,r){return t.transporter.write({method:j,path:\"1/strategies/personalization\",data:e},r)}};function K(t){return function e(r){return t.request(r).then((function(n){if(void 0!==t.batch&&t.batch(n.hits),!t.shouldStop(n))return n.cursor?e({cursor:n.cursor}):e({page:(r.page||0)+1})}))}({})}var W=function(t){return function(e,a){var o=a||{},i=o.queryParameters,u=n(o,[\"queryParameters\"]),s=r({acl:e},void 0!==i?{queryParameters:i}:{});return d(t.transporter.write({method:j,path:\"1/keys\",data:s},u),(function(e,r){return f((function(n){return $(t)(e.key,r).catch((function(t){if(404!==t.status)throw t;return n()}))}))}))}},B=function(t){return function(e,r,n){var a=y(n);return a.queryParameters[\"X-Algolia-User-ID\"]=e,t.transporter.write({method:j,path:\"1/clusters/mapping\",data:{cluster:r}},a)}},Q=function(t){return function(e,r,n){return t.transporter.write({method:j,path:\"1/clusters/mapping/batch\",data:{users:e,cluster:r}},n)}},G=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!0,requests:{action:\"addEntry\",body:[]}}},r),(function(e,r){return xt(t)(e.taskID,r)}))}},L=function(t){return function(e,r,n){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/operation\",e),data:{operation:\"copy\",destination:r}},n),(function(r,n){return it(t)(e,{methods:{waitTask:fe}}).waitTask(r.taskID,n)}))}},V=function(t){return function(e,n,a){return L(t)(e,n,r(r({},a),{},{scope:[le.Rules]}))}},_=function(t){return function(e,n,a){return L(t)(e,n,r(r({},a),{},{scope:[le.Settings]}))}},X=function(t){return function(e,n,a){return L(t)(e,n,r(r({},a),{},{scope:[le.Synonyms]}))}},Y=function(t){return function(e,r){return d(t.transporter.write({method:I,path:h(\"1/keys/%s\",e)},r),(function(r,n){return f((function(r){return $(t)(e,n).then(r).catch((function(t){if(404!==t.status)throw t}))}))}))}},Z=function(t){return function(e,r,n){var a=r.map((function(t){return{action:\"deleteEntry\",body:{objectID:t}}}));return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!1,requests:a}},n),(function(e,r){return xt(t)(e.taskID,r)}))}},$=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/keys/%s\",e)},r)}},tt=function(t){return function(e){return t.transporter.read({method:x,path:\"/1/dictionaries/*/settings\"},e)}},et=function(t){return function(e){return t.transporter.read({method:x,path:\"1/logs\"},e)}},rt=function(t){return function(e){return t.transporter.read({method:x,path:\"1/clusters/mapping/top\"},e)}},nt=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/task/%s\",e.toString())},r)}},at=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/clusters/mapping/%s\",e)},r)}},ot=function(t){return function(e){var r=e||{},a=r.retrieveMappings,o=n(r,[\"retrieveMappings\"]);return!0===a&&(o.getClusters=!0),t.transporter.read({method:x,path:\"1/clusters/mapping/pending\"},o)}},it=function(t){return function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={transporter:t.transporter,appId:t.appId,indexName:e};return p(n,r.methods)}},ut=function(t){return function(e){return t.transporter.read({method:x,path:\"1/keys\"},e)}},st=function(t){return function(e){return t.transporter.read({method:x,path:\"1/clusters\"},e)}},ct=function(t){return function(e){return t.transporter.read({method:x,path:\"1/indexes\"},e)}},ft=function(t){return function(e){return t.transporter.read({method:x,path:\"1/clusters/mapping\"},e)}},dt=function(t){return function(e,r,n){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/operation\",e),data:{operation:\"move\",destination:r}},n),(function(r,n){return it(t)(e,{methods:{waitTask:fe}}).waitTask(r.taskID,n)}))}},lt=function(t){return function(e,r){return d(t.transporter.write({method:j,path:\"1/indexes/*/batch\",data:{requests:e}},r),(function(e,r){return Promise.all(Object.keys(e.taskID).map((function(n){return it(t)(n,{methods:{waitTask:fe}}).waitTask(e.taskID[n],r)})))}))}},pt=function(t){return function(e,r){return t.transporter.read({method:j,path:\"1/indexes/*/objects\",data:{requests:e}},r)}},ht=function(t){return function(e,n){var a=e.map((function(t){return r(r({},t),{},{params:E(t.params||{})})}));return t.transporter.read({method:j,path:\"1/indexes/*/queries\",data:{requests:a},cacheable:!0},n)}},mt=function(t){return function(e,a){return Promise.all(e.map((function(e){var o=e.params,i=o.facetName,u=o.facetQuery,s=n(o,[\"facetName\",\"facetQuery\"]);return it(t)(e.indexName,{methods:{searchForFacetValues:ie}}).searchForFacetValues(i,u,r(r({},a),s))})))}},yt=function(t){return function(e,r){var n=y(r);return n.queryParameters[\"X-Algolia-User-ID\"]=e,t.transporter.write({method:I,path:\"1/clusters/mapping\"},n)}},gt=function(t){return function(e,r,n){var a=r.map((function(t){return{action:\"addEntry\",body:t}}));return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!0,requests:a}},n),(function(e,r){return xt(t)(e.taskID,r)}))}},vt=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"1/keys/%s/restore\",e)},r),(function(r,n){return f((function(r){return $(t)(e,n).catch((function(t){if(404!==t.status)throw t;return r()}))}))}))}},bt=function(t){return function(e,r,n){var a=r.map((function(t){return{action:\"addEntry\",body:t}}));return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!1,requests:a}},n),(function(e,r){return xt(t)(e.taskID,r)}))}},Pt=function(t){return function(e,r,n){return t.transporter.read({method:j,path:h(\"/1/dictionaries/%s/search\",e),data:{query:r},cacheable:!0},n)}},wt=function(t){return function(e,r){return t.transporter.read({method:j,path:\"1/clusters/mapping/search\",data:{query:e}},r)}},Ot=function(t){return function(e,r){return d(t.transporter.write({method:D,path:\"/1/dictionaries/*/settings\",data:e},r),(function(e,r){return xt(t)(e.taskID,r)}))}},It=function(t){return function(e,r){var a=Object.assign({},r),o=r||{},i=o.queryParameters,u=n(o,[\"queryParameters\"]),s=i?{queryParameters:i}:{},c=[\"acl\",\"indexes\",\"referers\",\"restrictSources\",\"queryParameters\",\"description\",\"maxQueriesPerIPPerHour\",\"maxHitsPerQuery\"];return d(t.transporter.write({method:D,path:h(\"1/keys/%s\",e),data:s},u),(function(r,n){return f((function(r){return $(t)(e,n).then((function(t){return function(t){return Object.keys(a).filter((function(t){return-1!==c.indexOf(t)})).every((function(e){return t[e]===a[e]}))}(t)?Promise.resolve():r()}))}))}))}},xt=function(t){return function(e,r){return f((function(n){return nt(t)(e,r).then((function(t){return\"published\"!==t.status?n():void 0}))}))}},jt=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/batch\",t.indexName),data:{requests:e}},r),(function(e,r){return fe(t)(e.taskID,r)}))}},Dt=function(t){return function(e){return K(r(r({shouldStop:function(t){return void 0===t.cursor}},e),{},{request:function(r){return t.transporter.read({method:j,path:h(\"1/indexes/%s/browse\",t.indexName),data:r},e)}}))}},qt=function(t){return function(e){var n=r({hitsPerPage:1e3},e);return K(r(r({shouldStop:function(t){return t.hits.length0&&void 0!==arguments[0]?arguments[0]:0,c=[];for(a=o;a=t.nbPages)throw{name:\"ObjectNotFoundError\",message:\"Object not found.\"};return n()}))}()}},Kt=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/indexes/%s/%s\",t.indexName,e)},r)}},Wt=function(){return function(t,e){for(var r=0,n=Object.entries(t.hits);rr.OPENED&&void 0===n&&(clearTimeout(o),n=a(t.responseTimeout,\"Socket timeout\"))},r.onerror=function(){0===r.status&&(clearTimeout(o),clearTimeout(n),e({content:r.responseText||\"Network request failed\",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(o),clearTimeout(n),e({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(t.data)}))}},logger:(a=me,{debug:function(t,e){return pe>=a&&console.debug(t,e),Promise.resolve()},info:function(t,e){return he>=a&&console.info(t,e),Promise.resolve()},error:function(t,e){return console.error(t,e),Promise.resolve()}}),responsesCache:s(),requestsCache:s({serializable:!1}),hostsCache:u({caches:[i({key:\"\".concat(\"4.10.5\",\"-\").concat(t)}),s()]}),userAgent:T(\"4.10.5\").add({segment:\"Browser\"})},f=r(r({},o),n),d=function(){return function(t){return function(t){var e=t.region||\"us\",n=c(m.WithinHeaders,t.appId,t.apiKey),a=k(r(r({hosts:[{url:\"personalization.\".concat(e,\".algolia.com\")}]},t),{},{headers:r(r(r({},n.headers()),{\"content-type\":\"application/json\"}),t.headers),queryParameters:r(r({},n.queryParameters()),t.queryParameters)}));return p({appId:t.appId,transporter:a},t.methods)}(r(r(r({},o),t),{},{methods:{getPersonalizationStrategy:H,setPersonalizationStrategy:M}}))}};return function(t){var e=t.appId,n=c(void 0!==t.authMode?t.authMode:m.WithinHeaders,e,t.apiKey),a=k(r(r({hosts:[{url:\"\".concat(e,\"-dsn.algolia.net\"),accept:g.Read},{url:\"\".concat(e,\".algolia.net\"),accept:g.Write}].concat(l([{url:\"\".concat(e,\"-1.algolianet.com\")},{url:\"\".concat(e,\"-2.algolianet.com\")},{url:\"\".concat(e,\"-3.algolianet.com\")}]))},t),{},{headers:r(r(r({},n.headers()),{\"content-type\":\"application/x-www-form-urlencoded\"}),t.headers),queryParameters:r(r({},n.queryParameters()),t.queryParameters)}));return p({transporter:a,appId:e,addAlgoliaAgent:function(t,e){a.userAgent.add({segment:t,version:e})},clearCache:function(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then((function(){}))}},t.methods)}(r(r({},f),{},{methods:{search:ht,searchForFacetValues:mt,multipleBatch:lt,multipleGetObjects:pt,multipleQueries:ht,copyIndex:L,copySettings:_,copySynonyms:X,copyRules:V,moveIndex:dt,listIndices:ct,getLogs:et,listClusters:st,multipleSearchForFacetValues:mt,getApiKey:$,addApiKey:W,listApiKeys:ut,updateApiKey:It,deleteApiKey:Y,restoreApiKey:vt,assignUserID:B,assignUserIDs:Q,getUserID:at,searchUserIDs:wt,listUserIDs:ft,getTopUserIDs:rt,removeUserID:yt,hasPendingMappings:ot,clearDictionaryEntries:G,deleteDictionaryEntries:Z,getDictionarySettings:tt,getAppTask:nt,replaceDictionaryEntries:gt,saveDictionaryEntries:bt,searchDictionaryEntries:Pt,setDictionarySettings:Ot,waitAppTask:xt,initIndex:function(t){return function(e){return it(t)(e,{methods:{batch:jt,delete:At,findAnswers:Ht,getObject:Kt,getObjects:Bt,saveObject:$t,saveObjects:te,search:oe,searchForFacetValues:ie,waitTask:fe,setSettings:ce,getSettings:Gt,partialUpdateObject:Vt,partialUpdateObjects:_t,deleteObject:Ct,deleteObjects:Ut,deleteBy:Rt,clearObjects:Tt,browseObjects:Dt,getObjectPosition:Wt,findObject:Mt,exists:Ft,saveSynonym:ne,saveSynonyms:ae,getSynonym:Lt,searchSynonyms:se,browseSynonyms:St,deleteSynonym:Jt,clearSynonyms:Et,replaceAllObjects:Xt,replaceAllSynonyms:Zt,searchRules:ue,getRule:Qt,deleteRule:zt,saveRule:ee,saveRules:re,replaceAllRules:Yt,browseRules:qt,clearRules:Nt}})}},initAnalytics:function(){return function(t){return function(t){var e=t.region||\"us\",n=c(m.WithinHeaders,t.appId,t.apiKey),a=k(r(r({hosts:[{url:\"analytics.\".concat(e,\".algolia.com\")}]},t),{},{headers:r(r(r({},n.headers()),{\"content-type\":\"application/json\"}),t.headers),queryParameters:r(r({},n.queryParameters()),t.queryParameters)}));return p({appId:t.appId,transporter:a},t.methods)}(r(r(r({},o),t),{},{methods:{addABTest:C,getABTest:z,getABTests:J,stopABTest:F,deleteABTest:U}}))}},initPersonalization:d,initRecommendation:function(){return function(t){return f.logger.info(\"The `initRecommendation` method is deprecated. Use `initPersonalization` instead.\"),d()(t)}}}}))}return ye.version=\"4.10.5\",ye}));\n","import { useEffect } from 'react';\r\n\r\nconst useOutsideAlerter = (ref: any, handler?: Function) => {\r\n useEffect(() => {\r\n const handleClickOutside = (event: MouseEvent) => {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n if (handler && typeof handler === 'function') {\r\n handler();\r\n }\r\n }\r\n };\r\n\r\n document.addEventListener('mousedown', handleClickOutside);\r\n return () => {\r\n document.removeEventListener('mousedown', handleClickOutside);\r\n };\r\n }, [ref]);\r\n};\r\n\r\nexport default useOutsideAlerter;\r\n","import * as React from 'react';\r\nimport { useState } from 'react';\r\nimport SearchScreen from '../SearchScreen';\r\nimport { Button, Overlay } from '../common';\r\nimport SearchOverlayProps from './type';\r\nimport './styles.scss';\r\n\r\nconst SearchOverlay = ({\r\n title,\r\n appId,\r\n publicKey,\r\n searchIndex,\r\n eventsMoreLink,\r\n newsMoreLink,\r\n}: SearchOverlayProps) => {\r\n const [isActive, setIsActive] = useState(false);\r\n\r\n return (\r\n <>\r\n setIsActive(!isActive)}\r\n />\r\n {isActive && (\r\n setIsActive(false)} containerLess>\r\n \r\n \r\n )}\r\n \r\n\r\n );\r\n};\r\n\r\nexport default SearchOverlay;\r\n"],"sourceRoot":""}