{"version":3,"file":"js/pages/games/AllGenderSportsIndex-d5994d005b1deed8e068.js","mappings":"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","sources":["webpack://web/./app/javascript/@/components/styles/ApiDomainBadge.module.scss?4926","webpack://web/./app/javascript/@/components/ApiDomainBadge.tsx","webpack://web/./app/javascript/@/components/styles/ContentSection.module.scss?9b2b","webpack://web/./app/javascript/@/components/ContentSection.tsx","webpack://web/./app/javascript/@/components/styles/InfiniteBlockLayout.module.scss?b674","webpack://web/./app/javascript/@/components/InfiniteBlockLayout.tsx","webpack://web/./app/javascript/@/components/InfinitePagination.tsx","webpack://web/./app/javascript/@/components/InfiniteScroll.tsx","webpack://web/./app/javascript/hooks/useInfiniteScroll.ts","webpack://web/./app/javascript/@/components/ads/sponsors/TopBannerAds/styles/VermontLeaderboardAd.module.scss?395b","webpack://web/./app/javascript/@/components/ads/sponsors/TopBannerAds/VermontLeaderboardAd.tsx","webpack://web/./app/javascript/@/components/web/WebPage.tsx","webpack://web/./app/javascript/@/components/Page.tsx","webpack://web/./app/javascript/@/components/styles/PageLayout.module.scss?1c67","webpack://web/./app/javascript/@/components/PageLayout.tsx","webpack://web/./app/javascript/@/components/styles/PageSection.module.scss?a921","webpack://web/./app/javascript/@/components/PageSection.tsx","webpack://web/./app/javascript/@/components/Scoreboard.tsx","webpack://web/./app/javascript/@/components/styles/SectionHeader.module.scss?d14d","webpack://web/./app/javascript/@/components/SectionHeader.tsx","webpack://web/./app/javascript/@/components/styles/TextLink.module.scss?f07e","webpack://web/./app/javascript/@/components/TextLink.tsx","webpack://web/./app/javascript/@/components/ads/styles/AdPlaceholder.module.scss?c282","webpack://web/./app/javascript/@/components/ads/AdPlaceholder.tsx","webpack://web/./app/javascript/@/components/ads/styles/MinuteMediaAd.module.scss?d94b","webpack://web/./app/javascript/@/components/ads/MinuteMediaAd.tsx","webpack://web/./app/javascript/@/components/ads/styles/StnVideoAd.module.scss?30da","webpack://web/./app/javascript/@/components/ads/StnVideoAd.tsx","webpack://web/./app/javascript/@/components/fanApp/styles/FanAppPage.module.scss?2813","webpack://web/./app/javascript/@/components/fanApp/FanAppPage.tsx","webpack://web/./app/javascript/@/components/web/styles/WebScoreboard.module.scss?68a8","webpack://web/./app/javascript/@/components/web/WebScoreboard.tsx","webpack://web/./app/javascript/analytics/gtm.ts","webpack://web/./app/javascript/components/styles/Footer.module.scss?721f","webpack://web/./app/javascript/components/Footer.tsx","webpack://web/./app/javascript/helpers/chunkArray.ts","webpack://web/./app/javascript/hooks/usePagination.ts","webpack://web/./app/javascript/lib/sentry.ts","webpack://web/./app/javascript/packs/pages/games/AllGenderSportsIndex.tsx","webpack://web/./app/javascript/react_rails/entryPoint.ts","webpack://web/./app/javascript/react_rails/pack.ts","webpack://web/./app/javascript/packs/pages/games/styles/AllGenderSportsIndex.module.scss?fe3f"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"Container\":\"ApiDomainBadge-module__Container__e0hjn\",\"Staging\":\"ApiDomainBadge-module__Staging__RbNCy\",\"Development\":\"ApiDomainBadge-module__Development__ah8Tz\"};","import { API_BASE_URL } from 'constants.js.erb';\nimport styles from './styles/ApiDomainBadge.module.scss';\nimport cn from 'classnames';\n\nexport default function ApiDomainBadge() {\n  return (\n    <div\n      className={cn(styles.Container, {\n        [styles.Staging]: API_BASE_URL.match(/staging/),\n        [styles.Development]: API_BASE_URL.match(/3000/)\n      })}\n    >\n      {API_BASE_URL}\n    </div>\n  );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"Section\":\"ContentSection-module__Section__VRyto\",\"FlushSmall\":\"ContentSection-module__FlushSmall__I3hR_\",\"FlushMedium\":\"ContentSection-module__FlushMedium__zSerq\",\"FooterButton\":\"ContentSection-module__FooterButton__SALg6\"};","import { ReactNode } from 'react';\nimport styles from './styles/ContentSection.module.scss';\nimport Button, { ButtonProps, ButtonSize, ButtonVariant } from './Button';\nimport cn from 'classnames';\nimport SectionHeader, { SectionHeaderProps, SectionHeaderSize } from './SectionHeader';\nimport TextLink, { TextLinkProps, TextLinkSize } from './TextLink';\nimport { ScreenSize } from './ScreenSizes';\n\nexport function ContentSectionHeader({ size, ...props }: SectionHeaderProps) {\n  return <SectionHeader size={size || SectionHeaderSize.LARGE_MEDIUM} {...props} />;\n}\n\nexport function ContentSectionHeaderLink({ size, ...props }: TextLinkProps) {\n  return <TextLink size={size || TextLinkSize.MEDIUM} {...props} />;\n}\n\nexport function ContentSectionFooterButton({ className, ...props }: ButtonProps) {\n  return <Button variant={ButtonVariant.GRAY} className={cn(styles.FooterButton, className)} size={ButtonSize.LARGE} {...props} />;\n}\n\nexport function ContentSectionFlushContent({\n  children,\n  screenSize = ScreenSize.SMALL,\n  className\n}: {\n  children: ReactNode;\n  screenSize?: Exclude<ScreenSize, ScreenSize.LARGE | ScreenSize.EXTRA_LARGE>;\n  className?: string;\n}) {\n  return <div className={cn(styles[`Flush${screenSize}`], className)}>{children}</div>;\n}\n\nexport interface ContentSectionProps {\n  children: ReactNode;\n  className?: string;\n  order?: number;\n}\n\nexport default function ContentSection({ children, className, order }: ContentSectionProps) {\n  return (\n    <div className={cn(styles.Section, className)} style={{ order }}>\n      {children}\n    </div>\n  );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"VideoAd\":\"InfiniteBlockLayout-module__VideoAd__Aqnbm\"};","import chunkArray from 'helpers/chunkArray';\nimport { ReactNode } from 'react';\nimport cn from 'classnames';\nimport StnVideoAd from './ads/StnVideoAd';\nimport styles from './styles/InfiniteBlockLayout.module.scss';\nexport default function InfiniteBlockLayout({\n  children,\n  blockSize,\n  className,\n  disabled,\n  videoIndex\n}: {\n  blockSize: number;\n  children: ReactNode[];\n  className?: string;\n  disabled?: boolean;\n  videoIndex?: number;\n}) {\n  return (\n    <>\n      {videoIndex && (\n        <>\n          <div className={className}>{children.slice(0, videoIndex)}</div>\n          <StnVideoAd placement=\"INLINE\" className={styles.VideoAd} />\n        </>\n      )}\n      {disabled ? (\n        <div className={className}>{children.slice(videoIndex)}</div>\n      ) : (\n        <div className=\"content-block\">\n          {chunkArray(children.slice(videoIndex), blockSize).map((child, index) => {\n            return (\n              <div key={index} className={cn(className, 'group-of-elements')}>\n                {child}\n              </div>\n            );\n          })}\n        </div>\n      )}\n    </>\n  );\n}\n","import usePagination, { PaginationProps } from 'hooks/usePagination';\nimport InfiniteScroll from './InfiniteScroll';\nimport { PropsWithChildren } from 'react';\n\nexport default function InfinitePagination<R, V>(props: PropsWithChildren<PaginationProps<R, V> & { className?: string }>) {\n  const { children, className, ...paginationProps } = props;\n\n  const { handleLoadMore, hasNextPage, currentPage } = usePagination(paginationProps);\n\n  return (\n    <InfiniteScroll onEndReached={handleLoadMore} hasNextPage={hasNextPage} className={className}>\n      {children}\n    </InfiniteScroll>\n  );\n}\n","import useInfiniteScroll from 'hooks/useInfiniteScroll';\nimport { ReactNode, useRef } from 'react';\nimport Spinner, { SpinnerLocation } from './Spinner';\n\nexport default function InfiniteScroll({\n  onEndReached,\n  children,\n  hasNextPage,\n  className\n}: {\n  onEndReached: () => void;\n  children: ReactNode;\n  hasNextPage?: boolean;\n  className?: string;\n}) {\n  const el = useRef<HTMLDivElement>(null);\n\n  useInfiniteScroll({\n    ref: el,\n    onEndReached\n  });\n\n  return (\n    <div ref={el} className={className}>\n      {children}\n      {hasNextPage && <Spinner location={SpinnerLocation.SCROLL_FOOTER} />}\n    </div>\n  );\n}\n","import { useEffect, RefObject } from 'react';\n\ninterface useInfiniteScrollParams {\n  onEndReached: () => void;\n  ref: RefObject<HTMLElement>;\n}\n\nexport default function useInfiniteScroll({ onEndReached, ref }: useInfiniteScrollParams) {\n  useEffect(() => {\n    function handleScroll() {\n      const scrollTop = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n      const scrollHeight = ref.current?.scrollHeight;\n      const clientHeight = document.documentElement.clientHeight || window.innerHeight;\n\n      if (scrollHeight && Math.ceil(scrollTop + clientHeight) >= scrollHeight) {\n        onEndReached();\n      }\n    }\n\n    handleScroll();\n\n    window.addEventListener('scroll', handleScroll, { passive: true });\n\n    return () => window.removeEventListener('scroll', handleScroll);\n  }, [onEndReached]);\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"AdContainer\":\"VermontLeaderboardAd-module__AdContainer__Y7MRX\",\"Ad\":\"VermontLeaderboardAd-module__Ad__ePKXC\"};","import styles from './styles/VermontLeaderboardAd.module.scss';\nimport VPABannerAd from '../../../../../../assets/images/sponsors/vpa-driving/VPA-banner-ad.png';\nimport Clickable from '@/components/Clickable';\n\nexport default function VermontLeaderboardAd() {\n  return (\n    <div className={styles.AdContainer}>\n      <Clickable href=\"https://drivewell.vermont.gov/?utm_source=scorebooklive&utm_medium=referral\" target=\"_blank\">\n        <img src={VPABannerAd} alt=\"Vermont Leaderboard Ad\" className={styles.Ad} />\n      </Clickable>\n    </div>\n  );\n}\n","import { ReactNode } from 'react';\nimport Header from 'components/Header';\nimport Footer from 'components/Footer';\nimport StnVideoAd from '../ads/StnVideoAd';\nimport MinuteMediaAd from '../ads/MinuteMediaAd';\nimport useScreenSize from 'hooks/useScreenSize';\nimport { useApplicationContainer } from 'containers/ApplicationContainer';\nimport VermontLeaderboardAd from '../ads/sponsors/TopBannerAds/VermontLeaderboardAd';\n\nexport default function WebPage({ children, subNav }: { children: ReactNode; subNav?: ReactNode }) {\n  const { isSmallScreen } = useScreenSize();\n  const [{ disableAds, bannerAd }] = useApplicationContainer();\n\n  return (\n    <>\n      <Header subNav={subNav} />\n      {(isSmallScreen || !disableAds) && bannerAd == 'vermont_leaderboard' ? <VermontLeaderboardAd /> : <MinuteMediaAd placement=\"TOP\" />}\n      {(isSmallScreen || disableAds) && <StnVideoAd placement=\"TOP\" />}\n      <main>{children}</main>\n      <Footer />\n      {isSmallScreen && <MinuteMediaAd placement=\"BOTTOM\" />}\n    </>\n  );\n}\n","import { ReactNode } from 'react';\nimport FanAppPage from './fanApp/FanAppPage';\nimport WebPage from './web/WebPage';\nimport { ENVIRONMENT } from 'constants.js.erb';\nimport ApiDomainBadge from './ApiDomainBadge';\nimport { useApplicationContainer } from 'containers/ApplicationContainer';\n\nexport default function Page(props: { children: ReactNode; subNav?: ReactNode }) {\n  const [{ isFanApp }] = useApplicationContainer();\n\n  const PageComponent = isFanApp ? FanAppPage : WebPage;\n\n  return (\n    <>\n      <PageComponent {...props} />\n      {ENVIRONMENT === 'DEVELOPMENT' && <ApiDomainBadge />}\n    </>\n  );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"PageLayout\":\"PageLayout-module__PageLayout__SpSZk\",\"Content\":\"PageLayout-module__Content__DLc6J\",\"Panels\":\"PageLayout-module__Panels__mZ8fz\",\"FullWidth\":\"PageLayout-module__FullWidth__IQp9p\",\"Header\":\"PageLayout-module__Header__zCXD9\",\"Main\":\"PageLayout-module__Main__wDBni\",\"Sidebar\":\"PageLayout-module__Sidebar__dw7vF\",\"Module\":\"PageLayout-module__Module__WPkHM\"};","import { ReactNode } from 'react';\nimport styles from './styles/PageLayout.module.scss';\nimport cn from 'classnames';\nimport PageSection from './PageSection';\nimport { ScreenSize } from './ScreenSizes';\n\nexport enum PageLayoutVariant {\n  CONTENT = 'Content',\n  PANELS = 'Panels'\n}\n\nexport default function PageLayout({\n  children,\n  header,\n  sidebar,\n  variant = PageLayoutVariant.CONTENT\n}: {\n  children: ReactNode;\n  header?: ReactNode;\n  sidebar?: ReactNode;\n  variant?: PageLayoutVariant;\n}) {\n  return (\n    <PageSection flush={ScreenSize.SMALL} className={cn(styles.PageLayout, styles[variant], { [styles.FullWidth]: !sidebar })}>\n      {header && <div className={styles.Header}>{header}</div>}\n      <div className={styles.Main}>{children}</div>\n      {sidebar && <div className={styles.Sidebar}>{sidebar}</div>}\n    </PageSection>\n  );\n}\n\nexport function PageLayoutModule({ children, order }: { children: ReactNode; order?: number }) {\n  return (\n    <div className={styles.Module} style={{ order }}>\n      {children}\n    </div>\n  );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"PageSection\":\"PageSection-module__PageSection__dbDBY\",\"FullWidth\":\"PageSection-module__FullWidth__uY9Uh\",\"FlushSmall\":\"PageSection-module__FlushSmall__ibwUP\",\"FlushMedium\":\"PageSection-module__FlushMedium__EMlSC\"};","import styles from './styles/PageSection.module.scss';\nimport { ReactNode } from 'react';\nimport cn from 'classnames';\nimport { ScreenSize } from './ScreenSizes';\n\nexport default function PageSection({\n  children,\n  className,\n  fullWidth,\n  flush\n}: {\n  children: ReactNode;\n  className?: string;\n  fullWidth?: boolean;\n  flush?: Exclude<ScreenSize, ScreenSize.LARGE | ScreenSize.EXTRA_LARGE>;\n}) {\n  return (\n    <div className={cn(styles.PageSection, flush && styles[`Flush${flush}`], { [styles.FullWidth]: fullWidth }, className)}>{children}</div>\n  );\n}\n","import { Fragment, ReactNode } from 'react';\n\nexport default function Scoreboard<G extends { id: string | number }>({\n  games,\n  children,\n  className,\n  injectAtIndex,\n  injectedClassName\n}: {\n  games: G[];\n  children: (game: G) => ReactNode;\n  className: string;\n  injectAtIndex?: (index: number) => ReactNode;\n  injectedClassName?: string;\n}) {\n  return (\n    <div className={className}>\n      {games.map((game, index) => {\n        const injected = injectAtIndex && injectAtIndex(index);\n\n        return (\n          <Fragment key={game.id}>\n            {injected && <div className={injectedClassName}>{injected}</div>}\n            {children(game)}\n          </Fragment>\n        );\n      })}\n      {games.length === 0 && injectAtIndex && <div className={injectedClassName}>{injectAtIndex(-1)}</div>}\n    </div>\n  );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"Header\":\"SectionHeader-module__Header__OKdRd\",\"ThreeColumns\":\"SectionHeader-module__ThreeColumns__T4dVa\",\"Title\":\"SectionHeader-module__Title__olZW0\",\"TitleText\":\"SectionHeader-module__TitleText__uWVW0\",\"Flush\":\"SectionHeader-module__Flush__DII5B\",\"TitleTextExtraSmall\":\"SectionHeader-module__TitleTextExtraSmall__tj50o\",\"TitleTextSmall\":\"SectionHeader-module__TitleTextSmall__v41BU\",\"TitleTextMedium\":\"SectionHeader-module__TitleTextMedium__FrHeh\",\"TitleTextLarge\":\"SectionHeader-module__TitleTextLarge__QeF5u\",\"Center\":\"SectionHeader-module__Center__S6jHF\",\"Right\":\"SectionHeader-module__Right__EQw1R\",\"TitleTextLargeMedium\":\"SectionHeader-module__TitleTextLargeMedium__hk1pb\"};","import { ReactNode } from 'react';\nimport cn from 'classnames';\nimport styles from './styles/SectionHeader.module.scss';\n\nexport enum SectionHeaderTag {\n  H1 = 'h1',\n  H2 = 'h2'\n}\n\nexport enum SectionHeaderSize {\n  EXTRA_SMALL = 'ExtraSmall',\n  SMALL = 'Small',\n  MEDIUM = 'Medium',\n  LARGE = 'Large',\n  LARGE_MEDIUM = 'LargeMedium'\n}\n\nexport interface SectionHeaderProps {\n  center?: ReactNode;\n  right?: ReactNode;\n  children?: ReactNode;\n  panel?: boolean;\n  size?: SectionHeaderSize;\n  tag?: SectionHeaderTag;\n  flush?: boolean;\n}\n\nexport default function SectionHeader({ center, right, children, size = SectionHeaderSize.LARGE, tag, flush }: SectionHeaderProps) {\n  const TitleTag = tag || 'div';\n\n  const title = <TitleTag className={cn(styles.TitleText, styles[`TitleText${size}`], { [styles.Flush]: flush })}>{children}</TitleTag>;\n\n  if (!center && !right) {\n    return title;\n  }\n\n  return (\n    <div className={cn(styles.Header, { [styles.Flush]: flush, [styles.ThreeColumns]: center && right })}>\n      <div className={styles.Title}>{title}</div>\n      {center && <div className={styles.Center}>{center}</div>}\n      {right && <div className={styles.Right}>{right}</div>}\n    </div>\n  );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"TextLink\":\"TextLink-module__TextLink__qAQ_a\",\"Small\":\"TextLink-module__Small__RS3J7\",\"Medium\":\"TextLink-module__Medium__fiZQB\",\"Large\":\"TextLink-module__Large__L_xXI\"};","import Chevron from 'icons/Chevron';\nimport Clickable, { ClickableProps } from './Clickable';\nimport styles from './styles/TextLink.module.scss';\nimport cn from 'classnames';\n\nexport enum TextLinkSize {\n  INHERIT = 'Inherit',\n  SMALL = 'Small',\n  MEDIUM = 'Medium',\n  LARGE = 'Large'\n}\n\nexport type TextLinkProps = ClickableProps & {\n  size?: TextLinkSize;\n  forward?: boolean;\n};\n\nexport default function TextLink({ size = TextLinkSize.MEDIUM, className, children, forward, ...props }: TextLinkProps) {\n  return (\n    <Clickable className={cn(styles.TextLink, size != TextLinkSize.INHERIT && styles[size], className)} {...props}>\n      {children && (\n        <>\n          {children}\n          {forward && <Chevron height={12} width={6} color=\"#2776ea\" />}\n        </>\n      )}\n    </Clickable>\n  );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"Ad\":\"AdPlaceholder-module__Ad__rqX14\",\"Placeholder\":\"AdPlaceholder-module__Placeholder__nxdxK\"};","import styles from './styles/AdPlaceholder.module.scss';\nimport { HTMLAttributes } from 'react';\nimport cn from 'classnames';\n\nexport type AdPlaceholderProps = Omit<HTMLAttributes<HTMLDivElement>, 'placeholder'> & { placeholder?: boolean };\n\nexport default function AdPlaceholder({ className, placeholder, children, ...props }: AdPlaceholderProps) {\n  return (\n    <div className={cn(styles.Ad, { [styles.Placeholder]: placeholder }, className)} {...props}>\n      {placeholder && children}\n    </div>\n  );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"Ad\":\"MinuteMediaAd-module__Ad__LQrTg\",\"TOP\":\"MinuteMediaAd-module__TOP__CE00x\",\"Placeholder\":\"MinuteMediaAd-module__Placeholder__dYAIb\",\"BOTTOM\":\"MinuteMediaAd-module__BOTTOM__jv0HH\",\"SIDEBAR\":\"MinuteMediaAd-module__SIDEBAR__G07gd\",\"SIDEBAR_2\":\"MinuteMediaAd-module__SIDEBAR_2__wyNQk\",\"IN_FEED\":\"MinuteMediaAd-module__IN_FEED__vMHlF\",\"IN_FEED_2\":\"MinuteMediaAd-module__IN_FEED_2__MzV5s\"};","import AdPlaceholder from './AdPlaceholder';\nimport cn from 'classnames';\nimport styles from './styles/MinuteMediaAd.module.scss';\nimport { useApplicationContainer } from 'containers/ApplicationContainer';\nimport { MINUTE_MEDIA_ADS_ENABLED } from 'constants.js.erb';\nimport useScreenSize from 'hooks/useScreenSize';\n\nconst minuteMediaPlacements = {\n  TOP: 'div-gpt-ad-1552218170642-0',\n  BOTTOM: 'div-sticky-bottom',\n  SIDEBAR: 'div-sideBar1',\n  SIDEBAR_2: 'div-sideBar2',\n  IN_FEED: 'below-top-section',\n  IN_FEED_2: 'below-second-section'\n};\n\nfunction isSidebar(placement: MinuteMediaPlacementType) {\n  return placement === 'SIDEBAR' || placement === 'SIDEBAR_2';\n}\n\nexport type MinuteMediaPlacementType = keyof typeof minuteMediaPlacements;\n\nexport default function MinuteMediaAd({ placement, className }: { placement: MinuteMediaPlacementType; className?: string }) {\n  const [{ disableAds }] = useApplicationContainer();\n  const { isSmallScreen } = useScreenSize();\n\n  if (disableAds || (isSmallScreen && isSidebar(placement))) return null;\n\n  const ad = (\n    <AdPlaceholder\n      className={cn(styles.Ad, styles[placement], { [styles.Placeholder]: !MINUTE_MEDIA_ADS_ENABLED }, className)}\n      id={minuteMediaPlacements[placement]}\n      placeholder={!MINUTE_MEDIA_ADS_ENABLED}\n    >\n      MinuteMediaAd ({placement})\n    </AdPlaceholder>\n  );\n\n  // wrap sidebar ads in div due to auto padding / styling in PageLayout\n  if (isSidebar(placement)) {\n    return <div>{ad}</div>;\n  }\n\n  return ad;\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"Container\":\"StnVideoAd-module__Container__PzeQ3\",\"TOP\":\"StnVideoAd-module__TOP__WuYR7\",\"Spacer\":\"StnVideoAd-module__Spacer__MsQhM\",\"Ad\":\"StnVideoAd-module__Ad__J5eOK\"};","import styles from './styles/StnVideoAd.module.scss';\nimport AdPlaceholder, { AdPlaceholderProps } from './AdPlaceholder';\nimport { useApplicationContainer } from 'containers/ApplicationContainer';\nimport { STN_ENABLED } from 'constants.js.erb';\nimport cn from 'classnames';\nimport useScreenSize from 'hooks/useScreenSize';\nimport { createPortal } from 'react-dom';\nimport { useEffect, useRef, useState } from 'react';\n\nexport default function StnVideoAd({ placement, className }: { placement: 'TOP' | 'INLINE'; className?: string }) {\n  const [{ disableVideoAd }] = useApplicationContainer();\n  const { isSmallScreen } = useScreenSize();\n\n  // for now small screen is always at the top of the page\n  if (disableVideoAd || (isSmallScreen && placement === 'INLINE')) return null;\n\n  return (\n    <div className={cn(styles.Container, placement === 'TOP' && styles[placement], className)}>\n      {placement === 'TOP' ? <InTreePlacement /> : <OutOfTreePlacement />}\n    </div>\n  );\n}\n\nfunction InTreePlacement() {\n  return (\n    <div className={styles.Spacer}>\n      <StnAdPlaceholder className={styles.Ad} />\n    </div>\n  );\n}\n\nconst AIR_FRAME = 'air-frame';\n\n// due to `container-type: inline-size;` we need to mount the ad outside the dom tree and\n// position it absolutely where the spacer div is to get pinning to the bottom to work\nfunction OutOfTreePlacement() {\n  const el = useRef<HTMLDivElement>(null);\n  const [position, setPosition] = useState<{ top: number; left: number; width: number; height: number }>();\n\n  useEffect(() => {\n    function handleResize() {\n      const rect = el.current?.getBoundingClientRect();\n      if (!rect) return;\n\n      setPosition({\n        top: window.scrollY + rect.top,\n        left: window.scrollX + rect.left,\n        width: rect.width,\n        height: rect.height\n      });\n    }\n\n    handleResize();\n\n    window.addEventListener('resize', handleResize);\n\n    const handleAirFrameInjection = () => {\n      const mo = new MutationObserver(list => {\n        list.forEach(item => {\n          if (item.type === 'childList' && item.addedNodes?.[0]?.childNodes) {\n            const node = item.addedNodes[0];\n            for (const child of node.childNodes as unknown as HTMLElement[]) {\n              if (child.classList && child.classList.contains(AIR_FRAME)) {\n                handleResize();\n                mo.disconnect();\n                break;\n              }\n            }\n          }\n        });\n      });\n\n      mo.observe(document.body, {\n        childList: true\n      });\n      return {\n        observer: mo,\n        timer: setTimeout(() => mo.disconnect(), 10000) // disconnect after 10 seconds\n      };\n    };\n    const { observer, timer } = handleAirFrameInjection();\n\n    return () => {\n      window.removeEventListener('resize', handleResize);\n      observer.disconnect();\n      clearTimeout(timer);\n    };\n  }, []);\n\n  return (\n    <>\n      <div className={styles.Spacer} ref={el} />\n      {position &&\n        createPortal(\n          <StnAdPlaceholder\n            style={{\n              position: 'absolute',\n              ...position\n            }}\n          />,\n          document.body\n        )}\n    </>\n  );\n}\n\nfunction StnAdPlaceholder(props: AdPlaceholderProps) {\n  return (\n    <AdPlaceholder {...props} id=\"stn-player\" placeholder={!STN_ENABLED}>\n      StnVideoAd\n    </AdPlaceholder>\n  );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"Main\":\"FanAppPage-module__Main__PjeP9\",\"FixedHeader\":\"FanAppPage-module__FixedHeader__hBg0_\"};","import { ReactNode } from 'react';\nimport styles from './styles/FanAppPage.module.scss';\nimport { useApplicationContainer } from 'containers/ApplicationContainer';\nimport MinuteMediaAd from '../ads/MinuteMediaAd';\nimport StnVideoAd from '../ads/StnVideoAd';\n\nexport default function FanAppPage({ children, subNav }: { children: ReactNode; subNav?: ReactNode }) {\n  const [{ disableAds }] = useApplicationContainer();\n\n  return (\n    <>\n      {subNav && <header className={styles.FixedHeader}>{subNav}</header>}\n      {!disableAds && <MinuteMediaAd placement=\"TOP\" />}\n      <StnVideoAd placement=\"TOP\" />\n      <main className={styles.Main}>{children}</main>\n      <MinuteMediaAd placement=\"BOTTOM\" />\n    </>\n  );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"Scoreboard\":\"WebScoreboard-module__Scoreboard__tSDnX\",\"FullWidth\":\"WebScoreboard-module__FullWidth__yD9kt\"};","import { ReactNode } from 'react';\nimport styles from './styles/WebScoreboard.module.scss';\nimport Scoreboard from '../Scoreboard';\nimport { ContentSectionFlushContent } from '@/components/ContentSection';\nimport InfiniteBlockLayout from '../InfiniteBlockLayout';\nimport useScreenSize from 'hooks/useScreenSize';\n\nexport default function WebScoreboard<G extends { id: string | number }>(props: {\n  games: G[];\n  children: (game: G) => ReactNode;\n  injectAtIndex?: (index: number) => ReactNode;\n}) {\n  return (\n    <ContentSectionFlushContent>\n      <Scoreboard {...props} className={styles.Scoreboard} injectedClassName={styles.FullWidth} />\n    </ContentSectionFlushContent>\n  );\n}\n\nexport function WebScoreboardInfiniteBlocks<G extends { id: string | number }>({\n  games,\n  children\n}: {\n  games: G[];\n  children: (game: G) => ReactNode;\n}) {\n  const { isSmallScreen } = useScreenSize();\n\n  return (\n    <InfiniteBlockLayout className={styles.Scoreboard} videoIndex={6} blockSize={isSmallScreen ? 6 : 12}>\n      {games.map(game => children(game))}\n    </InfiniteBlockLayout>\n  );\n}\n","import { onEvent, GOOGLE_AD_VIEW, LOGIN, SPONSOR_CLICK, SPONSOR_VIEW, SCOREBOARD_NEXT_PAGE } from './events';\n\ndeclare global {\n  interface Window {\n    dataLayer?: any[];\n  }\n}\n\nexport function gtmEvent<T>(eventName: string, eventParams?: T) {\n  const event = {\n    event: eventName,\n    ...eventParams\n  };\n\n  if (window.dataLayer) {\n    window.dataLayer.push(event);\n  } else {\n    console.log('[DATALAYER EVENT]', event);\n  }\n}\n\n/**** EVENTS *****/\n\nonEvent(GOOGLE_AD_VIEW, ({ placement }) => {\n  gtmEvent('google_ad_view', {\n    event_placement: placement\n  });\n});\n\nonEvent(LOGIN, () => {\n  gtmEvent('login');\n});\n\nonEvent(SCOREBOARD_NEXT_PAGE, () => {\n  gtmEvent('scoreboard_next_page');\n});\n\nonEvent(SPONSOR_CLICK, ({ sponsor, placement }) => {\n  gtmEvent('sponsor_ad_click', {\n    event_type: sponsor.slug,\n    event_placement: placement\n  });\n});\n\nonEvent(SPONSOR_VIEW, ({ sponsor, placement }) => {\n  gtmEvent('sponsor_ad_view', {\n    event_type: sponsor.slug,\n    event_placement: placement\n  });\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"Footer\":\"Footer-module__Footer__D3UQ9\",\"Sticky\":\"Footer-module__Sticky___kXOZ\",\"slide\":\"Footer-module__slide__W5Cge\",\"FooterNav\":\"Footer-module__FooterNav__LZ4z_\",\"FooterNavMain\":\"Footer-module__FooterNavMain__dilQv\",\"FooterSubnav\":\"Footer-module__FooterSubnav__y0GF4\",\"FooterCopyright\":\"Footer-module__FooterCopyright__g2BaU\",\"FooterIcons\":\"Footer-module__FooterIcons__ALpga\"};","import Clickable from '@/components/Clickable';\nimport styles from './styles/Footer.module.scss';\nimport { useEffect, useState } from 'react';\nimport cn from 'classnames';\n\nexport default function Footer() {\n  const [isSticky, setIsSticky] = useState(false);\n\n  useEffect(() => {\n    // capture initial height, used to determine when to show the footer\n    const initialHeight = document.documentElement.scrollHeight;\n    function handleScroll() {\n      const scrollTop = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;\n      if (scrollTop > initialHeight * 2) {\n        setIsSticky(true);\n      } else {\n        setIsSticky(false);\n      }\n    }\n\n    window.addEventListener('scroll', handleScroll, { passive: true });\n\n    return () => window.removeEventListener('scroll', handleScroll);\n  }, []);\n\n  const year = new Date().getFullYear();\n\n  return (\n    <footer className={cn(styles.Footer, { [styles.Sticky]: isSticky })}>\n      <div className={styles.FooterNav}>\n        <ul className={styles.FooterNavMain}>\n          <li>\n            <Clickable href=\"/about\">ABOUT</Clickable>\n          </li>\n          <li>\n            <Clickable href=\"https://sites.google.com/scorebooklive.com/sblive-academy/home?authuser=0\">SUPPORT</Clickable>\n          </li>\n        </ul>\n        <ul className={styles.FooterSubnav}>\n          <li>\n            <Clickable href=\"/privacy\">PRIVACY POLICY</Clickable>\n          </li>\n          <li>\n            <Clickable href=\"/terms\">TERMS & CONDITIONS</Clickable>\n          </li>\n          <li>\n            <Clickable href=\"/privacy-choices\">YOUR PRIVACY CHOICES</Clickable>\n          </li>\n        </ul>\n      </div>\n      <div className={styles.FooterIcons}>\n        <Clickable\n          className=\"footer__icon twitter--grey\"\n          href=\"https://twitter.com/sblivesports\"\n          target=\"_blank\"\n          rel=\"noopener\"\n          aria-label=\"SBLive Sports on Twitter\"\n        />\n        <Clickable\n          className=\"footer__icon facebook--grey\"\n          href=\"https://www.facebook.com/sblivesports/\"\n          target=\"_blank\"\n          rel=\"noopener\"\n          aria-label=\"SBLive Sports on Facebook\"\n        />\n        <Clickable\n          className=\"footer__icon instagram--grey\"\n          href=\"https://www.instagram.com/sblivesports\"\n          target=\"_blank\"\n          rel=\"noopener\"\n          aria-label=\"SBLive Sports on Instagram\"\n        />\n        <Clickable\n          className=\"footer__icon youtube--grey\"\n          href=\"https://www.youtube.com/channel/UCQh8R2Yc_niiIinD7Qz0NSg\"\n          target=\"_blank\"\n          rel=\"noopener\"\n          aria-label=\"SBLive Sports on YouTube\"\n        />\n        <Clickable\n          className=\"footer__icon linkedin--grey\"\n          href=\"https://www.linkedin.com/company/scorebook-live/\"\n          target=\"_blank\"\n          rel=\"noopener\"\n          aria-label=\"SBLive Sports on LinkedIn\"\n        />\n      </div>\n      <div className={styles.FooterCopyright}>Copyright {year} Scorebook Live, Inc.</div>\n    </footer>\n  );\n}\n","export default function chunkArray<T>(array: T[], chunkSize: number): T[][] {\n  const result: T[][] = [];\n  for (let i = 0; i < array.length; i += chunkSize) {\n    result.push(array.slice(i, i + chunkSize));\n  }\n  return result;\n}\n","import { useEffect, useState } from 'react';\n\nexport interface PaginationProps<R, V> {\n  onLoadMore: (data: R, currentPage: number) => { endCursor?: string; hasNextPage: boolean };\n  pageInfo: { endCursor?: string; hasNextPage: boolean };\n  query: (ttl: number, variables?: V) => Promise<R>;\n  ttl: number;\n  variables: V;\n}\n\nexport default function usePagination<R, V>({ onLoadMore, pageInfo: pageInfoProp, ttl, query, variables }: PaginationProps<R, V>) {\n  const [isLoadingMore, setIsLoadingMore] = useState(false);\n  const [pageInfo, setPageInfo] = useState({ ...pageInfoProp, currentPage: 1 });\n\n  useEffect(() => {\n    if (!isLoadingMore) return;\n\n    query(ttl, { ...variables, after: pageInfo.endCursor })\n      .then(data => {\n        const currentPage = pageInfo.currentPage + 1;\n        setPageInfo({ ...onLoadMore(data, currentPage), currentPage });\n      })\n      .finally(() => {\n        setIsLoadingMore(false);\n      });\n  }, [isLoadingMore]);\n\n  function handleLoadMore() {\n    if (!pageInfo.hasNextPage || isLoadingMore) return;\n\n    setIsLoadingMore(true);\n  }\n\n  return {\n    currentPage: pageInfo.currentPage,\n    handleLoadMore,\n    hasNextPage: pageInfo.hasNextPage\n  };\n}\n","// TODO make this a pack & use append_pack_tag\n\nimport * as Sentry from '@sentry/react';\nimport { ENVIRONMENT, PRODUCTION, DEVELOPMENT } from 'constants.js.erb';\n\nconst SENTRY_IGNORE_ERRORS_DOMAINS = ['https://powerad.ai/'];\nconst SENTRY_IGNORE_ERROR_MESSAGES = [\n  `reading 'mip'`, // powerad sometimes throws:  Cannot read properties of undefined (reading 'mip')\n  `reading 'iOnSelector'`,\n  'paGlobal',\n  'this.vids[this.is.vid]',\n  `reading 'clsBtn'`,\n  `reading 'pause'`,\n  `evaluating 'frameDoc.open'`,\n  `reading 'tracker'`,\n  `reading 'refresh'`,\n  'getAdPos',\n  `evaluating 'this.props.adSkippableState'`,\n  `evaluating 'this._excoPlayer.on'`,\n  `setting 'closed'`,\n  'getBoundingClientRect',\n  'The play() request was interrupted by a call to pause()',\n  'NotSupportedError: The operation is not supported',\n  'AbortError: The operation was aborted'\n];\n\nexport default function sentry() {\n  Sentry.init({\n    dsn: 'https://e2bc81020c1886413ff315fb1705284e@o4506673361387520.ingest.sentry.io/4506714037026816',\n    integrations: [Sentry.browserTracingIntegration(), Sentry.replayIntegration()],\n    allowUrls: [/scorebooklive.com/],\n    denyUrls: SENTRY_IGNORE_ERRORS_DOMAINS,\n    environment: ENVIRONMENT.toLowerCase(),\n    enabled: ENVIRONMENT != DEVELOPMENT,\n    beforeSend(event, hint) {\n      const fileName = event?.exception?.values?.[0]?.stacktrace?.frames?.[0].filename;\n\n      if (SENTRY_IGNORE_ERRORS_DOMAINS.some(domain => fileName?.includes(domain))) {\n        return null;\n      }\n\n      const errorText = event.exception?.values?.[0].value;\n      if (SENTRY_IGNORE_ERROR_MESSAGES.some(text => errorText?.includes(text))) {\n        return null;\n      }\n\n      return event;\n    },\n\n    // Set tracesSampleRate to 1.0 to capture 100%\n    // of transactions for performance monitoring.\n    // We recommend adjusting this value in production\n    tracesSampleRate: ENVIRONMENT == PRODUCTION ? 0.01 : 0.5,\n\n    // Set `tracePropagationTargets` to control for which URLs distributed tracing should be enabled\n    tracePropagationTargets: ['localhost', /^https:\\/\\/scorebooklive.com/],\n\n    // Capture Replay for 0% of all sessions, plus for 5% of sessions with an error\n    replaysSessionSampleRate: 0,\n    replaysOnErrorSampleRate: ENVIRONMENT == PRODUCTION ? 0.05 : 0\n  });\n}\n","import Page from '@/components/Page';\nimport styles from './styles/AllGenderSportsIndex.module.scss';\nimport SectionHeader from '@/components/SectionHeader';\nimport TextLink, { TextLinkSize } from '@/components/TextLink';\nimport Chevron from 'icons/Chevron';\nimport { Fragment, useState } from 'react';\nimport { useApplicationContainer } from 'containers/ApplicationContainer';\nimport { GamesAllGenderSportsIndexQuery, GamesAllGenderSportsIndexQueryVariables, rubyQueries } from 'queries';\nimport ContentSection from '@/components/ContentSection';\nimport PageLayout from '@/components/PageLayout';\nimport InfinitePagination from '@/components/InfinitePagination';\nimport { entryPoint } from 'react_rails/entryPoint';\nimport WebScoreboard from '@/components/web/WebScoreboard';\nimport WebScoreboardGame from '@/components/web/WebScoreboardGame';\nimport StnVideoAd from '@/components/ads/StnVideoAd';\nimport MinuteMediaAd from '@/components/ads/MinuteMediaAd';\n\nexport default entryPoint(function AllGenderSportsIndex({\n  query,\n  variables\n}: {\n  query: GamesAllGenderSportsIndexQuery;\n  variables: GamesAllGenderSportsIndexQueryVariables;\n}) {\n  const [{ state }, { handleShareGame, makePath }] = useApplicationContainer();\n  const [genderSportGameGroups, setGenderSportGameGroups] = useState(query.genderSportGameGroups.nodes);\n\n  return (\n    <Page>\n      <InfinitePagination\n        onLoadMore={({ genderSportGameGroups: { nodes, pageInfo } }) => {\n          setGenderSportGameGroups(genderSportGameGroups => [...genderSportGameGroups, ...nodes]);\n          return pageInfo;\n        }}\n        pageInfo={query.genderSportGameGroups.pageInfo}\n        query={rubyQueries.gamesAllGenderSportsIndexQuery}\n        ttl={30}\n        variables={variables}\n      >\n        <PageLayout>\n          {genderSportGameGroups.map(({ genderSport, games }, index) => (\n            <Fragment key={genderSport.name}>\n              <ContentSection className={styles.GenderSport}>\n                <SectionHeader\n                  right={\n                    <>\n                      <TextLink href={makePath({ genderSport, path: 'scores' })} size={TextLinkSize.LARGE} className={styles.Link}>\n                        All Scores\n                      </TextLink>\n                      <Chevron direction=\"right\" height={11} width={6} color=\"#3e89f7\" />\n                    </>\n                  }\n                >\n                  {genderSport.name} Scores\n                </SectionHeader>\n                <WebScoreboard games={games.nodes}>\n                  {game => <WebScoreboardGame game={game} onShare={handleShareGame} showState={!state} showRecords={!!state} />}\n                </WebScoreboard>\n              </ContentSection>\n              {index === 0 && (\n                <div>\n                  <StnVideoAd placement=\"INLINE\" />\n                </div>\n              )}\n              {index === 1 && <MinuteMediaAd placement=\"IN_FEED\" />}\n              {index === 2 && <MinuteMediaAd placement=\"IN_FEED\" />}\n            </Fragment>\n          ))}\n        </PageLayout>\n      </InfinitePagination>\n    </Page>\n  );\n});\n","import { USER_CACHE_KEY, authenticateUser } from 'stores/userStore';\nimport 'analytics/gtm';\nimport sentry from 'lib/sentry';\nimport { ComponentType } from 'react';\nimport { pack } from './pack';\nimport '@/styles/global.scss';\nimport { sessionCache } from 'helpers/cache';\n\ndeclare global {\n  interface Window {\n    triggerScreenFocus: (isFocused: boolean) => void;\n  }\n}\n\nif (typeof window !== 'undefined') {\n  window.triggerScreenFocus = function (isFocused) {\n    const event = new CustomEvent('screenfocus', { detail: isFocused });\n    window.dispatchEvent(event);\n  };\n}\n\nexport function entryPoint(component: ComponentType<any>) {\n  if (typeof window === 'undefined') return component;\n\n  sentry();\n\n  if (!sessionCache.get(USER_CACHE_KEY)) authenticateUser();\n\n  return pack(component);\n}\n","import { ComponentType } from 'react';\nimport ReactRailsUJS from 'react_ujs';\nimport { withApplicationContainerMounter } from 'containers/ApplicationContainer';\n\nexport function pack(component: ComponentType<any>) {\n  if (typeof window === 'undefined') return component;\n\n  ReactRailsUJS.getConstructor = function () {\n    return withApplicationContainerMounter(component);\n  };\n\n  return component;\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"GenderSport\":\"AllGenderSportsIndex-module__GenderSport__AE78K\",\"Link\":\"AllGenderSportsIndex-module__Link__r9pG7\"};"],"names":["ApiDomainBadge","_jsx","className","cn","styles","Container","Staging","API_BASE_URL","match","Development","children","ContentSectionHeader","size","props","SectionHeader","SectionHeaderSize","LARGE_MEDIUM","ContentSectionHeaderLink","TextLink","TextLinkSize","MEDIUM","ContentSectionFooterButton","Button","variant","ButtonVariant","GRAY","FooterButton","ButtonSize","LARGE","ContentSectionFlushContent","screenSize","ScreenSize","SMALL","ContentSection","order","Section","style","InfiniteBlockLayout","blockSize","disabled","videoIndex","_jsxs","_Fragment","slice","StnVideoAd","placement","VideoAd","chunkArray","map","child","index","InfinitePagination","paginationProps","handleLoadMore","hasNextPage","currentPage","usePagination","InfiniteScroll","onEndReached","el","useRef","ref","useEffect","handleScroll","scrollTop","document","documentElement","body","scrollHeight","current","clientHeight","window","innerHeight","Math","ceil","addEventListener","passive","removeEventListener","useInfiniteScroll","Spinner","location","SpinnerLocation","SCROLL_FOOTER","VermontLeaderboardAd","AdContainer","Clickable","href","target","src","VPABannerAd","alt","Ad","WebPage","subNav","isSmallScreen","useScreenSize","disableAds","bannerAd","useApplicationContainer","Header","MinuteMediaAd","Footer","Page","isFanApp","PageComponent","FanAppPage","ENVIRONMENT","PageLayoutVariant","PageLayout","header","sidebar","CONTENT","PageSection","flush","FullWidth","Main","Sidebar","PageLayoutModule","Module","fullWidth","Scoreboard","games","injectAtIndex","injectedClassName","game","injected","Fragment","id","length","SectionHeaderTag","center","right","tag","TitleTag","title","TitleText","Flush","ThreeColumns","Title","Center","Right","forward","INHERIT","Chevron","height","width","color","AdPlaceholder","placeholder","Placeholder","minuteMediaPlacements","TOP","BOTTOM","SIDEBAR","SIDEBAR_2","IN_FEED","IN_FEED_2","isSidebar","ad","MINUTE_MEDIA_ADS_ENABLED","disableVideoAd","InTreePlacement","OutOfTreePlacement","Spacer","StnAdPlaceholder","AIR_FRAME","position","setPosition","useState","handleResize","rect","getBoundingClientRect","top","scrollY","left","scrollX","observer","timer","handleAirFrameInjection","mo","MutationObserver","list","forEach","item","type","addedNodes","childNodes","node","classList","contains","disconnect","observe","childList","setTimeout","clearTimeout","createPortal","STN_ENABLED","FixedHeader","WebScoreboard","WebScoreboardInfiniteBlocks","gtmEvent","eventName","eventParams","event","dataLayer","push","console","log","onEvent","GOOGLE_AD_VIEW","event_placement","LOGIN","SCOREBOARD_NEXT_PAGE","SPONSOR_CLICK","sponsor","event_type","slug","SPONSOR_VIEW","isSticky","setIsSticky","initialHeight","year","Date","getFullYear","Sticky","FooterNav","FooterNavMain","FooterSubnav","FooterIcons","rel","FooterCopyright","array","chunkSize","result","i","onLoadMore","pageInfo","pageInfoProp","ttl","query","variables","isLoadingMore","setIsLoadingMore","setPageInfo","after","endCursor","then","data","finally","SENTRY_IGNORE_ERRORS_DOMAINS","SENTRY_IGNORE_ERROR_MESSAGES","sentry","Sentry","dsn","integrations","allowUrls","denyUrls","environment","toLowerCase","enabled","DEVELOPMENT","beforeSend","hint","fileName","exception","values","stacktrace","frames","filename","some","domain","includes","errorText","value","text","tracesSampleRate","PRODUCTION","tracePropagationTargets","replaysSessionSampleRate","replaysOnErrorSampleRate","entryPoint","state","handleShareGame","makePath","genderSportGameGroups","setGenderSportGameGroups","nodes","rubyQueries","gamesAllGenderSportsIndexQuery","genderSport","GenderSport","path","Link","direction","name","WebScoreboardGame","onShare","showState","showRecords","component","sessionCache","get","USER_CACHE_KEY","authenticateUser","pack","triggerScreenFocus","isFocused","CustomEvent","detail","dispatchEvent","ReactRailsUJS","withApplicationContainerMounter"],"sourceRoot":""}