@cuemath/leap 2.8.23 → 2.8.24-hg1
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.
- package/dist/assets/lotties/circle/tables/advance-mode-segment-lottie.json.js +4370 -0
- package/dist/assets/lotties/circle/tables/advance-mode-segment-lottie.json.js.map +1 -0
- package/dist/assets/lotties/circle/tables/infinite-button-bg.json.js +1552 -0
- package/dist/assets/lotties/circle/tables/infinite-button-bg.json.js.map +1 -0
- package/dist/assets/lotties/circle/tables/infinite-button-symbol.json.js +1795 -0
- package/dist/assets/lotties/circle/tables/infinite-button-symbol.json.js.map +1 -0
- package/dist/assets/lotties/circle/tables/random-mode-segment-lottie.json.js +9661 -0
- package/dist/assets/lotties/circle/tables/random-mode-segment-lottie.json.js.map +1 -0
- package/dist/assets/lotties/circle/tables/sequence-mode-segment-lottie.json.js +8630 -0
- package/dist/assets/lotties/circle/tables/sequence-mode-segment-lottie.json.js.map +1 -0
- package/dist/assets/lotties/circle/tables/table-mode-reveal.json.js +9076 -0
- package/dist/assets/lotties/circle/tables/table-mode-reveal.json.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.js +53 -0
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container-styled.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js +24 -0
- package/dist/features/circle-games/game-launcher/comps/card-container/card-container.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/card-container/constants.js +7 -0
- package/dist/features/circle-games/game-launcher/comps/card-container/constants.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/constants.js +6 -6
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/constants.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.js +29 -73
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card-styled.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js +83 -81
- package/dist/features/circle-games/game-launcher/comps/segmented-game-card/segmented-game-card.js.map +1 -1
- package/dist/features/circle-games/game-launcher/comps/tables-card/constants.js +20 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/constants.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode-styled.js +24 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode-styled.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js +83 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-mode/table-mode.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js +161 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card-styled.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js +223 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/tables-card.js.map +1 -0
- package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js +25 -15
- package/dist/features/circle-games/game-launcher/dal/use-get-circle-home-details-dal/use-get-circle-home-details-dal.js.map +1 -1
- package/dist/features/circle-games/game-launcher/game-launcher-styled.js +6 -5
- package/dist/features/circle-games/game-launcher/game-launcher-styled.js.map +1 -1
- package/dist/features/circle-games/game-launcher/game-launcher.js +123 -82
- package/dist/features/circle-games/game-launcher/game-launcher.js.map +1 -1
- package/dist/features/circle-games/games/web-view/enums/project-type-enum.js +1 -1
- package/dist/features/circle-games/games/web-view/enums/project-type-enum.js.map +1 -1
- package/dist/features/circle-games/games/web-view/web-view-types.js.map +1 -1
- package/dist/features/circle-games/games/web-view/web-view.js +70 -83
- package/dist/features/circle-games/games/web-view/web-view.js.map +1 -1
- package/dist/features/post-game-stats/accuracy/accuracy-styled.js +17 -16
- package/dist/features/post-game-stats/accuracy/accuracy-styled.js.map +1 -1
- package/dist/features/post-game-stats/clock/clock-styled.js +11 -10
- package/dist/features/post-game-stats/clock/clock-styled.js.map +1 -1
- package/dist/features/post-game-stats/points/points-styled.js +7 -6
- package/dist/features/post-game-stats/points/points-styled.js.map +1 -1
- package/dist/features/post-game-stats/post-game-stats-styled.js +1 -1
- package/dist/features/post-game-stats/post-game-stats-styled.js.map +1 -1
- package/dist/features/post-game-stats/streak/streak-styled.js +18 -17
- package/dist/features/post-game-stats/streak/streak-styled.js.map +1 -1
- package/dist/features/trial-session/comps/trial-circle-game/constants.js.map +1 -1
- package/dist/features/trial-session/comps/trial-circle-game/trial-circle-game.js.map +1 -1
- package/dist/index.d.ts +72 -109
- package/dist/index.js +203 -208
- package/package.json +1 -1
- package/dist/features/circle-games/games/web-view/enums/project-ids-enum.js +0 -14
- package/dist/features/circle-games/games/web-view/enums/project-ids-enum.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"trial-circle-game.js","sources":["../../../../../src/features/trial-session/comps/trial-circle-game/trial-circle-game.tsx"],"sourcesContent":["import type { GameId, LessonId, PuzzleId } from '../../../circle-games/games/web-view/enums';\nimport type {\n ILessonWebGameProps,\n IMultiplayerWebGameProps,\n IPlayer,\n IPlayerStats,\n IPuzzleWebGameProps,\n} from '../../../circle-games/games/web-view/web-view-types';\n\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { getTimeStrInFormatHMS } from '../../../../helpers/date-time';\nimport { ProjectType } from '../../../circle-games/games/web-view/enums';\nimport { useWebViewGames } from '../../../circle-games/games/web-view/hooks/use-webview-games';\nimport { WebView } from '../../../circle-games/games/web-view/web-view';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { TrialPageId } from '../../trial-session-constants';\nimport { TrialCircleGameLaunchScreen } from './trial-circle-game-launch-screen/trial-circle-game-launch-screen';\nimport * as Styled from './trial-circle-game-styled';\n\nconst PROJECT_TYPE_MAP: Partial<Record<TrialPageId, ProjectType>> = {\n [TrialPageId.CIRCLE_GAME]: ProjectType.GAME,\n [TrialPageId.CIRCLE_PUZZLE]: ProjectType.PUZZLE,\n [TrialPageId.CIRCLE_SKILL]: ProjectType.LESSON,\n};\n\nconst TrialCircleGame = memo(() => {\n const { slideConfig, trialGameUrl, circleGames, formData, handleInfoMessage, updateSlideConfig } =\n useTrialSessionContext();\n const {\n showCircleGameScreen = true,\n isCircleGamePlayed = false,\n isCirclePuzzleSolved = false,\n isCircleSkillCompleted = false,\n accuracyStr = '',\n totalTimeTaken = 0,\n } = formData || {};\n const webViewRef = useRef<HTMLIFrameElement>(null);\n const { playGame } = useWebViewGames({ webViewRef });\n const [isLoading, setIsLoading] = useState(true);\n\n const { header, id } = slideConfig;\n const projectType = PROJECT_TYPE_MAP[id];\n const { circleConfig, playerDetails } = circleGames;\n const { games, puzzles, lessons } = circleConfig ?? {};\n\n const isPlayed = useMemo(() => {\n const playedStats: Record<ProjectType, boolean> = {\n [ProjectType.GAME]: isCircleGamePlayed,\n [ProjectType.PUZZLE]: isCirclePuzzleSolved,\n [ProjectType.LESSON]: isCircleSkillCompleted,\n };\n\n return playedStats;\n }, [isCircleGamePlayed, isCirclePuzzleSolved, isCircleSkillCompleted]);\n\n const assetUrl = useMemo(() => {\n const url: Record<ProjectType, string> = {\n [ProjectType.GAME]: isCircleGamePlayed ? games.game_card : games.tutorial,\n [ProjectType.PUZZLE]: isCirclePuzzleSolved ? puzzles.game_card : puzzles.tutorial,\n [ProjectType.LESSON]: isCircleSkillCompleted ? lessons.game_card : lessons.tutorial,\n };\n\n return projectType ? url[projectType] : '';\n }, [\n projectType,\n games.game_card,\n games.tutorial,\n puzzles.game_card,\n puzzles.tutorial,\n lessons.game_card,\n lessons.tutorial,\n isCircleGamePlayed,\n isCirclePuzzleSolved,\n isCircleSkillCompleted,\n ]);\n\n const descriptionHeader = useMemo(() => {\n if (projectType === ProjectType.PUZZLE && isCirclePuzzleSolved) {\n return \"You've solved it!\";\n }\n\n return '';\n }, [projectType, isCirclePuzzleSolved]);\n\n const { circle_username, userId, grade, user_avatar, playerType, matchMakingId } =\n playerDetails ?? {};\n\n const playerData: IPlayer = {\n id: userId,\n username: circle_username,\n grade: grade,\n avatar: user_avatar,\n playerType,\n };\n\n const projectDetails = useMemo(() => {\n const commonConfig = {\n joinByRoomId: matchMakingId,\n enableCloseButton: false,\n enablePlayerTurnIndicators: true,\n enableSync: true,\n };\n\n if (projectType === ProjectType.GAME) {\n return {\n ...commonConfig,\n projectId: games.project_id as GameId,\n variant: games.variant,\n projectType: ProjectType.GAME,\n } as IMultiplayerWebGameProps;\n }\n\n if (projectType === ProjectType.PUZZLE) {\n return {\n ...commonConfig,\n projectId: puzzles.project_id as PuzzleId,\n variant: puzzles.variant,\n question: puzzles.question,\n askHintPermission: false,\n projectType: ProjectType.PUZZLE,\n } as IPuzzleWebGameProps;\n }\n\n return {\n ...commonConfig,\n projectId: lessons.project_id as LessonId,\n variant: lessons.variant,\n miniGameIdentifier: lessons.mini_game_identifier,\n sessionId: lessons.session_id,\n targetQuestions: lessons.target_questions,\n projectType: ProjectType.LESSON,\n } as ILessonWebGameProps;\n\n // return commonConfig;\n }, [games, puzzles, lessons, projectType, matchMakingId]);\n\n const onGameLoad = useCallback(() => {\n setIsLoading(false);\n }, []);\n\n const handleBack = useCallback(() => {\n setIsLoading(true);\n if (projectType === ProjectType.GAME) {\n updateSlideConfig({ showCircleGameScreen: true });\n } else if (projectType === ProjectType.PUZZLE) {\n updateSlideConfig({ showCircleGameScreen: true });\n } else if (projectType === ProjectType.LESSON) {\n updateSlideConfig({ showCircleGameScreen: true });\n }\n }, [updateSlideConfig, projectType]);\n\n const onPlay = useCallback(() => {\n updateSlideConfig({ showCircleGameScreen: false, accuracyStr: '', totalTimeTaken: 0 });\n }, [updateSlideConfig]);\n\n const handleGameFinish = useCallback(\n (playerStats: IPlayerStats) => {\n setIsLoading(true);\n if (projectType === ProjectType.LESSON) {\n updateSlideConfig({\n accuracyStr: playerStats.value,\n totalTimeTaken: playerStats.timeSpent,\n isCircleSkillCompleted: true,\n showCircleGameScreen: true,\n });\n } else if (projectType === ProjectType.GAME) {\n updateSlideConfig({ isCircleGamePlayed: true, showCircleGameScreen: true });\n } else if (projectType === ProjectType.PUZZLE) {\n updateSlideConfig({ isCirclePuzzleSolved: true, showCircleGameScreen: true });\n }\n },\n [updateSlideConfig, projectType],\n );\n\n const getCustEle = useCallback(() => {\n if (accuracyStr && totalTimeTaken) {\n return (\n <>\n <FlexView $flexDirection=\"row\">\n <Text $renderAs=\"ab2\" $color=\"WHITE\">\n Finished in\n </Text>\n <Separator width={5} />\n <Text $renderAs=\"ab2-bold\" $color=\"WHITE\">\n {getTimeStrInFormatHMS(totalTimeTaken)}\n </Text>\n </FlexView>\n <Separator height={20} />\n <FlexView $flexDirection=\"row\">\n <Text $renderAs=\"ab2\" $color=\"WHITE\">\n Accuracy:\n </Text>\n <Separator width={5} />\n <Text $renderAs=\"ab2-bold\" $color=\"WHITE\">\n {accuracyStr}\n </Text>\n </FlexView>\n </>\n );\n }\n\n return null;\n }, [accuracyStr, totalTimeTaken]);\n\n useEffect(() => {\n if (!showCircleGameScreen) {\n playGame();\n }\n }, [showCircleGameScreen, playGame]);\n\n useEffect(() => {\n updateSlideConfig({ showCircleGameScreen: true });\n }, [updateSlideConfig]);\n\n return (\n <Styled.GameContainer>\n <Separator height={16} />\n <Text $renderAs=\"ah3-bold\" $color=\"WHITE_T_87\" $align=\"center\" $marginBottom={16}>\n {header}\n </Text>\n <Styled.GameWrapper>\n {showCircleGameScreen && (\n <Styled.GameLaunchOverlay>\n <TrialCircleGameLaunchScreen\n assetUrl={assetUrl}\n assetUrlType={assetUrl.endsWith('mp4') ? 'video' : 'lottie'}\n descriptionHeader={descriptionHeader}\n playerType={playerType}\n isLoading={isLoading}\n isGamePlayed={(projectType && isPlayed[projectType]) ?? false}\n onPlay={onPlay}\n custEle={projectType === ProjectType.LESSON ? getCustEle() : undefined}\n celebrationText={projectType && isPlayed[projectType] ? 'WELL DONE!' : ''}\n />\n </Styled.GameLaunchOverlay>\n )}\n <WebView\n ref={webViewRef}\n height=\"100%\"\n width=\"100%\"\n baseUrl={trialGameUrl}\n playerDetails={playerData}\n projectDetails={projectDetails}\n onGameLoad={onGameLoad}\n onBack={handleBack}\n handleInfoMessage={handleInfoMessage}\n onGamePlayFinish={handleGameFinish}\n />\n </Styled.GameWrapper>\n </Styled.GameContainer>\n );\n});\n\nexport default TrialCircleGame;\n"],"names":["PROJECT_TYPE_MAP","TrialPageId","ProjectType","TrialCircleGame","memo","slideConfig","trialGameUrl","circleGames","formData","handleInfoMessage","updateSlideConfig","useTrialSessionContext","showCircleGameScreen","isCircleGamePlayed","isCirclePuzzleSolved","isCircleSkillCompleted","accuracyStr","totalTimeTaken","webViewRef","useRef","playGame","useWebViewGames","isLoading","setIsLoading","useState","header","id","projectType","circleConfig","playerDetails","games","puzzles","lessons","isPlayed","useMemo","assetUrl","url","descriptionHeader","circle_username","userId","grade","user_avatar","playerType","matchMakingId","playerData","projectDetails","commonConfig","onGameLoad","useCallback","handleBack","onPlay","handleGameFinish","playerStats","getCustEle","jsxs","Fragment","FlexView","jsx","Text","Separator","getTimeStrInFormatHMS","useEffect","Styled.GameContainer","Styled.GameWrapper","Styled.GameLaunchOverlay","TrialCircleGameLaunchScreen","WebView"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"trial-circle-game.js","sources":["../../../../../src/features/trial-session/comps/trial-circle-game/trial-circle-game.tsx"],"sourcesContent":["import type {\n ILessonWebGameProps,\n IMultiplayerWebGameProps,\n IPlayer,\n IPlayerStats,\n IPuzzleWebGameProps,\n} from '../../../circle-games/games/web-view/web-view-types';\n\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { getTimeStrInFormatHMS } from '../../../../helpers/date-time';\nimport { ProjectType } from '../../../circle-games/games/web-view/enums';\nimport { useWebViewGames } from '../../../circle-games/games/web-view/hooks/use-webview-games';\nimport { WebView } from '../../../circle-games/games/web-view/web-view';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { TrialPageId } from '../../trial-session-constants';\nimport { TrialCircleGameLaunchScreen } from './trial-circle-game-launch-screen/trial-circle-game-launch-screen';\nimport * as Styled from './trial-circle-game-styled';\n\nconst PROJECT_TYPE_MAP: Partial<Record<TrialPageId, Omit<ProjectType, ProjectType.TABLE>>> = {\n [TrialPageId.CIRCLE_GAME]: ProjectType.GAME,\n [TrialPageId.CIRCLE_PUZZLE]: ProjectType.PUZZLE,\n [TrialPageId.CIRCLE_SKILL]: ProjectType.LESSON,\n};\n\nconst TrialCircleGame = memo(() => {\n const { slideConfig, trialGameUrl, circleGames, formData, handleInfoMessage, updateSlideConfig } =\n useTrialSessionContext();\n const {\n showCircleGameScreen = true,\n isCircleGamePlayed = false,\n isCirclePuzzleSolved = false,\n isCircleSkillCompleted = false,\n accuracyStr = '',\n totalTimeTaken = 0,\n } = formData || {};\n const webViewRef = useRef<HTMLIFrameElement>(null);\n const { playGame } = useWebViewGames({ webViewRef });\n const [isLoading, setIsLoading] = useState(true);\n\n const { header, id } = slideConfig;\n const projectType = PROJECT_TYPE_MAP[id];\n const { circleConfig, playerDetails } = circleGames;\n const { games, puzzles, lessons } = circleConfig ?? {};\n\n const isPlayed = useMemo(() => {\n const playedStats = {\n [ProjectType.GAME]: isCircleGamePlayed,\n [ProjectType.PUZZLE]: isCirclePuzzleSolved,\n [ProjectType.LESSON]: isCircleSkillCompleted,\n };\n\n return playedStats;\n }, [isCircleGamePlayed, isCirclePuzzleSolved, isCircleSkillCompleted]);\n\n const assetUrl = useMemo(() => {\n const url: Omit<Record<ProjectType, string>, ProjectType.TABLE> = {\n [ProjectType.GAME]: isCircleGamePlayed ? games.game_card : games.tutorial,\n [ProjectType.PUZZLE]: isCirclePuzzleSolved ? puzzles.game_card : puzzles.tutorial,\n [ProjectType.LESSON]: isCircleSkillCompleted ? lessons.game_card : lessons.tutorial,\n };\n\n return projectType\n ? url[projectType as keyof Omit<Record<ProjectType, string>, ProjectType.TABLE>]\n : '';\n }, [\n projectType,\n games.game_card,\n games.tutorial,\n puzzles.game_card,\n puzzles.tutorial,\n lessons.game_card,\n lessons.tutorial,\n isCircleGamePlayed,\n isCirclePuzzleSolved,\n isCircleSkillCompleted,\n ]);\n\n const descriptionHeader = useMemo(() => {\n if (projectType === ProjectType.PUZZLE && isCirclePuzzleSolved) {\n return \"You've solved it!\";\n }\n\n return '';\n }, [projectType, isCirclePuzzleSolved]);\n\n const { circle_username, userId, grade, user_avatar, playerType, matchMakingId } =\n playerDetails ?? {};\n\n const playerData: IPlayer = {\n id: userId,\n username: circle_username,\n grade: grade,\n avatar: user_avatar,\n playerType,\n };\n\n const projectDetails = useMemo(() => {\n const commonConfig = {\n joinByRoomId: matchMakingId,\n enableCloseButton: false,\n enablePlayerTurnIndicators: true,\n enableSync: true,\n };\n\n if (projectType === ProjectType.GAME) {\n return {\n ...commonConfig,\n projectId: games.project_id,\n variant: games.variant,\n projectType: ProjectType.GAME,\n } as IMultiplayerWebGameProps;\n }\n\n if (projectType === ProjectType.PUZZLE) {\n return {\n ...commonConfig,\n projectId: puzzles.project_id,\n variant: puzzles.variant,\n question: puzzles.question,\n askHintPermission: false,\n projectType: ProjectType.PUZZLE,\n } as IPuzzleWebGameProps;\n }\n\n return {\n ...commonConfig,\n projectId: lessons.project_id,\n variant: lessons.variant,\n miniGameIdentifier: lessons.mini_game_identifier,\n sessionId: lessons.session_id,\n targetQuestions: lessons.target_questions,\n projectType: ProjectType.LESSON,\n } as ILessonWebGameProps;\n\n // return commonConfig;\n }, [games, puzzles, lessons, projectType, matchMakingId]);\n\n const onGameLoad = useCallback(() => {\n setIsLoading(false);\n }, []);\n\n const handleBack = useCallback(() => {\n setIsLoading(true);\n if (projectType === ProjectType.GAME) {\n updateSlideConfig({ showCircleGameScreen: true });\n } else if (projectType === ProjectType.PUZZLE) {\n updateSlideConfig({ showCircleGameScreen: true });\n } else if (projectType === ProjectType.LESSON) {\n updateSlideConfig({ showCircleGameScreen: true });\n }\n }, [updateSlideConfig, projectType]);\n\n const onPlay = useCallback(() => {\n updateSlideConfig({ showCircleGameScreen: false, accuracyStr: '', totalTimeTaken: 0 });\n }, [updateSlideConfig]);\n\n const handleGameFinish = useCallback(\n (playerStats: IPlayerStats) => {\n setIsLoading(true);\n if (projectType === ProjectType.LESSON) {\n updateSlideConfig({\n accuracyStr: playerStats.value,\n totalTimeTaken: playerStats.timeSpent,\n isCircleSkillCompleted: true,\n showCircleGameScreen: true,\n });\n } else if (projectType === ProjectType.GAME) {\n updateSlideConfig({ isCircleGamePlayed: true, showCircleGameScreen: true });\n } else if (projectType === ProjectType.PUZZLE) {\n updateSlideConfig({ isCirclePuzzleSolved: true, showCircleGameScreen: true });\n }\n },\n [updateSlideConfig, projectType],\n );\n\n const getCustEle = useCallback(() => {\n if (accuracyStr && totalTimeTaken) {\n return (\n <>\n <FlexView $flexDirection=\"row\">\n <Text $renderAs=\"ab2\" $color=\"WHITE\">\n Finished in\n </Text>\n <Separator width={5} />\n <Text $renderAs=\"ab2-bold\" $color=\"WHITE\">\n {getTimeStrInFormatHMS(totalTimeTaken)}\n </Text>\n </FlexView>\n <Separator height={20} />\n <FlexView $flexDirection=\"row\">\n <Text $renderAs=\"ab2\" $color=\"WHITE\">\n Accuracy:\n </Text>\n <Separator width={5} />\n <Text $renderAs=\"ab2-bold\" $color=\"WHITE\">\n {accuracyStr}\n </Text>\n </FlexView>\n </>\n );\n }\n\n return null;\n }, [accuracyStr, totalTimeTaken]);\n\n useEffect(() => {\n if (!showCircleGameScreen) {\n playGame();\n }\n }, [showCircleGameScreen, playGame]);\n\n useEffect(() => {\n updateSlideConfig({ showCircleGameScreen: true });\n }, [updateSlideConfig]);\n\n return (\n <Styled.GameContainer>\n <Separator height={16} />\n <Text $renderAs=\"ah3-bold\" $color=\"WHITE_T_87\" $align=\"center\" $marginBottom={16}>\n {header}\n </Text>\n <Styled.GameWrapper>\n {showCircleGameScreen && (\n <Styled.GameLaunchOverlay>\n <TrialCircleGameLaunchScreen\n assetUrl={assetUrl}\n assetUrlType={assetUrl.endsWith('mp4') ? 'video' : 'lottie'}\n descriptionHeader={descriptionHeader}\n playerType={playerType}\n isLoading={isLoading}\n isGamePlayed={\n (projectType &&\n isPlayed[\n projectType as keyof Omit<Record<ProjectType, string>, ProjectType.TABLE>\n ]) ??\n false\n }\n onPlay={onPlay}\n custEle={projectType === ProjectType.LESSON ? getCustEle() : undefined}\n celebrationText={\n projectType &&\n isPlayed[projectType as keyof Omit<Record<ProjectType, string>, ProjectType.TABLE>]\n ? 'WELL DONE!'\n : ''\n }\n />\n </Styled.GameLaunchOverlay>\n )}\n <WebView\n ref={webViewRef}\n height=\"100%\"\n width=\"100%\"\n baseUrl={trialGameUrl}\n playerDetails={playerData}\n projectDetails={projectDetails}\n onGameLoad={onGameLoad}\n onBack={handleBack}\n handleInfoMessage={handleInfoMessage}\n onGamePlayFinish={handleGameFinish}\n />\n </Styled.GameWrapper>\n </Styled.GameContainer>\n );\n});\n\nexport default TrialCircleGame;\n"],"names":["PROJECT_TYPE_MAP","TrialPageId","ProjectType","TrialCircleGame","memo","slideConfig","trialGameUrl","circleGames","formData","handleInfoMessage","updateSlideConfig","useTrialSessionContext","showCircleGameScreen","isCircleGamePlayed","isCirclePuzzleSolved","isCircleSkillCompleted","accuracyStr","totalTimeTaken","webViewRef","useRef","playGame","useWebViewGames","isLoading","setIsLoading","useState","header","id","projectType","circleConfig","playerDetails","games","puzzles","lessons","isPlayed","useMemo","assetUrl","url","descriptionHeader","circle_username","userId","grade","user_avatar","playerType","matchMakingId","playerData","projectDetails","commonConfig","onGameLoad","useCallback","handleBack","onPlay","handleGameFinish","playerStats","getCustEle","jsxs","Fragment","FlexView","jsx","Text","Separator","getTimeStrInFormatHMS","useEffect","Styled.GameContainer","Styled.GameWrapper","Styled.GameLaunchOverlay","TrialCircleGameLaunchScreen","WebView"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
@@ -71,8 +71,8 @@ export declare const BackgroundImage: ({ img }: {
|
|
71
71
|
|
72
72
|
export declare const BackIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
73
73
|
|
74
|
-
declare interface BaseProject
|
75
|
-
id:
|
74
|
+
declare interface BaseProject {
|
75
|
+
id: string;
|
76
76
|
name: string;
|
77
77
|
cardLottie: string;
|
78
78
|
tutorial: string;
|
@@ -388,7 +388,7 @@ declare interface FlexViewProps {
|
|
388
388
|
$flex?: number;
|
389
389
|
}
|
390
390
|
|
391
|
-
export declare interface Game extends BaseProject
|
391
|
+
export declare interface Game extends BaseProject {
|
392
392
|
isPlayed: boolean;
|
393
393
|
}
|
394
394
|
|
@@ -398,20 +398,6 @@ export declare const GAME_LAUNCHER_SIZE: number;
|
|
398
398
|
|
399
399
|
export declare const GameIcon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
|
400
400
|
|
401
|
-
export declare enum GameId {
|
402
|
-
CHESS_MOVES = "chess-moves",
|
403
|
-
NO_ATTACK = "no-attack",
|
404
|
-
TROMINOS = "trominos",
|
405
|
-
NIMS_GAME = "nims-game",
|
406
|
-
TRANSFORMATION = "transformation",
|
407
|
-
LIGHTS_ON_OR_OFF = "lights-on-or-off",
|
408
|
-
LIQUID_WARS = "liquid-wars",
|
409
|
-
HACKENBUSH = "hackenbush",
|
410
|
-
SQUARE_IT = "square-it",
|
411
|
-
CLASH_OF_COLOURS = "clash-of-colours",
|
412
|
-
REACH = "reach"
|
413
|
-
}
|
414
|
-
|
415
401
|
export declare const GameLauncher: FC<IGameLauncherProps>;
|
416
402
|
|
417
403
|
declare const getArrowTooltipConfig: IGetArrowTooltipConfig;
|
@@ -565,8 +551,8 @@ declare interface IBaseLeaderboardDetails {
|
|
565
551
|
currentTimestamp: number;
|
566
552
|
}
|
567
553
|
|
568
|
-
declare interface IBaseProject
|
569
|
-
id:
|
554
|
+
declare interface IBaseProject {
|
555
|
+
id: string;
|
570
556
|
name: string;
|
571
557
|
card: string;
|
572
558
|
variant: string;
|
@@ -587,13 +573,10 @@ declare interface IBaseSelectInputProps<IDType extends string | number> extends
|
|
587
573
|
theme?: 'light' | 'dark';
|
588
574
|
}
|
589
575
|
|
590
|
-
declare interface IBaseWebGameProps
|
591
|
-
projectId:
|
576
|
+
declare interface IBaseWebGameProps {
|
577
|
+
projectId: string;
|
592
578
|
variant: string;
|
593
579
|
projectType: ProjectType;
|
594
|
-
joinByRoomId?: string;
|
595
|
-
enableSync?: boolean;
|
596
|
-
enablePlayerTurnIndicators?: boolean;
|
597
580
|
enableCloseButton?: boolean;
|
598
581
|
}
|
599
582
|
|
@@ -1074,12 +1057,12 @@ declare interface IFile {
|
|
1074
1057
|
url: string;
|
1075
1058
|
}
|
1076
1059
|
|
1077
|
-
declare interface IGame extends IBaseProject
|
1060
|
+
declare interface IGame extends IBaseProject {
|
1078
1061
|
played: boolean;
|
1079
1062
|
}
|
1080
1063
|
|
1081
1064
|
declare interface IGameLauncherProps {
|
1082
|
-
onSegmentClick: (projectDetail: Game | Puzzle | Lesson, projectType: ProjectType) => void;
|
1065
|
+
onSegmentClick: (projectDetail: Game | Puzzle | Lesson | ITableDetails, projectType: ProjectType) => void;
|
1083
1066
|
isLoading?: boolean;
|
1084
1067
|
data: IProjects | null;
|
1085
1068
|
defaultIndex?: number;
|
@@ -1477,9 +1460,9 @@ declare interface ILearnosityQuestionScore {
|
|
1477
1460
|
unscored?: boolean;
|
1478
1461
|
}
|
1479
1462
|
|
1480
|
-
declare interface ILesson extends IBaseProject
|
1463
|
+
declare interface ILesson extends IBaseProject {
|
1481
1464
|
session_id: string;
|
1482
|
-
mini_game_identifier:
|
1465
|
+
mini_game_identifier: string;
|
1483
1466
|
target_questions: number;
|
1484
1467
|
status: 'pending' | 'completed';
|
1485
1468
|
}
|
@@ -1517,8 +1500,8 @@ declare interface ILessonsListProps extends ILessonItemCallbackProps {
|
|
1517
1500
|
lessonItemColorHue: THueNames;
|
1518
1501
|
}
|
1519
1502
|
|
1520
|
-
export declare interface ILessonWebGameProps extends IBaseWebGameProps
|
1521
|
-
miniGameIdentifier:
|
1503
|
+
export declare interface ILessonWebGameProps extends IBaseWebGameProps, ISyncableWebGameProps {
|
1504
|
+
miniGameIdentifier: string;
|
1522
1505
|
sessionId: string;
|
1523
1506
|
targetQuestions: number;
|
1524
1507
|
}
|
@@ -1941,7 +1924,8 @@ declare interface IMilestoneWidgetResourcesProps extends ISheetItemCallbackProps
|
|
1941
1924
|
canUpdatePlan?: boolean;
|
1942
1925
|
}
|
1943
1926
|
|
1944
|
-
export declare interface IMultiplayerWebGameProps extends IBaseWebGameProps
|
1927
|
+
export declare interface IMultiplayerWebGameProps extends IBaseWebGameProps, ISyncableWebGameProps {
|
1928
|
+
enablePlayerTurnIndicators?: boolean;
|
1945
1929
|
}
|
1946
1930
|
|
1947
1931
|
declare interface IMultiTabBlockerContextValue {
|
@@ -2152,6 +2136,7 @@ export declare interface IProjects {
|
|
2152
2136
|
games: IProject<Game>;
|
2153
2137
|
puzzles: IProject<Puzzle>;
|
2154
2138
|
lessons?: IProject<Lesson>;
|
2139
|
+
tables?: ITables;
|
2155
2140
|
}
|
2156
2141
|
|
2157
2142
|
declare interface IProjects_2 {
|
@@ -2167,6 +2152,10 @@ declare interface IProjects_2 {
|
|
2167
2152
|
label: string;
|
2168
2153
|
data: ILesson[];
|
2169
2154
|
};
|
2155
|
+
tables?: {
|
2156
|
+
label: string;
|
2157
|
+
data: ITables_2;
|
2158
|
+
};
|
2170
2159
|
}
|
2171
2160
|
|
2172
2161
|
declare interface IPublishData {
|
@@ -2174,7 +2163,7 @@ declare interface IPublishData {
|
|
2174
2163
|
eventPayload: IActionData;
|
2175
2164
|
}
|
2176
2165
|
|
2177
|
-
declare interface IPuzzle extends IBaseProject
|
2166
|
+
declare interface IPuzzle extends IBaseProject {
|
2178
2167
|
question: string;
|
2179
2168
|
is_hint_seen: boolean;
|
2180
2169
|
solved: boolean;
|
@@ -2208,7 +2197,7 @@ declare interface IPuzzleCard_2 {
|
|
2208
2197
|
programId: string;
|
2209
2198
|
}
|
2210
2199
|
|
2211
|
-
export declare interface IPuzzleWebGameProps extends IBaseWebGameProps
|
2200
|
+
export declare interface IPuzzleWebGameProps extends IBaseWebGameProps, ISyncableWebGameProps {
|
2212
2201
|
question: string;
|
2213
2202
|
askHintPermission?: boolean;
|
2214
2203
|
}
|
@@ -2571,6 +2560,48 @@ export declare const isV3Worksheet: (sheet: ISheetDataProps | TLPARSheetData, mo
|
|
2571
2560
|
|
2572
2561
|
export declare const isV3WorksheetAttempt: (attempt: IWorksheetAttemptModel) => boolean;
|
2573
2562
|
|
2563
|
+
declare interface ISyncableWebGameProps {
|
2564
|
+
joinByRoomId?: string;
|
2565
|
+
enableSync?: boolean;
|
2566
|
+
}
|
2567
|
+
|
2568
|
+
export declare interface ITable {
|
2569
|
+
tableList: ITableInfo[];
|
2570
|
+
infiniteModeHighScore: number;
|
2571
|
+
}
|
2572
|
+
|
2573
|
+
export declare interface ITableDetails {
|
2574
|
+
mode: TTableMode;
|
2575
|
+
tableNumber?: number;
|
2576
|
+
infiniteModeHighScore?: number;
|
2577
|
+
}
|
2578
|
+
|
2579
|
+
export declare interface ITableInfo {
|
2580
|
+
tableNumber: number;
|
2581
|
+
stars: TTableMode[];
|
2582
|
+
}
|
2583
|
+
|
2584
|
+
declare interface ITableInfo_2 {
|
2585
|
+
table_number: number;
|
2586
|
+
stars: ('advance' | 'random' | 'sequence')[];
|
2587
|
+
}
|
2588
|
+
|
2589
|
+
declare interface ITables {
|
2590
|
+
type: ProjectType;
|
2591
|
+
label: string;
|
2592
|
+
data: ITable;
|
2593
|
+
}
|
2594
|
+
|
2595
|
+
declare interface ITables_2 {
|
2596
|
+
table_wise_details: ITableInfo_2[];
|
2597
|
+
infinite_mode_high_score: number;
|
2598
|
+
}
|
2599
|
+
|
2600
|
+
export declare interface ITableWebGameProps extends IBaseWebGameProps {
|
2601
|
+
tableNumber: number;
|
2602
|
+
infiniteModeHighScore?: number;
|
2603
|
+
}
|
2604
|
+
|
2574
2605
|
declare interface ITabProps {
|
2575
2606
|
label: number | string;
|
2576
2607
|
$selected: boolean;
|
@@ -2956,7 +2987,7 @@ export declare interface IVibrationPattern {
|
|
2956
2987
|
|
2957
2988
|
export declare interface IWebViewProps extends IframeHTMLAttributes<HTMLIFrameElement> {
|
2958
2989
|
baseUrl: string;
|
2959
|
-
projectDetails: IMultiplayerWebGameProps | IPuzzleWebGameProps | ILessonWebGameProps;
|
2990
|
+
projectDetails: IMultiplayerWebGameProps | IPuzzleWebGameProps | ILessonWebGameProps | ITableWebGameProps;
|
2960
2991
|
playerDetails: IPlayer;
|
2961
2992
|
onBack?: () => void;
|
2962
2993
|
onGameLoad?: () => void;
|
@@ -3251,9 +3282,9 @@ export declare const LearnosityPreloader: FC<PropsWithChildren<ILearnosityPreloa
|
|
3251
3282
|
|
3252
3283
|
export declare const LeftIcon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
|
3253
3284
|
|
3254
|
-
export declare interface Lesson extends BaseProject
|
3285
|
+
export declare interface Lesson extends BaseProject {
|
3255
3286
|
sessionId: string;
|
3256
|
-
miniGameIdentifier:
|
3287
|
+
miniGameIdentifier: string;
|
3257
3288
|
targetQuestions: number;
|
3258
3289
|
status: TSkillStatus;
|
3259
3290
|
}
|
@@ -3263,17 +3294,6 @@ declare const LESSON_TAG_TYPE: {
|
|
3263
3294
|
readonly DEFAULT: "DEFAULT";
|
3264
3295
|
};
|
3265
3296
|
|
3266
|
-
export declare enum LessonId {
|
3267
|
-
ANGLES = "angles",
|
3268
|
-
FRACTIONS = "fractions",
|
3269
|
-
TIME = "time",
|
3270
|
-
ADDITION_SUBTRACTION = "addition-subtraction",
|
3271
|
-
MULTIPLICATION_DIVISION = "multiplication-division",
|
3272
|
-
PERCENTAGES = "percentages",
|
3273
|
-
INTEGERS = "integers",
|
3274
|
-
RATIOS = "ratios"
|
3275
|
-
}
|
3276
|
-
|
3277
3297
|
export declare const loadScript: ILoadScript;
|
3278
3298
|
|
3279
3299
|
export declare const Lock2Icon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
|
@@ -3300,23 +3320,6 @@ export declare const MilestoneOutcome: React_2.FC<IMilestoneOutcomeContainer>;
|
|
3300
3320
|
|
3301
3321
|
export declare const MilestoneStart: React_2.FC<IMilestoneStartProps>;
|
3302
3322
|
|
3303
|
-
export declare enum MiniGameId {
|
3304
|
-
SNAKE = "snake",
|
3305
|
-
BASKETBALL = "basketball",
|
3306
|
-
REARRANGE = "rearrange",
|
3307
|
-
CAR_RACE = "car-race",
|
3308
|
-
DROP_ME = "drop-me",
|
3309
|
-
WARZONE = "warzone",
|
3310
|
-
SLOT_MACHINE = "slot-machine",
|
3311
|
-
SLING_SHOT = "sling-shot",
|
3312
|
-
CLOCK = "clock",
|
3313
|
-
MINING = "mining",
|
3314
|
-
SHADING_AREA = "shading-area",
|
3315
|
-
MAGIC_HAT = "magic-hat",
|
3316
|
-
PUZZLE = "puzzle",
|
3317
|
-
BALANCE = "balance"
|
3318
|
-
}
|
3319
|
-
|
3320
3323
|
export declare const Minus2Icon: React.FC<React.SVGProps<SVGSVGElement>>;
|
3321
3324
|
|
3322
3325
|
export declare const MinusIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
@@ -3520,36 +3523,6 @@ export declare const PreviewWorksheet: FC<IPreviewWorksheetProps>;
|
|
3520
3523
|
|
3521
3524
|
export declare const ProgressIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
3522
3525
|
|
3523
|
-
export declare const ProjectId: {
|
3524
|
-
readonly ANGLES: LessonId.ANGLES;
|
3525
|
-
readonly FRACTIONS: LessonId.FRACTIONS;
|
3526
|
-
readonly TIME: LessonId.TIME;
|
3527
|
-
readonly ADDITION_SUBTRACTION: LessonId.ADDITION_SUBTRACTION;
|
3528
|
-
readonly MULTIPLICATION_DIVISION: LessonId.MULTIPLICATION_DIVISION;
|
3529
|
-
readonly PERCENTAGES: LessonId.PERCENTAGES;
|
3530
|
-
readonly INTEGERS: LessonId.INTEGERS;
|
3531
|
-
readonly RATIOS: LessonId.RATIOS;
|
3532
|
-
readonly CUT_THE_STRIP: PuzzleId.CUT_THE_STRIP;
|
3533
|
-
readonly ONE_LINE_WONDER: PuzzleId.ONE_LINE_WONDER;
|
3534
|
-
readonly FLIP_IT_UP: PuzzleId.FLIP_IT_UP;
|
3535
|
-
readonly CARS_IN_CHAOS: PuzzleId.CARS_IN_CHAOS;
|
3536
|
-
readonly REFLEKT: PuzzleId.REFLEKT;
|
3537
|
-
readonly MATCHSTICKS: PuzzleId.MATCHSTICKS;
|
3538
|
-
readonly NO_CROSS: PuzzleId.NO_CROSS;
|
3539
|
-
readonly DISSECTION: PuzzleId.DISSECTION;
|
3540
|
-
readonly CHESS_MOVES: GameId.CHESS_MOVES;
|
3541
|
-
readonly NO_ATTACK: GameId.NO_ATTACK;
|
3542
|
-
readonly TROMINOS: GameId.TROMINOS;
|
3543
|
-
readonly NIMS_GAME: GameId.NIMS_GAME;
|
3544
|
-
readonly TRANSFORMATION: GameId.TRANSFORMATION;
|
3545
|
-
readonly LIGHTS_ON_OR_OFF: GameId.LIGHTS_ON_OR_OFF;
|
3546
|
-
readonly LIQUID_WARS: GameId.LIQUID_WARS;
|
3547
|
-
readonly HACKENBUSH: GameId.HACKENBUSH;
|
3548
|
-
readonly SQUARE_IT: GameId.SQUARE_IT;
|
3549
|
-
readonly CLASH_OF_COLOURS: GameId.CLASH_OF_COLOURS;
|
3550
|
-
readonly REACH: GameId.REACH;
|
3551
|
-
};
|
3552
|
-
|
3553
3526
|
export declare enum ProjectOutcome {
|
3554
3527
|
WIN = "win",
|
3555
3528
|
LOSE = "lose",
|
@@ -3564,10 +3537,11 @@ export declare enum ProjectOutcome {
|
|
3564
3537
|
export declare enum ProjectType {
|
3565
3538
|
GAME = "game",
|
3566
3539
|
PUZZLE = "puzzle",
|
3567
|
-
LESSON = "lesson"
|
3540
|
+
LESSON = "lesson",
|
3541
|
+
TABLE = "table"
|
3568
3542
|
}
|
3569
3543
|
|
3570
|
-
export declare interface Puzzle extends BaseProject
|
3544
|
+
export declare interface Puzzle extends BaseProject {
|
3571
3545
|
question: string;
|
3572
3546
|
isHintSeen: boolean;
|
3573
3547
|
solved: boolean;
|
@@ -3588,17 +3562,6 @@ declare const PUZZLE_CARD_STATE: {
|
|
3588
3562
|
|
3589
3563
|
declare const PUZZLE_CARDS: "puzzle_cards";
|
3590
3564
|
|
3591
|
-
export declare enum PuzzleId {
|
3592
|
-
CUT_THE_STRIP = "cut-the-strip",
|
3593
|
-
ONE_LINE_WONDER = "one-line-wonder",
|
3594
|
-
FLIP_IT_UP = "flip-it-up",
|
3595
|
-
CARS_IN_CHAOS = "cars-in-chaos",
|
3596
|
-
REFLEKT = "reflekt",
|
3597
|
-
MATCHSTICKS = "matchsticks",
|
3598
|
-
NO_CROSS = "no-cross",
|
3599
|
-
DISSECTION = "dissection"
|
3600
|
-
}
|
3601
|
-
|
3602
3565
|
export declare const PYTHON_NODE_TYPES: {
|
3603
3566
|
readonly PPT_BASIC: "PPT_BASIC";
|
3604
3567
|
readonly PPT_CONTENT: "PPT_CONTENT";
|
@@ -4465,8 +4428,6 @@ declare type TPreference = {
|
|
4465
4428
|
|
4466
4429
|
declare type TPreferenceCategory = (typeof PREFERENCE_CATEGORY)[keyof typeof PREFERENCE_CATEGORY];
|
4467
4430
|
|
4468
|
-
export declare type TProject = GameId | PuzzleId | LessonId;
|
4469
|
-
|
4470
4431
|
declare type TPublish = (data: IPublishData) => boolean | undefined;
|
4471
4432
|
|
4472
4433
|
declare type TPublishMouseMove = (points: IPointerData) => void;
|
@@ -4649,6 +4610,8 @@ declare type TSubscribe = (id: string, cb: (data: IActionData | IActionData[]) =
|
|
4649
4610
|
|
4650
4611
|
declare type TSubscribeMouseMove = (id: string, callback: (data: IPointerData) => void) => void;
|
4651
4612
|
|
4613
|
+
export declare type TTableMode = 'random' | 'sequence' | 'advance' | 'infinite';
|
4614
|
+
|
4652
4615
|
export declare type TTabSizes = 'xsmall' | 'small' | 'regular' | 'medium';
|
4653
4616
|
|
4654
4617
|
export declare type TTabVariants = 'primary';
|