@cuemath/leap 2.8.56-as1 → 2.8.56-hg1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/assets/illustrations/illustrations.js +0 -9
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/line-icons/icons/closed-eye.js +23 -0
  4. package/dist/assets/line-icons/icons/closed-eye.js.map +1 -0
  5. package/dist/features/analytics-events/whitelist-events.js +9 -7
  6. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  7. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js +33 -98
  8. package/dist/features/chapters/chapters-list/chapter-item/chapter-item-styled.js.map +1 -1
  9. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js +47 -76
  10. package/dist/features/chapters/chapters-list/chapter-item/chapter-item.js.map +1 -1
  11. package/dist/features/chapters/chapters-list/chapters-list-styled.js +5 -5
  12. package/dist/features/chapters/chapters-list/chapters-list-styled.js.map +1 -1
  13. package/dist/features/chapters/chapters-list/chapters-list.js +70 -65
  14. package/dist/features/chapters/chapters-list/chapters-list.js.map +1 -1
  15. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js +92 -0
  16. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +1 -0
  17. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js +25 -0
  18. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +1 -0
  19. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +53 -51
  20. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  21. package/dist/features/milestone/milestone-list-container/api/get-milestones.js +17 -9
  22. package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
  23. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +91 -116
  24. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  25. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js +13 -0
  26. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js.map +1 -0
  27. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js +38 -0
  28. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +1 -0
  29. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +121 -105
  30. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  31. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +173 -145
  32. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  33. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +10 -24
  34. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  35. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +81 -76
  36. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  37. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js +22 -10
  38. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
  39. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +53 -0
  40. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +1 -0
  41. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +37 -70
  42. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  43. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +174 -114
  44. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  45. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js +25 -0
  46. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +1 -0
  47. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js +16 -29
  48. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
  49. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js +23 -19
  50. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
  51. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js +35 -23
  52. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
  53. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +36 -34
  54. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  55. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js +1 -1
  56. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
  57. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +78 -96
  58. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  59. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js +71 -0
  60. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-cta.js.map +1 -0
  61. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js +31 -0
  62. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-styled.js.map +1 -0
  63. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js +34 -6
  64. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item-utils.js.map +1 -1
  65. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js +73 -73
  66. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheet-item/test-sheet-item.js.map +1 -1
  67. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js +7 -8
  68. package/dist/features/milestone/milestone-tests/tests-list/test-sheets-list/test-sheets-list-styled.js.map +1 -1
  69. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +68 -77
  70. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +1 -1
  71. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element-styled.js +15 -0
  72. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element-styled.js.map +1 -0
  73. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element.js +26 -0
  74. package/dist/features/sheets/resources-list/resource-item/context-menu-helper/menu-element.js.map +1 -0
  75. package/dist/features/sheets/resources-list/resource-item/resource-item.js +179 -65
  76. package/dist/features/sheets/resources-list/resource-item/resource-item.js.map +1 -1
  77. package/dist/features/sheets/resources-list/resource-item/styled.js +38 -0
  78. package/dist/features/sheets/resources-list/resource-item/styled.js.map +1 -0
  79. package/dist/features/sheets/resources-list/resource-item/utils.js +23 -0
  80. package/dist/features/sheets/resources-list/resource-item/utils.js.map +1 -0
  81. package/dist/features/sheets/resources-list/resources-list.js +5 -5
  82. package/dist/features/sheets/resources-list/resources-list.js.map +1 -1
  83. package/dist/features/sheets/resources-list/styled.js +13 -9
  84. package/dist/features/sheets/resources-list/styled.js.map +1 -1
  85. package/dist/features/sheets/sheets-analytics-events.js +11 -0
  86. package/dist/features/sheets/sheets-analytics-events.js.map +1 -0
  87. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +3 -4
  88. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
  89. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  90. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +29 -30
  91. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  92. package/dist/features/ui/constants/z-index.js +1 -1
  93. package/dist/features/ui/constants/z-index.js.map +1 -1
  94. package/dist/features/ui/context-menu/context-menu-styled.js +14 -28
  95. package/dist/features/ui/context-menu/context-menu-styled.js.map +1 -1
  96. package/dist/features/ui/context-menu/context-menu.js +15 -30
  97. package/dist/features/ui/context-menu/context-menu.js.map +1 -1
  98. package/dist/features/ui/theme/button.js +102 -17
  99. package/dist/features/ui/theme/button.js.map +1 -1
  100. package/dist/index.d.ts +12 -200
  101. package/dist/index.js +469 -487
  102. package/dist/index.js.map +1 -1
  103. package/package.json +1 -1
  104. package/dist/assets/line-icons/icons/alarm.js +0 -41
  105. package/dist/assets/line-icons/icons/alarm.js.map +0 -1
  106. package/dist/assets/line-icons/icons/dart.js +0 -23
  107. package/dist/assets/line-icons/icons/dart.js.map +0 -1
  108. package/dist/assets/line-icons/icons/exclamation.js +0 -26
  109. package/dist/assets/line-icons/icons/exclamation.js.map +0 -1
  110. package/dist/assets/line-icons/icons/home2.js +0 -25
  111. package/dist/assets/line-icons/icons/home2.js.map +0 -1
  112. package/dist/assets/line-icons/icons/important.js +0 -23
  113. package/dist/assets/line-icons/icons/important.js.map +0 -1
  114. package/dist/assets/line-icons/icons/puzzle.js +0 -25
  115. package/dist/assets/line-icons/icons/puzzle.js.map +0 -1
  116. package/dist/assets/line-icons/icons/recap.js +0 -32
  117. package/dist/assets/line-icons/icons/recap.js.map +0 -1
  118. package/dist/assets/line-icons/icons/status.js +0 -41
  119. package/dist/assets/line-icons/icons/status.js.map +0 -1
  120. package/dist/assets/line-icons/icons/testtube.js +0 -33
  121. package/dist/assets/line-icons/icons/testtube.js.map +0 -1
  122. package/dist/features/chapters-v2/api/chapter.js +0 -10
  123. package/dist/features/chapters-v2/api/chapter.js.map +0 -1
  124. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +0 -112
  125. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +0 -1
  126. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js +0 -26
  127. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js.map +0 -1
  128. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +0 -69
  129. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +0 -1
  130. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js +0 -90
  131. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +0 -1
  132. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js +0 -97
  133. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +0 -1
  134. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js +0 -52
  135. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js.map +0 -1
  136. package/dist/features/chapters-v2/chapter-details/chapter-details.js +0 -103
  137. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +0 -1
  138. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js +0 -13
  139. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js.map +0 -1
  140. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +0 -153
  141. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +0 -1
  142. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +0 -16
  143. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +0 -1
  144. package/dist/features/chapters-v2/comps/node-card/node-card.js +0 -12
  145. package/dist/features/chapters-v2/comps/node-card/node-card.js.map +0 -1
  146. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js +0 -32
  147. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js.map +0 -1
  148. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js +0 -31
  149. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +0 -1
  150. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +0 -160
  151. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +0 -1
  152. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +0 -184
  153. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +0 -1
  154. package/dist/features/chapters-v2/comps/tag/tag-styled.js +0 -13
  155. package/dist/features/chapters-v2/comps/tag/tag-styled.js.map +0 -1
  156. package/dist/features/chapters-v2/comps/tag/tag.js +0 -28
  157. package/dist/features/chapters-v2/comps/tag/tag.js.map +0 -1
  158. package/dist/features/chapters-v2/constants/block-constants.js +0 -20
  159. package/dist/features/chapters-v2/constants/block-constants.js.map +0 -1
  160. package/dist/features/chapters-v2/constants/node-constants.js +0 -15
  161. package/dist/features/chapters-v2/constants/node-constants.js.map +0 -1
  162. package/dist/features/chapters-v2/utils/index.js +0 -41
  163. package/dist/features/chapters-v2/utils/index.js.map +0 -1
  164. package/dist/features/chapters-v2/utils/node-card-utils.js +0 -106
  165. package/dist/features/chapters-v2/utils/node-card-utils.js.map +0 -1
  166. package/dist/features/homework/card-menu-options.js +0 -36
  167. package/dist/features/homework/card-menu-options.js.map +0 -1
  168. package/dist/features/homework/homework-card.js +0 -136
  169. package/dist/features/homework/homework-card.js.map +0 -1
  170. package/dist/features/homework/styles.js +0 -114
  171. package/dist/features/homework/styles.js.map +0 -1
  172. package/dist/features/homework/utils.js +0 -28
  173. package/dist/features/homework/utils.js.map +0 -1
  174. package/dist/features/recent-chapters/api/get-recent-chapters.js +0 -9
  175. package/dist/features/recent-chapters/api/get-recent-chapters.js.map +0 -1
  176. package/dist/features/recent-chapters/recent-chapters-styled.js +0 -23
  177. package/dist/features/recent-chapters/recent-chapters-styled.js.map +0 -1
  178. package/dist/features/recent-chapters/recent-chapters.js +0 -49
  179. package/dist/features/recent-chapters/recent-chapters.js.map +0 -1
  180. package/dist/static/chapter-header-bg-2.c8d96894.svg +0 -1
  181. package/dist/static/node-custom-test-bg.d3b757be.svg +0 -1
  182. package/dist/static/node-learn-bg.b61f815c.svg +0 -1
  183. package/dist/static/node-practice-bg.16cbaf2a.svg +0 -1
  184. package/dist/static/node-project-bg.e6a33e28.svg +0 -1
  185. package/dist/static/node-puzzle-bg.3422135c.svg +0 -1
  186. package/dist/static/node-recap-bg.546154e4.svg +0 -1
  187. package/dist/static/node-test-prep-bg.42c0b9c4.svg +0 -1
  188. package/dist/static/node-video-bg.3df3f73a.svg +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tests-list.js","sources":["../../../../../src/features/milestone/milestone-tests/tests-list/tests-list.tsx"],"sourcesContent":["import type { ITestsListProps } from './tests-list-types';\n\nimport { memo, useCallback, useEffect, type FC } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useGetTestHelpData } from '../../milestone-list-container/api/get-tests-list';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../tests-creation/tests-creation-analytics-events';\nimport TestSheetsList from './test-sheets-list/test-sheets-list';\nimport * as Styled from './tests-list-styled';\n\nconst MilestoneTestsList: FC<ITestsListProps> = memo(props => {\n const {\n isChaptersAvailable,\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n } = props;\n const { onCreateMilestoneTest, onTestPreview, onTestReview, onTestStart } = props;\n\n const {\n get: getTestHelpData,\n data,\n isProcessingFailed,\n isProcessed,\n isStale,\n isProcessing,\n } = useGetTestHelpData();\n\n const isTestSheetCreationDisabled =\n !canUpdatePlan ||\n !isChaptersAvailable ||\n !isMilestoneActive ||\n (isMilestoneActive && isDraftMilestone);\n const testCreationCtaTooltipText =\n isMilestoneActive && !isChaptersAvailable\n ? 'Chapters need to be assigned'\n : isDraftMilestone\n ? 'Allowed after plan is published'\n : 'Plan is completed';\n\n const handleOnTryAgain = useCallback(() => {\n getTestHelpData(userMilestoneId, undefined, {\n studentId,\n });\n }, [getTestHelpData, studentId, userMilestoneId]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnCreateMilestoneTest = useCallback(() => {\n if (typeof onCreateMilestoneTest === 'function') {\n onCreateMilestoneTest?.(userMilestoneId, (data?.length || 0) + 1);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [onCreateMilestoneTest, userMilestoneId, data]);\n\n const handleOnPreview = useCallback<NonNullable<ITestsListProps['onTestPreview']>>(\n (milestoneId, sheetData) => {\n if (typeof onTestPreview === 'function') {\n onTestPreview(milestoneId, sheetData);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestPreview],\n );\n\n const handleOnStart = useCallback<NonNullable<ITestsListProps['onTestStart']>>(\n sheet => {\n if (typeof onTestStart === 'function') {\n onTestStart(sheet);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestStart],\n );\n\n const handleOnReview = useCallback<NonNullable<ITestsListProps['onTestReview']>>(\n sheet => {\n if (typeof onTestReview === 'function') {\n onTestReview(sheet, userMilestoneId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestReview, userMilestoneId],\n );\n\n if (isProcessingFailed) {\n return (\n <Styled.TestHelpWrapper $alignItems=\"center\" $justifyContent=\"center\" $background=\"WHITE\">\n <FlexView $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n </Styled.TestHelpWrapper>\n );\n }\n\n if (isProcessed) {\n if (data?.length) {\n return (\n <Styled.TestHelpWrapper>\n <TestSheetsList\n milestoneId={userMilestoneId}\n sheets={data}\n userType={userType}\n studentId={studentId}\n onCreateNewTest={handleOnCreateMilestoneTest}\n onTestPreview={handleOnPreview}\n onTestReview={handleOnReview}\n onTestStart={handleOnStart}\n canUpdatedPlan={canUpdatePlan}\n isMilestoneActive={isMilestoneActive}\n />\n </Styled.TestHelpWrapper>\n );\n }\n\n return (\n <Styled.TestHelpWrapper\n $gapX={6.75}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isTestSheetCreationDisabled}\n tooltipItem={testCreationCtaTooltipText}\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Create a Test\"\n onClick={handleOnCreateMilestoneTest}\n disabled={isTestSheetCreationDisabled}\n analyticsLabel={TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_CREATION_STARTED}\n analyticsProps={{\n milestone_id: userMilestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to create a test\n </Text>\n )}\n </Styled.TestHelpWrapper>\n );\n }\n\n return (\n <Styled.TestHelpWrapper $alignItems=\"center\" $justifyContent=\"center\" $background=\"WHITE\">\n <AppLoader height=\"100%\" />\n </Styled.TestHelpWrapper>\n );\n});\n\nexport default MilestoneTestsList;\n"],"names":["MilestoneTestsList","memo","props","isChaptersAvailable","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onCreateMilestoneTest","onTestPreview","onTestReview","onTestStart","getTestHelpData","data","isProcessingFailed","isProcessed","isStale","isProcessing","useGetTestHelpData","isTestSheetCreationDisabled","testCreationCtaTooltipText","handleOnTryAgain","useCallback","useEffect","handleOnCreateMilestoneTest","handleOnPreview","milestoneId","sheetData","handleOnStart","sheet","handleOnReview","Styled.TestHelpWrapper","FlexView","jsx","Text","Button","TestSheetsList","jsxs","IMAGES","Separator","Fragment","ArrowTooltip","TESTS_CREATION_ANALYTICS_EVENTS","AppLoader"],"mappings":"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"}
1
+ {"version":3,"file":"tests-list.js","sources":["../../../../../src/features/milestone/milestone-tests/tests-list/tests-list.tsx"],"sourcesContent":["import type { ITestsListProps } from './tests-list-types';\n\nimport { memo, useCallback, useEffect, type FC } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useGetTestHelpData } from '../../milestone-list-container/api/get-tests-list';\nimport { TESTS_CREATION_ANALYTICS_EVENTS } from '../tests-creation/tests-creation-analytics-events';\nimport TestSheetsList from './test-sheets-list/test-sheets-list';\nimport * as Styled from './tests-list-styled';\n\nconst MilestoneTestsList: FC<ITestsListProps> = memo(props => {\n const {\n isChaptersAvailable,\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n } = props;\n const { onCreateMilestoneTest, onTestPreview, onTestReview, onTestStart } = props;\n\n const {\n get: getTestHelpData,\n data,\n isProcessingFailed,\n isProcessed,\n isStale,\n isProcessing,\n } = useGetTestHelpData();\n\n const isTestSheetCreationDisabled =\n !canUpdatePlan ||\n !isChaptersAvailable ||\n !isMilestoneActive ||\n (isMilestoneActive && isDraftMilestone);\n const testCreationCtaTooltipText =\n isMilestoneActive && !isChaptersAvailable\n ? 'Chapters need to be assigned'\n : isDraftMilestone\n ? 'Allowed after plan is published'\n : 'Plan is completed';\n\n const handleOnTryAgain = useCallback(() => {\n getTestHelpData(userMilestoneId, undefined, {\n studentId,\n });\n }, [getTestHelpData, studentId, userMilestoneId]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnCreateMilestoneTest = useCallback(() => {\n if (typeof onCreateMilestoneTest === 'function') {\n onCreateMilestoneTest?.(userMilestoneId, (data?.length || 0) + 1);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n }, [onCreateMilestoneTest, userMilestoneId, data]);\n\n const handleOnPreview = useCallback<NonNullable<ITestsListProps['onTestPreview']>>(\n (milestoneId, sheetData) => {\n if (typeof onTestPreview === 'function') {\n onTestPreview(milestoneId, sheetData);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestPreview],\n );\n\n const handleOnStart = useCallback<NonNullable<ITestsListProps['onTestStart']>>(\n sheet => {\n if (typeof onTestStart === 'function') {\n onTestStart(sheet);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestStart],\n );\n\n const handleOnReview = useCallback<NonNullable<ITestsListProps['onTestReview']>>(\n sheet => {\n if (typeof onTestReview === 'function') {\n onTestReview(sheet, userMilestoneId);\n\n return;\n }\n\n throw new Error('No callback provided. If provided it must be a function');\n },\n [onTestReview, userMilestoneId],\n );\n\n if (isProcessingFailed) {\n return (\n <Styled.TestHelpWrapper $alignItems=\"center\" $justifyContent=\"center\">\n <FlexView $flexGapX={1.5} $alignItems=\"center\" $justifyContent=\"center\">\n <Text $renderAs=\"h6\">Oops! Something went wrong. Please try again later.</Text>\n <Button\n widthX={14}\n size=\"small\"\n shape=\"square\"\n renderAs=\"primary\"\n label=\"Try again\"\n onClick={handleOnTryAgain}\n />\n </FlexView>\n </Styled.TestHelpWrapper>\n );\n }\n\n if (isProcessed) {\n if (data?.length) {\n return (\n <Styled.TestHelpWrapper>\n <TestSheetsList\n milestoneId={userMilestoneId}\n sheets={data}\n userType={userType}\n studentId={studentId}\n onCreateNewTest={handleOnCreateMilestoneTest}\n onTestPreview={handleOnPreview}\n onTestReview={handleOnReview}\n onTestStart={handleOnStart}\n canUpdatedPlan={canUpdatePlan}\n isMilestoneActive={isMilestoneActive}\n />\n </Styled.TestHelpWrapper>\n );\n }\n\n return (\n <Styled.TestHelpWrapper $gapX={6.75} $alignItems=\"center\" $justifyContent=\"center\">\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isTestSheetCreationDisabled}\n tooltipItem={testCreationCtaTooltipText}\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Create a Test\"\n onClick={handleOnCreateMilestoneTest}\n disabled={isTestSheetCreationDisabled}\n analyticsLabel={TESTS_CREATION_ANALYTICS_EVENTS.CUSTOM_TEST_CREATION_STARTED}\n analyticsProps={{\n milestone_id: userMilestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to create a test\n </Text>\n )}\n </Styled.TestHelpWrapper>\n );\n }\n\n return (\n <Styled.TestHelpWrapper $alignItems=\"center\" $justifyContent=\"center\">\n <AppLoader height=\"100%\" />\n </Styled.TestHelpWrapper>\n );\n});\n\nexport default MilestoneTestsList;\n"],"names":["MilestoneTestsList","memo","props","isChaptersAvailable","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onCreateMilestoneTest","onTestPreview","onTestReview","onTestStart","getTestHelpData","data","isProcessingFailed","isProcessed","isStale","isProcessing","useGetTestHelpData","isTestSheetCreationDisabled","testCreationCtaTooltipText","handleOnTryAgain","useCallback","useEffect","handleOnCreateMilestoneTest","handleOnPreview","milestoneId","sheetData","handleOnStart","sheet","handleOnReview","jsx","Styled.TestHelpWrapper","jsxs","FlexView","Text","Button","TestSheetsList","IMAGES","Separator","Fragment","ArrowTooltip","TESTS_CREATION_ANALYTICS_EVENTS","AppLoader"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import o from "styled-components";
2
+ import r from "../../../../ui/layout/flex-view.js";
3
+ const s = o(r)(({ theme: p }) => {
4
+ const { colors: t } = p;
5
+ return `
6
+ box-shadow: 0px 2px 15px 0px ${t.BLACK_T_15};
7
+ `;
8
+ }), x = o(r)(() => `
9
+ cursor:pointer;
10
+ `);
11
+ export {
12
+ x as MenuOption,
13
+ s as MenuWrapper
14
+ };
15
+ //# sourceMappingURL=menu-element-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-element-styled.js","sources":["../../../../../../src/features/sheets/resources-list/resource-item/context-menu-helper/menu-element-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nconst MenuWrapper = styled(FlexView)(({ theme }) => {\n const { colors } = theme;\n\n return `\n box-shadow: 0px 2px 15px 0px ${colors.BLACK_T_15};\n `;\n});\n\nconst MenuOption = styled(FlexView)(() => {\n return `\n cursor:pointer;\n `;\n});\n\nexport { MenuWrapper, MenuOption };\n"],"names":["MenuWrapper","styled","FlexView","theme","colors","MenuOption"],"mappings":";;AAIA,MAAMA,IAAcC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAAY;AAC5C,QAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,SAAA;AAAA,mCAC0BC,EAAO,UAAU;AAAA;AAEpD,CAAC,GAEKC,IAAaJ,EAAOC,CAAQ,EAAE,MAC3B;AAAA;AAAA,KAGR;"}
@@ -0,0 +1,26 @@
1
+ import { jsx as r, jsxs as u } from "react/jsx-runtime";
2
+ import { memo as c } from "react";
3
+ import a from "../../../../ui/text/text.js";
4
+ import { MenuWrapper as f, MenuOption as s } from "./menu-element-styled.js";
5
+ const g = c(({ menuOptions: e }) => /* @__PURE__ */ r(f, { $background: "WHITE", children: e.map((n) => {
6
+ const { label: o, icon: t, visible: i, id: l, onClick: m, option: p } = n;
7
+ return i ? /* @__PURE__ */ u(
8
+ s,
9
+ {
10
+ $flexDirection: "row",
11
+ $flexGap: 8,
12
+ $gap: 8,
13
+ $gutterX: 1,
14
+ onClick: () => m(p),
15
+ children: [
16
+ t,
17
+ /* @__PURE__ */ r(a, { $renderAs: "ub2", children: o })
18
+ ]
19
+ },
20
+ l
21
+ ) : null;
22
+ }) }));
23
+ export {
24
+ g as default
25
+ };
26
+ //# sourceMappingURL=menu-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-element.js","sources":["../../../../../../src/features/sheets/resources-list/resource-item/context-menu-helper/menu-element.tsx"],"sourcesContent":["import type { IContextMenuElement } from './menu-element-types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\n\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './menu-element-styled';\n\nconst ContextMenuElement: FC<IContextMenuElement> = memo(({ menuOptions }) => {\n return (\n <Styled.MenuWrapper $background=\"WHITE\">\n {menuOptions.map(opt => {\n const { label, icon, visible, id, onClick, option } = opt;\n\n if (!visible) return null;\n\n return (\n <Styled.MenuOption\n key={id}\n $flexDirection=\"row\"\n $flexGap={8}\n $gap={8}\n $gutterX={1}\n onClick={() => onClick(option)}\n >\n {icon}\n <Text $renderAs=\"ub2\">{label}</Text>\n </Styled.MenuOption>\n );\n })}\n </Styled.MenuWrapper>\n );\n});\n\nexport default ContextMenuElement;\n"],"names":["ContextMenuElement","memo","menuOptions","jsx","Styled.MenuWrapper","opt","label","icon","visible","id","onClick","option","jsxs","Styled.MenuOption","Text"],"mappings":";;;;AAQA,MAAMA,IAA8CC,EAAK,CAAC,EAAE,aAAAC,QAExD,gBAAAC,EAACC,GAAA,EAAmB,aAAY,SAC7B,UAAAF,EAAY,IAAI,CAAOG,MAAA;AACtB,QAAM,EAAE,OAAAC,GAAO,MAAAC,GAAM,SAAAC,GAAS,IAAAC,GAAI,SAAAC,GAAS,QAAAC,EAAW,IAAAN;AAElD,SAACG,IAGH,gBAAAI;AAAA,IAACC;AAAAA,IAAA;AAAA,MAEC,gBAAe;AAAA,MACf,UAAU;AAAA,MACV,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS,MAAMH,EAAQC,CAAM;AAAA,MAE5B,UAAA;AAAA,QAAAJ;AAAA,QACA,gBAAAJ,EAAAW,GAAA,EAAK,WAAU,OAAO,UAAMR,GAAA;AAAA,MAAA;AAAA,IAAA;AAAA,IARxBG;AAAA,EAAA,IAJY;AAetB,CAAA,EACH,CAAA,CAEH;"}
@@ -1,85 +1,199 @@
1
- import { jsx as w } from "react/jsx-runtime";
2
- import { h as R } from "../../../../node_modules/humanize-plus/dist/humanize.js";
3
- import { memo as $, useMemo as _, useCallback as x } from "react";
4
- import S from "../../../homework/homework-card.js";
5
- import { getNodeTypeBasedHWCardTitle as z } from "../../../homework/utils.js";
6
- import D from "../../../ui/buttons/clickable/clickable.js";
7
- import { isV3Worksheet as c } from "../../utils/is-v3-worksheet.js";
8
- const B = $(
9
- ({ sheet: e, userType: d, userMilestoneId: u, onPreview: o, onReview: n, onStart: a }) => {
10
- const {
11
- accuracy: h,
12
- permissions: b,
13
- title: m,
14
- state: j,
15
- node_id: f,
16
- user_node_id: t,
17
- node_type: i,
18
- image_url: v,
19
- image_hue: y,
20
- due_date_ts: E,
21
- total_questions: r
22
- } = e, {
23
- can_start: l,
24
- can_resume: k,
25
- can_review: g,
26
- can_teacher_review: C
27
- } = b, s = d === "STUDENT", p = s ? g : C, H = _(() => z(i), [i]), T = _(
28
- () => `${typeof r == "number" ? `${r} ${R.pluralize(
29
- r,
30
- "Question"
31
- )} sjkdnskjn skdnkj fsdjn fks dvkjs dfkncsdkj vcjksd ckn` : ""}`,
32
- [r]
33
- ), N = x(() => {
34
- if (s && (l || k)) {
35
- if (typeof a == "function") {
36
- a(f, c(e), t);
1
+ import { jsxs as v, jsx as e } from "react/jsx-runtime";
2
+ import { memo as J, useRef as Q, useState as Z, useMemo as ee, useCallback as d, useLayoutEffect as te } from "react";
3
+ import oe from "../../../../assets/line-icons/icons/minus2.js";
4
+ import re from "../../../../assets/line-icons/icons/plus2.js";
5
+ import ne from "../../../../assets/line-icons/icons/redo.js";
6
+ import A from "../../../ui/arrow-tooltip/arrow-tooltip.js";
7
+ import ie from "../../../ui/context-menu/context-menu.js";
8
+ import { useUIContext as ce } from "../../../ui/context/context.js";
9
+ import se from "../../../ui/layout/flex-view.js";
10
+ import ae from "../../comps/sheet-button/index.js";
11
+ import ue from "../../lessons-list/lesson-item/context-menu-helper/target-element.js";
12
+ import { SHEETS_ANALYTICS_EVENTS as k } from "../../sheets-analytics-events.js";
13
+ import { TEACHER_MENU_OPTIONS as me } from "../../sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js";
14
+ import { isV3Worksheet as h } from "../../utils/is-v3-worksheet.js";
15
+ import le from "./context-menu-helper/menu-element.js";
16
+ import { ResourceItemCard as pe, ResourceItemTitle as fe, IconButtonWrapper as de } from "./styled.js";
17
+ import { getResourceItemCtaState as he, getResourceItemCtaInfo as we, getResourceItemBackgroundColor as _e } from "./utils.js";
18
+ const { UNASSIGN: x, REDO: N } = me, Me = J(
19
+ ({
20
+ sheet: t,
21
+ userType: O,
22
+ isMilestoneWidget: w,
23
+ userMilestoneId: _,
24
+ onUnlock: i,
25
+ onUnAssignSheet: u,
26
+ onReset: m,
27
+ onPreview: l,
28
+ onReview: p,
29
+ onStart: f
30
+ }) => {
31
+ const { onClick: c } = ce(), r = Q(null), [D, M] = Z(!1), {
32
+ accuracy: b,
33
+ permissions: X,
34
+ title: C,
35
+ sheet_statement: j,
36
+ state: E,
37
+ node_id: o,
38
+ user_node_id: s,
39
+ node_sub_group: G,
40
+ node_type: y
41
+ } = t, {
42
+ can_start: I,
43
+ can_resume: S,
44
+ can_unlock: g,
45
+ can_review: H,
46
+ can_teacher_review: L,
47
+ can_unassign: B,
48
+ can_reset: U
49
+ } = X, V = typeof b == "number" ? `${b}%` : void 0, n = O === "STUDENT", R = n ? H : L, P = he(E), { label: W, Icon: F } = we(G) || {}, a = ee(
50
+ () => ({
51
+ node_id: o,
52
+ node_type: y
53
+ }),
54
+ [o, y]
55
+ ), K = d(() => {
56
+ c({
57
+ analyticsLabel: k.RESOURCE_ASSIGNED,
58
+ props: a
59
+ }), i == null || i(o);
60
+ }, [i, o, c, a]), Y = d(() => {
61
+ if (n && (I || S)) {
62
+ if (typeof f == "function") {
63
+ f(o, h(t), s);
37
64
  return;
38
65
  }
39
66
  throw new Error("No callback is available");
40
67
  }
41
- if (p) {
42
- if (typeof n != "function")
68
+ if (R) {
69
+ if (typeof p != "function")
43
70
  throw new Error("onReview must be a function");
44
- if (!t)
71
+ if (!s)
45
72
  throw new Error("user node id must be present to review the sheet");
46
- n(t, c(e, "review"), u);
73
+ p(s, h(t, "review"), _);
47
74
  return;
48
75
  }
49
- if (typeof o != "function")
76
+ if (typeof l != "function")
50
77
  throw new Error("onPreview must be a function");
51
- o(e, c(e));
78
+ l(t, h(t));
52
79
  }, [
53
- k,
54
- p,
55
- l,
80
+ S,
81
+ R,
82
+ I,
83
+ n,
84
+ o,
85
+ t,
86
+ _,
56
87
  s,
57
88
  f,
58
- e,
59
- u,
60
- t,
61
- a,
89
+ p,
90
+ l
91
+ ]), T = d(
92
+ (z) => {
93
+ switch (z) {
94
+ case x:
95
+ if (typeof u != "function")
96
+ throw new Error("onUnassignSheet must be a function");
97
+ c({
98
+ analyticsLabel: k.RESOURCE_UNASSIGNED,
99
+ props: a
100
+ }), u(t);
101
+ return;
102
+ case N:
103
+ if (typeof m != "function")
104
+ throw new Error("onReset must be a function");
105
+ m(t);
106
+ return;
107
+ }
108
+ },
109
+ [t, u, m, a, c]
110
+ );
111
+ te(() => {
112
+ r.current && r.current.scrollHeight > r.current.clientHeight && M(!0);
113
+ }, [r]);
114
+ const q = [
115
+ {
116
+ id: "supplementary_resources_unassign",
117
+ label: "Unassign",
118
+ icon: /* @__PURE__ */ e(oe, { width: 20, height: 20 }),
119
+ option: x,
120
+ visible: B,
121
+ onClick: T
122
+ },
123
+ {
124
+ id: "supplementary_resources_redo",
125
+ label: "Redo",
126
+ icon: /* @__PURE__ */ e(ne, {}),
127
+ option: N,
128
+ visible: U,
129
+ onClick: T
130
+ }
131
+ ], $ = _e(
132
+ E,
62
133
  n,
63
- o
64
- ]);
65
- return /* @__PURE__ */ w(D, { label: `test card click ${m}`, onClick: N, children: /* @__PURE__ */ w(
66
- S,
134
+ g,
135
+ !!w
136
+ );
137
+ return /* @__PURE__ */ v(
138
+ pe,
67
139
  {
68
- nodeType: i,
69
- cardHeader: H,
70
- imageHue: y || "ORANGE",
71
- imageUrl: v,
72
- header: m,
73
- subHeader: T,
74
- userType: d,
75
- state: j,
76
- accuracy: h,
77
- dueDateTs: E
140
+ $gapX: 1,
141
+ $gutterX: 1,
142
+ $flexGapX: 1.25,
143
+ $background: $,
144
+ $justifyContent: "space-between",
145
+ $heightX: 8,
146
+ $isMilestoneWidget: w,
147
+ children: [
148
+ /* @__PURE__ */ e(
149
+ A,
150
+ {
151
+ renderAs: "primary",
152
+ position: "bottom",
153
+ tooltipItem: C,
154
+ hidden: !D,
155
+ widthX: 21.75,
156
+ children: /* @__PURE__ */ e(fe, { ref: r, $renderAs: "ab2", $color: "BLACK_T_87", children: C })
157
+ }
158
+ ),
159
+ /* @__PURE__ */ v(se, { $flexDirection: "row", $justifyContent: "space-between", $alignItems: "center", children: [
160
+ /* @__PURE__ */ e(A, { position: "bottom", tooltipItem: j, renderAs: "secondary", children: /* @__PURE__ */ e(
161
+ ae,
162
+ {
163
+ renderAs: "primary",
164
+ label: W ?? "",
165
+ Icon: F,
166
+ backgroundColor: $,
167
+ state: P,
168
+ hoverActive: !1,
169
+ onClick: Y,
170
+ accuracy: V,
171
+ widthX: 8.5
172
+ }
173
+ ) }),
174
+ !n && (g ? /* @__PURE__ */ e(
175
+ de,
176
+ {
177
+ $flexDirection: "row",
178
+ $alignItems: "center",
179
+ $justifyContent: "center",
180
+ onClick: K,
181
+ children: /* @__PURE__ */ e(re, {})
182
+ }
183
+ ) : /* @__PURE__ */ e(
184
+ ie,
185
+ {
186
+ targetElement: /* @__PURE__ */ e(ue, { invertHover: !0 }),
187
+ menuElement: /* @__PURE__ */ e(le, { menuOptions: q })
188
+ }
189
+ ))
190
+ ] })
191
+ ]
78
192
  }
79
- ) });
193
+ );
80
194
  }
81
195
  );
82
196
  export {
83
- B as default
197
+ Me as default
84
198
  };
85
199
  //# sourceMappingURL=resource-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resource-item.js","sources":["../../../../../src/features/sheets/resources-list/resource-item/resource-item.tsx"],"sourcesContent":["import type { TSheetStates } from '../../../chapters-v2/comps/node-card/node-card-types';\nimport type { IResourceItemProps } from './types';\nimport type { FC } from 'react';\n\nimport { pluralize } from 'humanize-plus';\nimport { useCallback, memo, useMemo } from 'react';\n\nimport HomeworkCard from '../../../homework/homework-card';\nimport { getNodeTypeBasedHWCardTitle } from '../../../homework/utils';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport { isV3Worksheet } from '../../utils/is-v3-worksheet';\n\nconst ResourceItem: FC<IResourceItemProps> = memo(\n ({ sheet, userType, userMilestoneId, onPreview, onReview, onStart }) => {\n const {\n accuracy,\n permissions,\n title,\n state: sheetState,\n node_id: nodeId,\n user_node_id: userNodeId,\n node_type: nodeType,\n image_url: imageUrl,\n image_hue: imageHue,\n due_date_ts: dueDateTs,\n total_questions: totalQuestions,\n } = sheet;\n const {\n can_start: canStart,\n can_resume: canResume,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n } = permissions;\n\n const isStudent = userType === 'STUDENT';\n const canReviewSheet = isStudent ? canReview : canTeacherReview;\n const cardHeader = useMemo(() => getNodeTypeBasedHWCardTitle(nodeType), [nodeType]);\n const subHeader = useMemo(\n () =>\n `${\n typeof totalQuestions === 'number'\n ? `${totalQuestions} ${pluralize(\n totalQuestions,\n 'Question',\n )} sjkdnskjn skdnkj fsdjn fks dvkjs dfkncsdkj vcjksd ckn`\n : ''\n }`,\n [totalQuestions],\n );\n const handleOnClick = useCallback(() => {\n if (isStudent && (canStart || canResume)) {\n if (typeof onStart === 'function') {\n onStart(nodeId, isV3Worksheet(sheet), userNodeId);\n\n return;\n }\n\n throw new Error('No callback is available');\n }\n\n if (canReviewSheet) {\n if (typeof onReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n\n onReview(userNodeId, isV3Worksheet(sheet, 'review'), userMilestoneId);\n\n return;\n }\n\n if (typeof onPreview !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onPreview(sheet, isV3Worksheet(sheet));\n }, [\n canResume,\n canReviewSheet,\n canStart,\n isStudent,\n nodeId,\n sheet,\n userMilestoneId,\n userNodeId,\n onStart,\n onReview,\n onPreview,\n ]);\n\n return (\n <Clickable label={`test card click ${title}`} onClick={handleOnClick}>\n <HomeworkCard\n nodeType={nodeType}\n cardHeader={cardHeader}\n imageHue={imageHue || 'ORANGE'}\n imageUrl={imageUrl}\n header={title}\n subHeader={subHeader}\n userType={userType}\n state={sheetState as TSheetStates}\n accuracy={accuracy}\n dueDateTs={dueDateTs}\n />\n </Clickable>\n );\n },\n);\n\nexport default ResourceItem;\n"],"names":["ResourceItem","memo","sheet","userType","userMilestoneId","onPreview","onReview","onStart","accuracy","permissions","title","sheetState","nodeId","userNodeId","nodeType","imageUrl","imageHue","dueDateTs","totalQuestions","canStart","canResume","canReview","canTeacherReview","isStudent","canReviewSheet","cardHeader","useMemo","getNodeTypeBasedHWCardTitle","subHeader","pluralize","handleOnClick","useCallback","isV3Worksheet","Clickable","jsx","HomeworkCard"],"mappings":";;;;;;;AAYA,MAAMA,IAAuCC;AAAA,EAC3C,CAAC,EAAE,OAAAC,GAAO,UAAAC,GAAU,iBAAAC,GAAiB,WAAAC,GAAW,UAAAC,GAAU,SAAAC,QAAc;AAChE,UAAA;AAAA,MACJ,UAAAC;AAAA,MACA,aAAAC;AAAA,MACA,OAAAC;AAAA,MACA,OAAOC;AAAA,MACP,SAASC;AAAA,MACT,cAAcC;AAAA,MACd,WAAWC;AAAA,MACX,WAAWC;AAAA,MACX,WAAWC;AAAA,MACX,aAAaC;AAAA,MACb,iBAAiBC;AAAA,IACf,IAAAhB,GACE;AAAA,MACJ,WAAWiB;AAAA,MACX,YAAYC;AAAA,MACZ,YAAYC;AAAA,MACZ,oBAAoBC;AAAA,IAClB,IAAAb,GAEEc,IAAYpB,MAAa,WACzBqB,IAAiBD,IAAYF,IAAYC,GACzCG,IAAaC,EAAQ,MAAMC,EAA4Bb,CAAQ,GAAG,CAACA,CAAQ,CAAC,GAC5Ec,IAAYF;AAAA,MAChB,MACE,GACE,OAAOR,KAAmB,WACtB,GAAGA,CAAc,IAAIW,EAAA;AAAA,QACnBX;AAAA,QACA;AAAA,MAAA,CACD,2DACD,EACN;AAAA,MACF,CAACA,CAAc;AAAA,IAAA,GAEXY,IAAgBC,EAAY,MAAM;AAClC,UAAAR,MAAcJ,KAAYC,IAAY;AACpC,YAAA,OAAOb,KAAY,YAAY;AACjC,UAAAA,EAAQK,GAAQoB,EAAc9B,CAAK,GAAGW,CAAU;AAEhD;AAAA,QACF;AAEM,cAAA,IAAI,MAAM,0BAA0B;AAAA,MAC5C;AAEA,UAAIW,GAAgB;AACd,YAAA,OAAOlB,KAAa;AAChB,gBAAA,IAAI,MAAM,6BAA6B;AAG/C,YAAI,CAACO;AACG,gBAAA,IAAI,MAAM,kDAAkD;AAGpE,QAAAP,EAASO,GAAYmB,EAAc9B,GAAO,QAAQ,GAAGE,CAAe;AAEpE;AAAA,MACF;AAEI,UAAA,OAAOC,KAAc;AACjB,cAAA,IAAI,MAAM,8BAA8B;AAGtC,MAAAA,EAAAH,GAAO8B,EAAc9B,CAAK,CAAC;AAAA,IAAA,GACpC;AAAA,MACDkB;AAAA,MACAI;AAAA,MACAL;AAAA,MACAI;AAAA,MACAX;AAAA,MACAV;AAAA,MACAE;AAAA,MACAS;AAAA,MACAN;AAAA,MACAD;AAAA,MACAD;AAAA,IAAA,CACD;AAED,6BACG4B,GAAU,EAAA,OAAO,mBAAmBvB,CAAK,IAAI,SAASoB,GACrD,UAAA,gBAAAI;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,UAAArB;AAAA,QACA,YAAAW;AAAA,QACA,UAAUT,KAAY;AAAA,QACtB,UAAAD;AAAA,QACA,QAAQL;AAAA,QACR,WAAAkB;AAAA,QACA,UAAAzB;AAAA,QACA,OAAOQ;AAAA,QACP,UAAAH;AAAA,QACA,WAAAS;AAAA,MAAA;AAAA,IAEJ,EAAA,CAAA;AAAA,EAEJ;AACF;"}
1
+ {"version":3,"file":"resource-item.js","sources":["../../../../../src/features/sheets/resources-list/resource-item/resource-item.tsx"],"sourcesContent":["import type { IMenuOptionsProps } from './context-menu-helper/menu-element-types';\nimport type { IResourceItemProps } from './types';\nimport type { FC } from 'react';\n\nimport { useCallback, useLayoutEffect, useRef, memo, useState, useMemo } from 'react';\n\nimport Minus2Icon from '../../../../assets/line-icons/icons/minus2';\nimport Plus2Icon from '../../../../assets/line-icons/icons/plus2';\nimport RedoIcon from '../../../../assets/line-icons/icons/redo';\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport ContextMenu from '../../../ui/context-menu/context-menu';\nimport { useUIContext } from '../../../ui/context/context';\nimport FlexView from '../../../ui/layout/flex-view';\nimport SheetButton from '../../comps/sheet-button';\nimport ContextMenuTargetElement from '../../lessons-list/lesson-item/context-menu-helper/target-element';\nimport { SHEETS_ANALYTICS_EVENTS } from '../../sheets-analytics-events';\nimport { TEACHER_MENU_OPTIONS } from '../../sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant';\nimport { isV3Worksheet } from '../../utils/is-v3-worksheet';\nimport ContextMenuElement from './context-menu-helper/menu-element';\nimport * as Styled from './styled';\nimport {\n getResourceItemBackgroundColor,\n getResourceItemCtaInfo,\n getResourceItemCtaState,\n} from './utils';\n\nconst { UNASSIGN, REDO } = TEACHER_MENU_OPTIONS;\n\nconst ResourceItem: FC<IResourceItemProps> = memo(\n ({\n sheet,\n userType,\n isMilestoneWidget,\n userMilestoneId,\n onUnlock,\n onUnAssignSheet,\n onReset,\n onPreview,\n onReview,\n onStart,\n }) => {\n const { onClick: trackClick } = useUIContext();\n const titleTextRef = useRef<HTMLDivElement>(null);\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n\n const {\n accuracy,\n permissions,\n title,\n sheet_statement: sheetStatement,\n state: sheetState,\n node_id: nodeId,\n user_node_id: userNodeId,\n node_sub_group: nodeSubGroup,\n node_type: nodeType,\n } = sheet;\n const {\n can_start: canStart,\n can_resume: canResume,\n can_unlock: canUnlock,\n can_review: canReview,\n can_teacher_review: canTeacherReview,\n can_unassign: canUnassign,\n can_reset: canReset,\n } = permissions;\n\n const sheetAccuracy = typeof accuracy === 'number' ? `${accuracy}%` : undefined;\n const isStudent = userType === 'STUDENT';\n const canReviewSheet = isStudent ? canReview : canTeacherReview;\n\n const ctaState = getResourceItemCtaState(sheetState);\n const { label, Icon } = getResourceItemCtaInfo(nodeSubGroup) || {};\n\n const analyticsProps = useMemo(\n () => ({\n node_id: nodeId,\n node_type: nodeType,\n }),\n [nodeId, nodeType],\n );\n\n const handleAssignSheet = useCallback(() => {\n trackClick({\n analyticsLabel: SHEETS_ANALYTICS_EVENTS.RESOURCE_ASSIGNED,\n props: analyticsProps,\n });\n\n onUnlock?.(nodeId);\n }, [onUnlock, nodeId, trackClick, analyticsProps]);\n\n const handleOnClick = useCallback(() => {\n if (isStudent && (canStart || canResume)) {\n if (typeof onStart === 'function') {\n onStart(nodeId, isV3Worksheet(sheet), userNodeId);\n\n return;\n }\n\n throw new Error('No callback is available');\n }\n\n if (canReviewSheet) {\n if (typeof onReview !== 'function') {\n throw new Error('onReview must be a function');\n }\n\n if (!userNodeId) {\n throw new Error('user node id must be present to review the sheet');\n }\n\n onReview(userNodeId, isV3Worksheet(sheet, 'review'), userMilestoneId);\n\n return;\n }\n\n if (typeof onPreview !== 'function') {\n throw new Error('onPreview must be a function');\n }\n\n onPreview(sheet, isV3Worksheet(sheet));\n }, [\n canResume,\n canReviewSheet,\n canStart,\n isStudent,\n nodeId,\n sheet,\n userMilestoneId,\n userNodeId,\n onStart,\n onReview,\n onPreview,\n ]);\n\n const handleMenuOptionClick = useCallback(\n (selectedOption: string) => {\n switch (selectedOption) {\n case UNASSIGN:\n if (typeof onUnAssignSheet !== 'function') {\n throw new Error('onUnassignSheet must be a function');\n }\n\n trackClick({\n analyticsLabel: SHEETS_ANALYTICS_EVENTS.RESOURCE_UNASSIGNED,\n props: analyticsProps,\n });\n\n onUnAssignSheet(sheet);\n\n return;\n\n case REDO:\n if (typeof onReset !== 'function') {\n throw new Error('onReset must be a function');\n }\n\n onReset(sheet);\n\n return;\n }\n },\n [sheet, onUnAssignSheet, onReset, analyticsProps, trackClick],\n );\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, [titleTextRef]);\n\n const menuOptions: IMenuOptionsProps[] = [\n {\n id: 'supplementary_resources_unassign',\n label: 'Unassign',\n icon: <Minus2Icon width={20} height={20} />,\n option: UNASSIGN,\n visible: canUnassign,\n onClick: handleMenuOptionClick,\n },\n {\n id: 'supplementary_resources_redo',\n label: 'Redo',\n icon: <RedoIcon />,\n option: REDO,\n visible: canReset,\n onClick: handleMenuOptionClick,\n },\n ];\n\n const backgroundColor = getResourceItemBackgroundColor(\n sheetState,\n isStudent,\n canUnlock,\n !!isMilestoneWidget,\n );\n\n return (\n <Styled.ResourceItemCard\n $gapX={1}\n $gutterX={1}\n $flexGapX={1.25}\n $background={backgroundColor}\n $justifyContent=\"space-between\"\n $heightX={8}\n $isMilestoneWidget={isMilestoneWidget}\n >\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={title}\n hidden={!showTitleTooltip}\n widthX={21.75}\n >\n <Styled.ResourceItemTitle ref={titleTextRef} $renderAs=\"ab2\" $color=\"BLACK_T_87\">\n {title}\n </Styled.ResourceItemTitle>\n </ArrowTooltip>\n\n <FlexView $flexDirection=\"row\" $justifyContent=\"space-between\" $alignItems=\"center\">\n <ArrowTooltip position=\"bottom\" tooltipItem={sheetStatement} renderAs=\"secondary\">\n <SheetButton\n renderAs=\"primary\"\n label={label ?? ''}\n Icon={Icon}\n backgroundColor={backgroundColor}\n state={ctaState}\n hoverActive={false}\n onClick={handleOnClick}\n accuracy={sheetAccuracy}\n widthX={8.5}\n />\n </ArrowTooltip>\n\n {!isStudent &&\n (canUnlock ? (\n <Styled.IconButtonWrapper\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n onClick={handleAssignSheet}\n >\n <Plus2Icon />\n </Styled.IconButtonWrapper>\n ) : (\n <ContextMenu\n targetElement={<ContextMenuTargetElement invertHover />}\n menuElement={<ContextMenuElement menuOptions={menuOptions} />}\n />\n ))}\n </FlexView>\n </Styled.ResourceItemCard>\n );\n },\n);\n\nexport default ResourceItem;\n"],"names":["UNASSIGN","REDO","TEACHER_MENU_OPTIONS","ResourceItem","memo","sheet","userType","isMilestoneWidget","userMilestoneId","onUnlock","onUnAssignSheet","onReset","onPreview","onReview","onStart","trackClick","useUIContext","titleTextRef","useRef","showTitleTooltip","setShowTitleTooltip","useState","accuracy","permissions","title","sheetStatement","sheetState","nodeId","userNodeId","nodeSubGroup","nodeType","canStart","canResume","canUnlock","canReview","canTeacherReview","canUnassign","canReset","sheetAccuracy","isStudent","canReviewSheet","ctaState","getResourceItemCtaState","label","Icon","getResourceItemCtaInfo","analyticsProps","useMemo","handleAssignSheet","useCallback","SHEETS_ANALYTICS_EVENTS","handleOnClick","isV3Worksheet","handleMenuOptionClick","selectedOption","useLayoutEffect","menuOptions","jsx","Minus2Icon","RedoIcon","backgroundColor","getResourceItemBackgroundColor","jsxs","Styled.ResourceItemCard","ArrowTooltip","Styled.ResourceItemTitle","FlexView","SheetButton","Styled.IconButtonWrapper","Plus2Icon","ContextMenu","ContextMenuTargetElement","ContextMenuElement"],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import e from "styled-components";
2
+ import i from "../../../ui/layout/flex-view.js";
3
+ import d from "../../../ui/text/text.js";
4
+ const c = e(i)(({ theme: r, $isMilestoneWidget: o }) => {
5
+ const { WHITE_5: t } = r.colors;
6
+ return `
7
+ border: 1px solid ${t};
8
+ ${o && `
9
+ border-top-width: 0;
10
+ border-left-width: 0;
11
+
12
+ &:nth-child(even) {
13
+ border-right-width: 0;
14
+ }
15
+ `}
16
+ `;
17
+ }), p = e(d)(() => `
18
+ display: -webkit-box;
19
+ -webkit-box-orient: vertical;
20
+ -webkit-line-clamp: 2;
21
+ text-overflow: ellipsis;
22
+ overflow: hidden;
23
+ `), b = e(i)(({ theme: r }) => {
24
+ const { gutter: o } = r.layout, { BLACK_T_87: t } = r.colors;
25
+ return `
26
+ width: ${o * 2}px;
27
+ height: ${o * 2}px;
28
+ border: 1px solid ${t};
29
+ border-radius: 50%;
30
+ cursor: pointer;
31
+ `;
32
+ });
33
+ export {
34
+ b as IconButtonWrapper,
35
+ c as ResourceItemCard,
36
+ p as ResourceItemTitle
37
+ };
38
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled.js","sources":["../../../../../src/features/sheets/resources-list/resource-item/styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\n\ninterface IResourceItemCard {\n $isMilestoneWidget?: boolean;\n}\n\nconst ResourceItemCard = styled(FlexView)<IResourceItemCard>(({ theme, $isMilestoneWidget }) => {\n const { WHITE_5 } = theme.colors;\n\n return `\n border: 1px solid ${WHITE_5};\n ${\n $isMilestoneWidget &&\n `\n border-top-width: 0;\n border-left-width: 0;\n\n &:nth-child(even) {\n border-right-width: 0;\n }\n `\n }\n `;\n});\n\nconst ResourceItemTitle = styled(Text)(() => {\n return `\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n text-overflow: ellipsis;\n overflow: hidden;\n `;\n});\n\nconst IconButtonWrapper = styled(FlexView)(({ theme }) => {\n const { gutter } = theme.layout;\n const { BLACK_T_87 } = theme.colors;\n\n return `\n width: ${gutter * 2}px;\n height: ${gutter * 2}px;\n border: 1px solid ${BLACK_T_87};\n border-radius: 50%;\n cursor: pointer;\n `;\n});\n\nexport { ResourceItemCard, ResourceItemTitle, IconButtonWrapper };\n"],"names":["ResourceItemCard","styled","FlexView","theme","$isMilestoneWidget","WHITE_5","ResourceItemTitle","Text","IconButtonWrapper","gutter","BLACK_T_87"],"mappings":";;;AASM,MAAAA,IAAmBC,EAAOC,CAAQ,EAAqB,CAAC,EAAE,OAAAC,GAAO,oBAAAC,QAAyB;AACxF,QAAA,EAAE,SAAAC,EAAQ,IAAIF,EAAM;AAEnB,SAAA;AAAA,0BACiBE,CAAO;AAAA,QAEzBD,KACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAQF;AAAA;AAEN,CAAC,GAEKE,IAAoBL,EAAOM,CAAI,EAAE,MAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAOR,GAEKC,IAAoBP,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAAY;AAClD,QAAA,EAAE,QAAAM,EAAO,IAAIN,EAAM,QACnB,EAAE,YAAAO,EAAW,IAAIP,EAAM;AAEtB,SAAA;AAAA,eACMM,IAAS,CAAC;AAAA,gBACTA,IAAS,CAAC;AAAA,0BACAC,CAAU;AAAA;AAAA;AAAA;AAIpC,CAAC;"}
@@ -0,0 +1,23 @@
1
+ import T from "../../../../assets/line-icons/icons/clock2.js";
2
+ import I from "../../../../assets/line-icons/icons/progress.js";
3
+ import f from "../../../../assets/line-icons/icons/switch-icon.js";
4
+ import { IS_CHAPTER_COMPLETED_STATES as t } from "../../../milestone/create/milestone-create-constants.js";
5
+ import { SHEET_STATE as C } from "../../constants/sheet.js";
6
+ const { COMPLETED: n, IN_PROGRESS: l, RE_ATTEMPT: c } = C, S = (r) => {
7
+ if (!r) return;
8
+ if (r === n || r === c || t.some((e) => e === r)) return "completed";
9
+ if (r === l) return "in_progress";
10
+ }, R = (r) => {
11
+ if (r)
12
+ return r === "STEP_UP" ? { Icon: I, label: "Step Up" } : r === "CATCH_UP" ? { Icon: f, label: "Catch Up" } : { Icon: T, label: r };
13
+ }, g = (r, o, e, i) => {
14
+ if (i) return "WHITE";
15
+ const m = r === n || r === c || t.some((E) => E === r);
16
+ return o && m || !o && !e ? "WHITE_4" : "WHITE";
17
+ };
18
+ export {
19
+ g as getResourceItemBackgroundColor,
20
+ R as getResourceItemCtaInfo,
21
+ S as getResourceItemCtaState
22
+ };
23
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../../src/features/sheets/resources-list/resource-item/utils.ts"],"sourcesContent":["import type { TColorNames } from '../../../ui/types';\nimport type {\n TNodeSubGroupProps,\n TSheetStateProps,\n} from '../../sheets-list/sheet-item/sheet-item-types';\n\nimport Clock2Icon from '../../../../assets/line-icons/icons/clock2';\nimport ProgressIcon from '../../../../assets/line-icons/icons/progress';\nimport SwitchIcon from '../../../../assets/line-icons/icons/switch-icon';\nimport { IS_CHAPTER_COMPLETED_STATES } from '../../../milestone/create/milestone-create-constants';\nimport { SHEET_STATE } from '../../constants/sheet';\n\nconst { COMPLETED, IN_PROGRESS, RE_ATTEMPT } = SHEET_STATE;\n\nconst getResourceItemCtaState = (state?: TSheetStateProps) => {\n if (!state) return undefined;\n\n const isSheetCompleted =\n state === COMPLETED ||\n state === RE_ATTEMPT ||\n IS_CHAPTER_COMPLETED_STATES.some(sheetState => sheetState === state);\n\n if (isSheetCompleted) return 'completed';\n\n if (state === IN_PROGRESS) return 'in_progress';\n\n return undefined;\n};\n\ninterface IGetResourceItemCtaInfo {\n (nodeSubGroup?: TNodeSubGroupProps):\n | {\n label: string;\n Icon: React.FC<React.SVGProps<SVGSVGElement>>;\n }\n | undefined;\n}\n\nconst getResourceItemCtaInfo: IGetResourceItemCtaInfo = nodeSubGroup => {\n if (!nodeSubGroup) return undefined;\n\n if (nodeSubGroup === 'STEP_UP') return { Icon: ProgressIcon, label: 'Step Up' };\n\n if (nodeSubGroup === 'CATCH_UP') return { Icon: SwitchIcon, label: 'Catch Up' };\n\n return { Icon: Clock2Icon, label: nodeSubGroup };\n};\n\ninterface IGetResourceItemBackgroundColor {\n (\n sheetState: TSheetStateProps,\n isStudent: boolean,\n canUnlock: boolean,\n isMilestoneWidget: boolean,\n ): TColorNames;\n}\n\nconst getResourceItemBackgroundColor: IGetResourceItemBackgroundColor = (\n sheetState,\n isStudent,\n canUnlock,\n isMilestoneWidget,\n) => {\n if (isMilestoneWidget) return 'WHITE';\n\n const isSheetCompleted =\n sheetState === COMPLETED ||\n sheetState === RE_ATTEMPT ||\n IS_CHAPTER_COMPLETED_STATES.some(state => state === sheetState);\n\n if ((isStudent && isSheetCompleted) || (!isStudent && !canUnlock)) return 'WHITE_4';\n\n return 'WHITE';\n};\n\nexport { getResourceItemCtaState, getResourceItemCtaInfo, getResourceItemBackgroundColor };\n"],"names":["COMPLETED","IN_PROGRESS","RE_ATTEMPT","SHEET_STATE","getResourceItemCtaState","state","IS_CHAPTER_COMPLETED_STATES","sheetState","getResourceItemCtaInfo","nodeSubGroup","ProgressIcon","SwitchIcon","Clock2Icon","getResourceItemBackgroundColor","isStudent","canUnlock","isMilestoneWidget","isSheetCompleted"],"mappings":";;;;;AAYA,MAAM,EAAE,WAAAA,GAAW,aAAAC,GAAa,YAAAC,EAAA,IAAeC,GAEzCC,IAA0B,CAACC,MAA6B;AACxD,MAAA,CAACA,EAAc;AAOnB,MAJEA,MAAUL,KACVK,MAAUH,KACVI,EAA4B,KAAK,CAAcC,MAAAA,MAAeF,CAAK,EAExC,QAAA;AAEzB,MAAAA,MAAUJ,EAAoB,QAAA;AAGpC,GAWMO,IAAkD,CAAgBC,MAAA;AAClE,MAACA;AAEL,WAAIA,MAAiB,YAAkB,EAAE,MAAMC,GAAc,OAAO,cAEhED,MAAiB,aAAmB,EAAE,MAAME,GAAY,OAAO,eAE5D,EAAE,MAAMC,GAAY,OAAOH,EAAa;AACjD,GAWMI,IAAkE,CACtEN,GACAO,GACAC,GACAC,MACG;AACH,MAAIA,EAA0B,QAAA;AAExB,QAAAC,IACJV,MAAeP,KACfO,MAAeL,KACfI,EAA4B,KAAK,CAASD,MAAAA,MAAUE,CAAU;AAEhE,SAAKO,KAAaG,KAAsB,CAACH,KAAa,CAACC,IAAmB,YAEnE;AACT;"}
@@ -4,22 +4,22 @@ import L from "../../ui/layout/flex-view.js";
4
4
  import R from "./resource-item/resource-item.js";
5
5
  import { ResourceItemListWrapper as g } from "./styled.js";
6
6
  const y = a(
7
- ({ sheets: t, userType: i, isMilestoneWidget: o, ...m }) => {
8
- const e = u(null), s = l(() => t.length, [t]), n = u(0);
7
+ ({ sheets: o, userType: i, isMilestoneWidget: t, ...m }) => {
8
+ const e = u(null), s = l(() => o.length, [o]), n = u(0);
9
9
  return d(() => {
10
- if (e.current && !o) {
10
+ if (e.current && !t) {
11
11
  e.current.style.height = "auto";
12
12
  const r = e.current.clientHeight;
13
13
  r > n.current && (n.current = r), e.current.style.height = `${n.current}px`;
14
14
  }
15
- }, [s, o]), /* @__PURE__ */ c(L, { ref: e, children: /* @__PURE__ */ c(g, { children: t.map((r, f) => {
15
+ }, [s, t]), /* @__PURE__ */ c(L, { ref: e, children: /* @__PURE__ */ c(g, { $isMilestoneWidget: t, children: o.map((r, f) => {
16
16
  const { worksheet_id: h, node_id: p } = r;
17
17
  return /* @__PURE__ */ c(
18
18
  R,
19
19
  {
20
20
  sheet: r,
21
21
  userType: i,
22
- isMilestoneWidget: o,
22
+ isMilestoneWidget: t,
23
23
  ...m
24
24
  },
25
25
  `${h}_${p}_${f}`
@@ -1 +1 @@
1
- {"version":3,"file":"resources-list.js","sources":["../../../../src/features/sheets/resources-list/resources-list.tsx"],"sourcesContent":["import type { IResourcesListProps } from './types';\nimport type { FC } from 'react';\n\nimport { useRef, useLayoutEffect, useMemo, memo } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport ResourceItem from './resource-item/resource-item';\nimport * as Styled from './styled';\n\nconst ResourcesList: FC<IResourcesListProps> = memo(\n ({ sheets, userType, isMilestoneWidget, ...sheetCallBacks }) => {\n const resourceListContainerRef = useRef<HTMLDivElement>(null);\n const resourceListLength = useMemo(() => sheets.length, [sheets]);\n const maxHeightRef = useRef(0);\n\n useLayoutEffect(() => {\n if (resourceListContainerRef.current && !isMilestoneWidget) {\n resourceListContainerRef.current.style.height = 'auto';\n\n const newHeight = resourceListContainerRef.current.clientHeight;\n\n if (newHeight > maxHeightRef.current) {\n maxHeightRef.current = newHeight;\n }\n\n resourceListContainerRef.current.style.height = `${maxHeightRef.current}px`;\n }\n }, [resourceListLength, isMilestoneWidget]);\n\n return (\n <FlexView ref={resourceListContainerRef}>\n <Styled.ResourceItemListWrapper>\n {sheets.map((sheet, idx) => {\n const { worksheet_id: worksheetId, node_id: nodeId } = sheet;\n\n return (\n <ResourceItem\n key={`${worksheetId}_${nodeId}_${idx}`}\n sheet={sheet}\n userType={userType}\n isMilestoneWidget={isMilestoneWidget}\n {...sheetCallBacks}\n />\n );\n })}\n </Styled.ResourceItemListWrapper>\n </FlexView>\n );\n },\n);\n\nexport default ResourcesList;\n"],"names":["ResourcesList","memo","sheets","userType","isMilestoneWidget","sheetCallBacks","resourceListContainerRef","useRef","resourceListLength","useMemo","maxHeightRef","useLayoutEffect","newHeight","jsx","FlexView","Styled.ResourceItemListWrapper","sheet","idx","worksheetId","nodeId","ResourceItem"],"mappings":";;;;;AASA,MAAMA,IAAyCC;AAAA,EAC7C,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,mBAAAC,GAAmB,GAAGC,QAAqB;AACxD,UAAAC,IAA2BC,EAAuB,IAAI,GACtDC,IAAqBC,EAAQ,MAAMP,EAAO,QAAQ,CAACA,CAAM,CAAC,GAC1DQ,IAAeH,EAAO,CAAC;AAE7B,WAAAI,EAAgB,MAAM;AAChB,UAAAL,EAAyB,WAAW,CAACF,GAAmB;AACjC,QAAAE,EAAA,QAAQ,MAAM,SAAS;AAE1C,cAAAM,IAAYN,EAAyB,QAAQ;AAE/C,QAAAM,IAAYF,EAAa,YAC3BA,EAAa,UAAUE,IAGzBN,EAAyB,QAAQ,MAAM,SAAS,GAAGI,EAAa,OAAO;AAAA,MACzE;AAAA,IAAA,GACC,CAACF,GAAoBJ,CAAiB,CAAC,GAGvC,gBAAAS,EAAAC,GAAA,EAAS,KAAKR,GACb,UAAC,gBAAAO,EAAAE,GAAA,EACE,UAAOb,EAAA,IAAI,CAACc,GAAOC,MAAQ;AAC1B,YAAM,EAAE,cAAcC,GAAa,SAASC,MAAWH;AAGrD,aAAA,gBAAAH;AAAA,QAACO;AAAA,QAAA;AAAA,UAEC,OAAAJ;AAAA,UACA,UAAAb;AAAA,UACA,mBAAAC;AAAA,UACC,GAAGC;AAAA,QAAA;AAAA,QAJC,GAAGa,CAAW,IAAIC,CAAM,IAAIF,CAAG;AAAA,MAAA;AAAA,IAKtC,CAEH,GACH,EACF,CAAA;AAAA,EAEJ;AACF;"}
1
+ {"version":3,"file":"resources-list.js","sources":["../../../../src/features/sheets/resources-list/resources-list.tsx"],"sourcesContent":["import type { IResourcesListProps } from './types';\nimport type { FC } from 'react';\n\nimport { useRef, useLayoutEffect, useMemo, memo } from 'react';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport ResourceItem from './resource-item/resource-item';\nimport * as Styled from './styled';\n\nconst ResourcesList: FC<IResourcesListProps> = memo(\n ({ sheets, userType, isMilestoneWidget, ...sheetCallBacks }) => {\n const resourceListContainerRef = useRef<HTMLDivElement>(null);\n const resourceListLength = useMemo(() => sheets.length, [sheets]);\n const maxHeightRef = useRef(0);\n\n useLayoutEffect(() => {\n if (resourceListContainerRef.current && !isMilestoneWidget) {\n resourceListContainerRef.current.style.height = 'auto';\n\n const newHeight = resourceListContainerRef.current.clientHeight;\n\n if (newHeight > maxHeightRef.current) {\n maxHeightRef.current = newHeight;\n }\n\n resourceListContainerRef.current.style.height = `${maxHeightRef.current}px`;\n }\n }, [resourceListLength, isMilestoneWidget]);\n\n return (\n <FlexView ref={resourceListContainerRef}>\n <Styled.ResourceItemListWrapper $isMilestoneWidget={isMilestoneWidget}>\n {sheets.map((sheet, idx) => {\n const { worksheet_id: worksheetId, node_id: nodeId } = sheet;\n\n return (\n <ResourceItem\n key={`${worksheetId}_${nodeId}_${idx}`}\n sheet={sheet}\n userType={userType}\n isMilestoneWidget={isMilestoneWidget}\n {...sheetCallBacks}\n />\n );\n })}\n </Styled.ResourceItemListWrapper>\n </FlexView>\n );\n },\n);\n\nexport default ResourcesList;\n"],"names":["ResourcesList","memo","sheets","userType","isMilestoneWidget","sheetCallBacks","resourceListContainerRef","useRef","resourceListLength","useMemo","maxHeightRef","useLayoutEffect","newHeight","jsx","FlexView","Styled.ResourceItemListWrapper","sheet","idx","worksheetId","nodeId","ResourceItem"],"mappings":";;;;;AASA,MAAMA,IAAyCC;AAAA,EAC7C,CAAC,EAAE,QAAAC,GAAQ,UAAAC,GAAU,mBAAAC,GAAmB,GAAGC,QAAqB;AACxD,UAAAC,IAA2BC,EAAuB,IAAI,GACtDC,IAAqBC,EAAQ,MAAMP,EAAO,QAAQ,CAACA,CAAM,CAAC,GAC1DQ,IAAeH,EAAO,CAAC;AAE7B,WAAAI,EAAgB,MAAM;AAChB,UAAAL,EAAyB,WAAW,CAACF,GAAmB;AACjC,QAAAE,EAAA,QAAQ,MAAM,SAAS;AAE1C,cAAAM,IAAYN,EAAyB,QAAQ;AAE/C,QAAAM,IAAYF,EAAa,YAC3BA,EAAa,UAAUE,IAGzBN,EAAyB,QAAQ,MAAM,SAAS,GAAGI,EAAa,OAAO;AAAA,MACzE;AAAA,IAAA,GACC,CAACF,GAAoBJ,CAAiB,CAAC,GAGvC,gBAAAS,EAAAC,GAAA,EAAS,KAAKR,GACb,4BAACS,GAAA,EAA+B,oBAAoBX,GACjD,UAAAF,EAAO,IAAI,CAACc,GAAOC,MAAQ;AAC1B,YAAM,EAAE,cAAcC,GAAa,SAASC,MAAWH;AAGrD,aAAA,gBAAAH;AAAA,QAACO;AAAA,QAAA;AAAA,UAEC,OAAAJ;AAAA,UACA,UAAAb;AAAA,UACA,mBAAAC;AAAA,UACC,GAAGC;AAAA,QAAA;AAAA,QAJC,GAAGa,CAAW,IAAIC,CAAM,IAAIF,CAAG;AAAA,MAAA;AAAA,IAKtC,CAEH,GACH,EACF,CAAA;AAAA,EAEJ;AACF;"}
@@ -1,12 +1,16 @@
1
- import e from "styled-components";
2
- const p = e.div`
3
- display: grid;
4
- grid-template-columns: repeat(3, 200px);
5
- grid-gap: 32px;
6
- justify-content: center;
7
- padding: 32px 0;
8
- `;
1
+ import o from "styled-components";
2
+ const a = o.div(
3
+ ({ theme: t, $isMilestoneWidget: e }) => {
4
+ const { layout: r } = t;
5
+ return `
6
+ display: grid;
7
+ grid-template-columns: repeat(2, 1fr);
8
+ grid-template-rows: max-content;
9
+ gap: ${e ? 0 : `${r.gutter * 1.5}px`};
10
+ `;
11
+ }
12
+ );
9
13
  export {
10
- p as ResourceItemListWrapper
14
+ a as ResourceItemListWrapper
11
15
  };
12
16
  //# sourceMappingURL=styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styled.js","sources":["../../../../src/features/sheets/resources-list/styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nconst ResourceItemListWrapper = styled.div`\n display: grid;\n grid-template-columns: repeat(3, 200px);\n grid-gap: 32px;\n justify-content: center;\n padding: 32px 0;\n`;\n\nexport { ResourceItemListWrapper };\n"],"names":["ResourceItemListWrapper","styled"],"mappings":";AAEA,MAAMA,IAA0BC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"styled.js","sources":["../../../../src/features/sheets/resources-list/styled.tsx"],"sourcesContent":["import type { IResourcesListProps } from './types';\n\nimport styled from 'styled-components';\n\ninterface IResourceItemListWrapper {\n $isMilestoneWidget: IResourcesListProps['isMilestoneWidget'];\n}\n\nconst ResourceItemListWrapper = styled.div<IResourceItemListWrapper>(\n ({ theme, $isMilestoneWidget }) => {\n const { layout } = theme;\n\n return `\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: max-content;\n gap: ${$isMilestoneWidget ? 0 : `${layout.gutter * 1.5}px`};\n `;\n },\n);\n\nexport { ResourceItemListWrapper };\n"],"names":["ResourceItemListWrapper","styled","theme","$isMilestoneWidget","layout"],"mappings":";AAQA,MAAMA,IAA0BC,EAAO;AAAA,EACrC,CAAC,EAAE,OAAAC,GAAO,oBAAAC,QAAyB;AAC3B,UAAA,EAAE,QAAAC,EAAW,IAAAF;AAEZ,WAAA;AAAA;AAAA;AAAA;AAAA,WAIAC,IAAqB,IAAI,GAAGC,EAAO,SAAS,GAAG,IAAI;AAAA;AAAA,EAE5D;AACF;"}
@@ -0,0 +1,11 @@
1
+ import { PLUGINS as r } from "../../node_modules/@cuemath/analytics-v2/dist/constants.js";
2
+ var s = /* @__PURE__ */ ((e) => (e.RESOURCE_ASSIGNED = "resource_assigned", e.RESOURCE_UNASSIGNED = "resource_unassigned", e))(s || {});
3
+ const n = {
4
+ resource_assigned: [r.MIXPANEL],
5
+ resource_unassigned: [r.MIXPANEL]
6
+ };
7
+ export {
8
+ s as SHEETS_ANALYTICS_EVENTS,
9
+ n as SHEETS_ANALYTICS_WHITELIST_EVENTS
10
+ };
11
+ //# sourceMappingURL=sheets-analytics-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheets-analytics-events.js","sources":["../../../src/features/sheets/sheets-analytics-events.ts"],"sourcesContent":["import { PLUGINS } from '@cuemath/analytics-v2/dist/constants';\n\nexport enum SHEETS_ANALYTICS_EVENTS {\n RESOURCE_ASSIGNED = 'resource_assigned',\n RESOURCE_UNASSIGNED = 'resource_unassigned',\n}\n\nexport const SHEETS_ANALYTICS_WHITELIST_EVENTS = {\n [SHEETS_ANALYTICS_EVENTS.RESOURCE_ASSIGNED]: [PLUGINS.MIXPANEL],\n [SHEETS_ANALYTICS_EVENTS.RESOURCE_UNASSIGNED]: [PLUGINS.MIXPANEL],\n};\n"],"names":["SHEETS_ANALYTICS_EVENTS","SHEETS_ANALYTICS_WHITELIST_EVENTS","PLUGINS"],"mappings":";AAEY,IAAAA,sBAAAA,OACVA,EAAA,oBAAoB,qBACpBA,EAAA,sBAAsB,uBAFZA,IAAAA,KAAA,CAAA,CAAA;AAKL,MAAMC,IAAoC;AAAA,EAC9C,mBAA4C,CAACC,EAAQ,QAAQ;AAAA,EAC7D,qBAA8C,CAACA,EAAQ,QAAQ;AAClE;"}
@@ -1,4 +1,4 @@
1
- const A = {
1
+ const E = {
2
2
  CHANGE_LOCATION: "Change location",
3
3
  RESET_PROGRESS: "Reset progress",
4
4
  MARK_AS_FAMILIAR: "Mark as learned",
@@ -11,10 +11,9 @@ const A = {
11
11
  MARK_AS_DONE: "Mark as Done",
12
12
  SKIP: "Skip",
13
13
  REVERT_SKIP: "Revert Skip",
14
- REDO: "Redo",
15
- ASSIGN_AS_HW: "Assign as HW"
14
+ REDO: "Redo"
16
15
  };
17
16
  export {
18
- A as TEACHER_MENU_OPTIONS
17
+ E as TEACHER_MENU_OPTIONS
19
18
  };
20
19
  //# sourceMappingURL=teacher-actions-constant.js.map