{"version":3,"file":"js/react/mls-featured-match-app.js?_t=ac88d48783df69b74a2c","mappings":";;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AAGA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAAA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAAA;AACA;AACA;AACA;AACA;AAGA;AAEA;AACA;AAEA;AAAA;AACA;AACA;AACA;AACA;AACA;AAGA;AAAA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AAAA;AAGA;AACA;AACA;AAEA;AAGA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AAQA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAyDA;AACA;AAEA;AAGA;AAgBA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAQA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAaA;AAGA;AAEA;;;;;;;;;;;;;;;;;;AC1RA;AACA;AACA;AAEA;AACA;AAEA;AAoBA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAiBA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAcA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AAAA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAAA;AAGA;AACA;AACA;AAGA;AAEA;AAIA;AAIA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAGA;AAcA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AAYA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AAUA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AAQA;AAGA;AAEA;;;;;;;;;;;;;;;;;AClJA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAGA;AAEA;AAMA;AAEA;;;;;;;;;;;;;;;;ACnBA;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAAA;AACA;AACA;AACA;AAGA;AAiCA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAOA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAOA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAOA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAYA;AAEA;;;;;;;;;;;;;;;;AChHA;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAGA;AAAA;AACA;AACA;AACA;AACA;AAGA;AAIA;AAAA;AACA;AACA;AACA;AAGA;AAAA;AACA;AACA;AACA;AAGA;AA+BA;AAGA;AAEA;;;;;;;;;;;;;;;;AChFA;;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AAEA;AACA;AAEA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAIA;AAEA;AAaA;AAEA;;;;;;;;;;;;;;;;ACnCA;;;;;;;;;;;;;;;;ACAA;AAEA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAGA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAGA;AAGA;AAEA;;;;;;;;;;;;;;;;AC3BA;;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://@mlssoccer/netcore/./scripts/react/mls-featured-match/app.js","webpack://@mlssoccer/netcore/./scripts/react/mls-featured-match/components/FeaturedMatchBlock/FeaturedMatchBlock.js","webpack://@mlssoccer/netcore/./scripts/react/mls-featured-match/loader.js","webpack://@mlssoccer/netcore/./scripts/react/mls-featured-match/main.js","webpack://@mlssoccer/netcore/./scripts/react/mls-match-list/components/MatchInfo/MatchInfo.js","webpack://@mlssoccer/netcore/./scripts/react/mls-match-list/components/MatchInfo/index.js","webpack://@mlssoccer/netcore/./scripts/react/mls-match-list/components/MatchPromo/MatchPromo.js","webpack://@mlssoccer/netcore/./scripts/react/mls-match-list/components/MatchPromo/index.js","webpack://@mlssoccer/netcore/./scripts/react/mls-scoreboard/components/VerticalMatch/VerticalMatch.js","webpack://@mlssoccer/netcore/./scripts/react/mls-scoreboard/components/VerticalMatch/index.js","webpack://@mlssoccer/netcore/./scripts/react/shared/components/Sponsor/Sponsor.js","webpack://@mlssoccer/netcore/./scripts/react/shared/components/Sponsor/index.js","webpack://@mlssoccer/netcore/./scripts/react/shared/svg/BroadcastIcon/BroadcastIcon.js","webpack://@mlssoccer/netcore/./scripts/react/shared/svg/BroadcastIcon/index.js","webpack://@mlssoccer/netcore/./.yarn/cache/date-fns-npm-2.29.2-da48c27e93-0ac440a105.zip/node_modules/date-fns/esm/isYesterday/index.js"],"sourcesContent":["export { default } from './main';\n","import React from 'react';\nimport { useQuery } from \"react-query\";\nimport { format } from 'date-fns';\nimport { formatScores, statusTypes, useMatchData } from \"../../../mls-match-list/utils\";\nimport MatchInfo from \"../../../mls-match-list/components/MatchInfo\";\nimport Sponsor from \"../../../shared/components/Sponsor\";\nimport Club from \"../../../mls-match-list/components/Club\";\nimport ToggleButton from \"../../../shared/components/ToggleButton\";\nimport TicketIcon from \"../../../shared/svg/TicketIcon\";\nimport PlayCircleIcon from \"../../../shared/svg/PlayCircleIcon\";\nimport MatchPromo from \"../../../mls-match-list/components/MatchPromo\";\nimport MatchScoreBox from \"../../../mls-match-list/components/MatchScoreBox\";\nimport BroadcastIcon from \"../../../shared/svg/BroadcastIcon\";\nimport { useReactAppState } from \"../../../shared/containers/utils\";\nimport { modalActionTypes, modalTypes } from \"../../../shared/hooks/useModalOptions\";\nimport MatchModal from \"../../../mls-match-list/components/MatchModal/MatchModal\";\nimport { trackMatchInteraction } from '../../../../libraries/_modules/tracking/helpers';\nimport {\n apiURL,\n forgeMatchContentVideosAPI,\n forgeMatchVideosAPI,\n} from \"../../../shared/api/variables\";\nimport { composeVideoList } from \"../../../mls-match-feed/utils\";\nimport { highlightTypes, composeGeoLocatedProviders, matchHighlightsTagSlug } from \"../../../shared/utils\";\nimport { fetchClient } from \"../../../shared/api/fetching\";\n\nfunction FeaturedMatchBlock() {\n const { urlList, directoryList, t, updateModalOptions, videoTags, location } = useReactAppState();\n const { baseUrl } = urlList || {};\n const { matchHubDir } = directoryList || {};\n\n const { mediaProviders, matchDateTime, status, minuteDisplay, promoInfo, homeClubData, awayClubData, advertiser, isRecentGoal, count, slug, season, competition, venue, listType, queryConfig, matchOptaId, winnerStatus, resultType, period, isTimeTbd } = useMatchData();\n const {\n isHomeWinner,\n isAwayWinner\n } = winnerStatus || {};\n\n const { slug: competitionSlug } = competition || {};\n const { optaId: seasonOptaId } = season || {};\n\n const matchPageUrl = `${baseUrl}/${matchHubDir}/${competitionSlug}/${seasonOptaId}/matches/${slug}`;\n const { localTime } = matchDateTime || {};\n const date = localTime ? format(localTime, \"E, LLL d\") : null;\n const timePeriod = localTime ? format(localTime, \"a\") : null;\n const time = localTime ? format(localTime, `p`).slice(0, -3) : null;\n\n const trackButton = (label) => {\n trackMatchInteraction({\n clickType: 'button',\n ctaLabel: label,\n match: slug,\n matchState: status?.abbreviation,\n competition: competition?.shortName,\n });\n };\n\n const trackCard = () => {\n trackMatchInteraction({\n clickType: 'featured match',\n ctaLabel: undefined,\n match: slug,\n matchState: status?.abbreviation,\n competition: competition?.shortName,\n });\n };\n\n const trackingData = {\n id: slug,\n name: undefined,\n creative: 'featured match',\n position: undefined\n };\n\n const handleClick = (e, label) => {\n e.preventDefault();\n trackButton(label);\n updateModalOptions({ type: modalActionTypes.modalClassName, payload: \"mls-o-modal mls-o-modal--match\" });\n updateModalOptions({ type: modalActionTypes.modalType, payload: modalTypes.animated });\n updateModalOptions({ type: modalActionTypes.label, payload: 'match modal' });\n updateModalOptions({ type: modalActionTypes.component, payload: MatchModal });\n updateModalOptions({ type: modalActionTypes.modalData, payload: { queryConfig, matchOptaId, homeClubData, awayClubData, matchDateTime, venue, status, listType, mediaProviders, promoInfo, winnerStatus, slug, isTimeTbd } });\n updateModalOptions({ type: modalActionTypes.show });\n };\n\n const {\n firstPartyTickets,\n thirdPartyTickets,\n sponsorImage,\n promotionalSponsor\n } = promoInfo;\n const { assetUrl } = sponsorImage || {};\n const { country } = location || {};\n const { streaming, national, radio } = composeGeoLocatedProviders(mediaProviders, country);\n\n const { homeLinear, awayLinear, homeStreaming, awayStreaming, clubLinear, clubStreaming, clubRadio } = mediaProviders || {};\n\n const mergedProviders = [\n ...national,\n ...streaming,\n ...radio,\n ...(homeLinear != null ? homeLinear : []),\n ...(awayLinear != null ? awayLinear : []),\n ...(homeStreaming != null ? homeStreaming : []),\n ...(awayStreaming != null ? awayStreaming : []),\n ...(clubLinear != null ? clubLinear : []),\n ...(clubStreaming != null ? clubStreaming : []),\n ...(clubRadio != null ? clubRadio : []),\n ];\n\n const { homeScore, awayScore, shootoutResult } = formatScores({\n homeClubData,\n awayClubData,\n period,\n resultType\n });\n\n const showTicketButton = firstPartyTickets?.url || thirdPartyTickets?.url;\n\n const forgeMatchVideosEndpoint = forgeMatchVideosAPI({ matchOptaId });\n const forgeMatchContentVideosEndpoint = forgeMatchContentVideosAPI({ matchSlug: slug });\n\n const { data: forgeMatchVideos } = useQuery({\n queryKey: [`forge-match-videos`, { matchOptaId }],\n queryFn: () => fetchClient({ apiURL: apiURL.forgeDAPI, endpoint: forgeMatchVideosEndpoint }),\n ...queryConfig,\n enabled: status?.abbreviation === statusTypes.post,\n select: videos => videos?.items\n });\n\n const { data: forgeMatchContentVideos } = useQuery({\n queryKey: [`forge-match-content-videos`, { slug }],\n queryFn: () => fetchClient({ apiURL: apiURL.forgeDAPI, endpoint: forgeMatchContentVideosEndpoint }),\n ...queryConfig,\n enabled: status?.abbreviation === statusTypes.post,\n select: videos => videos?.items\n });\n\n const videoList = React.useMemo(() => {\n const matchVideos = forgeMatchVideos?.length >= 0 && forgeMatchContentVideos?.length >= 0 ? [...forgeMatchVideos, ...forgeMatchContentVideos] : [];\n return composeVideoList(matchVideos, videoTags);\n }, [forgeMatchVideos, forgeMatchContentVideos]);\n\n const gameHighlights = videoList.find(video => video?.fields?.highlightType === highlightTypes.gameHighlights || video?.tags.find(tag => tag?.slug === matchHighlightsTagSlug));\n const fullGame = videoList.find(video => video?.fields?.highlightType === highlightTypes.fullGame);\n const condensedGame = videoList.find(video => video?.fields?.highlightType === highlightTypes.condensedGame);\n\n return (\n <>\n
\n \n
\n {\n status?.abbreviation === statusTypes.live\n ?
{t(\"match_live\")}
\n : null\n }\n \n \n
\n
\n \n {\n status?.abbreviation === statusTypes.pre\n ?
\n {date ?
{date}
: null}\n {isTimeTbd\n ?
\n {t(\"tbd\")?.toUpperCase()}\n
\n :
\n {time ?
{time}
: null}\n {timePeriod ?
{timePeriod}
: null}\n {/*
{t(\"match_timezone\")}
*/}\n
\n }\n
\n :
\n
\n {\n status?.abbreviation === statusTypes.live\n ? (\n <>\n {advertiser ?

{advertiser}

: null}\n

{minuteDisplay}

\n \n )\n : status?.abbreviation === statusTypes.post\n ? t(\"match_final\")\n : status?.abbreviation === statusTypes.abandoned ? t(\"match_abandoned\") :\n
{period}
\n }\n
\n { \n status?.abbreviation !== statusTypes.postponed && status?.abbreviation !== statusTypes.abandoned\n ? \n : null\n }\n
\n }\n \n
\n {\n shootoutResult\n ?
{shootoutResult}
\n : mergedProviders && mergedProviders.length > 0\n ? (\n
\n <>\n \n \n \n {\n mergedProviders.map((provider, index) => {\n const { broadcasterShortName, broadcasterName } = provider || {};\n const name = broadcasterShortName ? broadcasterShortName : broadcasterName;\n\n return (\n \n {`${name}${index < mergedProviders.length - 1 ? \",\" : \"\"}`}\n \n );\n })\n }\n \n
\n ) : null\n }\n
\n {\n status?.abbreviation === statusTypes.pre\n ? (\n <>\n {\n showTicketButton\n ? (\n handleClick(e, (firstPartyTickets?.displayText ? firstPartyTickets.displayText : t(\"buy_tickets\")))}\n >\n \n {firstPartyTickets?.displayText ? firstPartyTickets.displayText : t(\"buy_tickets\")}\n \n )\n : null\n }\n \n )\n : gameHighlights || condensedGame || fullGame || status?.abbreviation === statusTypes.live ? (\n handleClick(e, (status?.abbreviation === statusTypes.live ? t(\"match_watch_live_on\") : t(\"match_watch_highlights\")))}>\n \n {status?.abbreviation === statusTypes.live ? t(\"match_watch_live\") : t(\"match_watch_highlights\")}\n \n ) : null\n }\n
\n {\n status?.abbreviation === statusTypes.pre\n ? \n : null\n }\n
\n \n );\n}\n\n// eslint-disable-next-line no-func-assign\nFeaturedMatchBlock = React.memo(FeaturedMatchBlock);\n\nexport default FeaturedMatchBlock;\n","import React from 'react';\nimport Picture from \"../shared/components/Picture\";\nimport { useReactAppState } from \"../shared/containers/utils\";\n\nfunction FeaturedMatchLoader() {\n const { t } = useReactAppState();\n\n return (\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n );\n}\n\nexport default FeaturedMatchLoader;\n","import React, { useState, useEffect } from 'react';\nimport { useQuery } from \"react-query\";\nimport { apiURL, d3SingleMatchAPI, d3DateRangeAPI } from \"../shared/api/variables\";\nimport { fetchClient } from \"../shared/api/fetching\";\nimport MatchStrip from \"../mls-match-list/components/MatchStrip\";\nimport FeaturedMatchBlock from \"./components/FeaturedMatchBlock/FeaturedMatchBlock\";\nimport { formatImageUrl, filterTypes } from \"../shared/utils\";\nimport Picture from \"../shared/components/Picture\";\nimport { listTypes, dateRangeTypes } from \"../mls-match-list/utils\";\nimport ErrorDisplay from \"../shared/components/ErrorDisplay\";\nimport { useReactAppState } from \"../shared/containers/utils\";\nimport FeaturedMatchLoader from \"./loader\";\nimport {\n formatISO,\n subMonths,\n addMonths,\n isToday,\n isBefore, isYesterday\n} from \"date-fns\";\nimport dayjs from 'dayjs';\nimport VerticalMatch from '../mls-scoreboard/components/VerticalMatch';\n\nfunction FeaturedMatch({ options }) {\n const { match: appMatch, t } = useReactAppState();\n const [featuredMatches, setFeaturedMatches] = useState(null);\n\n const matchOptaId = options.matchOptaId || appMatch?.optaId;\n const blockHeader = options.blockHeader;\n const hideBlockHeaderName = options.hideBlockHeaderName;\n const showPreviousMatch = options?.showPreviousMatch?.length > 0 && options?.showPreviousMatch !== \"0\";\n const nextMatchesCount = options?.nextMatchesCount;\n const brandedImageTemplateUrl = options.brandedImageTemplateUrl;\n const currentDate = options?.matchDate && matchOptaId ? dayjs(options?.matchDate).toDate() : dayjs().toDate();\n const previousMonth = dayjs(subMonths(currentDate, 1)).toDate();\n const nextMonths = dayjs(addMonths(currentDate, 11)).toDate();\n const { highQuality } = brandedImageTemplateUrl ? formatImageUrl(brandedImageTemplateUrl, { format: \"w_200,c_scale\", extension: \"f_png\" }) : {};\n\n const dateEndpoint = d3DateRangeAPI({ isoStringRE: formatISO(nextMonths), isoStringRS: formatISO(previousMonth), competitionOptaId: filterTypes.allCompetitions, excludeSecondaryTeams: true, extendDays: true });\n const matchEndpoint = d3SingleMatchAPI({ matchOptaId });\n const {\n isLoading: isLoadingMatch,\n isError: isErrorMatch,\n data: match,\n error: matchError\n } = useQuery({\n queryKey: [`d3-match`, { matchOptaId }],\n queryFn: () => fetchClient({ endpoint: matchEndpoint, apiURL: apiURL.d3SportsAPI }),\n enabled: !!matchOptaId,\n });\n\n const {\n data: matches,\n } = useQuery({\n queryKey: [`d3-featured-matches-${currentDate}`],\n queryFn: () => fetchClient({ endpoint: dateEndpoint, apiURL: apiURL.d3SportsAPI }),\n select: matches => matches?.sort((a, b) => dayjs(a?.matchDate)?.toDate() - dayjs(b?.matchDate)?.toDate())\n });\n\n const isTodayBeforeOrAt4am = dayjs().toDate() <= dayjs().startOf(\"day\").add(4, \"hour\").toDate();\n const isDefaultFeaturedMatch = (elMatchDate) => {\n const matchDate = dayjs(elMatchDate)?.toDate();\n return isToday(matchDate) || (isTodayBeforeOrAt4am && isYesterday(matchDate));\n };\n\n if (matches) {\n const todayMatch = matches?.find(el => isDefaultFeaturedMatch(el?.matchDate));\n const currentMatch = match ? match : (\n todayMatch ? todayMatch : matches?.find(el => dayjs(el?.matchDate)?.toDate() >= currentDate)\n );\n const matchDate = match ? dayjs(match?.matchDate)?.toDate() : dayjs(currentMatch?.matchDate)?.toDate();\n\n const nextMatches = nextMatchesCount ? matches\n ?.filter(m => dayjs(m?.matchDate)?.toDate() > matchDate)\n ?.slice(0, nextMatchesCount) : [];\n\n const previousMatch = showPreviousMatch ? matches\n ?.reverse()\n ?.find(el => isBefore(dayjs(el?.matchDate)?.toDate(), matchDate)) : null;\n\n if (!featuredMatches && currentMatch) {\n setFeaturedMatches({\n currentMatch,\n nextMatches,\n previousMatch\n });\n }\n }\n\n return (\n <>\n {\n hideBlockHeaderName && highQuality\n ? (\n
\n \n
\n )\n : blockHeader ?
{blockHeader}
: null\n }\n {\n featuredMatches?.previousMatch\n ?
\n \n \n \n
\n : null\n }\n
\n {\n isLoadingMatch\n ? \n : isErrorMatch\n ? \n : (\n \n \n \n )\n }\n
\n {\n featuredMatches?.nextMatches?.length\n ?
\n {featuredMatches?.nextMatches?.map((nextMatch, i) =>\n
\n \n \n \n
)}\n
\n : null\n }\n \n );\n}\n\n// eslint-disable-next-line no-func-assign\nFeaturedMatch = React.memo(FeaturedMatch);\n\nexport default FeaturedMatch;\n","import React from 'react';\nimport { listTypes, useMatchData } from \"../../utils\";\n\nconst MatchInfo = () => {\n const { listType, venue, leagueMatchTitle, competition } = useMatchData();\n if (listType !== listTypes.matches) {\n return null;\n }\n\n const { name } = venue || {};\n\n return (\n
\n

{leagueMatchTitle ? leagueMatchTitle : competition?.name}

\n

{name}

\n
\n );\n};\n\nexport default MatchInfo;\n","export { default } from './MatchInfo';\n","import React from 'react';\nimport ReactMarkdown from \"react-markdown\";\nimport { useMatchData } from \"../../utils\";\nimport { Chevron } from \"../../../shared/svg\";\nimport ToggleButton from \"../../../shared/components/ToggleButton\";\nimport { chevronDirection } from \"../../../shared/svg/Svg\";\n\nconst MatchPromo = () => {\n const { promoInfo } = useMatchData();\n\n const {\n matchPromo,\n promotionalMisc1,\n promotionalMisc2\n } = promoInfo;\n\n return (\n matchPromo\n ? (\n
\n {\n matchPromo?.headline || matchPromo?.description\n ? (\n
\n {\n matchPromo?.headline\n ?
{matchPromo.headline}
\n : null\n }\n {\n matchPromo?.description\n ? (\n
\n \n
\n )\n : null\n }\n
\n )\n : null\n }\n {\n matchPromo?.callToAction1 || matchPromo?.callToAction2 || promotionalMisc1?.displayText !== \"\" || promotionalMisc2.displayText !== \"\"\n ? (\n
\n {\n matchPromo?.callToAction1?.displayText && matchPromo?.callToAction1?.url && matchPromo?.callToAction1?.url !== \"\" ?\n (\n \n {matchPromo?.callToAction1?.displayText}\n \n \n ) : null\n }\n {\n matchPromo?.callToAction2?.displayText && matchPromo?.callToAction2?.url && matchPromo?.callToAction2?.url !== \"\" ?\n (\n \n {matchPromo?.callToAction2?.displayText}\n \n \n ) : null\n }\n {\n promotionalMisc1?.displayText ?\n (\n \n {promotionalMisc1?.displayText}\n \n \n ) : null\n }\n {\n promotionalMisc2?.displayText ?\n (\n \n {promotionalMisc2?.displayText}\n \n \n ) : null\n }\n
\n )\n : null\n }\n
\n )\n : null\n );\n};\n\nexport default MatchPromo;\n","export { default } from './MatchPromo';\n","import React from 'react';\nimport ClubSeparator from \"../../../mls-match-list/components/ClubSeparator\";\nimport MatchWatch from \"../../../mls-match-list/components/MatchWatch\";\nimport Club from '../../../mls-match-list/components/Club';\nimport MatchTime from \"../../../mls-match-list/components/MatchTime\";\nimport { useMatchData, formatScores, statusTypes } from \"../../../mls-match-list/utils\";\nimport ToggleButton from \"../../../shared/components/ToggleButton\";\nimport { Chevron } from \"../../../shared/svg\";\nimport { chevronDirection } from \"../../../shared/svg/Svg\";\nimport { useReactAppState } from \"../../../shared/containers/utils\";\nimport { composeGeoLocatedProviders, stringifyGeoProviders } from \"../../../shared/utils\";\n\nfunction VerticalMatch({ position, showMatchWatch = false }) {\n const { location } = useReactAppState();\n const { country } = location || {};\n const { matchPageUrl, homeClubData, awayClubData, status, slug, mediaProviders, winnerStatus, period, resultType } = useMatchData();\n const {\n isHomeWinner,\n isAwayWinner\n } = winnerStatus || {};\n\n const { homeScore, awayScore, shootoutResult } = formatScores({\n homeClubData,\n awayClubData,\n period,\n resultType\n });\n\n const { national, streaming, radio } = status?.abbreviation === statusTypes.pre || status?.abbreviation === statusTypes.live\n ? composeGeoLocatedProviders(mediaProviders, country)\n : { national: null, streaming: null, radio: null };\n\n const trackingData = {\n id: slug,\n creative: 'match',\n position\n };\n\n const trackingClickData = {\n clickItem: 'match',\n match: slug,\n matchState: status?.abbreviation\n };\n\n return (\n \n );\n}\n\n// eslint-disable-next-line no-const-assign,no-func-assign\nVerticalMatch = React.memo(VerticalMatch);\n\nexport default VerticalMatch;\n","export { default } from './VerticalMatch';\n","import React from 'react';\nimport ToggleButton from \"../ToggleButton\";\nimport Picture from \"../Picture\";\nimport { formatImageUrl } from \"../../utils\";\n\nfunction Sponsor({ openInNewTab, accessibleText, url, templateUrl, displayText, hasPresBy }) {\n const { highQuality } = templateUrl ? formatImageUrl(templateUrl, { format: \"w_175,c_scale\", extension: \"f_png\" }) : {};\n\n return (\n highQuality ? (\n (url) ? (\n {\n hasPresBy\n ?
{displayText ? displayText : \"Presented By\"}
\n : null\n }\n \n )\n :\n (\n {\n hasPresBy\n ?
{displayText ? displayText : \"Presented By\"}
\n : null\n }\n \n
)\n ) : null\n );\n}\n\nexport default Sponsor;\n","export { default } from './Sponsor';\n","import React from 'react';\n\nconst BroadcastIcon = ({ extraClasses, size = \"small\" }) => {\n return (\n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default BroadcastIcon;\n","export { default } from './BroadcastIcon';\n","import isSameDay from \"../isSameDay/index.js\";\nimport subDays from \"../subDays/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isYesterday\n * @category Day Helpers\n * @summary Is the given date yesterday?\n * @pure false\n *\n * @description\n * Is the given date yesterday?\n *\n * > ⚠️ Please note that this function is not present in the FP submodule as\n * > it uses `Date.now()` internally hence impure and can't be safely curried.\n *\n * @param {Date|Number} date - the date to check\n * @returns {Boolean} the date is yesterday\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // If today is 6 October 2014, is 5 October 14:00:00 yesterday?\n * const result = isYesterday(new Date(2014, 9, 5, 14, 0))\n * //=> true\n */\n\nexport default function isYesterday(dirtyDate) {\n requiredArgs(1, arguments);\n return isSameDay(dirtyDate, subDays(Date.now(), 1));\n}"],"names":[],"sourceRoot":""}