@cuemath/leap 3.5.66-link0 → 3.5.66

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 (142) hide show
  1. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -1
  2. package/dist/features/cue-canvas/sidebar/sidebar.js +4 -4
  3. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -1
  4. package/dist/features/cue-canvas/toolbar/toolbar.js +17 -21
  5. package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
  6. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js +13 -23
  7. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
  8. package/dist/features/homework/homework-card-view.js +30 -29
  9. package/dist/features/homework/homework-card-view.js.map +1 -1
  10. package/dist/features/milestone/create/api/milestone-config.js.map +1 -1
  11. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js +1 -1
  12. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js.map +1 -1
  13. package/dist/features/trial-session/api/trial-home.js +16 -10
  14. package/dist/features/trial-session/api/trial-home.js.map +1 -1
  15. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js +50 -62
  16. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
  17. package/dist/features/trial-session/comps/class-preference/class-preference-styled.js +14 -5
  18. package/dist/features/trial-session/comps/class-preference/class-preference-styled.js.map +1 -1
  19. package/dist/features/trial-session/comps/class-preference/class-preference.js +53 -55
  20. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  21. package/dist/features/trial-session/comps/communication-slide/communication-slide-constants.js +2 -3
  22. package/dist/features/trial-session/comps/communication-slide/communication-slide-constants.js.map +1 -1
  23. package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js +27 -27
  24. package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js.map +1 -1
  25. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js +18 -19
  26. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js.map +1 -1
  27. package/dist/features/trial-session/comps/learning-session/learning-session.js +43 -34
  28. package/dist/features/trial-session/comps/learning-session/learning-session.js.map +1 -1
  29. package/dist/features/trial-session/comps/navigation-bar/index.js +58 -56
  30. package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
  31. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js +6 -29
  32. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
  33. package/dist/features/trial-session/comps/offering-information/offering-information.js +64 -74
  34. package/dist/features/trial-session/comps/offering-information/offering-information.js.map +1 -1
  35. package/dist/features/trial-session/comps/school-goals/school-goals-styled.js +9 -10
  36. package/dist/features/trial-session/comps/school-goals/school-goals-styled.js.map +1 -1
  37. package/dist/features/trial-session/comps/school-goals/school-goals-view.js +39 -40
  38. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  39. package/dist/features/trial-session/comps/school-goals/school-goals.js +37 -39
  40. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  41. package/dist/features/trial-session/comps/session-insights/session-insights-styled.js +20 -12
  42. package/dist/features/trial-session/comps/session-insights/session-insights-styled.js.map +1 -1
  43. package/dist/features/trial-session/comps/session-insights/session-insights.js +63 -64
  44. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  45. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js +13 -13
  46. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js.map +1 -1
  47. package/dist/features/trial-session/comps/session-overview/session-overview-utils.js +4 -23
  48. package/dist/features/trial-session/comps/session-overview/session-overview-utils.js.map +1 -1
  49. package/dist/features/trial-session/comps/session-overview/session-overview.js +20 -20
  50. package/dist/features/trial-session/comps/session-overview/session-overview.js.map +1 -1
  51. package/dist/features/trial-session/comps/session-report/report-404/report-404.js +16 -15
  52. package/dist/features/trial-session/comps/session-report/report-404/report-404.js.map +1 -1
  53. package/dist/features/trial-session/comps/session-report/session-report.js +33 -35
  54. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  55. package/dist/features/trial-session/comps/student-enrichment/student-enrichment-styled.js +16 -9
  56. package/dist/features/trial-session/comps/student-enrichment/student-enrichment-styled.js.map +1 -1
  57. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js +37 -39
  58. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  59. package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js +9 -10
  60. package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js.map +1 -1
  61. package/dist/features/trial-session/comps/student-info/student-info-styled.js +11 -26
  62. package/dist/features/trial-session/comps/student-info/student-info-styled.js.map +1 -1
  63. package/dist/features/trial-session/comps/student-info/student-info.js +78 -113
  64. package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
  65. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js +12 -3
  66. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js.map +1 -1
  67. package/dist/features/trial-session/comps/student-personalization/student-personalization.js +33 -34
  68. package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
  69. package/dist/features/trial-session/comps/student-profile/student-profile.js +44 -45
  70. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  71. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js +8 -9
  72. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
  73. package/dist/features/trial-session/comps/test-prep/test-prep-styled.js +19 -11
  74. package/dist/features/trial-session/comps/test-prep/test-prep-styled.js.map +1 -1
  75. package/dist/features/trial-session/comps/test-prep/test-prep.js +29 -31
  76. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  77. package/dist/features/trial-session/comps/worksheet/worksheet.js +33 -35
  78. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  79. package/dist/features/trial-session/context/trial-session-context.js +0 -2
  80. package/dist/features/trial-session/context/trial-session-context.js.map +1 -1
  81. package/dist/features/trial-session/helper.js +64 -70
  82. package/dist/features/trial-session/helper.js.map +1 -1
  83. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +158 -190
  84. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  85. package/dist/features/trial-session/right-panel/right-panel-styled.js +8 -8
  86. package/dist/features/trial-session/right-panel/right-panel-styled.js.map +1 -1
  87. package/dist/features/trial-session/right-panel/slide-components-map.js +36 -42
  88. package/dist/features/trial-session/right-panel/slide-components-map.js.map +1 -1
  89. package/dist/features/trial-session/trial-session-constants.js +18 -22
  90. package/dist/features/trial-session/trial-session-constants.js.map +1 -1
  91. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  92. package/dist/features/trial-session/trial-session-view.js +77 -82
  93. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  94. package/dist/features/trial-session/trial-session.js +38 -38
  95. package/dist/features/trial-session/trial-session.js.map +1 -1
  96. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +21 -21
  97. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
  98. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +12 -12
  99. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  100. package/dist/features/ui/theme/clrs.js +0 -1
  101. package/dist/features/ui/theme/clrs.js.map +1 -1
  102. package/dist/features/worksheet/worksheet/worksheet-helpers.js +37 -38
  103. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  104. package/dist/index.d.ts +3 -7
  105. package/dist/index.js +1 -1
  106. package/package.json +1 -1
  107. package/dist/features/trial-session/api/trial-session-report.js +0 -16
  108. package/dist/features/trial-session/api/trial-session-report.js.map +0 -1
  109. package/dist/features/trial-session/api/trial-topics.js +0 -9
  110. package/dist/features/trial-session/api/trial-topics.js.map +0 -1
  111. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-styled.js +0 -61
  112. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-styled.js.map +0 -1
  113. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-types.js +0 -5
  114. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-types.js.map +0 -1
  115. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-view.js +0 -135
  116. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-view.js.map +0 -1
  117. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary.js +0 -53
  118. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary.js.map +0 -1
  119. package/dist/features/trial-session/comps/student-info/student-info-constants.js +0 -35
  120. package/dist/features/trial-session/comps/student-info/student-info-constants.js.map +0 -1
  121. package/dist/features/trial-session/comps/student-info/student-info-helpers.js +0 -12
  122. package/dist/features/trial-session/comps/student-info/student-info-helpers.js.map +0 -1
  123. package/dist/features/trial-session/comps/topic-selection/topic-selection-styled.js +0 -42
  124. package/dist/features/trial-session/comps/topic-selection/topic-selection-styled.js.map +0 -1
  125. package/dist/features/trial-session/comps/topic-selection/topic-selection.js +0 -84
  126. package/dist/features/trial-session/comps/topic-selection/topic-selection.js.map +0 -1
  127. package/dist/features/trial-session/comps/whiteboard/whiteboard-styled.js +0 -21
  128. package/dist/features/trial-session/comps/whiteboard/whiteboard-styled.js.map +0 -1
  129. package/dist/features/trial-session/comps/whiteboard/whiteboard.js +0 -99
  130. package/dist/features/trial-session/comps/whiteboard/whiteboard.js.map +0 -1
  131. package/dist/features/worksheet/worksheet/mocks/activity.js +0 -6
  132. package/dist/features/worksheet/worksheet/mocks/activity.js.map +0 -1
  133. package/dist/features/worksheet/worksheet/mocks/signed-requests.js +0 -5
  134. package/dist/features/worksheet/worksheet/mocks/signed-requests.js.map +0 -1
  135. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js +0 -57
  136. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js.map +0 -1
  137. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js +0 -263
  138. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js.map +0 -1
  139. package/dist/features/worksheet/worksheet/stories/worksheet-student.js +0 -177
  140. package/dist/features/worksheet/worksheet/stories/worksheet-student.js.map +0 -1
  141. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js +0 -268
  142. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"homework-controls.js","sources":["../../../../src/features/cue-canvas/bottombar/homework-controls.tsx"],"sourcesContent":["import { memo, useCallback, useState, type FC } from 'react';\n\nimport CheckIcon from '../../../assets/line-icons/icons/check';\nimport ShareIcon from '../../../assets/line-icons/icons/share';\nimport Button from '../../ui/buttons/button/button';\nimport FlexView from '../../ui/layout/flex-view';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport { dataURIToBlob } from '../cue-canvas-helpers';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport type { IHomeWorkControllerProps } from './bottombar-types';\n\nconst HomeworkController: FC<IHomeWorkControllerProps> = props => {\n const { width, onSendImageToChat, onMarkAsResolved } = props;\n const { homeworkId, activeInstance, setHomeworkId } = useCueCanvasActions();\n const [isBusy, setIsBusy] = useState(false);\n\n const onSuccess = useCallback(() => {\n activeInstance?.clearCanvas();\n setHomeworkId(undefined);\n setIsBusy(false);\n }, [activeInstance, setHomeworkId]);\n\n const getBoardSnapshot = useCallback(async () => {\n if (!activeInstance) return;\n\n const snapshot = await activeInstance?.getCanvasAsImage();\n\n if (!snapshot) {\n return;\n }\n\n const blobdata = dataURIToBlob(snapshot);\n\n return [blobdata];\n }, [activeInstance]);\n\n const handleSendImageToChat = useCallback(async () => {\n const snapshot = await getBoardSnapshot();\n\n if (!homeworkId || !onSendImageToChat || !snapshot) return;\n\n onSendImageToChat?.(homeworkId, snapshot, onSuccess);\n }, [getBoardSnapshot, homeworkId, onSendImageToChat, onSuccess]);\n\n const handleMarkAsResolved = useCallback(() => {\n if (!homeworkId) return;\n setIsBusy(true);\n onMarkAsResolved?.(homeworkId, onSuccess);\n }, [homeworkId, onMarkAsResolved, onSuccess]);\n\n if (!homeworkId) return null;\n\n if (isBusy) {\n return (\n <FlexView\n $gapX={1}\n $gutterX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $width={width}\n $background=\"YELLOW_1\"\n >\n <Text $renderAs=\"body3\" $color=\"BLACK\">\n Resolving....\n </Text>\n </FlexView>\n );\n }\n\n return (\n <FlexView\n $flexDirection=\"row\"\n $gapX={1}\n $gutterX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $width={width}\n $background=\"YELLOW_1\"\n >\n <Button\n label=\"Mark as reolved\"\n onClick={handleMarkAsResolved}\n renderAs={'primary'}\n Icon={CheckIcon}\n busy={isBusy}\n />\n <Separator width={16} />\n <Button\n label=\"Send CueBoard image to chat\"\n onClick={handleSendImageToChat}\n renderAs={'primary'}\n Icon={ShareIcon}\n />\n </FlexView>\n );\n};\n\nexport default memo(HomeworkController);\n"],"names":["HomeworkController","props","width","onSendImageToChat","onMarkAsResolved","homeworkId","activeInstance","setHomeworkId","useCueCanvasActions","isBusy","setIsBusy","useState","onSuccess","useCallback","getBoardSnapshot","snapshot","dataURIToBlob","handleSendImageToChat","handleMarkAsResolved","jsx","FlexView","Text","jsxs","Button","CheckIcon","Separator","ShareIcon","HomeworkControls","memo"],"mappings":";;;;;;;;;;AAYA,MAAMA,IAAmD,CAASC,MAAA;AAChE,QAAM,EAAE,OAAAC,GAAO,mBAAAC,GAAmB,kBAAAC,EAAA,IAAqBH,GACjD,EAAE,YAAAI,GAAY,gBAAAC,GAAgB,eAAAC,MAAkBC,EAAoB,GACpE,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GAEpCC,IAAYC,EAAY,MAAM;AAClC,IAAAP,KAAA,QAAAA,EAAgB,eAChBC,EAAc,MAAS,GACvBG,EAAU,EAAK;AAAA,EAAA,GACd,CAACJ,GAAgBC,CAAa,CAAC,GAE5BO,IAAmBD,EAAY,YAAY;AAC/C,QAAI,CAACP,EAAgB;AAEf,UAAAS,IAAW,OAAMT,KAAA,gBAAAA,EAAgB;AAEvC,WAAKS,IAME,CAFUC,EAAcD,CAAQ,CAEvB,IALd;AAAA,EAKc,GACf,CAACT,CAAc,CAAC,GAEbW,IAAwBJ,EAAY,YAAY;AAC9C,UAAAE,IAAW,MAAMD;AAEvB,IAAI,CAACT,KAAc,CAACF,KAAqB,CAACY,KAEtBZ,KAAA,QAAAA,EAAAE,GAAYU,GAAUH;AAAA,KACzC,CAACE,GAAkBT,GAAYF,GAAmBS,CAAS,CAAC,GAEzDM,IAAuBL,EAAY,MAAM;AAC7C,IAAKR,MACLK,EAAU,EAAI,GACdN,KAAA,QAAAA,EAAmBC,GAAYO;AAAA,EAC9B,GAAA,CAACP,GAAYD,GAAkBQ,CAAS,CAAC;AAExC,SAACP,IAEDI,IAEA,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,QAAQlB;AAAA,MACR,aAAY;AAAA,MAEZ,4BAACmB,GAAK,EAAA,WAAU,SAAQ,QAAO,SAAQ,UAEvC,iBAAA;AAAA,IAAA;AAAA,EAAA,IAMJ,gBAAAC;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,QAAQlB;AAAA,MACR,aAAY;AAAA,MAEZ,UAAA;AAAA,QAAA,gBAAAiB;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,SAASL;AAAA,YACT,UAAU;AAAA,YACV,MAAMM;AAAA,YACN,MAAMf;AAAA,UAAA;AAAA,QACR;AAAA,QACA,gBAAAU,EAACM,GAAU,EAAA,OAAO,GAAI,CAAA;AAAA,QACtB,gBAAAN;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,SAASN;AAAA,YACT,UAAU;AAAA,YACV,MAAMS;AAAA,UAAA;AAAA,QACR;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,IA1CoB;AA6C1B,GAEeC,IAAAC,EAAK5B,CAAkB;"}
1
+ {"version":3,"file":"homework-controls.js","sources":["../../../../src/features/cue-canvas/bottombar/homework-controls.tsx"],"sourcesContent":["import { memo, useCallback, useState, type FC } from 'react';\n\nimport CheckIcon from '../../../assets/line-icons/icons/check';\nimport ShareIcon from '../../../assets/line-icons/icons/share';\nimport Button from '../../ui/buttons/button/button';\nimport FlexView from '../../ui/layout/flex-view';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport { dataURIToBlob } from '../cue-canvas-helpers';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport type { IHomeWorkControllerProps } from './bottombar-types';\n\nconst HomeworkController: FC<IHomeWorkControllerProps> = props => {\n const { width, onSendImageToChat, onMarkAsResolved } = props;\n const { homeworkId, activeInstance, setHomeworkId } = useCueCanvasActions();\n const [isBusy, setIsBusy] = useState(false);\n\n const onSuccess = useCallback(() => {\n activeInstance?.clearCanvas();\n setHomeworkId(undefined);\n setIsBusy(false);\n }, [activeInstance, setHomeworkId]);\n\n const getBoardSnapshot = useCallback(async () => {\n if (!activeInstance) return;\n\n const snapshot = await activeInstance?.getCanvasAsImage();\n\n if (!snapshot) {\n return;\n }\n\n const blobdata = dataURIToBlob(snapshot);\n\n return [blobdata];\n }, [activeInstance]);\n\n const handleSendImageToChat = useCallback(async () => {\n const snapshot = await getBoardSnapshot();\n\n if (!homeworkId || !onSendImageToChat || !snapshot) return;\n\n onSendImageToChat?.(homeworkId, snapshot, onSuccess);\n }, [getBoardSnapshot, homeworkId, onSendImageToChat, onSuccess]);\n\n const handleMarkAsResolved = useCallback(() => {\n if (!homeworkId) return;\n setIsBusy(true);\n onMarkAsResolved?.(homeworkId, onSuccess);\n }, [homeworkId, onMarkAsResolved, onSuccess]);\n\n if (!homeworkId) return null;\n\n if (isBusy) {\n return (\n <FlexView\n $gapX={1}\n $gutterX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $width={width}\n $background=\"YELLOW_1\"\n >\n <Text $renderAs=\"body3\" $color=\"BLACK\">\n Resolving....\n </Text>\n </FlexView>\n );\n }\n\n return (\n <FlexView\n $flexDirection=\"row\"\n $gapX={1}\n $gutterX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $width={width}\n $background=\"YELLOW_1\"\n >\n <Button\n label=\"Mark as reolved\"\n onClick={handleMarkAsResolved}\n renderAs={'primary'}\n Icon={CheckIcon}\n busy={isBusy}\n />\n <Separator width={16} />\n <Button\n label=\"Send CueBoard image to chat\"\n onClick={handleSendImageToChat}\n renderAs={'primary'}\n Icon={ShareIcon}\n />\n </FlexView>\n );\n};\n\nexport default memo(HomeworkController);\n"],"names":["HomeworkController","props","width","onSendImageToChat","onMarkAsResolved","homeworkId","activeInstance","setHomeworkId","useCueCanvasActions","isBusy","setIsBusy","useState","onSuccess","useCallback","getBoardSnapshot","snapshot","dataURIToBlob","handleSendImageToChat","handleMarkAsResolved","jsx","FlexView","Text","jsxs","Button","CheckIcon","Separator","ShareIcon","homeworkControls","memo"],"mappings":";;;;;;;;;;AAYA,MAAMA,IAAmD,CAASC,MAAA;AAChE,QAAM,EAAE,OAAAC,GAAO,mBAAAC,GAAmB,kBAAAC,EAAA,IAAqBH,GACjD,EAAE,YAAAI,GAAY,gBAAAC,GAAgB,eAAAC,MAAkBC,EAAoB,GACpE,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GAEpCC,IAAYC,EAAY,MAAM;AAClC,IAAAP,KAAA,QAAAA,EAAgB,eAChBC,EAAc,MAAS,GACvBG,EAAU,EAAK;AAAA,EAAA,GACd,CAACJ,GAAgBC,CAAa,CAAC,GAE5BO,IAAmBD,EAAY,YAAY;AAC/C,QAAI,CAACP,EAAgB;AAEf,UAAAS,IAAW,OAAMT,KAAA,gBAAAA,EAAgB;AAEvC,WAAKS,IAME,CAFUC,EAAcD,CAAQ,CAEvB,IALd;AAAA,EAKc,GACf,CAACT,CAAc,CAAC,GAEbW,IAAwBJ,EAAY,YAAY;AAC9C,UAAAE,IAAW,MAAMD;AAEvB,IAAI,CAACT,KAAc,CAACF,KAAqB,CAACY,KAEtBZ,KAAA,QAAAA,EAAAE,GAAYU,GAAUH;AAAA,KACzC,CAACE,GAAkBT,GAAYF,GAAmBS,CAAS,CAAC,GAEzDM,IAAuBL,EAAY,MAAM;AAC7C,IAAKR,MACLK,EAAU,EAAI,GACdN,KAAA,QAAAA,EAAmBC,GAAYO;AAAA,EAC9B,GAAA,CAACP,GAAYD,GAAkBQ,CAAS,CAAC;AAExC,SAACP,IAEDI,IAEA,gBAAAU;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,QAAQlB;AAAA,MACR,aAAY;AAAA,MAEZ,4BAACmB,GAAK,EAAA,WAAU,SAAQ,QAAO,SAAQ,UAEvC,iBAAA;AAAA,IAAA;AAAA,EAAA,IAMJ,gBAAAC;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,QAAQlB;AAAA,MACR,aAAY;AAAA,MAEZ,UAAA;AAAA,QAAA,gBAAAiB;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,SAASL;AAAA,YACT,UAAU;AAAA,YACV,MAAMM;AAAA,YACN,MAAMf;AAAA,UAAA;AAAA,QACR;AAAA,QACA,gBAAAU,EAACM,GAAU,EAAA,OAAO,GAAI,CAAA;AAAA,QACtB,gBAAAN;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,OAAM;AAAA,YACN,SAASN;AAAA,YACT,UAAU;AAAA,YACV,MAAMS;AAAA,UAAA;AAAA,QACR;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,IA1CoB;AA6C1B,GAEeC,IAAAC,EAAK5B,CAAkB;"}
@@ -3,15 +3,15 @@ import { memo as p, useState as d, useMemo as f } from "react";
3
3
  import c from "../../ui/layout/flex-view.js";
4
4
  import o from "../../ui/separator/separator.js";
5
5
  import l from "./homework/homework.js";
6
- import u from "./puzzles/puzzles.js";
7
- import { SideBarContainer as s } from "./sidebar-styled.js";
6
+ import s from "./puzzles/puzzles.js";
7
+ import { SideBarContainer as u } from "./sidebar-styled.js";
8
8
  import x from "./tiles/tile.js";
9
9
  const S = ({ grade: m, hwRequests: t }) => {
10
10
  const [r, i] = d(), a = f(() => r === "tile" ? "300px" : r === "homework" ? "248px" : r === "puzzle" ? "650px" : "auto", [r]);
11
- return /* @__PURE__ */ e(s, { $activeSidebar: r, $width: a, children: /* @__PURE__ */ n(c, { $flexDirection: "row", children: [
11
+ return /* @__PURE__ */ e(u, { $activeSidebar: r, $width: a, children: /* @__PURE__ */ n(c, { $flexDirection: "row", children: [
12
12
  /* @__PURE__ */ e(x, { activeSidebar: r, setActiveSidebar: i }),
13
13
  /* @__PURE__ */ e(o, { width: 8 }),
14
- /* @__PURE__ */ e(u, { grade: m, activeSidebar: r, setActiveSidebar: i }),
14
+ /* @__PURE__ */ e(s, { grade: m, activeSidebar: r, setActiveSidebar: i }),
15
15
  /* @__PURE__ */ e(o, { width: 8 }),
16
16
  t && t.length > 0 && /* @__PURE__ */ e(
17
17
  l,
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","sources":["../../../../src/features/cue-canvas/sidebar/sidebar.tsx"],"sourcesContent":["import { memo, useMemo, useState, type FC } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Separator from '../../ui/separator/separator';\nimport Homework from './homework/homework';\nimport type { IHomeWorkHelpRequestModelWithStudentName } from './homework/homework-types';\nimport Puzzles from './puzzles/puzzles';\nimport type { TActiveSidebar } from './puzzles/puzzles-type';\nimport { SideBarContainer } from './sidebar-styled';\nimport TileBar from './tiles/tile';\n\ninterface ISidebar {\n grade?: string;\n hwRequests?: IHomeWorkHelpRequestModelWithStudentName[];\n}\n\nconst Sidebar: FC<ISidebar> = ({ grade, hwRequests }) => {\n const [activeSidebar, setActiveSidebar] = useState<TActiveSidebar | undefined>();\n\n const width = useMemo(() => {\n if (activeSidebar === 'tile') {\n return '300px';\n }\n\n if (activeSidebar === 'homework') {\n return '248px';\n }\n\n if (activeSidebar === 'puzzle') {\n return '650px';\n }\n\n return 'auto';\n }, [activeSidebar]);\n\n return (\n <SideBarContainer $activeSidebar={activeSidebar} $width={width}>\n <FlexView $flexDirection=\"row\">\n <TileBar activeSidebar={activeSidebar} setActiveSidebar={setActiveSidebar} />\n <Separator width={8} />\n <Puzzles grade={grade} activeSidebar={activeSidebar} setActiveSidebar={setActiveSidebar} />\n <Separator width={8} />\n\n {hwRequests && hwRequests.length > 0 && (\n <Homework\n activeSidebar={activeSidebar}\n setActiveSidebar={setActiveSidebar}\n hwRequests={hwRequests}\n />\n )}\n </FlexView>\n </SideBarContainer>\n );\n};\n\nexport default memo(Sidebar);\n"],"names":["Sidebar","grade","hwRequests","activeSidebar","setActiveSidebar","useState","width","useMemo","jsx","SideBarContainer","jsxs","FlexView","TileBar","Separator","Puzzles","Homework","Sidebar$1","memo"],"mappings":";;;;;;;;AAgBA,MAAMA,IAAwB,CAAC,EAAE,OAAAC,GAAO,YAAAC,QAAiB;AACvD,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAqC,GAEzEC,IAAQC,EAAQ,MAChBJ,MAAkB,SACb,UAGLA,MAAkB,aACb,UAGLA,MAAkB,WACb,UAGF,QACN,CAACA,CAAa,CAAC;AAGhB,SAAA,gBAAAK,EAACC,KAAiB,gBAAgBN,GAAe,QAAQG,GACvD,UAAA,gBAAAI,EAACC,GAAS,EAAA,gBAAe,OACvB,UAAA;AAAA,IAAC,gBAAAH,EAAAI,GAAA,EAAQ,eAAAT,GAA8B,kBAAAC,EAAoC,CAAA;AAAA,IAC3E,gBAAAI,EAACK,GAAU,EAAA,OAAO,EAAG,CAAA;AAAA,IACpB,gBAAAL,EAAAM,GAAA,EAAQ,OAAAb,GAAc,eAAAE,GAA8B,kBAAAC,EAAoC,CAAA;AAAA,IACzF,gBAAAI,EAACK,GAAU,EAAA,OAAO,EAAG,CAAA;AAAA,IAEpBX,KAAcA,EAAW,SAAS,KACjC,gBAAAM;AAAA,MAACO;AAAA,MAAA;AAAA,QACC,eAAAZ;AAAA,QACA,kBAAAC;AAAA,QACA,YAAAF;AAAA,MAAA;AAAA,IACF;AAAA,EAAA,EAEJ,CAAA,EACF,CAAA;AAEJ,GAEec,IAAAC,EAAKjB,CAAO;"}
1
+ {"version":3,"file":"sidebar.js","sources":["../../../../src/features/cue-canvas/sidebar/sidebar.tsx"],"sourcesContent":["import { memo, useMemo, useState, type FC } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Separator from '../../ui/separator/separator';\nimport Homework from './homework/homework';\nimport type { IHomeWorkHelpRequestModelWithStudentName } from './homework/homework-types';\nimport Puzzles from './puzzles/puzzles';\nimport type { TActiveSidebar } from './puzzles/puzzles-type';\nimport { SideBarContainer } from './sidebar-styled';\nimport TileBar from './tiles/tile';\n\ninterface ISidebar {\n grade?: string;\n hwRequests?: IHomeWorkHelpRequestModelWithStudentName[];\n}\n\nconst Sidebar: FC<ISidebar> = ({ grade, hwRequests }) => {\n const [activeSidebar, setActiveSidebar] = useState<TActiveSidebar | undefined>();\n\n const width = useMemo(() => {\n if (activeSidebar === 'tile') {\n return '300px';\n }\n\n if (activeSidebar === 'homework') {\n return '248px';\n }\n\n if (activeSidebar === 'puzzle') {\n return '650px';\n }\n\n return 'auto';\n }, [activeSidebar]);\n\n return (\n <SideBarContainer $activeSidebar={activeSidebar} $width={width}>\n <FlexView $flexDirection=\"row\">\n <TileBar activeSidebar={activeSidebar} setActiveSidebar={setActiveSidebar} />\n <Separator width={8} />\n <Puzzles grade={grade} activeSidebar={activeSidebar} setActiveSidebar={setActiveSidebar} />\n <Separator width={8} />\n\n {hwRequests && hwRequests.length > 0 && (\n <Homework\n activeSidebar={activeSidebar}\n setActiveSidebar={setActiveSidebar}\n hwRequests={hwRequests}\n />\n )}\n </FlexView>\n </SideBarContainer>\n );\n};\n\nexport default memo(Sidebar);\n"],"names":["Sidebar","grade","hwRequests","activeSidebar","setActiveSidebar","useState","width","useMemo","jsx","SideBarContainer","jsxs","FlexView","TileBar","Separator","Puzzles","Homework","sidebar","memo"],"mappings":";;;;;;;;AAgBA,MAAMA,IAAwB,CAAC,EAAE,OAAAC,GAAO,YAAAC,QAAiB;AACvD,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAqC,GAEzEC,IAAQC,EAAQ,MAChBJ,MAAkB,SACb,UAGLA,MAAkB,aACb,UAGLA,MAAkB,WACb,UAGF,QACN,CAACA,CAAa,CAAC;AAGhB,SAAA,gBAAAK,EAACC,KAAiB,gBAAgBN,GAAe,QAAQG,GACvD,UAAA,gBAAAI,EAACC,GAAS,EAAA,gBAAe,OACvB,UAAA;AAAA,IAAC,gBAAAH,EAAAI,GAAA,EAAQ,eAAAT,GAA8B,kBAAAC,EAAoC,CAAA;AAAA,IAC3E,gBAAAI,EAACK,GAAU,EAAA,OAAO,EAAG,CAAA;AAAA,IACpB,gBAAAL,EAAAM,GAAA,EAAQ,OAAAb,GAAc,eAAAE,GAA8B,kBAAAC,EAAoC,CAAA;AAAA,IACzF,gBAAAI,EAACK,GAAU,EAAA,OAAO,EAAG,CAAA;AAAA,IAEpBX,KAAcA,EAAW,SAAS,KACjC,gBAAAM;AAAA,MAACO;AAAA,MAAA;AAAA,QACC,eAAAZ;AAAA,QACA,kBAAAC;AAAA,QACA,YAAAF;AAAA,MAAA;AAAA,IACF;AAAA,EAAA,EAEJ,CAAA,EACF,CAAA;AAEJ,GAEec,IAAAC,EAAKjB,CAAO;"}
@@ -1,25 +1,21 @@
1
- import { jsx as r, jsxs as c } from "react/jsx-runtime";
2
- import { memo as l, useEffect as f } from "react";
3
- import u from "../../ui/layout/flex-view.js";
4
- import { getUserTools as p } from "../cue-canvas-helpers.js";
5
- import { useCueCanvasActions as C } from "../hooks/use-cue-canvas-actions.js";
6
- import b from "./color-picker-menu.js";
7
- import v from "./tool.js";
8
- import x from "./whiteboard-toolbar.js";
9
- const T = l(function({
10
- userType: t,
11
- renderAs: e,
12
- withGutter: a = !0
13
- }) {
14
- const i = p(t, e), { activeInstance: o, activeTool: m, activeColor: s } = C();
15
- return f(() => {
16
- o && (o.setColor(s), o.setTool(m));
17
- }, [o]), e === "whiteboard" ? /* @__PURE__ */ r(x, { tools: i, userType: t, withGutter: a }) : /* @__PURE__ */ c(u, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", $flexGapX: 0.25, children: [
18
- i.map((n) => /* @__PURE__ */ r(v, { tool: n, shouldAnimate: !0 }, n)),
19
- /* @__PURE__ */ r(b, { userType: t, renderAs: "canvas" })
1
+ import { jsx as r, jsxs as s } from "react/jsx-runtime";
2
+ import { memo as c, useEffect as l } from "react";
3
+ import f from "../../ui/layout/flex-view.js";
4
+ import { getUserTools as u } from "../cue-canvas-helpers.js";
5
+ import { useCueCanvasActions as p } from "../hooks/use-cue-canvas-actions.js";
6
+ import C from "./color-picker-menu.js";
7
+ import b from "./tool.js";
8
+ import v from "./whiteboard-toolbar.js";
9
+ const x = c(function({ userType: t, renderAs: e }) {
10
+ const i = u(t, e), { activeInstance: o, activeTool: a, activeColor: m } = p();
11
+ return l(() => {
12
+ o && (o.setColor(m), o.setTool(a));
13
+ }, [o]), e === "whiteboard" ? /* @__PURE__ */ r(v, { tools: i, userType: t }) : /* @__PURE__ */ s(f, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", $flexGapX: 0.25, children: [
14
+ i.map((n) => /* @__PURE__ */ r(b, { tool: n, shouldAnimate: !0 }, n)),
15
+ /* @__PURE__ */ r(C, { userType: t, renderAs: "canvas" })
20
16
  ] });
21
- }), D = T;
17
+ }), k = x;
22
18
  export {
23
- D as default
19
+ k as default
24
20
  };
25
21
  //# sourceMappingURL=toolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar.js","sources":["../../../../src/features/cue-canvas/toolbar/toolbar.tsx"],"sourcesContent":["import { memo, useEffect, type FC } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport { getUserTools } from '../cue-canvas-helpers';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport type { IToolbarProps } from '../types/toolbar';\nimport ColorPickerMenu from './color-picker-menu';\nimport Tool from './tool';\nimport WhiteboardToolbar from './whiteboard-toolbar';\n\nconst Toolbar: FC<IToolbarProps> = memo(function Toolbar({\n userType,\n renderAs,\n withGutter = true,\n}) {\n const tools = getUserTools(userType, renderAs);\n const { activeInstance: cueCanvas, activeTool, activeColor } = useCueCanvasActions();\n\n // This effect ensures that the selected tool and color are applied to the cueCanvas instance\n // whenever it changes. For example, if a user selects a tool and color, then navigates to a\n // different question (causing a new cueCanvas instance), the same tool and color will be set\n // on the new instance.\n // Disabling the exhaustive-deps rule here because we want to run this effect only\n // when the cueCanvas instance is set, not on every tool & color change.\n useEffect(() => {\n if (cueCanvas) {\n cueCanvas.setColor(activeColor);\n\n cueCanvas.setTool(activeTool);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cueCanvas]);\n\n if (renderAs === 'whiteboard') {\n return <WhiteboardToolbar tools={tools} userType={userType} withGutter={withGutter} />;\n }\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGapX={0.25}>\n {tools.map(tool => (\n <Tool tool={tool} key={tool} shouldAnimate />\n ))}\n <ColorPickerMenu userType={userType} renderAs=\"canvas\" />\n </FlexView>\n );\n});\n\nexport default Toolbar;\n"],"names":["Toolbar","memo","userType","renderAs","withGutter","tools","getUserTools","cueCanvas","activeTool","activeColor","useCueCanvasActions","useEffect","jsx","WhiteboardToolbar","jsxs","FlexView","Tool","tool","ColorPickerMenu","Toolbar$1"],"mappings":";;;;;;;;AAUA,MAAMA,IAA6BC,EAAK,SAAiB;AAAA,EACvD,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC,IAAa;AACf,GAAG;AACK,QAAAC,IAAQC,EAAaJ,GAAUC,CAAQ,GACvC,EAAE,gBAAgBI,GAAW,YAAAC,GAAY,aAAAC,EAAA,IAAgBC;AAiB/D,SATAC,EAAU,MAAM;AACd,IAAIJ,MACFA,EAAU,SAASE,CAAW,GAE9BF,EAAU,QAAQC,CAAU;AAAA,EAC9B,GAEC,CAACD,CAAS,CAAC,GAEVJ,MAAa,eACP,gBAAAS,EAAAC,GAAA,EAAkB,OAAAR,GAAc,UAAAH,GAAoB,YAAAE,EAAwB,CAAA,IAIpF,gBAAAU,EAACC,KAAS,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UAAS,WAAW,MACrF,UAAA;AAAA,IAAMV,EAAA,IAAI,OACR,gBAAAO,EAAAI,GAAA,EAAK,MAAAC,GAAuB,eAAa,GAAA,GAAnBA,CAAoB,CAC5C;AAAA,IACA,gBAAAL,EAAAM,GAAA,EAAgB,UAAAhB,GAAoB,UAAS,SAAS,CAAA;AAAA,EACzD,EAAA,CAAA;AAEJ,CAAC,GAEDiB,IAAenB;"}
1
+ {"version":3,"file":"toolbar.js","sources":["../../../../src/features/cue-canvas/toolbar/toolbar.tsx"],"sourcesContent":["import { memo, useEffect, type FC } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport { getUserTools } from '../cue-canvas-helpers';\nimport { useCueCanvasActions } from '../hooks/use-cue-canvas-actions';\nimport type { IToolbarProps } from '../types/toolbar';\nimport ColorPickerMenu from './color-picker-menu';\nimport Tool from './tool';\nimport WhiteboardToolbar from './whiteboard-toolbar';\n\nconst Toolbar: FC<IToolbarProps> = memo(function Toolbar({ userType, renderAs }) {\n const tools = getUserTools(userType, renderAs);\n const { activeInstance: cueCanvas, activeTool, activeColor } = useCueCanvasActions();\n\n // This effect ensures that the selected tool and color are applied to the cueCanvas instance\n // whenever it changes. For example, if a user selects a tool and color, then navigates to a\n // different question (causing a new cueCanvas instance), the same tool and color will be set\n // on the new instance.\n // Disabling the exhaustive-deps rule here because we want to run this effect only\n // when the cueCanvas instance is set, not on every tool & color change.\n useEffect(() => {\n if (cueCanvas) {\n cueCanvas.setColor(activeColor);\n\n cueCanvas.setTool(activeTool);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [cueCanvas]);\n\n if (renderAs === 'whiteboard') {\n return <WhiteboardToolbar tools={tools} userType={userType} />;\n }\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGapX={0.25}>\n {tools.map(tool => (\n <Tool tool={tool} key={tool} shouldAnimate />\n ))}\n <ColorPickerMenu userType={userType} renderAs=\"canvas\" />\n </FlexView>\n );\n});\n\nexport default Toolbar;\n"],"names":["Toolbar","memo","userType","renderAs","tools","getUserTools","cueCanvas","activeTool","activeColor","useCueCanvasActions","useEffect","jsx","WhiteboardToolbar","jsxs","FlexView","Tool","tool","ColorPickerMenu","Toolbar$1"],"mappings":";;;;;;;;AAUA,MAAMA,IAA6BC,EAAK,SAAiB,EAAE,UAAAC,GAAU,UAAAC,KAAY;AACzE,QAAAC,IAAQC,EAAaH,GAAUC,CAAQ,GACvC,EAAE,gBAAgBG,GAAW,YAAAC,GAAY,aAAAC,EAAA,IAAgBC;AAiB/D,SATAC,EAAU,MAAM;AACd,IAAIJ,MACFA,EAAU,SAASE,CAAW,GAE9BF,EAAU,QAAQC,CAAU;AAAA,EAC9B,GAEC,CAACD,CAAS,CAAC,GAEVH,MAAa,eACR,gBAAAQ,EAACC,GAAkB,EAAA,OAAAR,GAAc,UAAAF,EAAoB,CAAA,IAI5D,gBAAAW,EAACC,KAAS,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UAAS,WAAW,MACrF,UAAA;AAAA,IAAMV,EAAA,IAAI,OACR,gBAAAO,EAAAI,GAAA,EAAK,MAAAC,GAAuB,eAAa,GAAA,GAAnBA,CAAoB,CAC5C;AAAA,IACA,gBAAAL,EAAAM,GAAA,EAAgB,UAAAf,GAAoB,UAAS,SAAS,CAAA;AAAA,EACzD,EAAA,CAAA;AAEJ,CAAC,GAEDgB,IAAelB;"}
@@ -1,30 +1,20 @@
1
- import { jsxs as a, jsx as r } from "react/jsx-runtime";
2
- import { memo as l } from "react";
3
- import c from "../../ui/layout/flex-view.js";
4
- import p from "./color-picker-menu.js";
1
+ import { jsxs as s, jsx as r } from "react/jsx-runtime";
2
+ import { memo as a } from "react";
3
+ import l from "../../ui/layout/flex-view.js";
4
+ import c from "./color-picker-menu.js";
5
5
  import i from "./tool.js";
6
- const T = l(function({
6
+ const b = a(function({
7
7
  tools: e,
8
- userType: t,
9
- withGutter: m
8
+ userType: t
10
9
  }) {
11
- const n = e.slice(0, 4), s = e.slice(4);
12
- return /* @__PURE__ */ a(
13
- c,
14
- {
15
- $flexDirection: "row",
16
- $alignItems: "center",
17
- $position: "relative",
18
- $flexGapX: m ? 0.25 : 0,
19
- children: [
20
- n.map((o) => /* @__PURE__ */ r(i, { tool: o, shouldAnimate: !0 }, o)),
21
- /* @__PURE__ */ r(p, { userType: t, renderAs: "whiteboard" }),
22
- s.map((o) => /* @__PURE__ */ r(i, { tool: o }, o))
23
- ]
24
- }
25
- );
10
+ const m = e.slice(0, 4), n = e.slice(4);
11
+ return /* @__PURE__ */ s(l, { $flexDirection: "row", $alignItems: "center", $position: "relative", $flexGapX: 0.25, children: [
12
+ m.map((o) => /* @__PURE__ */ r(i, { tool: o, shouldAnimate: !0 }, o)),
13
+ /* @__PURE__ */ r(c, { userType: t, renderAs: "whiteboard" }),
14
+ n.map((o) => /* @__PURE__ */ r(i, { tool: o }, o))
15
+ ] });
26
16
  });
27
17
  export {
28
- T as default
18
+ b as default
29
19
  };
30
20
  //# sourceMappingURL=whiteboard-toolbar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whiteboard-toolbar.js","sources":["../../../../src/features/cue-canvas/toolbar/whiteboard-toolbar.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport type { IWhiteboardToolbar } from '../types/toolbar';\nimport ColorPickerMenu from './color-picker-menu';\nimport Tool from './tool';\n\nconst WhiteboardToolbar: FC<IWhiteboardToolbar> = memo(function WhiteboardToolbar({\n tools,\n userType,\n withGutter,\n}) {\n const writingTools = tools.slice(0, 4);\n const otherTools = tools.slice(4);\n\n return (\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $position=\"relative\"\n $flexGapX={withGutter ? 0.25 : 0}\n >\n {writingTools.map(tool => (\n <Tool tool={tool} key={tool} shouldAnimate={true} />\n ))}\n <ColorPickerMenu userType={userType} renderAs=\"whiteboard\" />\n {otherTools.map(tool => (\n <Tool tool={tool} key={tool} />\n ))}\n </FlexView>\n );\n});\n\nexport default WhiteboardToolbar;\n"],"names":["WhiteboardToolbar","memo","tools","userType","withGutter","writingTools","otherTools","jsxs","FlexView","jsx","Tool","tool","ColorPickerMenu"],"mappings":";;;;;AAOM,MAAAA,IAA4CC,EAAK,SAA2B;AAAA,EAChF,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AACF,GAAG;AACD,QAAMC,IAAeH,EAAM,MAAM,GAAG,CAAC,GAC/BI,IAAaJ,EAAM,MAAM,CAAC;AAG9B,SAAA,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,WAAU;AAAA,MACV,WAAWJ,IAAa,OAAO;AAAA,MAE9B,UAAA;AAAA,QAAaC,EAAA,IAAI,OACf,gBAAAI,EAAAC,GAAA,EAAK,MAAAC,GAAuB,eAAe,GAAA,GAArBA,CAA2B,CACnD;AAAA,QACA,gBAAAF,EAAAG,GAAA,EAAgB,UAAAT,GAAoB,UAAS,aAAa,CAAA;AAAA,QAC1DG,EAAW,IAAI,CAAAK,wBACbD,GAAK,EAAA,MAAAC,KAAiBA,CAAM,CAC9B;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
1
+ {"version":3,"file":"whiteboard-toolbar.js","sources":["../../../../src/features/cue-canvas/toolbar/whiteboard-toolbar.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport type { IWhiteboardToolbar } from '../types/toolbar';\nimport ColorPickerMenu from './color-picker-menu';\nimport Tool from './tool';\n\nconst WhiteboardToolbar: FC<IWhiteboardToolbar> = memo(function WhiteboardToolbar({\n tools,\n userType,\n}) {\n const writingTools = tools.slice(0, 4);\n const otherTools = tools.slice(4);\n\n return (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $position=\"relative\" $flexGapX={0.25}>\n {writingTools.map(tool => (\n <Tool tool={tool} key={tool} shouldAnimate={true} />\n ))}\n <ColorPickerMenu userType={userType} renderAs=\"whiteboard\" />\n {otherTools.map(tool => (\n <Tool tool={tool} key={tool} />\n ))}\n </FlexView>\n );\n});\n\nexport default WhiteboardToolbar;\n"],"names":["WhiteboardToolbar","memo","tools","userType","writingTools","otherTools","jsxs","FlexView","jsx","Tool","tool","ColorPickerMenu"],"mappings":";;;;;AAOM,MAAAA,IAA4CC,EAAK,SAA2B;AAAA,EAChF,OAAAC;AAAA,EACA,UAAAC;AACF,GAAG;AACD,QAAMC,IAAeF,EAAM,MAAM,GAAG,CAAC,GAC/BG,IAAaH,EAAM,MAAM,CAAC;AAG9B,SAAA,gBAAAI,EAACC,KAAS,gBAAe,OAAM,aAAY,UAAS,WAAU,YAAW,WAAW,MACjF,UAAA;AAAA,IAAaH,EAAA,IAAI,OACf,gBAAAI,EAAAC,GAAA,EAAK,MAAAC,GAAuB,eAAe,GAAA,GAArBA,CAA2B,CACnD;AAAA,IACA,gBAAAF,EAAAG,GAAA,EAAgB,UAAAR,GAAoB,UAAS,aAAa,CAAA;AAAA,IAC1DE,EAAW,IAAI,CAAAK,wBACbD,GAAK,EAAA,MAAAC,KAAiBA,CAAM,CAC9B;AAAA,EACH,EAAA,CAAA;AAEJ,CAAC;"}
@@ -3,10 +3,10 @@ import { memo as F, useMemo as G, useState as j, useRef as _, useCallback as w,
3
3
  import U from "../../assets/line-icons/icons/closed-eye.js";
4
4
  import y from "../chapters-v2/comps/node-card/node-card-tags.js";
5
5
  import { getNodeTypeBasedBgImage as V } from "../chapters-v2/utils/index.js";
6
- import { getNodeCardBasedIcon as Z } from "../chapters-v2/utils/node-card-utils.js";
7
- import Y from "../math-fit/math-fit-card/math-fit-card.js";
6
+ import { getNodeCardBasedIcon as Y } from "../chapters-v2/utils/node-card-utils.js";
7
+ import Z from "../math-fit/math-fit-card/math-fit-card.js";
8
8
  import q from "../puzzles/comps/puzzle-card.js";
9
- import u from "../ui/arrow-tooltip/arrow-tooltip.js";
9
+ import p from "../ui/arrow-tooltip/arrow-tooltip.js";
10
10
  import c from "../ui/layout/flex-view.js";
11
11
  import J from "../ui/lottie-animation/lottie-animation.js";
12
12
  import Q from "./card-title.js";
@@ -18,26 +18,26 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
18
18
  isInQueue: k,
19
19
  nodeData: i,
20
20
  studentContainerRef: h,
21
- subHeader: C,
21
+ subHeader: b,
22
22
  userType: n,
23
23
  isMilestone: d = !1,
24
24
  puzzleHWCardRef: x,
25
- entityType: N,
25
+ entityType: v,
26
26
  state: t,
27
- score: O,
27
+ score: N,
28
28
  imageUrl: f,
29
- mathFitCardRef: v
29
+ mathFitCardRef: O
30
30
  }) => {
31
31
  const {
32
32
  node_type: r,
33
- accuracy: I,
33
+ accuracy: C,
34
34
  due_date_ts: o,
35
35
  image_hue: s,
36
36
  card_header: z = "",
37
- unlocked_on_ts: m,
37
+ unlocked_on_ts: u,
38
38
  course_type: D,
39
39
  title: H
40
- } = i, L = r === "PUZZLE_CARD", $ = N === ee.MATHFIT_TEST, g = n === "STUDENT" && t === "LOCKED", b = t === "LOCKED" || n === "TEACHER" && t !== "COMPLETED" && t !== "EXPIRED", S = G(() => t === "LOCKED" ? $ ? "Take test after class" : "Not available to student" : "Sheet is not completed yet", [t, $]), [X, R] = j(!1), p = _(null), B = V(r), T = _(null), { lottie: P } = Z(r), W = w(() => {
40
+ } = i, L = r === "PUZZLE_CARD", $ = v === ee.MATHFIT_TEST, g = n === "STUDENT" && t === "LOCKED", I = t === "LOCKED" || n === "TEACHER" && t !== "COMPLETED" && t !== "EXPIRED", S = G(() => t === "LOCKED" ? $ ? "Take test after class" : "Not available to student" : "You’ll be able to review the test after your student submits it", [t, $]), [X, R] = j(!1), m = _(null), B = V(r), T = _(null), { lottie: P } = Y(r), W = w(() => {
41
41
  var a;
42
42
  (a = T.current) == null || a.play();
43
43
  }, []), M = w(() => {
@@ -45,9 +45,9 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
45
45
  (a = T.current) == null || a.stop();
46
46
  }, []);
47
47
  return K(() => {
48
- p.current && p.current.scrollHeight > p.current.clientHeight && R(!0);
48
+ m.current && m.current.scrollHeight > m.current.clientHeight && R(!0);
49
49
  }, []), L ? /* @__PURE__ */ e(
50
- u,
50
+ p,
51
51
  {
52
52
  renderAs: "primary",
53
53
  tooltipItem: "Solve puzzle after class",
@@ -77,17 +77,17 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
77
77
  {
78
78
  nodeType: r,
79
79
  state: t,
80
- accuracy: I,
80
+ accuracy: C,
81
81
  dueDateTs: o,
82
82
  isStudent: n === "STUDENT",
83
83
  isMilestone: d
84
84
  }
85
85
  ),
86
- !d && o && m && /* @__PURE__ */ e(
86
+ !d && o && u && /* @__PURE__ */ e(
87
87
  A,
88
88
  {
89
89
  dueDate: o * 1e3,
90
- unlockedOn: m * 1e3,
90
+ unlockedOn: u * 1e3,
91
91
  progressBg: `${s || "ORANGE"}_5`
92
92
  }
93
93
  )
@@ -96,23 +96,24 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
96
96
  ) })
97
97
  }
98
98
  ) : $ ? /* @__PURE__ */ e(
99
- u,
99
+ p,
100
100
  {
101
101
  renderAs: "primary",
102
102
  tooltipItem: S,
103
103
  position: "bottom",
104
- hidden: !b,
105
- children: /* @__PURE__ */ e("div", { ref: v, children: /* @__PURE__ */ e(
106
- Y,
104
+ widthX: 13,
105
+ hidden: !I,
106
+ children: /* @__PURE__ */ e("div", { ref: O, children: /* @__PURE__ */ e(
107
+ Z,
107
108
  {
108
- score: O,
109
+ score: N,
109
110
  dueDateTs: i.due_date_ts,
110
111
  nodeType: "DYNAMIC",
111
112
  state: t,
112
- subHeader: C,
113
+ subHeader: b,
113
114
  unlockedOnTs: i == null ? void 0 : i.unlocked_on_ts,
114
115
  userType: n,
115
- isMathFitDisabled: b,
116
+ isMathFitDisabled: I,
116
117
  isMilestone: d,
117
118
  studentContainerRef: h
118
119
  }
@@ -155,7 +156,7 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
155
156
  ),
156
157
  /* @__PURE__ */ e(Q, { cardHeader: z, nodeType: r, courseType: D }),
157
158
  k && /* @__PURE__ */ e(
158
- u,
159
+ p,
159
160
  {
160
161
  renderAs: "primary",
161
162
  tooltipItem: "Not visible to student",
@@ -173,23 +174,23 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
173
174
  {
174
175
  nodeType: r,
175
176
  state: t,
176
- accuracy: I,
177
+ accuracy: C,
177
178
  dueDateTs: o,
178
179
  isStudent: n === "STUDENT",
179
180
  isMilestone: d
180
181
  }
181
182
  ),
182
- !d && o && m && /* @__PURE__ */ e(
183
+ !d && o && u && /* @__PURE__ */ e(
183
184
  A,
184
185
  {
185
186
  dueDate: o * 1e3,
186
- unlockedOn: m * 1e3,
187
+ unlockedOn: u * 1e3,
187
188
  progressBg: `${s || "ORANGE"}_4`
188
189
  }
189
190
  ),
190
191
  /* @__PURE__ */ l(c, { $gutterX: 0.75, $gapX: 1, $flexRowGapX: 0.5, $background: "WHITE", children: [
191
192
  /* @__PURE__ */ e(
192
- u,
193
+ p,
193
194
  {
194
195
  renderAs: "primary",
195
196
  position: "bottom",
@@ -198,7 +199,7 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
198
199
  hidden: !X,
199
200
  parentWidth: "auto",
200
201
  zIndex: 6,
201
- children: /* @__PURE__ */ e(c, { $heightX: 2.5, children: /* @__PURE__ */ e(de, { ref: p, $renderAs: "ab3", children: E }) })
202
+ children: /* @__PURE__ */ e(c, { $heightX: 2.5, children: /* @__PURE__ */ e(de, { ref: m, $renderAs: "ab3", children: E }) })
202
203
  }
203
204
  ),
204
205
  /* @__PURE__ */ l(
@@ -209,7 +210,7 @@ const ae = { renderer: "canvas", autoplay: !1 }, le = ({
209
210
  $alignItems: "center",
210
211
  $justifyContent: "space-between",
211
212
  children: [
212
- /* @__PURE__ */ e(se, { $renderAs: "ub3", $color: "BLACK_T_60", children: C }),
213
+ /* @__PURE__ */ e(se, { $renderAs: "ub3", $color: "BLACK_T_60", children: b }),
213
214
  /* @__PURE__ */ e(c, { $width: 32 })
214
215
  ]
215
216
  }
@@ -1 +1 @@
1
- {"version":3,"file":"homework-card-view.js","sources":["../../../src/features/homework/homework-card-view.tsx"],"sourcesContent":["import { memo, useCallback, useLayoutEffect, useMemo, useRef, useState, type FC } from 'react';\n\nimport ClosedEyeIcon from '../../assets/line-icons/icons/closed-eye';\nimport NodeCardTags from '../chapters-v2/comps/node-card/node-card-tags';\nimport type { INodeDataProps, TSheetStates } from '../chapters-v2/comps/node-card/node-card-types';\nimport { getNodeTypeBasedBgImage } from '../chapters-v2/utils';\nimport { getNodeCardBasedIcon } from '../chapters-v2/utils/node-card-utils';\nimport MathFitCard from '../math-fit/math-fit-card/math-fit-card';\nimport PuzzleCard from '../puzzles/comps/puzzle-card';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../ui/layout/flex-view';\nimport LottieAnimation from '../ui/lottie-animation/lottie-animation';\nimport type { ILottieAnimationRef } from '../ui/lottie-animation/types';\nimport type { TUserTypes } from '../ui/types';\nimport CardTitle from './card-title';\nimport { EHWCardListEntityType } from './hw-card-list/hw-card-list-types';\nimport NodeProgress from './node-progress';\nimport * as Styled from './styles';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\ninterface IHomeworkCardViewProps {\n header: string;\n isInQueue?: boolean;\n nodeData: INodeDataProps;\n studentContainerRef: React.RefObject<HTMLDivElement>;\n subHeader: string;\n userType: TUserTypes;\n isMilestone?: boolean;\n puzzleHWCardRef?: React.RefObject<HTMLDivElement>;\n mathFitCardRef?: React.RefObject<HTMLDivElement>;\n entityType?: EHWCardListEntityType;\n state: TSheetStates;\n score: number | null;\n imageUrl?: string;\n}\n\nconst HomeworkView: FC<IHomeworkCardViewProps> = ({\n header,\n isInQueue,\n nodeData,\n studentContainerRef,\n subHeader,\n userType,\n isMilestone = false,\n puzzleHWCardRef,\n entityType,\n state,\n score,\n imageUrl,\n mathFitCardRef,\n}) => {\n const {\n node_type: nodeType,\n accuracy,\n due_date_ts: dueDateTs,\n image_hue: imageHue,\n card_header: cardHeader = '',\n unlocked_on_ts: unlockedOnTs,\n course_type: courseType,\n title,\n } = nodeData;\n const isPuzzleCard = nodeType === 'PUZZLE_CARD';\n const isMathFitCard = entityType === EHWCardListEntityType.MATHFIT_TEST;\n const isPuzzleDisabled = userType === 'STUDENT' && state === 'LOCKED';\n const isMathFitDisabled =\n state === 'LOCKED' || (userType === 'TEACHER' && state !== 'COMPLETED' && state !== 'EXPIRED');\n\n const tooltipText = useMemo(() => {\n if (state === 'LOCKED') {\n if (isMathFitCard) return 'Take test after class';\n\n return 'Not available to student';\n }\n\n return 'Sheet is not completed yet';\n }, [state, isMathFitCard]);\n\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const bgImage = getNodeTypeBasedBgImage(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMouseEnter = useCallback(() => {\n animationRef.current?.play();\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, []);\n\n if (isPuzzleCard) {\n return (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Solve puzzle after class\"\n position=\"bottom\"\n hidden={!isPuzzleDisabled}\n >\n <div ref={puzzleHWCardRef}>\n <Styled.PuzzleCardWrapper\n ref={studentContainerRef}\n $position=\"relative\"\n $background={`${imageHue}_2`}\n $disabled={isPuzzleDisabled}\n >\n <PuzzleCard\n imageHue={imageHue}\n imageUrl={imageUrl ?? ''}\n title={title}\n width={126}\n height={159}\n disabled={isPuzzleDisabled}\n />\n\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n isStudent={userType === 'STUDENT'}\n isMilestone={isMilestone}\n />\n {!isMilestone && dueDateTs && unlockedOnTs && (\n <NodeProgress\n dueDate={dueDateTs * 1000}\n unlockedOn={unlockedOnTs * 1000}\n progressBg={`${imageHue || 'ORANGE'}_5`}\n />\n )}\n </Styled.PuzzleCardWrapper>\n </div>\n </ArrowTooltip>\n );\n }\n\n // MathFit Assessment Card\n if (isMathFitCard) {\n return (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={tooltipText}\n position=\"bottom\"\n hidden={!isMathFitDisabled}\n >\n <div ref={mathFitCardRef}>\n <MathFitCard\n score={score}\n dueDateTs={nodeData.due_date_ts}\n nodeType=\"DYNAMIC\"\n state={state}\n subHeader={subHeader}\n unlockedOnTs={nodeData?.unlocked_on_ts}\n userType={userType}\n isMathFitDisabled={isMathFitDisabled}\n isMilestone={isMilestone}\n studentContainerRef={studentContainerRef}\n />\n </div>\n </ArrowTooltip>\n );\n }\n\n return (\n <FlexView\n ref={studentContainerRef}\n $widthX={12.38}\n $position=\"relative\"\n $background={`${imageHue || 'ORANGE'}_2`}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.CardWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={bgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $position=\"relative\"\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $borderRadiusX={2}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation src={nodeCardLottie} ref={animationRef} settings={renderSettings} />\n </Styled.IconWrapper>\n <CardTitle cardHeader={cardHeader} nodeType={nodeType} courseType={courseType} />\n {isInQueue && (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Not visible to student\"\n position=\"bottom\"\n zIndex={6}\n >\n <ClosedEyeIcon />\n </ArrowTooltip>\n )}\n {!!imageUrl && (\n <Styled.BannerImageWrapper>\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n </Styled.BannerImageWrapper>\n )}\n </Styled.CardWrapper>\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n isStudent={userType === 'STUDENT'}\n isMilestone={isMilestone}\n />\n {!isMilestone && dueDateTs && unlockedOnTs && (\n <NodeProgress\n dueDate={dueDateTs * 1000}\n unlockedOn={unlockedOnTs * 1000}\n progressBg={`${imageHue || 'ORANGE'}_4`}\n />\n )}\n <FlexView $gutterX={0.75} $gapX={1} $flexRowGapX={0.5} $background=\"WHITE\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={header}\n width={300}\n hidden={!showTitleTooltip}\n parentWidth=\"auto\"\n zIndex={6}\n >\n <FlexView $heightX={2.5}>\n <Styled.HeaderText ref={titleTextRef} $renderAs=\"ab3\">\n {header}\n </Styled.HeaderText>\n </FlexView>\n </ArrowTooltip>\n <FlexView\n $flexDirection=\"row\"\n $heightX={1.25}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <Styled.SubHeaderText $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subHeader}\n </Styled.SubHeaderText>\n <FlexView $width={32} />\n </FlexView>\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(HomeworkView);\n"],"names":["renderSettings","HomeworkView","header","isInQueue","nodeData","studentContainerRef","subHeader","userType","isMilestone","puzzleHWCardRef","entityType","state","score","imageUrl","mathFitCardRef","nodeType","accuracy","dueDateTs","imageHue","cardHeader","unlockedOnTs","courseType","title","isPuzzleCard","isMathFitCard","EHWCardListEntityType","isPuzzleDisabled","isMathFitDisabled","tooltipText","useMemo","showTitleTooltip","setShowTitleTooltip","useState","titleTextRef","useRef","bgImage","getNodeTypeBasedBgImage","animationRef","nodeCardLottie","getNodeCardBasedIcon","handleOnMouseEnter","useCallback","_a","handleOnMouseLeave","useLayoutEffect","jsx","ArrowTooltip","jsxs","Styled.PuzzleCardWrapper","PuzzleCard","NodeCardTags","NodeProgress","MathFitCard","FlexView","Styled.CardWrapper","Styled.IconWrapper","LottieAnimation","CardTitle","ClosedEyeIcon","Styled.BannerImageWrapper","Styled.BannerImage","Styled.HeaderText","Styled.SubHeaderText","HomeworkCardView","memo"],"mappings":"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"}
1
+ {"version":3,"file":"homework-card-view.js","sources":["../../../src/features/homework/homework-card-view.tsx"],"sourcesContent":["import { memo, useCallback, useLayoutEffect, useMemo, useRef, useState, type FC } from 'react';\n\nimport ClosedEyeIcon from '../../assets/line-icons/icons/closed-eye';\nimport NodeCardTags from '../chapters-v2/comps/node-card/node-card-tags';\nimport type { INodeDataProps, TSheetStates } from '../chapters-v2/comps/node-card/node-card-types';\nimport { getNodeTypeBasedBgImage } from '../chapters-v2/utils';\nimport { getNodeCardBasedIcon } from '../chapters-v2/utils/node-card-utils';\nimport MathFitCard from '../math-fit/math-fit-card/math-fit-card';\nimport PuzzleCard from '../puzzles/comps/puzzle-card';\nimport ArrowTooltip from '../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../ui/layout/flex-view';\nimport LottieAnimation from '../ui/lottie-animation/lottie-animation';\nimport type { ILottieAnimationRef } from '../ui/lottie-animation/types';\nimport type { TUserTypes } from '../ui/types';\nimport CardTitle from './card-title';\nimport { EHWCardListEntityType } from './hw-card-list/hw-card-list-types';\nimport NodeProgress from './node-progress';\nimport * as Styled from './styles';\n\nconst renderSettings = { renderer: 'canvas', autoplay: false };\n\ninterface IHomeworkCardViewProps {\n header: string;\n isInQueue?: boolean;\n nodeData: INodeDataProps;\n studentContainerRef: React.RefObject<HTMLDivElement>;\n subHeader: string;\n userType: TUserTypes;\n isMilestone?: boolean;\n puzzleHWCardRef?: React.RefObject<HTMLDivElement>;\n mathFitCardRef?: React.RefObject<HTMLDivElement>;\n entityType?: EHWCardListEntityType;\n state: TSheetStates;\n score: number | null;\n imageUrl?: string;\n}\n\nconst HomeworkView: FC<IHomeworkCardViewProps> = ({\n header,\n isInQueue,\n nodeData,\n studentContainerRef,\n subHeader,\n userType,\n isMilestone = false,\n puzzleHWCardRef,\n entityType,\n state,\n score,\n imageUrl,\n mathFitCardRef,\n}) => {\n const {\n node_type: nodeType,\n accuracy,\n due_date_ts: dueDateTs,\n image_hue: imageHue,\n card_header: cardHeader = '',\n unlocked_on_ts: unlockedOnTs,\n course_type: courseType,\n title,\n } = nodeData;\n const isPuzzleCard = nodeType === 'PUZZLE_CARD';\n const isMathFitCard = entityType === EHWCardListEntityType.MATHFIT_TEST;\n const isPuzzleDisabled = userType === 'STUDENT' && state === 'LOCKED';\n const isMathFitDisabled =\n state === 'LOCKED' || (userType === 'TEACHER' && state !== 'COMPLETED' && state !== 'EXPIRED');\n\n const tooltipText = useMemo(() => {\n if (state === 'LOCKED') {\n if (isMathFitCard) return 'Take test after class';\n\n return 'Not available to student';\n }\n\n return `You’ll be able to review the test after your student submits it`;\n }, [state, isMathFitCard]);\n\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n const titleTextRef = useRef<HTMLDivElement>(null);\n const bgImage = getNodeTypeBasedBgImage(nodeType);\n const animationRef = useRef<ILottieAnimationRef | null>(null);\n const { lottie: nodeCardLottie } = getNodeCardBasedIcon(nodeType);\n\n const handleOnMouseEnter = useCallback(() => {\n animationRef.current?.play();\n }, []);\n\n const handleOnMouseLeave = useCallback(() => {\n animationRef.current?.stop();\n }, []);\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, []);\n\n if (isPuzzleCard) {\n return (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Solve puzzle after class\"\n position=\"bottom\"\n hidden={!isPuzzleDisabled}\n >\n <div ref={puzzleHWCardRef}>\n <Styled.PuzzleCardWrapper\n ref={studentContainerRef}\n $position=\"relative\"\n $background={`${imageHue}_2`}\n $disabled={isPuzzleDisabled}\n >\n <PuzzleCard\n imageHue={imageHue}\n imageUrl={imageUrl ?? ''}\n title={title}\n width={126}\n height={159}\n disabled={isPuzzleDisabled}\n />\n\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n isStudent={userType === 'STUDENT'}\n isMilestone={isMilestone}\n />\n {!isMilestone && dueDateTs && unlockedOnTs && (\n <NodeProgress\n dueDate={dueDateTs * 1000}\n unlockedOn={unlockedOnTs * 1000}\n progressBg={`${imageHue || 'ORANGE'}_5`}\n />\n )}\n </Styled.PuzzleCardWrapper>\n </div>\n </ArrowTooltip>\n );\n }\n\n // MathFit Assessment Card\n if (isMathFitCard) {\n return (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem={tooltipText}\n position=\"bottom\"\n widthX={13}\n hidden={!isMathFitDisabled}\n >\n <div ref={mathFitCardRef}>\n <MathFitCard\n score={score}\n dueDateTs={nodeData.due_date_ts}\n nodeType=\"DYNAMIC\"\n state={state}\n subHeader={subHeader}\n unlockedOnTs={nodeData?.unlocked_on_ts}\n userType={userType}\n isMathFitDisabled={isMathFitDisabled}\n isMilestone={isMilestone}\n studentContainerRef={studentContainerRef}\n />\n </div>\n </ArrowTooltip>\n );\n }\n\n return (\n <FlexView\n ref={studentContainerRef}\n $widthX={12.38}\n $position=\"relative\"\n $background={`${imageHue || 'ORANGE'}_2`}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n >\n <Styled.CardWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $width=\"100%\"\n $heightX={3.5}\n $bgImage={bgImage}\n $gutterX={0.78125}\n $flexGap={8.5}\n $position=\"relative\"\n >\n <Styled.IconWrapper\n $width={31}\n $height={31}\n $borderRadiusX={2}\n $background=\"WHITE_1\"\n $position=\"relative\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n <LottieAnimation src={nodeCardLottie} ref={animationRef} settings={renderSettings} />\n </Styled.IconWrapper>\n <CardTitle cardHeader={cardHeader} nodeType={nodeType} courseType={courseType} />\n {isInQueue && (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Not visible to student\"\n position=\"bottom\"\n zIndex={6}\n >\n <ClosedEyeIcon />\n </ArrowTooltip>\n )}\n {!!imageUrl && (\n <Styled.BannerImageWrapper>\n <Styled.BannerImage src={imageUrl} alt=\"Chapter image\" />\n </Styled.BannerImageWrapper>\n )}\n </Styled.CardWrapper>\n <NodeCardTags\n nodeType={nodeType}\n state={state}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n isStudent={userType === 'STUDENT'}\n isMilestone={isMilestone}\n />\n {!isMilestone && dueDateTs && unlockedOnTs && (\n <NodeProgress\n dueDate={dueDateTs * 1000}\n unlockedOn={unlockedOnTs * 1000}\n progressBg={`${imageHue || 'ORANGE'}_4`}\n />\n )}\n <FlexView $gutterX={0.75} $gapX={1} $flexRowGapX={0.5} $background=\"WHITE\">\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={header}\n width={300}\n hidden={!showTitleTooltip}\n parentWidth=\"auto\"\n zIndex={6}\n >\n <FlexView $heightX={2.5}>\n <Styled.HeaderText ref={titleTextRef} $renderAs=\"ab3\">\n {header}\n </Styled.HeaderText>\n </FlexView>\n </ArrowTooltip>\n <FlexView\n $flexDirection=\"row\"\n $heightX={1.25}\n $alignItems=\"center\"\n $justifyContent=\"space-between\"\n >\n <Styled.SubHeaderText $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {subHeader}\n </Styled.SubHeaderText>\n <FlexView $width={32} />\n </FlexView>\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(HomeworkView);\n"],"names":["renderSettings","HomeworkView","header","isInQueue","nodeData","studentContainerRef","subHeader","userType","isMilestone","puzzleHWCardRef","entityType","state","score","imageUrl","mathFitCardRef","nodeType","accuracy","dueDateTs","imageHue","cardHeader","unlockedOnTs","courseType","title","isPuzzleCard","isMathFitCard","EHWCardListEntityType","isPuzzleDisabled","isMathFitDisabled","tooltipText","useMemo","showTitleTooltip","setShowTitleTooltip","useState","titleTextRef","useRef","bgImage","getNodeTypeBasedBgImage","animationRef","nodeCardLottie","getNodeCardBasedIcon","handleOnMouseEnter","useCallback","_a","handleOnMouseLeave","useLayoutEffect","jsx","ArrowTooltip","jsxs","Styled.PuzzleCardWrapper","PuzzleCard","NodeCardTags","NodeProgress","MathFitCard","FlexView","Styled.CardWrapper","Styled.IconWrapper","LottieAnimation","CardTitle","ClosedEyeIcon","Styled.BannerImageWrapper","Styled.BannerImage","Styled.HeaderText","Styled.SubHeaderText","HomeworkCardView","memo"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-config.js","sources":["../../../../../src/features/milestone/create/api/milestone-config.ts"],"sourcesContent":["import { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3 } from '../../../../constants/api';\nimport { stringify } from '../../../../helpers/query-string';\nimport type { IMilestoneConfig } from '../milestone-create-types';\n\nconst { useGet: useGetMileStoneConfig } = createGetAPI<\n IMilestoneConfig,\n { demo_type?: string } | undefined\n>({\n getURL: (_, query) => `${BASE_URL_V3}/milestone/config/${query ? `?${stringify(query)}` : ''}`,\n});\n\nexport { useGetMileStoneConfig };\n"],"names":["useGetMileStoneConfig","createGetAPI","_","query","BASE_URL_V3","stringify"],"mappings":";;;AAMA,MAAM,EAAE,QAAQA,EAAsB,IAAIC,EAGxC;AAAA,EACA,QAAQ,CAACC,GAAGC,MAAU,GAAGC,CAAW,qBAAqBD,IAAQ,IAAIE,EAAUF,CAAK,CAAC,KAAK,EAAE;AAC9F,CAAC;"}
1
+ {"version":3,"file":"milestone-config.js","sources":["../../../../../src/features/milestone/create/api/milestone-config.ts"],"sourcesContent":["import { createGetAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V3 } from '../../../../constants/api';\nimport { stringify } from '../../../../helpers/query-string';\nimport type { IMilestoneConfig } from '../milestone-create-types';\n\nconst { useGet: useGetMileStoneConfig } = createGetAPI<\n IMilestoneConfig,\n { demo_type?: 'TRIAL_V3' } | undefined\n>({\n getURL: (_, query) => `${BASE_URL_V3}/milestone/config/${query ? `?${stringify(query)}` : ''}`,\n});\n\nexport { useGetMileStoneConfig };\n"],"names":["useGetMileStoneConfig","createGetAPI","_","query","BASE_URL_V3","stringify"],"mappings":";;;AAMA,MAAM,EAAE,QAAQA,EAAsB,IAAIC,EAGxC;AAAA,EACA,QAAQ,CAACC,GAAGC,MAAU,GAAGC,CAAW,qBAAqBD,IAAQ,IAAIE,EAAUF,CAAK,CAAC,KAAK,EAAE;AAC9F,CAAC;"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import { memo as p, useCallback as f, useEffect as d } from "react";
3
- import { useGetSessionReports as u } from "../../../trial-session/api/trial-session-report.js";
3
+ import { useGetSessionReports as u } from "../../../trial-session/api/trial-home.js";
4
4
  import l from "../../../trial-session/comps/session-report/report-information/report-information.js";
5
5
  import c from "../../../ui/error/error.js";
6
6
  import h from "../../../ui/loader/app-loader/app-loader.js";
@@ -1 +1 @@
1
- {"version":3,"file":"trial-report.js","sources":["../../../../../src/features/parent-dashboard/modals/trial-report/trial-report.tsx"],"sourcesContent":["import { memo, useCallback, useEffect } from 'react';\n\nimport { useGetSessionReports } from '../../../trial-session/api/trial-session-report';\nimport ReportInformation from '../../../trial-session/comps/session-report/report-information/report-information';\nimport Error from '../../../ui/error/error';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport useModalParams from '../../../ui/modals/use-modal-params';\nimport * as Styled from './trial-report-styled';\n\nconst StudentTrialReport = () => {\n const { studentName, attemptId, studentLevel } = useModalParams<{\n studentName: string;\n attemptId: string;\n studentLevel: string;\n }>();\n\n const {\n get: getSessionReports,\n isProcessingFailed,\n data: sessionReports,\n isProcessing,\n } = useGetSessionReports();\n\n const fetchData = useCallback(() => {\n if (attemptId && studentName) {\n getSessionReports(attemptId, {\n student_level: studentLevel,\n student_name: studentName,\n });\n }\n }, [attemptId, getSessionReports, studentLevel, studentName]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n if (isProcessingFailed) {\n return <Error height=\"50vh\" onTryAgain={fetchData} />;\n }\n\n if (isProcessing || !sessionReports) {\n return <AppLoader height={200} width={200} />;\n }\n\n return (\n <Styled.Container $borderColor=\"BLACK_1\">\n <ReportInformation sessionReports={sessionReports} studentName={studentName} />\n </Styled.Container>\n );\n};\n\nexport default memo(StudentTrialReport);\n"],"names":["StudentTrialReport","studentName","attemptId","studentLevel","useModalParams","getSessionReports","isProcessingFailed","sessionReports","isProcessing","useGetSessionReports","fetchData","useCallback","useEffect","jsx","Error","AppLoader","Styled.Container","ReportInformation","trialReport","memo"],"mappings":";;;;;;;;AASA,MAAMA,IAAqB,MAAM;AAC/B,QAAM,EAAE,aAAAC,GAAa,WAAAC,GAAW,cAAAC,MAAiBC,EAI9C,GAEG;AAAA,IACJ,KAAKC;AAAA,IACL,oBAAAC;AAAA,IACA,MAAMC;AAAA,IACN,cAAAC;AAAA,MACEC,EAAqB,GAEnBC,IAAYC,EAAY,MAAM;AAClC,IAAIT,KAAaD,KACfI,EAAkBH,GAAW;AAAA,MAC3B,eAAeC;AAAA,MACf,cAAcF;AAAA,IAAA,CACf;AAAA,KAEF,CAACC,GAAWG,GAAmBF,GAAcF,CAAW,CAAC;AAM5D,SAJAW,EAAU,MAAM;AACJ,IAAAF;EAAA,GACT,CAACA,CAAS,CAAC,GAEVJ,IACM,gBAAAO,EAAAC,GAAA,EAAM,QAAO,QAAO,YAAYJ,EAAW,CAAA,IAGjDF,KAAgB,CAACD,IACX,gBAAAM,EAAAE,GAAA,EAAU,QAAQ,KAAK,OAAO,IAAK,CAAA,IAI3C,gBAAAF,EAACG,GAAA,EAAiB,cAAa,WAC7B,UAAC,gBAAAH,EAAAI,GAAA,EAAkB,gBAAAV,GAAgC,aAAAN,EAA0B,CAAA,EAC/E,CAAA;AAEJ,GAEeiB,IAAAC,EAAKnB,CAAkB;"}
1
+ {"version":3,"file":"trial-report.js","sources":["../../../../../src/features/parent-dashboard/modals/trial-report/trial-report.tsx"],"sourcesContent":["import { memo, useCallback, useEffect } from 'react';\n\nimport { useGetSessionReports } from '../../../trial-session/api/trial-home';\nimport ReportInformation from '../../../trial-session/comps/session-report/report-information/report-information';\nimport Error from '../../../ui/error/error';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport useModalParams from '../../../ui/modals/use-modal-params';\nimport * as Styled from './trial-report-styled';\n\nconst StudentTrialReport = () => {\n const { studentName, attemptId, studentLevel } = useModalParams<{\n studentName: string;\n attemptId: string;\n studentLevel: string;\n }>();\n\n const {\n get: getSessionReports,\n isProcessingFailed,\n data: sessionReports,\n isProcessing,\n } = useGetSessionReports();\n\n const fetchData = useCallback(() => {\n if (attemptId && studentName) {\n getSessionReports(attemptId, {\n student_level: studentLevel,\n student_name: studentName,\n });\n }\n }, [attemptId, getSessionReports, studentLevel, studentName]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n if (isProcessingFailed) {\n return <Error height=\"50vh\" onTryAgain={fetchData} />;\n }\n\n if (isProcessing || !sessionReports) {\n return <AppLoader height={200} width={200} />;\n }\n\n return (\n <Styled.Container $borderColor=\"BLACK_1\">\n <ReportInformation sessionReports={sessionReports} studentName={studentName} />\n </Styled.Container>\n );\n};\n\nexport default memo(StudentTrialReport);\n"],"names":["StudentTrialReport","studentName","attemptId","studentLevel","useModalParams","getSessionReports","isProcessingFailed","sessionReports","isProcessing","useGetSessionReports","fetchData","useCallback","useEffect","jsx","Error","AppLoader","Styled.Container","ReportInformation","trialReport","memo"],"mappings":";;;;;;;;AASA,MAAMA,IAAqB,MAAM;AAC/B,QAAM,EAAE,aAAAC,GAAa,WAAAC,GAAW,cAAAC,MAAiBC,EAI9C,GAEG;AAAA,IACJ,KAAKC;AAAA,IACL,oBAAAC;AAAA,IACA,MAAMC;AAAA,IACN,cAAAC;AAAA,MACEC,EAAqB,GAEnBC,IAAYC,EAAY,MAAM;AAClC,IAAIT,KAAaD,KACfI,EAAkBH,GAAW;AAAA,MAC3B,eAAeC;AAAA,MACf,cAAcF;AAAA,IAAA,CACf;AAAA,KAEF,CAACC,GAAWG,GAAmBF,GAAcF,CAAW,CAAC;AAM5D,SAJAW,EAAU,MAAM;AACJ,IAAAF;EAAA,GACT,CAACA,CAAS,CAAC,GAEVJ,IACM,gBAAAO,EAAAC,GAAA,EAAM,QAAO,QAAO,YAAYJ,EAAW,CAAA,IAGjDF,KAAgB,CAACD,IACX,gBAAAM,EAAAE,GAAA,EAAU,QAAQ,KAAK,OAAO,IAAK,CAAA,IAI3C,gBAAAF,EAACG,GAAA,EAAiB,cAAa,WAC7B,UAAC,gBAAAH,EAAAI,GAAA,EAAkB,gBAAAV,GAAgC,aAAAN,EAA0B,CAAA,EAC/E,CAAA;AAEJ,GAEeiB,IAAAC,EAAKnB,CAAkB;"}
@@ -1,14 +1,20 @@
1
- import { createGetAPI as r, createPatchAPI as a } from "@cuemath/rest-api";
2
- import { BASE_URL_V1 as e } from "../../../constants/api.js";
3
- import { stringify as i } from "../../../helpers/query-string.js";
4
- const { useGet: s, invalidate: h } = r({
5
- getURL: (o, t) => `${e}/trial/home/v2/?${i(t)}`
6
- }), { usePatch: n } = a({
7
- getURL: () => `${e}/trial/home/v2/`
1
+ import { createGetAPI as s, createPatchAPI as a } from "@cuemath/rest-api";
2
+ import { BASE_URL_V1 as r, BASE_URL_V2 as i } from "../../../constants/api.js";
3
+ import { stringify as o } from "../../../helpers/query-string.js";
4
+ const { useGet: u, invalidate: l } = s({
5
+ getURL: (t, e) => `${r}/trial/home/v2/?${o(e)}`
6
+ }), { usePatch: p } = a({
7
+ getURL: () => `${r}/trial/home/v2/`
8
+ }), { useGet: g } = s({
9
+ getURL: (t) => `${i}/user-attempts/${t}/trial-diagnostic/report`
10
+ }), { useGet: $ } = s({
11
+ getURL: (t, e) => `${i}/user-attempts/${t}/trial-diagnostic/report/v2/?${o(e)}`
8
12
  });
9
13
  export {
10
- h as invalidateTrialHome,
11
- s as useGetTrialHome,
12
- n as usePatchTrialHome
14
+ l as invalidateTrialHome,
15
+ g as useGetSessionInsights,
16
+ $ as useGetSessionReports,
17
+ u as useGetTrialHome,
18
+ p as usePatchTrialHome
13
19
  };
14
20
  //# sourceMappingURL=trial-home.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trial-home.js","sources":["../../../../src/features/trial-session/api/trial-home.ts"],"sourcesContent":["import { createGetAPI, createPatchAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V1 } from '../../../constants/api';\nimport { stringify } from '../../../helpers/query-string';\nimport type { ITrialHomeData } from '../trial-session-types';\n\ninterface IGetTrailHomeQuery {\n teacher_id: string;\n student_id: string;\n viewer: string;\n}\n\nconst { useGet: useGetTrialHome, invalidate: invalidateTrialHome } = createGetAPI<\n ITrialHomeData,\n IGetTrailHomeQuery\n>({\n getURL: (_, query) => `${BASE_URL_V1}/trial/home/v2/?${stringify(query)}`,\n});\n\nconst { usePatch: usePatchTrialHome } = createPatchAPI({\n getURL: () => `${BASE_URL_V1}/trial/home/v2/`,\n});\n\nexport { useGetTrialHome, usePatchTrialHome, invalidateTrialHome };\n"],"names":["useGetTrialHome","invalidateTrialHome","createGetAPI","_","query","BASE_URL_V1","stringify","usePatchTrialHome","createPatchAPI"],"mappings":";;;AAYA,MAAM,EAAE,QAAQA,GAAiB,YAAYC,EAAA,IAAwBC,EAGnE;AAAA,EACA,QAAQ,CAACC,GAAGC,MAAU,GAAGC,CAAW,mBAAmBC,EAAUF,CAAK,CAAC;AACzE,CAAC,GAEK,EAAE,UAAUG,EAAkB,IAAIC,EAAe;AAAA,EACrD,QAAQ,MAAM,GAAGH,CAAW;AAC9B,CAAC;"}
1
+ {"version":3,"file":"trial-home.js","sources":["../../../../src/features/trial-session/api/trial-home.ts"],"sourcesContent":["import { createGetAPI, createPatchAPI } from '@cuemath/rest-api';\n\nimport { BASE_URL_V1, BASE_URL_V2 } from '../../../constants/api';\nimport { stringify } from '../../../helpers/query-string';\nimport type { TSessionInsightsData } from '../comps/session-insights/session-insights-types';\nimport type { TSessionReportData } from '../comps/session-report/session-report-types';\nimport type { ITrialHomeData } from '../trial-session-types';\n\ninterface IGetTrailHomeQuery {\n teacher_id: string;\n student_id: string;\n viewer: string;\n}\n\ninterface ISessionInsightsQuery {\n student_level: string;\n student_name: string;\n}\n\nconst { useGet: useGetTrialHome, invalidate: invalidateTrialHome } = createGetAPI<\n ITrialHomeData,\n IGetTrailHomeQuery\n>({\n getURL: (_, query) => `${BASE_URL_V1}/trial/home/v2/?${stringify(query)}`,\n});\n\nconst { usePatch: usePatchTrialHome } = createPatchAPI({\n getURL: () => `${BASE_URL_V1}/trial/home/v2/`,\n});\n\nconst { useGet: useGetSessionInsights } = createGetAPI<TSessionInsightsData>({\n getURL: userAttemptId => `${BASE_URL_V2}/user-attempts/${userAttemptId}/trial-diagnostic/report`,\n});\n\nconst { useGet: useGetSessionReports } = createGetAPI<TSessionReportData, ISessionInsightsQuery>({\n getURL: (userAttemptId, query) =>\n `${BASE_URL_V2}/user-attempts/${userAttemptId}/trial-diagnostic/report/v2/?${stringify(query)}`,\n});\n\nexport {\n useGetTrialHome,\n usePatchTrialHome,\n invalidateTrialHome,\n useGetSessionReports,\n useGetSessionInsights,\n};\n"],"names":["useGetTrialHome","invalidateTrialHome","createGetAPI","_","query","BASE_URL_V1","stringify","usePatchTrialHome","createPatchAPI","useGetSessionInsights","userAttemptId","BASE_URL_V2","useGetSessionReports"],"mappings":";;;AAmBA,MAAM,EAAE,QAAQA,GAAiB,YAAYC,EAAA,IAAwBC,EAGnE;AAAA,EACA,QAAQ,CAACC,GAAGC,MAAU,GAAGC,CAAW,mBAAmBC,EAAUF,CAAK,CAAC;AACzE,CAAC,GAEK,EAAE,UAAUG,EAAkB,IAAIC,EAAe;AAAA,EACrD,QAAQ,MAAM,GAAGH,CAAW;AAC9B,CAAC,GAEK,EAAE,QAAQI,EAAsB,IAAIP,EAAmC;AAAA,EAC3E,QAAQ,CAAAQ,MAAiB,GAAGC,CAAW,kBAAkBD,CAAa;AACxE,CAAC,GAEK,EAAE,QAAQE,EAAqB,IAAIV,EAAwD;AAAA,EAC/F,QAAQ,CAACQ,GAAeN,MACtB,GAAGO,CAAW,kBAAkBD,CAAa,gCAAgCJ,EAAUF,CAAK,CAAC;AACjG,CAAC;"}