@cuemath/leap 3.2.9-link.0 → 3.2.9-pzd-0.1-testing

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 (185) hide show
  1. package/dist/assets/illustrations/illustrations.js +1 -6
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/lottie/lottie.js +5 -9
  4. package/dist/assets/lottie/lottie.js.map +1 -1
  5. package/dist/features/analytics-events/platform-events-student.js +2 -1
  6. package/dist/features/analytics-events/platform-events-student.js.map +1 -1
  7. package/dist/features/analytics-events/platform-events-teacher.js +6 -4
  8. package/dist/features/analytics-events/platform-events-teacher.js.map +1 -1
  9. package/dist/features/analytics-events/whitelist-events.js +10 -8
  10. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  11. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +12 -17
  12. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  13. package/dist/features/auth/comps/resend-otp/resend-otp.js +47 -54
  14. package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
  15. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js +17 -29
  16. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js.map +1 -1
  17. package/dist/features/auth/comps/tabs/tabs-styled.js +10 -22
  18. package/dist/features/auth/comps/tabs/tabs-styled.js.map +1 -1
  19. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +19 -19
  20. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
  21. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js +2 -2
  22. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js.map +1 -1
  23. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js +1 -1
  24. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js.map +1 -1
  25. package/dist/features/circle-games/sign-up/constants.js +3 -1
  26. package/dist/features/circle-games/sign-up/constants.js.map +1 -1
  27. package/dist/features/communication/pub-sub/constants.js +7 -4
  28. package/dist/features/communication/pub-sub/constants.js.map +1 -1
  29. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +42 -42
  30. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  31. package/dist/features/homework/homework-card-view.js +85 -97
  32. package/dist/features/homework/homework-card-view.js.map +1 -1
  33. package/dist/features/homework/homework-card.js +44 -42
  34. package/dist/features/homework/homework-card.js.map +1 -1
  35. package/dist/features/homework/hw-card-list/hw-card-list-view.js +31 -29
  36. package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
  37. package/dist/features/homework/hw-card-list/hw-card-list.js +57 -50
  38. package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -1
  39. package/dist/features/homework/utils.js +33 -27
  40. package/dist/features/homework/utils.js.map +1 -1
  41. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js +17 -11
  42. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js.map +1 -1
  43. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-assigned.js +72 -0
  44. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-assigned.js.map +1 -0
  45. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.js +59 -0
  46. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.js.map +1 -0
  47. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js +63 -0
  48. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js.map +1 -0
  49. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-intro-journey.js +67 -0
  50. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-intro-journey.js.map +1 -0
  51. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-progress-journey.js +70 -0
  52. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-progress-journey.js.map +1 -0
  53. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-review-journey.js +59 -0
  54. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-review-journey.js.map +1 -0
  55. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey.js +59 -0
  56. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey.js.map +1 -0
  57. package/dist/features/journey/hooks/use-puzzles-journey/use-teacher-puzzle-assigned-journey.js +70 -0
  58. package/dist/features/journey/hooks/use-puzzles-journey/use-teacher-puzzle-assigned-journey.js.map +1 -0
  59. package/dist/features/journey/journey-id/journey-id-student.js +2 -2
  60. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  61. package/dist/features/journey/journey-id/journey-id-teacher.js +2 -2
  62. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
  63. package/dist/features/puzzles/api/puzzle-dashboard.js +10 -0
  64. package/dist/features/puzzles/api/puzzle-dashboard.js.map +1 -0
  65. package/dist/features/puzzles/comps/puzzle-card-styled.js +24 -69
  66. package/dist/features/puzzles/comps/puzzle-card-styled.js.map +1 -1
  67. package/dist/features/puzzles/comps/puzzle-card.js +72 -30
  68. package/dist/features/puzzles/comps/puzzle-card.js.map +1 -1
  69. package/dist/features/puzzles/constants/puzzle-container.js +8 -0
  70. package/dist/features/puzzles/constants/puzzle-container.js.map +1 -0
  71. package/dist/features/puzzles/puzzle-analytics-events.js +11 -0
  72. package/dist/features/puzzles/puzzle-analytics-events.js.map +1 -0
  73. package/dist/features/puzzles/puzzle-container/puzzle-container-styled.js +55 -25
  74. package/dist/features/puzzles/puzzle-container/puzzle-container-styled.js.map +1 -1
  75. package/dist/features/puzzles/puzzle-container/puzzle-container-view.js +55 -0
  76. package/dist/features/puzzles/puzzle-container/puzzle-container-view.js.map +1 -0
  77. package/dist/features/puzzles/puzzle-container/puzzle-container.js +98 -108
  78. package/dist/features/puzzles/puzzle-container/puzzle-container.js.map +1 -1
  79. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard-styled.js +37 -0
  80. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard-styled.js.map +1 -0
  81. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js +110 -0
  82. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js.map +1 -0
  83. package/dist/features/puzzles/utils/puzzle-pattern.js +28 -13
  84. package/dist/features/puzzles/utils/puzzle-pattern.js.map +1 -1
  85. package/dist/features/ui/error/error.js +65 -27
  86. package/dist/features/ui/error/error.js.map +1 -1
  87. package/dist/features/ui/image/image.js +1 -1
  88. package/dist/features/ui/image/image.js.map +1 -1
  89. package/dist/features/ui/inputs/base-input/base-input.js +11 -11
  90. package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
  91. package/dist/features/ui/inputs/text-input/text-input.js +18 -19
  92. package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
  93. package/dist/features/ui/modals/modal-styled.js +35 -28
  94. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  95. package/dist/features/ui/modals/modal.js +40 -14
  96. package/dist/features/ui/modals/modal.js.map +1 -1
  97. package/dist/features/ui/streak-icon/streak-icon-styled.js +13 -13
  98. package/dist/features/ui/streak-icon/streak-icon-styled.js.map +1 -1
  99. package/dist/features/ui/streak-icon/streak-icon.js +17 -15
  100. package/dist/features/ui/streak-icon/streak-icon.js.map +1 -1
  101. package/dist/features/ui/theme/button.js +78 -78
  102. package/dist/features/ui/theme/button.js.map +1 -1
  103. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js +28 -0
  104. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js.map +1 -0
  105. package/dist/features/worksheet/worksheet/worksheet-helpers.js +20 -19
  106. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  107. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js +29 -25
  108. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  109. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js +97 -47
  110. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
  111. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +204 -196
  112. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  113. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +242 -207
  114. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  115. package/dist/features/worksheet/worksheet/worksheet-styled.js +37 -37
  116. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  117. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  118. package/dist/features/worksheet/worksheet/worksheet.js +307 -313
  119. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  120. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +1 -1
  121. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  122. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +44 -35
  123. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  124. package/dist/index.d.ts +89 -97
  125. package/dist/index.js +517 -531
  126. package/dist/index.js.map +1 -1
  127. package/dist/static/puzzle-blue-lottie.7017e2e8.json +1 -0
  128. package/dist/static/puzzle-blue-lottie.bf64ebc5.json +12760 -0
  129. package/dist/static/puzzle-dashboard-banner.b7956519.svg +1 -0
  130. package/dist/static/puzzle-green-lottie.1da90698.json +1 -0
  131. package/dist/static/puzzle-orange-lottie.cfcf3724.json +1 -0
  132. package/dist/static/puzzle-purple-lottie.e70de110.json +9860 -0
  133. package/dist/static/puzzle-yellow-lottie.275b5cf4.json +1 -0
  134. package/package.json +3 -2
  135. package/dist/assets/line-icons/icons/after-noon.js +0 -34
  136. package/dist/assets/line-icons/icons/after-noon.js.map +0 -1
  137. package/dist/assets/line-icons/icons/apple-icon-white.js +0 -42
  138. package/dist/assets/line-icons/icons/apple-icon-white.js.map +0 -1
  139. package/dist/assets/line-icons/icons/evening.js +0 -35
  140. package/dist/assets/line-icons/icons/evening.js.map +0 -1
  141. package/dist/assets/line-icons/icons/morning.js +0 -35
  142. package/dist/assets/line-icons/icons/morning.js.map +0 -1
  143. package/dist/assets/line-icons/icons/star3.js +0 -32
  144. package/dist/assets/line-icons/icons/star3.js.map +0 -1
  145. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js +0 -12
  146. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js.map +0 -1
  147. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +0 -33
  148. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +0 -1
  149. package/dist/features/auth/comps/otp-input/otp-input-styled.js +0 -22
  150. package/dist/features/auth/comps/otp-input/otp-input-styled.js.map +0 -1
  151. package/dist/features/auth/comps/otp-input/otp-input.js +0 -51
  152. package/dist/features/auth/comps/otp-input/otp-input.js.map +0 -1
  153. package/dist/features/auth/comps/pill-button/pill-button-styled.js +0 -63
  154. package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +0 -1
  155. package/dist/features/auth/comps/pill-button/pill-button.js +0 -66
  156. package/dist/features/auth/comps/pill-button/pill-button.js.map +0 -1
  157. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js +0 -17
  158. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js.map +0 -1
  159. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js +0 -60
  160. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js.map +0 -1
  161. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-constants.js +0 -19
  162. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-constants.js.map +0 -1
  163. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-styled.js +0 -22
  164. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-styled.js.map +0 -1
  165. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide.js +0 -18
  166. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide.js.map +0 -1
  167. package/dist/features/auth/signup-v2/signup-header/signup-header.js +0 -25
  168. package/dist/features/auth/signup-v2/signup-header/signup-header.js.map +0 -1
  169. package/dist/features/auth/signup-v2/signup-options/signup-options.js +0 -71
  170. package/dist/features/auth/signup-v2/signup-options/signup-options.js.map +0 -1
  171. package/dist/static/calendar-purple.1a840b41.svg +0 -1
  172. package/dist/static/flying-disk.c7f6ed39.json +0 -1
  173. package/dist/static/graduation-cap.3be3340a.json +0 -1
  174. package/dist/static/handshake.287e7dfb.svg +0 -1
  175. package/dist/static/light-bulb.c6db0b23.json +0 -1
  176. package/dist/static/money.332aacf1.svg +0 -1
  177. package/dist/static/muscle.9bcfb8a7.json +0 -1
  178. package/dist/static/parent-avatar.822c7b9b.svg +0 -1
  179. package/dist/static/pencil.23df9da0.json +0 -1
  180. package/dist/static/plus-sign.de6af957.json +0 -1
  181. package/dist/static/racing-car.2cbf864e.json +0 -1
  182. package/dist/static/rocket.0a3ccab0.json +0 -1
  183. package/dist/static/shovel.abeec04c.json +0 -1
  184. package/dist/static/stripe-blurple.6abf422f.svg +0 -1
  185. package/dist/static/trustpilot.bd3d79e1.svg +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"hw-card-list.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../../chapters-v2/comps/node-card/node-card-types';\nimport type { IHomepageStartJourneyProps } from '../../journey/hooks/use-home-page-journey/homepage-journey-types';\nimport type { TUserTypes } from '../../ui/types';\n\nimport React, { memo, useCallback, useEffect } from 'react';\n\nimport { useJourney } from '../../journey/use-journey/use-journey';\nimport { useGetHomeworks } from './api/get-homeworks';\nimport HwCardListView from './hw-card-list-view';\n\ninterface HWCardListProps extends INodeCardCallbacks {\n userType: TUserTypes;\n studentId: string;\n stream: string;\n onTestPreview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n onTestStart?: (sheetData: INodeDataProps, homeworkId?: string) => void;\n onTestReview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n homeworkRef?: React.RefObject<HTMLDivElement>;\n startHomePageJourney?: ({ studentId, stream, userType }: IHomepageStartJourneyProps) => void;\n canStartJourney?: boolean;\n}\n\nconst HWCardList: React.FC<HWCardListProps> = ({\n userType,\n studentId,\n stream,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n homeworkRef,\n startHomePageJourney,\n canStartJourney,\n}) => {\n const {\n get: getHomeworks,\n data: hwDetails,\n isProcessingFailed,\n isProcessing,\n isProcessed,\n isStale,\n } = useGetHomeworks(studentId);\n const { isJourneyActive } = useJourney();\n\n useEffect(() => {\n if (isProcessed && startHomePageJourney && !isJourneyActive && canStartJourney) {\n startHomePageJourney({ studentId, stream, userType });\n }\n }, [\n canStartJourney,\n isJourneyActive,\n isProcessed,\n startHomePageJourney,\n stream,\n studentId,\n userType,\n ]);\n\n const fetchHomeworks = useCallback(() => {\n getHomeworks(studentId, undefined, { stream });\n }, [getHomeworks, stream, studentId]);\n\n useEffect(() => {\n if (!isProcessing && isStale) {\n fetchHomeworks();\n }\n }, [fetchHomeworks, isProcessing, isStale]);\n\n useEffect(() => {\n fetchHomeworks();\n }, [fetchHomeworks]);\n\n if (isProcessingFailed) {\n return null;\n }\n\n return (\n <div ref={homeworkRef}>\n <HwCardListView\n isHwProcessing={isProcessing}\n hwDetails={hwDetails}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onTestPreview={onTestPreview}\n onNodeView={onNodeView}\n onTestReview={onTestReview}\n onNodeReview={onNodeReview}\n onNodeUnassign={onNodeUnassign}\n userType={userType}\n studentId={studentId}\n />\n </div>\n );\n};\n\nexport default memo(HWCardList);\n"],"names":["HWCardList","userType","studentId","stream","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","homeworkRef","startHomePageJourney","canStartJourney","getHomeworks","hwDetails","isProcessingFailed","isProcessing","isProcessed","isStale","useGetHomeworks","isJourneyActive","useJourney","useEffect","fetchHomeworks","useCallback","jsx","HwCardListView","hwCardList","memo"],"mappings":";;;;;AAyBA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,iBAAAC;AACF,MAAM;AACE,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,oBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,IACEC,EAAgBlB,CAAS,GACvB,EAAE,iBAAAmB,MAAoBC;AAE5B,EAAAC,EAAU,MAAM;AACd,IAAIL,KAAeN,KAAwB,CAACS,KAAmBR,KAC7DD,EAAqB,EAAE,WAAAV,GAAW,QAAAC,GAAQ,UAAAF,EAAU,CAAA;AAAA,EACtD,GACC;AAAA,IACDY;AAAA,IACAQ;AAAA,IACAH;AAAA,IACAN;AAAA,IACAT;AAAA,IACAD;AAAA,IACAD;AAAA,EAAA,CACD;AAEK,QAAAuB,IAAiBC,EAAY,MAAM;AACvC,IAAAX,EAAaZ,GAAW,QAAW,EAAE,QAAAC,EAAQ,CAAA;AAAA,EAC5C,GAAA,CAACW,GAAcX,GAAQD,CAAS,CAAC;AAYpC,SAVAqB,EAAU,MAAM;AACV,IAAA,CAACN,KAAgBE,KACJK;EAEhB,GAAA,CAACA,GAAgBP,GAAcE,CAAO,CAAC,GAE1CI,EAAU,MAAM;AACC,IAAAC;EAAA,GACd,CAACA,CAAc,CAAC,GAEfR,IACK,OAIP,gBAAAU,EAAC,OAAI,EAAA,KAAKf,GACR,UAAA,gBAAAe;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAgBV;AAAA,MAChB,WAAAF;AAAA,MACA,aAAAX;AAAA,MACA,eAAAC;AAAA,MACA,eAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,UAAAT;AAAA,MACA,WAAAC;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ,GAEe0B,IAAAC,EAAK7B,CAAU;"}
1
+ {"version":3,"file":"hw-card-list.js","sources":["../../../../src/features/homework/hw-card-list/hw-card-list.tsx"],"sourcesContent":["import type {\n INodeCardCallbacks,\n INodeDataProps,\n} from '../../chapters-v2/comps/node-card/node-card-types';\nimport type { IHomepageStartJourneyProps } from '../../journey/hooks/use-home-page-journey/homepage-journey-types';\nimport type { TUserTypes } from '../../ui/types';\n\nimport React, { memo, useCallback, useEffect } from 'react';\n\nimport { usePuzzleAssignedJourney } from '../../journey/hooks/use-puzzles-journey/use-puzzle-assigned';\nimport { useJourney } from '../../journey/use-journey/use-journey';\nimport { getPuzzleCardData } from '../utils';\nimport { useGetHomeworks } from './api/get-homeworks';\nimport HwCardListView from './hw-card-list-view';\n\ninterface HWCardListProps extends INodeCardCallbacks {\n userType: TUserTypes;\n studentId: string;\n stream: string;\n onTestPreview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n onTestStart?: (sheetData: INodeDataProps, homeworkId?: string) => void;\n onTestReview?: (sheetData: INodeDataProps, milestoneId?: string) => void;\n homeworkRef?: React.RefObject<HTMLDivElement>;\n startHomePageJourney?: ({ studentId, stream, userType }: IHomepageStartJourneyProps) => void;\n canStartJourney?: boolean;\n canStartPuzzleAssignedJourney?: boolean;\n}\n\nconst HWCardList: React.FC<HWCardListProps> = ({\n userType,\n studentId,\n stream,\n onTestStart,\n onNodeAttempt,\n onTestPreview,\n onNodeView,\n onTestReview,\n onNodeReview,\n onNodeUnassign,\n homeworkRef,\n startHomePageJourney,\n canStartJourney,\n canStartPuzzleAssignedJourney,\n}) => {\n const {\n get: getHomeworks,\n data: hwDetails,\n isProcessingFailed,\n isProcessing,\n isProcessed,\n isStale,\n } = useGetHomeworks(studentId);\n const { isJourneyActive } = useJourney();\n\n const { puzzleHWCardRef, startJourney: startPuzzleAssignedJourney } = usePuzzleAssignedJourney();\n\n useEffect(() => {\n if (isProcessed && startHomePageJourney && !isJourneyActive && canStartJourney) {\n startHomePageJourney({ studentId, stream, userType });\n }\n }, [\n canStartJourney,\n isJourneyActive,\n isProcessed,\n startHomePageJourney,\n stream,\n studentId,\n userType,\n ]);\n\n const fetchHomeworks = useCallback(() => {\n getHomeworks(studentId, undefined, { stream });\n }, [getHomeworks, stream, studentId]);\n\n useEffect(() => {\n if (!isProcessing && isStale) {\n fetchHomeworks();\n }\n }, [fetchHomeworks, isProcessing, isStale]);\n\n useEffect(() => {\n fetchHomeworks();\n }, [fetchHomeworks]);\n\n useEffect(() => {\n const nodeData = getPuzzleCardData(hwDetails);\n\n if (\n canStartPuzzleAssignedJourney &&\n !isJourneyActive &&\n startPuzzleAssignedJourney &&\n nodeData\n ) {\n startPuzzleAssignedJourney(nodeData);\n }\n }, [canStartPuzzleAssignedJourney, hwDetails, isJourneyActive, startPuzzleAssignedJourney]);\n\n if (isProcessingFailed) {\n return null;\n }\n\n return (\n <div ref={homeworkRef}>\n <HwCardListView\n isHwProcessing={isProcessing}\n hwDetails={hwDetails}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onTestPreview={onTestPreview}\n onNodeView={onNodeView}\n onTestReview={onTestReview}\n onNodeReview={onNodeReview}\n onNodeUnassign={onNodeUnassign}\n userType={userType}\n studentId={studentId}\n puzzleHWCardRef={puzzleHWCardRef}\n />\n </div>\n );\n};\n\nexport default memo(HWCardList);\n"],"names":["HWCardList","userType","studentId","stream","onTestStart","onNodeAttempt","onTestPreview","onNodeView","onTestReview","onNodeReview","onNodeUnassign","homeworkRef","startHomePageJourney","canStartJourney","canStartPuzzleAssignedJourney","getHomeworks","hwDetails","isProcessingFailed","isProcessing","isProcessed","isStale","useGetHomeworks","isJourneyActive","useJourney","puzzleHWCardRef","startPuzzleAssignedJourney","usePuzzleAssignedJourney","useEffect","fetchHomeworks","useCallback","nodeData","getPuzzleCardData","jsx","HwCardListView","hwCardList","memo"],"mappings":";;;;;;;AA4BA,MAAMA,IAAwC,CAAC;AAAA,EAC7C,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,+BAAAC;AACF,MAAM;AACE,QAAA;AAAA,IACJ,KAAKC;AAAA,IACL,MAAMC;AAAA,IACN,oBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,EAAA,IACEC,EAAgBnB,CAAS,GACvB,EAAE,iBAAAoB,MAAoBC,KAEtB,EAAE,iBAAAC,GAAiB,cAAcC,MAA+BC,EAAyB;AAE/F,EAAAC,EAAU,MAAM;AACd,IAAIR,KAAeP,KAAwB,CAACU,KAAmBT,KAC7DD,EAAqB,EAAE,WAAAV,GAAW,QAAAC,GAAQ,UAAAF,EAAU,CAAA;AAAA,EACtD,GACC;AAAA,IACDY;AAAA,IACAS;AAAA,IACAH;AAAA,IACAP;AAAA,IACAT;AAAA,IACAD;AAAA,IACAD;AAAA,EAAA,CACD;AAEK,QAAA2B,IAAiBC,EAAY,MAAM;AACvC,IAAAd,EAAab,GAAW,QAAW,EAAE,QAAAC,EAAQ,CAAA;AAAA,EAC5C,GAAA,CAACY,GAAcZ,GAAQD,CAAS,CAAC;AAyBpC,SAvBAyB,EAAU,MAAM;AACV,IAAA,CAACT,KAAgBE,KACJQ;EAEhB,GAAA,CAACA,GAAgBV,GAAcE,CAAO,CAAC,GAE1CO,EAAU,MAAM;AACC,IAAAC;EAAA,GACd,CAACA,CAAc,CAAC,GAEnBD,EAAU,MAAM;AACR,UAAAG,IAAWC,EAAkBf,CAAS;AAE5C,IACEF,KACA,CAACQ,KACDG,KACAK,KAEAL,EAA2BK,CAAQ;AAAA,KAEpC,CAAChB,GAA+BE,GAAWM,GAAiBG,CAA0B,CAAC,GAEtFR,IACK,OAIP,gBAAAe,EAAC,OAAI,EAAA,KAAKrB,GACR,UAAA,gBAAAqB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAgBf;AAAA,MAChB,WAAAF;AAAA,MACA,aAAAZ;AAAA,MACA,eAAAC;AAAA,MACA,eAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,UAAAT;AAAA,MACA,WAAAC;AAAA,MACA,iBAAAsB;AAAA,IAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ,GAEeU,IAAAC,EAAKnC,CAAU;"}
@@ -1,48 +1,54 @@
1
1
  import { TESTS_CREATION_ANALYTICS_EVENTS as l } from "../milestone/milestone-tests/tests-creation/tests-creation-analytics-events.js";
2
- import { NODE_TYPE as E } from "../sheets/constants/sheet.js";
2
+ import { NODE_TYPE as n } from "../sheets/constants/sheet.js";
3
3
  import { HOMEWORK_ANALYTICS_EVENTS as c } from "./homework-analytics-events.js";
4
4
  const y = ({
5
- canResume: a,
6
- canStart: i,
7
- homeworkId: e,
8
- isHomeWork: _,
9
- isStudent: o,
10
- milestoneId: n,
11
- nodeType: t,
12
- studentId: r,
13
- userNodeId: s
5
+ canResume: t,
6
+ canStart: e,
7
+ homeworkId: i,
8
+ isHomeWork: o,
9
+ isStudent: _,
10
+ milestoneId: s,
11
+ nodeType: r,
12
+ studentId: a,
13
+ userNodeId: d
14
14
  }) => {
15
- if (o) {
16
- if (_)
17
- return i || a ? {
15
+ if (_) {
16
+ if (o)
17
+ return e || t ? {
18
18
  analyticsLabel: c.HOMEWORK_ATTEMPTED,
19
- analyticsProps: { student_id: r, node_type: t, homework_id: e }
19
+ analyticsProps: { student_id: a, node_type: r, homework_id: i }
20
20
  } : {
21
21
  analyticsLabel: "homework-student-menu",
22
- analyticsProps: { student_id: r, node_type: t, homework_id: e }
22
+ analyticsProps: { student_id: a, node_type: r, homework_id: i }
23
23
  };
24
- if (i || a)
24
+ if (e || t)
25
25
  return {
26
- analyticsLabel: t === E.DYNAMIC ? l.CUSTOM_TEST_ATTEMPTED : "node-attempted",
26
+ analyticsLabel: r === n.DYNAMIC ? l.CUSTOM_TEST_ATTEMPTED : "node-attempted",
27
27
  analyticsProps: {
28
- student_id: r,
29
- node_type: t,
30
- user_node_id: s,
31
- milestone_id: n,
32
- can_start: i,
33
- can_resume: a
28
+ student_id: a,
29
+ node_type: r,
30
+ user_node_id: d,
31
+ milestone_id: s,
32
+ can_start: e,
33
+ can_resume: t
34
34
  }
35
35
  };
36
36
  }
37
- return _ ? {
37
+ return o ? {
38
38
  analyticsLabel: "homework-card-teacher",
39
- analyticsProps: { student_id: r, node_type: t }
39
+ analyticsProps: { student_id: a, node_type: r }
40
40
  } : {
41
41
  analyticsLabel: "goals-card-teacher",
42
- analyticsProps: { student_id: r, node_type: t }
42
+ analyticsProps: { student_id: a, node_type: r }
43
43
  };
44
+ }, T = (t) => {
45
+ if (!t)
46
+ return;
47
+ const { assigned_homeworks: e } = t;
48
+ return e.find((i) => i.node_type === n.PUZZLE_CARD);
44
49
  };
45
50
  export {
46
- y as getCardAnalyticProps
51
+ y as getCardAnalyticProps,
52
+ T as getPuzzleCardData
47
53
  };
48
54
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/features/homework/utils.ts"],"sourcesContent":["import type { TNodeTypes } from '../chapters-v2/comps/node-card/node-card-types';\n\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../milestone/milestone-tests/tests-creation/tests-creation-analytics-events';\nimport { NODE_TYPE } from '../sheets/constants/sheet';\nimport { HOMEWORK_ANALYTICS_EVENTS } from './homework-analytics-events';\n\ninterface IGetCardAnalyticProps {\n canResume: boolean;\n canStart: boolean;\n homeworkId?: string;\n isHomeWork: boolean;\n isStudent: boolean;\n milestoneId?: string;\n nodeType: TNodeTypes;\n studentId: string;\n userNodeId: string | null;\n}\n\nconst getCardAnalyticProps = ({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n}: IGetCardAnalyticProps) => {\n if (isStudent) {\n if (isHomeWork) {\n if (canStart || canResume) {\n return {\n analyticsLabel: HOMEWORK_ANALYTICS_EVENTS.HOMEWORK_ATTEMPTED,\n analyticsProps: { student_id: studentId, node_type: nodeType, homework_id: homeworkId },\n };\n }\n\n return {\n analyticsLabel: 'homework-student-menu',\n analyticsProps: { student_id: studentId, node_type: nodeType, homework_id: homeworkId },\n };\n }\n\n if (canStart || canResume) {\n return {\n analyticsLabel:\n nodeType === NODE_TYPE.DYNAMIC\n ? TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_ATTEMPTED\n : 'node-attempted',\n analyticsProps: {\n student_id: studentId,\n node_type: nodeType,\n user_node_id: userNodeId,\n milestone_id: milestoneId,\n can_start: canStart,\n can_resume: canResume,\n },\n };\n }\n }\n\n if (isHomeWork) {\n return {\n analyticsLabel: 'homework-card-teacher',\n analyticsProps: { student_id: studentId, node_type: nodeType },\n };\n }\n\n return {\n analyticsLabel: 'goals-card-teacher',\n analyticsProps: { student_id: studentId, node_type: nodeType },\n };\n};\n\nexport { getCardAnalyticProps };\n"],"names":["getCardAnalyticProps","canResume","canStart","homeworkId","isHomeWork","isStudent","milestoneId","nodeType","studentId","userNodeId","HOMEWORK_ANALYTICS_EVENTS","NODE_TYPE","TESTS_CREATION_ANALYTICS_EVENTS"],"mappings":";;;AAkBA,MAAMA,IAAuB,CAAC;AAAA,EAC5B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AACF,MAA6B;AAC3B,MAAIJ,GAAW;AACb,QAAID;AACF,aAAIF,KAAYD,IACP;AAAA,QACL,gBAAgBS,EAA0B;AAAA,QAC1C,gBAAgB,EAAE,YAAYF,GAAW,WAAWD,GAAU,aAAaJ,EAAW;AAAA,MAAA,IAInF;AAAA,QACL,gBAAgB;AAAA,QAChB,gBAAgB,EAAE,YAAYK,GAAW,WAAWD,GAAU,aAAaJ,EAAW;AAAA,MAAA;AAI1F,QAAID,KAAYD;AACP,aAAA;AAAA,QACL,gBACEM,MAAaI,EAAU,UACnBC,EAAgC,wBAChC;AAAA,QACN,gBAAgB;AAAA,UACd,YAAYJ;AAAA,UACZ,WAAWD;AAAA,UACX,cAAcE;AAAA,UACd,cAAcH;AAAA,UACd,WAAWJ;AAAA,UACX,YAAYD;AAAA,QACd;AAAA,MAAA;AAAA,EAGN;AAEA,SAAIG,IACK;AAAA,IACL,gBAAgB;AAAA,IAChB,gBAAgB,EAAE,YAAYI,GAAW,WAAWD,EAAS;AAAA,EAAA,IAI1D;AAAA,IACL,gBAAgB;AAAA,IAChB,gBAAgB,EAAE,YAAYC,GAAW,WAAWD,EAAS;AAAA,EAAA;AAEjE;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/features/homework/utils.ts"],"sourcesContent":["import type { TNodeTypes } from '../chapters-v2/comps/node-card/node-card-types';\nimport type { IHomeworkDetails } from './hw-card-list/api/get-homeworks';\n\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../milestone/milestone-tests/tests-creation/tests-creation-analytics-events';\nimport { NODE_TYPE } from '../sheets/constants/sheet';\nimport { HOMEWORK_ANALYTICS_EVENTS } from './homework-analytics-events';\n\ninterface IGetCardAnalyticProps {\n canResume: boolean;\n canStart: boolean;\n homeworkId?: string;\n isHomeWork: boolean;\n isStudent: boolean;\n milestoneId?: string;\n nodeType: TNodeTypes;\n studentId: string;\n userNodeId: string | null;\n}\n\nconst getCardAnalyticProps = ({\n canResume,\n canStart,\n homeworkId,\n isHomeWork,\n isStudent,\n milestoneId,\n nodeType,\n studentId,\n userNodeId,\n}: IGetCardAnalyticProps) => {\n if (isStudent) {\n if (isHomeWork) {\n if (canStart || canResume) {\n return {\n analyticsLabel: HOMEWORK_ANALYTICS_EVENTS.HOMEWORK_ATTEMPTED,\n analyticsProps: { student_id: studentId, node_type: nodeType, homework_id: homeworkId },\n };\n }\n\n return {\n analyticsLabel: 'homework-student-menu',\n analyticsProps: { student_id: studentId, node_type: nodeType, homework_id: homeworkId },\n };\n }\n\n if (canStart || canResume) {\n return {\n analyticsLabel:\n nodeType === NODE_TYPE.DYNAMIC\n ? TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_ATTEMPTED\n : 'node-attempted',\n analyticsProps: {\n student_id: studentId,\n node_type: nodeType,\n user_node_id: userNodeId,\n milestone_id: milestoneId,\n can_start: canStart,\n can_resume: canResume,\n },\n };\n }\n }\n\n if (isHomeWork) {\n return {\n analyticsLabel: 'homework-card-teacher',\n analyticsProps: { student_id: studentId, node_type: nodeType },\n };\n }\n\n return {\n analyticsLabel: 'goals-card-teacher',\n analyticsProps: { student_id: studentId, node_type: nodeType },\n };\n};\n\nconst getPuzzleCardData = (hwDetails?: IHomeworkDetails) => {\n if (!hwDetails) {\n return undefined;\n }\n\n const { assigned_homeworks: assignedHomework } = hwDetails;\n\n return assignedHomework.find(homework => homework.node_type === NODE_TYPE.PUZZLE_CARD);\n};\n\nexport { getCardAnalyticProps, getPuzzleCardData };\n"],"names":["getCardAnalyticProps","canResume","canStart","homeworkId","isHomeWork","isStudent","milestoneId","nodeType","studentId","userNodeId","HOMEWORK_ANALYTICS_EVENTS","NODE_TYPE","TESTS_CREATION_ANALYTICS_EVENTS","getPuzzleCardData","hwDetails","assignedHomework","homework"],"mappings":";;;AAmBA,MAAMA,IAAuB,CAAC;AAAA,EAC5B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AACF,MAA6B;AAC3B,MAAIJ,GAAW;AACb,QAAID;AACF,aAAIF,KAAYD,IACP;AAAA,QACL,gBAAgBS,EAA0B;AAAA,QAC1C,gBAAgB,EAAE,YAAYF,GAAW,WAAWD,GAAU,aAAaJ,EAAW;AAAA,MAAA,IAInF;AAAA,QACL,gBAAgB;AAAA,QAChB,gBAAgB,EAAE,YAAYK,GAAW,WAAWD,GAAU,aAAaJ,EAAW;AAAA,MAAA;AAI1F,QAAID,KAAYD;AACP,aAAA;AAAA,QACL,gBACEM,MAAaI,EAAU,UACnBC,EAAgC,wBAChC;AAAA,QACN,gBAAgB;AAAA,UACd,YAAYJ;AAAA,UACZ,WAAWD;AAAA,UACX,cAAcE;AAAA,UACd,cAAcH;AAAA,UACd,WAAWJ;AAAA,UACX,YAAYD;AAAA,QACd;AAAA,MAAA;AAAA,EAGN;AAEA,SAAIG,IACK;AAAA,IACL,gBAAgB;AAAA,IAChB,gBAAgB,EAAE,YAAYI,GAAW,WAAWD,EAAS;AAAA,EAAA,IAI1D;AAAA,IACL,gBAAgB;AAAA,IAChB,gBAAgB,EAAE,YAAYC,GAAW,WAAWD,EAAS;AAAA,EAAA;AAEjE,GAEMM,IAAoB,CAACC,MAAiC;AAC1D,MAAI,CAACA;AACI;AAGH,QAAA,EAAE,oBAAoBC,EAAqB,IAAAD;AAEjD,SAAOC,EAAiB,KAAK,CAAAC,MAAYA,EAAS,cAAcL,EAAU,WAAW;AACvF;"}
@@ -1,22 +1,28 @@
1
- import { jsxs as i, jsx as o, Fragment as l } from "react/jsx-runtime";
2
- import { memo as s } from "react";
3
- import n from "../../../ui/buttons/button/button.js";
4
- import d from "../../../ui/layout/flex-view.js";
5
- import p from "../../../ui/text/text.js";
6
- const a = ({ text: e, element: r, buttonLabel: t, onButtonClick: m }) => /* @__PURE__ */ i(d, { $flexRowGapX: 0.75, children: [
7
- r ? /* @__PURE__ */ o(l, { children: r }) : /* @__PURE__ */ o(p, { $renderAs: "ab2-bold", children: e }),
1
+ import { jsxs as l, jsx as o, Fragment as s } from "react/jsx-runtime";
2
+ import { memo as n } from "react";
3
+ import d from "../../../ui/buttons/button/button.js";
4
+ import p from "../../../ui/layout/flex-view.js";
5
+ import a from "../../../ui/text/text.js";
6
+ const c = ({
7
+ text: e,
8
+ element: r,
9
+ buttonLabel: t,
10
+ onButtonClick: m,
11
+ ctaWidth: i
12
+ }) => /* @__PURE__ */ l(p, { $flexRowGapX: 0.75, children: [
13
+ r ? /* @__PURE__ */ o(s, { children: r }) : /* @__PURE__ */ o(a, { $renderAs: "ab2-bold", children: e }),
8
14
  /* @__PURE__ */ o(
9
- n,
15
+ d,
10
16
  {
11
17
  label: t,
12
18
  size: "xsmall",
13
- widthX: 6,
19
+ width: i || 96,
14
20
  renderAs: "secondary",
15
21
  onClick: m
16
22
  }
17
23
  )
18
- ] }), w = s(a);
24
+ ] }), T = n(c);
19
25
  export {
20
- w as default
26
+ T as default
21
27
  };
22
28
  //# sourceMappingURL=tooltip-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-item.js","sources":["../../../../../src/features/journey/hooks/use-home-page-journey/tooltip-item.tsx"],"sourcesContent":["import type { JSX } from 'react';\n\nimport { memo } from 'react';\n\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\n\ninterface ITooltipItemProps {\n text?: string;\n element?: JSX.Element;\n buttonLabel: string;\n onButtonClick: () => void;\n}\n\nconst TooltipItem = ({ text, element, buttonLabel, onButtonClick }: ITooltipItemProps) => (\n <FlexView $flexRowGapX={0.75}>\n {element ? <>{element}</> : <Text $renderAs=\"ab2-bold\">{text}</Text>}\n <Button\n label={buttonLabel}\n size=\"xsmall\"\n widthX={6}\n renderAs=\"secondary\"\n onClick={onButtonClick}\n />\n </FlexView>\n);\n\nexport default memo(TooltipItem);\n"],"names":["TooltipItem","text","element","buttonLabel","onButtonClick","jsxs","FlexView","Text","jsx","Button","TooltipItem$1","memo"],"mappings":";;;;;AAeA,MAAMA,IAAc,CAAC,EAAE,MAAAC,GAAM,SAAAC,GAAS,aAAAC,GAAa,eAAAC,QACjD,gBAAAC,EAACC,GAAS,EAAA,cAAc,MACrB,UAAA;AAAA,EAAAJ,2BAAa,UAAQA,EAAA,CAAA,sBAAOK,GAAK,EAAA,WAAU,YAAY,UAAKN,EAAA,CAAA;AAAA,EAC7D,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAON;AAAA,MACP,MAAK;AAAA,MACL,QAAQ;AAAA,MACR,UAAS;AAAA,MACT,SAASC;AAAA,IAAA;AAAA,EACX;AAAA,EACF,CAAA,GAGaM,IAAAC,EAAKX,CAAW;"}
1
+ {"version":3,"file":"tooltip-item.js","sources":["../../../../../src/features/journey/hooks/use-home-page-journey/tooltip-item.tsx"],"sourcesContent":["import type { JSX } from 'react';\n\nimport { memo } from 'react';\n\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\n\ninterface ITooltipItemProps {\n text?: string;\n element?: JSX.Element;\n buttonLabel: string;\n onButtonClick: () => void;\n ctaWidth?: string;\n}\n\nconst TooltipItem = ({\n text,\n element,\n buttonLabel,\n onButtonClick,\n ctaWidth,\n}: ITooltipItemProps) => (\n <FlexView $flexRowGapX={0.75}>\n {element ? <>{element}</> : <Text $renderAs=\"ab2-bold\">{text}</Text>}\n <Button\n label={buttonLabel}\n size=\"xsmall\"\n width={ctaWidth || 96}\n renderAs=\"secondary\"\n onClick={onButtonClick}\n />\n </FlexView>\n);\n\nexport default memo(TooltipItem);\n"],"names":["TooltipItem","text","element","buttonLabel","onButtonClick","ctaWidth","jsxs","FlexView","Text","jsx","Button","TooltipItem$1","memo"],"mappings":";;;;;AAgBA,MAAMA,IAAc,CAAC;AAAA,EACnB,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AACF,MACE,gBAAAC,EAACC,GAAS,EAAA,cAAc,MACrB,UAAA;AAAA,EAAAL,2BAAa,UAAQA,EAAA,CAAA,sBAAOM,GAAK,EAAA,WAAU,YAAY,UAAKP,EAAA,CAAA;AAAA,EAC7D,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAOP;AAAA,MACP,MAAK;AAAA,MACL,OAAOE,KAAY;AAAA,MACnB,UAAS;AAAA,MACT,SAASD;AAAA,IAAA;AAAA,EACX;AAAA,EACF,CAAA,GAGaO,IAAAC,EAAKZ,CAAW;"}
@@ -0,0 +1,72 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { useRef as r, useCallback as n, useMemo as h } from "react";
3
+ import C from "../../../homework/homework-card-view.js";
4
+ import T from "../../../ui/layout/flex-view.js";
5
+ import { JOURNEY_ID_STUDENT as w } from "../../journey-id/journey-id-student.js";
6
+ import { IndicatorType as E } from "../../use-journey/constants.js";
7
+ import { useJourney as b } from "../../use-journey/use-journey.js";
8
+ import g from "../use-home-page-journey/tooltip-item.js";
9
+ const z = () => {
10
+ const e = w.PUZZLE_ASSIGNED_JOURNEY, d = r(null), o = r(null), p = r([]), { setJourney: i, endJourney: s, nextCoachmark: l } = b(), a = n(() => {
11
+ l(e, !1, 0, !1);
12
+ }, [e, l]), u = n(() => {
13
+ document.body.style.overflow = "unset", s(e);
14
+ }, [s, e]), m = n(
15
+ (f) => {
16
+ if (!(o != null && o.current))
17
+ return;
18
+ const y = [
19
+ {
20
+ originalElementToHighlightRef: o,
21
+ elementToHighlight: /* @__PURE__ */ t(T, { children: /* @__PURE__ */ t(
22
+ C,
23
+ {
24
+ header: "",
25
+ subHeader: "",
26
+ userType: "STUDENT",
27
+ nodeData: f,
28
+ studentContainerRef: d
29
+ }
30
+ ) }),
31
+ type: E.TOOLTIP,
32
+ indicator: {
33
+ renderAs: "primary",
34
+ tooltipXCoOrdinates: 66,
35
+ arrowSize: 12,
36
+ arrowXCoOrdinates: -100,
37
+ position: "bottom",
38
+ backgroundColor: "GREEN_4",
39
+ borderColor: "BLACK",
40
+ arrowColor: "BLACK",
41
+ tooltipItem: /* @__PURE__ */ t(
42
+ g,
43
+ {
44
+ text: "New Puzzle assigned! Click here to view.",
45
+ buttonLabel: "Got it",
46
+ onButtonClick: u
47
+ }
48
+ )
49
+ },
50
+ isActive: !1
51
+ }
52
+ ];
53
+ i(e, y);
54
+ const c = setTimeout(() => {
55
+ clearTimeout(c), document.body.style.overflow = "hidden", a();
56
+ }, 500);
57
+ p.current.push(c);
58
+ },
59
+ [u, a, e, i]
60
+ );
61
+ return h(
62
+ () => ({
63
+ puzzleHWCardRef: o,
64
+ startJourney: m
65
+ }),
66
+ [m]
67
+ );
68
+ };
69
+ export {
70
+ z as usePuzzleAssignedJourney
71
+ };
72
+ //# sourceMappingURL=use-puzzle-assigned.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-puzzle-assigned.js","sources":["../../../../../src/features/journey/hooks/use-puzzles-journey/use-puzzle-assigned.tsx"],"sourcesContent":["import type { INodeDataProps } from '../../../chapters-v2/comps/node-card/node-card-types';\nimport type { IArrowTooltipProps } from '../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { ICoachmarkProps } from '../../use-journey/journey-context-types';\n\nimport { useCallback, useMemo, useRef } from 'react';\n\nimport HomeworkCardView from '../../../homework/homework-card-view';\nimport FlexView from '../../../ui/layout/flex-view';\nimport { JOURNEY_ID_STUDENT } from '../../journey-id/journey-id-student';\nimport { IndicatorType } from '../../use-journey/constants';\nimport { useJourney } from '../../use-journey/use-journey';\nimport TooltipItem from '../use-home-page-journey/tooltip-item';\n\nconst usePuzzleAssignedJourney = () => {\n const journeyId = JOURNEY_ID_STUDENT.PUZZLE_ASSIGNED_JOURNEY;\n\n const studentContainerRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const puzzleHWCardRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n\n const { setJourney, endJourney, nextCoachmark } = useJourney();\n\n const handleNextCoachMark = useCallback(() => {\n nextCoachmark(journeyId, false, 0, false);\n }, [journeyId, nextCoachmark]);\n\n const handleEndJourney = useCallback(() => {\n document.body.style.overflow = 'unset';\n endJourney(journeyId);\n }, [endJourney, journeyId]);\n\n const startJourney = useCallback(\n (nodeData: INodeDataProps) => {\n if (!puzzleHWCardRef?.current) {\n return;\n }\n\n const puzzleAttemptSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: puzzleHWCardRef,\n elementToHighlight: (\n <FlexView>\n <HomeworkCardView\n header=\"\"\n subHeader=\"\"\n userType=\"STUDENT\"\n nodeData={nodeData}\n studentContainerRef={studentContainerRef}\n />\n </FlexView>\n ),\n type: IndicatorType.TOOLTIP,\n indicator: {\n renderAs: 'primary',\n tooltipXCoOrdinates: 66,\n arrowSize: 12,\n arrowXCoOrdinates: -100,\n position: 'bottom',\n backgroundColor: 'GREEN_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n tooltipItem: (\n <TooltipItem\n text=\"New Puzzle assigned! Click here to view.\"\n buttonLabel=\"Got it\"\n onButtonClick={handleEndJourney}\n />\n ),\n } as IArrowTooltipProps,\n isActive: false,\n },\n ];\n\n setJourney(journeyId, puzzleAttemptSteps);\n\n const delayBeforeStart = setTimeout(() => {\n clearTimeout(delayBeforeStart);\n document.body.style.overflow = 'hidden';\n handleNextCoachMark();\n }, 500);\n\n timerRefs.current.push(delayBeforeStart);\n },\n [handleEndJourney, handleNextCoachMark, journeyId, setJourney],\n );\n\n const data = useMemo(\n () => ({\n puzzleHWCardRef,\n startJourney,\n }),\n [startJourney],\n );\n\n return data;\n};\n\nexport { usePuzzleAssignedJourney };\n"],"names":["usePuzzleAssignedJourney","journeyId","JOURNEY_ID_STUDENT","studentContainerRef","useRef","puzzleHWCardRef","timerRefs","setJourney","endJourney","nextCoachmark","useJourney","handleNextCoachMark","useCallback","handleEndJourney","startJourney","nodeData","puzzleAttemptSteps","FlexView","jsx","HomeworkCardView","IndicatorType","TooltipItem","delayBeforeStart","useMemo"],"mappings":";;;;;;;;AAaA,MAAMA,IAA2B,MAAM;AACrC,QAAMC,IAAYC,EAAmB,yBAE/BC,IAAsBC,EAAuB,IAAI,GACjDC,IAAkBD,EAAuB,IAAI,GAC7CE,IAAYF,EAAwC,CAAA,CAAE,GAEtD,EAAE,YAAAG,GAAY,YAAAC,GAAY,eAAAC,MAAkBC,EAAW,GAEvDC,IAAsBC,EAAY,MAAM;AAC9B,IAAAH,EAAAR,GAAW,IAAO,GAAG,EAAK;AAAA,EAAA,GACvC,CAACA,GAAWQ,CAAa,CAAC,GAEvBI,IAAmBD,EAAY,MAAM;AAChC,aAAA,KAAK,MAAM,WAAW,SAC/BJ,EAAWP,CAAS;AAAA,EAAA,GACnB,CAACO,GAAYP,CAAS,CAAC,GAEpBa,IAAeF;AAAA,IACnB,CAACG,MAA6B;AACxB,UAAA,EAACV,KAAA,QAAAA,EAAiB;AACpB;AAGF,YAAMW,IAAwC;AAAA,QAC5C;AAAA,UACE,+BAA+BX;AAAA,UAC/B,sCACGY,GACC,EAAA,UAAA,gBAAAC;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,QAAO;AAAA,cACP,WAAU;AAAA,cACV,UAAS;AAAA,cACT,UAAAJ;AAAA,cACA,qBAAAZ;AAAA,YAAA;AAAA,UAAA,GAEJ;AAAA,UAEF,MAAMiB,EAAc;AAAA,UACpB,WAAW;AAAA,YACT,UAAU;AAAA,YACV,qBAAqB;AAAA,YACrB,WAAW;AAAA,YACX,mBAAmB;AAAA,YACnB,UAAU;AAAA,YACV,iBAAiB;AAAA,YACjB,aAAa;AAAA,YACb,YAAY;AAAA,YACZ,aACE,gBAAAF;AAAA,cAACG;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,aAAY;AAAA,gBACZ,eAAeR;AAAA,cAAA;AAAA,YACjB;AAAA,UAEJ;AAAA,UACA,UAAU;AAAA,QACZ;AAAA,MAAA;AAGF,MAAAN,EAAWN,GAAWe,CAAkB;AAElC,YAAAM,IAAmB,WAAW,MAAM;AACxC,qBAAaA,CAAgB,GACpB,SAAA,KAAK,MAAM,WAAW,UACXX;SACnB,GAAG;AAEI,MAAAL,EAAA,QAAQ,KAAKgB,CAAgB;AAAA,IACzC;AAAA,IACA,CAACT,GAAkBF,GAAqBV,GAAWM,CAAU;AAAA,EAAA;AAWxD,SARMgB;AAAA,IACX,OAAO;AAAA,MACL,iBAAAlB;AAAA,MACA,cAAAS;AAAA,IAAA;AAAA,IAEF,CAACA,CAAY;AAAA,EAAA;AAIjB;"}
@@ -0,0 +1,59 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { useRef as c, useCallback as r, useMemo as y } from "react";
3
+ import f from "../../../ui/buttons/button/button.js";
4
+ import { JOURNEY_ID_STUDENT as h } from "../../journey-id/journey-id-student.js";
5
+ import { IndicatorType as T } from "../../use-journey/constants.js";
6
+ import { useJourney as C } from "../../use-journey/use-journey.js";
7
+ import b from "../use-home-page-journey/tooltip-item.js";
8
+ const z = () => {
9
+ const o = h.PUZZLE_ATTEMPT_JOURNEY, e = c(null), d = c([]), { setJourney: n, endJourney: i, nextCoachmark: s } = C(), l = r(() => {
10
+ s(o, !1, 0, !1);
11
+ }, [o, s]), a = r(() => {
12
+ document.body.style.overflow = "unset", i(o);
13
+ }, [i, o]), u = r(() => {
14
+ if (!(e != null && e.current))
15
+ return;
16
+ const p = [
17
+ {
18
+ originalElementToHighlightRef: e,
19
+ elementToHighlight: /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t(f, { renderAs: "primary", size: "small", label: "I have solved" }) }),
20
+ type: T.TOOLTIP,
21
+ indicator: {
22
+ renderAs: "primary",
23
+ tooltipXCoOrdinates: -100,
24
+ arrowSize: 12,
25
+ arrowXCoOrdinates: 100,
26
+ position: "top",
27
+ backgroundColor: "PURPLE_4",
28
+ borderColor: "BLACK",
29
+ arrowColor: "BLACK",
30
+ tooltipItem: /* @__PURE__ */ t(
31
+ b,
32
+ {
33
+ text: "Click here when you've solved the puzzle.",
34
+ buttonLabel: "Got it",
35
+ onButtonClick: a
36
+ }
37
+ )
38
+ },
39
+ isActive: !1
40
+ }
41
+ ];
42
+ n(o, p);
43
+ const m = setTimeout(() => {
44
+ clearTimeout(m), document.body.style.overflow = "hidden", l();
45
+ }, 500);
46
+ d.current.push(m);
47
+ }, [a, l, o, n]);
48
+ return y(
49
+ () => ({
50
+ puzzleAttemptCtaRef: e,
51
+ startJourney: u
52
+ }),
53
+ [u]
54
+ );
55
+ };
56
+ export {
57
+ z as usePuzzleAttemptJourney
58
+ };
59
+ //# sourceMappingURL=use-puzzle-attempt-journey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-puzzle-attempt-journey.js","sources":["../../../../../src/features/journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.tsx"],"sourcesContent":["import type { IArrowTooltipProps } from '../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { ICoachmarkProps } from '../../use-journey/journey-context-types';\n\nimport { useCallback, useMemo, useRef } from 'react';\n\nimport Button from '../../../ui/buttons/button/button';\nimport { JOURNEY_ID_STUDENT } from '../../journey-id/journey-id-student';\nimport { IndicatorType } from '../../use-journey/constants';\nimport { useJourney } from '../../use-journey/use-journey';\nimport TooltipItem from '../use-home-page-journey/tooltip-item';\n\nconst usePuzzleAttemptJourney = () => {\n const journeyId = JOURNEY_ID_STUDENT.PUZZLE_ATTEMPT_JOURNEY;\n\n const puzzleAttemptCtaRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n\n const { setJourney, endJourney, nextCoachmark } = useJourney();\n\n const handleNextCoachMark = useCallback(() => {\n nextCoachmark(journeyId, false, 0, false);\n }, [journeyId, nextCoachmark]);\n\n const handleEndJourney = useCallback(() => {\n document.body.style.overflow = 'unset';\n endJourney(journeyId);\n }, [endJourney, journeyId]);\n\n const startJourney = useCallback(() => {\n if (!puzzleAttemptCtaRef?.current) {\n return;\n }\n\n const puzzleAttemptSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: puzzleAttemptCtaRef,\n elementToHighlight: (\n <div>\n <Button renderAs=\"primary\" size=\"small\" label=\"I have solved\" />\n </div>\n ),\n type: IndicatorType.TOOLTIP,\n indicator: {\n renderAs: 'primary',\n tooltipXCoOrdinates: -100,\n arrowSize: 12,\n arrowXCoOrdinates: 100,\n position: 'top',\n backgroundColor: 'PURPLE_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n tooltipItem: (\n <TooltipItem\n text={`Click here when you've solved the puzzle.`}\n buttonLabel=\"Got it\"\n onButtonClick={handleEndJourney}\n />\n ),\n } as IArrowTooltipProps,\n isActive: false,\n },\n ];\n\n setJourney(journeyId, puzzleAttemptSteps);\n\n const delayBeforeStart = setTimeout(() => {\n clearTimeout(delayBeforeStart);\n document.body.style.overflow = 'hidden';\n handleNextCoachMark();\n }, 500);\n\n timerRefs.current.push(delayBeforeStart);\n }, [handleEndJourney, handleNextCoachMark, journeyId, setJourney]);\n\n const data = useMemo(\n () => ({\n puzzleAttemptCtaRef,\n startJourney,\n }),\n [startJourney],\n );\n\n return data;\n};\n\nexport { usePuzzleAttemptJourney };\n"],"names":["usePuzzleAttemptJourney","journeyId","JOURNEY_ID_STUDENT","puzzleAttemptCtaRef","useRef","timerRefs","setJourney","endJourney","nextCoachmark","useJourney","handleNextCoachMark","useCallback","handleEndJourney","startJourney","puzzleAttemptSteps","jsx","Button","IndicatorType","TooltipItem","delayBeforeStart","useMemo"],"mappings":";;;;;;;AAWA,MAAMA,IAA0B,MAAM;AACpC,QAAMC,IAAYC,EAAmB,wBAE/BC,IAAsBC,EAAuB,IAAI,GACjDC,IAAYD,EAAwC,CAAA,CAAE,GAEtD,EAAE,YAAAE,GAAY,YAAAC,GAAY,eAAAC,MAAkBC,EAAW,GAEvDC,IAAsBC,EAAY,MAAM;AAC9B,IAAAH,EAAAP,GAAW,IAAO,GAAG,EAAK;AAAA,EAAA,GACvC,CAACA,GAAWO,CAAa,CAAC,GAEvBI,IAAmBD,EAAY,MAAM;AAChC,aAAA,KAAK,MAAM,WAAW,SAC/BJ,EAAWN,CAAS;AAAA,EAAA,GACnB,CAACM,GAAYN,CAAS,CAAC,GAEpBY,IAAeF,EAAY,MAAM;AACjC,QAAA,EAACR,KAAA,QAAAA,EAAqB;AACxB;AAGF,UAAMW,IAAwC;AAAA,MAC5C;AAAA,QACE,+BAA+BX;AAAA,QAC/B,oBACG,gBAAAY,EAAA,OAAA,EACC,UAAC,gBAAAA,EAAAC,GAAA,EAAO,UAAS,WAAU,MAAK,SAAQ,OAAM,gBAAA,CAAgB,EAChE,CAAA;AAAA,QAEF,MAAMC,EAAc;AAAA,QACpB,WAAW;AAAA,UACT,UAAU;AAAA,UACV,qBAAqB;AAAA,UACrB,WAAW;AAAA,UACX,mBAAmB;AAAA,UACnB,UAAU;AAAA,UACV,iBAAiB;AAAA,UACjB,aAAa;AAAA,UACb,YAAY;AAAA,UACZ,aACE,gBAAAF;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,MAAM;AAAA,cACN,aAAY;AAAA,cACZ,eAAeN;AAAA,YAAA;AAAA,UACjB;AAAA,QAEJ;AAAA,QACA,UAAU;AAAA,MACZ;AAAA,IAAA;AAGF,IAAAN,EAAWL,GAAWa,CAAkB;AAElC,UAAAK,IAAmB,WAAW,MAAM;AACxC,mBAAaA,CAAgB,GACpB,SAAA,KAAK,MAAM,WAAW,UACXT;OACnB,GAAG;AAEI,IAAAL,EAAA,QAAQ,KAAKc,CAAgB;AAAA,KACtC,CAACP,GAAkBF,GAAqBT,GAAWK,CAAU,CAAC;AAU1D,SARMc;AAAA,IACX,OAAO;AAAA,MACL,qBAAAjB;AAAA,MACA,cAAAU;AAAA,IAAA;AAAA,IAEF,CAACA,CAAY;AAAA,EAAA;AAIjB;"}
@@ -0,0 +1,63 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { useRef as c, useCallback as r, useMemo as f } from "react";
3
+ import h from "../../../ui/avatar/avatar.js";
4
+ import { JOURNEY_ID_STUDENT as C } from "../../journey-id/journey-id-student.js";
5
+ import { IndicatorType as T } from "../../use-journey/constants.js";
6
+ import { useJourney as b } from "../../use-journey/use-journey.js";
7
+ import A from "../use-home-page-journey/tooltip-item.js";
8
+ const I = () => {
9
+ const o = C.PUZZLE_DASHBOARD_JOURNEY, t = c(null), d = c([]), { setJourney: n, endJourney: i, nextCoachmark: s } = b(), a = r(() => {
10
+ s(o, !1, 0, !1);
11
+ }, [o, s]), l = r(() => {
12
+ document.body.style.overflow = "unset", i(o);
13
+ }, [i, o]), u = r(
14
+ (p) => {
15
+ if (!(t != null && t.current))
16
+ return;
17
+ const y = [
18
+ {
19
+ originalElementToHighlightRef: t,
20
+ elementToHighlight: /* @__PURE__ */ e("div", { children: /* @__PURE__ */ e(h, { size: 55, avatar: p }) }),
21
+ type: T.TOOLTIP,
22
+ indicator: {
23
+ renderAs: "primary",
24
+ tooltipXCoOrdinates: 14,
25
+ tooltipYCoOrdinates: 36,
26
+ arrowSize: 12,
27
+ arrowYCoOrdinates: -36,
28
+ position: "right",
29
+ backgroundColor: "BLUE_4",
30
+ borderColor: "BLACK",
31
+ arrowColor: "BLACK",
32
+ tooltipItem: /* @__PURE__ */ e(
33
+ A,
34
+ {
35
+ text: "Click here to see all previously solved puzzles.",
36
+ buttonLabel: "Got it",
37
+ onButtonClick: l
38
+ }
39
+ )
40
+ },
41
+ isActive: !1
42
+ }
43
+ ];
44
+ n(o, y);
45
+ const m = setTimeout(() => {
46
+ clearTimeout(m), document.body.style.overflow = "hidden", a();
47
+ }, 500);
48
+ d.current.push(m);
49
+ },
50
+ [l, a, o, n]
51
+ );
52
+ return f(
53
+ () => ({
54
+ puzzleProfileRef: t,
55
+ startJourney: u
56
+ }),
57
+ [u]
58
+ );
59
+ };
60
+ export {
61
+ I as usePuzzleDashboardJourney
62
+ };
63
+ //# sourceMappingURL=use-puzzle-dashboard-journey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-puzzle-dashboard-journey.js","sources":["../../../../../src/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.tsx"],"sourcesContent":["import type { IArrowTooltipProps } from '../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { IAvatarLayer } from '../../../ui/avatar/avatar-types';\nimport type { ICoachmarkProps } from '../../use-journey/journey-context-types';\n\nimport { useCallback, useMemo, useRef } from 'react';\n\nimport Avatar from '../../../ui/avatar/avatar';\nimport { JOURNEY_ID_STUDENT } from '../../journey-id/journey-id-student';\nimport { IndicatorType } from '../../use-journey/constants';\nimport { useJourney } from '../../use-journey/use-journey';\nimport TooltipItem from '../use-home-page-journey/tooltip-item';\n\nconst usePuzzleDashboardJourney = () => {\n const journeyId = JOURNEY_ID_STUDENT.PUZZLE_DASHBOARD_JOURNEY;\n\n const puzzleProfileRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n\n const { setJourney, endJourney, nextCoachmark } = useJourney();\n\n const handleNextCoachMark = useCallback(() => {\n nextCoachmark(journeyId, false, 0, false);\n }, [journeyId, nextCoachmark]);\n\n const handleEndJourney = useCallback(() => {\n document.body.style.overflow = 'unset';\n endJourney(journeyId);\n }, [endJourney, journeyId]);\n\n const startJourney = useCallback(\n (avatar: IAvatarLayer[]) => {\n if (!puzzleProfileRef?.current) {\n return;\n }\n\n const puzzleAttemptSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: puzzleProfileRef,\n elementToHighlight: (\n <div>\n <Avatar size={55} avatar={avatar} />\n </div>\n ),\n type: IndicatorType.TOOLTIP,\n indicator: {\n renderAs: 'primary',\n tooltipXCoOrdinates: 14,\n tooltipYCoOrdinates: 36,\n arrowSize: 12,\n arrowYCoOrdinates: -36,\n position: 'right',\n backgroundColor: 'BLUE_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n tooltipItem: (\n <TooltipItem\n text=\"Click here to see all previously solved puzzles.\"\n buttonLabel=\"Got it\"\n onButtonClick={handleEndJourney}\n />\n ),\n } as IArrowTooltipProps,\n isActive: false,\n },\n ];\n\n setJourney(journeyId, puzzleAttemptSteps);\n\n const delayBeforeStart = setTimeout(() => {\n clearTimeout(delayBeforeStart);\n document.body.style.overflow = 'hidden';\n handleNextCoachMark();\n }, 500);\n\n timerRefs.current.push(delayBeforeStart);\n },\n [handleEndJourney, handleNextCoachMark, journeyId, setJourney],\n );\n\n const data = useMemo(\n () => ({\n puzzleProfileRef,\n startJourney,\n }),\n [startJourney],\n );\n\n return data;\n};\n\nexport { usePuzzleDashboardJourney };\n"],"names":["usePuzzleDashboardJourney","journeyId","JOURNEY_ID_STUDENT","puzzleProfileRef","useRef","timerRefs","setJourney","endJourney","nextCoachmark","useJourney","handleNextCoachMark","useCallback","handleEndJourney","startJourney","avatar","puzzleAttemptSteps","jsx","Avatar","IndicatorType","TooltipItem","delayBeforeStart","useMemo"],"mappings":";;;;;;;AAYA,MAAMA,IAA4B,MAAM;AACtC,QAAMC,IAAYC,EAAmB,0BAE/BC,IAAmBC,EAAuB,IAAI,GAC9CC,IAAYD,EAAwC,CAAA,CAAE,GAEtD,EAAE,YAAAE,GAAY,YAAAC,GAAY,eAAAC,MAAkBC,EAAW,GAEvDC,IAAsBC,EAAY,MAAM;AAC9B,IAAAH,EAAAP,GAAW,IAAO,GAAG,EAAK;AAAA,EAAA,GACvC,CAACA,GAAWO,CAAa,CAAC,GAEvBI,IAAmBD,EAAY,MAAM;AAChC,aAAA,KAAK,MAAM,WAAW,SAC/BJ,EAAWN,CAAS;AAAA,EAAA,GACnB,CAACM,GAAYN,CAAS,CAAC,GAEpBY,IAAeF;AAAA,IACnB,CAACG,MAA2B;AACtB,UAAA,EAACX,KAAA,QAAAA,EAAkB;AACrB;AAGF,YAAMY,IAAwC;AAAA,QAC5C;AAAA,UACE,+BAA+BZ;AAAA,UAC/B,sCACG,OACC,EAAA,UAAA,gBAAAa,EAACC,KAAO,MAAM,IAAI,QAAAH,GAAgB,EACpC,CAAA;AAAA,UAEF,MAAMI,EAAc;AAAA,UACpB,WAAW;AAAA,YACT,UAAU;AAAA,YACV,qBAAqB;AAAA,YACrB,qBAAqB;AAAA,YACrB,WAAW;AAAA,YACX,mBAAmB;AAAA,YACnB,UAAU;AAAA,YACV,iBAAiB;AAAA,YACjB,aAAa;AAAA,YACb,YAAY;AAAA,YACZ,aACE,gBAAAF;AAAA,cAACG;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,aAAY;AAAA,gBACZ,eAAeP;AAAA,cAAA;AAAA,YACjB;AAAA,UAEJ;AAAA,UACA,UAAU;AAAA,QACZ;AAAA,MAAA;AAGF,MAAAN,EAAWL,GAAWc,CAAkB;AAElC,YAAAK,IAAmB,WAAW,MAAM;AACxC,qBAAaA,CAAgB,GACpB,SAAA,KAAK,MAAM,WAAW,UACXV;SACnB,GAAG;AAEI,MAAAL,EAAA,QAAQ,KAAKe,CAAgB;AAAA,IACzC;AAAA,IACA,CAACR,GAAkBF,GAAqBT,GAAWK,CAAU;AAAA,EAAA;AAWxD,SARMe;AAAA,IACX,OAAO;AAAA,MACL,kBAAAlB;AAAA,MACA,cAAAU;AAAA,IAAA;AAAA,IAEF,CAACA,CAAY;AAAA,EAAA;AAIjB;"}
@@ -0,0 +1,67 @@
1
+ import { jsx as t, jsxs as T } from "react/jsx-runtime";
2
+ import { useRef as p, useCallback as r, useMemo as b } from "react";
3
+ import g from "../../../../assets/line-icons/icons/puzzle2.js";
4
+ import f from "../../../ui/layout/flex-view.js";
5
+ import h from "../../../ui/text/text.js";
6
+ import { getTheme as E } from "../../../ui/theme/get-theme.js";
7
+ import { JOURNEY_ID_TEACHER as P } from "../../journey-id/journey-id-teacher.js";
8
+ import { IndicatorType as x } from "../../use-journey/constants.js";
9
+ import { useJourney as z } from "../../use-journey/use-journey.js";
10
+ import I from "../use-home-page-journey/tooltip-item.js";
11
+ const N = ({ onJourneyComplete: n }) => {
12
+ const e = P.PUZZLE_INTRO_JOURNEY, o = p(null), y = p([]), { setJourney: i, endJourney: l, nextCoachmark: s } = z(), { colors: a } = E(), c = r(() => {
13
+ s(e, !1, 0, !1);
14
+ }, [e, s]), m = r(() => {
15
+ document.body.style.overflow = "unset", l(e), n();
16
+ }, [l, e, n]), d = r(() => {
17
+ if (!(o != null && o.current))
18
+ return;
19
+ const C = [
20
+ {
21
+ originalElementToHighlightRef: o,
22
+ elementToHighlight: /* @__PURE__ */ t(f, { $gap: 12, $gutter: 12, children: /* @__PURE__ */ t(g, { width: 20, height: 20, fill: a.PURPLE_4 }) }),
23
+ type: x.TOOLTIP,
24
+ indicator: {
25
+ renderAs: "primary",
26
+ tooltipXCoOrdinates: -100,
27
+ tooltipYCoOrdinates: -1,
28
+ arrowSize: 12,
29
+ arrowXCoOrdinates: 100,
30
+ position: "bottom",
31
+ backgroundColor: "PURPLE_4",
32
+ borderColor: "BLACK",
33
+ arrowColor: "BLACK",
34
+ tooltipItem: /* @__PURE__ */ t(
35
+ I,
36
+ {
37
+ element: /* @__PURE__ */ T(f, { children: [
38
+ /* @__PURE__ */ t(h, { $renderAs: "ac4-black", children: "Improved puzzles experience!" }),
39
+ /* @__PURE__ */ t(h, { $renderAs: "ab2", children: "One puzzle per class, auto-adapted to student level." })
40
+ ] }),
41
+ buttonLabel: "Click to View",
42
+ ctaWidth: "max-content",
43
+ onButtonClick: m
44
+ }
45
+ )
46
+ },
47
+ isActive: !1
48
+ }
49
+ ];
50
+ i(e, C);
51
+ const u = setTimeout(() => {
52
+ clearTimeout(u), document.body.style.overflow = "hidden", c();
53
+ }, 500);
54
+ y.current.push(u);
55
+ }, [a.PURPLE_4, m, c, e, i]);
56
+ return b(
57
+ () => ({
58
+ puzzleIconRef: o,
59
+ startJourney: d
60
+ }),
61
+ [d]
62
+ );
63
+ };
64
+ export {
65
+ N as usePuzzleIntroJourney
66
+ };
67
+ //# sourceMappingURL=use-puzzle-intro-journey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-puzzle-intro-journey.js","sources":["../../../../../src/features/journey/hooks/use-puzzles-journey/use-puzzle-intro-journey.tsx"],"sourcesContent":["import type { IArrowTooltipProps } from '../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { ICoachmarkProps } from '../../use-journey/journey-context-types';\nimport type { IUsePuzzleIntroJourney } from './puzzle-journey-types';\n\nimport { useCallback, useMemo, useRef } from 'react';\n\nimport PuzzleIcon2 from '../../../../assets/line-icons/icons/puzzle2';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { getTheme } from '../../../ui/theme/get-theme';\nimport { JOURNEY_ID_TEACHER } from '../../journey-id/journey-id-teacher';\nimport { IndicatorType } from '../../use-journey/constants';\nimport { useJourney } from '../../use-journey/use-journey';\nimport TooltipItem from '../use-home-page-journey/tooltip-item';\n\nconst usePuzzleIntroJourney = ({ onJourneyComplete }: IUsePuzzleIntroJourney) => {\n const journeyId = JOURNEY_ID_TEACHER.PUZZLE_INTRO_JOURNEY;\n\n const puzzleIconRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n\n const { setJourney, endJourney, nextCoachmark } = useJourney();\n const { colors } = getTheme();\n\n const handleNextCoachMark = useCallback(() => {\n nextCoachmark(journeyId, false, 0, false);\n }, [journeyId, nextCoachmark]);\n\n const handleEndJourney = useCallback(() => {\n document.body.style.overflow = 'unset';\n endJourney(journeyId);\n onJourneyComplete();\n }, [endJourney, journeyId, onJourneyComplete]);\n\n const startJourney = useCallback(() => {\n if (!puzzleIconRef?.current) {\n return;\n }\n\n const puzzleAttemptSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: puzzleIconRef,\n elementToHighlight: (\n <FlexView $gap={12} $gutter={12}>\n <PuzzleIcon2 width={20} height={20} fill={colors.PURPLE_4} />\n </FlexView>\n ),\n type: IndicatorType.TOOLTIP,\n indicator: {\n renderAs: 'primary',\n tooltipXCoOrdinates: -100,\n tooltipYCoOrdinates: -1,\n arrowSize: 12,\n arrowXCoOrdinates: 100,\n position: 'bottom',\n backgroundColor: 'PURPLE_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n tooltipItem: (\n <TooltipItem\n element={\n <FlexView>\n <Text $renderAs=\"ac4-black\">Improved puzzles experience!</Text>\n <Text $renderAs=\"ab2\">One puzzle per class, auto-adapted to student level.</Text>\n </FlexView>\n }\n buttonLabel=\"Click to View\"\n ctaWidth=\"max-content\"\n onButtonClick={handleEndJourney}\n />\n ),\n } as IArrowTooltipProps,\n isActive: false,\n },\n ];\n\n setJourney(journeyId, puzzleAttemptSteps);\n\n const delayBeforeStart = setTimeout(() => {\n clearTimeout(delayBeforeStart);\n document.body.style.overflow = 'hidden';\n handleNextCoachMark();\n }, 500);\n\n timerRefs.current.push(delayBeforeStart);\n }, [colors.PURPLE_4, handleEndJourney, handleNextCoachMark, journeyId, setJourney]);\n\n const data = useMemo(\n () => ({\n puzzleIconRef,\n startJourney,\n }),\n [startJourney],\n );\n\n return data;\n};\n\nexport { usePuzzleIntroJourney };\n"],"names":["usePuzzleIntroJourney","onJourneyComplete","journeyId","JOURNEY_ID_TEACHER","puzzleIconRef","useRef","timerRefs","setJourney","endJourney","nextCoachmark","useJourney","colors","getTheme","handleNextCoachMark","useCallback","handleEndJourney","startJourney","puzzleAttemptSteps","jsx","FlexView","PuzzleIcon2","IndicatorType","TooltipItem","Text","delayBeforeStart","useMemo"],"mappings":";;;;;;;;;;AAeA,MAAMA,IAAwB,CAAC,EAAE,mBAAAC,QAAgD;AAC/E,QAAMC,IAAYC,EAAmB,sBAE/BC,IAAgBC,EAAuB,IAAI,GAC3CC,IAAYD,EAAwC,CAAA,CAAE,GAEtD,EAAE,YAAAE,GAAY,YAAAC,GAAY,eAAAC,MAAkBC,EAAW,GACvD,EAAE,QAAAC,MAAWC,KAEbC,IAAsBC,EAAY,MAAM;AAC9B,IAAAL,EAAAP,GAAW,IAAO,GAAG,EAAK;AAAA,EAAA,GACvC,CAACA,GAAWO,CAAa,CAAC,GAEvBM,IAAmBD,EAAY,MAAM;AAChC,aAAA,KAAK,MAAM,WAAW,SAC/BN,EAAWN,CAAS,GACFD;EACjB,GAAA,CAACO,GAAYN,GAAWD,CAAiB,CAAC,GAEvCe,IAAeF,EAAY,MAAM;AACjC,QAAA,EAACV,KAAA,QAAAA,EAAe;AAClB;AAGF,UAAMa,IAAwC;AAAA,MAC5C;AAAA,QACE,+BAA+Bb;AAAA,QAC/B,oBACG,gBAAAc,EAAAC,GAAA,EAAS,MAAM,IAAI,SAAS,IAC3B,UAAA,gBAAAD,EAACE,GAAY,EAAA,OAAO,IAAI,QAAQ,IAAI,MAAMT,EAAO,SAAU,CAAA,GAC7D;AAAA,QAEF,MAAMU,EAAc;AAAA,QACpB,WAAW;AAAA,UACT,UAAU;AAAA,UACV,qBAAqB;AAAA,UACrB,qBAAqB;AAAA,UACrB,WAAW;AAAA,UACX,mBAAmB;AAAA,UACnB,UAAU;AAAA,UACV,iBAAiB;AAAA,UACjB,aAAa;AAAA,UACb,YAAY;AAAA,UACZ,aACE,gBAAAH;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,2BACGH,GACC,EAAA,UAAA;AAAA,gBAAC,gBAAAD,EAAAK,GAAA,EAAK,WAAU,aAAY,UAA4B,gCAAA;AAAA,gBACvD,gBAAAL,EAAAK,GAAA,EAAK,WAAU,OAAM,UAAoD,wDAAA;AAAA,cAAA,GAC5E;AAAA,cAEF,aAAY;AAAA,cACZ,UAAS;AAAA,cACT,eAAeR;AAAA,YAAA;AAAA,UACjB;AAAA,QAEJ;AAAA,QACA,UAAU;AAAA,MACZ;AAAA,IAAA;AAGF,IAAAR,EAAWL,GAAWe,CAAkB;AAElC,UAAAO,IAAmB,WAAW,MAAM;AACxC,mBAAaA,CAAgB,GACpB,SAAA,KAAK,MAAM,WAAW,UACXX;OACnB,GAAG;AAEI,IAAAP,EAAA,QAAQ,KAAKkB,CAAgB;AAAA,EAAA,GACtC,CAACb,EAAO,UAAUI,GAAkBF,GAAqBX,GAAWK,CAAU,CAAC;AAU3E,SARMkB;AAAA,IACX,OAAO;AAAA,MACL,eAAArB;AAAA,MACA,cAAAY;AAAA,IAAA;AAAA,IAEF,CAACA,CAAY;AAAA,EAAA;AAIjB;"}
@@ -0,0 +1,70 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { useRef as c, useCallback as r, useMemo as p } from "react";
3
+ import y from "../../../ui/layout/flex-view.js";
4
+ import h from "../../../ui/text/text.js";
5
+ import { JOURNEY_ID_TEACHER as C } from "../../journey-id/journey-id-teacher.js";
6
+ import { IndicatorType as b } from "../../use-journey/constants.js";
7
+ import { useJourney as E } from "../../use-journey/use-journey.js";
8
+ import T from "../use-home-page-journey/tooltip-item.js";
9
+ const P = () => {
10
+ const e = C.PUZZLE_PROGRESS_JOURNEY, o = c(null), d = c([]), { setJourney: n, endJourney: i, nextCoachmark: s } = E(), l = r(() => {
11
+ s(e, !1, 0, !1);
12
+ }, [e, s]), a = r(() => {
13
+ document.body.style.overflow = "unset", i(e);
14
+ }, [i, e]), m = r(() => {
15
+ if (!(o != null && o.current))
16
+ return;
17
+ const f = [
18
+ {
19
+ originalElementToHighlightRef: o,
20
+ elementToHighlight: /* @__PURE__ */ t(
21
+ y,
22
+ {
23
+ $widthX: 3.625,
24
+ $flexDirection: "row",
25
+ $background: "WHITE",
26
+ $justifyContent: "center",
27
+ $alignItems: "center",
28
+ children: /* @__PURE__ */ t(h, { $renderAs: "ub2", children: "Progress" })
29
+ }
30
+ ),
31
+ type: b.TOOLTIP,
32
+ indicator: {
33
+ renderAs: "primary",
34
+ tooltipXCoOrdinates: -100,
35
+ arrowSize: 12,
36
+ arrowXCoOrdinates: 100,
37
+ position: "bottom",
38
+ backgroundColor: "GREEN_4",
39
+ borderColor: "BLACK",
40
+ arrowColor: "BLACK",
41
+ tooltipItem: /* @__PURE__ */ t(
42
+ T,
43
+ {
44
+ text: "Puzzles are available on the timeline view.",
45
+ buttonLabel: "Got it",
46
+ onButtonClick: a
47
+ }
48
+ )
49
+ },
50
+ isActive: !1
51
+ }
52
+ ];
53
+ n(e, f);
54
+ const u = setTimeout(() => {
55
+ clearTimeout(u), document.body.style.overflow = "hidden", l();
56
+ }, 500);
57
+ d.current.push(u);
58
+ }, [a, l, e, n]);
59
+ return p(
60
+ () => ({
61
+ puzzleProgressRef: o,
62
+ startJourney: m
63
+ }),
64
+ [m]
65
+ );
66
+ };
67
+ export {
68
+ P as usePuzzleProgressJourney
69
+ };
70
+ //# sourceMappingURL=use-puzzle-progress-journey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-puzzle-progress-journey.js","sources":["../../../../../src/features/journey/hooks/use-puzzles-journey/use-puzzle-progress-journey.tsx"],"sourcesContent":["import type { IArrowTooltipProps } from '../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { ICoachmarkProps } from '../../use-journey/journey-context-types';\n\nimport { useCallback, useMemo, useRef } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { JOURNEY_ID_TEACHER } from '../../journey-id/journey-id-teacher';\nimport { IndicatorType } from '../../use-journey/constants';\nimport { useJourney } from '../../use-journey/use-journey';\nimport TooltipItem from '../use-home-page-journey/tooltip-item';\n\nconst usePuzzleProgressJourney = () => {\n const journeyId = JOURNEY_ID_TEACHER.PUZZLE_PROGRESS_JOURNEY;\n\n const puzzleProgressRef = useRef<HTMLDivElement>(null) as React.RefObject<HTMLDivElement>;\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n\n const { setJourney, endJourney, nextCoachmark } = useJourney();\n\n const handleNextCoachMark = useCallback(() => {\n nextCoachmark(journeyId, false, 0, false);\n }, [journeyId, nextCoachmark]);\n\n const handleEndJourney = useCallback(() => {\n document.body.style.overflow = 'unset';\n endJourney(journeyId);\n }, [endJourney, journeyId]);\n\n const startJourney = useCallback(() => {\n if (!puzzleProgressRef?.current) {\n return;\n }\n\n const puzzleAttemptSteps: ICoachmarkProps[] = [\n {\n originalElementToHighlightRef: puzzleProgressRef,\n elementToHighlight: (\n <FlexView\n $widthX={3.625}\n $flexDirection=\"row\"\n $background=\"WHITE\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n >\n <Text $renderAs=\"ub2\">Progress</Text>\n </FlexView>\n ),\n type: IndicatorType.TOOLTIP,\n indicator: {\n renderAs: 'primary',\n tooltipXCoOrdinates: -100,\n arrowSize: 12,\n arrowXCoOrdinates: 100,\n position: 'bottom',\n backgroundColor: 'GREEN_4',\n borderColor: 'BLACK',\n arrowColor: 'BLACK',\n tooltipItem: (\n <TooltipItem\n text=\"Puzzles are available on the timeline view.\"\n buttonLabel=\"Got it\"\n onButtonClick={handleEndJourney}\n />\n ),\n } as IArrowTooltipProps,\n isActive: false,\n },\n ];\n\n setJourney(journeyId, puzzleAttemptSteps);\n\n const delayBeforeStart = setTimeout(() => {\n clearTimeout(delayBeforeStart);\n document.body.style.overflow = 'hidden';\n handleNextCoachMark();\n }, 500);\n\n timerRefs.current.push(delayBeforeStart);\n }, [handleEndJourney, handleNextCoachMark, journeyId, setJourney]);\n\n const data = useMemo(\n () => ({\n puzzleProgressRef,\n startJourney,\n }),\n [startJourney],\n );\n\n return data;\n};\n\nexport { usePuzzleProgressJourney };\n"],"names":["usePuzzleProgressJourney","journeyId","JOURNEY_ID_TEACHER","puzzleProgressRef","useRef","timerRefs","setJourney","endJourney","nextCoachmark","useJourney","handleNextCoachMark","useCallback","handleEndJourney","startJourney","puzzleAttemptSteps","jsx","FlexView","Text","IndicatorType","TooltipItem","delayBeforeStart","useMemo"],"mappings":";;;;;;;;AAYA,MAAMA,IAA2B,MAAM;AACrC,QAAMC,IAAYC,EAAmB,yBAE/BC,IAAoBC,EAAuB,IAAI,GAC/CC,IAAYD,EAAwC,CAAA,CAAE,GAEtD,EAAE,YAAAE,GAAY,YAAAC,GAAY,eAAAC,MAAkBC,EAAW,GAEvDC,IAAsBC,EAAY,MAAM;AAC9B,IAAAH,EAAAP,GAAW,IAAO,GAAG,EAAK;AAAA,EAAA,GACvC,CAACA,GAAWO,CAAa,CAAC,GAEvBI,IAAmBD,EAAY,MAAM;AAChC,aAAA,KAAK,MAAM,WAAW,SAC/BJ,EAAWN,CAAS;AAAA,EAAA,GACnB,CAACM,GAAYN,CAAS,CAAC,GAEpBY,IAAeF,EAAY,MAAM;AACjC,QAAA,EAACR,KAAA,QAAAA,EAAmB;AACtB;AAGF,UAAMW,IAAwC;AAAA,MAC5C;AAAA,QACE,+BAA+BX;AAAA,QAC/B,oBACE,gBAAAY;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,SAAS;AAAA,YACT,gBAAe;AAAA,YACf,aAAY;AAAA,YACZ,iBAAgB;AAAA,YAChB,aAAY;AAAA,YAEZ,UAAC,gBAAAD,EAAAE,GAAA,EAAK,WAAU,OAAM,UAAQ,YAAA;AAAA,UAAA;AAAA,QAChC;AAAA,QAEF,MAAMC,EAAc;AAAA,QACpB,WAAW;AAAA,UACT,UAAU;AAAA,UACV,qBAAqB;AAAA,UACrB,WAAW;AAAA,UACX,mBAAmB;AAAA,UACnB,UAAU;AAAA,UACV,iBAAiB;AAAA,UACjB,aAAa;AAAA,UACb,YAAY;AAAA,UACZ,aACE,gBAAAH;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,aAAY;AAAA,cACZ,eAAeP;AAAA,YAAA;AAAA,UACjB;AAAA,QAEJ;AAAA,QACA,UAAU;AAAA,MACZ;AAAA,IAAA;AAGF,IAAAN,EAAWL,GAAWa,CAAkB;AAElC,UAAAM,IAAmB,WAAW,MAAM;AACxC,mBAAaA,CAAgB,GACpB,SAAA,KAAK,MAAM,WAAW,UACXV;OACnB,GAAG;AAEI,IAAAL,EAAA,QAAQ,KAAKe,CAAgB;AAAA,KACtC,CAACR,GAAkBF,GAAqBT,GAAWK,CAAU,CAAC;AAU1D,SARMe;AAAA,IACX,OAAO;AAAA,MACL,mBAAAlB;AAAA,MACA,cAAAU;AAAA,IAAA;AAAA,IAEF,CAACA,CAAY;AAAA,EAAA;AAIjB;"}