{"version":3,"file":"static/chunks/3596-dc9fce66fcc40e19.js","mappings":"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","sources":["webpack://_N_E/./components/biz/casino/CasinoCoverImage/index.tsx","webpack://_N_E/./components/features/common/GameCardCarousel/CardPlaceHolder.tsx","webpack://_N_E/./utils/dom/getReactNodeTextContent.ts","webpack://_N_E/./components/features/common/GameCardCarousel/styles.tsx","webpack://_N_E/./components/features/common/GameCardCarousel/index.tsx","webpack://_N_E/./hooks/biz/casino/useIsGameRestricted.ts","webpack://_N_E/./components/features/game/GameCard.tsx","webpack://_N_E/./components/features/game/helper.ts","webpack://_N_E/./components/features/game/styles.ts","webpack://_N_E/./components/ui/LazyLoadedImage/index.tsx","webpack://_N_E/"],"sourcesContent":["import { TGameListItem } from '@/apis/hub88';\nimport { getGameCoverPath } from '@/components/features/game/helper';\nimport ImgFallback from '@/components/ui/LazyLoadedImage';\nimport { getStaticAsset } from '@/utils/staticAsset';\nimport { Box, Typography } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport Image from 'next/image';\nimport { useState } from 'react';\n\nconst WrappedNextImg = styled(Image)`\n //object-fit: contain;\n height: 100%;\n width: 100%;\n max-width: 100%;\n`;\n\nconst errorList = {};\n\nconst fallbackSrc = getStaticAsset('/assets/images/logo/m-logo.svg');\n\nconst CasinoCoverImageFallbackWrapper = styled(Box)(({ theme }) => ({\n width: '100%',\n height: '100%',\n placeContent: 'center',\n display: 'grid',\n padding: theme.spacing(1),\n position: 'relative',\n '& img': {\n left: 0,\n top: 0,\n position: 'absolute',\n opacity: 0.3,\n width: '100%',\n height: '100%',\n },\n '& h6': {\n wordBreak: 'break-word',\n },\n}));\n\nconst CasinoCoverImage = ({\n game,\n}: {\n game: TGameListItem;\n width?: number;\n height?: number;\n}) => {\n const nextImgPath = getGameCoverPath(game);\n const [nextError, setNextError] = useState(!!errorList[nextImgPath] ?? false);\n\n const [fallbackError, setFallbackError] = useState(false);\n \n\n if (fallbackError || !game) {\n return (\n \n \"fallback\"\n {game?.name ?? 'N/A'}\n \n );\n }\n\n return !nextError && nextImgPath ? (\n {\n setNextError(true);\n errorList[nextImgPath] = true;\n }}\n />\n ) : (\n {\n setFallbackError(true);\n }}\n />\n );\n};\n\nexport default CasinoCoverImage;\n","import GameCard from '@/components/features/game/GameCard';\nimport { Box } from '@mui/material';\nimport { useEffect, useRef, useState } from 'react';\nimport { styled } from '@mui/material/styles';\nimport { useInViewport } from 'ahooks';\n\nimport { Wrapper } from '../../game/styles';\n\nconst PlaceHolderWrapper = styled(Box)`\n aspect-ratio: 1;\n box-shadow: 0 1px 5px #00000099;\n border-radius: 8px;\n height: 100%;\n`;\n\nconst CardPlaceHolder = (props) => {\n const ref = useRef();\n\n const [inViewport] = useInViewport(ref);\n\n const [showed, setShowed] = useState(false);\n\n useEffect(() => {\n if (inViewport) {\n setShowed(true);\n }\n }, [inViewport]);\n\n return (\n \n {!showed ? (\n {\n e.preventDefault();\n }}\n />\n ) : (\n \n )}\n \n );\n};\n\nexport default CardPlaceHolder;\n","import { ReactNode } from 'react';\n\n// https://stackoverflow.com/questions/34204975/react-is-there-something-similar-to-node-textcontent\nconst getReactNodeTextContent = (node) => {\n if (['string', 'number'].includes(typeof node)) return node;\n if (node instanceof Array) return node.map(getReactNodeTextContent).join('');\n if (typeof node === 'object' && node)\n return getReactNodeTextContent(node.props.children);\n};\n\nexport default getReactNodeTextContent;\n","import { styled } from '@mui/material/styles';\nimport { Stack, StackProps } from '@mui/material';\nimport React from 'react';\n\nexport const Wrapper = styled((props: StackProps) => )(\n ({ theme }) => ({\n gap: 6,\n containerType: 'inline-size',\n }),\n);\n\nexport const ArrowWrapper = styled((props: StackProps) => (\n \n))(({ theme }) => ({\n justifyContent: 'flex-end',\n\n alignSelf: 'center',\n ['> *']: {\n borderRadius: 12,\n padding: '4px',\n },\n ['svg']: {\n transition: 'opacity 0.3s ease-in-out',\n '&:hover': {\n transform: 'scale(1.1)',\n },\n },\n}));\n\nexport const GameCardWrapper = styled(Stack)(({ theme }) => ({\n overflowX: 'scroll',\n flexDirection: 'row',\n flexWrap: 'nowrap',\n gap: theme.spacing(2),\n perspective: '1500px',\n paddingBottom: theme.spacing(1),\n '::-webkit-scrollbar': {\n display: 'none',\n },\n display: 'grid',\n borderRadius: theme.spacing(1),\n ['--columns']: 6,\n gridTemplateColumns:\n 'repeat(var(--columns), calc((100% - calc((var(--columns) - 1) * 16px) - 8px) / var(--columns)))',\n gridAutoFlow: 'row',\n [theme.breakpoints.down('md')]: {\n ['--columns']: 4,\n },\n [theme.breakpoints.down('sm')]: {\n /**\n * !!! IMPORTANT !!!\n * CSS hack here to handle the tg mobile browser\n */\n ['--columns']: 3,\n },\n}));\n","import KeyboardArrowLeft from '@mui/icons-material/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@mui/icons-material/KeyboardArrowRight';\nimport {\n Stack,\n SxProps,\n Theme,\n Typography,\n useMediaQuery,\n} from '@mui/material';\nimport React, { useMemo } from 'react';\nimport { useTranslation } from 'next-i18next';\nimport useTheme from '@/theme/useTheme';\nimport { TGameListItem } from '@/apis/hub88';\nimport CardPlaceHolder from '@/components/features/common/GameCardCarousel/CardPlaceHolder';\nimport getReactNodeTextContent from '@/utils/dom/getReactNodeTextContent';\nimport Link from 'next/link';\nimport { Wrapper, ArrowWrapper, GameCardWrapper } from './styles';\nimport { useIsomorphicLayoutEffect } from 'ahooks';\nimport { isServer } from '@/configs';\n\nexport interface GameCardCarouselProps {\n games: T[];\n viewAllLink?: string;\n title?: React.ReactNode;\n /**\n * @default autoCarousel\n * @param waterfall: waterfall\n * @param carousel: carousel\n * @param autoCarousel: at mobile screen, it will be carousel, at desktop screen, it will be waterfall\n */\n // mode?: 'autoCarousel' | 'waterfall' | 'carousel';\n showArrowControllers?: boolean;\n sxs?: {\n wrapperSX?: SxProps;\n };\n horizontal?: boolean;\n}\n\nconst scrollMap = {};\n\nconst GameCardCarousel = ({\n games = [],\n title,\n viewAllLink,\n showArrowControllers = true,\n // mode = 'autoCarousel',\n sxs = {\n wrapperSX: {},\n },\n horizontal = false,\n}: GameCardCarouselProps) => {\n const [t] = useTranslation();\n\n const ref = React.useRef(null);\n\n const { theme } = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\n\n const titleText = useMemo(() => {\n return getReactNodeTextContent(title);\n }, [title]);\n\n useIsomorphicLayoutEffect(() => {\n if (isServer) return;\n if (ref.current) {\n if (ref.current.clientWidth >= ref.current.scrollWidth) {\n setScrollState('none');\n } else {\n setScrollState('start');\n }\n }\n if (scrollMap[titleText]) {\n if (ref.current) {\n ref.current.scrollLeft = scrollMap[titleText];\n }\n }\n }, [games.length, titleText]);\n\n const [scrollState, setScrollState] = React.useState<\n 'start' | 'middle' | 'end' | 'none'\n >('none');\n\n const wrapperSX: SxProps = {\n justifyContent: games.length ? undefined : 'center',\n alignItems: games.length ? undefined : 'center',\n\n ...(horizontal\n ? {\n height: '160px',\n display: 'flex',\n [theme.breakpoints.down('sm')]: {\n marginLeft: theme.spacing(-2),\n marginRight: theme.spacing(-2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n borderRadius: 0,\n display: 'grid',\n height: 'auto',\n ...(games.length >= 12\n ? {\n gridTemplateRows: 'repeat(3, 27vw)',\n gridAutoColumns: '27vw',\n gridAutoFlow: 'column',\n }\n : {\n gridTemplateRows: '27vw',\n gridAutoColumns: '27vw',\n gridAutoFlow: 'row',\n }),\n },\n }\n : {}),\n ...sxs.wrapperSX,\n };\n\n const hasGames = games.length > 0;\n\n if (!hasGames) {\n return null;\n }\n\n return (\n \n \n {title ? (\n typeof title === 'string' ? (\n \n {title}\n \n ) : (\n title\n )\n ) : null}\n {viewAllLink ? (\n \n \n {t('View All')}\n \n \n ) : null}\n {(showArrowControllers && scrollState !== 'none' && (\n \n \n {\n if (ref.current) {\n ref.current.scrollBy({\n left: -ref.current.clientWidth * 0.8,\n behavior: 'smooth',\n });\n }\n }}\n >\n {\n if (ref.current) {\n ref.current.scrollBy({\n left: ref.current.clientWidth * 0.8,\n behavior: 'smooth',\n });\n }\n }}\n >\n \n \n )) ||\n ''}\n \n\n {\n const scrollLeft = (e.target as HTMLDivElement).scrollLeft;\n scrollMap[titleText] = scrollLeft;\n const target = e.target as HTMLDivElement;\n if (scrollLeft === 0) {\n setScrollState('start');\n } else if (\n scrollLeft + target.clientWidth >=\n target.scrollWidth - 1\n ) {\n setScrollState('end');\n } else {\n setScrollState('middle');\n }\n }}\n sx={wrapperSX}\n >\n {hasGames\n ? games.map((game, index) => {\n if (!game?.gameId) {\n console.log(games, game, 'no code!');\n }\n return ;\n })\n : null}\n \n \n );\n};\n\nexport default GameCardCarousel;\n","import { TGameListItem } from '@/apis/hub88';\nimport { useAtomValue } from 'jotai';\nimport { userLoginGeoInfoState } from '@/state/userInfo';\n\nconst useIsGameRestricted = (game: TGameListItem) => {\n return false;\n const userGeoLoginInfo = useAtomValue(userLoginGeoInfoState);\n\n const isUserCountryRestricted = (game.blockedCountries || []).includes(\n userGeoLoginInfo?.country,\n );\n\n return isUserCountryRestricted;\n};\n\nexport default useIsGameRestricted;\n","import { CircularProgress, SxProps, Theme, Typography } from '@mui/material';\nimport { appSidebarMobileSearchDrawerOpened } from '@/state/globalSettings';\nimport { useAtomValue, useSetAtom } from 'jotai';\nimport React, { useEffect } from 'react';\nimport { TGameListItem } from '@/apis/hub88';\nimport { useTranslation } from 'next-i18next';\nimport useIsGameRestricted from '@/hooks/biz/casino/useIsGameRestricted';\n\nimport { isLoggedIn } from '@/state/userInfo';\nimport CasinoCoverImage from '@/components/biz/casino/CasinoCoverImage';\nimport { Wrapper, HoverBox } from './styles';\n\n// export type TGameCardGame = {\n// name: string;\n// gameId?: string;\n// category: string;\n// thumbUrl?: string;\n// startUrl?: string;\n// };\n\nconst GameCard = ({\n game,\n sx,\n}: {\n game: TGameListItem;\n provider?: string;\n sx?: SxProps;\n}) => {\n const [t] = useTranslation();\n\n const isLogin = useAtomValue(isLoggedIn);\n\n const setSearchBar = useSetAtom(appSidebarMobileSearchDrawerOpened);\n const cardRef = React.useRef(null);\n const boundsRef = React.useRef(null);\n const glowRef = React.useRef(null);\n\n function rotateToMouse(e) {\n if (!cardRef.current || !boundsRef.current) return;\n const glowDiv = cardRef.current.querySelector('.glow');\n\n const mouseX = e.clientX;\n const mouseY = e.clientY;\n const leftX = mouseX - boundsRef.current.x;\n const topY = mouseY - boundsRef.current.y;\n const center = {\n x: leftX - boundsRef.current.width / 2,\n y: topY - boundsRef.current.height / 2,\n };\n // const distance = Math.sqrt(center.x ** 2 + center.y ** 2);\n\n // cardRef.current.style.transform = `\n // scale3d(1.07, 1.07, 1.07)\n // rotate3d(\n // ${center.y / 100},\n // ${-center.x / 100},\n // 0,\n // ${Math.log(distance) * 0.1}deg\n // )\n // `;\n glowDiv.style.backgroundImage = `\n radial-gradient(\n circle at\n ${center.x * 2 + boundsRef.current.width / 2}px\n ${center.y * 2 + boundsRef.current.height / 2}px,\n #ffffff20,\n #0000000f\n )\n `;\n\n // $card.querySelector('.glow').style.backgroundImage = `\n // radial-gradient(\n // circle at\n // ${center.x * 2 + bounds.width / 2}px\n // ${center.y * 2 + bounds.height / 2}px,\n // #ffffff55,\n // #0000000f\n // )\n // `;\n }\n\n useEffect(() => {\n if (cardRef?.current) {\n cardRef.current.addEventListener('mouseenter', () => {\n boundsRef.current = cardRef.current.getBoundingClientRect();\n const exist = cardRef.current.querySelector('.glow');\n if (!exist) {\n const glowDiv = document.createElement('div');\n glowDiv.classList.add('glow');\n cardRef.current.appendChild(glowDiv);\n }\n document.addEventListener('mousemove', rotateToMouse);\n });\n\n cardRef.current.addEventListener('mouseleave', () => {\n const glowDiv = cardRef.current.querySelector('.glow');\n if (glowDiv) {\n glowDiv.remove();\n }\n document.removeEventListener('mousemove', rotateToMouse);\n });\n }\n }, []);\n\n const isUserCountryRestricted = useIsGameRestricted(game);\n\n const gameHref = () => {\n if (isUserCountryRestricted) return '#';\n const gameId = game.gameId || game.slug;\n if (game.provider === 'SELF') return `/casino/${gameId}`;\n return `/casino/play/${gameId}`;\n };\n\n return (\n {\n if (isUserCountryRestricted) {\n e.preventDefault();\n return;\n }\n // onClick(e);\n setSearchBar(false);\n }}\n href={gameHref()}\n >\n {/*
*/}\n \n {isUserCountryRestricted ? (\n \n {isUserCountryRestricted ? (\n \n {t('Sorry, this game is not available in your region')}\n \n ) : null}\n {/*{isMobileMode && isFetchingGameURL ? : null}*/}\n \n ) : null}\n \n );\n};\n\nexport default GameCard;\n","import { TGameListItem } from '@/apis/hub88';\nimport { GAME_PROVIDERS } from '@/constants/biz';\nimport { getStaticAsset } from '@/utils/staticAsset';\n\nconst getGameId = (game: TGameListItem) => {\n if (!game) {\n return '';\n }\n return game.gameId || game.gameSlug || game.gameName || '';\n};\n\nexport const getGameCoverPath = (game: TGameListItem) => {\n let res = '';\n if (!game?.provider) {\n return res;\n }\n if (game.provider === 'SELF') {\n res = getStaticAsset(\n `/assets/images/casino/game-covers/moon-club/${getGameId(game)}.png`,\n );\n } else if (GAME_PROVIDERS[game.provider.toUpperCase()]) {\n res = getStaticAsset(\n `/assets/images/casino/game-covers/${game.provider.toLowerCase()}/${getGameId(\n game,\n )}.png`,\n );\n }\n\n // if (game?.provider === GAME_PROVIDERS.HUB88) {\n // res = getStaticAsset(\n // `/assets/images/casino/game-covers/hub88/${getGameSlug(game)}.png`,\n // );\n // }\n\n // if (game?.provider === GAME_PROVIDERS.HACKSAW) {\n // res = getStaticAsset(\n // `/assets/images/casino/game-covers/hacksaw/${getGameSlug(game)}.png`,\n // );\n // }\n\n return res;\n};\n","import { styled } from '@mui/material/styles';\nimport Link from 'next/link';\nimport { Box, Stack } from '@mui/material';\n\nexport const Wrapper = styled(Link)(({ theme }) => ({\n // background: theme.palette.grey[700],\n aspectRatio: '1',\n borderRadius: theme.spacing(1),\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'flex-end',\n alignItems: 'center',\n // padding: theme.spacing(2),\n flexDirection: 'column',\n position: 'relative',\n overflow: 'hidden',\n flexShrink: 0,\n boxShadow: '0 1px 5px #00000099',\n\n transitionDuration: '300ms',\n transitionProperty: 'transform, box-shadow',\n transitionTimingFunction: 'ease-out',\n transform: 'rotate3d(0)',\n '&:hover': {\n transitionDuration: '20ms',\n boxShadow: '0 5px 20px 5px #00000044',\n },\n ['> img']: {\n objectFit: 'cover',\n height: '100%',\n },\n ['.glow']: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n left: '0',\n top: '0',\n zIndex: '1',\n\n backgroundImage:\n 'radial-gradient(circle at 50% -20%, #ffffff20, #0000000f)',\n },\n}));\n\n// export const BGBox = styled(Box)(({ theme }) => ({\n// position: 'absolute',\n// inset: 0,\n\n// }));\n\nexport const HoverBox = styled(Stack)(({ theme }) => ({\n width: '100%',\n height: '100%',\n position: 'absolute',\n zIndex: 2,\n inset: 0,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n background: 'rgba(0,0,0,0.8)',\n padding: theme.spacing(2),\n opacity: 0,\n transform: 'scale(1.1)',\n transition: 'all 0.3s ease-in-out',\n [':hover']: {\n opacity: 1,\n transform: 'scale(1)',\n },\n}));\n","import { getStaticAsset } from '@/utils/staticAsset';\nimport { styled } from '@mui/system';\nimport React, { useState } from 'react';\nimport { PropsOf } from '@emotion/react';\nimport classNames from 'clsx';\n\nconst StyledImage = styled('img')<{\n loaded?: boolean;\n}>`\n opacity: 0;\n transition: opacity 0.3s ease-in-out;\n\n &.loaded {\n opacity: 1;\n }\n\n &.noTransition {\n transition: none;\n }\n`;\n\nconst successList = new Set();\nconst failureList = new Set();\n\nconst fallbackSrc = getStaticAsset('/assets/images/logo/m-logo.svg');\n\nconst ImgFallback = ({\n src,\n onLoad,\n onError,\n onErrored,\n className,\n ...props\n}: {\n src: string[] | string;\n onErrored?: (e: React.SyntheticEvent) => void;\n} & Omit, 'src'>) => {\n const [imgIndex, setImgIndex] = useState(0);\n\n const usedSrcs = (Array.isArray(src) ? src : [src]).filter(Boolean);\n\n const imgAlreadyLoaded = usedSrcs.find((src) => successList.has(src));\n\n return (\n {\n onLoad?.(e);\n try {\n if (new URL((e.target as any).src).pathname === fallbackSrc) {\n onErrored?.(e);\n }\n } catch (e) {}\n if (imgAlreadyLoaded) return;\n successList.add(usedSrcs[imgIndex]);\n (e.target as HTMLImageElement).classList.add('loaded');\n }}\n key={imgIndex}\n onError={(e) => {\n onError?.(e);\n if (imgIndex < usedSrcs.length - 1) {\n setImgIndex(imgIndex + 1);\n } else {\n if ((e.target as HTMLImageElement).classList.contains('errored')) {\n return;\n }\n (e.target as HTMLImageElement).src = fallbackSrc;\n (e.target as HTMLImageElement).classList.add('errored');\n (e.target as HTMLImageElement).onerror = null;\n failureList.add(usedSrcs.join(''));\n }\n }}\n {...props}\n />\n );\n};\n\nexport default ImgFallback;\n"],"names":["WrappedNextImg","styled","Image","_templateObject","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_taggedTemplateLiteral_js__WEBPACK_IMPORTED_MODULE_7__","Z","errorList","fallbackSrc","getStaticAsset","CasinoCoverImageFallbackWrapper","_mui_material_Box__WEBPACK_IMPORTED_MODULE_8__","_ref","width","height","placeContent","display","padding","theme","spacing","position","left","top","opacity","wordBreak","__webpack_exports__","_ref2","_errorList$nextImgPat","_game$name","game","nextImgPath","getGameCoverPath","_useState","useState","nextError","setNextError","_useState2","fallbackError","setFallbackError","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__","jsxs","children","jsx","src","alt","_mui_material_Typography__WEBPACK_IMPORTED_MODULE_9__","variant","name","gameId","onError","_components_ui_LazyLoadedImage__WEBPACK_IMPORTED_MODULE_1__","thumbUrl","loading","onErrored","PlaceHolderWrapper","Box","taggedTemplateLiteral","GameCardCarousel_CardPlaceHolder","props","ref","useRef","_useInViewport","useInViewport","inViewport","_useInViewport2","slicedToArray","showed","setShowed","useEffect","jsx_runtime","GameCard","_objectSpread","styles","i","href","onClick","e","preventDefault","Wrapper","Stack","styles_objectSpread","gap","containerType","ArrowWrapper","direction","_ref3","justifyContent","alignSelf","defineProperty","borderRadius","transition","transform","GameCardWrapper","_ref4","_ref5","overflowX","flexDirection","flexWrap","perspective","paddingBottom","breakpoints","down","scrollMap","common_GameCardCarousel","_ref$games","games","title","viewAllLink","_ref$showArrowControl","showArrowControllers","_ref$sxs","sxs","_ref$horizontal","horizontal","_useTranslation","useTranslation","t","_useTranslation2","React","_useTheme","useTheme","isMobile","useMediaQuery","titleText","useMemo","getReactNodeTextContent","node","includes","Array","map","join","useIsomorphicLayoutEffect","isServer","current","clientWidth","scrollWidth","setScrollState","scrollLeft","length","_React$useState","_React$useState2","scrollState","wrapperSX","GameCardCarousel_objectSpread","undefined","alignItems","marginLeft","marginRight","paddingLeft","paddingRight","gridTemplateRows","gridAutoColumns","gridAutoFlow","hasGames","mb","Typography","color","sx","fontWeight","letterSpacing","textAlign","border","borderColor","palette","grey","component","link_default","shallow","scroll","flexGrow","KeyboardArrowLeft","cursor","text","secondary","scrollBy","behavior","KeyboardArrowRight","onScroll","target","index","console","log","game_GameCard","useAtomValue","isLoggedIn","setSearchBar","useSetAtom","appSidebarMobileSearchDrawerOpened","cardRef","boundsRef","rotateToMouse","glowDiv","querySelector","mouseX","clientX","mouseY","clientY","leftX","x","topY","y","center","style","backgroundImage","concat","addEventListener","getBoundingClientRect","document","createElement","classList","add","appendChild","remove","removeEventListener","slug","provider","CasinoCoverImage","getGameId","gameSlug","gameName","res","GAME_PROVIDERS","toUpperCase","toLowerCase","Link","aspectRatio","backgroundSize","backgroundRepeat","backgroundPosition","overflow","flexShrink","boxShadow","transitionDuration","transitionProperty","transitionTimingFunction","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_2__","objectFit","zIndex","HoverBox","_mui_material_Stack__WEBPACK_IMPORTED_MODULE_3__","inset","background","StyledImage","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_taggedTemplateLiteral_js__WEBPACK_IMPORTED_MODULE_5__","successList","Set","failureList","onLoad","className","_codebuild_output_src2472147443_src_crownbit_frontend_node_modules_next_dist_compiled_babel_runtime_helpers_esm_objectWithoutProperties_js__WEBPACK_IMPORTED_MODULE_6__","_excluded","imgIndex","setImgIndex","usedSrcs","isArray","filter","Boolean","imgAlreadyLoaded","find","has","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__","classNames","noTransition","loaded","URL","pathname","contains","onerror"],"sourceRoot":""}