@cuemath/leap 3.1.12 → 3.1.13-akm-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/assets/lottie/lottie.js +2 -0
  2. package/dist/assets/lottie/lottie.js.map +1 -1
  3. package/dist/constants/country.js.map +1 -1
  4. package/dist/features/auth/account-selector/account-selector.js +1 -1
  5. package/dist/features/auth/account-selector/account-selector.js.map +1 -1
  6. package/dist/features/auth/auth-constants.js +13 -0
  7. package/dist/features/auth/auth-constants.js.map +1 -0
  8. package/dist/features/auth/{user-list → comps/user-list}/user-item/user-item-styled.js +1 -1
  9. package/dist/features/auth/comps/user-list/user-item/user-item-styled.js.map +1 -0
  10. package/dist/features/auth/{user-list → comps/user-list}/user-item/user-item.js +4 -4
  11. package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -0
  12. package/dist/features/auth/comps/user-list/user-list-constants.js.map +1 -0
  13. package/dist/features/auth/comps/user-list/user-list-styled.js.map +1 -0
  14. package/dist/features/auth/{user-list → comps/user-list}/user-list.js +3 -3
  15. package/dist/features/auth/comps/user-list/user-list.js.map +1 -0
  16. package/dist/features/auth/signup/claim-user-account/claim-user-account.js +1 -1
  17. package/dist/features/auth/signup/claim-user-account/claim-user-account.js.map +1 -1
  18. package/dist/features/auth/signup/signup-constants.js +1 -10
  19. package/dist/features/auth/signup/signup-constants.js.map +1 -1
  20. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +11 -11
  21. package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -1
  22. package/dist/features/post-game-stats/enums/post-game-stats-enum.js +1 -1
  23. package/dist/features/post-game-stats/enums/post-game-stats-enum.js.map +1 -1
  24. package/dist/features/post-game-stats/post-game-stats.js +71 -89
  25. package/dist/features/post-game-stats/post-game-stats.js.map +1 -1
  26. package/dist/features/post-game-stats/score/constants.js +10 -0
  27. package/dist/features/post-game-stats/score/constants.js.map +1 -0
  28. package/dist/features/post-game-stats/score/score-styled.js +63 -0
  29. package/dist/features/post-game-stats/score/score-styled.js.map +1 -0
  30. package/dist/features/post-game-stats/score/score.js +76 -0
  31. package/dist/features/post-game-stats/score/score.js.map +1 -0
  32. package/dist/features/ui/inputs/text-input/text-input-styled.js +18 -13
  33. package/dist/features/ui/inputs/text-input/text-input-styled.js.map +1 -1
  34. package/dist/index.d.ts +14 -1
  35. package/dist/index.js +84 -82
  36. package/dist/index.js.map +1 -1
  37. package/dist/robots.txt +2 -0
  38. package/dist/static/high-score-confetti.9cc15d0a.json +1 -0
  39. package/dist/static/high-score-text.b7e35580.json +1 -0
  40. package/package.json +1 -1
  41. package/dist/features/auth/user-list/user-item/user-item-styled.js.map +0 -1
  42. package/dist/features/auth/user-list/user-item/user-item.js.map +0 -1
  43. package/dist/features/auth/user-list/user-list-constants.js.map +0 -1
  44. package/dist/features/auth/user-list/user-list-styled.js.map +0 -1
  45. package/dist/features/auth/user-list/user-list.js.map +0 -1
  46. /package/dist/features/auth/{user-list → comps/user-list}/user-list-constants.js +0 -0
  47. /package/dist/features/auth/{user-list → comps/user-list}/user-list-styled.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"tables-card.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/tables-card/tables-card.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { TColorNames } from '../../../../ui/types';\nimport type {\n ITableInfo,\n TTableMode,\n} from '../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { ITableCardRef, ITablesCardProps } from './tables-card-types';\n\nimport React, {\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport Back2Icon from '../../../../../assets/line-icons/icons/back2';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport { useUIContext } from '../../../../ui/context/context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { useCircleSounds } from '../../../hooks/use-circle-sounds/use-circle-sounds';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from '../../game-launcher-analytics-events';\nimport { CardContainer } from '../card-container/card-container';\nimport { GAME_LAUNCHER_SIZE, GAME_LAUNCHER_SIZE_LARGE } from '../card-container/constants';\nimport { TABLE_MODE_LABEL_COLOR, TABLE_REVEAL_ANIMATION } from './constants';\nimport TableMode from './table-mode/table-mode';\nimport TableSegmentStar from './table-segment-star/table-segment-star';\nimport * as Styled from './tables-card-styled';\n\nconst rendererSettings = {\n renderer: 'canvas',\n};\n\nconst modeRevealAnimationSettings = {\n loop: false,\n renderer: 'svg',\n};\n\nconst TablesCardComponent = forwardRef<ITableCardRef, ITablesCardProps>(\n (\n {\n data,\n label,\n onPress,\n openModesOfTable,\n defaultTable,\n onGoBackFromTableLevel,\n onPressTableSegment,\n },\n ref,\n ) => {\n const { onEvent: trackEvent } = useUIContext();\n const { playButtonSound } = useCircleSounds();\n const [fadeIn, setFadeIn] = useState(true);\n const [highlightedTable, setHighlightedTable] = useState<number | null>(\n openModesOfTable?.tableNumber ?? null,\n );\n const [highlightedLevel, setHighlightedLevel] = useState<number | null>(null);\n const [labelColor, setLabelColor] = useState<TColorNames>('WHITE_T_60');\n const [revealTableModes, setRevealTableModes] = useState<ITableInfo>({\n stars:\n data.tableList.find(table => table.tableNumber === openModesOfTable?.tableNumber)?.stars ??\n [],\n tableNumber: openModesOfTable?.tableNumber ?? 0,\n });\n\n const [showLabel, setShowLabel] = useState(true);\n const [isLabelAnimated, setIsLabelAnimated] = useState(false);\n const [animatedColor, setAniimatedColor] = useState<TColorNames>('WHITE_T_60');\n\n const labelRef = useRef<HTMLDivElement>(null);\n const cardRef = useRef<HTMLDivElement>(null);\n\n const [rewardStar, setRewardStar] = useState(openModesOfTable?.rewardStar ?? []);\n const [enableInfiniteMode] = useState(false);\n\n const revealAnimationRef = useRef<ILottieAnimationRef | null>(null);\n const disappearAnimationTimer = useRef<ReturnType<typeof setTimeout>>();\n\n const handleTableSegmentClick = useCallback(\n (table: ITableInfo) => {\n if (onPressTableSegment) {\n onPressTableSegment(table);\n\n return;\n }\n playButtonSound();\n setFadeIn(true);\n setHighlightedTable(table.tableNumber);\n setRevealTableModes({ ...table });\n setRewardStar([]);\n trackEvent(GAME_LAUNCHER_ANALYTICS_EVENTS.TABLE_SELECTED, {\n meta: {\n table_of: table.tableNumber,\n },\n });\n },\n [onPressTableSegment, playButtonSound, trackEvent],\n );\n\n const handleTableSegmentMouseOver = useCallback(\n (table: ITableInfo) => {\n setLabelColor(isLabelAnimated ? animatedColor : 'WHITE_T_60');\n setHighlightedTable(table.tableNumber);\n },\n [animatedColor, isLabelAnimated],\n );\n\n const handleTableSegmentMouseLeave = useCallback(() => {\n setLabelColor('WHITE_T_60');\n !revealTableModes.tableNumber && setHighlightedTable(null);\n }, [revealTableModes.tableNumber]);\n\n const goBack = useCallback(() => {\n onGoBackFromTableLevel?.();\n playButtonSound();\n setFadeIn(false);\n setHighlightedTable(null);\n const time = (TABLE_REVEAL_ANIMATION.DISAPPEAR[1] - TABLE_REVEAL_ANIMATION.DISAPPEAR[0]) / 30;\n\n revealAnimationRef.current?.playSegments(TABLE_REVEAL_ANIMATION.DISAPPEAR, true);\n disappearAnimationTimer.current = setTimeout(() => {\n setRevealTableModes({ stars: [], tableNumber: 0 });\n }, time * 1000);\n }, [onGoBackFromTableLevel, playButtonSound]);\n\n const showTableModes = useCallback(() => {\n revealAnimationRef.current?.playSegments(TABLE_REVEAL_ANIMATION.REVEAL, true);\n }, []);\n\n const handleModeMouseOver = useCallback((type: TTableMode) => {\n const level: Partial<Record<TTableMode, number>> = {\n sequence: 1,\n random: 2,\n advance: 3,\n };\n\n setLabelColor(TABLE_MODE_LABEL_COLOR[type] ?? 'WHITE_T_60');\n setHighlightedLevel(level[type] ?? 0);\n }, []);\n\n const handleModeMouseLeave = useCallback(() => {\n setHighlightedLevel(null);\n setLabelColor('WHITE_T_60');\n }, []);\n\n const revealTableModesMemo = useMemo(() => revealTableModes, [revealTableModes]);\n\n const tableModes = useMemo(() => {\n return [\n {\n top: 20,\n left: 10.5,\n type: 'sequence' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('sequence'),\n semicirclePosiiionTop: '-19%',\n semicirclePosiiionLeft: '-43%',\n semicircleHoverColor: '#B259004D',\n },\n {\n top: 20,\n left: 65.5,\n type: 'random' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('random'),\n semicirclePosiiionTop: '-19%',\n semicirclePosiiionLeft: '65%',\n semicircleHoverColor: '#0055CC4D',\n },\n {\n top: 66,\n left: 38,\n type: 'advance' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('advance'),\n semicirclePosiiionTop: '74%',\n semicirclePosiiionLeft: '11%',\n semicircleHoverColor: '#A9099C4D',\n },\n ];\n }, [revealTableModesMemo.tableNumber, revealTableModesMemo.stars]);\n\n // Disabled infinite mode\n const handleInfiniteModeClick = useCallback(() => {\n onPress({\n mode: 'infinite',\n infiniteModeHighScore: data.infiniteModeHighScore,\n });\n }, [onPress, data.infiniteModeHighScore]);\n\n const handleNormalModeClick = useCallback(\n (mode: TTableMode, isStarRewarded: boolean) => {\n onPress({\n mode,\n tableNumber: revealTableModes.tableNumber,\n isStarRewarded,\n });\n },\n [onPress, revealTableModes.tableNumber],\n );\n\n const getHighlightedText = useCallback(() => {\n if (highlightedLevel) {\n return `${highlightedTable}× LEVEL${highlightedLevel}`;\n }\n\n return highlightedTable ? `${highlightedTable}× Table` : label;\n }, [highlightedLevel, highlightedTable, label]);\n\n const startLabelAnimation = useCallback((color: TColorNames) => {\n setLabelColor(color);\n setAniimatedColor(color);\n setIsLabelAnimated(true);\n }, []);\n\n const stopLabelAnimation = useCallback(() => setIsLabelAnimated(false), []);\n const setLabelVisiblity = useCallback((visible: boolean) => setShowLabel(visible), []);\n\n useImperativeHandle(ref, () => ({\n labelRef: labelRef,\n segmentedCardWrapperRef: cardRef,\n startLabelAnimation,\n stopLabelAnimation,\n setLabelVisiblity,\n handleTableSegmentClick,\n }));\n\n useEffect(() => {\n return () => {\n disappearAnimationTimer.current && clearTimeout(disappearAnimationTimer.current);\n };\n }, []);\n\n // Used in trial journey, to open table levels by default if given in props\n useEffect(() => {\n if (defaultTable) {\n playButtonSound();\n setFadeIn(true);\n setHighlightedTable(defaultTable.tableNumber);\n setRevealTableModes({ ...defaultTable });\n }\n }, [defaultTable, playButtonSound]);\n\n return (\n <CardContainer\n labelRef={labelRef}\n ref={cardRef}\n strokeColor=\"WHITE\"\n label={getHighlightedText()}\n labelColor={labelColor}\n isAnimated={isLabelAnimated}\n showLabel={showLabel}\n >\n <Styled.CardWrapper>\n {/* table selection */}\n <Styled.TableSegmentsWrapper>\n {/* infinite button */}\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"top\"\n hidden={enableInfiniteMode}\n tooltipItem={\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n Coming Soon\n </Text>\n }\n >\n <Styled.InfiniteButtonWrapper\n onClick={enableInfiniteMode ? handleInfiniteModeClick : undefined}\n >\n <Styled.ExtendedAbsoluteView>\n <LottieAnimation\n src={LOTTIE.INFINITE_BUTTON_BG}\n settings={rendererSettings}\n animateOnIntersect\n />\n </Styled.ExtendedAbsoluteView>\n <Styled.ExtendedAbsoluteView>\n <LottieAnimation\n src={LOTTIE.INFINITE_BUTTON_SYMBOL}\n settings={rendererSettings}\n animateOnIntersect\n />\n </Styled.ExtendedAbsoluteView>\n </Styled.InfiniteButtonWrapper>\n </ArrowTooltip>\n\n {/* card shadow */}\n <Styled.TableSegmentCardShadowContainer />\n\n {/* table segments */}\n {data.tableList.map((table, index) => {\n const segmentAngle = 360 / data.tableList.length;\n const startAngle = -(90 + 360 / (2 * data.tableList.length));\n const currentAngle = startAngle + segmentAngle * (index + 1);\n\n return (\n <Styled.TableSegment\n key={index}\n $angle={currentAngle}\n $totalSegments={data.tableList.length}\n $zIndex={index + 1}\n onClick={() => handleTableSegmentClick(table)}\n onMouseOver={() => handleTableSegmentMouseOver(table)}\n onMouseLeave={handleTableSegmentMouseLeave}\n >\n <FlexView $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n {['sequence', 'random', 'advance'].map(star => (\n <TableSegmentStar\n key={star}\n isStarAchieved={table.stars.includes(star as TTableMode)}\n rewardStar={\n !fadeIn && openModesOfTable?.tableNumber === table.tableNumber\n ? rewardStar.includes(star as TTableMode)\n : undefined\n }\n />\n ))}\n <Separator width={GAME_LAUNCHER_SIZE * 0.055} />\n\n <Styled.TableNumber $angle={-currentAngle}>\n <Text\n $renderAs={\n GAME_LAUNCHER_SIZE === GAME_LAUNCHER_SIZE_LARGE\n ? 'ac3-black'\n : 'ac4-black'\n }\n $color={highlightedTable === table.tableNumber ? 'BLACK_1' : 'WHITE'}\n >\n {table.tableNumber}\n </Text>\n </Styled.TableNumber>\n </FlexView>\n </Styled.TableSegment>\n );\n })}\n </Styled.TableSegmentsWrapper>\n\n {/* table modes */}\n {revealTableModes.tableNumber > 0 && (\n <Styled.TableModeContainer>\n <Styled.TableModeWrapper>\n {/* tables modes with back button */}\n <Styled.AnimatedView animation={fadeIn ? 'fade-in' : 'fade-out'}>\n {tableModes.map((tableMode, index) => (\n <React.Fragment key={index}>\n <Styled.ModeOverlay\n $top={tableMode.semicirclePosiiionTop}\n $left={tableMode.semicirclePosiiionLeft}\n $hoverColor={tableMode.semicircleHoverColor}\n onClick={() =>\n fadeIn\n ? handleNormalModeClick(tableMode.type, tableMode.isStarAchieved)\n : undefined\n }\n onMouseOver={() =>\n fadeIn ? handleModeMouseOver(tableMode.type as TTableMode) : undefined\n }\n onMouseLeave={fadeIn ? handleModeMouseLeave : undefined}\n />\n <Styled.AbsoluteView\n $top={tableMode.top}\n $left={tableMode.left}\n $isPointerEventsNone={true}\n >\n <TableMode\n tableNumber={tableMode.tableNumber}\n isStarAchieved={tableMode.isStarAchieved}\n type={tableMode.type as TTableMode}\n rewardStar={rewardStar.includes(tableMode.type as TTableMode)}\n />\n </Styled.AbsoluteView>\n </React.Fragment>\n ))}\n {/* back button */}\n <Styled.AbsoluteView $top={50} $left={50} $alignCenter={true}>\n <Styled.IconWrapper>\n <Back2Icon\n onClick={goBack}\n height={GAME_LAUNCHER_SIZE * 0.1}\n width={GAME_LAUNCHER_SIZE * 0.1}\n />\n </Styled.IconWrapper>\n </Styled.AbsoluteView>\n </Styled.AnimatedView>\n\n {/* overlay lottie for modes */}\n <LottieAnimation\n src={LOTTIE.TABLE_MODE_REVEAL}\n ref={revealAnimationRef}\n settings={modeRevealAnimationSettings}\n onRender={showTableModes}\n animateOnIntersect\n />\n </Styled.TableModeWrapper>\n </Styled.TableModeContainer>\n )}\n </Styled.CardWrapper>\n </CardContainer>\n );\n },\n);\n\nexport const TablesCard = memo(TablesCardComponent);\n"],"names":["rendererSettings","modeRevealAnimationSettings","TablesCardComponent","forwardRef","data","label","onPress","openModesOfTable","defaultTable","onGoBackFromTableLevel","onPressTableSegment","ref","trackEvent","useUIContext","playButtonSound","useCircleSounds","fadeIn","setFadeIn","useState","highlightedTable","setHighlightedTable","highlightedLevel","setHighlightedLevel","labelColor","setLabelColor","revealTableModes","setRevealTableModes","_a","table","showLabel","setShowLabel","isLabelAnimated","setIsLabelAnimated","animatedColor","setAniimatedColor","labelRef","useRef","cardRef","rewardStar","setRewardStar","enableInfiniteMode","revealAnimationRef","disappearAnimationTimer","handleTableSegmentClick","useCallback","GAME_LAUNCHER_ANALYTICS_EVENTS","handleTableSegmentMouseOver","handleTableSegmentMouseLeave","goBack","time","TABLE_REVEAL_ANIMATION","showTableModes","handleModeMouseOver","type","level","TABLE_MODE_LABEL_COLOR","handleModeMouseLeave","revealTableModesMemo","useMemo","tableModes","handleInfiniteModeClick","handleNormalModeClick","mode","isStarRewarded","getHighlightedText","startLabelAnimation","color","stopLabelAnimation","setLabelVisiblity","visible","useImperativeHandle","useEffect","jsx","CardContainer","jsxs","Styled.CardWrapper","Styled.TableSegmentsWrapper","ArrowTooltip","Text","Styled.InfiniteButtonWrapper","Styled.ExtendedAbsoluteView","LottieAnimation","LOTTIE","Styled.TableSegmentCardShadowContainer","index","segmentAngle","currentAngle","Styled.TableSegment","FlexView","star","TableSegmentStar","Separator","GAME_LAUNCHER_SIZE","Styled.TableNumber","GAME_LAUNCHER_SIZE_LARGE","Styled.TableModeContainer","Styled.TableModeWrapper","Styled.AnimatedView","tableMode","React","Styled.ModeOverlay","Styled.AbsoluteView","TableMode","Styled.IconWrapper","Back2Icon","TablesCard","memo"],"mappings":"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"}
1
+ {"version":3,"file":"tables-card.js","sources":["../../../../../../src/features/circle-games/game-launcher/comps/tables-card/tables-card.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../../../ui/lottie-animation/types';\nimport type { TColorNames } from '../../../../ui/types';\nimport type {\n ITableInfo,\n TTableMode,\n} from '../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { ITableCardRef, ITablesCardProps } from './tables-card-types';\n\nimport React, {\n forwardRef,\n memo,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport Back2Icon from '../../../../../assets/line-icons/icons/back2';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport { useUIContext } from '../../../../ui/context/context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { useCircleSounds } from '../../../hooks/use-circle-sounds/use-circle-sounds';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from '../../game-launcher-analytics-events';\nimport { CardContainer } from '../card-container/card-container';\nimport { GAME_LAUNCHER_SIZE, GAME_LAUNCHER_SIZE_LARGE } from '../card-container/constants';\nimport { TABLE_MODE_LABEL_COLOR, TABLE_REVEAL_ANIMATION } from './constants';\nimport TableMode from './table-mode/table-mode';\nimport TableSegmentStar from './table-segment-star/table-segment-star';\nimport * as Styled from './tables-card-styled';\n\nconst rendererSettings = {\n renderer: 'canvas',\n};\n\nconst modeRevealAnimationSettings = {\n loop: false,\n renderer: 'svg',\n};\n\nconst TablesCardComponent = forwardRef<ITableCardRef, ITablesCardProps>(\n (\n {\n data,\n label,\n onPress,\n openModesOfTable,\n defaultTable,\n onGoBackFromTableLevel,\n onPressTableSegment,\n },\n ref,\n ) => {\n const { onEvent: trackEvent } = useUIContext();\n const { playButtonSound } = useCircleSounds();\n const [fadeIn, setFadeIn] = useState(true);\n const [highlightedTable, setHighlightedTable] = useState<number | null>(\n openModesOfTable?.tableNumber ?? null,\n );\n const [highlightedLevel, setHighlightedLevel] = useState<number | null>(null);\n const [labelColor, setLabelColor] = useState<TColorNames>('WHITE_T_60');\n const [revealTableModes, setRevealTableModes] = useState<ITableInfo>({\n stars:\n data.tableList.find(table => table.tableNumber === openModesOfTable?.tableNumber)?.stars ??\n [],\n tableNumber: openModesOfTable?.tableNumber ?? 0,\n });\n\n const [showLabel, setShowLabel] = useState(true);\n const [isLabelAnimated, setIsLabelAnimated] = useState(false);\n const [animatedColor, setAniimatedColor] = useState<TColorNames>('WHITE_T_60');\n\n const labelRef = useRef<HTMLDivElement>(null);\n const cardRef = useRef<HTMLDivElement>(null);\n\n const [rewardStar, setRewardStar] = useState(openModesOfTable?.rewardStar ?? []);\n const [enableInfiniteMode] = useState(true);\n\n const revealAnimationRef = useRef<ILottieAnimationRef | null>(null);\n const disappearAnimationTimer = useRef<ReturnType<typeof setTimeout>>();\n\n const handleTableSegmentClick = useCallback(\n (table: ITableInfo) => {\n if (onPressTableSegment) {\n onPressTableSegment(table);\n\n return;\n }\n playButtonSound();\n setFadeIn(true);\n setHighlightedTable(table.tableNumber);\n setRevealTableModes({ ...table });\n setRewardStar([]);\n trackEvent(GAME_LAUNCHER_ANALYTICS_EVENTS.TABLE_SELECTED, {\n meta: {\n table_of: table.tableNumber,\n },\n });\n },\n [onPressTableSegment, playButtonSound, trackEvent],\n );\n\n const handleTableSegmentMouseOver = useCallback(\n (table: ITableInfo) => {\n setLabelColor(isLabelAnimated ? animatedColor : 'WHITE_T_60');\n setHighlightedTable(table.tableNumber);\n },\n [animatedColor, isLabelAnimated],\n );\n\n const handleTableSegmentMouseLeave = useCallback(() => {\n setLabelColor('WHITE_T_60');\n !revealTableModes.tableNumber && setHighlightedTable(null);\n }, [revealTableModes.tableNumber]);\n\n const goBack = useCallback(() => {\n onGoBackFromTableLevel?.();\n playButtonSound();\n setFadeIn(false);\n setHighlightedTable(null);\n const time = (TABLE_REVEAL_ANIMATION.DISAPPEAR[1] - TABLE_REVEAL_ANIMATION.DISAPPEAR[0]) / 30;\n\n revealAnimationRef.current?.playSegments(TABLE_REVEAL_ANIMATION.DISAPPEAR, true);\n disappearAnimationTimer.current = setTimeout(() => {\n setRevealTableModes({ stars: [], tableNumber: 0 });\n }, time * 1000);\n }, [onGoBackFromTableLevel, playButtonSound]);\n\n const showTableModes = useCallback(() => {\n revealAnimationRef.current?.playSegments(TABLE_REVEAL_ANIMATION.REVEAL, true);\n }, []);\n\n const handleModeMouseOver = useCallback((type: TTableMode) => {\n const level: Partial<Record<TTableMode, number>> = {\n sequence: 1,\n random: 2,\n advance: 3,\n };\n\n setLabelColor(TABLE_MODE_LABEL_COLOR[type] ?? 'WHITE_T_60');\n setHighlightedLevel(level[type] ?? 0);\n }, []);\n\n const handleModeMouseLeave = useCallback(() => {\n setHighlightedLevel(null);\n setLabelColor('WHITE_T_60');\n }, []);\n\n const revealTableModesMemo = useMemo(() => revealTableModes, [revealTableModes]);\n\n const tableModes = useMemo(() => {\n return [\n {\n top: 20,\n left: 10.5,\n type: 'sequence' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('sequence'),\n semicirclePosiiionTop: '-19%',\n semicirclePosiiionLeft: '-43%',\n semicircleHoverColor: '#B259004D',\n },\n {\n top: 20,\n left: 65.5,\n type: 'random' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('random'),\n semicirclePosiiionTop: '-19%',\n semicirclePosiiionLeft: '65%',\n semicircleHoverColor: '#0055CC4D',\n },\n {\n top: 66,\n left: 38,\n type: 'advance' as TTableMode,\n tableNumber: revealTableModesMemo.tableNumber,\n isStarAchieved: revealTableModesMemo.stars.includes('advance'),\n semicirclePosiiionTop: '74%',\n semicirclePosiiionLeft: '11%',\n semicircleHoverColor: '#A9099C4D',\n },\n ];\n }, [revealTableModesMemo.tableNumber, revealTableModesMemo.stars]);\n\n // Disabled infinite mode\n const handleInfiniteModeClick = useCallback(() => {\n onPress({\n mode: 'infinite',\n infiniteModeHighScore: data.infiniteModeHighScore,\n });\n }, [onPress, data.infiniteModeHighScore]);\n\n const handleNormalModeClick = useCallback(\n (mode: TTableMode, isStarRewarded: boolean) => {\n onPress({\n mode,\n tableNumber: revealTableModes.tableNumber,\n isStarRewarded,\n });\n },\n [onPress, revealTableModes.tableNumber],\n );\n\n const getHighlightedText = useCallback(() => {\n if (highlightedLevel) {\n return `${highlightedTable}× LEVEL${highlightedLevel}`;\n }\n\n return highlightedTable ? `${highlightedTable}× Table` : label;\n }, [highlightedLevel, highlightedTable, label]);\n\n const startLabelAnimation = useCallback((color: TColorNames) => {\n setLabelColor(color);\n setAniimatedColor(color);\n setIsLabelAnimated(true);\n }, []);\n\n const stopLabelAnimation = useCallback(() => setIsLabelAnimated(false), []);\n const setLabelVisiblity = useCallback((visible: boolean) => setShowLabel(visible), []);\n\n useImperativeHandle(ref, () => ({\n labelRef: labelRef,\n segmentedCardWrapperRef: cardRef,\n startLabelAnimation,\n stopLabelAnimation,\n setLabelVisiblity,\n handleTableSegmentClick,\n }));\n\n useEffect(() => {\n return () => {\n disappearAnimationTimer.current && clearTimeout(disappearAnimationTimer.current);\n };\n }, []);\n\n // Used in trial journey, to open table levels by default if given in props\n useEffect(() => {\n if (defaultTable) {\n playButtonSound();\n setFadeIn(true);\n setHighlightedTable(defaultTable.tableNumber);\n setRevealTableModes({ ...defaultTable });\n }\n }, [defaultTable, playButtonSound]);\n\n return (\n <CardContainer\n labelRef={labelRef}\n ref={cardRef}\n strokeColor=\"WHITE\"\n label={getHighlightedText()}\n labelColor={labelColor}\n isAnimated={isLabelAnimated}\n showLabel={showLabel}\n >\n <Styled.CardWrapper>\n {/* table selection */}\n <Styled.TableSegmentsWrapper>\n {/* infinite button */}\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"top\"\n hidden={enableInfiniteMode}\n tooltipItem={\n <Text $renderAs=\"ab3\" $color=\"WHITE\">\n Coming Soon\n </Text>\n }\n >\n <Styled.InfiniteButtonWrapper\n onClick={enableInfiniteMode ? handleInfiniteModeClick : undefined}\n >\n <Styled.ExtendedAbsoluteView>\n <LottieAnimation\n src={LOTTIE.INFINITE_BUTTON_BG}\n settings={rendererSettings}\n animateOnIntersect\n />\n </Styled.ExtendedAbsoluteView>\n <Styled.ExtendedAbsoluteView>\n <LottieAnimation\n src={LOTTIE.INFINITE_BUTTON_SYMBOL}\n settings={rendererSettings}\n animateOnIntersect\n />\n </Styled.ExtendedAbsoluteView>\n </Styled.InfiniteButtonWrapper>\n </ArrowTooltip>\n\n {/* card shadow */}\n <Styled.TableSegmentCardShadowContainer />\n\n {/* table segments */}\n {data.tableList.map((table, index) => {\n const segmentAngle = 360 / data.tableList.length;\n const startAngle = -(90 + 360 / (2 * data.tableList.length));\n const currentAngle = startAngle + segmentAngle * (index + 1);\n\n return (\n <Styled.TableSegment\n key={index}\n $angle={currentAngle}\n $totalSegments={data.tableList.length}\n $zIndex={index + 1}\n onClick={() => handleTableSegmentClick(table)}\n onMouseOver={() => handleTableSegmentMouseOver(table)}\n onMouseLeave={handleTableSegmentMouseLeave}\n >\n <FlexView $flexDirection=\"row\" $justifyContent=\"center\" $alignItems=\"center\">\n {['sequence', 'random', 'advance'].map(star => (\n <TableSegmentStar\n key={star}\n isStarAchieved={table.stars.includes(star as TTableMode)}\n rewardStar={\n !fadeIn && openModesOfTable?.tableNumber === table.tableNumber\n ? rewardStar.includes(star as TTableMode)\n : undefined\n }\n />\n ))}\n <Separator width={GAME_LAUNCHER_SIZE * 0.055} />\n\n <Styled.TableNumber $angle={-currentAngle}>\n <Text\n $renderAs={\n GAME_LAUNCHER_SIZE === GAME_LAUNCHER_SIZE_LARGE\n ? 'ac3-black'\n : 'ac4-black'\n }\n $color={highlightedTable === table.tableNumber ? 'BLACK_1' : 'WHITE'}\n >\n {table.tableNumber}\n </Text>\n </Styled.TableNumber>\n </FlexView>\n </Styled.TableSegment>\n );\n })}\n </Styled.TableSegmentsWrapper>\n\n {/* table modes */}\n {revealTableModes.tableNumber > 0 && (\n <Styled.TableModeContainer>\n <Styled.TableModeWrapper>\n {/* tables modes with back button */}\n <Styled.AnimatedView animation={fadeIn ? 'fade-in' : 'fade-out'}>\n {tableModes.map((tableMode, index) => (\n <React.Fragment key={index}>\n <Styled.ModeOverlay\n $top={tableMode.semicirclePosiiionTop}\n $left={tableMode.semicirclePosiiionLeft}\n $hoverColor={tableMode.semicircleHoverColor}\n onClick={() =>\n fadeIn\n ? handleNormalModeClick(tableMode.type, tableMode.isStarAchieved)\n : undefined\n }\n onMouseOver={() =>\n fadeIn ? handleModeMouseOver(tableMode.type as TTableMode) : undefined\n }\n onMouseLeave={fadeIn ? handleModeMouseLeave : undefined}\n />\n <Styled.AbsoluteView\n $top={tableMode.top}\n $left={tableMode.left}\n $isPointerEventsNone={true}\n >\n <TableMode\n tableNumber={tableMode.tableNumber}\n isStarAchieved={tableMode.isStarAchieved}\n type={tableMode.type as TTableMode}\n rewardStar={rewardStar.includes(tableMode.type as TTableMode)}\n />\n </Styled.AbsoluteView>\n </React.Fragment>\n ))}\n {/* back button */}\n <Styled.AbsoluteView $top={50} $left={50} $alignCenter={true}>\n <Styled.IconWrapper>\n <Back2Icon\n onClick={goBack}\n height={GAME_LAUNCHER_SIZE * 0.1}\n width={GAME_LAUNCHER_SIZE * 0.1}\n />\n </Styled.IconWrapper>\n </Styled.AbsoluteView>\n </Styled.AnimatedView>\n\n {/* overlay lottie for modes */}\n <LottieAnimation\n src={LOTTIE.TABLE_MODE_REVEAL}\n ref={revealAnimationRef}\n settings={modeRevealAnimationSettings}\n onRender={showTableModes}\n animateOnIntersect\n />\n </Styled.TableModeWrapper>\n </Styled.TableModeContainer>\n )}\n </Styled.CardWrapper>\n </CardContainer>\n );\n },\n);\n\nexport const TablesCard = memo(TablesCardComponent);\n"],"names":["rendererSettings","modeRevealAnimationSettings","TablesCardComponent","forwardRef","data","label","onPress","openModesOfTable","defaultTable","onGoBackFromTableLevel","onPressTableSegment","ref","trackEvent","useUIContext","playButtonSound","useCircleSounds","fadeIn","setFadeIn","useState","highlightedTable","setHighlightedTable","highlightedLevel","setHighlightedLevel","labelColor","setLabelColor","revealTableModes","setRevealTableModes","_a","table","showLabel","setShowLabel","isLabelAnimated","setIsLabelAnimated","animatedColor","setAniimatedColor","labelRef","useRef","cardRef","rewardStar","setRewardStar","enableInfiniteMode","revealAnimationRef","disappearAnimationTimer","handleTableSegmentClick","useCallback","GAME_LAUNCHER_ANALYTICS_EVENTS","handleTableSegmentMouseOver","handleTableSegmentMouseLeave","goBack","time","TABLE_REVEAL_ANIMATION","showTableModes","handleModeMouseOver","type","level","TABLE_MODE_LABEL_COLOR","handleModeMouseLeave","revealTableModesMemo","useMemo","tableModes","handleInfiniteModeClick","handleNormalModeClick","mode","isStarRewarded","getHighlightedText","startLabelAnimation","color","stopLabelAnimation","setLabelVisiblity","visible","useImperativeHandle","useEffect","jsx","CardContainer","jsxs","Styled.CardWrapper","Styled.TableSegmentsWrapper","ArrowTooltip","Text","Styled.InfiniteButtonWrapper","Styled.ExtendedAbsoluteView","LottieAnimation","LOTTIE","Styled.TableSegmentCardShadowContainer","index","segmentAngle","currentAngle","Styled.TableSegment","FlexView","star","TableSegmentStar","Separator","GAME_LAUNCHER_SIZE","Styled.TableNumber","GAME_LAUNCHER_SIZE_LARGE","Styled.TableModeContainer","Styled.TableModeWrapper","Styled.AnimatedView","tableMode","React","Styled.ModeOverlay","Styled.AbsoluteView","TableMode","Styled.IconWrapper","Back2Icon","TablesCard","memo"],"mappings":";;;;;;;;;;;;;;;;;;AAoCA,MAAMA,IAAmB;AAAA,EACvB,UAAU;AACZ,GAEMC,KAA8B;AAAA,EAClC,MAAM;AAAA,EACN,UAAU;AACZ,GAEMC,KAAsBC;AAAA,EAC1B,CACE;AAAA,IACE,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,qBAAAC;AAAA,KAEFC,MACG;;AACH,UAAM,EAAE,SAASC,EAAW,IAAIC,GAAa,GACvC,EAAE,iBAAAC,MAAoBC,MACtB,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAI,GACnC,CAACC,GAAkBC,CAAmB,IAAIF;AAAA,OAC9CX,KAAA,gBAAAA,EAAkB,gBAAe;AAAA,IAAA,GAE7B,CAACc,GAAkBC,CAAmB,IAAIJ,EAAwB,IAAI,GACtE,CAACK,GAAYC,CAAa,IAAIN,EAAsB,YAAY,GAChE,CAACO,GAAkBC,CAAmB,IAAIR,EAAqB;AAAA,MACnE,SACES,IAAAvB,EAAK,UAAU,KAAK,CAAAwB,MAASA,EAAM,iBAAgBrB,KAAA,gBAAAA,EAAkB,YAAW,MAAhF,gBAAAoB,EAAmF,UACnF,CAAC;AAAA,MACH,cAAapB,KAAA,gBAAAA,EAAkB,gBAAe;AAAA,IAAA,CAC/C,GAEK,CAACsB,GAAWC,CAAY,IAAIZ,EAAS,EAAI,GACzC,CAACa,GAAiBC,CAAkB,IAAId,EAAS,EAAK,GACtD,CAACe,GAAeC,CAAiB,IAAIhB,EAAsB,YAAY,GAEvEiB,IAAWC,EAAuB,IAAI,GACtCC,IAAUD,EAAuB,IAAI,GAErC,CAACE,GAAYC,EAAa,IAAIrB,GAASX,KAAA,gBAAAA,EAAkB,eAAc,CAAA,CAAE,GACzE,CAACiC,CAAkB,IAAItB,EAAS,EAAI,GAEpCuB,IAAqBL,EAAmC,IAAI,GAC5DM,IAA0BN,KAE1BO,IAA0BC;AAAA,MAC9B,CAAChB,MAAsB;AACrB,YAAIlB,GAAqB;AACvB,UAAAA,EAAoBkB,CAAK;AAEzB;AAAA,QACF;AACgB,QAAAd,KAChBG,EAAU,EAAI,GACdG,EAAoBQ,EAAM,WAAW,GACjBF,EAAA,EAAE,GAAGE,EAAA,CAAO,GAChCW,GAAc,CAAE,CAAA,GAChB3B,EAAWiC,GAA+B,gBAAgB;AAAA,UACxD,MAAM;AAAA,YACJ,UAAUjB,EAAM;AAAA,UAClB;AAAA,QAAA,CACD;AAAA,MACH;AAAA,MACA,CAAClB,GAAqBI,GAAiBF,CAAU;AAAA,IAAA,GAG7CkC,KAA8BF;AAAA,MAClC,CAAChB,MAAsB;AACP,QAAAJ,EAAAO,IAAkBE,IAAgB,YAAY,GAC5Db,EAAoBQ,EAAM,WAAW;AAAA,MACvC;AAAA,MACA,CAACK,GAAeF,CAAe;AAAA,IAAA,GAG3BgB,KAA+BH,EAAY,MAAM;AACrD,MAAApB,EAAc,YAAY,GACzB,CAAAC,EAAiB,eAAeL,EAAoB,IAAI;AAAA,IAAA,GACxD,CAACK,EAAiB,WAAW,CAAC,GAE3BuB,KAASJ,EAAY,MAAM;;AACN,MAAAnC,KAAA,QAAAA,KACTK,KAChBG,EAAU,EAAK,GACfG,EAAoB,IAAI;AAClB,YAAA6B,KAAQC,EAAuB,UAAU,CAAC,IAAIA,EAAuB,UAAU,CAAC,KAAK;AAE3F,OAAAvB,IAAAc,EAAmB,YAAnB,QAAAd,EAA4B,aAAauB,EAAuB,WAAW,KACnDR,EAAA,UAAU,WAAW,MAAM;AACjD,QAAAhB,EAAoB,EAAE,OAAO,CAAA,GAAI,aAAa,EAAG,CAAA;AAAA,MAAA,GAChDuB,IAAO,GAAI;AAAA,IAAA,GACb,CAACxC,GAAwBK,CAAe,CAAC,GAEtCqC,KAAiBP,EAAY,MAAM;;AACvC,OAAAjB,IAAAc,EAAmB,YAAnB,QAAAd,EAA4B,aAAauB,EAAuB,QAAQ;AAAA,IAC1E,GAAG,CAAE,CAAA,GAECE,KAAsBR,EAAY,CAACS,MAAqB;AAC5D,YAAMC,IAA6C;AAAA,QACjD,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,SAAS;AAAA,MAAA;AAGG,MAAA9B,EAAA+B,GAAuBF,CAAI,KAAK,YAAY,GACtC/B,EAAAgC,EAAMD,CAAI,KAAK,CAAC;AAAA,IACtC,GAAG,CAAE,CAAA,GAECG,KAAuBZ,EAAY,MAAM;AAC7C,MAAAtB,EAAoB,IAAI,GACxBE,EAAc,YAAY;AAAA,IAC5B,GAAG,CAAE,CAAA,GAECiC,IAAuBC,EAAQ,MAAMjC,GAAkB,CAACA,CAAgB,CAAC,GAEzEkC,KAAaD,EAAQ,MAClB;AAAA,MACL;AAAA,QACE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,MAAM;AAAA,QACN,aAAaD,EAAqB;AAAA,QAClC,gBAAgBA,EAAqB,MAAM,SAAS,UAAU;AAAA,QAC9D,uBAAuB;AAAA,QACvB,wBAAwB;AAAA,QACxB,sBAAsB;AAAA,MACxB;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,MAAM;AAAA,QACN,aAAaA,EAAqB;AAAA,QAClC,gBAAgBA,EAAqB,MAAM,SAAS,QAAQ;AAAA,QAC5D,uBAAuB;AAAA,QACvB,wBAAwB;AAAA,QACxB,sBAAsB;AAAA,MACxB;AAAA,MACA;AAAA,QACE,KAAK;AAAA,QACL,MAAM;AAAA,QACN,MAAM;AAAA,QACN,aAAaA,EAAqB;AAAA,QAClC,gBAAgBA,EAAqB,MAAM,SAAS,SAAS;AAAA,QAC7D,uBAAuB;AAAA,QACvB,wBAAwB;AAAA,QACxB,sBAAsB;AAAA,MACxB;AAAA,IAAA,GAED,CAACA,EAAqB,aAAaA,EAAqB,KAAK,CAAC,GAG3DG,KAA0BhB,EAAY,MAAM;AACxC,MAAAtC,EAAA;AAAA,QACN,MAAM;AAAA,QACN,uBAAuBF,EAAK;AAAA,MAAA,CAC7B;AAAA,IACA,GAAA,CAACE,GAASF,EAAK,qBAAqB,CAAC,GAElCyD,KAAwBjB;AAAA,MAC5B,CAACkB,GAAkBC,MAA4B;AACrC,QAAAzD,EAAA;AAAA,UACN,MAAAwD;AAAA,UACA,aAAarC,EAAiB;AAAA,UAC9B,gBAAAsC;AAAA,QAAA,CACD;AAAA,MACH;AAAA,MACA,CAACzD,GAASmB,EAAiB,WAAW;AAAA,IAAA,GAGlCuC,KAAqBpB,EAAY,MACjCvB,IACK,GAAGF,CAAgB,UAAUE,CAAgB,KAG/CF,IAAmB,GAAGA,CAAgB,YAAYd,GACxD,CAACgB,GAAkBF,GAAkBd,CAAK,CAAC,GAExC4D,KAAsBrB,EAAY,CAACsB,MAAuB;AAC9D,MAAA1C,EAAc0C,CAAK,GACnBhC,EAAkBgC,CAAK,GACvBlC,EAAmB,EAAI;AAAA,IACzB,GAAG,CAAE,CAAA,GAECmC,KAAqBvB,EAAY,MAAMZ,EAAmB,EAAK,GAAG,CAAA,CAAE,GACpEoC,KAAoBxB,EAAY,CAACyB,MAAqBvC,EAAauC,CAAO,GAAG,CAAA,CAAE;AAErF,WAAAC,GAAoB3D,GAAK,OAAO;AAAA,MAC9B,UAAAwB;AAAA,MACA,yBAAyBE;AAAA,MACzB,qBAAA4B;AAAA,MACA,oBAAAE;AAAA,MACA,mBAAAC;AAAA,MACA,yBAAAzB;AAAA,IACA,EAAA,GAEF4B,EAAU,MACD,MAAM;AACa,MAAA7B,EAAA,WAAW,aAAaA,EAAwB,OAAO;AAAA,IAAA,GAEhF,CAAE,CAAA,GAGL6B,EAAU,MAAM;AACd,MAAI/D,MACcM,KAChBG,EAAU,EAAI,GACdG,EAAoBZ,EAAa,WAAW,GACxBkB,EAAA,EAAE,GAAGlB,EAAA,CAAc;AAAA,IACzC,GACC,CAACA,GAAcM,CAAe,CAAC,GAGhC,gBAAA0D;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAAtC;AAAA,QACA,KAAKE;AAAA,QACL,aAAY;AAAA,QACZ,OAAO2B,GAAmB;AAAA,QAC1B,YAAAzC;AAAA,QACA,YAAYQ;AAAA,QACZ,WAAAF;AAAA,QAEA,UAAA,gBAAA6C,EAACC,IAAA,EAEC,UAAA;AAAA,UAAC,gBAAAD,EAAAE,IAAA,EAEC,UAAA;AAAA,YAAA,gBAAAJ;AAAA,cAACK;AAAA,cAAA;AAAA,gBACC,UAAS;AAAA,gBACT,UAAS;AAAA,gBACT,QAAQrC;AAAA,gBACR,aACG,gBAAAgC,EAAAM,GAAA,EAAK,WAAU,OAAM,QAAO,SAAQ,UAErC,eAAA;AAAA,gBAGF,UAAA,gBAAAJ;AAAA,kBAACK;AAAAA,kBAAA;AAAA,oBACC,SAASvC,IAAqBoB,KAA0B;AAAA,oBAExD,UAAA;AAAA,sBAAC,gBAAAY,EAAAQ,GAAA,EACC,UAAA,gBAAAR;AAAA,wBAACS;AAAA,wBAAA;AAAA,0BACC,KAAKC,EAAO;AAAA,0BACZ,UAAUlF;AAAA,0BACV,oBAAkB;AAAA,wBAAA;AAAA,sBAAA,GAEtB;AAAA,sBACA,gBAAAwE,EAACQ,GAAA,EACC,UAAA,gBAAAR;AAAA,wBAACS;AAAA,wBAAA;AAAA,0BACC,KAAKC,EAAO;AAAA,0BACZ,UAAUlF;AAAA,0BACV,oBAAkB;AAAA,wBAAA;AAAA,sBAAA,GAEtB;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACF;AAAA,cAAA;AAAA,YACF;AAAA,YAGA,gBAAAwE,EAACW,IAAA,EAAuC;AAAA,YAGvC/E,EAAK,UAAU,IAAI,CAACwB,GAAOwD,MAAU;AAC9B,oBAAAC,KAAe,MAAMjF,EAAK,UAAU,QAEpCkF,IADa,EAAE,KAAK,OAAO,IAAIlF,EAAK,UAAU,WAClBiF,MAAgBD,IAAQ;AAGxD,qBAAA,gBAAAZ;AAAA,gBAACe;AAAAA,gBAAA;AAAA,kBAEC,QAAQD;AAAA,kBACR,gBAAgBlF,EAAK,UAAU;AAAA,kBAC/B,SAASgF,IAAQ;AAAA,kBACjB,SAAS,MAAMzC,EAAwBf,CAAK;AAAA,kBAC5C,aAAa,MAAMkB,GAA4BlB,CAAK;AAAA,kBACpD,cAAcmB;AAAA,kBAEd,4BAACyC,IAAS,EAAA,gBAAe,OAAM,iBAAgB,UAAS,aAAY,UACjE,UAAA;AAAA,oBAAA,CAAC,YAAY,UAAU,SAAS,EAAE,IAAI,CACrCC,MAAA,gBAAAjB;AAAA,sBAACkB;AAAA,sBAAA;AAAA,wBAEC,gBAAgB9D,EAAM,MAAM,SAAS6D,CAAkB;AAAA,wBACvD,YACE,CAACzE,MAAUT,KAAA,gBAAAA,EAAkB,iBAAgBqB,EAAM,cAC/CU,EAAW,SAASmD,CAAkB,IACtC;AAAA,sBAAA;AAAA,sBALDA;AAAA,oBAAA,CAQR;AAAA,oBACA,gBAAAjB,EAAAmB,IAAA,EAAU,OAAOC,IAAqB,MAAO,CAAA;AAAA,sCAE7CC,IAAA,EAAmB,QAAQ,CAACP,GAC3B,UAAA,gBAAAd;AAAA,sBAACM;AAAA,sBAAA;AAAA,wBACC,WACEc,MAAuBE,KACnB,cACA;AAAA,wBAEN,QAAQ3E,MAAqBS,EAAM,cAAc,YAAY;AAAA,wBAE5D,UAAMA,EAAA;AAAA,sBAAA;AAAA,oBAAA,GAEX;AAAA,kBAAA,GACF;AAAA,gBAAA;AAAA,gBAlCKwD;AAAA,cAAA;AAAA,YAmCP,CAEH;AAAA,UAAA,GACH;AAAA,UAGC3D,EAAiB,cAAc,KAC7B,gBAAA+C,EAAAuB,IAAA,EACC,UAAA,gBAAArB,EAACsB,IAAA,EAEC,UAAA;AAAA,YAAA,gBAAAtB,EAACuB,IAAA,EAAoB,WAAWjF,IAAS,YAAY,YAClD,UAAA;AAAA,cAAA2C,GAAW,IAAI,CAACuC,GAAWd,MACzB,gBAAAV,EAAAyB,GAAM,UAAN,EACC,UAAA;AAAA,gBAAA,gBAAA3B;AAAA,kBAAC4B;AAAAA,kBAAA;AAAA,oBACC,MAAMF,EAAU;AAAA,oBAChB,OAAOA,EAAU;AAAA,oBACjB,aAAaA,EAAU;AAAA,oBACvB,SAAS,MACPlF,IACI6C,GAAsBqC,EAAU,MAAMA,EAAU,cAAc,IAC9D;AAAA,oBAEN,aAAa,MACXlF,IAASoC,GAAoB8C,EAAU,IAAkB,IAAI;AAAA,oBAE/D,cAAclF,IAASwC,KAAuB;AAAA,kBAAA;AAAA,gBAChD;AAAA,gBACA,gBAAAgB;AAAA,kBAAC6B;AAAAA,kBAAA;AAAA,oBACC,MAAMH,EAAU;AAAA,oBAChB,OAAOA,EAAU;AAAA,oBACjB,sBAAsB;AAAA,oBAEtB,UAAA,gBAAA1B;AAAA,sBAAC8B;AAAA,sBAAA;AAAA,wBACC,aAAaJ,EAAU;AAAA,wBACvB,gBAAgBA,EAAU;AAAA,wBAC1B,MAAMA,EAAU;AAAA,wBAChB,YAAY5D,EAAW,SAAS4D,EAAU,IAAkB;AAAA,sBAAA;AAAA,oBAC9D;AAAA,kBAAA;AAAA,gBACF;AAAA,cAAA,EAAA,GA1BmBd,CA2BrB,CACD;AAAA,cAEA,gBAAAZ,EAAA6B,GAAA,EAAoB,MAAM,IAAI,OAAO,IAAI,cAAc,IACtD,UAAC,gBAAA7B,EAAA+B,IAAA,EACC,UAAA,gBAAA/B;AAAA,gBAACgC;AAAA,gBAAA;AAAA,kBACC,SAASxD;AAAA,kBACT,QAAQ4C,IAAqB;AAAA,kBAC7B,OAAOA,IAAqB;AAAA,gBAAA;AAAA,iBAEhC,EACF,CAAA;AAAA,YAAA,GACF;AAAA,YAGA,gBAAApB;AAAA,cAACS;AAAA,cAAA;AAAA,gBACC,KAAKC,EAAO;AAAA,gBACZ,KAAKzC;AAAA,gBACL,UAAUxC;AAAA,gBACV,UAAUkD;AAAA,gBACV,oBAAkB;AAAA,cAAA;AAAA,YACpB;AAAA,UAAA,EAAA,CACF,EACF,CAAA;AAAA,QAAA,GAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF,GAEasD,KAAaC,GAAKxG,EAAmB;"}
@@ -1,4 +1,4 @@
1
- var c = /* @__PURE__ */ ((r) => (r.STREAK = "streak", r.ACCURACY = "accuracy", r.CLOCK = "clock", r.POINT = "point", r.DIGITAL_METER = "digital-meter", r))(c || {});
1
+ var c = /* @__PURE__ */ ((r) => (r.STREAK = "streak", r.SCORE = "score", r.ACCURACY = "accuracy", r.CLOCK = "clock", r.POINT = "point", r.DIGITAL_METER = "digital-meter", r))(c || {});
2
2
  export {
3
3
  c as EPostGameStat
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"post-game-stats-enum.js","sources":["../../../../src/features/post-game-stats/enums/post-game-stats-enum.ts"],"sourcesContent":["export enum EPostGameStat {\n STREAK = 'streak',\n ACCURACY = 'accuracy',\n CLOCK = 'clock',\n POINT = 'point',\n DIGITAL_METER = 'digital-meter',\n}\n"],"names":["EPostGameStat"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,SAAS,UACTA,EAAA,WAAW,YACXA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SACRA,EAAA,gBAAgB,iBALNA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"post-game-stats-enum.js","sources":["../../../../src/features/post-game-stats/enums/post-game-stats-enum.ts"],"sourcesContent":["export enum EPostGameStat {\n STREAK = 'streak',\n SCORE = 'score',\n ACCURACY = 'accuracy',\n CLOCK = 'clock',\n POINT = 'point',\n DIGITAL_METER = 'digital-meter',\n}\n"],"names":["EPostGameStat"],"mappings":"AAAY,IAAAA,sBAAAA,OACVA,EAAA,SAAS,UACTA,EAAA,QAAQ,SACRA,EAAA,WAAW,YACXA,EAAA,QAAQ,SACRA,EAAA,QAAQ,SACRA,EAAA,gBAAgB,iBANNA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -1,98 +1,80 @@
1
- import { jsx as n, jsxs as f } from "react/jsx-runtime";
2
- import { memo as y, forwardRef as d, useState as v, useMemo as u, useCallback as s, useImperativeHandle as C } from "react";
1
+ import { jsxs as S, jsx as l } from "react/jsx-runtime";
2
+ import { memo as t, forwardRef as y, useState as R, useMemo as d, useCallback as x, useImperativeHandle as A } from "react";
3
3
  import { Accuracy as g } from "./accuracy/accuracy.js";
4
- import { Clock as A } from "./clock/clock.js";
5
- import { DigitalMeter as S } from "./digital-meter/digital-meter.js";
6
- import { EPostGameStat as p } from "./enums/post-game-stats-enum.js";
7
- import { Points as I } from "./points/points.js";
8
- import { StatsWrapper as P, BlackBg as R } from "./post-game-stats-styled.js";
9
- import { Streak as k } from "./streak/streak.js";
10
- const K = y(
11
- d(({ stats: o, show: T, onComplete: m }, h) => {
12
- const [t, x] = v(0), e = u(() => o[t], [t, o]), a = s(() => {
13
- var r;
14
- if ((r = e == null ? void 0 : e.onComplete) == null || r.call(e), t === o.length - 1) {
15
- m == null || m();
4
+ import { Clock as w } from "./clock/clock.js";
5
+ import { EPostGameStat as m } from "./enums/post-game-stats-enum.js";
6
+ import { Points as k } from "./points/points.js";
7
+ import { StatsWrapper as I, BlackBg as P } from "./post-game-stats-styled.js";
8
+ import { Score as E } from "./score/score.js";
9
+ import { Streak as O } from "./streak/streak.js";
10
+ const U = t(
11
+ y(({ stats: e, show: f, onComplete: p }, v) => {
12
+ var i, c;
13
+ const [o, C] = R(0), r = d(() => e[o], [o, e]), h = x(() => {
14
+ var u;
15
+ if ((u = r == null ? void 0 : r.onComplete) == null || u.call(r), o === e.length - 1) {
16
+ p == null || p();
16
17
  return;
17
18
  }
18
- x((i) => i + 1);
19
- }, [t, m, o.length, e]), l = s(() => {
20
- e != null && e.stopAtEnd || a();
21
- }, [e, a]);
22
- C(h, () => ({
23
- moveToNextAndPlay: a
24
- }));
25
- const c = u(() => {
26
- if (!e)
27
- return null;
28
- const r = `${e.type}-${t}`;
29
- return {
30
- [p.POINT]: /* @__PURE__ */ n(
31
- I,
32
- {
33
- point: e.value,
34
- show: e.type === p.POINT,
35
- onComplete: l,
36
- onReveal: e.onReveal
37
- },
38
- r
39
- ),
40
- [p.DIGITAL_METER]: /* @__PURE__ */ n(
41
- S,
42
- {
43
- value: e.value,
44
- maxValue: e.maxValue ?? 1,
45
- targetValue: e.targetValue,
46
- displayText: e.displayText ?? "",
47
- progressType: e.progressType ?? "linear",
48
- helperTextPrimary: e.helperTextPrimary ?? "",
49
- helperTextSecondary: e.helperTextSecondary ?? "",
50
- actAsTimer: e.actAsTimer,
51
- show: !0,
52
- onComplete: l
53
- },
54
- r
55
- ),
56
- [p.STREAK]: /* @__PURE__ */ n(
57
- k,
58
- {
59
- currStreak: e.value,
60
- show: !0,
61
- onComplete: l,
62
- helperText: e.helperText,
63
- onReveal: e.onReveal
64
- },
65
- r
66
- ),
67
- [p.ACCURACY]: /* @__PURE__ */ n(
68
- g,
69
- {
70
- accuracy: e.value,
71
- show: !0,
72
- onComplete: l,
73
- helperText: e.helperText
74
- },
75
- r
76
- ),
77
- [p.CLOCK]: /* @__PURE__ */ n(
78
- A,
79
- {
80
- timeInMs: e.value,
81
- show: !0,
82
- onComplete: l,
83
- helperText: e.helperText
84
- },
85
- r
86
- )
87
- }[e.type] ?? null;
88
- }, [e, l, t]);
89
- return !T || o.length === 0 || t >= o.length ? null : /* @__PURE__ */ f(P, { children: [
90
- /* @__PURE__ */ n(R, {}),
91
- c
19
+ C((T) => T + 1);
20
+ }, [o, p, e.length, r]), n = x(() => {
21
+ r != null && r.stopAtEnd || h();
22
+ }, [r, h]);
23
+ return A(v, () => ({
24
+ moveToNextAndPlay: h
25
+ })), !f || e.length === 0 || o >= e.length ? null : /* @__PURE__ */ S(I, { children: [
26
+ /* @__PURE__ */ l(P, {}),
27
+ /* @__PURE__ */ l(
28
+ k,
29
+ {
30
+ point: e[o].value,
31
+ show: e[o].type === m.POINT,
32
+ onComplete: n,
33
+ onReveal: (i = e[o]) == null ? void 0 : i.onReveal
34
+ }
35
+ ),
36
+ /* @__PURE__ */ l(
37
+ E,
38
+ {
39
+ currentScore: e[o].value,
40
+ highScore: e[o].maxValue ?? 0,
41
+ show: e[o].type === m.SCORE,
42
+ onComplete: n,
43
+ helperText: e[o].helperText
44
+ }
45
+ ),
46
+ /* @__PURE__ */ l(
47
+ O,
48
+ {
49
+ currStreak: e[o].value,
50
+ show: e[o].type === m.STREAK,
51
+ onComplete: n,
52
+ helperText: e[o].helperText,
53
+ onReveal: (c = e[o]) == null ? void 0 : c.onReveal
54
+ }
55
+ ),
56
+ /* @__PURE__ */ l(
57
+ g,
58
+ {
59
+ accuracy: e[o].value,
60
+ show: e[o].type === m.ACCURACY,
61
+ onComplete: n,
62
+ helperText: e[o].helperText
63
+ }
64
+ ),
65
+ /* @__PURE__ */ l(
66
+ w,
67
+ {
68
+ timeInMs: e[o].value,
69
+ show: e[o].type === m.CLOCK,
70
+ onComplete: n,
71
+ helperText: e[o].helperText
72
+ }
73
+ )
92
74
  ] });
93
75
  })
94
76
  );
95
77
  export {
96
- K as PostGameStats
78
+ U as PostGameStats
97
79
  };
98
80
  //# sourceMappingURL=post-game-stats.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-game-stats.js","sources":["../../../src/features/post-game-stats/post-game-stats.tsx"],"sourcesContent":["import type { IPostGameStatsProps, IPostGameStatsRef } from './post-game-stats-types';\n\nimport { useState, memo, useCallback, forwardRef, useImperativeHandle, useMemo } from 'react';\n\nimport { Accuracy } from './accuracy/accuracy';\nimport { Clock } from './clock/clock';\nimport { DigitalMeter } from './digital-meter/digital-meter';\nimport { EPostGameStat } from './enums/post-game-stats-enum';\nimport { Points } from './points/points';\nimport * as Styled from './post-game-stats-styled';\nimport { Streak } from './streak/streak';\n\nexport const PostGameStats = memo(\n forwardRef<IPostGameStatsRef, IPostGameStatsProps>(({ stats, show, onComplete }, ref) => {\n const [currStatIndex, setCurrentStatIndex] = useState(0);\n const currStatData = useMemo(() => stats[currStatIndex], [currStatIndex, stats]);\n\n const moveToNextAndPlay = useCallback(() => {\n currStatData?.onComplete?.();\n\n if (currStatIndex === stats.length - 1) {\n onComplete?.();\n\n return;\n }\n setCurrentStatIndex(prev => prev + 1);\n }, [currStatIndex, onComplete, stats.length, currStatData]);\n\n const onStatAnimationComplete = useCallback(() => {\n if (currStatData?.stopAtEnd) {\n return;\n }\n moveToNextAndPlay(); // Autoplay since stopAtEnd is false\n }, [currStatData, moveToNextAndPlay]);\n\n useImperativeHandle(ref, () => ({\n moveToNextAndPlay,\n }));\n\n const renderCurrentStat = useMemo(() => {\n if (!currStatData) {\n return null;\n }\n\n const key = `${currStatData.type}-${currStatIndex}`;\n\n const renderStat = {\n [EPostGameStat.POINT]: (\n <Points\n key={key}\n point={currStatData.value}\n show={currStatData.type === EPostGameStat.POINT}\n onComplete={onStatAnimationComplete}\n onReveal={currStatData.onReveal}\n />\n ),\n [EPostGameStat.DIGITAL_METER]: (\n <DigitalMeter\n key={key}\n value={currStatData.value}\n maxValue={currStatData.maxValue ?? 1}\n targetValue={currStatData.targetValue}\n displayText={currStatData.displayText ?? ''}\n progressType={currStatData.progressType ?? 'linear'}\n helperTextPrimary={currStatData.helperTextPrimary ?? ''}\n helperTextSecondary={currStatData.helperTextSecondary ?? ''}\n actAsTimer={currStatData.actAsTimer}\n show={true}\n onComplete={onStatAnimationComplete}\n />\n ),\n [EPostGameStat.STREAK]: (\n <Streak\n key={key}\n currStreak={currStatData.value}\n show={true}\n onComplete={onStatAnimationComplete}\n helperText={currStatData.helperText}\n onReveal={currStatData.onReveal}\n />\n ),\n [EPostGameStat.ACCURACY]: (\n <Accuracy\n key={key}\n accuracy={currStatData.value}\n show={true}\n onComplete={onStatAnimationComplete}\n helperText={currStatData.helperText}\n />\n ),\n [EPostGameStat.CLOCK]: (\n <Clock\n key={key}\n timeInMs={currStatData.value}\n show={true}\n onComplete={onStatAnimationComplete}\n helperText={currStatData.helperText}\n />\n ),\n };\n\n return renderStat[currStatData.type] ?? null;\n }, [currStatData, onStatAnimationComplete, currStatIndex]);\n\n if (!show || stats.length === 0 || currStatIndex >= stats.length) {\n return null;\n }\n\n return (\n <Styled.StatsWrapper>\n <Styled.BlackBg />\n\n {renderCurrentStat}\n </Styled.StatsWrapper>\n );\n }),\n);\n"],"names":["PostGameStats","memo","forwardRef","stats","show","onComplete","ref","currStatIndex","setCurrentStatIndex","useState","currStatData","useMemo","moveToNextAndPlay","useCallback","_a","prev","onStatAnimationComplete","useImperativeHandle","renderCurrentStat","key","EPostGameStat","jsx","Points","DigitalMeter","Streak","Accuracy","Clock","jsxs","Styled.StatsWrapper","Styled.BlackBg"],"mappings":";;;;;;;;;AAYO,MAAMA,IAAgBC;AAAA,EAC3BC,EAAmD,CAAC,EAAE,OAAAC,GAAO,MAAAC,GAAM,YAAAC,EAAA,GAAcC,MAAQ;AACvF,UAAM,CAACC,GAAeC,CAAmB,IAAIC,EAAS,CAAC,GACjDC,IAAeC,EAAQ,MAAMR,EAAMI,CAAa,GAAG,CAACA,GAAeJ,CAAK,CAAC,GAEzES,IAAoBC,EAAY,MAAM;;AAGtC,WAFJC,IAAAJ,KAAA,gBAAAA,EAAc,eAAd,QAAAI,EAAA,KAAAJ,IAEIH,MAAkBJ,EAAM,SAAS,GAAG;AACzB,QAAAE,KAAA,QAAAA;AAEb;AAAA,MACF;AACoB,MAAAG,EAAA,CAAAO,MAAQA,IAAO,CAAC;AAAA,IAAA,GACnC,CAACR,GAAeF,GAAYF,EAAM,QAAQO,CAAY,CAAC,GAEpDM,IAA0BH,EAAY,MAAM;AAChD,MAAIH,KAAA,QAAAA,EAAc,aAGAE;IAAA,GACjB,CAACF,GAAcE,CAAiB,CAAC;AAEpC,IAAAK,EAAoBX,GAAK,OAAO;AAAA,MAC9B,mBAAAM;AAAA,IACA,EAAA;AAEI,UAAAM,IAAoBP,EAAQ,MAAM;AACtC,UAAI,CAACD;AACI,eAAA;AAGT,YAAMS,IAAM,GAAGT,EAAa,IAAI,IAAIH,CAAa;AAyD1C,aAvDY;AAAA,QACjB,CAACa,EAAc,KAAK,GAClB,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YAEC,OAAOZ,EAAa;AAAA,YACpB,MAAMA,EAAa,SAASU,EAAc;AAAA,YAC1C,YAAYJ;AAAA,YACZ,UAAUN,EAAa;AAAA,UAAA;AAAA,UAJlBS;AAAA,QAKP;AAAA,QAEF,CAACC,EAAc,aAAa,GAC1B,gBAAAC;AAAA,UAACE;AAAA,UAAA;AAAA,YAEC,OAAOb,EAAa;AAAA,YACpB,UAAUA,EAAa,YAAY;AAAA,YACnC,aAAaA,EAAa;AAAA,YAC1B,aAAaA,EAAa,eAAe;AAAA,YACzC,cAAcA,EAAa,gBAAgB;AAAA,YAC3C,mBAAmBA,EAAa,qBAAqB;AAAA,YACrD,qBAAqBA,EAAa,uBAAuB;AAAA,YACzD,YAAYA,EAAa;AAAA,YACzB,MAAM;AAAA,YACN,YAAYM;AAAA,UAAA;AAAA,UAVPG;AAAA,QAWP;AAAA,QAEF,CAACC,EAAc,MAAM,GACnB,gBAAAC;AAAA,UAACG;AAAA,UAAA;AAAA,YAEC,YAAYd,EAAa;AAAA,YACzB,MAAM;AAAA,YACN,YAAYM;AAAA,YACZ,YAAYN,EAAa;AAAA,YACzB,UAAUA,EAAa;AAAA,UAAA;AAAA,UALlBS;AAAA,QAMP;AAAA,QAEF,CAACC,EAAc,QAAQ,GACrB,gBAAAC;AAAA,UAACI;AAAA,UAAA;AAAA,YAEC,UAAUf,EAAa;AAAA,YACvB,MAAM;AAAA,YACN,YAAYM;AAAA,YACZ,YAAYN,EAAa;AAAA,UAAA;AAAA,UAJpBS;AAAA,QAKP;AAAA,QAEF,CAACC,EAAc,KAAK,GAClB,gBAAAC;AAAA,UAACK;AAAA,UAAA;AAAA,YAEC,UAAUhB,EAAa;AAAA,YACvB,MAAM;AAAA,YACN,YAAYM;AAAA,YACZ,YAAYN,EAAa;AAAA,UAAA;AAAA,UAJpBS;AAAA,QAKP;AAAA,MAAA,EAIcT,EAAa,IAAI,KAAK;AAAA,IACvC,GAAA,CAACA,GAAcM,GAAyBT,CAAa,CAAC;AAEzD,WAAI,CAACH,KAAQD,EAAM,WAAW,KAAKI,KAAiBJ,EAAM,SACjD,OAIP,gBAAAwB,EAACC,GAAA,EACC,UAAA;AAAA,MAAC,gBAAAP,EAAAQ,GAAA,EAAe;AAAA,MAEfX;AAAA,IACH,EAAA,CAAA;AAAA,EAAA,CAEH;AACH;"}
1
+ {"version":3,"file":"post-game-stats.js","sources":["../../../src/features/post-game-stats/post-game-stats.tsx"],"sourcesContent":["import type { IPostGameStatsProps, IPostGameStatsRef } from './post-game-stats-types';\n\nimport { useState, memo, useCallback, forwardRef, useImperativeHandle, useMemo } from 'react';\n\nimport { Accuracy } from './accuracy/accuracy';\nimport { Clock } from './clock/clock';\nimport { EPostGameStat } from './enums/post-game-stats-enum';\nimport { Points } from './points/points';\nimport * as Styled from './post-game-stats-styled';\nimport { Score } from './score/score';\nimport { Streak } from './streak/streak';\n\nexport const PostGameStats = memo(\n forwardRef<IPostGameStatsRef, IPostGameStatsProps>(({ stats, show, onComplete }, ref) => {\n const [currStatIndex, setCurrentStatIndex] = useState(0);\n const currStatData = useMemo(() => stats[currStatIndex], [currStatIndex, stats]);\n\n const moveToNextAndPlay = useCallback(() => {\n currStatData?.onComplete?.();\n\n if (currStatIndex === stats.length - 1) {\n onComplete?.();\n\n return;\n }\n setCurrentStatIndex(prev => prev + 1);\n }, [currStatIndex, onComplete, stats.length, currStatData]);\n\n const onStatAnimationComplete = useCallback(() => {\n if (currStatData?.stopAtEnd) {\n return;\n }\n moveToNextAndPlay(); // Autoplay since stopAtEnd is false\n }, [currStatData, moveToNextAndPlay]);\n\n useImperativeHandle(ref, () => ({\n moveToNextAndPlay,\n }));\n\n if (!show || stats.length === 0 || currStatIndex >= stats.length) {\n return null;\n }\n\n return (\n <Styled.StatsWrapper>\n <Styled.BlackBg />\n <Points\n point={stats[currStatIndex]!.value}\n show={stats[currStatIndex]!.type === EPostGameStat.POINT}\n onComplete={onStatAnimationComplete}\n onReveal={stats[currStatIndex]?.onReveal}\n />\n <Score\n currentScore={stats[currStatIndex]!.value}\n highScore={stats[currStatIndex]!.maxValue ?? 0}\n show={stats[currStatIndex]!.type === EPostGameStat.SCORE}\n onComplete={onStatAnimationComplete}\n helperText={stats[currStatIndex]!.helperText}\n />\n <Streak\n currStreak={stats[currStatIndex]!.value}\n show={stats[currStatIndex]!.type === EPostGameStat.STREAK}\n onComplete={onStatAnimationComplete}\n helperText={stats[currStatIndex]!.helperText}\n onReveal={stats[currStatIndex]?.onReveal}\n />\n <Accuracy\n accuracy={stats[currStatIndex]!.value}\n show={stats[currStatIndex]!.type === EPostGameStat.ACCURACY}\n onComplete={onStatAnimationComplete}\n helperText={stats[currStatIndex]!.helperText}\n />\n <Clock\n timeInMs={stats[currStatIndex]!.value}\n show={stats[currStatIndex]!.type === EPostGameStat.CLOCK}\n onComplete={onStatAnimationComplete}\n helperText={stats[currStatIndex]!.helperText}\n />\n </Styled.StatsWrapper>\n );\n }),\n);\n"],"names":["PostGameStats","memo","forwardRef","stats","show","onComplete","ref","currStatIndex","setCurrentStatIndex","useState","currStatData","useMemo","moveToNextAndPlay","useCallback","_a","prev","onStatAnimationComplete","useImperativeHandle","jsxs","Styled.StatsWrapper","jsx","Styled.BlackBg","Points","EPostGameStat","Score","Streak","_b","Accuracy","Clock"],"mappings":";;;;;;;;;AAYO,MAAMA,IAAgBC;AAAA,EAC3BC,EAAmD,CAAC,EAAE,OAAAC,GAAO,MAAAC,GAAM,YAAAC,EAAA,GAAcC,MAAQ;;AACvF,UAAM,CAACC,GAAeC,CAAmB,IAAIC,EAAS,CAAC,GACjDC,IAAeC,EAAQ,MAAMR,EAAMI,CAAa,GAAG,CAACA,GAAeJ,CAAK,CAAC,GAEzES,IAAoBC,EAAY,MAAM;;AAGtC,WAFJC,IAAAJ,KAAA,gBAAAA,EAAc,eAAd,QAAAI,EAAA,KAAAJ,IAEIH,MAAkBJ,EAAM,SAAS,GAAG;AACzB,QAAAE,KAAA,QAAAA;AAEb;AAAA,MACF;AACoB,MAAAG,EAAA,CAAAO,MAAQA,IAAO,CAAC;AAAA,IAAA,GACnC,CAACR,GAAeF,GAAYF,EAAM,QAAQO,CAAY,CAAC,GAEpDM,IAA0BH,EAAY,MAAM;AAChD,MAAIH,KAAA,QAAAA,EAAc,aAGAE;IAAA,GACjB,CAACF,GAAcE,CAAiB,CAAC;AAMpC,WAJAK,EAAoBX,GAAK,OAAO;AAAA,MAC9B,mBAAAM;AAAA,IACA,EAAA,GAEE,CAACR,KAAQD,EAAM,WAAW,KAAKI,KAAiBJ,EAAM,SACjD,OAIP,gBAAAe,EAACC,GAAA,EACC,UAAA;AAAA,MAAC,gBAAAC,EAAAC,GAAA,EAAe;AAAA,MAChB,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,OAAOnB,EAAMI,CAAa,EAAG;AAAA,UAC7B,MAAMJ,EAAMI,CAAa,EAAG,SAASgB,EAAc;AAAA,UACnD,YAAYP;AAAA,UACZ,WAAUF,IAAAX,EAAMI,CAAa,MAAnB,gBAAAO,EAAsB;AAAA,QAAA;AAAA,MAClC;AAAA,MACA,gBAAAM;AAAA,QAACI;AAAA,QAAA;AAAA,UACC,cAAcrB,EAAMI,CAAa,EAAG;AAAA,UACpC,WAAWJ,EAAMI,CAAa,EAAG,YAAY;AAAA,UAC7C,MAAMJ,EAAMI,CAAa,EAAG,SAASgB,EAAc;AAAA,UACnD,YAAYP;AAAA,UACZ,YAAYb,EAAMI,CAAa,EAAG;AAAA,QAAA;AAAA,MACpC;AAAA,MACA,gBAAAa;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,YAAYtB,EAAMI,CAAa,EAAG;AAAA,UAClC,MAAMJ,EAAMI,CAAa,EAAG,SAASgB,EAAc;AAAA,UACnD,YAAYP;AAAA,UACZ,YAAYb,EAAMI,CAAa,EAAG;AAAA,UAClC,WAAUmB,IAAAvB,EAAMI,CAAa,MAAnB,gBAAAmB,EAAsB;AAAA,QAAA;AAAA,MAClC;AAAA,MACA,gBAAAN;AAAA,QAACO;AAAA,QAAA;AAAA,UACC,UAAUxB,EAAMI,CAAa,EAAG;AAAA,UAChC,MAAMJ,EAAMI,CAAa,EAAG,SAASgB,EAAc;AAAA,UACnD,YAAYP;AAAA,UACZ,YAAYb,EAAMI,CAAa,EAAG;AAAA,QAAA;AAAA,MACpC;AAAA,MACA,gBAAAa;AAAA,QAACQ;AAAA,QAAA;AAAA,UACC,UAAUzB,EAAMI,CAAa,EAAG;AAAA,UAChC,MAAMJ,EAAMI,CAAa,EAAG,SAASgB,EAAc;AAAA,UACnD,YAAYP;AAAA,UACZ,YAAYb,EAAMI,CAAa,EAAG;AAAA,QAAA;AAAA,MACpC;AAAA,IACF,EAAA,CAAA;AAAA,EAAA,CAEH;AACH;"}
@@ -0,0 +1,10 @@
1
+ const A = 900, _ = 1800, E = 1500, I = 500, T = 500, N = 500;
2
+ export {
3
+ E as ANIMATE_HIGH_SCORE_CONFETTI_AFTER_DELAY,
4
+ I as ANIMATE_HIGH_SCORE_TEXT_AFTER_DELAY,
5
+ _ as ANIMATE_SCORE_DURATION,
6
+ A as ANIMATE_SCORE_DURATION_15_POINTS,
7
+ N as SCORE_APPEAR_ANIMATION_DURATION,
8
+ T as SCORE_DISAPPEAR_ANIMATION_DURATION
9
+ };
10
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/features/post-game-stats/score/constants.ts"],"sourcesContent":["export const ANIMATE_SCORE_DURATION_15_POINTS = 900;\nexport const ANIMATE_HIGH_SCORE_CONFETTI_AFTER_DELAY_15_POINTS =\n ANIMATE_SCORE_DURATION_15_POINTS - 200;\n\nexport const ANIMATE_SCORE_DURATION = 1800;\nexport const ANIMATE_HIGH_SCORE_CONFETTI_AFTER_DELAY = ANIMATE_SCORE_DURATION - 300;\nexport const ANIMATE_HIGH_SCORE_TEXT_AFTER_DELAY = 500;\nexport const SCORE_DISAPPEAR_ANIMATION_DURATION = 500;\nexport const SCORE_APPEAR_ANIMATION_DURATION = 500;\n"],"names":["ANIMATE_SCORE_DURATION_15_POINTS","ANIMATE_SCORE_DURATION","ANIMATE_HIGH_SCORE_CONFETTI_AFTER_DELAY","ANIMATE_HIGH_SCORE_TEXT_AFTER_DELAY","SCORE_DISAPPEAR_ANIMATION_DURATION","SCORE_APPEAR_ANIMATION_DURATION"],"mappings":"AAAO,MAAMA,IAAmC,KAInCC,IAAyB,MACzBC,IAA0C,MAC1CC,IAAsC,KACtCC,IAAqC,KACrCC,IAAkC;"}
@@ -0,0 +1,63 @@
1
+ import o, { keyframes as r, css as a } from "styled-components";
2
+ import { GAME_LAUNCHER_SIZE as t } from "../../circle-games/game-launcher/comps/card-container/constants.js";
3
+ import { GAME_LAUNCHER_ASSET_PADDING as e } from "../../circle-games/game-launcher/comps/segmented-game-card/constants.js";
4
+ import s from "../../ui/text/text.js";
5
+ const p = r`
6
+ 0%{
7
+ opacity: 0;
8
+ }
9
+ 100%{
10
+ opacity: 1;
11
+ }
12
+ `, c = r`
13
+ 0%{
14
+ opacity: 1;
15
+ }
16
+ 100%{
17
+ opacity: 0;
18
+ }
19
+ `, x = o.div`
20
+ height: ${t}px;
21
+ width: ${t}px;
22
+ border: 2px solid #fff;
23
+ border-radius: 50%;
24
+ background: transparent;
25
+ display: flex;
26
+ justify-content: center;
27
+ align-items: center;
28
+ position: relative;
29
+ `, h = o.div`
30
+ height: ${t + e}px;
31
+ width: ${t + e}px;
32
+ position: absolute;
33
+ transform: scale(1.13);
34
+ z-index: 0;
35
+ `, g = o.div`
36
+ z-index: 2;
37
+ opacity: ${({ opacity: i }) => i};
38
+ position: absolute;
39
+ margin: 0 auto;
40
+ top: calc(100% - 35px);
41
+ width: ${t}px;
42
+ `, u = o.div`
43
+ z-index: 2;
44
+ animation: ${({ $animationType: i, $duration: n }) => a`
45
+ ${i === "fadein" ? p : c} ${n}ms linear forwards
46
+ `};
47
+ overflow: hidden;
48
+ display: flex;
49
+ flex-direction: column;
50
+ align-items: center;
51
+ `, y = o(s)`
52
+ position: absolute;
53
+ top: 50%;
54
+ transform: translateY(32px);
55
+ `;
56
+ export {
57
+ x as HighScore,
58
+ h as HighScoreConfetti,
59
+ g as HighScoreTextAnimation,
60
+ u as HighScoreValueWrapper,
61
+ y as ScoreText
62
+ };
63
+ //# sourceMappingURL=score-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"score-styled.js","sources":["../../../../src/features/post-game-stats/score/score-styled.tsx"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components';\n\nimport { GAME_LAUNCHER_SIZE } from '../../circle-games/game-launcher/comps/card-container/constants';\nimport { GAME_LAUNCHER_ASSET_PADDING } from '../../circle-games/game-launcher/comps/segmented-game-card/constants';\nimport Text from '../../ui/text/text';\n\nconst fadeIn = keyframes`\n 0%{\n opacity: 0;\n }\n 100%{\n opacity: 1;\n }\n`;\n\nconst fadeOut = keyframes`\n 0%{\n opacity: 1;\n }\n 100%{\n opacity: 0;\n }\n`;\n\nexport const HighScore = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n border: 2px solid #fff;\n border-radius: 50%;\n background: transparent;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n`;\n\nexport const HighScoreConfetti = styled.div`\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n position: absolute;\n transform: scale(1.13);\n z-index: 0;\n`;\n\nexport const HighScoreTextAnimation = styled.div<{ opacity: number }>`\n z-index: 2;\n opacity: ${({ opacity }) => opacity};\n position: absolute;\n margin: 0 auto;\n top: calc(100% - 35px);\n width: ${GAME_LAUNCHER_SIZE}px;\n`;\n\nexport const HighScoreValueWrapper = styled.div<{\n $duration: number;\n $animationType: 'fadein' | 'fadeout';\n}>`\n z-index: 2;\n animation: ${({ $animationType, $duration }) => css`\n ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms linear forwards\n `};\n overflow: hidden;\n display: flex;\n flex-direction: column;\n align-items: center;\n`;\n\nexport const ScoreText = styled(Text)`\n position: absolute;\n top: 50%;\n transform: translateY(32px);\n`;\n"],"names":["fadeIn","keyframes","fadeOut","HighScore","styled","GAME_LAUNCHER_SIZE","HighScoreConfetti","GAME_LAUNCHER_ASSET_PADDING","HighScoreTextAnimation","opacity","HighScoreValueWrapper","$animationType","$duration","css","ScoreText","Text"],"mappings":";;;;AAMA,MAAMA,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAUD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASHE,IAAYC,EAAO;AAAA,YACpBC,CAAkB;AAAA,WACnBA,CAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUhBC,IAAoBF,EAAO;AAAA,YAC5BC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA;AAAA,GAM9CC,IAAyBJ,EAAO;AAAA;AAAA,aAEhC,CAAC,EAAE,SAAAK,EAAQ,MAAMA,CAAO;AAAA;AAAA;AAAA;AAAA,WAI1BJ,CAAkB;AAAA,GAGhBK,IAAwBN,EAAO;AAAA;AAAA,eAK7B,CAAC,EAAE,gBAAAO,GAAgB,WAAAC,EAAA,MAAgBC;AAAA,MAC5CF,MAAmB,WAAWX,IAASE,CAAO,IAAIU,CAAS;AAAA,GAC9D;AAAA;AAAA;AAAA;AAAA;AAAA,GAOUE,IAAYV,EAAOW,CAAI;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,76 @@
1
+ import { jsx as o, jsxs as p } from "react/jsx-runtime";
2
+ import { memo as b, useState as s, useRef as I, useMemo as c, useCallback as R, useEffect as k } from "react";
3
+ import { LOTTIE as O } from "../../../assets/lottie/lottie.js";
4
+ import H from "../../ui/lottie-animation/lottie-animation.js";
5
+ import v from "../../ui/text/text.js";
6
+ import { delay as C } from "../../utils/utils.js";
7
+ import { ANIMATE_SCORE_DURATION_15_POINTS as g, ANIMATE_SCORE_DURATION as w, SCORE_DISAPPEAR_ANIMATION_DURATION as G, SCORE_APPEAR_ANIMATION_DURATION as W, ANIMATE_HIGH_SCORE_CONFETTI_AFTER_DELAY as j, ANIMATE_HIGH_SCORE_TEXT_AFTER_DELAY as q } from "./constants.js";
8
+ import { HighScore as X, HighScoreConfetti as Y, HighScoreValueWrapper as B, ScoreText as V, HighScoreTextAnimation as z } from "./score-styled.js";
9
+ const ne = b((N) => {
10
+ const { currentScore: e, highScore: y, show: a, onComplete: n } = N, l = e > y, [x, f] = s(0), [T, D] = s(!1), [F, m] = s(!1), u = I(null), A = I(null), S = c(() => e <= 15 ? g : w, [e]), h = R(() => {
11
+ D(!0), m(!1), n == null || n();
12
+ }, [n]), E = R(async () => {
13
+ var t, r;
14
+ l && (await C(
15
+ e <= 15 ? g : j
16
+ ), (t = u.current) == null || t.play(), await C(q), m(!0), (r = A.current) == null || r.play());
17
+ }, [e, l]), M = c(
18
+ () => /* @__PURE__ */ o(
19
+ H,
20
+ {
21
+ ref: u,
22
+ src: O.HIGH_SCORE_CONFETTI,
23
+ settings: {
24
+ autoplay: !1,
25
+ loop: !1,
26
+ renderer: "canvas"
27
+ },
28
+ onRender: E
29
+ }
30
+ ),
31
+ [E]
32
+ ), L = c(
33
+ () => /* @__PURE__ */ o(
34
+ H,
35
+ {
36
+ ref: A,
37
+ src: O.HIGH_SCORE_TEXT,
38
+ settings: {
39
+ autoplay: !1,
40
+ loop: !1,
41
+ renderer: "canvas"
42
+ },
43
+ eventListener: { name: "complete", callback: h }
44
+ }
45
+ ),
46
+ [h]
47
+ );
48
+ return k(() => {
49
+ if (!a) return;
50
+ let t, r = null;
51
+ const P = (i) => 1 - Math.pow(1 - i, 2), _ = (i) => {
52
+ r === null && (r = i);
53
+ const $ = i - r, d = Math.min($ / S, 1), U = P(d);
54
+ f(Math.floor(U * e)), d < 1 ? t = requestAnimationFrame(_) : f(e);
55
+ };
56
+ return t = requestAnimationFrame(_), () => cancelAnimationFrame(t);
57
+ }, [e, S, a]), a ? /* @__PURE__ */ p(X, { children: [
58
+ /* @__PURE__ */ o(Y, { children: M }),
59
+ /* @__PURE__ */ p(
60
+ B,
61
+ {
62
+ $animationType: T ? "fadeout" : "fadein",
63
+ $duration: T ? G : W,
64
+ children: [
65
+ /* @__PURE__ */ o(v, { $renderAs: "ah2", $color: "WHITE", children: x }),
66
+ /* @__PURE__ */ o(V, { $renderAs: "ac4-black", $color: "WHITE_T_60", children: "SCORE" })
67
+ ]
68
+ }
69
+ ),
70
+ /* @__PURE__ */ o(z, { opacity: F ? 1 : 0, children: L })
71
+ ] }) : null;
72
+ });
73
+ export {
74
+ ne as Score
75
+ };
76
+ //# sourceMappingURL=score.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"score.js","sources":["../../../../src/features/post-game-stats/score/score.tsx"],"sourcesContent":["import type { ILottieAnimationRef } from '../../ui/lottie-animation/types';\nimport type { IHighScoreProps } from './score-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { LOTTIE } from '../../../assets/lottie/lottie';\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\nimport Text from '../../ui/text/text';\nimport { delay } from '../../utils/utils';\nimport {\n ANIMATE_HIGH_SCORE_CONFETTI_AFTER_DELAY,\n ANIMATE_HIGH_SCORE_TEXT_AFTER_DELAY,\n ANIMATE_SCORE_DURATION,\n ANIMATE_SCORE_DURATION_15_POINTS,\n SCORE_APPEAR_ANIMATION_DURATION,\n SCORE_DISAPPEAR_ANIMATION_DURATION,\n} from './constants';\nimport * as Styled from './score-styled';\n\nexport const Score: FC<IHighScoreProps> = memo(props => {\n const { currentScore, highScore, show, onComplete } = props;\n const hasUserBrokenCurrentHighScore = currentScore > highScore;\n\n const [displayScore, setDisplayScore] = useState(0);\n const [fadeOut, setFadeout] = useState(false);\n const [displayHighScoreTxt, setDisplayHighScoreText] = useState(false);\n\n const highScoreConfettiRef = useRef<ILottieAnimationRef>(null);\n const highScoreTextRef = useRef<ILottieAnimationRef>(null);\n\n const scoreAnimationDuration = useMemo(() => {\n if (currentScore <= 15) {\n return ANIMATE_SCORE_DURATION_15_POINTS;\n }\n\n return ANIMATE_SCORE_DURATION;\n }, [currentScore]);\n\n const onEndAnimationFinished = useCallback(() => {\n setFadeout(true);\n setDisplayHighScoreText(false);\n onComplete?.();\n }, [onComplete]);\n\n const onConfettiAnimationReadyToPlay = useCallback(async () => {\n if (!hasUserBrokenCurrentHighScore) {\n return undefined;\n }\n\n await delay(\n currentScore <= 15\n ? ANIMATE_SCORE_DURATION_15_POINTS\n : ANIMATE_HIGH_SCORE_CONFETTI_AFTER_DELAY,\n );\n highScoreConfettiRef.current?.play();\n await delay(ANIMATE_HIGH_SCORE_TEXT_AFTER_DELAY);\n setDisplayHighScoreText(true);\n highScoreTextRef.current?.play();\n }, [currentScore, hasUserBrokenCurrentHighScore]);\n\n const HighScoreConfettiLottie = useMemo(\n () => (\n <LottieAnimation\n ref={highScoreConfettiRef}\n src={LOTTIE.HIGH_SCORE_CONFETTI}\n settings={{\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n }}\n onRender={onConfettiAnimationReadyToPlay}\n />\n ),\n [onConfettiAnimationReadyToPlay],\n );\n\n const HighScoreTextLottie = useMemo(\n () => (\n <LottieAnimation\n ref={highScoreTextRef}\n src={LOTTIE.HIGH_SCORE_TEXT}\n settings={{\n autoplay: false,\n loop: false,\n renderer: 'canvas',\n }}\n eventListener={{ name: 'complete', callback: onEndAnimationFinished }}\n />\n ),\n [onEndAnimationFinished],\n );\n\n // Animate the score from 0 to the current score\n useEffect(() => {\n if (!show) return;\n\n let animationFrameId: number;\n let startTime: number | null = null;\n\n const easeOutCubic = (t: number) => 1 - Math.pow(1 - t, 2);\n\n const animate = (timestamp: number) => {\n if (startTime === null) startTime = timestamp;\n\n const elapsed = timestamp - startTime;\n const progress = Math.min(elapsed / scoreAnimationDuration, 1);\n const eased = easeOutCubic(progress);\n\n setDisplayScore(Math.floor(eased * currentScore));\n\n if (progress < 1) {\n animationFrameId = requestAnimationFrame(animate);\n } else {\n setDisplayScore(currentScore);\n }\n };\n\n animationFrameId = requestAnimationFrame(animate);\n\n return () => cancelAnimationFrame(animationFrameId);\n }, [currentScore, scoreAnimationDuration, show]);\n\n if (show) {\n return (\n <Styled.HighScore>\n <Styled.HighScoreConfetti>{HighScoreConfettiLottie}</Styled.HighScoreConfetti>\n <Styled.HighScoreValueWrapper\n $animationType={fadeOut ? 'fadeout' : 'fadein'}\n $duration={fadeOut ? SCORE_DISAPPEAR_ANIMATION_DURATION : SCORE_APPEAR_ANIMATION_DURATION}\n >\n <Text $renderAs=\"ah2\" $color=\"WHITE\">\n {displayScore}\n </Text>\n <Styled.ScoreText $renderAs=\"ac4-black\" $color=\"WHITE_T_60\">\n SCORE\n </Styled.ScoreText>\n </Styled.HighScoreValueWrapper>\n <Styled.HighScoreTextAnimation opacity={displayHighScoreTxt ? 1 : 0}>\n {HighScoreTextLottie}\n </Styled.HighScoreTextAnimation>\n </Styled.HighScore>\n );\n }\n\n return null;\n});\n"],"names":["Score","memo","props","currentScore","highScore","show","onComplete","hasUserBrokenCurrentHighScore","displayScore","setDisplayScore","useState","fadeOut","setFadeout","displayHighScoreTxt","setDisplayHighScoreText","highScoreConfettiRef","useRef","highScoreTextRef","scoreAnimationDuration","useMemo","ANIMATE_SCORE_DURATION_15_POINTS","ANIMATE_SCORE_DURATION","onEndAnimationFinished","useCallback","onConfettiAnimationReadyToPlay","delay","ANIMATE_HIGH_SCORE_CONFETTI_AFTER_DELAY","_a","ANIMATE_HIGH_SCORE_TEXT_AFTER_DELAY","_b","HighScoreConfettiLottie","jsx","LottieAnimation","LOTTIE","HighScoreTextLottie","useEffect","animationFrameId","startTime","easeOutCubic","t","animate","timestamp","elapsed","progress","eased","jsxs","Styled.HighScore","Styled.HighScoreConfetti","Styled.HighScoreValueWrapper","SCORE_DISAPPEAR_ANIMATION_DURATION","SCORE_APPEAR_ANIMATION_DURATION","Text","Styled.ScoreText","Styled.HighScoreTextAnimation"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import f from "styled-components";
2
- const m = f.input(({ theme: c, $size: p, $renderAs: s, $isTransparent: d }) => {
3
- const { colors: e, input: r, text: u } = c, { valueColorName: t, labelColorName: n, backgroundColorName: $ } = r.variants[s], { inputTextVariant: b } = r.sizes[p], { fontFamily: i, fontSize: a, lineHeight: l, letterSpacing: o } = u[b], h = d ? "transparent" : e[$ ?? "WHITE"];
1
+ import h from "styled-components";
2
+ const m = h.input(({ theme: c, $size: p, $renderAs: s, $isTransparent: d }) => {
3
+ const { colors: e, input: r, text: u } = c, { valueColorName: o, labelColorName: n, backgroundColorName: b } = r.variants[s], { inputTextVariant: $ } = r.sizes[p], { fontFamily: i, fontSize: l, lineHeight: a, letterSpacing: t } = u[$], f = d ? "transparent" : e[b ?? "WHITE"];
4
4
  return `
5
5
  position: relative;
6
6
  width: 100%;
@@ -10,24 +10,24 @@ const m = f.input(({ theme: c, $size: p, $renderAs: s, $isTransparent: d }) => {
10
10
  outline: none;
11
11
 
12
12
  font-family: ${i};
13
- font-size: ${a}px;
14
- line-height: ${l}px;
15
- ${typeof o == "number" ? `letter-spacing: ${o}px;` : ""}
13
+ font-size: ${l}px;
14
+ line-height: ${a}px;
15
+ ${typeof t == "number" ? `letter-spacing: ${t}px;` : ""}
16
16
 
17
17
 
18
- background-color: ${h};
19
- color: ${e[t.inactive]};
18
+ background-color: ${f};
19
+ color: ${e[o.inactive]};
20
20
 
21
21
  &::placeholder {
22
22
  color: ${e[n.inactive]};
23
23
  font-family: ${i};
24
- font-size: ${a}px;
25
- line-height: ${l}px;
26
- ${typeof o == "number" ? `letter-spacing: ${o}px;` : ""}
24
+ font-size: ${l}px;
25
+ line-height: ${a}px;
26
+ ${typeof t == "number" ? `letter-spacing: ${t}px;` : ""}
27
27
  }
28
28
 
29
29
  &:hover, &:focus {
30
- color: ${e[t.active]};
30
+ color: ${e[o.active]};
31
31
  }
32
32
 
33
33
  &:read-only {
@@ -35,7 +35,7 @@ const m = f.input(({ theme: c, $size: p, $renderAs: s, $isTransparent: d }) => {
35
35
  }
36
36
 
37
37
  &:disabled {
38
- color: ${e[t.disabled]};
38
+ color: ${e[o.disabled]};
39
39
  cursor: not-allowed;
40
40
 
41
41
  &::placeholder {
@@ -60,6 +60,11 @@ const m = f.input(({ theme: c, $size: p, $renderAs: s, $isTransparent: d }) => {
60
60
  color: ${e.BLACK_T_60};
61
61
  text-transform: uppercase;
62
62
  }
63
+
64
+ &:-webkit-autofill {
65
+ -webkit-text-fill-color: ${e[o.inactive]} !important;
66
+ -webkit-background-clip: text;
67
+ }
63
68
  `;
64
69
  });
65
70
  export {