@cuemath/leap 2.8.35 → 2.8.36-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/lottie/lottie.js +6 -0
- package/dist/assets/lottie/lottie.js.map +1 -1
- 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 +87 -85
- 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 +54 -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/table-star/table-star-styled.js +11 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star-styled.js.map +1 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star.js +16 -0
- package/dist/features/circle-games/game-launcher/comps/tables-card/table-star/table-star.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 +209 -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.js +103 -61
- 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 +69 -82
- 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.js +25 -24
- package/dist/features/post-game-stats/points/points.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 +78 -109
- package/dist/index.js +194 -199
- package/dist/static/advance-mode-segment-lottie.51ff6707.json +1 -0
- package/dist/static/infinite-button-bg.5909225e.json +1 -0
- package/dist/static/infinite-button-symbol.aa31350c.json +1 -0
- package/dist/static/random-mode-segment-lottie.79cf1c07.json +1 -0
- package/dist/static/sequence-mode-segment-lottie.11ac49e9.json +1 -0
- package/dist/static/table-mode-reveal.b44a82c3.json +1 -0
- 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":"streak-styled.js","sources":["../../../../src/features/post-game-stats/streak/streak-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } from 'styled-components';\n\nimport {
|
1
|
+
{"version":3,"file":"streak-styled.js","sources":["../../../../src/features/post-game-stats/streak/streak-styled.tsx"],"sourcesContent":["import styled, { keyframes, css } 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';\nimport { STREAK_CONTAINER_TOP_OFFSET, STREAK_TOP_GREEN_SEGMENT_HEIGHT } from './constants';\n\nconst MASK_PADDING = (50 * 84) / 100;\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 Streak = styled.div`\n height: ${GAME_LAUNCHER_SIZE}px;\n width: ${GAME_LAUNCHER_SIZE}px;\n background: transparent;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n`;\n\nexport const SVGImgContainer = styled.div`\n position: absolute;\n border-radius: ${Math.ceil((GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING) / 2)}px;\n height: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n width: ${GAME_LAUNCHER_SIZE + GAME_LAUNCHER_ASSET_PADDING}px;\n z-index: 0;\n`;\n\nexport const StreakLottieView = 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 z-index: 2;\n`;\n\nexport const StreakValueWrapper = styled.div<{\n $duration: number;\n $animationType: 'fadein' | 'fadeout';\n}>`\n position: absolute;\n top: ${STREAK_TOP_GREEN_SEGMENT_HEIGHT}px;\n z-index: 2;\n height: ${GAME_LAUNCHER_SIZE - STREAK_TOP_GREEN_SEGMENT_HEIGHT - STREAK_CONTAINER_TOP_OFFSET}px;\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 StreakValueContainer = styled.div<{\n $translate: boolean;\n $translateDuration: number;\n}>`\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n height: ${(GAME_LAUNCHER_SIZE - STREAK_TOP_GREEN_SEGMENT_HEIGHT) * 2}px;\n transition: ${({ $translateDuration }) => `all ${$translateDuration}ms linear`};\n transform: ${({ $translate }) => ($translate ? 'translateY(-100%)' : 'translateY(0%)')};\n`;\n\nexport const StreakValue = styled(Text)`\n font-size: 123px;\n line-height: 123px;\n text-align: center;\n height: 100%;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nexport const TextWrapper = styled.div<{\n $duration: number;\n $delay: number;\n $animationType: 'fadein' | 'fadeout';\n}>`\n z-index: 2;\n opacity: 0;\n animation: ${({ $animationType, $duration, $delay }) => css`\n ${$animationType === 'fadein' ? fadeIn : fadeOut} ${$duration}ms ${$delay}ms ease forwards\n `};\n transform: translateY(${((GAME_LAUNCHER_SIZE + MASK_PADDING) * 84) / 200 + 25}px);\n`;\n"],"names":["MASK_PADDING","fadeIn","keyframes","fadeOut","Streak","styled","GAME_LAUNCHER_SIZE","SVGImgContainer","GAME_LAUNCHER_ASSET_PADDING","StreakLottieView","StreakValueWrapper","STREAK_TOP_GREEN_SEGMENT_HEIGHT","STREAK_CONTAINER_TOP_OFFSET","$animationType","$duration","css","StreakValueContainer","$translateDuration","$translate","StreakValue","Text","TextWrapper","$delay"],"mappings":";;;;;AAOA,MAAMA,IAAgB,KAAK,KAAM,KAE3BC,IAASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASTC,IAAUD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASHE,IAASC,EAAO;AAAA,YACjBC,CAAkB;AAAA,WACnBA,CAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQhBC,IAAkBF,EAAO;AAAA;AAAA,mBAEnB,KAAK,MAAMC,IAAqBE,KAA+B,CAAC,CAAC;AAAA,YACxEF,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA,GAI9CC,IAAmBJ,EAAO;AAAA,YAC3BC,IAAqBE,CAA2B;AAAA,WACjDF,IAAqBE,CAA2B;AAAA;AAAA;AAAA,GAK9CE,IAAqBL,EAAO;AAAA;AAAA,SAKhCM,CAA+B;AAAA;AAAA,YAE5BL,IAAqBK,IAAkCC,CAA2B;AAAA,eAC/E,CAAC,EAAE,gBAAAC,GAAgB,WAAAC,EAAA,MAAgBC;AAAA,MAC5CF,MAAmB,WAAWZ,IAASE,CAAO,IAAIW,CAAS;AAAA,GAC9D;AAAA;AAAA;AAAA;AAAA;AAAA,GAOUE,IAAuBX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,aAQ9BC,IAAqBK,KAAmC,CAAC;AAAA,gBACtD,CAAC,EAAE,oBAAAM,EAAyB,MAAA,OAAOA,CAAkB,WAAW;AAAA,eACjE,CAAC,EAAE,YAAAC,EAAA,MAAkBA,IAAa,sBAAsB,gBAAiB;AAAA,GAG3EC,IAAcd,EAAOe,CAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWzBC,IAAchB,EAAO;AAAA;AAAA;AAAA,eAOnB,CAAC,EAAE,gBAAAQ,GAAgB,WAAAC,GAAW,QAAAQ,QAAaP;AAAA,MACpDF,MAAmB,WAAWZ,IAASE,CAAO,IAAIW,CAAS,MAAMQ,CAAM;AAAA,GAC1E;AAAA,2BACyBhB,IAAqBN,KAAgB,KAAM,MAAM,EAAE;AAAA;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../../src/features/trial-session/comps/trial-circle-game/constants.ts"],"sourcesContent":["import { ProjectType } from '../../../circle-games/games/web-view/enums';\n\nexport const GAME_CONTAINER_HEIGHT = 530;\nexport const GAME_CONTAINER_WIDTH = 336;\n\nexport const label: Record<ProjectType, string> = {\n [ProjectType.GAME]: 'Game Time!',\n [ProjectType.PUZZLE]: 'Puzzle Time!',\n [ProjectType.LESSON]: 'Mental Math',\n};\n"],"names":["GAME_CONTAINER_HEIGHT","GAME_CONTAINER_WIDTH","ProjectType"],"mappings":";AAEO,MAAMA,IAAwB,KACxBC,IAAuB;AAGjCC,EAAY,OAAZ,IACAA,EAAY,SAAZ,IACAA,EAAY,SAAZ;"}
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../../src/features/trial-session/comps/trial-circle-game/constants.ts"],"sourcesContent":["import { ProjectType } from '../../../circle-games/games/web-view/enums';\n\nexport const GAME_CONTAINER_HEIGHT = 530;\nexport const GAME_CONTAINER_WIDTH = 336;\n\nexport const label: Omit<Record<ProjectType, string>, 'table'> = {\n [ProjectType.GAME]: 'Game Time!',\n [ProjectType.PUZZLE]: 'Puzzle Time!',\n [ProjectType.LESSON]: 'Mental Math',\n};\n"],"names":["GAME_CONTAINER_HEIGHT","GAME_CONTAINER_WIDTH","ProjectType"],"mappings":";AAEO,MAAMA,IAAwB,KACxBC,IAAuB;AAGjCC,EAAY,OAAZ,IACAA,EAAY,SAAZ,IACAA,EAAY,SAAZ;"}
|
@@ -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';\nimport { v4 as uuidv4 } from 'uuid';\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 matchmakingId,\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 } = 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 (\n projectType === ProjectType.GAME ||\n projectType === ProjectType.PUZZLE ||\n projectType === ProjectType.LESSON\n ) {\n updateSlideConfig({ showCircleGameScreen: true, matchmakingId: uuidv4() });\n }\n }, [projectType, updateSlideConfig]);\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 matchmakingId: uuidv4(),\n });\n } else if (projectType === ProjectType.GAME) {\n updateSlideConfig({\n isCircleGamePlayed: true,\n showCircleGameScreen: true,\n matchmakingId: uuidv4(),\n });\n } else if (projectType === ProjectType.PUZZLE) {\n updateSlideConfig({\n isCirclePuzzleSolved: true,\n showCircleGameScreen: true,\n matchmakingId: uuidv4(),\n });\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 (!isLoading && !showCircleGameScreen) {\n playGame();\n }\n }, [showCircleGameScreen, playGame, isLoading]);\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 {matchmakingId && (\n <WebView\n key={matchmakingId}\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 parentDomain={window.location.origin}\n />\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","matchmakingId","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","playerData","projectDetails","commonConfig","onGameLoad","useCallback","handleBack","uuidv4","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';\nimport { v4 as uuidv4 } from 'uuid';\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 matchmakingId,\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 } = 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 (\n projectType === ProjectType.GAME ||\n projectType === ProjectType.PUZZLE ||\n projectType === ProjectType.LESSON\n ) {\n updateSlideConfig({ showCircleGameScreen: true, matchmakingId: uuidv4() });\n }\n }, [projectType, updateSlideConfig]);\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 matchmakingId: uuidv4(),\n });\n } else if (projectType === ProjectType.GAME) {\n updateSlideConfig({\n isCircleGamePlayed: true,\n showCircleGameScreen: true,\n matchmakingId: uuidv4(),\n });\n } else if (projectType === ProjectType.PUZZLE) {\n updateSlideConfig({\n isCirclePuzzleSolved: true,\n showCircleGameScreen: true,\n matchmakingId: uuidv4(),\n });\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 (!isLoading && !showCircleGameScreen) {\n playGame();\n }\n }, [showCircleGameScreen, playGame, isLoading]);\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 {matchmakingId && (\n <WebView\n key={matchmakingId}\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 parentDomain={window.location.origin}\n />\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","matchmakingId","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","playerData","projectDetails","commonConfig","onGameLoad","useCallback","handleBack","uuidv4","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
@@ -72,8 +72,8 @@ export declare const BackgroundImage: ({ img }: {
|
|
72
72
|
|
73
73
|
export declare const BackIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
74
74
|
|
75
|
-
declare interface BaseProject
|
76
|
-
id:
|
75
|
+
declare interface BaseProject {
|
76
|
+
id: string;
|
77
77
|
name: string;
|
78
78
|
cardLottie: string;
|
79
79
|
tutorial: string;
|
@@ -389,7 +389,7 @@ declare interface FlexViewProps {
|
|
389
389
|
$flex?: number;
|
390
390
|
}
|
391
391
|
|
392
|
-
export declare interface Game extends BaseProject
|
392
|
+
export declare interface Game extends BaseProject {
|
393
393
|
isPlayed: boolean;
|
394
394
|
}
|
395
395
|
|
@@ -399,20 +399,6 @@ export declare const GAME_LAUNCHER_SIZE: number;
|
|
399
399
|
|
400
400
|
export declare const GameIcon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
|
401
401
|
|
402
|
-
export declare enum GameId {
|
403
|
-
CHESS_MOVES = "chess-moves",
|
404
|
-
NO_ATTACK = "no-attack",
|
405
|
-
TROMINOS = "trominos",
|
406
|
-
NIMS_GAME = "nims-game",
|
407
|
-
TRANSFORMATION = "transformation",
|
408
|
-
LIGHTS_ON_OR_OFF = "lights-on-or-off",
|
409
|
-
LIQUID_WARS = "liquid-wars",
|
410
|
-
HACKENBUSH = "hackenbush",
|
411
|
-
SQUARE_IT = "square-it",
|
412
|
-
CLASH_OF_COLOURS = "clash-of-colours",
|
413
|
-
REACH = "reach"
|
414
|
-
}
|
415
|
-
|
416
402
|
export declare const GameLauncher: FC<IGameLauncherProps>;
|
417
403
|
|
418
404
|
declare const getArrowTooltipConfig: IGetArrowTooltipConfig;
|
@@ -566,8 +552,8 @@ declare interface IBaseLeaderboardDetails {
|
|
566
552
|
currentTimestamp: number;
|
567
553
|
}
|
568
554
|
|
569
|
-
declare interface IBaseProject
|
570
|
-
id:
|
555
|
+
declare interface IBaseProject {
|
556
|
+
id: string;
|
571
557
|
name: string;
|
572
558
|
card: string;
|
573
559
|
variant: string;
|
@@ -588,13 +574,10 @@ declare interface IBaseSelectInputProps<IDType extends string | number> extends
|
|
588
574
|
theme?: 'light' | 'dark';
|
589
575
|
}
|
590
576
|
|
591
|
-
declare interface IBaseWebGameProps
|
592
|
-
projectId:
|
577
|
+
declare interface IBaseWebGameProps {
|
578
|
+
projectId: string;
|
593
579
|
variant: string;
|
594
580
|
projectType: ProjectType;
|
595
|
-
joinByRoomId?: string;
|
596
|
-
enableSync?: boolean;
|
597
|
-
enablePlayerTurnIndicators?: boolean;
|
598
581
|
enableCloseButton?: boolean;
|
599
582
|
}
|
600
583
|
|
@@ -1075,12 +1058,12 @@ declare interface IFile {
|
|
1075
1058
|
url: string;
|
1076
1059
|
}
|
1077
1060
|
|
1078
|
-
declare interface IGame extends IBaseProject
|
1061
|
+
declare interface IGame extends IBaseProject {
|
1079
1062
|
played: boolean;
|
1080
1063
|
}
|
1081
1064
|
|
1082
1065
|
declare interface IGameLauncherProps {
|
1083
|
-
onSegmentClick: (projectDetail: Game | Puzzle | Lesson, projectType: ProjectType) => void;
|
1066
|
+
onSegmentClick: (projectDetail: Game | Puzzle | Lesson | ITableDetails, projectType: ProjectType) => void;
|
1084
1067
|
isLoading?: boolean;
|
1085
1068
|
data: IProjects | null;
|
1086
1069
|
defaultIndex?: number;
|
@@ -1478,9 +1461,9 @@ declare interface ILearnosityQuestionScore {
|
|
1478
1461
|
unscored?: boolean;
|
1479
1462
|
}
|
1480
1463
|
|
1481
|
-
declare interface ILesson extends IBaseProject
|
1464
|
+
declare interface ILesson extends IBaseProject {
|
1482
1465
|
session_id: string;
|
1483
|
-
mini_game_identifier:
|
1466
|
+
mini_game_identifier: string;
|
1484
1467
|
target_questions: number;
|
1485
1468
|
status: 'pending' | 'completed';
|
1486
1469
|
}
|
@@ -1518,8 +1501,8 @@ declare interface ILessonsListProps extends ILessonItemCallbackProps {
|
|
1518
1501
|
lessonItemColorHue: THueNames;
|
1519
1502
|
}
|
1520
1503
|
|
1521
|
-
export declare interface ILessonWebGameProps extends IBaseWebGameProps
|
1522
|
-
miniGameIdentifier:
|
1504
|
+
export declare interface ILessonWebGameProps extends IBaseWebGameProps, ISyncableWebGameProps {
|
1505
|
+
miniGameIdentifier: string;
|
1523
1506
|
sessionId: string;
|
1524
1507
|
targetQuestions: number;
|
1525
1508
|
}
|
@@ -1942,7 +1925,8 @@ declare interface IMilestoneWidgetResourcesProps extends ISheetItemCallbackProps
|
|
1942
1925
|
canUpdatePlan?: boolean;
|
1943
1926
|
}
|
1944
1927
|
|
1945
|
-
export declare interface IMultiplayerWebGameProps extends IBaseWebGameProps
|
1928
|
+
export declare interface IMultiplayerWebGameProps extends IBaseWebGameProps, ISyncableWebGameProps {
|
1929
|
+
enablePlayerTurnIndicators?: boolean;
|
1946
1930
|
}
|
1947
1931
|
|
1948
1932
|
declare interface IMultiTabBlockerContextValue {
|
@@ -2153,6 +2137,7 @@ export declare interface IProjects {
|
|
2153
2137
|
games: IProject<Game>;
|
2154
2138
|
puzzles: IProject<Puzzle>;
|
2155
2139
|
lessons?: IProject<Lesson>;
|
2140
|
+
tables?: ITables;
|
2156
2141
|
}
|
2157
2142
|
|
2158
2143
|
declare interface IProjects_2 {
|
@@ -2168,6 +2153,10 @@ declare interface IProjects_2 {
|
|
2168
2153
|
label: string;
|
2169
2154
|
data: ILesson[];
|
2170
2155
|
};
|
2156
|
+
tables?: {
|
2157
|
+
label: string;
|
2158
|
+
data: ITables_2;
|
2159
|
+
};
|
2171
2160
|
}
|
2172
2161
|
|
2173
2162
|
declare interface IPublishData {
|
@@ -2175,7 +2164,7 @@ declare interface IPublishData {
|
|
2175
2164
|
eventPayload: IActionData;
|
2176
2165
|
}
|
2177
2166
|
|
2178
|
-
declare interface IPuzzle extends IBaseProject
|
2167
|
+
declare interface IPuzzle extends IBaseProject {
|
2179
2168
|
question: string;
|
2180
2169
|
is_hint_seen: boolean;
|
2181
2170
|
solved: boolean;
|
@@ -2209,7 +2198,7 @@ declare interface IPuzzleCard_2 {
|
|
2209
2198
|
programId: string;
|
2210
2199
|
}
|
2211
2200
|
|
2212
|
-
export declare interface IPuzzleWebGameProps extends IBaseWebGameProps
|
2201
|
+
export declare interface IPuzzleWebGameProps extends IBaseWebGameProps, ISyncableWebGameProps {
|
2213
2202
|
question: string;
|
2214
2203
|
askHintPermission?: boolean;
|
2215
2204
|
}
|
@@ -2572,6 +2561,48 @@ export declare const isV3Worksheet: (sheet: ISheetDataProps | TLPARSheetData, mo
|
|
2572
2561
|
|
2573
2562
|
export declare const isV3WorksheetAttempt: (attempt: IWorksheetAttemptModel) => boolean;
|
2574
2563
|
|
2564
|
+
declare interface ISyncableWebGameProps {
|
2565
|
+
joinByRoomId?: string;
|
2566
|
+
enableSync?: boolean;
|
2567
|
+
}
|
2568
|
+
|
2569
|
+
export declare interface ITable {
|
2570
|
+
tableList: ITableInfo[];
|
2571
|
+
infiniteModeHighScore: number;
|
2572
|
+
}
|
2573
|
+
|
2574
|
+
export declare interface ITableDetails {
|
2575
|
+
mode: TTableMode;
|
2576
|
+
tableNumber?: number;
|
2577
|
+
infiniteModeHighScore?: number;
|
2578
|
+
}
|
2579
|
+
|
2580
|
+
export declare interface ITableInfo {
|
2581
|
+
tableNumber: number;
|
2582
|
+
stars: TTableMode[];
|
2583
|
+
}
|
2584
|
+
|
2585
|
+
declare interface ITableInfo_2 {
|
2586
|
+
table_number: number;
|
2587
|
+
stars: ('advance' | 'random' | 'sequence')[];
|
2588
|
+
}
|
2589
|
+
|
2590
|
+
declare interface ITables {
|
2591
|
+
type: ProjectType;
|
2592
|
+
label: string;
|
2593
|
+
data: ITable;
|
2594
|
+
}
|
2595
|
+
|
2596
|
+
declare interface ITables_2 {
|
2597
|
+
table_wise_details: ITableInfo_2[];
|
2598
|
+
infinite_mode_high_score: number;
|
2599
|
+
}
|
2600
|
+
|
2601
|
+
export declare interface ITableWebGameProps extends IBaseWebGameProps {
|
2602
|
+
tableNumber: number;
|
2603
|
+
infiniteModeHighScore?: number;
|
2604
|
+
}
|
2605
|
+
|
2575
2606
|
declare interface ITabProps {
|
2576
2607
|
label: number | string;
|
2577
2608
|
$selected: boolean;
|
@@ -2958,8 +2989,8 @@ export declare interface IVibrationPattern {
|
|
2958
2989
|
|
2959
2990
|
export declare interface IWebViewProps extends IframeHTMLAttributes<HTMLIFrameElement> {
|
2960
2991
|
baseUrl: string;
|
2992
|
+
projectDetails: IMultiplayerWebGameProps | IPuzzleWebGameProps | ILessonWebGameProps | ITableWebGameProps;
|
2961
2993
|
parentDomain: string;
|
2962
|
-
projectDetails: IMultiplayerWebGameProps | IPuzzleWebGameProps | ILessonWebGameProps;
|
2963
2994
|
playerDetails: IPlayer;
|
2964
2995
|
onBack?: () => void;
|
2965
2996
|
onGameLoad?: () => void;
|
@@ -3255,9 +3286,9 @@ export declare const LearnosityPreloader: FC<PropsWithChildren<ILearnosityPreloa
|
|
3255
3286
|
|
3256
3287
|
export declare const LeftIcon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
|
3257
3288
|
|
3258
|
-
export declare interface Lesson extends BaseProject
|
3289
|
+
export declare interface Lesson extends BaseProject {
|
3259
3290
|
sessionId: string;
|
3260
|
-
miniGameIdentifier:
|
3291
|
+
miniGameIdentifier: string;
|
3261
3292
|
targetQuestions: number;
|
3262
3293
|
status: TSkillStatus;
|
3263
3294
|
}
|
@@ -3267,17 +3298,6 @@ declare const LESSON_TAG_TYPE: {
|
|
3267
3298
|
readonly DEFAULT: "DEFAULT";
|
3268
3299
|
};
|
3269
3300
|
|
3270
|
-
export declare enum LessonId {
|
3271
|
-
ANGLES = "angles",
|
3272
|
-
FRACTIONS = "fractions",
|
3273
|
-
TIME = "time",
|
3274
|
-
ADDITION_SUBTRACTION = "addition-subtraction",
|
3275
|
-
MULTIPLICATION_DIVISION = "multiplication-division",
|
3276
|
-
PERCENTAGES = "percentages",
|
3277
|
-
INTEGERS = "integers",
|
3278
|
-
RATIOS = "ratios"
|
3279
|
-
}
|
3280
|
-
|
3281
3301
|
export declare const loadScript: ILoadScript;
|
3282
3302
|
|
3283
3303
|
export declare const Lock2Icon: React_2.FC<React_2.SVGProps<SVGSVGElement>>;
|
@@ -3287,6 +3307,7 @@ export declare const LockIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
|
3287
3307
|
export declare const LOTTIE: {
|
3288
3308
|
ACCURACY_METER: string;
|
3289
3309
|
ACCURACY_NEEDLE: string;
|
3310
|
+
ADVANCE_MODE_SEGMENT_LOTTIE: string;
|
3290
3311
|
BEGINNER1X: string;
|
3291
3312
|
BRONZE_1: string;
|
3292
3313
|
BRONZE_2: string;
|
@@ -3310,6 +3331,8 @@ export declare const LOTTIE: {
|
|
3310
3331
|
GOLD_1: string;
|
3311
3332
|
GOLD_2: string;
|
3312
3333
|
GOLD_3: string;
|
3334
|
+
INFINITE_BUTTON_BG: string;
|
3335
|
+
INFINITE_BUTTON_SYMBOL: string;
|
3313
3336
|
LEVELUP_RINGS: string;
|
3314
3337
|
MEDIUM: string;
|
3315
3338
|
NUDGE_TAP: string;
|
@@ -3327,6 +3350,8 @@ export declare const LOTTIE: {
|
|
3327
3350
|
POINT5: string;
|
3328
3351
|
POINT60: string;
|
3329
3352
|
PROFICIENT1X: string;
|
3353
|
+
RANDOM_MODE_SEGMENT_LOTTIE: string;
|
3354
|
+
SEQUENCE_MODE_SEGMENT_LOTTIE: string;
|
3330
3355
|
SILVER_1: string;
|
3331
3356
|
SILVER_2: string;
|
3332
3357
|
SILVER_3: string;
|
@@ -3334,6 +3359,7 @@ export declare const LOTTIE: {
|
|
3334
3359
|
SPINNER_WHITE: string;
|
3335
3360
|
SPLASH_SCREEN: string;
|
3336
3361
|
STAY_CONNECTED_LOTTIE: string;
|
3362
|
+
TABLE_MODE_REVEAL: string;
|
3337
3363
|
TEACHER_VALIDATION: string;
|
3338
3364
|
TOTAL_STREAK: string;
|
3339
3365
|
TOTAL_TIME: string;
|
@@ -3362,23 +3388,6 @@ export declare const MilestoneOutcome: React_2.FC<IMilestoneOutcomeContainer>;
|
|
3362
3388
|
|
3363
3389
|
export declare const MilestoneStart: React_2.FC<IMilestoneStartProps>;
|
3364
3390
|
|
3365
|
-
export declare enum MiniGameId {
|
3366
|
-
SNAKE = "snake",
|
3367
|
-
BASKETBALL = "basketball",
|
3368
|
-
REARRANGE = "rearrange",
|
3369
|
-
CAR_RACE = "car-race",
|
3370
|
-
DROP_ME = "drop-me",
|
3371
|
-
WARZONE = "warzone",
|
3372
|
-
SLOT_MACHINE = "slot-machine",
|
3373
|
-
SLING_SHOT = "sling-shot",
|
3374
|
-
CLOCK = "clock",
|
3375
|
-
MINING = "mining",
|
3376
|
-
SHADING_AREA = "shading-area",
|
3377
|
-
MAGIC_HAT = "magic-hat",
|
3378
|
-
PUZZLE = "puzzle",
|
3379
|
-
BALANCE = "balance"
|
3380
|
-
}
|
3381
|
-
|
3382
3391
|
export declare const Minus2Icon: React.FC<React.SVGProps<SVGSVGElement>>;
|
3383
3392
|
|
3384
3393
|
export declare const MinusIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
@@ -3582,36 +3591,6 @@ export declare const PreviewWorksheet: FC<IPreviewWorksheetProps>;
|
|
3582
3591
|
|
3583
3592
|
export declare const ProgressIcon: React.FC<React.SVGProps<SVGSVGElement>>;
|
3584
3593
|
|
3585
|
-
export declare const ProjectId: {
|
3586
|
-
readonly ANGLES: LessonId.ANGLES;
|
3587
|
-
readonly FRACTIONS: LessonId.FRACTIONS;
|
3588
|
-
readonly TIME: LessonId.TIME;
|
3589
|
-
readonly ADDITION_SUBTRACTION: LessonId.ADDITION_SUBTRACTION;
|
3590
|
-
readonly MULTIPLICATION_DIVISION: LessonId.MULTIPLICATION_DIVISION;
|
3591
|
-
readonly PERCENTAGES: LessonId.PERCENTAGES;
|
3592
|
-
readonly INTEGERS: LessonId.INTEGERS;
|
3593
|
-
readonly RATIOS: LessonId.RATIOS;
|
3594
|
-
readonly CUT_THE_STRIP: PuzzleId.CUT_THE_STRIP;
|
3595
|
-
readonly ONE_LINE_WONDER: PuzzleId.ONE_LINE_WONDER;
|
3596
|
-
readonly FLIP_IT_UP: PuzzleId.FLIP_IT_UP;
|
3597
|
-
readonly CARS_IN_CHAOS: PuzzleId.CARS_IN_CHAOS;
|
3598
|
-
readonly REFLEKT: PuzzleId.REFLEKT;
|
3599
|
-
readonly MATCHSTICKS: PuzzleId.MATCHSTICKS;
|
3600
|
-
readonly NO_CROSS: PuzzleId.NO_CROSS;
|
3601
|
-
readonly DISSECTION: PuzzleId.DISSECTION;
|
3602
|
-
readonly CHESS_MOVES: GameId.CHESS_MOVES;
|
3603
|
-
readonly NO_ATTACK: GameId.NO_ATTACK;
|
3604
|
-
readonly TROMINOS: GameId.TROMINOS;
|
3605
|
-
readonly NIMS_GAME: GameId.NIMS_GAME;
|
3606
|
-
readonly TRANSFORMATION: GameId.TRANSFORMATION;
|
3607
|
-
readonly LIGHTS_ON_OR_OFF: GameId.LIGHTS_ON_OR_OFF;
|
3608
|
-
readonly LIQUID_WARS: GameId.LIQUID_WARS;
|
3609
|
-
readonly HACKENBUSH: GameId.HACKENBUSH;
|
3610
|
-
readonly SQUARE_IT: GameId.SQUARE_IT;
|
3611
|
-
readonly CLASH_OF_COLOURS: GameId.CLASH_OF_COLOURS;
|
3612
|
-
readonly REACH: GameId.REACH;
|
3613
|
-
};
|
3614
|
-
|
3615
3594
|
export declare enum ProjectOutcome {
|
3616
3595
|
WIN = "win",
|
3617
3596
|
LOSE = "lose",
|
@@ -3626,10 +3605,11 @@ export declare enum ProjectOutcome {
|
|
3626
3605
|
export declare enum ProjectType {
|
3627
3606
|
GAME = "game",
|
3628
3607
|
PUZZLE = "puzzle",
|
3629
|
-
LESSON = "lesson"
|
3608
|
+
LESSON = "lesson",
|
3609
|
+
TABLE = "table"
|
3630
3610
|
}
|
3631
3611
|
|
3632
|
-
export declare interface Puzzle extends BaseProject
|
3612
|
+
export declare interface Puzzle extends BaseProject {
|
3633
3613
|
question: string;
|
3634
3614
|
isHintSeen: boolean;
|
3635
3615
|
solved: boolean;
|
@@ -3650,17 +3630,6 @@ declare const PUZZLE_CARD_STATE: {
|
|
3650
3630
|
|
3651
3631
|
declare const PUZZLE_CARDS: "puzzle_cards";
|
3652
3632
|
|
3653
|
-
export declare enum PuzzleId {
|
3654
|
-
CUT_THE_STRIP = "cut-the-strip",
|
3655
|
-
ONE_LINE_WONDER = "one-line-wonder",
|
3656
|
-
FLIP_IT_UP = "flip-it-up",
|
3657
|
-
CARS_IN_CHAOS = "cars-in-chaos",
|
3658
|
-
REFLEKT = "reflekt",
|
3659
|
-
MATCHSTICKS = "matchsticks",
|
3660
|
-
NO_CROSS = "no-cross",
|
3661
|
-
DISSECTION = "dissection"
|
3662
|
-
}
|
3663
|
-
|
3664
3633
|
export declare const PYTHON_NODE_TYPES: {
|
3665
3634
|
readonly PPT_BASIC: "PPT_BASIC";
|
3666
3635
|
readonly PPT_CONTENT: "PPT_CONTENT";
|
@@ -4527,8 +4496,6 @@ declare type TPreference = {
|
|
4527
4496
|
|
4528
4497
|
declare type TPreferenceCategory = (typeof PREFERENCE_CATEGORY)[keyof typeof PREFERENCE_CATEGORY];
|
4529
4498
|
|
4530
|
-
export declare type TProject = GameId | PuzzleId | LessonId;
|
4531
|
-
|
4532
4499
|
declare type TPublish = (data: IPublishData) => boolean | undefined;
|
4533
4500
|
|
4534
4501
|
declare type TPublishMouseMove = (points: IPointerData) => void;
|
@@ -4711,6 +4678,8 @@ declare type TSubscribe = (id: string, cb: (data: IActionData | IActionData[]) =
|
|
4711
4678
|
|
4712
4679
|
declare type TSubscribeMouseMove = (id: string, callback: (data: IPointerData) => void) => void;
|
4713
4680
|
|
4681
|
+
export declare type TTableMode = 'random' | 'sequence' | 'advance' | 'infinite';
|
4682
|
+
|
4714
4683
|
export declare type TTabSizes = 'xsmall' | 'small' | 'regular' | 'medium';
|
4715
4684
|
|
4716
4685
|
export declare type TTabVariants = 'primary';
|