{"version":3,"sources":["components/icons/icon-check.svg","components/icons/icon-check-circle.svg","components/icons/icon-chevron-down.svg","components/icons/icon-chevron-left.svg","components/icons/icon-chevron-right.svg","components/icons/icon-chevron-up.svg","components/icons/icon-clock-circle.svg","components/icons/icon-delete.svg","components/icons/icon-description.svg","components/icons/icon-facebook.svg","components/icons/icon-fallback.svg","components/icons/icon-favorite.svg","components/icons/icon-flair-square.svg","components/icons/icon-flair-triangle-outline.svg","components/icons/icon-edit.svg","components/icons/icon-help-circle.svg","components/icons/icon-mail-outline.svg","components/icons/icon-menu.svg","components/icons/icon-message.svg","components/icons/icon-remove.svg","components/icons/icon-twitter.svg","components/icons/icon-view.svg","components/icons/icon-warning.svg","assets/img/logo-ckua.svg","assets/img/Host-Placeholder.png","assets/icons/icon-wb_cloud.svg","assets/icons/icon-wb_moon.svg","assets/img/upward-arrow.svg","assets/img/downward-arrow.svg","common/Icons.ts","withTracker.tsx","assets/icons/icon-faq.svg","common/utils.ts","components/common/PageHeader.tsx","components/buttons/Button.tsx","components/buttons/IconButton.tsx","components/buttons/IconLinkButton.tsx","components/common/Spinner.tsx","components/common/DataTable.tsx","components/common/ModalOverlay.tsx","components/common/Page.tsx","components/common/PageHero.tsx","components/common/Tabs.tsx","context/PlayerContext.tsx","common/404Page.tsx","components/customHooks/useEffectAsync.ts","playerapi/ckuaAPI.ts","context/ProgrammeContext.tsx","components/ckua/PlayButton.tsx","utils/helper.ts","components/ckua/SegmentCard.tsx","components/ckua/ExpiringSoon.tsx","components/ckua/HostCard.tsx","components/ckua/FeaturedHosts.tsx","components/ckua/RecentlyAdded.tsx","assets/icons/icon-search.svg","components/ckua/FeaturedShowCard.tsx","components/ckua/WelcomeMessages.tsx","components/homePage/WelcomeBanner.tsx","components/buttons/DonateButton.tsx","common/LandingPage.tsx","components/player/AppleiOSPlayer.tsx","components/buttons/PlayerButton.tsx","components/ckua/PlayerBar.tsx","components/ckua/PlayerInformation.tsx","utils/share.ts","assets/icons/icon-player-share.svg","assets/icons/icon-playlist.svg","components/player/PlayList.tsx","assets/icons/icon-fast-forward-15.svg","assets/icons/icon-rewind-15.svg","components/ckua/SkipButton.tsx","components/player/MobilePlayerComponent.tsx","components/player/WebPlayerComponent.tsx","assets/icons/icon-record.svg","components/player/AndroidPlayer.tsx","components/player/PlayerComponent.tsx","components/icons/icon-close.svg","components/searchPage/SearchBar.tsx","utils/search.ts","components/searchPage/SearchResultSection.tsx","components/searchPage/SearchResult.tsx","common/SearchPage.tsx","common/ContactPage.tsx","Routes.tsx","App.tsx","registerServiceWorker.ts","index.tsx","assets/img/Segment-Placeholder.png","assets/icons/icon-wb_sunny.svg","components/icons/icon-add.svg","components/icons/icon-arrow-right.svg","components/icons/icon-assignment.svg","components/icons/icon-block.svg","components/icons/icon-brand.svg","components/icons/icon-cancel.svg"],"names":["React","Icon","props","createElement","defaultProps","module","exports","default","library","add","farArrowAltCircleRight","farEdit","farFileAlt","farStar","farTrashAlt","farThumbsUp","fasArrowCircleRight","fasArrowRight","fasArrowsAlt","fasCheck","fasCheckCircle","fasChevronDown","fasInfoCircle","fasMinusSquare","fasPlusCircle","fasPlus","fasAddressCard","fasTimes","fasTimesCircle","fasExclamationCircle","fasHospitalSymbol","fasChalkboard","fasExclamationTriangle","faUsersCog","options","testMode","window","location","href","indexOf","ReactGA","initialize","process","TagManager","gtmId","withTracker","WrappedComponent","trackPage","page","send","hitType","HOC","this","pathname","nextProps","currentPage","nextPage","_excluded","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","sourceKeys","keys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SecurityRoles","d","fill","_ref","svgRef","title","width","height","viewBox","ref","ForwardRef","forwardRef","PageHeader","className","to","src","Logo","alt","rel","antIcon","type","style","fontSize","spin","Button","onClick","disabled","children","tabIndex","loading","classNames","indicator","IconButton","icon","IconLinkButton","LinkElement","e","stopPropagation","Spinner","breakpoints","B2CConfiguration","clientID","REACT_APP_B2C_ClientID","authority","REACT_APP_B2C_Authority","b2cScopes","split","validationError","message","validationStatus","validationSuccess","Array","swapItems","a","b","splice","Validation","validateEmail","email","currentUsersEmail","undefined","emailRegexValue","test","validateErrorCode","errorCode","match","validateIfLessThanOrEqualTo","num","standard","validateIsGreaterThan","validateStringIsNotEmpty","value","trim","validateValueIsUnique","list","includes","runMultipleValidations","listOfValidationFunctions","listOfMessages","reduce","acc","validationFunction","validateArrayIsNotEmpty","validatePhoneNumber","phoneNumber","validValue","validateIfANumberOrNumbers","values","setValue","validValues","isArray","isNaN","validateIsActive","status","validateAddress","address1","isValid","validProperties","every","prop","validateCustomFieldHasOneOption","controlTypeId","SetupAuthClient","UserAgentApplication","errorDesc","token","error","tokenType","console","info","postLogoutRedirectUri","origin","Utils","format","Date","toLocaleDateString","year","month","day","moment","unix","diff","toDate","items","fn","promise","item","then","Promise","resolve","hasRoles","rolesRequired","some","role","generateUUID","getTime","replace","c","r","Math","random","floor","toString","generateCode","substr","getScrollbarWidth","outer","document","inner","visibility","appendChild","body","widthWithoutScrollbar","offsetWidth","overflow","widthWithScrollbar","removeChild","debounce","timer","delay","clearTimeout","setTimeout","disableBodyScrolling","classList","fixedEls","querySelectorAll","innerWidth","forEach","element","paddingRight","enableBodyScrolling","remove","formatCurrency","decimals","Intl","NumberFormat","currency","minimumFractionDigits","maximumFractionDigits","getNumberWithCommas","parts","join","getAbbreviatedNumber","setDocTitle","shouldMarkError","touched","hasError","extractIdToken","encodedIdToken","decodedToken","decodeJwt","base64IdToken","JWSPayload","base64Decoded","base64DecodeStringUrlSafe","JSON","parse","err","jwtToken","isEmpty","matches","exec","header","JWSSig","atob","decodeURIComponent","decode","h1","h2","h3","h4","bits","c1","c2","c3","codes","String","Error","decoded","charAt","fromCharCode","str","filterPickList","picklistCode","pickListItems","filter","row","picklistitemValue","find","code","id","extractKeyValueFromChangeEvent","event","name","dataset","checked","extractValueFromDropDown","dropdownValue","map","Modal","require","Page","PageHero","parent","parentRoute","toUpperCase","Tabs","PlayerState","FourOhFourPage","useEffectAsync","effect","memoizedEffect","useCallback","useEffect","mounted","msg","response","data","apiUrl","getCKUAData","axios","get","res","PlayerContext","createContext","PlayerProvider","useState","paused","playerState","tempSetPlayerState","setPlayerState","state","stateString","parseInt","category","action","activeCardId","setActiveCardId","durationAudio","setDurationAudio","positionAudio","setPositionAudio","manualPosition","setManualPosition","playerLarge","setPlayerLarge","playing","Provider","togglePlayPause","ProgrammeContext","ProgrammeProvider","playerContext","useContext","isLoading","setIsLoading","allData","setAllData","hosts","setHosts","programmes","setProgrammes","segments","setSegments","expiringSoon","setExpiringSoon","recentlyAdded","setRecentlyAdded","selectedAudio","setSelectedAudio","isMounted","onLoad","useLayoutEffect","addEventListener","onVisibilityChange","removeEventListener","allProgrammes","updateSelectedAudio","cardId","segment","gtag","programme","host","hostName","airDate","featured","hostAudio","eleWebs","getElementsByClassName","scrollTo","top","behavior","featuredProgramme","featuredProgrammes","featuredShowsSegments","matchedSegments","programmeId","matchedSegment","push","slice","getFeaturedShows","featuredHost","getFeaturedHosts","expiringSoonProgrammes","recentlyAddedProgrammes","allNewData","validSegments","streamURL","getExpiringSoon","getRecentlyAdded","initateFirstFeaturedSegment","visibilityState","showData","sort","utc","expiryDate","PlayButton","btnClassName","size","iconSize","faPlay","isValidHttpUrl","text","url","URL","_","protocol","ExpiresInBadge","expiresIn","SegmentCard","programmeContext","endOf","now","numberOfDaysUntilExpiry","buttonIcon","faPause","segmentImage","image","SegmentPlaceholder","local","ExpiringSoon","cardKey","HostCard","hostImage","HostPlaceholder","simple","encodeURIComponent","description","hostInfoURL","FeaturedHosts","Fragment","RecentlyAdded","FeaturedShowCard","featuredSegment","showImage","initialState","currentGreeting","greetingMessage","iconString","WbSunny","WelcomeMessages","currentHour","hour","setState","WbCloud","WbMoon","WelcomeBanner","DonateButton","LandingPage","AppleiOSPlayer","audioNode","playPromise","playAudio","current","play","pauseAudio","pause","catch","seekToPosition","position","currentTime","_updatetime","_fetchAndParseM3U8","fetch","lines","duration","line","startsWith","createRef","_updateDuration","bind","_setAudio","prevProps","appl","autoPlay","Component","PlayerButton","playState","onPauseClick","onPlayClick","playBtn","pauseBtn","loadingBtn","disabledBtn","faTimesCircle","seeking","PlayerBar","getElementById","setProperty","updateSlider","min","max","onChange","Number","onMouseDown","handleScrubberEventStart","onTouchStart","onMouseUp","handleScrubberEventEnd","onTouchEnd","PlayerInformation","segmentName","segmentDate","marqueeText","segmentNameElement","marqueeLength","getBoundingClientRect","right","left","enableMarquee","gradient","loop","handleShare","programmeName","navigator1","navigator","shareData","share","log","PlayList","playlist","timeOffset","artist","album","_ref3","SkipButtonFoward","SkipButtonBackward","isIPhone","userAgent","MobilePlayerComponent","DownwardArrow","UpwardArrow","asMilliseconds","playlistSong","WebPlayerComponent","totalSkip","useRef","timeoutRef","fillRule","clipRule","_ref4","_ref5","AndroidPlayer","_isFirefox","audioSrc","PlayerComponent","useLocation","searchShowing","audio","iOS","canPlayType","display","mp3Stream","SearchToggleButton","active","SearchBar","_props","params","useParams","history","useHistory","showsOrHosts","parameter","searchKeyword","keyword","toggleParam","placeholder","setUrl","onKeyPress","currentTarget","blur","onFocus","onSubmit","preventDefault","param","hostSortFunction","programmeSortFunction","toLowerCase","SearchResultSection","programmeInfoURL","SearchResult","searchText","result","filteredSegments","searchShows","keyCard","SearchPage","ContactPage","osVersion","deviceMake","deviceModel","browserName","browserVersion","formData","setFormData","showAlert","setShowAlert","errors","setErrors","deviceInfo","Platform","DeviceModel","DeviceType","prevState","OS","OSVersion","DeviceVendor","Browser","BrowserVersion","validate","newErrors","handleChange","prevData","handleSubmit","post","finally","color","data-bs-dismiss","aria-label","htmlFor","rows","aria-hidden","Routes","exact","path","component","App","Boolean","hostname","ReactDOM","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.82099a57.chunk.js","sourcesContent":["var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M0-.75h24v24H0z\",\"fill\":\"none\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M0-.5h24v24H0z\",\"fill\":\"none\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M0-.25h24v24H0z\",\"fill\":\"none\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"defs\",{\"key\":0},React.createElement(\"path\",{\"d\":\"M0 0h24v24H0V0z\",\"id\":\"a\"})),React.createElement(\"clipPath\",{\"id\":\"b\",\"key\":1},React.createElement(\"use\",{\"overflow\":\"visible\",\"xlinkHref\":\"#a\"})),React.createElement(\"path\",{\"clipPath\":\"url(#b)\",\"d\":\"M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z\",\"key\":2})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"className\":\"st1\",\"d\":\"M20.9,2H3.1C2.5,2,2,2.5,2,3.1v17.8C2,21.5,2.5,22,3.1,22h9.6v-7.7h-2.6v-3h2.6V9c0-2.6,1.6-4,3.9-4\\n\\t\\tc1.1,0,2.1,0.1,2.3,0.1v2.7l-1.6,0c-1.3,0-1.5,0.6-1.5,1.5v1.9h3l-0.4,3h-2.6V22h5.1c0.6,0,1.1-0.5,1.1-1.1V3.1\\n\\t\\tC22,2.5,21.5,2,20.9,2z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M0,0h24v24H0V0z\",\"fill\":\"none\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#3c5a99\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,React.createElement(\"path\",{\"d\":\"M107.6 38.4c-1.6-1.6-3.7-2.4-5.7-2.4-2.1 0-4.1.8-5.7 2.4l-5.9 5.9-5.9-5.9c-1.6-1.6-3.7-2.4-5.7-2.4-2.1 0-4.1.8-5.7 2.4-3.2 3.1-3.2 8.2 0 11.4l5.9 5.9-9.9 9.7-9.8-9.8 5.9-5.9c3.2-3.2 3.2-8.4-.2-11.5-1.5-1.4-3.5-2.1-5.4-2.1-2.2 0-4.4.9-6.1 2.5l-5.7 5.6-5.9-5.9c-1.6-1.6-3.7-2.4-5.7-2.4s-4.1.8-5.7 2.4c-3.2 3.1-3.2 8.2 0 11.4l11.8 11.7L60.9 80v28h16.2V80l30.5-30.3c3.2-3.1 3.2-8.2 0-11.3zM40 53.6l-6.8-6.7c-1.6-1.6-1.6-4.1 0-5.7.8-.8 1.8-1.2 2.9-1.2 1.1 0 2.1.4 2.9 1.2l5.9 5.9-2.7 2.7c-1.2 1.1-1.9 2.4-2.2 3.8zm64.8-6.7l-28 27.8c-.4-1.4-1.1-2.7-2.2-3.8l-2.8-2.8 12.6-12.6-8.8-8.7c-1.6-1.6-1.6-4.1 0-5.7.8-.8 1.8-1.2 2.9-1.2s2.1.4 2.9 1.2l8.8 8.7 8.8-8.7c.8-.8 1.8-1.2 2.9-1.2s2.1.4 2.9 1.2c1.6 1.7 1.6 4.2 0 5.8z\"}));\n}\n\nIcon.defaultProps = {\"viewBox\":\"0 0 138 138\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"rect\",{\"x\":\"10\",\"y\":\"10\",\"width\":\"70\",\"height\":\"70\",\"style\":{\"fill\":\"none\",\"stroke\":\"#eee\",\"strokeWidth\":\"1\",\"opacity\":\"0.2\",\"vectorEffect\":\"non-scaling-stroke\"},\"key\":0}),React.createElement(\"polygon\",{\"points\":\"20 74 0 74 10 89.85 20 74\",\"style\":{\"fill\":\"#eee\",\"opacity\":\"0.2\"},\"key\":1}),React.createElement(\"rect\",{\"width\":\"90\",\"height\":\"90\",\"style\":{\"fill\":\"none\"},\"key\":2})]);\n}\n\nIcon.defaultProps = {\"viewBox\":\"0 0 90 90\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"polygon\",{\"points\":\"17.5 21 17.5 1 1.65 11 17.5 21\",\"style\":{\"fill\":\"none\",\"stroke\":\"#eee\",\"strokeWidth\":\"1\",\"vectorEffect\":\"non-scaling-stroke\"},\"key\":0}),React.createElement(\"rect\",{\"width\":\"18\",\"height\":\"22\",\"style\":{\"fill\":\"none\"},\"key\":1})]);\n}\n\nIcon.defaultProps = {\"viewBox\":\"0 0 18 22\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V8l8 5 8-5v10zm-8-7L4 6h16l-8 5z\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M19 13H5v-2h14v2z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"className\":\"st0\",\"d\":\"M23.1,5.1c-0.8,0.4-1.7,0.6-2.6,0.7c0.9-0.6,1.7-1.5,2-2.5c-0.9,0.6-1.9,0.9-2.9,1.1c-0.8-0.9-2-1.5-3.3-1.5\\n\\t\\tc-2.5,0-4.5,2-4.5,4.5c0,0.4,0,0.7,0.1,1C8,8.4,4.7,6.5,2.4,3.8C2,4.5,1.8,5.2,1.8,6.1c0,1.6,0.8,3,2,3.8c-0.7,0-1.5-0.2-2-0.6v0.1\\n\\t\\tc0,2.2,1.6,4.1,3.6,4.5C5,13.9,4.7,14,4.2,14c-0.3,0-0.6,0-0.8-0.1c0.6,1.9,2.2,3.2,4.3,3.2c-1.6,1.2-3.5,1.9-5.7,1.9\\n\\t\\tc-0.4,0-0.7,0-1.1-0.1c2,1.3,4.5,2,7.1,2c8.4,0,13-7,13-13c0-0.2,0-0.4,0-0.6C21.7,6.8,22.5,6.1,23.1,5.1L23.1,5.1z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M0,0h24v24H0V0z\",\"fill\":\"none\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#1da1f2\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","module.exports = __webpack_public_path__ + \"static/media/logo-ckua.505c0940.svg\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/icon-wb_cloud.f3013ab9.svg\";","module.exports = __webpack_public_path__ + \"static/media/icon-wb_moon.11129024.svg\";","module.exports = __webpack_public_path__ + \"static/media/upward-arrow.73e66ecc.svg\";","module.exports = __webpack_public_path__ + \"static/media/downward-arrow.3733b8b8.svg\";","import { library } from '@fortawesome/fontawesome-svg-core';\nimport {\n\tfaArrowAltCircleRight as farArrowAltCircleRight,\n\tfaEdit as farEdit,\n\tfaFileAlt as farFileAlt,\n\tfaStar as farStar,\n\tfaTrashAlt as farTrashAlt,\n\tfaThumbsUp as farThumbsUp\n} from '@fortawesome/free-regular-svg-icons';\nimport {\n\tfaAddressCard as fasAddressCard,\n\tfaArrowCircleRight as fasArrowCircleRight,\n\tfaArrowRight as fasArrowRight,\n\tfaArrowsAlt as fasArrowsAlt,\n\tfaCheck as fasCheck,\n\tfaCheckCircle as fasCheckCircle,\n\tfaChevronDown as fasChevronDown,\n\tfaInfoCircle as fasInfoCircle,\n\tfaMinusSquare as fasMinusSquare,\n\tfaPlus as fasPlus,\n\tfaPlusCircle as fasPlusCircle,\n\tfaTimes as fasTimes,\n\tfaTimesCircle as fasTimesCircle,\n\tfaExclamationCircle as fasExclamationCircle,\n\tfaHospitalSymbol as fasHospitalSymbol,\n\tfaChalkboard as fasChalkboard,\n\tfaExclamationTriangle as fasExclamationTriangle,\n\tfaUsersCog,\n} from '@fortawesome/free-solid-svg-icons';\n\nlibrary.add(\n\tfarArrowAltCircleRight,\n\tfarEdit,\n\tfarFileAlt,\n\tfarStar,\n\tfarTrashAlt,\n\tfarThumbsUp,\n\tfasArrowCircleRight,\n\tfasArrowRight,\n\tfasArrowsAlt,\n\tfasCheck,\n\tfasCheckCircle,\n\tfasChevronDown,\n\tfasInfoCircle,\n\tfasMinusSquare,\n\tfasPlusCircle,\n\tfasPlus,\n\tfasAddressCard,\n\tfasTimes,\n\tfasTimesCircle,\n\tfasExclamationCircle,\n\tfasHospitalSymbol,\n\tfasChalkboard,\n\tfasExclamationTriangle,\n\tfaUsersCog\n);","import * as React from 'react';\nimport ReactGA from 'react-ga4';\nimport TagManager from 'react-gtm-module';\n\nlet options = { testMode: false };\nconst tagManagerArgs = {\n\tgtmId: process.env.REACT_APP_GOOGLE_TAG_TRACKING_ID!\n}\nif (window.location.href.indexOf('localhost') > 0) {\n\toptions.testMode = true;\n}\nif (window.location.href.indexOf('ckuamediastorage.z5.web.core.windows.net') > 0) {\n\toptions.testMode = true;\n}\nReactGA.initialize(process.env.REACT_APP_ANALYTICS_TRACKING_ID!, options);\nTagManager.initialize(tagManagerArgs);\n// process.env.NODE_ENV === 'development' ? true : false\n//GoogleAnalytics.plugin.require(process.env.REACT_APP_OPTIMIZE_ID!, null);\n\nconst withTracker = (WrappedComponent: any, options = {}) => {\n\tconst trackPage = (page: string) => {\n\t\tReactGA.send({ hitType: 'pageview', page: page });\n\t};\n\n\tconst HOC = class extends React.Component {\n\t\tpublic componentDidMount() {\n\t\t\tconst page = this.props.location.pathname;\n\t\t\ttrackPage(page);\n\t\t}\n\n\t\tpublic componentWillReceiveProps(nextProps: any) {\n\t\t\tconst currentPage = this.props.location.pathname;\n\t\t\tconst nextPage = nextProps.location.pathname;\n\n\t\t\tif (currentPage !== nextPage) {\n\t\t\t\ttrackPage(nextPage);\n\t\t\t}\n\t\t}\n\n\t\tpublic render() {\n\t\t\treturn ;\n\t\t}\n\t};\n\n\treturn HOC;\n};\n\nexport default withTracker;","var _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M10 0C15.523 0 20 4.478 20 10C20 15.522 15.523 20 10 20C4.477 20 0 15.522 0 10C0 4.478 4.477 0 10 0ZM10 13.5C9.44772 13.5 9 13.9477 9 14.5C9 15.0523 9.44772 15.5 10 15.5C10.5523 15.5 11 15.0523 11 14.5C11 13.9477 10.5523 13.5 10 13.5ZM10 4.75C8.48122 4.75 7.25 5.98122 7.25 7.5C7.25 7.91421 7.58579 8.25 8 8.25C8.3797 8.25 8.69349 7.96785 8.74315 7.60177L8.75 7.5C8.75 6.80964 9.30964 6.25 10 6.25C10.6904 6.25 11.25 6.80964 11.25 7.5C11.25 8.03882 11.115 8.30526 10.6051 8.8322L10.4697 8.96967C9.59157 9.84777 9.25 10.4171 9.25 11.5C9.25 11.9142 9.58579 12.25 10 12.25C10.4142 12.25 10.75 11.9142 10.75 11.5C10.75 10.9612 10.885 10.6947 11.3949 10.1678L11.5303 10.0303C12.4084 9.15223 12.75 8.58295 12.75 7.5C12.75 5.98122 11.5188 4.75 10 4.75Z\",\n fill: \"#F3AF1B\"\n});\n\nvar SvgIconFaq = function SvgIconFaq(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgIconFaq, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/icon-faq.903fc4b9.svg\";\nexport { ForwardRef as ReactComponent };","// eslint rule disabled due to regex throughout file\n/* eslint-disable no-useless-escape*/\nimport moment from 'moment';\nimport { UserAgentApplication } from 'msal';\nimport { concat } from 'lodash';\n\nexport const breakpoints = {\n\txs: 0,\n\tsm: 576,\n\tmd: 768,\n\tlg: 992,\n\txl: 1200,\n\txxl: 1600\n};\n\nexport const barchartColors = [\n\t'rgba(248, 32, 32, 0.5)',\n\t'rgba(223, 88, 150, 0.5)',\n\t'rgba(209, 89, 45, 0.5)',\n\t'rgba(189, 132, 66, 0.5)',\n\t'rgba(170, 189, 57, 0.5)',\n\t'rgba(172, 209, 9, 0.5)',\n\t'rgba(82, 209, 9, 0.5)',\n\t'rgba(9, 209, 142, 0.5)',\n\t'rgba(9, 152, 209, 0.5)',\n\t'rgba(9, 79, 209, 0.5)'\n];\n\nexport const months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n\n/**\n * @param {number} month\n * @returns {array}\n * @description eg. input month =4 , returns [4,5,6,7,8,9,10,11,12,1,2,3]\n */\nexport const sortDateStartingFromCurrent = (month: number) => {\n\tconst numericMonths = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n\tif (month > 12) {\n\t\tmonth = month - 12;\n\t}\n\tconst sortedMonth: number[] = [];\n\tconst pastMonth: number[] = [];\n\tnumericMonths.forEach(m => {\n\t\tif (m - month < 0) {\n\t\t\tpastMonth.push(m);\n\t\t} else {\n\t\t\tsortedMonth.push(m);\n\t\t}\n\t});\n\tconst result = concat(sortedMonth, pastMonth);\n\treturn result;\n};\n\nexport const truncateString = (description: string, limit: number = 20) => {\n\tif (description.length > limit) {\n\t\treturn description.substring(0, limit) + '...';\n\t}\n\treturn description;\n};\n\nexport const getTime = (mode: string) => {\n\tconst today = new Date();\n\tswitch (mode) {\n\t\tcase ('today'): return moment(today);\n\t\tcase ('thisYear'): return moment(`${today.getFullYear()}-01-01`);\n\t\tcase ('lastYear'): return moment(`${today.getFullYear() - 1}-01-01`);\n\t\tcase ('twoYearsBefore'): return moment(`${today.getFullYear() - 2}-01-01`);\n\t\tcase ('thisMonth'): return moment(today).format('YYYY-MM');\n\t\tcase ('lastMonth'): return moment(today).subtract(1, 'month').endOf('month').format('YYYY-MM');\n\t\tcase ('twoMonthsBefore'): return moment(today).subtract(2, 'month').endOf('month').format('YYYY-MM');\n\t\tdefault: return moment(today);\n\t}\n};\n\nexport const renderPercentage = (count: number, sum: number) => (Math.round(count / sum * 10000) / 100 + '%');\n\nexport const B2CConfiguration = {\n\tclientID: process.env.REACT_APP_B2C_ClientID!,\n\tauthority: process.env.REACT_APP_B2C_Authority!,\n\tb2cScopes: process.env.REACT_APP_B2C_Scopes!.split(',')\n};\nexport enum SecurityRoles {\n\tAdministrator = 'Admin',\n\tCustomer = 'Customer'\n}\n\nexport interface IParameterValidation {\n\tvalidationStatus: 'success' | 'error' | 'warning' | 'validating' | undefined;\n\tmessage: string;\n}\n\nexport const numericInputRegex = /^[0-9]*$/g;\nexport const alphabetsDashInputRegex = /^[a-zA-Z- ]*$/g;\nexport const alphaNumCommaDotDashInputRegex = /^[A-Za-z0-9\\s,\\.\\-]*$/g;\nexport const birthYearRegex = /(?:19|20)\\d\\d/g;\n\nconst validationError = (message: string): IParameterValidation => {\n\treturn { validationStatus: 'error', message };\n};\n\nconst validationWarning = (message: string): IParameterValidation => {\n\treturn { validationStatus: 'warning', message };\n};\n\nconst validationSuccess = (message: string = ''): IParameterValidation => {\n\treturn { validationStatus: 'success', message };\n};\n\nconst validationNoMessage = (): IParameterValidation => {\n\treturn { validationStatus: undefined, message: '' };\n};\n\n// helper method for swapping item indice in array\ndeclare global {\n\tinterface Array {\n\t\tswapItems(a: number, b: number): void;\n\t}\n}\n\n// eslint-disable-next-line no-extend-native\nArray.prototype.swapItems = function (a, b) {\n\tthis[a] = this.splice(b, 1, this[a])[0];\n\treturn this;\n};\n\nexport class Validation {\n\tpublic static validateEmail = (email?: string, currentUsersEmail: string[] = []): IParameterValidation => {\n\t\tif (!email) {\n\t\t\treturn validationNoMessage();\n\t\t}\n\t\tconst emailRegexValue = /[a-z0-9\\._%+!$&*=^|~#%'`?{}/\\-]+@([a-z0-9\\-]+\\.){1,}([a-z]{2,16})/;\n\t\tif (email === '') {\n\t\t\treturn validationError('Please enter a valid email');\n\t\t}\n\n\t\t// compare with regex first then check if it's existing email\n\t\tif (!emailRegexValue.test(email)) {\n\t\t\treturn validationError('Please enter a valid email');\n\t\t}\n\n\t\tif (currentUsersEmail.indexOf(email) !== -1) {\n\t\t\treturn validationError('Email is already in use');\n\t\t}\n\n\t\treturn validationSuccess();\n\t}\n\n\tpublic static validateErrorCode = (errorCode: string): IParameterValidation => {\n\t\tconst fleetErrorRegex = /^[A-Z]{1,2}$/g;\n\n\t\tif (errorCode === '') {\n\t\t\treturn validationError('Please enter a valid fleet error');\n\t\t}\n\n\t\tif (errorCode.length === 2 && errorCode[1] !== 'X') {\n\t\t\treturn validationError('Fleet Error with length 2 must end with X');\n\t\t}\n\n\t\tif (!errorCode.match(fleetErrorRegex)) {\n\t\t\treturn validationError('Fleet Error has to be 1 or 2 capital letters');\n\t\t}\n\n\t\treturn validationSuccess();\n\t}\n\n\tpublic static validateIfLessThanOrEqualTo = (num: number, standard: number, message: string): IParameterValidation => {\n\t\tif (num <= standard) {\n\t\t\treturn validationSuccess();\n\t\t} else {\n\t\t\treturn validationError(message);\n\t\t}\n\t}\n\n\tpublic static validateIsGreaterThan = (num: number, standard: number, message: string): IParameterValidation => {\n\t\tif (num > standard) {\n\t\t\treturn validationSuccess();\n\t\t} else {\n\t\t\treturn validationError(message);\n\t\t}\n\t}\n\n\t/*\n\t\tThis function will take a value, and check whether or not it is empty or undefined. It will return an error\n\t\twith the passed in message, if the value is empty.\n\t*/\n\tpublic static validateStringIsNotEmpty = (value: string, message: string): IParameterValidation => {\n\t\tif (value === undefined || value.trim() === '') {\n\t\t\treturn validationError(message);\n\t\t}\n\t\treturn validationSuccess('Successful');\n\t}\n\n\t// checks whether a value exists in a given list, returns IParameterValidation object with the given message\n\tpublic static validateValueIsUnique = (list: string[]) => (value: string, message: string): IParameterValidation => {\n\t\tconst presentInList: boolean = list.includes(value);\n\t\tif (presentInList) {\n\t\t\treturn validationError(message);\n\t\t}\n\t\treturn validationSuccess('Successful');\n\t}\n\n\t// takes in list of Validation Functions, a list of corresponding Error messages, and a value, and runs multiple Validations on that value\n\t// !! NOTE: validaitonFunction MUST have a signature of functionName(value: string, message: string): IParameterValidation { ... }\n\tpublic static runMultipleValidations = (listOfValidationFunctions: any[], listOfMessages: any[], value: any): IParameterValidation => {\n\n\t\ttype ValidationFunction = (value: string, message: string) => IParameterValidation;\n\t\treturn listOfValidationFunctions.reduce((acc: IParameterValidation, validationFunction: ValidationFunction, i) => {\n\t\t\tif (acc.validationStatus === 'error') {\n\t\t\t\t// if an error has already occured, no need to run the next validation\n\t\t\t\treturn acc;\n\t\t\t}\n\t\t\t// otherwise, we need to run the next validation Function and see its output.\n\t\t\tconst validationOutcome: IParameterValidation = validationFunction(value, listOfMessages[i]);\n\t\t\treturn validationOutcome;\n\t\t}, {} as IParameterValidation);\n\t}\n\n\tpublic static validateArrayIsNotEmpty = (value: any[], message: string): IParameterValidation => {\n\t\tif (value !== undefined && value.length > 0) {\n\t\t\treturn validationSuccess();\n\t\t}\n\t\treturn validationError(message);\n\t}\n\n\tpublic static validatePhoneNumber = (phoneNumber: string): IParameterValidation => {\n\t\tlet validValue = validationError('Please enter a valid phone number ');\n\t\tconst phoneNumberValidation = /^\\(?([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/;\n\t\tif (phoneNumber) {\n\t\t\tif (phoneNumber.length < 10) {\n\t\t\t\tvalidValue = validationWarning('Please enter a 10 digit phone number');\n\t\t\t}\n\t\t\tif (phoneNumberValidation.test(phoneNumber)) {\n\t\t\t\tvalidValue = validationSuccess();\n\t\t\t}\n\n\t\t}\n\t\treturn validValue;\n\t}\n\t/* used to set daysUntilredaction, DaysUntilCoreLocked fields to show no\n\tvalidation when set to none and error if set to timed if passing in a bool */\n\tpublic static validateIfANumberOrNumbers = (values: number | number[], setValue: boolean | undefined = undefined): IParameterValidation => {\n\t\tlet validValues = {} as IParameterValidation;\n\t\tif (setValue !== undefined) {\n\t\t\tif (setValue === true) {\n\t\t\t\tif (!Array.isArray(values) && isNaN(values)) {\n\t\t\t\t\tvalidValues = validationNoMessage();\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (setValue === false) {\n\t\t\t\tif (!Array.isArray(values) && isNaN(values)) {\n\t\t\t\t\tvalidValues = validationError('Please enter a value!');\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (setValue === undefined) {\n\t\t\tif (Array.isArray(values)) {\n\t\t\t\tif ((values.length > 0) !== true) {\n\t\t\t\t\tvalidValues = validationError('Please choose an option ');\n\t\t\t\t} else {\n\t\t\t\t\tvalidValues = validationSuccess();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (values === undefined) {\n\t\t\t\t\tvalidValues = validationError('Please choose an option');\n\t\t\t\t} else {\n\t\t\t\t\tvalidValues = validationSuccess();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn validValues;\n\t}\n\n\tpublic static validateIsActive = (status: boolean): IParameterValidation => {\n\t\tif (typeof status !== 'boolean' || status === undefined) {\n\t\t\treturn { validationStatus: 'error', message: 'Please choose a value' };\n\t\t}\n\n\t\treturn { validationStatus: 'success', message: '' };\n\t}\n\n\tpublic static validateAddress = (address1: string): IParameterValidation => {\n\t\tlet validateAddress = { validationStatus: 'error', message: 'Please enter an address' };\n\t\tif (address1 && address1 !== '' && address1.length > 0) {\n\t\t\tvalidateAddress = { validationStatus: 'success', message: '' };\n\t\t}\n\t\treturn validateAddress as IParameterValidation;\n\t}\n\n\tpublic static isValid = (validProperties: string[]) => {\n\t\tconst isValid = validProperties.every(prop => prop === 'success' || prop === undefined);\n\t\treturn isValid;\n\t}\n\n\tpublic static validateCustomFieldHasOneOption = (options: any[], controlTypeId: number): IParameterValidation => {\n\t\tif (controlTypeId && controlTypeId !== 10236 && options.length === 0) {\n\t\t\treturn validationError('Please add at least one option');\n\t\t}\n\t\treturn { validationStatus: undefined, message: '' };\n\t}\n}\n\nexport class Auth {\n\tpublic static SetupAuthClient = () => {\n\t\tconst clientApplication = new UserAgentApplication(\n\t\t\tB2CConfiguration.clientID,\n\t\t\tB2CConfiguration.authority,\n\t\t\t(errorDesc: any, token: any, error: any, tokenType: any) => {\n\t\t\t\t// Called after loginRedirect or acquireTokenPopup\n\t\t\t\tconsole.info('signupin callback ');\n\t\t\t},\n\t\t\t{\n\t\t\t\tpostLogoutRedirectUri: window.location.origin\n\t\t\t}\n\t\t);\n\t\treturn clientApplication;\n\t}\n}\n\nexport interface InputError {\n\thasError: boolean;\n\tmessage: string;\n}\n\n// tslint:disable\nexport const emailRegex = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n// tslint:enable\n\nexport class Utils {\n\t// tslint:disable\n\tpublic static generateUUID = () => {\n\t\tlet d = new Date().getTime();\n\t\tconst uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n\t\t\tconst r = ((d + Math.random() * 16) % 16) | 0;\n\t\t\td = Math.floor(d / 16);\n\t\t\treturn (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);\n\t\t});\n\t\treturn uuid;\n\t};\n\t// tslint:enable\n\n\tpublic static formatDate(d: any, format?: string) {\n\t\tif (!d) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn new Date(d).toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' });\n\t}\n\n\tpublic static formatUnixDate(d: any, format?: string) {\n\t\tif (!d) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn moment.unix(d).format(format || 'YYYY-MM-DD');\n\t}\n\n\tpublic static getAgeFromBirthdate(d: string) {\n\t\tif (!d) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn moment().diff(moment(d, 'YYYYMMDD'), 'years');\n\t}\n\n\tpublic static dateStringToDate(d: string) {\n\t\tif (moment(d, 'YYYY-MM-DD').isValid()) {\n\t\t\treturn moment(d, 'YYYY-MM-DD').toDate();\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tpublic static forEachPromise(items: any, fn: any) {\n\t\treturn items.reduce(\n\t\t\t(promise: any, item: any) => {\n\t\t\t\treturn promise.then(() => {\n\t\t\t\t\treturn fn(item);\n\t\t\t\t});\n\t\t\t},\n\t\t\tPromise.resolve()\n\t\t);\n\t}\n\n\tpublic static isAuthorized(hasRoles: string[], rolesRequired: string[]) {\n\t\tlet authorized = false;\n\t\tif (hasRoles.indexOf('admin') >= 0 || rolesRequired == null || rolesRequired.length === 0) {\n\t\t\tauthorized = true;\n\t\t} else {\n\t\t\tauthorized = hasRoles.some(role => {\n\t\t\t\treturn rolesRequired.indexOf(role) >= 0;\n\t\t\t});\n\t\t}\n\t\treturn authorized;\n\t}\n\n\tpublic static generateCode = () => {\n\t\t// Generates a random alphanumeric string of length 6\n\t\treturn Math.random()\n\t\t\t.toString(36)\n\t\t\t.substr(2, 6);\n\t}\n\n\n\t// https://gist.github.com/bsara/c60dd6bbb04e0969221f607f0df68716\n\tpublic static getScrollbarWidth = () => {\n\t\tconst outer = document.createElement('div');\n\t\tconst inner = document.createElement('div');\n\n\t\touter.style.visibility = 'hidden';\n\t\touter.style.width = '100px';\n\t\tinner.style.width = '100%';\n\n\t\touter.appendChild(inner);\n\t\tdocument.body.appendChild(outer);\n\n\t\tconst widthWithoutScrollbar = outer.offsetWidth;\n\n\t\touter.style.overflow = 'scroll';\n\n\t\tconst widthWithScrollbar = inner.offsetWidth;\n\n\t\tdocument.body.removeChild(outer);\n\n\t\treturn widthWithoutScrollbar - widthWithScrollbar;\n\t}\n\n\tpublic static debounce = (fn: () => void, delay = 50) => {\n\t\tlet timer: any;\n\t\treturn () => {\n\t\t\tclearTimeout(timer);\n\t\t\ttimer = setTimeout(() => fn(), delay);\n\t\t};\n\t}\n\n\tpublic static disableBodyScrolling = (className: string = 'disable-scroll') => {\n\t\tdocument.body.classList.add(className);\n\t\tconst fixedEls = document.querySelectorAll('[data-adjust-fixed-scrollbar]') as any;\n\t\tif (window.innerWidth < breakpoints.xl) {\n\t\t\tfixedEls.forEach((element: HTMLElement) => element.style.paddingRight = `${Utils.getScrollbarWidth()}px`);\n\t\t}\n\t}\n\n\tpublic static enableBodyScrolling = (className: string = 'disable-scroll') => {\n\t\tdocument.body.classList.remove(className);\n\t\tconst fixedEls = document.querySelectorAll('[data-adjust-fixed-scrollbar]') as any;\n\t\tfixedEls.forEach((element: HTMLElement) => element.style.paddingRight = '');\n\t}\n\n\tpublic static formatCurrency = (value?: number, decimals?: number) => {\n\t\tif (value == null) {\n\t\t\treturn '';\n\t\t}\n\n\t\tconst formatter = new Intl.NumberFormat('en-CA', {\n\t\t\tstyle: 'currency',\n\t\t\tcurrency: 'CAD',\n\t\t\tminimumFractionDigits: decimals === undefined ? 2 : decimals,\n\t\t\tmaximumFractionDigits: decimals === undefined ? 2 : decimals,\n\t\t});\n\n\t\treturn formatter.format(value);\n\t}\n\n\tpublic static getNumberWithCommas = (value: number | string | undefined) => {\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tconst parts = value.toString().split('.');\n\t\tparts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n\t\treturn parts.join('.');\n\t}\n\n\tpublic static getAbbreviatedNumber = (value: number) => {\n\t\tif (value >= 1000000) {\n\t\t\treturn value / 1000000 + 'm';\n\t\t} else if (value >= 1000) {\n\t\t\treturn value / 1000 + 'k';\n\t\t}\n\n\t\treturn value.toString();\n\t}\n\n\tpublic static setDocTitle = (value: string | undefined) => {\n\t\tconst titleSuffix = 'Core';\n\t\tif (value) {\n\t\t\tdocument.title = `${value} | ${titleSuffix}`;\n\t\t} else {\n\t\t\tdocument.title = titleSuffix;\n\t\t}\n\t}\n\n\tpublic static shouldMarkError = (error: InputError, touched: boolean) => {\n\t\tconst hasError = error.hasError;\n\t\tconst shouldShow = touched;\n\t\treturn hasError ? shouldShow : false;\n\t}\n\n\tpublic static extractIdToken = (encodedIdToken: string) => {\n\t\t// id token will be decoded to get the username\n\t\tconst decodedToken = Utils.decodeJwt(encodedIdToken);\n\t\tif (!decodedToken) {\n\t\t\treturn null;\n\t\t}\n\t\ttry {\n\t\t\tconst base64IdToken = decodedToken.JWSPayload;\n\t\t\tconst base64Decoded = Utils.base64DecodeStringUrlSafe(base64IdToken);\n\t\t\tif (!base64Decoded) {\n\t\t\t\t// this._requestContext.logger.info('The returned id_token could not be base64 url safe decoded.');\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\t// ECMA script has JSON built-in support\n\t\t\treturn JSON.parse(base64Decoded);\n\t\t} catch (err) {\n\t\t\t// this._requestContext.logger.error('The returned id_token could not be decoded' + err);\n\t\t}\n\t\treturn null;\n\t}\n\n\tpublic static decodeJwt = (jwtToken: string) => {\n\t\tif (Utils.isEmpty(jwtToken)) {\n\t\t\treturn null;\n\t\t}\n\t\tconst idTokenPartsRegex = /^([^\\.\\s]*)\\.([^\\.\\s]+)\\.([^\\.\\s]*)$/;\n\t\tconst matches = idTokenPartsRegex.exec(jwtToken);\n\t\tif (!matches || matches.length < 4) {\n\t\t\t// this._requestContext.logger.warn('The returned id_token is not parseable.');\n\t\t\treturn null;\n\t\t}\n\t\tconst crackedToken = {\n\t\t\theader: matches[1],\n\t\t\tJWSPayload: matches[2],\n\t\t\tJWSSig: matches[3]\n\t\t};\n\t\treturn crackedToken;\n\t}\n\n\tpublic static base64DecodeStringUrlSafe = (base64IdToken: string) => {\n\t\t// html5 should support atob function for decoding\n\t\tbase64IdToken = base64IdToken.replace(/-/g, '+').replace(/_/g, '/');\n\t\tif (window.atob) {\n\t\t\treturn decodeURIComponent(window.atob(base64IdToken)); // jshint ignore:line\n\t\t} else {\n\t\t\treturn decodeURIComponent(Utils.decode(base64IdToken));\n\t\t}\n\t}\n\n\tpublic static decode = (base64IdToken: string) => {\n\t\tconst codes = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\t\tbase64IdToken = String(base64IdToken).replace(/=+$/, '');\n\t\tconst length = base64IdToken.length;\n\t\tif (length % 4 === 1) {\n\t\t\tthrow new Error('The token to be decoded is not correctly encoded.');\n\t\t}\n\t\tlet h1: number;\n\t\tlet h2: number;\n\t\tlet h3: number;\n\t\tlet h4: number;\n\t\tlet bits: number;\n\t\tlet c1: number;\n\t\tlet c2: number;\n\t\tlet c3: number;\n\t\tlet decoded: string = '';\n\t\tfor (let i = 0; i < length; i += 4) {\n\t\t\t// Every 4 base64 encoded character will be converted to 3 byte string, which is 24 bits\n\t\t\t// then 6 bits per base64 encoded character\n\t\t\th1 = codes.indexOf(base64IdToken.charAt(i));\n\t\t\th2 = codes.indexOf(base64IdToken.charAt(i + 1));\n\t\t\th3 = codes.indexOf(base64IdToken.charAt(i + 2));\n\t\t\th4 = codes.indexOf(base64IdToken.charAt(i + 3));\n\t\t\t// tslint:disable\n\t\t\t// For padding, if last two are '='\n\t\t\tif (i + 2 === length - 1) {\n\t\t\t\tbits = (h1 << 18) | (h2 << 12) | (h3 << 6);\n\t\t\t\tc1 = (bits >> 16) & 255;\n\t\t\t\tc2 = (bits >> 8) & 255;\n\t\t\t\tdecoded += String.fromCharCode(c1, c2);\n\t\t\t\tbreak;\n\t\t\t} else if (i + 1 === length - 1) {\n\t\t\t\tbits = (h1 << 18) | (h2 << 12);\n\t\t\t\tc1 = (bits >> 16) & 255;\n\t\t\t\tdecoded += String.fromCharCode(c1);\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tbits = (h1 << 18) | (h2 << 12) | (h3 << 6) | h4;\n\t\t\t// then convert to 3 byte chars\n\t\t\tc1 = (bits >> 16) & 255;\n\t\t\tc2 = (bits >> 8) & 255;\n\t\t\tc3 = bits & 255;\n\t\t\t// tslint:enable\n\t\t\tdecoded += String.fromCharCode(c1, c2, c3);\n\t\t}\n\t\treturn decoded;\n\t}\n\n\tpublic static isEmpty = (str: string) => {\n\t\treturn typeof str === 'undefined' || !str || 0 === str.length;\n\t}\n\n\tpublic static filterPickList = (picklistCode: string, pickListItems: PickListItemResponseDTO[]) => (filter: any, row: any) => {\n\t\tconst picklistitemValue = pickListItems.find((item: PickListItemResponseDTO) => item.code === picklistCode);\n\t\tif (filter.value === 'All') {\n\t\t\treturn true;\n\t\t}\n\t\telse if (filter.value === 'Yes') {\n\t\t\treturn row[picklistCode]!.indexOf(picklistitemValue!.id!) !== -1;\n\t\t} else {\n\t\t\treturn row[picklistCode]!.indexOf(picklistitemValue!.id!) === -1;\n\t\t}\n\t}\n\n\t/** Extracts a value from an HTMLInputElement provided by a React.ChangeEvent */\n\tpublic static extractKeyValueFromChangeEvent = (event: React.ChangeEvent): { name: string, value: any } => {\n\t\tlet value: any = event.target.value;\n\t\tif (value === 'true') {\n\t\t\tvalue = true;\n\t\t}\n\t\tif (value === 'false') {\n\t\t\tvalue = false;\n\t\t}\n\t\tlet name: any = event.target.name;\n\t\tif (event.target.type === 'checkbox') {\n\t\t\tif (event.target.dataset != null) {\n\t\t\t\t// Don't split if single value\n\t\t\t\tif (value === '') {\n\t\t\t\t\tvalue = [];\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value.split(',');\n\t\t\t\t}\n\n\t\t\t\tname = event.target.dataset.name;\n\t\t\t} else {\n\t\t\t\tvalue = event.target.checked;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tname,\n\t\t\tvalue\n\t\t};\n\t}\n\n\t/*For ant Components */\n\tpublic static extractValueFromDropDown = (dropdownValue: any) => {\n\t\tif (Array.isArray(dropdownValue)) {\n\t\t\tdropdownValue.map(value => value.key);\n\t\t}\n\t}\n}\n\nexport default Utils;","import React from 'react';\nimport Logo from 'assets/img/logo-ckua.svg'\nimport { Link } from 'react-router-dom';\nimport { ReactComponent as FAQ } from 'assets/icons/icon-faq.svg';\n\nconst PageHeader: React.FC = () => {\n\treturn
\n\t\t\t\n\t\t\t\t\"CKUA\"\n\t\t\t\t
\n\t\t\t\t\tOnDemand\n\t\t\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\tNeed Help?\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tFAQ\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t
;\n};\n\nexport default PageHeader;\n","import * as React from 'react';\nimport { Link } from 'react-router-dom';\nimport { Spin, Icon } from 'antd';\nimport classNames from 'classnames';\n\ninterface IProps {\n\tonClick?: (e?: any) => any;\n\tchildren?: {};\n\taux?: boolean;\n\tto?: string | {};\n\ttype?: string;\n\tdisabled?: boolean;\n\tclassName?: string;\n\ttabIndex?: number;\n\tloading?: boolean;\n\tstyle?: {};\n}\n\nconst antIcon = ;\n\nconst Button: React.StatelessComponent = ({\n\tto,\n\tonClick,\n\tclassName,\n\ttype,\n\tdisabled,\n\tchildren,\n\ttabIndex,\n\tloading,\n\t...props\n}) => {\n\tif (to && !disabled) {\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\t{loading && }\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t\n\t\t\t\t{loading && }\n\t\t\t\t{children}\n\t\t\t\n\t\t);\n\t}\n};\n\nexport default Button;\n","import * as React from 'react';\nimport { Tooltip } from 'antd';\nimport classNames from 'classnames';\nimport { Spinner } from 'components/common';\n\ninterface IProps {\n\tonClick?: (value?: {}) => void;\n\ticon?: {};\n\tchildren?: {};\n\tlink?: string;\n\ttitle?: string;\n\tclassName?: string;\n\tstyle?: {};\n\ttype?: string;\n\tdisabled?: boolean;\n\tloading?: boolean;\n}\n\nconst IconButton: React.FC = (props) => {\n\tconst Button = (\n\t\t\n\t\t\t{props.loading && }\n\t\t\t
\n\t\t\t\t{props.icon}\n\t\t\t\t{props.children}\n\t\t\t
\n\t\t\n\t);\n\n\tif (props.title) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{Button}\n\t\t\t\n\t\t);\n\t}\n\n\treturn Button;\n}\n\nexport default IconButton;\n","import * as React from 'react';\nimport { Link } from 'react-router-dom';\nimport { Tooltip } from 'antd';\nimport classNames from 'classnames';\n\ninterface IProps {\n\tonClick?: (value?: {}) => void;\n\tchildren?: {};\n\tto: string | {};\n\ttitle?: string;\n\tclassName?: string;\n\tstyle?: {};\n\tdisabled?: boolean;\n}\n\nclass IconLinkButton extends React.Component {\n\tpublic render() {\n\t\tconst LinkElement = (\n\t\t\t {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\treturn this.props.onClick && this.props.onClick();\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t\n\t\t);\n\n\t\tif (this.props.title) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{LinkElement}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn LinkElement;\n\t}\n}\n\nexport default IconLinkButton;\n","import React from 'react';\nimport classNames from 'classnames';\n\ninterface IProps {\n\tclassName?: string;\n\tsize?: string;\n}\n\nconst Spinner: React.FC = ( props: IProps ) => {\n\treturn(\n\t\t\n\t);\n};\n\nexport default Spinner;\n","import * as React from 'react';\nimport classNames from 'classnames';\nimport ReactTable from 'react-table';\nimport 'react-table/react-table.css';\n\nimport { IconChevronLeft, IconChevronRight } from '../../components/icons';\nimport { Spinner } from '.';\nimport { IconButton } from '../buttons';\n\ninterface IProps {\n\tclassName?: string;\n\tfilterable?: boolean;\n\tTableComponent?: React.ReactType;\n\tcolumns?: any[];\n\tdata?: any[];\n\tgetTableProps?: (...args: any[]) => {};\n\tgetTheadFilterThProps?: (...args: any[]) => {};\n\tgetTheadGroupProps?: (...args: any[]) => {};\n\tgetTheadProps?: (...args: any[]) => {};\n\tgetTheadThProps?: (...args: any[]) => {};\n\tgetTbodyProps?: (...args: any[]) => {};\n\tgetTrProps?: (...args: any[]) => {};\n\tgetTdProps?: (...args: any[]) => {};\n\tminRows?: number;\n\thasActions?: boolean;\n\tresizable?: boolean;\n\tsortable?: boolean;\n\tfiltered?: any[];\n\tonFilteredChange?: any;\n\tnoDataText?: string;\n\tshowPagination?: boolean;\n\tonPageChange?: (pageIndex: number) => void;\n\tpage?: number;\n\t// handles clicks on each data table row, if not provided nothing happens\n\tonRowClick?: ({ row, original }: { row?: any, original?: any }) => void;\n\tloading?: boolean;\n}\n\nclass DataTable extends React.Component {\n\tpublic onPageChange = (e: any, callback: () => void) => {\n\t\t// TODO: Find a better way to animate the page\n\t\twindow.scrollTo({\n\t\t\ttop: 0,\n\t\t\tleft: 0,\n\t\t\tbehavior: 'smooth'\n\t\t});\n\t\tcallback();\n\t}\n\n\tpublic getTrProps = (_: any, rowInfo: any) => {\n\t\tconst { onRowClick } = this.props;\n\t\tif (onRowClick) {\n\t\t\treturn {\n\t\t\t\tclassName: 'tr cursor-pointer',\n\t\t\t\tonClick(e: any, handleOriginal: any) {\n\t\t\t\t\tonRowClick(rowInfo);\n\t\t\t\t\tif (handleOriginal) {\n\t\t\t\t\t\thandleOriginal();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tclassName: 'tr '\n\t\t\t};\n\t\t}\n\t}\n\n\tpublic render() {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tfilterable,\n\t\t\thasActions,\n\t\t\tTableComponent,\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tshowPagination = true,\n\t\t\tgetTableProps = () => {\n\t\t\t\treturn { className: 'table' };\n\t\t\t},\n\t\t\tgetTheadFilterThProps = () => {\n\t\t\t\treturn { className: 'th' };\n\t\t\t},\n\t\t\tgetTheadGroupProps = () => {\n\t\t\t\treturn { className: 'thead theadgroup' };\n\t\t\t},\n\t\t\tgetTheadProps = () => {\n\t\t\t\treturn { className: 'thead' };\n\t\t\t},\n\t\t\tgetTheadThProps = () => {\n\t\t\t\treturn { className: 'th' };\n\t\t\t},\n\t\t\tgetTbodyProps = () => {\n\t\t\t\treturn { className: 'tbody' };\n\t\t\t},\n\t\t\tgetTdProps = () => {\n\t\t\t\treturn { className: 'td' };\n\t\t\t},\n\t\t\tminRows = 0,\n\t\t\tresizable = false,\n\t\t\tsortable = false,\n\t\t\tnoDataText,\n\t\t\tfiltered,\n\t\t\tonFilteredChange,\n\t\t\tonPageChange,\n\t\t\tpage,\n\t\t\tloading,\n\t\t} = this.props;\n\t\treturn (\n\t\t\t {\n\t\t\t\t\treturn String(row[filter.id]).toLowerCase().includes(String(filter.value).toLowerCase());\n\t\t\t\t}}\n\t\t\t\tTableComponent={TableComponent}\n\t\t\t\tcolumns={columns}\n\t\t\t\tdata={data}\n\t\t\t\tshowPagination={showPagination}\n\t\t\t\tgetTableProps={getTableProps}\n\t\t\t\tgetTheadFilterThProps={getTheadFilterThProps}\n\t\t\t\tgetTheadGroupProps={getTheadGroupProps}\n\t\t\t\tgetTheadProps={getTheadProps}\n\t\t\t\tgetTheadThProps={getTheadThProps}\n\t\t\t\tgetTbodyProps={getTbodyProps}\n\t\t\t\tgetTrProps={this.getTrProps}\n\t\t\t\tgetTdProps={getTdProps}\n\t\t\t\tminRows={minRows}\n\t\t\t\tresizable={resizable}\n\t\t\t\tloading={loading}\n\t\t\t\tLoadingComponent={() => loading ? : null}\n\t\t\t\tsortable={sortable}\n\t\t\t\tPreviousComponent={p => (\n\t\t\t\t\t this.onPageChange(e, p.onClick)}\n\t\t\t\t\t\tdisabled={p.disabled}\n\t\t\t\t\t\tclassName=\"btn-link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\tNextComponent={p => (\n\t\t\t\t\t this.onPageChange(e, p.onClick)}\n\t\t\t\t\t\tdisabled={p.disabled}\n\t\t\t\t\t\tclassName=\"btn-link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\tonPageChange={onPageChange}\n\t\t\t\tnoDataText={!loading && noDataText}\n\t\t\t\tpage={page}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default DataTable;","import * as React from 'react';\nimport Utils from '../../common/utils';\nimport { Button } from '../buttons';\nimport classNames from 'classnames';\n\n// tslint:disable\nconst Modal = require('react-modal');\n// tslint:disable\n\ninterface IProps {\n\tclassName?: string;\n\theaderChildren?: {};\n\tchildren?: {};\n\tfooterChildren?: {};\n\tconfirmButtonChildren?: {};\n\tcancelButtonChildren?: {};\n\tconfirmButtonLink?: string;\n\tcancelButtonLink?: string;\n\tconfirmButtonAction?: (value?: {}) => void;\n\tcancelButtonAction?: (value?: {}) => void;\n\tisOpen: boolean;\n\tonRequestClose?: () => any;\n\thideCloseButton?: boolean;\n\tmodalSize?: string;\n}\n\nclass ModalOverlay extends React.Component {\n\tpublic componentWillMount() {\n\t\tModal.setAppElement('body');\n\t}\n\n\tpublic componentWillReceiveProps(nextProps: any) {\n\t\tif (nextProps.isOpen) {\n\t\t\tthis.handleOpen();\n\t\t} else {\n\t\t\tthis.handleClose();\n\t\t}\n\t}\n\n\tpublic componentWillUnmount() {\n\t\tthis.handleClose();\n\t}\n\n\tpublic handleOpen() {\n\t\tdocument.body.classList.add('modal-open');\n\t\tif (window.innerHeight < document.body.offsetHeight) {\n\t\t\tdocument.body.style.paddingRight = `${Utils.getScrollbarWidth()}px`;\n\t\t}\n\t}\n\n\tpublic handleClose() {\n\t\tdocument.body.classList.remove('modal-open');\n\t\tdocument.body.style.paddingRight = '';\n\t}\n\n\tpublic render() {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tisOpen,\n\t\t\tchildren,\n\t\t\tonRequestClose,\n\t\t\thideCloseButton,\n\t\t\theaderChildren,\n\t\t\tfooterChildren,\n\t\t\tcancelButtonChildren,\n\t\t\tcancelButtonAction,\n\t\t\tcancelButtonLink,\n\t\t\tconfirmButtonChildren,\n\t\t\tconfirmButtonAction,\n\t\t\tconfirmButtonLink,\n\t\t\tmodalSize\n\t\t} = this.props;\n\t\treturn (\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t{!hideCloseButton && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{headerChildren &&
{headerChildren}
}\n\t\t\t\t\t
{children}
\n\t\t\t\t\t{(footerChildren || cancelButtonChildren || confirmButtonChildren) && (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{cancelButtonChildren && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{confirmButtonChildren && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{footerChildren}\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default ModalOverlay;\n","import * as React from 'react';\nimport classNames from 'classnames';\n\nimport Utils from '../../common/utils';\n\ninterface IProps {\n\tchildren: {};\n\tclassName?: string;\n\ttitle?: string;\n}\n\nconst Page: React.FC = props => {\n\tconst { className, children, title } = props;\n\n\tReact.useEffect(() => {\n\t\tif (title && title !== '') {\n\t\t\tUtils.setDocTitle(props.title);\n\t\t}\n\t});\n\n\treturn (\n\t\t
\n\t\t\t{children}\n\t\t
\n\t);\n};\n\nexport default Page;\n","import * as React from 'react';\nimport classNames from 'classnames';\nimport { Link } from 'react-router-dom';\n\ninterface IProps {\n\ttitle?: string;\n\tclassName?: string;\n\tchildren?: {};\n\tparent?: string;\n\tparentRoute?: string;\n}\n\nconst PageHero: React.FC = (props) => {\n\tconst { title, className, parent, parentRoute, children } = props;\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{parent && parentRoute && < {parent.toUpperCase()}}\n\t\t\t\t{title &&

{title}

}\n\t\t\t
\n\t\t\t{children}\n\t\t
\n\t);\n};\n\nexport default PageHero;\n","import React from 'react';\nimport { NavLink, useLocation } from 'react-router-dom';\nimport classNames from 'classnames';\nimport { Utils } from 'common/utils';\n\ninterface ITab {\n\tid: number;\n\tto: string;\n\tlabel: string;\n}\n\ninterface IProps {\n\ttabs: ITab[];\n\tclassName?: string;\n}\n\nconst Tabs: React.FC = ( props ) => {\n\tlet location = useLocation();\n\n\tReact.useEffect(() => {\n\t\tUtils.setDocTitle(getTabTitle(location, props.tabs));\n\t}, [location, props.tabs])\n\n\treturn (\n\t\t
\n\t\t\t{props.tabs.map((tab) => (\n\t\t\t\t\n\t\t\t\t\t{tab.label}\n\t\t\t\t\n\t\t\t))}\n\t\t
\n\t);\n}\n\nfunction getTabTitle(location: any, tabs: any[]) {\n\tlet title = '';\n\n\tconst currentTab = tabs.find((tab: any) => {\n\t\treturn location && (tab.to === location.pathname);\n\t});\n\n\tif (currentTab) {\n\t\ttitle = currentTab.label;\n\t}\n\treturn title;\n}\n\nexport default Tabs;","import React, { createContext } from 'react';\nimport ReactGA from 'react-ga4';\nexport enum PlayerState {\n\tplaying,\n\tpaused,\n\tstarting,\n\tbuffering,\n\tseeking,\n\tinactive,\n}\n\ninterface IPlayerContext {\n\tplayerState: PlayerState;\n\tsetPlayerState: (value: React.SetStateAction) => void;\n\tactiveCardId: string | undefined;\n\tsetActiveCardId: (value: React.SetStateAction) => void;\n\tdurationAudio: number;\n\tsetDurationAudio: (value: React.SetStateAction) => void;\n\tpositionAudio: number;\n\tsetPositionAudio: (value: React.SetStateAction) => void;\n\tmanualPosition: number | undefined;\n\tsetManualPosition: (value: React.SetStateAction) => void;\n\ttogglePlayPause: () => void;\n\tplayerLarge: boolean;\n\tsetPlayerLarge: (value: boolean) => void;\n}\nconst PlayerContext = createContext({} as any);\n\nconst PlayerProvider = (props: any) => {\n\tconst [playerState, tempSetPlayerState] = React.useState(PlayerState.paused);\n\tconst setPlayerState = (state: React.SetStateAction) => {\n\t\tlet stateString = PlayerState[parseInt(state as unknown as string, 0)];\n\t\tReactGA.event({\n\t\t\tcategory: 'Player',\n\t\t\taction: stateString,\n\t\t});\n\t\ttempSetPlayerState(state);\n\t}\n\t//const [playerState, setPlayerState] = React.useState(PlayerState.paused);\n\tconst [activeCardId, setActiveCardId] = React.useState(undefined);\n\n\tconst [durationAudio, setDurationAudio] = React.useState(0.0);\n\tconst [positionAudio, setPositionAudio] = React.useState(0.0);\n\tconst [manualPosition, setManualPosition] = React.useState(undefined);\n\n\tconst [playerLarge, setPlayerLarge] = React.useState(false);\n\n\t//Auto Play segment when selected from card\n\tReact.useEffect(() => {\n\t\tif (activeCardId !== undefined) {\n\t\t\tsetPlayerState(PlayerState.playing);\n\t\t}\n\t}, [activeCardId]);\n\n\treturn (\n\t\t {\n\t\t\t\t\tif (value === true) {\n\t\t\t\t\t\tdocument.body.classList.add('overflow-hidden');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.body.classList.remove('overflow-hidden');\n\t\t\t\t\t}\n\t\t\t\t\tsetPlayerLarge(value);\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{props.children}\n\t\t\n\t)\n\n\tfunction togglePlayPause() {\n\t\tif (playerState === PlayerState.playing) {\n\t\t\tsetPlayerState(PlayerState.paused);\n\t\t} else {\n\t\t\tsetPlayerState(PlayerState.playing);\n\t\t}\n\t}\n}\n\nexport {\n\tPlayerContext,\n}\n\nexport default PlayerProvider;","import * as React from 'react';\nimport { Page, PageHero } from 'components/common';\n\nclass FourOhFourPage extends React.Component<{}, {}> {\n\n\tpublic render() {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t

404

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Page not found

\n\t\t\t\t\t

Sorry, I'm not sure how you got here but this place doesn't exist.

\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}\n\nexport default FourOhFourPage;\n","import React, { useCallback } from 'react';\nimport { message } from 'antd';\n\ntype IsMounted = () => boolean;\ntype Effect = (isMounted: IsMounted) => Promise;\n\nconst useEffectAsync = (effect: Effect) => {\n\n\tconst memoizedEffect = useCallback(effect, []);\n\n\tReact.useEffect(() => {\n\n\t\tlet mounted: boolean = true;\n\n\t\tconst isMounted: IsMounted = () => mounted;\n\n\t\ttry {\n\t\t\tmemoizedEffect(isMounted);\n\t\t} catch (error) {\n\t\t\tconst { message: msg } = error && error.response && error.response.data;\n\t\t\tif (msg) {\n\t\t\t\tmessage.error({\n\t\t\t\t\tmessage: msg\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn () => {\n\t\t\tmounted = false;\n\t\t};\n\n\t}, [memoizedEffect]);\n\n};\n\nexport default useEffectAsync;","import axios from 'axios';\nconst apiUrl = process.env.REACT_APP_API_URL;\n\nconst getCKUAData = async () => {\n let api = apiUrl ?? '';\n\n try {\n const res = await axios.get(api);\n return res.data as CKUADataDTO;\n } catch (error) {\n console.error('Error fetching CKUA data:', error);\n throw error;\n }\n};\n\nexport default getCKUAData;\n","import useEffectAsync from 'components/customHooks/useEffectAsync';\nimport { IPlayListData } from 'components/player/PlayList';\nimport moment from 'moment';\nimport getCKUAData from 'playerapi/ckuaAPI';\nimport React, { createContext, useContext } from 'react';\nimport { useEffect, useLayoutEffect } from 'react';\nimport ReactGA from 'react-ga4';\nimport { PlayerContext, PlayerState } from './PlayerContext';\n\n//TODO - Add context for Featured Shows, Recently Added, Expiring Soon, Featured Hosts, etc\ninterface IProgrammeContext {\n\tisLoading: boolean;\n\tallProgrammes?: CKUADataDTO;\n\tselectedAudio?: AudioView;\n\tupdateSelectedAudio: (cardId: string, segment: AudioView) => void;\n\tfeaturedProgramme?: SegmentView[];\n\tfeaturedHost?: HostView[];\n\trecentlyAddedProgrammes?: ProgrammeView[];\n\texpiringSoonProgrammes?: ProgrammeView[];\n\thosts?: HostView[];\n\tprogrammes?: ProgrammeView[];\n\tsegments?: SegmentView[];\n}\n\n// type audioType = 'segment' | 'host'\ninterface AudioView {\n\tid?: number;\n\tstreamURL?: string;\n\tduration?: number;\n\tname?: string;\n\tdescription?: string;\n\timage?: string;\n\tfilename?: string;\n\tprogramme?: ProgrammeView;\n\thostName?: string;\n\tairDate?: string;\n\tplaylistSong?: IPlayListData[];\n\tfeatured?: boolean;\n\texpiringSoon?: boolean;\n\trecentlyAdded?: boolean;\n\tmp3Stream?: string;\n\t// audioType: audioType;\n}\n\n\n\nconst ProgrammeContext = createContext({} as any);\n\nconst ProgrammeProvider = (props: any) => {\n\tconst playerContext = useContext(PlayerContext);\n\tconst [isLoading, setIsLoading] = React.useState(true);\n\tconst [allData, setAllData] = React.useState(undefined);\n\tconst [hosts, setHosts] = React.useState([]);\n\tconst [programmes, setProgrammes] = React.useState([]);\n\tconst [segments, setSegments] = React.useState([]);\n\tconst [expiringSoon, setExpiringSoon] = React.useState([]);\n\tconst [recentlyAdded, setRecentlyAdded] = React.useState([]);\n\tconst [selectedAudio, setSelectedAudio] = React.useState(undefined);\n\n\tuseEffectAsync(async (isMounted: any) => {\n\t\tonLoad(isMounted);\n\t});\n\tuseLayoutEffect(() => {\n\t\tdocument.addEventListener('visibilitychange', onVisibilityChange);\n\t\treturn () => document.removeEventListener('visibilitychange', onVisibilityChange);\n\t}, []);\n\treturn (\n\t\t\n\t\t\t{props.children}\n\t\t\n\t)\n\n\t//TODO - Check if isMounted needed?\n\tasync function onLoad(isMounted: any) {\n\t\tsetIsLoading(true);\n\t\tconst allNewData = await getCKUAData();\n\t\tif (isMounted()) {\n\t\t\tsetAllData(allNewData);\n\t\t\tsetIsLoading(false);\n\t\t}\n\n\t\tif (allNewData.segments !== undefined) {\n\t\t\t//console.log('hosts', allNewData.hosts);\n\t\t\tconst validSegments = allNewData.segments.filter((item: any) => item.streamURL !== undefined);\n\t\t\tsetSegments(validSegments);\n\t\t\tsetExpiringSoon(getExpiringSoon(validSegments));\n\t\t\tsetRecentlyAdded(getRecentlyAdded(validSegments));\n\t\t}\n\t\tif (allNewData.hosts !== undefined && allNewData.hosts?.length > 0) {\n\t\t\tsetHosts(allNewData.hosts);\n\t\t}\n\t\tif (allNewData.programmes !== undefined && allNewData.programmes?.length > 0) {\n\t\t\tsetProgrammes(allNewData.programmes)\n\t\t}\n\n\t\tinitateFirstFeaturedSegment(allNewData);\n\n\n\t}\n\tfunction onVisibilityChange() {\n\t\tif (document.visibilityState === 'visible') {\n\t\t\tgetCKUAData();\n\t\t}\n\t};\n\t//Toggles the play/pause if segment already set to card. Otherwise updates segment to new card and auto plays.\n\tfunction updateSelectedAudio(cardId: string, segment: AudioView) {\n\t\t// Safari (iOS & MAC) needs playerContext.activeCardId === undefined to handle the first click situation, not sure why but this fixes it remove at your peril\n\t\tif (selectedAudio && segment.id === selectedAudio.id) {\n\t\t\tplayerContext.togglePlayPause();\n\t\t} else {\n\t\t\tplayerContext.setPlayerState(PlayerState.paused); //Pause required so autoplay can trigger\n\t\t\tsetSelectedAudio(segment);\n\n\t\t\tplayerContext.setActiveCardId(cardId);\n\t\t\tReactGA.gtag('event', 'Player', {\n\t\t\t\tsegment: segment.id,\n\t\t\t\tprogramme: segment.programme || '',\n\t\t\t\thost: segment.hostName || segment.name,\n\t\t\t\tairDate: segment.airDate,\n\t\t\t\tfeatured: segment.featured || false,\n\t\t\t\trecentlyAdded: segment.recentlyAdded || false,\n\t\t\t\texpiringSoon: segment.expiringSoon || false,\n\t\t\t\thostAudio: !segment.id && true\n\t\t\t})\n\t\t\t// scroll to top for playlist\n\t\t\tconst eleWebs = document.getElementsByClassName('player-2')\n\t\t\tif (eleWebs.length > 0) {\n\t\t\t\teleWebs[0].scrollTo({\n\t\t\t\t\ttop: 0,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t})\n\t\t\t};\n\t\t\t// set and reset overflow to scroll mobile player to top, as cannot change scroll pos when overflow:hidden\n\t\t\t// const ele = document.getElementById('mobile-player');\n\t\t\t// if (ele) {\n\t\t\t// \tele.classList.add('overflow-auto');\n\t\t\t// \tele.scrollTo({\n\t\t\t// \t\ttop: 0\n\t\t\t// \t});\n\t\t\t// \tele.classList.remove('overflow-auto');\n\t\t\t// }\n\t\t}\n\t}\n\n\tfunction initateFirstFeaturedSegment(showData: CKUADataDTO) {\n\t\tif (showData.programmes !== undefined && showData.programmes?.length > 0 && showData.segments !== undefined && showData.segments?.length > 0) {\n\t\t\tconst featuredProgrammes = showData.programmes.filter((item) => (item.featured === true));\n\t\t\tfeaturedProgrammes.every((programme) => {\n\t\t\t\tconst matchedSegments = showData.segments?.filter((segment) => (segment.programmeId === programme.id)).sort(\n\t\t\t\t\t(a, b) => (moment.utc(a.expiryDate).diff(moment.utc(b.expiryDate)))\n\t\t\t\t)\n\t\t\t\tif (matchedSegments !== undefined && matchedSegments.length > 0) {\n\t\t\t\t\tconst matchedSegment = matchedSegments[0]\n\t\t\t\t\tsetSelectedAudio(matchedSegment);\n\t\t\t\t\t// if(matchedSegment.id){\n\t\t\t\t\t// \tplayerContext.setActiveCardId(matchedSegment.id+'');\n\t\t\t\t\t// }\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\n\tfunction getExpiringSoon(segments: SegmentView[]) {\n\t\tconst segmentsExpiringSoon = segments?.sort(\n\t\t\t(a, b) => (moment.utc(a.expiryDate).diff(moment.utc(b.expiryDate)))\n\t\t).slice(0, 4);\n\t\treturn segmentsExpiringSoon.map(item => ({ ...item, expiringSoon: true }));\n\t}\n\n\tfunction getRecentlyAdded(segments: SegmentView[]) {\n\t\tconst segmentsRecentlyAdded = segments?.filter((item) => moment.utc(item.airDate).diff(moment()) < 0).sort(\n\t\t\t(a, b) => (moment.utc(b.airDate).diff(moment()) - moment.utc(a.airDate).diff(moment()))\n\t\t).slice(0, 4);\n\t\treturn segmentsRecentlyAdded.map(item => ({ ...item, recentlyAdded: true }));\n\t}\n\n\tfunction getFeaturedHosts(hosts: HostView[]): HostView[] {\n\t\tconst featuredHosts = hosts.filter((item) => (item.featured === true)).slice(0, 3);\n\t\treturn featuredHosts;\n\t}\n\n\tfunction getFeaturedShows(programmes: ProgrammeView[]): SegmentView[] {\n\t\tconst featuredProgrammes = programmes.filter((item) => (item.featured === true));\n\t\tconst featuredShowsSegments: SegmentView[] = []\n\t\tfeaturedProgrammes.forEach((programme) => {\n\t\t\tlet matchedSegments = segments.filter((segment) => (segment.programmeId === programme.id));\n\t\t\tif (matchedSegments.length > 0) {\n\t\t\t\tconst matchedSegment = { ...matchedSegments[0], featured: true }\n\t\t\t\tfeaturedShowsSegments.push(matchedSegment);\n\t\t\t}\n\t\t});\n\t\treturn featuredShowsSegments.slice(0, 3);\n\t}\n}\n\nexport {\n\tProgrammeContext,\n};\n\nexport default ProgrammeProvider;","import { faPlay, IconDefinition } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { IconButton } from 'components/buttons';\nimport React, { SyntheticEvent } from 'react';\n\nimport classNames from 'classnames';\nimport { SizeProp } from '@fortawesome/fontawesome-svg-core';\n\ninterface IProps {\n\ticon?: IconDefinition;\n\ticonSize?: SizeProp;\n\tonClick?: ((value?: {} | undefined) => void) | undefined;\n\tclassName?: string;\n\tbtnClassName?: string;\n\tdisabled?: boolean;\n\tloading?: boolean;\n}\n\nconst PlayButton: React.FC = (props) => {\n\treturn (\n\t\t
\n\t\t\t {\n\t\t\t\t\tif(props.onClick){\n\t\t\t\t\t\tprops.onClick();\n\t\t\t\t\t}\n\t\t\t\t\t(e as SyntheticEvent).stopPropagation()}}\n\t\t\t\ticon={}\n\t\t\t\tdisabled={props.disabled || false}\n\t\t\t\tloading={props.loading}\n\t\t\t/>\n\t\t
\n\t)\n}\n\nexport default PlayButton;","export const isValidHttpUrl = (text: string) => {\n\tlet url;\n\n\ttry {\n\t\turl = new URL(text);\n\t} catch (_) {\n\t\treturn false;\n\t}\n\n\treturn url.protocol === 'http:' || url.protocol === 'https:';\n}\n\n\n\n\n\nexport\tconst SKIP_BACK_SECONDS= 15;\nexport\tconst SKIP_FORWARD_SECONDS = 15;\n","import React, { useContext } from 'react';\nimport SegmentPlaceholder from 'assets/img/Segment-Placeholder.png'\nimport moment from 'moment';\nimport classNames from 'classnames';\nimport PlayButton from './PlayButton';\nimport { ProgrammeContext } from 'context/ProgrammeContext';\nimport { isValidHttpUrl } from 'utils/helper';\nimport { PlayerContext, PlayerState } from 'context/PlayerContext';\nimport { faPlay, faPause } from '@fortawesome/free-solid-svg-icons';\n\ninterface IProps {\n\tid: string;\n\tsegment: SegmentView;\n}\n\nconst SegmentCard: React.FC = (props) => {\n\tconst { id, segment } = props;\n\n\tconst programmeContext = useContext(ProgrammeContext);\n\tconst playerContext = useContext(PlayerContext);\n\t\n\tconst airDate = moment(segment.airDate);\n\tconst expiryDate = airDate.add(1, \"week\").endOf(\"day\"); // End of the same day next week\n\tconst now = moment();\n\tconst numberOfDaysUntilExpiry = expiryDate.diff(now, \"days\"); // Difference in days\n\t\n\tconst buttonIcon = (playerContext.playerState === PlayerState.playing && (playerContext.activeCardId === id || programmeContext.selectedAudio?.id + '' === id)) ? faPause : faPlay;\n\n\tconst segmentImage = isValidHttpUrl(segment?.programme?.image!) ? segment?.programme?.image! : SegmentPlaceholder;\n\treturn (\n\t\t
\n\t\t\t\"CKUA\"\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t{segment.programme?.name}\n\t\t\t\t\t{segment.hostName}\n\t\t\t\t\t{moment(segment.airDate).local().format('ddd, MMM DD')}\n\t\t\t\t
\n\t\t\t\t programmeContext.updateSelectedAudio(id, segment)}\n\t\t\t\t\ticon={buttonIcon}\n\t\t\t\t\ticonSize=\"lg\"\n\t\t\t\t\tbtnClassName=\"btn-circle-card\"\n\t\t\t\t/>\n\t\t\t
\n\t\t
\n\t);\n}\n\ninterface IExpiresInBadge {\n\texpiresIn: number;\n}\n\nconst ExpiresInBadge: React.FC = (props: IExpiresInBadge) => {\n\tconst message = props.expiresIn < 1 ? 'Expires today' : (props.expiresIn === 1 ? 'Expires tomorrow' : `Expires in ${props.expiresIn} days`);\n\n\treturn (\n\t\t\n\t\t\t{message}\n\t\t
\n\t)\n}\n\nexport default SegmentCard;\n","import React, { useContext } from 'react';\nimport { ProgrammeContext } from 'context/ProgrammeContext';\nimport SegmentCard from './SegmentCard';\nimport { Link } from 'react-router-dom';\n\ninterface IProps {\n}\n\nconst ExpiringSoon: React.FC = (props) => {\n\tconst programmeContext = useContext(ProgrammeContext);\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Expiring Soon

\n\t\t\t\t\t\tall episodes\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{programmeContext.expiringSoonProgrammes?.map((item) => {\n\t\t\t\t\t\t\t// const cardKey = `expiring-soon-SegmentCard-${item.id}`;\n\t\t\t\t\t\t\tconst cardKey = `${item.id}`;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default ExpiringSoon;\n","import React from 'react';\nimport HostPlaceholder from 'assets/img/Host-Placeholder.png'\nimport classNames from 'classnames';\nimport PlayButton from './PlayButton';\nimport { isValidHttpUrl } from 'utils/helper';\nimport { PlayerContext, PlayerState } from 'context/PlayerContext';\nimport { ProgrammeContext } from 'context/ProgrammeContext';\nimport { faPlay, faPause } from '@fortawesome/free-solid-svg-icons';\nimport { Link, useHistory } from 'react-router-dom';\n\ninterface IProps {\n\tid: string;\n\tclassName?: string;\n\tstyle?: {};\n\thost: HostView;\n\tsimple: boolean;\n}\n\nconst HostCard: React.FC = (props) => {\n\tconst { host, id } = props;\n\tconst programmeContext = React.useContext(ProgrammeContext);\n\tconst playerContext = React.useContext(PlayerContext);\n\tconst cardId = 'host-' + id;\n\tconst hostImage = host.image && isValidHttpUrl(host.image!) ? host.image! : HostPlaceholder;\n\tconst buttonIcon = (playerContext.playerState === PlayerState.playing && playerContext.activeCardId === cardId) ? faPause : faPlay;\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t programmeContext.updateSelectedAudio(cardId, host)}\n\t\t\t\t>\n\t\t\t\t\t\"CKUA\"\n\t\t\t\t\t{\n\t\t\t\t\t\thost.streamURL && isValidHttpUrl(host.streamURL) &&\n\t\t\t\t\t\t programmeContext.updateSelectedAudio(cardId, host)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{props.simple ?\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{host.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\t:\n\t\t\t\t\t\t{host.name}\n\t\t\t\t\t}\n\t\t\t\t\t{!props.simple &&\n\t\t\t\t\t\t{host.description}}\n\t\t\t\t\t{!props.simple &&\n\t\t\t\t\t\tLearn More\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n}\n\nexport default HostCard;","import { ProgrammeContext } from 'context/ProgrammeContext';\nimport React, { useContext } from 'react';\nimport { Link } from 'react-router-dom';\nimport HostCard from './HostCard';\n\ninterface IProps {\n}\n\nconst FeaturedHosts: React.FC = (props) => {\n\tconst programmeContext = useContext(ProgrammeContext);\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Featured Hosts

\n\t\t\t\t\t\tall hosts\n\t\t\t\t\t
\n\t\t\t\t\tGet to know a little about the hosts behind the shows\n\t\t\t\t\t
\n\t\t\t\t\t\t{programmeContext.featuredHost?.map((item)=> {\n\t\t\t\t\t\t\tconst cardKey = `featured-hostCard-${item.id}`;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default FeaturedHosts;","import React, { useContext } from 'react';\nimport { ProgrammeContext } from 'context/ProgrammeContext';\nimport SegmentCard from './SegmentCard';\nimport { Link } from 'react-router-dom';\n\ninterface IProps {\n}\n\nconst RecentlyAdded: React.FC = (props) => {\n\tconst programmeContext = useContext(ProgrammeContext);\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Recently Added

\n\t\t\t\t\t\tall episodes\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{programmeContext.recentlyAddedProgrammes?.map((item) => {\n\t\t\t\t\t\t\t// const cardKey = `recent-SegmentCard-${item.id}`;\n\t\t\t\t\t\t\tconst cardKey = `${item.id}`;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default RecentlyAdded;\n","var _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M12.5 11H11.71L11.43 10.73C12.41 9.59 13 8.11 13 6.5C13 2.91 10.09 0 6.5 0C2.91 0 0 2.91 0 6.5C0 10.09 2.91 13 6.5 13C8.11 13 9.59 12.41 10.73 11.43L11 11.71V12.5L16 17.49L17.49 16L12.5 11V11ZM6.5 11C4.01 11 2 8.99 2 6.5C2 4.01 4.01 2 6.5 2C8.99 2 11 4.01 11 6.5C11 8.99 8.99 11 6.5 11Z\"\n});\n\nvar SvgIconSearch = function SvgIconSearch(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgIconSearch, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/icon-search.32494d16.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useContext } from 'react';\nimport SegmentPlaceholder from 'assets/img/Segment-Placeholder.png'\nimport { ProgrammeContext } from 'context/ProgrammeContext';\nimport PlayButton from './PlayButton';\nimport { isValidHttpUrl } from 'utils/helper';\nimport { PlayerContext, PlayerState } from 'context/PlayerContext';\nimport { faPlay, faPause } from '@fortawesome/free-solid-svg-icons';\n\ninterface IProps extends React.HTMLAttributes {\n\tid: string;\n\tfeaturedSegment: SegmentView;\n}\n\nconst FeaturedShowCard: React.FC = (props) => {\n\tconst { id, featuredSegment } = props;\n\n\tconst programmeContext = useContext(ProgrammeContext);\n\tconst playerContext = useContext(PlayerContext);\n\n\tconst showImage = isValidHttpUrl(featuredSegment?.programme?.image!) ? featuredSegment?.programme?.image! : SegmentPlaceholder;\n\tconst buttonIcon = (playerContext.playerState === PlayerState.playing && (playerContext.activeCardId === id || programmeContext.selectedAudio?.id + '' === id)) ? faPause : faPlay;\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\"CKUA\"\n\t\t\t\t\t programmeContext.updateSelectedAudio(id, featuredSegment)}\n\t\t\t\t\t\ticon={buttonIcon}\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{featuredSegment?.programme?.name ?? '[No Name]'}\n\t\t\t\t\t{featuredSegment?.hostName! ?? '[No Host]'}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default FeaturedShowCard;\n\n","import React, { useEffect, useState } from 'react';\nimport WbSunny from 'assets/icons/icon-wb_sunny.svg';\nimport WbCloud from 'assets/icons/icon-wb_cloud.svg';\nimport WbMoon from 'assets/icons/icon-wb_moon.svg';\nimport moment from 'moment';\n\ninterface IProps {\n\n}\ninterface IState {\n\tcurrentGreeting: string;\n\tgreetingMessage: string;\n\ticonString: string;\n}\n\nconst initialState: IState = {\n\tcurrentGreeting: 'Good Morning',\n\tgreetingMessage: 'Sip on your morning coffee while listening to your favourite show',\n\ticonString: WbSunny\n}\n\nconst WelcomeMessages: React.FC = () => {\n let currentHour = moment().hour();\n const [state, setState] = useState(initialState)\n useEffect(() => {\n if (currentHour >= 5 && currentHour < 12) {\n setState({\n currentGreeting: 'Good Morning',\n greetingMessage: 'Sip on your morning coffee while listening to your favourite show',\n iconString: WbSunny\n });\n } else if (currentHour >= 12 && currentHour < 18) {\n setState({\n currentGreeting: 'Good Afternoon',\n greetingMessage: 'Today is a great day to discover something new!',\n iconString: WbCloud\n });\n } else if (currentHour >= 18 || currentHour < 5) {\n setState({\n currentGreeting: 'Good Evening',\n greetingMessage: 'Wind down tonight with some of your favourite hosts',\n iconString: WbMoon\n });\n\t\t} else {\n\t\t\tsetState(initialState);\n\t\t}\n\t}, [currentHour])\n\n\treturn (\n\t\t
\n\t\t\t{/*
*/}\n\t\t\t

{state.currentGreeting}\n\t\t\t\t\"Sunny\"\n\t\t\t

\n\t\t\t{/*
*/}\n\t\t\t{state.greetingMessage}\n\t\t
\n\t);\n}\n\nexport default WelcomeMessages;","import { Button } from 'components/buttons';\nimport { Link } from 'react-router-dom';\nimport React, { useContext } from 'react';\nimport { ReactComponent as Search } from 'assets/icons/icon-search.svg';\nimport FeaturedShowCard from 'components/ckua/FeaturedShowCard';\nimport { ProgrammeContext } from 'context/ProgrammeContext';\nimport WelcomeMessages from 'components/ckua/WelcomeMessages';\n\nconst WelcomeBanner: React.FC = () => {\n\tconst programmeContext = useContext(ProgrammeContext);\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t

Featured Shows

\n all shows\n
\n

Play the most recent recording from our feature shows

\n
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t{programmeContext.featuredProgramme && programmeContext.featuredProgramme?.length > 0 && (\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{programmeContext.featuredProgramme?.map((item) => {\n\t\t\t\t\t\t\t\t\t// const cardKey = `featured-card-${item.id}`;\n\t\t\t\t\t\t\t\t\tconst cardKey = `${item.id}`;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t)}\n\t\t
\n\t);\n};\n\nexport default WelcomeBanner;","import React from 'react';\nimport { Link } from 'react-router-dom';\nimport Button from './Button';\n\nconst DonateButton: React.FC = () => {\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n}\n\nexport default DonateButton;","import React from 'react';\nimport ExpiringSoon from 'components/ckua/ExpiringSoon';\nimport FeaturedHosts from 'components/ckua/FeaturedHosts';\nimport RecentlyAdded from 'components/ckua/RecentlyAdded';\nimport WelcomeBanner from 'components/homePage/WelcomeBanner';\nimport DonateButton from 'components/buttons/DonateButton';\n\ninterface IProps {\n\tclassName?: string;\n}\n\nconst LandingPage = (props: IProps) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t)\n};\n\nexport default LandingPage;\n\n\n\n\n","import React from 'react'\n// import loader from './loader';\nimport { RefObject } from 'react';\nimport { PlayerState } from 'context/PlayerContext';\n\ninterface IAzurePlayerProps {\n\tsource: string;\n\tduration: number;\n\tplayerState: PlayerState;\n\tsetPositionAudio: React.Dispatch>;\n\tsetDurationAudio: React.Dispatch>;\n\tmanualPosition: number | undefined;\n}\n\ndeclare const window: any;\n\nexport default class AppleiOSPlayer extends React.Component {\n\taudioNode: RefObject;\n\tplayPromise: Promise | null = null; // Tracks the play promise\n\tconstructor(props: IAzurePlayerProps) {\n\t\tsuper(props);\n\t\tthis.audioNode = React.createRef();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (this.audioNode.current) {\n\t\t\tthis.audioNode.current.removeEventListener(\n\t\t\t\t\"durationchange\",\n\t\t\t\tthis._updateDuration\n\t\t\t);\n\t\t\tthis.audioNode.current.removeEventListener(\n\t\t\t\t\"timeupdate\",\n\t\t\t\tthis._updatetime\n\t\t\t);\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.audioNode.current) {\n\t\t\tthis.audioNode.current.addEventListener(\n\t\t\t\t\"timeupdate\",\n\t\t\t\tthis._updatetime.bind(this)\n\t\t\t);\n\t\t\tthis.audioNode.current.addEventListener(\n\t\t\t\t\"durationchange\",\n\t\t\t\tthis._updateDuration.bind(this)\n\t\t\t);\n\t\t}\n\t\tthis._setAudio();\n\t}\n\n\tcomponentDidUpdate(prevProps: IAzurePlayerProps) {\n\t\tif (prevProps.playerState !== this.props.playerState) {\n\t\t\tif (this.props.playerState === PlayerState.playing) {\n\t\t\t\tthis.playAudio();\n\t\t\t}\n\t\t\tif (this.props.playerState === PlayerState.paused) {\n\t\t\t\tthis.pauseAudio();\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tthis.props.manualPosition !== undefined &&\n\t\t\tprevProps.manualPosition !== this.props.manualPosition\n\t\t) {\n\t\t\tthis.seekToPosition(this.props.manualPosition);\n\t\t}\n\n\t\tif (prevProps.source !== this.props.source) {\n\t\t\tthis._setAudio();\n\t\t}\n\t}\n\n\tplayAudio = async () => {\n\t\tif (this.audioNode.current) {\n\t\t\ttry {\n\t\t\t\tthis.playPromise = this.audioNode.current.play();\n\t\t\t\tawait this.playPromise;\n\t\t\t} catch (e) {\n\t\t\t\t// console.error(\"Play error:\", e);\n\t\t\t\tsetTimeout(() => this.playAudio(), 500); // Retry after 500ms\n\t\t\t}\n\t\t}\n\t};\n\n\t/** Pause function that waits for play to resolve before pausing */\n\tpauseAudio = () => {\n\t\tif (this.audioNode.current) {\n\t\t\tif (this.playPromise) {\n\t\t\t\tthis.playPromise\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tif (this.audioNode.current) {\n\t\t\t\t\t\t\tthis.audioNode.current.pause();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tsetTimeout(() => this.pauseAudio(), 500); // Retry pause after 500ms\n\t\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.audioNode.current.pause();\n\t\t\t}\n\t\t}\n\t};\n\n\t/** Seek to a specific position in the audio */\n\tseekToPosition = (position: number) => {\n\t\tif (this.audioNode.current) {\n\t\t\tthis.audioNode.current.pause();\n\t\t\tthis.audioNode.current.currentTime = position;\n\t\t\tthis.playAudio();\n\t\t}\n\t};\n\n\t_updatetime = () => {\n\t\tif (this.audioNode.current) {\n\t\t\tthis.props.setPositionAudio(this.audioNode.current.currentTime);\n\t\t}\n\t};\n\n\t_fetchAndParseM3U8 = async (url: string) => {\n\t\ttry {\n\t\t\tconst response = await fetch(url);\n\t\t\tconst text = await response.text();\n\n\t\t\t// Parse the m3u8 file line by line\n\t\t\tconst lines = text.split(\"\\n\");\n\t\t\tvar duration = 0;\n\t\t\tfor (let line of lines) {\n\t\t\t\tif (line.startsWith(\"#EXT-X-TARGETDURATION:\")) {\n\t\t\t\t\tduration = parseInt(line.split(\":\")[1], 10); // Extract the duration\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.props.setDurationAudio(duration);\n\t\t} catch (error) {\n\t\t\t// console.error(\"Error fetching or parsing the .m3u8 file:\", error);\n\t\t}\n\t}\n\n\tasync _updateDuration() {\n\t\ttry {\n\t\t\tthis.props.setDurationAudio(this.props.duration)\n\t\t}\n\t\tcatch (err) {\n\t\t\t// console.log(\"Duration error\", err)\n\t\t}\n\t}\n\n\t_setAudio() {\n\t\ttry {\n\t\t\tconst appl = this.props.source.replace('(format=mpd-time-csf)', '(format=m3u8-cmaf)')\n\t\t\t//console.log('apple ' + appl);\n\t\t\tif(this.audioNode.current) this.audioNode.current.src = appl;\n\t\t\t// use this for testing as the stream will now only work in apple ios\n\t\t\t//this.audioNode.current.src = 'https://filesamples.com/samples/audio/mp3/Symphony%20No.6%20(1st%20movement).mp3'\n\n\t\t} catch (err) {\n\t\t\t// console.log('Set Episode Error: ', err);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t
\n\t\t\t\t
\n\t\t);\n\t}\n}\n","import React, { SyntheticEvent } from 'react';\nimport { faPause, faPlay, faTimesCircle } from '@fortawesome/free-solid-svg-icons';\nimport { PlayerState } from 'context/PlayerContext';\nimport PlayButton from 'components/ckua/PlayButton';\n\ninterface IPlayButtonProps {\n\tonPauseClick: () => void;\n\tonPlayClick: () => void;\n\tplayState: PlayerState;\n}\n\nconst PlayerButton: React.FC = ({ playState = PlayerState.paused, onPauseClick, onPlayClick }) => {\n\tconst playBtn =\n\t\t\n\tconst pauseBtn =\n\t\t\n\tconst loadingBtn =\n\t\t\n\tconst disabledBtn =\n\t\t\n\n\tswitch (playState) {\n\t\tcase PlayerState.playing:\n\t\t\treturn (pauseBtn)\n\t\tcase PlayerState.paused:\n\t\t\treturn (playBtn)\n\t\t// case PlayerState.starting:\n\t\t// case PlayerState.buffering:\n\t\tcase PlayerState.seeking:\n\t\t\treturn (loadingBtn)\n\t\t// case PlayerState.inactive:\n\t\tdefault:\n\t\t\treturn (disabledBtn)\n\t}\n}\n\nexport default PlayerButton;","import classNames from \"classnames\";\nimport { PlayerContext, PlayerState } from \"context/PlayerContext\";\nimport React, { useContext } from \"react\";\n\ninterface IProps {\n\tid: string;\n\tclassName?: string;\n}\n\nconst PlayerBar: React.FC = (props: IProps) => {\n\tconst playerContext = useContext(PlayerContext);\n\tReact.useEffect(\n\t\t() => {\n\t\t\tupdateSlider();\n\t\t\t// eslint-disable-next-line\n\t\t},\n\t\t[playerContext.positionAudio]\n\t);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n\n\tfunction updateSlider() {\n\t\tif (playerContext.positionAudio >= 0 && playerContext.durationAudio > 0) {\n\t\t\tconst value =\n\t\t\t\t(playerContext.positionAudio / playerContext.durationAudio) * 100 + \"%\";\n\t\t\tif (document.getElementById(props.id) !== null) {\n\t\t\t\tdocument\n\t\t\t\t\t.getElementById(props.id)!\n\t\t\t\t\t.style.setProperty(\"--sliderValue\", value);\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction handleScrubberChange(e: any) {\n\t\tconst value = Number(e.target.value);\n\t\tplayerContext.setPositionAudio(value);\n\t}\n\n\tfunction handleScrubberEventEnd(e: any) {\n\t\tconst value = Number(e.target.value);\n\t\tplayerContext.setManualPosition(value);\n\t\tplayerContext.setPlayerState(PlayerState.playing);\n\t}\n\n\tfunction handleScrubberEventStart() {\n\t\tplayerContext.setPlayerState(PlayerState.paused);\n\t}\n};\n\nexport default PlayerBar;","import { ProgrammeContext } from 'context/ProgrammeContext';\nimport moment from 'moment';\nimport React, { useContext } from 'react';\nimport Marquee from 'react-fast-marquee';\n\nconst PlayerInformation: React.FC = () => {\n\tconst programmeContext = useContext(ProgrammeContext);\n\tconst segmentName = programmeContext?.selectedAudio?.programme?.name ?? (programmeContext?.selectedAudio?.name || '[No Name]');\n\tconst segmentDate = programmeContext?.selectedAudio?.airDate ? moment(programmeContext?.selectedAudio?.airDate).local().format('MMM DD') : undefined;\n\tconst marqueeText = segmentDate !== undefined ? segmentName + ' - ' + segmentDate : segmentName;\n\tconst segmentNameElement = document.getElementById('mobile-player') || null;\n\tlet marqueeLength = 17\n\tif(segmentNameElement && segmentNameElement.getBoundingClientRect()){\n\t\tconst size = segmentNameElement.getBoundingClientRect()\n\t\tconst width = size.right - size.left;\n\t\t// console.log(width);\n\t\tif(width<768){\n\t\t\tmarqueeLength = (width-144)/10;\n\t\t\t// console.log(marqueeLength);\n\t\t}\n\t}\n\tconst enableMarquee = marqueeText.length > marqueeLength ? true : false;\n\tconst hostName = programmeContext?.selectedAudio?.hostName;\n\n\treturn(\n\t\t\n\t\t\t
\n\t\t\t\t{enableMarquee ?\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{marqueeText}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t:\n\t\t\t\t\t\n\t\t\t\t\t\t{marqueeText}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t{hostName !== undefined &&\n\t\t\t\t\t{hostName}\n\t\t\t\t}\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default PlayerInformation;","export const handleShare = async (programmeName: string) => {\n\tlet navigator1: any;\n\tnavigator1 = window.navigator\n\tconst url = process.env.PUBLIC_URL + '/search/shows/' + encodeURIComponent(programmeName);\n\n\tconst shareData = {\n\t\ttitle: 'CKUA OnDemand',\n\t\ttext: 'Listen to CKUA OnDemand!',\n\t\turl: url,\n\t}\n\ttry {\n\t\tawait navigator1.share(shareData)\n\t\tconsole.log('success');\n\t} catch (err) {\n\t\tconsole.log('Error: ' + err);\n\t}\n}","var _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M12 4L10.58 5.42L8.99 3.83V15H7.01V3.83L5.42 5.42L4 4L8 0L12 4ZM16 9V20C16 21.1 15.1 22 14 22H2C0.89 22 0 21.1 0 20V9C0 7.89 0.89 7 2 7H5V9H2V20H14V9H11V7H14C15.1 7 16 7.89 16 9Z\",\n fill: \"white\"\n});\n\nvar SvgIconPlayerShare = function SvgIconPlayerShare(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 22,\n viewBox: \"0 0 16 22\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgIconPlayerShare, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/icon-player-share.ed05a9d7.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M1.83334 4.66667H13.5C14.1417 4.66667 14.6667 5.19167 14.6667 5.83333C14.6667 6.475 14.1417 7 13.5 7H1.83334C1.19167 7 0.666672 6.475 0.666672 5.83333C0.666672 5.19167 1.19167 4.66667 1.83334 4.66667ZM1.83334 0H13.5C14.1417 0 14.6667 0.525 14.6667 1.16667C14.6667 1.80833 14.1417 2.33333 13.5 2.33333H1.83334C1.19167 2.33333 0.666672 1.80833 0.666672 1.16667C0.666672 0.525 1.19167 0 1.83334 0ZM1.83334 9.33333H8.83334C9.47501 9.33333 10 9.85833 10 10.5C10 11.1417 9.47501 11.6667 8.83334 11.6667H1.83334C1.19167 11.6667 0.666672 11.1417 0.666672 10.5C0.666672 9.85833 1.19167 9.33333 1.83334 9.33333ZM12.3333 10.36V15.295C12.3333 15.75 12.8233 16.03 13.22 15.7967L17.3383 13.3233C17.7117 13.1017 17.7117 12.5533 17.3383 12.32L13.22 9.84667C12.8233 9.625 12.3333 9.905 12.3333 10.36Z\",\n fill: \"white\"\n});\n\nvar SvgIconPlaylist = function SvgIconPlaylist(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 16,\n viewBox: \"0 0 18 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgIconPlaylist, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/icon-playlist.e85f2f42.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\n// import { data as playListData } from './playlistdata';\nimport { ReactComponent as PlaylistIcon } from 'assets/icons/icon-playlist.svg';\nimport moment from 'moment';\n\nexport interface IPlayListData {\n\tid?: number;\n\tsegmentId?: number;\n\ttitle?: string;\n\tartist?: string;\n\ttimeOffset?: string;\n\talbum?: string;\n\tmusicId?: number;\n}\n\ninterface IProps {\n\tplaylist: IPlayListData[]\n}\n\n\n\nconst PlayList: React.FC = (props: IProps) => {\n\treturn (\n\t\tprops.playlist.length > 0 ? (\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\tPlaylist\n\t\t\t\t
\n\t\t\t\t{\n\t\t\t\t\tprops.playlist.map(item => {\n\t\t\t\t\t\t// time+=item.timeOffset*60;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{/* {moment.utc(time*1000).format('HH:mm:ss')} */}\n\t\t\t\t\t\t\t\t{item.timeOffset}\n\t\t\t\t\t\t\t\t{item.title}\n\t\t\t\t\t\t\t\t{item.artist}\n\t\t\t\t\t\t\t\t{item.album}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t
) :\n\t\t\t\n\t)\n}\n\nexport default PlayList;","var _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M18 7.5V3.315c0-.675.81-1.005 1.275-.525l5.7 5.685c.3.3.3.765 0 1.065l-5.685 5.685c-.48.465-1.29.135-1.29-.54V10.5a9.004 9.004 0 0 0-8.79 10.935c.705 3.405 3.465 6.15 6.855 6.855a9.022 9.022 0 0 0 10.845-7.515 1.499 1.499 0 0 1 1.47-1.275c.9 0 1.62.795 1.5 1.695a12.02 12.02 0 0 1-14.295 10.08c-4.68-.915-8.445-4.68-9.36-9.36C4.74 14.22 10.59 7.5 18 7.5Z\"\n});\n\nvar _ref3 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M16.333 24h-1.298v-4.884h-1.727v-.902c.499-.007.917-.136 1.254-.385.337-.257.546-.576.627-.957h1.144V24Zm1.208-1.969 1.243-.319c.03.389.176.708.44.957.264.25.598.374 1.001.374.382 0 .7-.117.957-.352.264-.242.396-.557.396-.946 0-.418-.132-.74-.396-.968-.264-.235-.59-.352-.979-.352-.498 0-.894.165-1.188.495l-1.243-.45.88-3.598h3.905v1.155h-3.014l-.44 1.804c.316-.33.77-.495 1.364-.495.726 0 1.313.213 1.76.638.455.425.682 1.005.682 1.738 0 .69-.245 1.272-.737 1.75-.49.476-1.14.714-1.947.714-.748 0-1.37-.209-1.87-.627-.498-.425-.77-.931-.814-1.518Z\"\n});\n\nvar SvgIconFastForward15 = function SvgIconFastForward15(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 36 36\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgIconFastForward15, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/icon-fast-forward-15.a63a71b8.svg\";\nexport { ForwardRef as ReactComponent };","var _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M18 7.5V3.315c0-.675-.81-1.005-1.275-.525l-5.7 5.685c-.3.3-.3.765 0 1.065l5.685 5.685c.48.465 1.29.135 1.29-.54V10.5a9.004 9.004 0 0 1 8.79 10.935c-.705 3.405-3.465 6.15-6.855 6.855A9.022 9.022 0 0 1 9.09 20.775 1.499 1.499 0 0 0 7.62 19.5c-.9 0-1.62.795-1.5 1.695a12.02 12.02 0 0 0 14.295 10.08c4.68-.915 8.445-4.68 9.36-9.36C31.26 14.22 25.41 7.5 18 7.5Z\"\n});\n\nvar _ref3 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M16.333 24h-1.298v-4.884h-1.727v-.902c.499-.007.917-.136 1.254-.385.337-.257.546-.576.627-.957h1.144V24Zm1.208-1.969 1.244-.319c.029.389.175.708.44.957.263.25.597.374 1 .374.382 0 .7-.117.957-.352.265-.242.396-.557.396-.946 0-.418-.131-.74-.395-.968-.264-.235-.59-.352-.98-.352-.498 0-.894.165-1.188.495l-1.242-.45.88-3.598h3.905v1.155h-3.014l-.44 1.804c.315-.33.77-.495 1.364-.495.726 0 1.312.213 1.76.638.454.425.681 1.005.681 1.738 0 .69-.245 1.272-.736 1.75-.492.476-1.14.714-1.947.714-.748 0-1.372-.209-1.87-.627-.5-.425-.77-.931-.815-1.518Z\"\n});\n\nvar SvgIconRewind15 = function SvgIconRewind15(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 36 36\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgIconRewind15, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/icon-rewind-15.35767ace.svg\";\nexport { ForwardRef as ReactComponent };","import { faArrowCircleLeft, faArrowCircleRight, faPlay, IconDefinition } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { IconButton } from 'components/buttons';\nimport React, { SyntheticEvent } from 'react';\nimport { ReactComponent as SkipForward } from 'assets/icons/icon-fast-forward-15.svg';\nimport { ReactComponent as SkipBackward } from 'assets/icons/icon-rewind-15.svg';\nimport classNames from 'classnames';\nimport { SizeProp } from '@fortawesome/fontawesome-svg-core';\n\ninterface IProps {\n\ticon?: IconDefinition;\n\ticonSize?: SizeProp;\n\tonClick?: ((value?: {} | undefined) => void) | undefined;\n\tclassName?: string;\n\tbtnClassName?: string;\n\tdisabled?: boolean;\n\tloading?: boolean;\n}\n\nexport const SkipButtonFoward: React.FC = (props) => {\n\treturn (\n\t\t
\n\t\t\t {\n\t\t\t\t\tif (props.onClick) {\n\t\t\t\t\t\tprops.onClick();\n\t\t\t\t\t}\n\t\t\t\t\t(e as SyntheticEvent).stopPropagation()\n\t\t\t\t}}\n\t\t\t\ticon={}\n\t\t\t\tdisabled={props.disabled || false}\n\t\t\t\tloading={props.loading}\n\t\t\t/>\n\t\t
\n\t)\n}\n\nexport const SkipButtonBackward: React.FC = (props) => {\n\treturn (\n\t\t
\n\t\t\t {\n\t\t\t\t\tif (props.onClick) {\n\t\t\t\t\t\tprops.onClick();\n\t\t\t\t\t}\n\t\t\t\t\t(e as SyntheticEvent).stopPropagation()\n\t\t\t\t}}\n\t\t\t\ticon={}\n\t\t\t\tdisabled={props.disabled || false}\n\t\t\t\tloading={props.loading}\n\t\t\t/>\n\t\t
\n\t)\n}\n\n","import PlayerButton from 'components/buttons/PlayerButton';\nimport PlayerBar from 'components/ckua/PlayerBar';\nimport PlayerInformation from 'components/ckua/PlayerInformation';\nimport React, { useContext, useEffect, useState } from 'react';\nimport SegmentPlaceholder from 'assets/img/Segment-Placeholder.png'\nimport { PlayerContext, PlayerState } from 'context/PlayerContext';\nimport classNames from 'classnames';\nimport { ProgrammeContext } from 'context/ProgrammeContext';\nimport { isValidHttpUrl } from 'utils/helper';\nimport DonateButton from 'components/buttons/DonateButton';\nimport moment from 'moment';\nimport { IconButton } from 'components/buttons';\nimport { handleShare } from 'utils/share';\nimport { ReactComponent as IconShare } from 'assets/icons/icon-player-share.svg';\nimport PlayList, { IPlayListData } from './PlayList';\nimport UpwardArrow from 'assets/img/upward-arrow.svg';\nimport DownwardArrow from 'assets/img/downward-arrow.svg';\nimport { SkipButtonBackward, SkipButtonFoward } from 'components/ckua/SkipButton';\nimport * as helper from '../../utils/helper'\nconst isIPhone = !navigator.userAgent.match(/Android/) && (navigator.userAgent.match(/iphone/i)) != null\n\nconst MobilePlayerComponent: React.FC = () => {\n\tconst programmeContext = useContext(ProgrammeContext);\n\tconst playerContext = useContext(PlayerContext);\n\tconst segmentImage = isValidHttpUrl(programmeContext?.selectedAudio?.programme?.image!) ? programmeContext?.selectedAudio?.programme?.image! : SegmentPlaceholder;\n\tconst { playerLarge, setPlayerLarge } = playerContext;\n\tconst [isTouchingPlayButton, setIsTouchingPlayButton] = useState(false);\n\t\n\t\n\treturn (\n\t\t {\n\t\t\t\t// alert(JSON.stringify(e));\n\t\t\t\tif (!playerLarge) {\n\t\t\t\t\t// e.stopPropagation();\n\t\t\t\t\tsetPlayerLarge(true);\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{playerLarge &&\n\t\t\t\t
handleShare(programmeContext?.selectedAudio?.programme?.name + '')}>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
Share
\n\t\t\t\t
}\n\t\t\t{/* \n\n\t\t
\n\t)\n}\n\n\nexport default SearchBar;\n","const hostSortFunction = (a: HostView, b: HostView) => {\n\tif (a.name! < b.name!) {\n\t\treturn -1;\n\t} else if (a.name! > b.name!) {\n\t\treturn 1;\n\t}\n\telse { return 0; }\n}\nconst programmeSortFunction = (a: ProgrammeView, b: ProgrammeView) => {\n\tif (a.name!.toLowerCase() < b.name!.toLowerCase()) {\n\t\treturn -1;\n\t} else if (a.name!.toLowerCase() > b.name!.toLowerCase()) {\n\t\treturn 1;\n\t}\n\telse { return 0; }\n}\nexport const searchHosts = (hosts: HostView[], searchText: string) => {\n\tconst filteredResult = hosts.sort(hostSortFunction).filter(item => (\n\t\titem.name &&\n\t\t(item.name.toLowerCase().includes(searchText.toLowerCase()))\n\t));\n\treturn filteredResult;\n}\n\nexport const searchShows = (programmes: ProgrammeView[], segments: SegmentView[], searchText: string) => {\n\tconst result: { programme: ProgrammeView, segments: SegmentView[] }[] = [];\n\tconst filterResults = programmes.sort(programmeSortFunction).filter(item =>\n\t\titem.name &&\n\t\t(item.name.toLowerCase().includes(searchText.toLowerCase()) ||\n\t\t\t(item.hosts &&\n\t\t\t\titem.hosts?.filter(host => (host.name?.toLowerCase().includes(searchText.toLowerCase()))).length > 0\n\t\t\t)\n\t\t)\n\t);\n\tfilterResults.forEach((item) => {\n\t\tif (item.name) {\n\t\t\tconst filteredSegments = segments?.filter((segment) => (\n\t\t\t\tsegment.programme?.name === item.name\n\t\t\t));\n\t\t\tresult.push({\n\t\t\t\tprogramme: item,\n\t\t\t\tsegments: filteredSegments\n\t\t\t});\n\t\t}\n\t});\n\treturn result;\n}","import React from 'react';\nimport SegmentCard from 'components/ckua/SegmentCard';\nimport { Link } from 'react-router-dom';\n\ninterface IProps {\n\tprogramme: ProgrammeView\n\tsegments?: SegmentView[]\n}\n\nconst SearchResultSection: React.FC = (props) => {\n\treturn (\n\t\t(\n\t\t\t<>\n\t\t\t\t{props.segments && props.segments?.length > 0 ?\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{props.programme.name}
\n\t\t\t\t\t\t\tLearn More\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{props.segments?.map((item) => {\n\t\t\t\t\t\t\tconst cardKey = `search-segmentCard-${item.id}`;\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t
\n\t\t\t\t\t:\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t)\n\t);\n}\n\nexport default SearchResultSection;\n","import { searchHosts, searchShows } from 'utils/search';\nimport HostCard from 'components/ckua/HostCard';\nimport { ProgrammeContext } from 'context/ProgrammeContext';\nimport React, { useContext } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { IParams } from './SearchBar';\nimport SearchResultSection from './SearchResultSection';\n\n\ninterface IProps {\n}\n\nconst SearchResult: React.FC = (props) => {\n\tconst programmeContext = useContext(ProgrammeContext);\n\tconst params: IParams = useParams();\n\tconst showsOrHosts = params?.parameter || '';\n\tconst searchKeyword = decodeURIComponent(params.keyword || '');\n\treturn (\n\t\t\n\t\t\t{showsOrHosts !== 'hosts' ? (\n\t\t\t\tsearchShows(programmeContext.programmes || [],\n\t\t\t\t\tprogrammeContext.segments || [],\n\t\t\t\t\tsearchKeyword)\n\t\t\t\t\t.map((item) => (\n\t\t\t\t\t\t\n\t\t\t\t\t))\n\t\t\t) : (\n\t\t\t\tsearchHosts(programmeContext.hosts || [], searchKeyword)\n\t\t\t\t\t.map((item) => {\n\t\t\t\t\t\tconst keyCard = `search-hostCard-${item.id}`;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t);\n\t\t\t\t\t})\n\t\t\t)}\n\t\t
\n\t);\n}\n\nexport default SearchResult;","import React, { useEffect } from 'react';\nimport { ReactComponent as IconClose } from 'components/icons/icon-close.svg';\nimport SearchBar from '../components/searchPage/SearchBar';\nimport SearchResult from '../components/searchPage/SearchResult';\nimport { IconLinkButton } from 'components/buttons';\n\ninterface IProps {\n\tclassName?: string;\n}\n\nconst SearchPage = (props: IProps) => {\n\tuseEffect(() => {\n\t\twindow.scrollTo({\n\t\t\ttop: 0,\n\t\t\tleft: 0,\n\t\t});\n\t}, []);\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Search

\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default SearchPage","import React, { useEffect, useState } from \"react\";\nimport { ReactComponent as IconClose } from \"components/icons/icon-close.svg\";\nimport { Button, IconLinkButton } from \"../components/buttons\";\nimport axios from \"axios\";\nimport Platform from \"react-platform-js\";\n\ninterface FormData {\n\tname: string;\n\temail: string;\n\tmessage: string;\n\tosVersion: string | undefined;\n\tdeviceMake: string;\n\tdeviceModel: string;\n\tbrowserName: string;\n\tbrowserVersion: string;\n}\n\ninterface Errors {\n\tname?: string;\n\temail?: string;\n\tmessage?: string;\n}\n\nconst ContactPage = () => {\n\tconst [formData, setFormData] = useState({\n\t\tname: \"\",\n\t\temail: \"\",\n\t\tmessage: \"\",\n\t\tosVersion: \"\",\n\t\tdeviceMake: \"\",\n\t\tdeviceModel: \"\",\n\t\tbrowserName: \"\",\n\t\tbrowserVersion: \"\"\n\t});\n\tconst [isLoading, setIsLoading] = useState(false);\n\tconst [showAlert, setShowAlert] = useState(false);\n\tconst [errors, setErrors] = useState({});\n\n\t \n\t// Get Device & Browser Information\n\tuseEffect(() => {\n\t\tlet deviceInfo: string = \"\";\n\n\t\tif(Platform.DeviceModel === undefined || Platform.DeviceType === undefined) {\n\t\t\tdeviceInfo = \"Not Available\" \n\t\t} else {\n\t\t\tdeviceInfo = Platform.DeviceModel+\" \"+Platform.DeviceType\n\t\t}\n\n\t\t// Update state\n\t\tsetFormData(prevState => ({\n\t\t\t...prevState,\n\t\t\tosVersion: Platform.OS + \" \" + Platform.OSVersion,\n\t\t\tdeviceMake: Platform.DeviceVendor !== undefined ? Platform.DeviceVendor : \"Not Available\",\n\t\t\tdeviceModel: deviceInfo,\n\t\t\tbrowserName: Platform.Browser,\n\t\t\tbrowserVersion: Platform.BrowserVersion\n\t\t}));\n\t}, []);\n\n\tconst validate = () => {\n\t\tlet newErrors: Errors = {};\n\n\t\tif (!formData.name.trim()) newErrors.name = \"Name is required\";\n\t\tif (!formData.email.trim()) newErrors.email = \"Email is required\";\n\t\telse if (!/\\S+@\\S+\\.\\S+/.test(formData.email))\n\t\t\tnewErrors.email = \"Invalid email format\";\n\t\tif (!formData.message.trim()) newErrors.message = \"Message is required\";\n\n\t\tsetErrors(newErrors);\n\t\treturn Object.keys(newErrors).length === 0;\n\t};\n\n\t// Handle input change\n\tconst handleChange = (\n\t\tevent: React.ChangeEvent\n\t) => {\n\t\tconst { name, value } = event.target;\n\t\tsetFormData(prevData => ({\n\t\t\t...prevData,\n\t\t\t[name]: value\n\t\t}));\n\t};\n\n\tconst handleSubmit = async (e: React.FormEvent) => {\n\t\te.preventDefault();\n\t\tif (!validate()) {\n\t\t\treturn 0;\n\t\t}\n\t\tsetIsLoading(true);\n\t\ttry {\n\t\t\tconst apiUrl = process.env.REACT_APP_SERVER_URL;\n\t\t\tawait axios\n\t\t\t\t.post(\"https://ckua.com/mail-app/send-mail.php\", {\n\t\t\t\t\t...formData\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tsetShowAlert(true);\n\t\t\t\t\tsetFormData({ ...formData, name: \"\", email: \"\", message: \"\" });\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t});\n\t\t} catch (error) {\n\t\t\tconsole.log(error);\n\t\t\tconsole.error(\"Error sending message.\");\n\t\t}\n\t};\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

Contact Us

\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{showAlert && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSuccess! Your message has been sent.\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t setShowAlert(false)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{errors.name && (\n\t\t\t\t\t\t\t\t\t{errors.name}\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{errors.email && (\n\t\t\t\t\t\t\t\t\t{errors.email}\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{errors.message && (\n\t\t\t\t\t\t\t\t\t{errors.message}\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{isLoading ? (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSending...\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\"Send\"\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default ContactPage;\n","import * as React from 'react';\nimport { Link, Route, Switch, useLocation } from 'react-router-dom';\nimport PageHeader from 'components/common/PageHeader';\nimport { ReactComponent as Search } from 'assets/icons/icon-search.svg';\nimport { ReactComponent as Record } from 'assets/icons/icon-record.svg';\n\n//#region component imports\nimport FourOhFourPage from './common/404Page';\nimport LandingPage from './common/LandingPage';\nimport PlayerComponent from 'components/player/PlayerComponent';\n//#endregion\n\nimport SearchPage from 'common/SearchPage';\n// import ContactPage from 'common/ContactPage';\nimport ContactPage from 'common/ContactPage';\nimport classNames from 'classnames';\nimport { PlayerContext } from 'context/PlayerContext';\nimport WebPlayerComponent from 'components/player/WebPlayerComponent';\nimport MobilePlayerComponent from 'components/player/MobilePlayerComponent';\n\nconst Routes: React.FC = () => {\n\tconst location = useLocation();\n\tconst searchShowing = location?.pathname.includes('search') ? true : false;\n\tconst playerContext = React.useContext(PlayerContext);\n\tconst { playerLarge, setPlayerLarge } = playerContext;\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default Routes;\n","import * as React from 'react';\nimport { BrowserRouter as Router, Route } from 'react-router-dom';\nimport './common/Icons';\nimport withTracker from './withTracker';\nimport Routes from './Routes';\nimport './App.css';\nimport ProgrammeProvider from 'context/ProgrammeContext';\nimport PlayerProvider from 'context/PlayerContext';\n\n\nconst App = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default App;\n","// tslint:disable:no-console\n// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the 'N+1' visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n\twindow.location.hostname === 'localhost' ||\n\t\t// [::1] is the IPv6 localhost address.\n\t\twindow.location.hostname === '[::1]' ||\n\t\t// 127.0.0.1/8 is considered localhost for IPv4.\n\t\twindow.location.hostname.match(\n\t\t\t/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n\t\t)\n);\n\nexport default function register() {\n\tif (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n\t\t// The URL constructor is available in all browsers that support SW.\n\t\tconst publicUrl = new URL(\n\t\t\tprocess.env.PUBLIC_URL!,\n\t\t\twindow.location.toString()\n\t\t);\n\t\tif (publicUrl.origin !== window.location.origin) {\n\t\t\t// Our service worker won't work if PUBLIC_URL is on a different origin\n\t\t\t// from what our page is served on. This might happen if a CDN is used to\n\t\t\t// serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\n\t\t\treturn;\n\t\t}\n\n\t\twindow.addEventListener('load', () => {\n\t\t\tconst swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n\t\t\tif (!isLocalhost) {\n\t\t\t\t// Is not local host. Just register service worker\n\t\t\t\tregisterValidSW(swUrl);\n\t\t\t} else {\n\t\t\t\t// This is running on localhost. Lets check if a service worker still exists or not.\n\t\t\t\tcheckValidServiceWorker(swUrl);\n\t\t\t}\n\t\t});\n\t}\n}\n\nfunction registerValidSW(swUrl: string) {\n\tnavigator.serviceWorker\n\t\t.register(swUrl)\n\t\t.then(registration => {\n\t\t\tregistration.onupdatefound = () => {\n\t\t\t\tconst installingWorker = registration.installing;\n\t\t\t\tif (installingWorker) {\n\t\t\t\t\tinstallingWorker.onstatechange = () => {\n\t\t\t\t\t\tif (installingWorker.state === 'installed') {\n\t\t\t\t\t\t\tif (navigator.serviceWorker.controller) {\n\t\t\t\t\t\t\t\t// At this point, the old content will have been purged and\n\t\t\t\t\t\t\t\t// the fresh content will have been added to the cache.\n\t\t\t\t\t\t\t\t// It's the perfect time to display a 'New content is\n\t\t\t\t\t\t\t\t// available; please refresh.' message in your web app.\n\t\t\t\t\t\t\t\tconsole.log('New content is available; please refresh.');\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// At this point, everything has been precached.\n\t\t\t\t\t\t\t\t// It's the perfect time to display a\n\t\t\t\t\t\t\t\t// 'Content is cached for offline use.' message.\n\t\t\t\t\t\t\t\tconsole.log('Content is cached for offline use.');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t};\n\t\t})\n\t\t.catch(error => {\n\t\t\tconsole.error('Error during service worker registration:', error);\n\t\t});\n}\n\nfunction checkValidServiceWorker(swUrl: string) {\n\t// Check if the service worker can be found. If it can't reload the page.\n\tfetch(swUrl)\n\t\t.then(response => {\n\t\t\t// Ensure service worker exists, and that we really are getting a JS file.\n\t\t\tif (\n\t\t\t\tresponse.status === 404 ||\n\t\t\t\tresponse.headers.get('content-type')!.indexOf('javascript') === -1\n\t\t\t) {\n\t\t\t\t// No service worker found. Probably a different app. Reload the page.\n\t\t\t\tnavigator.serviceWorker.ready.then(registration => {\n\t\t\t\t\tregistration.unregister().then(() => {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Service worker found. Proceed as normal.\n\t\t\t\tregisterValidSW(swUrl);\n\t\t\t}\n\t\t})\n\t\t.catch(() => {\n\t\t\tconsole.log(\n\t\t\t\t'No internet connection found. App is running in offline mode.'\n\t\t\t);\n\t\t});\n}\n\nexport function unregister() {\n\tif ('serviceWorker' in navigator) {\n\t\tnavigator.serviceWorker.ready.then(registration => {\n\t\t\tregistration.unregister();\n\t\t});\n\t}\n}\n","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport App from './App';\nimport { unregister } from './registerServiceWorker';\nimport '../node_modules/antd/dist/antd.css';\nimport 'index.scss';\n\n\nReactDOM.render(, document.getElementById('root') as HTMLElement);\n\n// service workers need more work before using in an app. (ie notification of a new version)\n// registerServiceWorker();\nunregister();\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANcAAADXCAMAAAC+ozSHAAAAUVBMVEUAAAD0rxryrxryrhrzrRvzrxvzrxvyrhryrhrxrhryrxr0rxvvrxDyrRr0rxryrhv0ryDvryD0rxv/ryDzrhzzrxrxrhnzrxnzrhvzrxvzrxt6HOTuAAAAGnRSTlMAnyCAQL/vYHDg398QUM/AMBAwELCwkI+Qj6gXJJoAAAJOSURBVHja7dfRkpwgEIXhFhWJjo67M7PZ9Ps/aBZQUJMiuWSr/u9mKMuxOEVLowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwTN/caVXVpZtm8NV8GiVzjOZFP/yvR7MdGdk38Q1Vaq7uxk8Doly1Cq970EPnhB3K42slmUM/epB5m0aP2mmuOsYyUcvUaOKmGGfXMnXMZu8Uq5TIa9VKNLZZ9Pu/byKRcKbZdpZir1U01hTjEKgsTNHF6/SHXLcaepZxrzFVciTCj5XFKecu5+q00y7k6Pw67zyh1mNUzEoUc9/aRcv1Ki1DM1YSHPOOVKjRx/snqHof9sE2xirne/Erd46p9SBX6NLsk57LqPaWQK1fv8BWvnhYWZmr+lisZb//K1W8P+fC/dZw5CrmSn4Vc6d67iHT1tLAw0/dyLp3Ludq0TLaaFva6nH7eulOuaYqduphrDMvk2WpaWJjdeGzT9jWYPZddu9Spr7maPVenZ4tUoDu/QWbcasrsBfipnvtz91z2Cm70oJoW1sdgRrz3EGvazxsvX5jHSvzIi+fU8zfoUTUtbNVgbNzgeg3a03k+VWIaj0M3N7oHH0LtNdGznq8wpxeT5Fz5rO7y6mbv/lIcbJZqClHaSyxzySVLyiCr1Swv7JQfVk8Lk2HS7P6Qay5j8za3Hu79TK9cm/tETV9hJiW7dyLHXJE7bJqmsadbx8uBpa+mhQXr7Nphfsj/6FzrBiMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADf2G9GnlanSKK6zQAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/icon-wb_sunny.bd2d7b84.svg\";","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm2 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"width\":\"24\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM4 12c0-4.42 3.58-8 8-8 1.85 0 3.55.63 4.9 1.69L5.69 16.9C4.63 15.55 4 13.85 4 12zm8 8c-1.85 0-3.55-.63-4.9-1.69L18.31 7.1C19.37 8.45 20 10.15 20 12c0 4.42-3.58 8-8 8z\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"circle\",{\"cx\":\"69\",\"cy\":\"69\",\"r\":\"69\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M107.6 38.4c-1.6-1.6-3.7-2.4-5.7-2.4-2.1 0-4.1.8-5.7 2.4l-5.9 5.9-5.9-5.9c-1.6-1.6-3.7-2.4-5.7-2.4-2.1 0-4.1.8-5.7 2.4-3.2 3.1-3.2 8.2 0 11.4l5.9 5.9-9.9 9.7-9.8-9.8 5.9-5.9c3.2-3.2 3.2-8.4-.2-11.5-1.5-1.4-3.5-2.1-5.4-2.1-2.2 0-4.4.9-6.1 2.5l-5.7 5.6-5.9-5.9c-1.6-1.6-3.7-2.4-5.7-2.4s-4.1.8-5.7 2.4c-3.2 3.1-3.2 8.2 0 11.4l11.8 11.7L60.9 80v28h16.2V80l30.5-30.3c3.2-3.1 3.2-8.2 0-11.3zM40 53.6l-6.8-6.7c-1.6-1.6-1.6-4.1 0-5.7.8-.8 1.8-1.2 2.9-1.2 1.1 0 2.1.4 2.9 1.2l5.9 5.9-2.7 2.7c-1.2 1.1-1.9 2.4-2.2 3.8zm64.8-6.7l-28 27.8c-.4-1.4-1.1-2.7-2.2-3.8l-2.8-2.8 12.6-12.6-8.8-8.7c-1.6-1.6-1.6-4.1 0-5.7.8-.8 1.8-1.2 2.9-1.2s2.1.4 2.9 1.2l8.8 8.7 8.8-8.7c.8-.8 1.8-1.2 2.9-1.2s2.1.4 2.9 1.2c1.6 1.7 1.6 4.2 0 5.8z\",\"fill\":\"#fff\",\"key\":1}),React.createElement(\"path\",{\"d\":\"M285.3 61.5h14.4v6.8c1.5-2.5 3.4-4.4 5.7-5.7 2.2-1.3 4.8-2 7.8-2h1.2c.5 0 1 .1 1.6.2v13.9c-1.9-1-4-1.4-6.2-1.4-3.3 0-5.9 1-7.5 3-1.7 2-2.5 4.9-2.5 8.8v17.7h-14.4V61.5zM280.6 73.5c-1-2.7-2.4-5-4.2-6.9-1.8-2-3.9-3.5-6.5-4.7-2.5-1.2-5.3-1.7-8.3-1.7-5.1 0-9.3 1.8-12.7 5.4V36h-14.4v66.7h14.4v-4.6c3.1 3.9 7.3 5.9 12.6 5.9 2.9 0 5.6-.6 8.2-1.7 2.5-1.2 4.7-2.7 6.6-4.7 1.9-2 3.3-4.3 4.3-7s1.6-5.5 1.6-8.6c-.1-3-.6-5.9-1.6-8.5zm-14.3 12.3c-.5 1.1-1.2 2.1-2 3-.8.9-1.8 1.5-2.9 2-1.1.5-2.3.7-3.6.7-1.3 0-2.5-.3-3.6-.8s-2.1-1.2-3-2c-.8-.8-1.5-1.8-2-2.9-.5-1.1-.7-2.3-.7-3.6 0-1.3.3-2.5.8-3.7s1.2-2.2 2-3c.8-.9 1.8-1.5 2.9-2 1.1-.5 2.3-.7 3.6-.7 1.3 0 2.5.3 3.7.8 1.1.5 2.1 1.2 2.9 2 .8.9 1.5 1.9 2 3 .5 1.2.7 2.4.7 3.7 0 1.1-.3 2.3-.8 3.5z\",\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"key\":2}),React.createElement(\"path\",{\"d\":\"M200.8 61.5h14.4v6.8c1.5-2.5 3.4-4.4 5.7-5.7 2.2-1.3 4.8-2 7.8-2h1.2c.5 0 1 .1 1.6.2v13.9c-1.9-1-4-1.4-6.2-1.4-3.3 0-5.9 1-7.5 3-1.7 2-2.5 4.9-2.5 8.8v17.7h-14.4V61.5z\",\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"fill\":\"#1fac4f\",\"key\":3}),React.createElement(\"path\",{\"d\":\"M183.1 61.5v4.1c-3.3-3.6-7.6-5.4-12.7-5.4-3 0-5.8.6-8.3 1.7-2.5 1.2-4.6 2.7-6.5 4.7-1.8 2-3.2 4.3-4.2 7s-1.5 5.5-1.5 8.4c0 3.2.5 6.1 1.6 8.8 1 2.7 2.5 5 4.3 7 1.9 2 4 3.5 6.5 4.6 2.5 1.1 5.2 1.6 8.2 1.6 5.3 0 9.4-2 12.5-5.9v4.6h14.5V61.5h-14.4zm-.3 24.3c-.5 1.1-1.2 2.1-2 3-.8.9-1.8 1.5-2.9 2s-2.3.7-3.6.7c-1.3 0-2.6-.2-3.7-.7-1.1-.5-2.1-1.2-2.9-2-.8-.9-1.5-1.9-2-3s-.7-2.5-.7-3.8c0-1.3.2-2.5.7-3.6.5-1.1 1.1-2.1 2-2.9.8-.9 1.8-1.5 2.9-2 1.1-.5 2.4-.7 3.7-.7 1.3 0 2.5.2 3.6.7s2.1 1.2 2.9 2c.8.9 1.5 1.9 2 3 .5 1.2.8 2.4.8 3.7 0 1.2-.2 2.4-.8 3.6z\",\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"key\":4}),React.createElement(\"path\",{\"d\":\"M52.1 55.6l9.5-9.4c.6-.6.9-1.4.9-2.2 0-.8-.4-1.6-1-2.2-.7-.6-1.4-.7-2-.7-.9 0-1.9.4-2.5 1.1L45.7 53.3c-1.3 1.3-1.3 3.3 0 4.6L65.9 78v25h6.2V76.9c0-.9-.4-1.8-1-2.5l-19-18.8z\",\"fill\":\"#1abc56\",\"key\":5})]);\n}\n\nIcon.defaultProps = {\"viewBox\":\"0 0 316 138\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n","var React = require('react');\n\nfunction Icon (props) {\n return React.createElement(\"svg\",props,[React.createElement(\"path\",{\"d\":\"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\",\"key\":0}),React.createElement(\"path\",{\"d\":\"M0 0h24v24H0z\",\"fill\":\"none\",\"key\":1})]);\n}\n\nIcon.defaultProps = {\"fill\":\"#000000\",\"height\":\"24\",\"viewBox\":\"0 0 24 24\",\"width\":\"24\"};\n\nmodule.exports = Icon;\n\nIcon.default = Icon;\n"],"sourceRoot":""}