@cuemath/leap 3.2.31 → 3.2.32-m

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 (214) hide show
  1. package/dist/assets/illustrations/illustrations.js +5 -6
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/lottie/lottie.js +1 -6
  4. package/dist/assets/lottie/lottie.js.map +1 -1
  5. package/dist/features/analytics-events/platform-events-student.js +1 -2
  6. package/dist/features/analytics-events/platform-events-student.js.map +1 -1
  7. package/dist/features/analytics-events/platform-events-teacher.js +4 -6
  8. package/dist/features/analytics-events/platform-events-teacher.js.map +1 -1
  9. package/dist/features/analytics-events/whitelist-events.js +16 -20
  10. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  11. package/dist/features/auth/account-selector/account-selector.js +52 -54
  12. package/dist/features/auth/account-selector/account-selector.js.map +1 -1
  13. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js +1 -2
  14. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js.map +1 -1
  15. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js +8 -8
  16. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js.map +1 -1
  17. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +60 -82
  18. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -1
  19. package/dist/features/auth/comps/pill-button/pill-button.js +38 -41
  20. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -1
  21. package/dist/features/auth/comps/resend-otp/resend-otp.js +14 -18
  22. package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
  23. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js +26 -32
  24. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js.map +1 -1
  25. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js +10 -2
  26. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js.map +1 -1
  27. package/dist/features/auth/comps/user-list/user-item/user-item-styled.js +3 -9
  28. package/dist/features/auth/comps/user-list/user-item/user-item-styled.js.map +1 -1
  29. package/dist/features/auth/comps/user-list/user-item/user-item.js +15 -14
  30. package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -1
  31. package/dist/features/auth/pla-signup/signup-options/signup-options.js +35 -42
  32. package/dist/features/auth/pla-signup/signup-options/signup-options.js.map +1 -1
  33. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.js +43 -43
  34. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-item.js.map +1 -1
  35. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-utils.js +1 -1
  36. package/dist/features/chapters/lpar-chapter/block-section/sat-sheet-item/sat-sheet-utils.js.map +1 -1
  37. package/dist/features/chapters-v2/utils/node-card-utils.js +2 -2
  38. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  39. package/dist/features/communication/pub-sub/constants.js +4 -7
  40. package/dist/features/communication/pub-sub/constants.js.map +1 -1
  41. package/dist/features/homework/homework-card-view.js +97 -85
  42. package/dist/features/homework/homework-card-view.js.map +1 -1
  43. package/dist/features/homework/homework-card.js +42 -44
  44. package/dist/features/homework/homework-card.js.map +1 -1
  45. package/dist/features/homework/hw-card-list/hw-card-list-view.js +29 -31
  46. package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
  47. package/dist/features/homework/hw-card-list/hw-card-list.js +48 -54
  48. package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -1
  49. package/dist/features/homework/utils.js +27 -33
  50. package/dist/features/homework/utils.js.map +1 -1
  51. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js +11 -17
  52. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js.map +1 -1
  53. package/dist/features/journey/journey-id/journey-id-student.js +1 -1
  54. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  55. package/dist/features/journey/journey-id/journey-id-teacher.js +2 -2
  56. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
  57. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapters-list.js +53 -68
  58. package/dist/features/milestone/create/comps/chapters-selection-step/chapter-selection-step-v2/chapters-list.js.map +1 -1
  59. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +46 -48
  60. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  61. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +38 -39
  62. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  63. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +41 -43
  64. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  65. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +59 -61
  66. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  67. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +89 -91
  68. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  69. package/dist/features/puzzles/app/puzzle-app-styled.js +6 -10
  70. package/dist/features/puzzles/app/puzzle-app-styled.js.map +1 -1
  71. package/dist/features/puzzles/comps/puzzle-card-styled.js +69 -24
  72. package/dist/features/puzzles/comps/puzzle-card-styled.js.map +1 -1
  73. package/dist/features/puzzles/comps/puzzle-card.js +30 -79
  74. package/dist/features/puzzles/comps/puzzle-card.js.map +1 -1
  75. package/dist/features/puzzles/puzzle-container/puzzle-container-styled.js +25 -55
  76. package/dist/features/puzzles/puzzle-container/puzzle-container-styled.js.map +1 -1
  77. package/dist/features/puzzles/puzzle-container/puzzle-container.js +107 -100
  78. package/dist/features/puzzles/puzzle-container/puzzle-container.js.map +1 -1
  79. package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration.js +1 -1
  80. package/dist/features/puzzles/puzzle-feedback-celebration/puzzle-feedback-celebration.js.map +1 -1
  81. package/dist/features/puzzles/utils/puzzle-pattern.js +13 -28
  82. package/dist/features/puzzles/utils/puzzle-pattern.js.map +1 -1
  83. package/dist/features/stickers/sticker-data.js +234 -0
  84. package/dist/features/stickers/sticker-data.js.map +1 -0
  85. package/dist/features/{ui/sticker-grid/sticker-grid-styles.js → stickers/sticker-selector/sticker-selector-styles.js} +23 -31
  86. package/dist/features/stickers/sticker-selector/sticker-selector-styles.js.map +1 -0
  87. package/dist/features/stickers/sticker-selector/sticker-selector.js +39 -0
  88. package/dist/features/stickers/sticker-selector/sticker-selector.js.map +1 -0
  89. package/dist/features/stickers/sticker-selector/sticker.js +59 -0
  90. package/dist/features/stickers/sticker-selector/sticker.js.map +1 -0
  91. package/dist/features/stickers/stickers-effects/effects.js +82 -0
  92. package/dist/features/stickers/stickers-effects/effects.js.map +1 -0
  93. package/dist/features/stickers/stickers-effects/stickers-cache.js +19 -0
  94. package/dist/features/stickers/stickers-effects/stickers-cache.js.map +1 -0
  95. package/dist/features/stickers/stickers-effects/stickers-effects-helper.js +105 -0
  96. package/dist/features/stickers/stickers-effects/stickers-effects-helper.js.map +1 -0
  97. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js +36 -0
  98. package/dist/features/stickers/stickers-effects/stickers-effects-styled.js.map +1 -0
  99. package/dist/features/stickers/stickers-effects/stickers-effects.js +55 -0
  100. package/dist/features/stickers/stickers-effects/stickers-effects.js.map +1 -0
  101. package/dist/features/trial-session/comps/learning-plan/index.js +18 -19
  102. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  103. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js +8 -3
  104. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js.map +1 -1
  105. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +40 -40
  106. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  107. package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js +88 -75
  108. package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js.map +1 -1
  109. package/dist/features/ui/lottie-animation/lottie-animation.js +45 -43
  110. package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
  111. package/dist/features/ui/modals/modal-styled.js +48 -15
  112. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  113. package/dist/features/ui/modals/modal.js +43 -35
  114. package/dist/features/ui/modals/modal.js.map +1 -1
  115. package/dist/features/ui/theme/layout.js +3 -3
  116. package/dist/features/ui/theme/layout.js.map +1 -1
  117. package/dist/features/worksheet/worksheet/worksheet-helpers.js +19 -20
  118. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  119. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js +12 -16
  120. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  121. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js +47 -101
  122. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
  123. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +163 -166
  124. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  125. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +207 -242
  126. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  127. package/dist/features/worksheet/worksheet/worksheet-styled.js +34 -34
  128. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  129. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  130. package/dist/features/worksheet/worksheet/worksheet.js +430 -375
  131. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  132. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +1 -1
  133. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  134. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +35 -44
  135. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  136. package/dist/index.d.ts +86 -151
  137. package/dist/index.js +418 -430
  138. package/dist/index.js.map +1 -1
  139. package/dist/static/animated-avatar.1ad58b1d.json +1 -0
  140. package/dist/static/animated-avatar.69b07505.json +1 -0
  141. package/dist/static/animated-avatar.9c560b46.json +1 -0
  142. package/dist/static/cuemath-app-qr-code.4beefe48.svg +1 -0
  143. package/dist/static/cuemath-app-qr-code.ba6cc09b.svg +1 -0
  144. package/dist/static/cuemath-app-qr-code.d0912fc7.png +0 -0
  145. package/dist/static/otp.2d08f874.json +1 -0
  146. package/dist/static/phone-number.84f55562.json +1 -0
  147. package/dist/static/puzzle-pattern-blue.f4bea1ee.svg +1 -0
  148. package/dist/static/puzzle-pattern-green.c9f84bbc.svg +1 -0
  149. package/dist/static/puzzle-pattern-orange.3da09665.svg +1 -0
  150. package/dist/static/puzzle-pattern-purple.5fb5a319.svg +1 -0
  151. package/dist/static/puzzle-pattern-yellow.aadbf457.svg +1 -0
  152. package/dist/static/target-achieved-text.053bd142.json +2830 -0
  153. package/dist/static/user-type-selector-grid-bg.3c9c8ad6.svg +1 -0
  154. package/dist/static/user-type-selector-grid-bg.3ce8142d.svg +1 -0
  155. package/package.json +3 -2
  156. package/dist/features/auth/pla-signup/pla-analytics-events.js +0 -23
  157. package/dist/features/auth/pla-signup/pla-analytics-events.js.map +0 -1
  158. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-assigned.js +0 -72
  159. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-assigned.js.map +0 -1
  160. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.js +0 -59
  161. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.js.map +0 -1
  162. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js +0 -63
  163. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js.map +0 -1
  164. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-intro-journey.js +0 -67
  165. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-intro-journey.js.map +0 -1
  166. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-progress-journey.js +0 -70
  167. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-progress-journey.js.map +0 -1
  168. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-review-journey.js +0 -59
  169. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-review-journey.js.map +0 -1
  170. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey.js +0 -59
  171. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey.js.map +0 -1
  172. package/dist/features/journey/hooks/use-puzzles-journey/use-teacher-puzzle-assigned-journey.js +0 -70
  173. package/dist/features/journey/hooks/use-puzzles-journey/use-teacher-puzzle-assigned-journey.js.map +0 -1
  174. package/dist/features/puzzles/api/puzzle-dashboard.js +0 -10
  175. package/dist/features/puzzles/api/puzzle-dashboard.js.map +0 -1
  176. package/dist/features/puzzles/constants/puzzle-container.js +0 -8
  177. package/dist/features/puzzles/constants/puzzle-container.js.map +0 -1
  178. package/dist/features/puzzles/puzzle-analytics-events.js +0 -11
  179. package/dist/features/puzzles/puzzle-analytics-events.js.map +0 -1
  180. package/dist/features/puzzles/puzzle-container/puzzle-container-view.js +0 -55
  181. package/dist/features/puzzles/puzzle-container/puzzle-container-view.js.map +0 -1
  182. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard-styled.js +0 -37
  183. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard-styled.js.map +0 -1
  184. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js +0 -107
  185. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js.map +0 -1
  186. package/dist/features/ui/sticker-grid/sticker-grid-styles.js.map +0 -1
  187. package/dist/features/ui/sticker-grid/sticker-grid.js +0 -24
  188. package/dist/features/ui/sticker-grid/sticker-grid.js.map +0 -1
  189. package/dist/features/ui/sticker-grid/sticker.js +0 -57
  190. package/dist/features/ui/sticker-grid/sticker.js.map +0 -1
  191. package/dist/features/ui/stickers/constants.js +0 -6
  192. package/dist/features/ui/stickers/constants.js.map +0 -1
  193. package/dist/features/ui/stickers/stickers-effects.js +0 -64
  194. package/dist/features/ui/stickers/stickers-effects.js.map +0 -1
  195. package/dist/features/ui/stickers/stickers-styled.js +0 -29
  196. package/dist/features/ui/stickers/stickers-styled.js.map +0 -1
  197. package/dist/features/ui/stickers/stickers-utils.js +0 -91
  198. package/dist/features/ui/stickers/stickers-utils.js.map +0 -1
  199. package/dist/features/ui/stickers/stickers.js +0 -40
  200. package/dist/features/ui/stickers/stickers.js.map +0 -1
  201. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js +0 -28
  202. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js.map +0 -1
  203. package/dist/static/animated-avatar.c3a0fa98.json +0 -1
  204. package/dist/static/puzzle-blue-lottie.bf64ebc5.json +0 -12760
  205. package/dist/static/puzzle-dashboard-banner.b7956519.svg +0 -1
  206. package/dist/static/puzzle-green-lottie.1da90698.json +0 -1
  207. package/dist/static/puzzle-orange-lottie.0a105c42.json +0 -21206
  208. package/dist/static/puzzle-pattern-blue.abff0164.svg +0 -1
  209. package/dist/static/puzzle-pattern-green.b8ba1840.svg +0 -1
  210. package/dist/static/puzzle-pattern-orange.3f5a17ff.svg +0 -1
  211. package/dist/static/puzzle-pattern-purple.14b09759.svg +0 -1
  212. package/dist/static/puzzle-pattern-yellow.50917fab.svg +0 -1
  213. package/dist/static/puzzle-purple-lottie.e70de110.json +0 -9860
  214. package/dist/static/puzzle-yellow-lottie.275b5cf4.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"goal-action-ctas.js","sources":["../../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.tsx"],"sourcesContent":["import type { IGoalActionCtas } from './goal-action-ctas-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport Edit2Icon from '../../../../../../assets/line-icons/icons/edit2';\nimport ArrowTooltip from '../../../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../../../ui/buttons/button/button';\nimport IconButton from '../../../../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport { EVENT_NAMES } from '../../../../create/milestone-create-constants';\nimport { invalidateMilestonesData } from '../../../api/get-milestones';\nimport { useDraftPublish } from './use-goal-draft-publish';\n\nconst GoalActionCtas: FC<IGoalActionCtas> = memo(props => {\n const {\n milestone,\n studentId,\n isClassOngoing,\n isStudentPresent,\n studentName,\n teacherName,\n parentName,\n onAddOutcome,\n onDraftPublish,\n onEdit,\n courseStream,\n isTrialSession,\n } = props;\n const {\n id: milestoneId,\n milestone_name: milestoneName,\n milestone_date_ts: dueDate,\n milestone_state: milestoneState,\n permissions: milestonePermissions,\n goal_category: goalCategory,\n goal_code: goalCode,\n } = milestone;\n\n const {\n can_delete: canDelete,\n can_update_date: canUpdateDate,\n can_update_plan: canUpdatePlan,\n } = milestonePermissions;\n\n const { onEvent: trackEvent } = useUIContext();\n const [error, setError] = useState('');\n\n const canAddOutcome = milestoneState === 'OUTCOME_PENDING';\n const isDraftMilestone = goalCode && milestoneState === 'DRAFT';\n const canPublishOrEditGoal = isTrialSession ? false : !isClassOngoing || isStudentPresent;\n\n const handleGoalPublishComplete = useCallback(\n (errorMessage: string | null, data?: { id: string }) => {\n const { id } = data || {};\n\n if (errorMessage) {\n setError(errorMessage);\n } else {\n if (milestoneId) {\n invalidateMilestonesData({\n milestone_state_group: 'LIVE',\n course_stream: courseStream,\n student_id: studentId,\n });\n }\n onDraftPublish?.(milestoneId, true);\n trackEvent(EVENT_NAMES.DRAFT_EDIT.completed, {\n milestone_id: milestoneId || id,\n });\n }\n },\n [milestoneId, studentId, onDraftPublish, setError, trackEvent, courseStream],\n );\n\n const { onPublish, isProcessing } = useDraftPublish({\n handleGoalPublishComplete,\n milestone,\n milestoneId,\n studentName,\n parentName,\n teacherName,\n });\n\n const handleGoalEdit = useCallback(() => {\n onEdit?.({\n milestoneId,\n milestoneName,\n milestoneDueDate: dueDate,\n isMilestoneChaptersListEditable: canUpdatePlan,\n isMilestoneDateEditable: canUpdateDate,\n milestoneState,\n canDelete,\n goalCategory,\n goalCode,\n });\n }, [\n canDelete,\n canUpdateDate,\n canUpdatePlan,\n dueDate,\n goalCategory,\n goalCode,\n milestoneId,\n milestoneName,\n milestoneState,\n onEdit,\n ]);\n\n const handleOnAddOutcome = useCallback(() => {\n onAddOutcome?.(milestoneId);\n }, [onAddOutcome, milestoneId]);\n\n return (\n <FlexView $justifyContent=\"center\" $flexGap={8}>\n <FlexView\n $flexDirection=\"row\"\n $flexGapX={1.5}\n $alignItems=\"center\"\n $width=\"fit-content\"\n onClick={e => e.stopPropagation()}\n >\n {canAddOutcome && (\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label=\"Add outcome\"\n shape=\"square\"\n widthX={10}\n onClick={handleOnAddOutcome}\n />\n )}\n\n {isDraftMilestone && (\n <ArrowTooltip\n position=\"bottom\"\n renderAs=\"primary\"\n tooltipItem=\"Goals can only be added for students who have joined the class\"\n hidden={canPublishOrEditGoal}\n widthX={15}\n >\n <Button\n renderAs=\"primary\"\n shape=\"square\"\n widthX={10}\n label=\"Publish\"\n size=\"small\"\n onClick={onPublish}\n busy={isProcessing}\n disabled={!canPublishOrEditGoal}\n />\n </ArrowTooltip>\n )}\n\n {canUpdatePlan && (\n <ArrowTooltip\n position=\"bottom\"\n renderAs=\"primary\"\n widthX={!canPublishOrEditGoal ? 15 : 5}\n tooltipItem={\n !canPublishOrEditGoal\n ? 'Goals can only be edited for students in class.'\n : 'Edit goal'\n }\n >\n <IconButton\n renderAs=\"secondary\"\n Icon={Edit2Icon}\n analyticsLabel=\"Edit Goal\"\n onClick={handleGoalEdit}\n size=\"xsmall\"\n disabled={!canPublishOrEditGoal}\n />\n </ArrowTooltip>\n )}\n </FlexView>\n\n {error && (\n <Text $widthX={12.5} $renderAs=\"ub3-bold\" $color=\"RED\" $align=\"center\">\n {error}\n </Text>\n )}\n </FlexView>\n );\n});\n\nexport default GoalActionCtas;\n"],"names":["GoalActionCtas","memo","props","milestone","studentId","isClassOngoing","isStudentPresent","studentName","teacherName","parentName","onAddOutcome","onDraftPublish","onEdit","courseStream","isTrialSession","milestoneId","milestoneName","dueDate","milestoneState","milestonePermissions","goalCategory","goalCode","canDelete","canUpdateDate","canUpdatePlan","trackEvent","useUIContext","error","setError","useState","canAddOutcome","isDraftMilestone","canPublishOrEditGoal","handleGoalPublishComplete","useCallback","errorMessage","data","id","invalidateMilestonesData","EVENT_NAMES","onPublish","isProcessing","useDraftPublish","handleGoalEdit","handleOnAddOutcome","jsxs","FlexView","e","jsx","Button","ArrowTooltip","IconButton","Edit2Icon","Text"],"mappings":"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"}
1
+ {"version":3,"file":"goal-action-ctas.js","sources":["../../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.tsx"],"sourcesContent":["import type { IGoalActionCtas } from './goal-action-ctas-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useState } from 'react';\n\nimport Edit2Icon from '../../../../../../assets/line-icons/icons/edit2';\nimport ArrowTooltip from '../../../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../../../ui/buttons/button/button';\nimport IconButton from '../../../../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../../../../ui/context/context';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport { EVENT_NAMES } from '../../../../create/milestone-create-constants';\nimport { invalidateMilestonesData } from '../../../api/get-milestones';\nimport { useDraftPublish } from './use-goal-draft-publish';\n\nconst GoalActionCtas: FC<IGoalActionCtas> = memo(props => {\n const {\n milestone,\n studentId,\n isClassOngoing,\n isStudentPresent,\n studentName,\n teacherName,\n parentName,\n onAddOutcome,\n onDraftPublish,\n onEdit,\n courseStream,\n } = props;\n const {\n id: milestoneId,\n milestone_name: milestoneName,\n milestone_date_ts: dueDate,\n milestone_state: milestoneState,\n permissions: milestonePermissions,\n goal_category: goalCategory,\n goal_code: goalCode,\n } = milestone;\n\n const {\n can_delete: canDelete,\n can_update_date: canUpdateDate,\n can_update_plan: canUpdatePlan,\n } = milestonePermissions;\n\n const { onEvent: trackEvent } = useUIContext();\n const [error, setError] = useState('');\n\n const canAddOutcome = milestoneState === 'OUTCOME_PENDING';\n const isDraftMilestone = goalCode && milestoneState === 'DRAFT';\n const canPublishOrEditGoal = !isClassOngoing || isStudentPresent;\n\n const handleGoalPublishComplete = useCallback(\n (errorMessage: string | null, data?: { id: string }) => {\n const { id } = data || {};\n\n if (errorMessage) {\n setError(errorMessage);\n } else {\n if (milestoneId) {\n invalidateMilestonesData({\n milestone_state_group: 'LIVE',\n course_stream: courseStream,\n student_id: studentId,\n });\n }\n onDraftPublish?.(milestoneId, true);\n trackEvent(EVENT_NAMES.DRAFT_EDIT.completed, {\n milestone_id: milestoneId || id,\n });\n }\n },\n [milestoneId, studentId, onDraftPublish, setError, trackEvent, courseStream],\n );\n\n const { onPublish, isProcessing } = useDraftPublish({\n handleGoalPublishComplete,\n milestone,\n milestoneId,\n studentName,\n parentName,\n teacherName,\n });\n\n const handleGoalEdit = useCallback(() => {\n onEdit?.({\n milestoneId,\n milestoneName,\n milestoneDueDate: dueDate,\n isMilestoneChaptersListEditable: canUpdatePlan,\n isMilestoneDateEditable: canUpdateDate,\n milestoneState,\n canDelete,\n goalCategory,\n goalCode,\n });\n }, [\n canDelete,\n canUpdateDate,\n canUpdatePlan,\n dueDate,\n goalCategory,\n goalCode,\n milestoneId,\n milestoneName,\n milestoneState,\n onEdit,\n ]);\n\n const handleOnAddOutcome = useCallback(() => {\n onAddOutcome?.(milestoneId);\n }, [onAddOutcome, milestoneId]);\n\n return (\n <FlexView $justifyContent=\"center\" $flexGap={8}>\n <FlexView\n $flexDirection=\"row\"\n $flexGapX={1.5}\n $alignItems=\"center\"\n $width=\"fit-content\"\n onClick={e => e.stopPropagation()}\n >\n {canAddOutcome && (\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label=\"Add outcome\"\n shape=\"square\"\n widthX={10}\n onClick={handleOnAddOutcome}\n />\n )}\n\n {isDraftMilestone && (\n <ArrowTooltip\n position=\"bottom\"\n renderAs=\"primary\"\n tooltipItem=\"Goals can only be added for students who have joined the class\"\n hidden={canPublishOrEditGoal}\n widthX={15}\n >\n <Button\n renderAs=\"primary\"\n shape=\"square\"\n widthX={10}\n label=\"Publish\"\n size=\"small\"\n onClick={onPublish}\n busy={isProcessing}\n disabled={!canPublishOrEditGoal}\n />\n </ArrowTooltip>\n )}\n\n {canUpdatePlan && (\n <ArrowTooltip\n position=\"bottom\"\n renderAs=\"primary\"\n widthX={!canPublishOrEditGoal ? 15 : 5}\n tooltipItem={\n !canPublishOrEditGoal\n ? 'Goals can only be edited for students in class.'\n : 'Edit goal'\n }\n >\n <IconButton\n renderAs=\"secondary\"\n Icon={Edit2Icon}\n analyticsLabel=\"Edit Goal\"\n onClick={handleGoalEdit}\n size=\"xsmall\"\n disabled={!canPublishOrEditGoal}\n />\n </ArrowTooltip>\n )}\n </FlexView>\n\n {error && (\n <Text $widthX={12.5} $renderAs=\"ub3-bold\" $color=\"RED\" $align=\"center\">\n {error}\n </Text>\n )}\n </FlexView>\n );\n});\n\nexport default GoalActionCtas;\n"],"names":["GoalActionCtas","memo","props","milestone","studentId","isClassOngoing","isStudentPresent","studentName","teacherName","parentName","onAddOutcome","onDraftPublish","onEdit","courseStream","milestoneId","milestoneName","dueDate","milestoneState","milestonePermissions","goalCategory","goalCode","canDelete","canUpdateDate","canUpdatePlan","trackEvent","useUIContext","error","setError","useState","canAddOutcome","isDraftMilestone","canPublishOrEditGoal","handleGoalPublishComplete","useCallback","errorMessage","data","id","invalidateMilestonesData","EVENT_NAMES","onPublish","isProcessing","useDraftPublish","handleGoalEdit","handleOnAddOutcome","jsxs","FlexView","e","jsx","Button","ArrowTooltip","IconButton","Edit2Icon","Text"],"mappings":"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"}
@@ -1,18 +1,18 @@
1
- import { jsxs as t, jsx as e, Fragment as W } from "react/jsx-runtime";
2
- import { memo as X, useRef as j, useState as H, useMemo as F, useLayoutEffect as K } from "react";
3
- import V from "../../../../../assets/line-icons/icons/check2.js";
4
- import v from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
5
- import U from "../../../../ui/image/image.js";
1
+ import { jsxs as t, jsx as e, Fragment as P } from "react/jsx-runtime";
2
+ import { memo as W, useRef as X, useState as j, useMemo as H, useLayoutEffect as F } from "react";
3
+ import K from "../../../../../assets/line-icons/icons/check2.js";
4
+ import V from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
5
+ import v from "../../../../ui/image/image.js";
6
6
  import r from "../../../../ui/layout/flex-view.js";
7
- import Y from "../../../../ui/separator/separator.js";
7
+ import U from "../../../../ui/separator/separator.js";
8
8
  import s from "../../../../ui/text/text.js";
9
- import q from "./goals/goal-action-ctas.js";
10
- import { GOAL_CATEGORY_BASED_IMAGES as z } from "./milestone-constants.js";
11
- import { getRemainingDaysToCompleteGoal as J, getGoalCategoryBasedColorTheme as Q, getMilestoneWidgetStatusInfo as Z } from "./milestone-utils.js";
12
- import { ChapterProgressSVG as ee, ChapterProgressSVGCircle as u, StyledCheckIconWrapper as te, MilestoneTitle as re } from "./milestone-widget-styled.js";
13
- import oe from "./outcome/outcome.js";
14
- const Ce = X(
15
- ({ isClassOngoing: C, isStudentPresent: T, isExpanded: ne, ...x }) => {
9
+ import Y from "./goals/goal-action-ctas.js";
10
+ import { GOAL_CATEGORY_BASED_IMAGES as q } from "./milestone-constants.js";
11
+ import { getRemainingDaysToCompleteGoal as z, getGoalCategoryBasedColorTheme as J, getMilestoneWidgetStatusInfo as Q } from "./milestone-utils.js";
12
+ import { ChapterProgressSVG as Z, ChapterProgressSVGCircle as u, StyledCheckIconWrapper as ee, MilestoneTitle as te } from "./milestone-widget-styled.js";
13
+ import re from "./outcome/outcome.js";
14
+ const ue = W(
15
+ ({ isClassOngoing: C, isStudentPresent: T, isExpanded: oe, ...x }) => {
16
16
  const {
17
17
  milestone: d,
18
18
  studentId: A,
@@ -22,20 +22,19 @@ const Ce = X(
22
22
  userType: y,
23
23
  courseStream: G,
24
24
  outcomes: i,
25
- isTrialSession: D,
26
- onEdit: E,
27
- onDraftPublish: b,
28
- onAddOutcome: S
25
+ onEdit: D,
26
+ onDraftPublish: E,
27
+ onAddOutcome: b
29
28
  } = x, {
30
29
  milestone_name: m,
31
- milestone_date_ts: k,
30
+ milestone_date_ts: S,
32
31
  milestone_state: o,
33
32
  goal_category: l,
34
33
  goal_code: g,
35
- progress_stat: B
36
- } = d, { completed: p = 0, total: h = 0 } = B || {}, $ = o === "OUTCOME_PENDING", a = p > 0 ? Math.floor((p / h || 1) * 100) : 0, n = j(null), [O, N] = H(!1), { textColor: R, borderColor: f } = Q(l), c = Z(o), L = ($ ? c == null ? void 0 : c.progressBackgroundColor : f) || "WHITE_5", M = F(() => typeof g == "string", [g]), P = J(k);
37
- return K(() => {
38
- n.current && n.current.scrollHeight > n.current.clientHeight && N(!0);
34
+ progress_stat: k
35
+ } = d, { completed: p = 0, total: h = 0 } = k || {}, $ = o === "OUTCOME_PENDING", a = p > 0 ? Math.floor((p / h || 1) * 100) : 0, n = X(null), [B, O] = j(!1), { textColor: N, borderColor: f } = J(l), c = Q(o), R = ($ ? c == null ? void 0 : c.progressBackgroundColor : f) || "WHITE_5", L = H(() => typeof g == "string", [g]), M = z(S);
36
+ return F(() => {
37
+ n.current && n.current.scrollHeight > n.current.clientHeight && O(!0);
39
38
  }, [n]), l ? /* @__PURE__ */ t(
40
39
  r,
41
40
  {
@@ -56,7 +55,7 @@ const Ce = X(
56
55
  $alignItems: "center",
57
56
  $borderRadiusX: 2,
58
57
  children: [
59
- /* @__PURE__ */ t(ee, { width: "64px", height: "64px", children: [
58
+ /* @__PURE__ */ t(Z, { width: "64px", height: "64px", children: [
60
59
  /* @__PURE__ */ e(u, { $progress: 0, r: "31", cx: "32", cy: "32" }),
61
60
  /* @__PURE__ */ e(
62
61
  u,
@@ -71,22 +70,22 @@ const Ce = X(
71
70
  )
72
71
  ] }),
73
72
  /* @__PURE__ */ e(r, { $widthX: 4, $heightX: 4, $justifyContent: "center", $alignItems: "center", children: /* @__PURE__ */ e(
74
- U,
73
+ v,
75
74
  {
76
- src: z[l],
75
+ src: q[l],
77
76
  withLoader: !0,
78
77
  width: 40,
79
78
  height: 40
80
79
  }
81
80
  ) }),
82
- a === 100 && /* @__PURE__ */ e(te, { children: /* @__PURE__ */ e(V, { width: 20, height: 20 }) })
81
+ a === 100 && /* @__PURE__ */ e(ee, { children: /* @__PURE__ */ e(K, { width: 20, height: 20 }) })
83
82
  ]
84
83
  }
85
84
  ),
86
85
  /* @__PURE__ */ t(r, { $flexGap: 16, children: [
87
86
  /* @__PURE__ */ t(r, { $flexGap: 4, children: [
88
87
  /* @__PURE__ */ t(r, { $flexDirection: "row", $alignItems: "center", $flexGap: 4, children: [
89
- /* @__PURE__ */ e(s, { $renderAs: "ac4-black", $color: R, children: l.split("_").join(" ") }),
88
+ /* @__PURE__ */ e(s, { $renderAs: "ac4-black", $color: N, children: l.split("_").join(" ") }),
90
89
  $ && /* @__PURE__ */ e(
91
90
  r,
92
91
  {
@@ -94,7 +93,7 @@ const Ce = X(
94
93
  $gap: 4,
95
94
  $gutter: 4,
96
95
  $alignItems: "center",
97
- $background: L,
96
+ $background: R,
98
97
  children: /* @__PURE__ */ e(s, { $renderAs: "ac4", $color: "WHITE", children: "Outcome pending" })
99
98
  }
100
99
  ),
@@ -111,17 +110,17 @@ const Ce = X(
111
110
  )
112
111
  ] }),
113
112
  /* @__PURE__ */ e(
114
- v,
113
+ V,
115
114
  {
116
115
  renderAs: "primary",
117
116
  position: "bottom",
118
117
  tooltipItem: m,
119
- hidden: !O,
118
+ hidden: !B,
120
119
  children: /* @__PURE__ */ e(
121
- re,
120
+ te,
122
121
  {
123
122
  ref: n,
124
- $renderAs: M ? "ah4" : "ab1",
123
+ $renderAs: L ? "ah4" : "ab1",
125
124
  $color: "BLACK_1",
126
125
  children: m
127
126
  }
@@ -130,30 +129,29 @@ const Ce = X(
130
129
  ),
131
130
  !!h && o !== "DRAFT" && /* @__PURE__ */ t(s, { $renderAs: "ub3", $color: "BLACK_T_60", children: [
132
131
  `${a}% complete`,
133
- o === "ACTIVE" && P
132
+ o === "ACTIVE" && M
134
133
  ] })
135
134
  ] }),
136
- !!(i != null && i.length) && /* @__PURE__ */ t(W, { children: [
137
- /* @__PURE__ */ e(Y, { width: 40, height: 1, background: "BLACK_T_15" }),
138
- /* @__PURE__ */ e(oe, { outcomes: i })
135
+ !!(i != null && i.length) && /* @__PURE__ */ t(P, { children: [
136
+ /* @__PURE__ */ e(U, { width: 40, height: 1, background: "BLACK_T_15" }),
137
+ /* @__PURE__ */ e(re, { outcomes: i })
139
138
  ] })
140
139
  ] })
141
140
  ] }),
142
141
  y === "TEACHER" && /* @__PURE__ */ e(
143
- q,
142
+ Y,
144
143
  {
145
144
  milestone: d,
146
145
  studentId: A,
147
146
  studentName: _,
148
147
  teacherName: I ?? "",
149
148
  parentName: w ?? "",
150
- onAddOutcome: S,
149
+ onAddOutcome: b,
151
150
  isClassOngoing: !!C,
152
151
  isStudentPresent: !!T,
153
- onDraftPublish: b,
154
- onEdit: E,
155
- courseStream: G,
156
- isTrialSession: D
152
+ onDraftPublish: E,
153
+ onEdit: D,
154
+ courseStream: G
157
155
  }
158
156
  )
159
157
  ]
@@ -162,6 +160,6 @@ const Ce = X(
162
160
  }
163
161
  );
164
162
  export {
165
- Ce as default
163
+ ue as default
166
164
  };
167
165
  //# sourceMappingURL=milestone-info.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-info.js","sources":["../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.tsx"],"sourcesContent":["import type { IMileStoneInfoWrapperProps } from './milestone-widget-types';\n\nimport React, { memo, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport GoalActionCtas from './goals/goal-action-ctas';\nimport { GOAL_CATEGORY_BASED_IMAGES } from './milestone-constants';\nimport {\n getGoalCategoryBasedColorTheme,\n getMilestoneWidgetStatusInfo,\n getRemainingDaysToCompleteGoal,\n} from './milestone-utils';\nimport * as Styled from './milestone-widget-styled';\nimport OutcomeWrapper from './outcome/outcome';\n\nconst MilestoneInfoWrapper: React.FC<IMileStoneInfoWrapperProps> = memo(\n ({ isClassOngoing, isStudentPresent, isExpanded, ...restMilestoneInfoWrapperProps }) => {\n const {\n milestone,\n studentId,\n studentName,\n teacherName,\n parentName,\n userType,\n courseStream,\n outcomes,\n isTrialSession,\n onEdit,\n onDraftPublish,\n onAddOutcome,\n } = restMilestoneInfoWrapperProps;\n\n const {\n milestone_name: milestoneName,\n milestone_date_ts: dueDate,\n milestone_state: milestoneState,\n goal_category: goalCategory,\n goal_code: goalCode,\n progress_stat: progressStat,\n } = milestone;\n\n const { completed = 0, total = 0 } = progressStat || {};\n const isOutcomePending = milestoneState === 'OUTCOME_PENDING';\n const progressCompletionPercentage =\n completed > 0 ? Math.floor((completed / total || 1) * 100) : 0;\n\n const titleTextRef = useRef<HTMLDivElement>(null);\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n\n const { textColor: goalCategoryTextColor, borderColor } =\n getGoalCategoryBasedColorTheme(goalCategory);\n\n const outcomeStatusInfo = getMilestoneWidgetStatusInfo(milestoneState);\n const backgroundColor =\n (isOutcomePending ? outcomeStatusInfo?.progressBackgroundColor : borderColor) || 'WHITE_5';\n\n const isGoalCreation = useMemo(() => typeof goalCode === 'string', [goalCode]);\n const remainingDays = getRemainingDaysToCompleteGoal(dueDate);\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, [titleTextRef]);\n\n if (!goalCategory) return null;\n\n return (\n <FlexView\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $flexGapX={1}\n >\n <FlexView $flexDirection=\"row\" $flexGapX={1.5}>\n <FlexView\n $widthX={4}\n $heightX={4}\n $background=\"WHITE_T_38\"\n $position=\"relative\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $borderRadiusX={2}\n >\n <Styled.ChapterProgressSVG width=\"64px\" height=\"64px\">\n <Styled.ChapterProgressSVGCircle $progress={0} r=\"31\" cx=\"32\" cy=\"32\" />\n <Styled.ChapterProgressSVGCircle\n $progressCircle\n $progressBackground=\"BLACK_1\"\n $progress={progressCompletionPercentage * 2}\n r=\"31\"\n cx=\"32\"\n cy=\"32\"\n />\n </Styled.ChapterProgressSVG>\n\n <FlexView $widthX={4} $heightX={4} $justifyContent=\"center\" $alignItems=\"center\">\n <Image\n src={GOAL_CATEGORY_BASED_IMAGES[goalCategory]}\n withLoader\n width={40}\n height={40}\n />\n </FlexView>\n\n {progressCompletionPercentage === 100 && (\n <Styled.StyledCheckIconWrapper>\n <Check2Icon width={20} height={20} />\n </Styled.StyledCheckIconWrapper>\n )}\n </FlexView>\n\n <FlexView $flexGap={16}>\n <FlexView $flexGap={4}>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGap={4}>\n <Text $renderAs=\"ac4-black\" $color={goalCategoryTextColor}>\n {goalCategory.split('_').join(' ')}\n </Text>\n\n {isOutcomePending && (\n <FlexView\n $flexDirection=\"row\"\n $gap={4}\n $gutter={4}\n $alignItems=\"center\"\n $background={backgroundColor}\n >\n <Text $renderAs=\"ac4\" $color=\"WHITE\">\n Outcome pending\n </Text>\n </FlexView>\n )}\n\n {milestoneState === 'DRAFT' && (\n <FlexView\n $flexDirection=\"row\"\n $gap={4}\n $gutter={4}\n $alignItems=\"center\"\n $background={borderColor}\n >\n <Text $renderAs=\"ac4\">Draft</Text>\n </FlexView>\n )}\n </FlexView>\n\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={milestoneName}\n hidden={!showTitleTooltip}\n >\n <Styled.MilestoneTitle\n ref={titleTextRef}\n $renderAs={!isGoalCreation ? 'ab1' : 'ah4'}\n $color=\"BLACK_1\"\n >\n {milestoneName}\n </Styled.MilestoneTitle>\n </ArrowTooltip>\n\n {!!total && milestoneState !== 'DRAFT' && (\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {`${progressCompletionPercentage}% complete`}\n {milestoneState === 'ACTIVE' && remainingDays}\n </Text>\n )}\n </FlexView>\n\n {!!outcomes?.length && (\n <>\n <Separator width={40} height={1} background=\"BLACK_T_15\" />\n <OutcomeWrapper outcomes={outcomes} />\n </>\n )}\n </FlexView>\n </FlexView>\n\n {userType === 'TEACHER' && (\n <GoalActionCtas\n milestone={milestone}\n studentId={studentId}\n studentName={studentName}\n teacherName={teacherName ?? ''}\n parentName={parentName ?? ''}\n onAddOutcome={onAddOutcome}\n isClassOngoing={Boolean(isClassOngoing)}\n isStudentPresent={Boolean(isStudentPresent)}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n courseStream={courseStream}\n isTrialSession={isTrialSession}\n />\n )}\n </FlexView>\n );\n },\n);\n\nexport default MilestoneInfoWrapper;\n"],"names":["MilestoneInfoWrapper","memo","isClassOngoing","isStudentPresent","isExpanded","restMilestoneInfoWrapperProps","milestone","studentId","studentName","teacherName","parentName","userType","courseStream","outcomes","isTrialSession","onEdit","onDraftPublish","onAddOutcome","milestoneName","dueDate","milestoneState","goalCategory","goalCode","progressStat","completed","total","isOutcomePending","progressCompletionPercentage","titleTextRef","useRef","showTitleTooltip","setShowTitleTooltip","useState","goalCategoryTextColor","borderColor","getGoalCategoryBasedColorTheme","outcomeStatusInfo","getMilestoneWidgetStatusInfo","backgroundColor","isGoalCreation","useMemo","remainingDays","getRemainingDaysToCompleteGoal","useLayoutEffect","jsxs","FlexView","Styled.ChapterProgressSVG","jsx","Styled.ChapterProgressSVGCircle","Image","GOAL_CATEGORY_BASED_IMAGES","Styled.StyledCheckIconWrapper","Check2Icon","Text","ArrowTooltip","Styled.MilestoneTitle","Fragment","Separator","OutcomeWrapper","GoalActionCtas"],"mappings":"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"}
1
+ {"version":3,"file":"milestone-info.js","sources":["../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.tsx"],"sourcesContent":["import type { IMileStoneInfoWrapperProps } from './milestone-widget-types';\n\nimport React, { memo, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport Check2Icon from '../../../../../assets/line-icons/icons/check2';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport GoalActionCtas from './goals/goal-action-ctas';\nimport { GOAL_CATEGORY_BASED_IMAGES } from './milestone-constants';\nimport {\n getGoalCategoryBasedColorTheme,\n getMilestoneWidgetStatusInfo,\n getRemainingDaysToCompleteGoal,\n} from './milestone-utils';\nimport * as Styled from './milestone-widget-styled';\nimport OutcomeWrapper from './outcome/outcome';\n\nconst MilestoneInfoWrapper: React.FC<IMileStoneInfoWrapperProps> = memo(\n ({ isClassOngoing, isStudentPresent, isExpanded, ...restMilestoneInfoWrapperProps }) => {\n const {\n milestone,\n studentId,\n studentName,\n teacherName,\n parentName,\n userType,\n courseStream,\n outcomes,\n onEdit,\n onDraftPublish,\n onAddOutcome,\n } = restMilestoneInfoWrapperProps;\n\n const {\n milestone_name: milestoneName,\n milestone_date_ts: dueDate,\n milestone_state: milestoneState,\n goal_category: goalCategory,\n goal_code: goalCode,\n progress_stat: progressStat,\n } = milestone;\n\n const { completed = 0, total = 0 } = progressStat || {};\n const isOutcomePending = milestoneState === 'OUTCOME_PENDING';\n const progressCompletionPercentage =\n completed > 0 ? Math.floor((completed / total || 1) * 100) : 0;\n\n const titleTextRef = useRef<HTMLDivElement>(null);\n const [showTitleTooltip, setShowTitleTooltip] = useState(false);\n\n const { textColor: goalCategoryTextColor, borderColor } =\n getGoalCategoryBasedColorTheme(goalCategory);\n\n const outcomeStatusInfo = getMilestoneWidgetStatusInfo(milestoneState);\n const backgroundColor =\n (isOutcomePending ? outcomeStatusInfo?.progressBackgroundColor : borderColor) || 'WHITE_5';\n\n const isGoalCreation = useMemo(() => typeof goalCode === 'string', [goalCode]);\n const remainingDays = getRemainingDaysToCompleteGoal(dueDate);\n\n useLayoutEffect(() => {\n if (\n titleTextRef.current &&\n titleTextRef.current.scrollHeight > titleTextRef.current.clientHeight\n ) {\n setShowTitleTooltip(true);\n }\n }, [titleTextRef]);\n\n if (!goalCategory) return null;\n\n return (\n <FlexView\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n $flexGapX={1}\n >\n <FlexView $flexDirection=\"row\" $flexGapX={1.5}>\n <FlexView\n $widthX={4}\n $heightX={4}\n $background=\"WHITE_T_38\"\n $position=\"relative\"\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $borderRadiusX={2}\n >\n <Styled.ChapterProgressSVG width=\"64px\" height=\"64px\">\n <Styled.ChapterProgressSVGCircle $progress={0} r=\"31\" cx=\"32\" cy=\"32\" />\n <Styled.ChapterProgressSVGCircle\n $progressCircle\n $progressBackground=\"BLACK_1\"\n $progress={progressCompletionPercentage * 2}\n r=\"31\"\n cx=\"32\"\n cy=\"32\"\n />\n </Styled.ChapterProgressSVG>\n\n <FlexView $widthX={4} $heightX={4} $justifyContent=\"center\" $alignItems=\"center\">\n <Image\n src={GOAL_CATEGORY_BASED_IMAGES[goalCategory]}\n withLoader\n width={40}\n height={40}\n />\n </FlexView>\n\n {progressCompletionPercentage === 100 && (\n <Styled.StyledCheckIconWrapper>\n <Check2Icon width={20} height={20} />\n </Styled.StyledCheckIconWrapper>\n )}\n </FlexView>\n\n <FlexView $flexGap={16}>\n <FlexView $flexGap={4}>\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGap={4}>\n <Text $renderAs=\"ac4-black\" $color={goalCategoryTextColor}>\n {goalCategory.split('_').join(' ')}\n </Text>\n\n {isOutcomePending && (\n <FlexView\n $flexDirection=\"row\"\n $gap={4}\n $gutter={4}\n $alignItems=\"center\"\n $background={backgroundColor}\n >\n <Text $renderAs=\"ac4\" $color=\"WHITE\">\n Outcome pending\n </Text>\n </FlexView>\n )}\n\n {milestoneState === 'DRAFT' && (\n <FlexView\n $flexDirection=\"row\"\n $gap={4}\n $gutter={4}\n $alignItems=\"center\"\n $background={borderColor}\n >\n <Text $renderAs=\"ac4\">Draft</Text>\n </FlexView>\n )}\n </FlexView>\n\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem={milestoneName}\n hidden={!showTitleTooltip}\n >\n <Styled.MilestoneTitle\n ref={titleTextRef}\n $renderAs={!isGoalCreation ? 'ab1' : 'ah4'}\n $color=\"BLACK_1\"\n >\n {milestoneName}\n </Styled.MilestoneTitle>\n </ArrowTooltip>\n\n {!!total && milestoneState !== 'DRAFT' && (\n <Text $renderAs=\"ub3\" $color=\"BLACK_T_60\">\n {`${progressCompletionPercentage}% complete`}\n {milestoneState === 'ACTIVE' && remainingDays}\n </Text>\n )}\n </FlexView>\n\n {!!outcomes?.length && (\n <>\n <Separator width={40} height={1} background=\"BLACK_T_15\" />\n <OutcomeWrapper outcomes={outcomes} />\n </>\n )}\n </FlexView>\n </FlexView>\n\n {userType === 'TEACHER' && (\n <GoalActionCtas\n milestone={milestone}\n studentId={studentId}\n studentName={studentName}\n teacherName={teacherName ?? ''}\n parentName={parentName ?? ''}\n onAddOutcome={onAddOutcome}\n isClassOngoing={Boolean(isClassOngoing)}\n isStudentPresent={Boolean(isStudentPresent)}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n courseStream={courseStream}\n />\n )}\n </FlexView>\n );\n },\n);\n\nexport default MilestoneInfoWrapper;\n"],"names":["MilestoneInfoWrapper","memo","isClassOngoing","isStudentPresent","isExpanded","restMilestoneInfoWrapperProps","milestone","studentId","studentName","teacherName","parentName","userType","courseStream","outcomes","onEdit","onDraftPublish","onAddOutcome","milestoneName","dueDate","milestoneState","goalCategory","goalCode","progressStat","completed","total","isOutcomePending","progressCompletionPercentage","titleTextRef","useRef","showTitleTooltip","setShowTitleTooltip","useState","goalCategoryTextColor","borderColor","getGoalCategoryBasedColorTheme","outcomeStatusInfo","getMilestoneWidgetStatusInfo","backgroundColor","isGoalCreation","useMemo","remainingDays","getRemainingDaysToCompleteGoal","useLayoutEffect","jsxs","FlexView","Styled.ChapterProgressSVG","jsx","Styled.ChapterProgressSVGCircle","Image","GOAL_CATEGORY_BASED_IMAGES","Styled.StyledCheckIconWrapper","Check2Icon","Text","ArrowTooltip","Styled.MilestoneTitle","Fragment","Separator","OutcomeWrapper","GoalActionCtas"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { jsxs as oe, jsx as o } from "react/jsx-runtime";
2
- import { memo as te, useState as ne, useCallback as f, useEffect as se } from "react";
3
- import ae from "../../../../ui/layout/flex-view.js";
4
- import ie from "./milestone-info.js";
5
- import re from "./milestone-tabs/milestone-tabs.js";
6
- import { getGoalCategoryBasedColorTheme as de } from "./milestone-utils.js";
7
- import { MainContainer as le, Wrapper as ce, ContentWrapper as me, Content as pe } from "./milestone-widget-styled.js";
8
- const Ee = te((h) => {
1
+ import { jsxs as ee, jsx as o } from "react/jsx-runtime";
2
+ import { memo as oe, useState as te, useCallback as f, useEffect as ne } from "react";
3
+ import se from "../../../../ui/layout/flex-view.js";
4
+ import ae from "./milestone-info.js";
5
+ import ie from "./milestone-tabs/milestone-tabs.js";
6
+ import { getGoalCategoryBasedColorTheme as re } from "./milestone-utils.js";
7
+ import { MainContainer as de, Wrapper as le, ContentWrapper as ce, Content as me } from "./milestone-widget-styled.js";
8
+ const Ae = oe((h) => {
9
9
  const { milestone: s, studentId: a, isMilestoneActive: i, ...T } = h, {
10
10
  isStudentPresent: A,
11
11
  isClassOngoing: E,
@@ -16,117 +16,115 @@ const Ee = te((h) => {
16
16
  courseStream: _,
17
17
  activeMilestoneId: d,
18
18
  activeTabId: b,
19
- isTrialSession: D,
20
- onAddOutcome: I,
21
- onChapterClick: w,
22
- onEdit: P,
23
- onCreateMilestoneTest: R,
24
- onDraftPublish: S,
19
+ onAddOutcome: D,
20
+ onChapterClick: I,
21
+ onEdit: w,
22
+ onCreateMilestoneTest: P,
23
+ onDraftPublish: R,
25
24
  onAddChapter: W,
26
25
  onAssignResources: $,
27
26
  onNodeAttempt: k,
28
27
  onNodeView: v,
29
- onNodeReview: y,
30
- onNodeReattempt: O,
31
- onNodeReset: B,
32
- onNodeUnassign: G,
33
- onNodeAssignAsHomework: V,
34
- onWidgetTabSelection: F,
28
+ onNodeReview: S,
29
+ onNodeReattempt: y,
30
+ onNodeReset: O,
31
+ onNodeUnassign: B,
32
+ onNodeAssignAsHomework: G,
33
+ onWidgetTabSelection: V,
35
34
  //* Test sheet callbacks
36
- onTestPreview: U,
37
- onTestReview: j,
38
- onTestStart: X,
39
- milestoneType: H
35
+ onTestPreview: F,
36
+ onTestReview: U,
37
+ onTestStart: j,
38
+ milestoneType: X
40
39
  } = T, {
41
40
  id: l,
42
41
  user_milestone_plan: c,
43
- outcome_data: Y,
42
+ outcome_data: H,
44
43
  milestone_state: t,
45
44
  permissions: m,
46
45
  goal_code: p,
47
46
  goal_category: g
48
- } = s, [u, n] = ne(
49
- i && t === "ACTIVE" || H === "DRAFT"
50
- ), q = !!c, { can_update_plan: z } = m, { outcomes: J } = Y || {}, { user_chapters: K = [] } = c || {}, L = f(() => {
47
+ } = s, [u, n] = te(
48
+ i && t === "ACTIVE" || X === "DRAFT"
49
+ ), Y = !!c, { can_update_plan: q } = m, { outcomes: z } = H || {}, { user_chapters: J = [] } = c || {}, K = f(() => {
51
50
  n((e) => !e);
52
- }, []), C = t === "DRAFT", Q = t === "OUTCOME_ADDED", { backgroundColor: Z } = de(
51
+ }, []), C = t === "DRAFT", L = t === "OUTCOME_ADDED", { backgroundColor: Q } = re(
53
52
  g,
54
53
  C
55
- ), ee = f(() => {
54
+ ), Z = f(() => {
56
55
  n((e) => !e);
57
56
  }, [n]);
58
- return se(() => {
57
+ return ne(() => {
59
58
  const e = document.getElementById(`milestone-${d}`);
60
59
  e && e.scrollIntoView();
61
- }, []), /* @__PURE__ */ oe(le, { id: `milestone-${l}`, children: [
60
+ }, []), /* @__PURE__ */ ee(de, { id: `milestone-${l}`, children: [
62
61
  /* @__PURE__ */ o(
63
- ce,
62
+ le,
64
63
  {
65
- onClick: ee,
66
- $background: Z,
64
+ onClick: Z,
65
+ $background: Q,
67
66
  $gapX: 1.5,
68
67
  $borderColor: "GREY_2",
69
- children: /* @__PURE__ */ o(ae, { $flexGapX: p ? 1.5 : 1, children: /* @__PURE__ */ o(
70
- ie,
68
+ children: /* @__PURE__ */ o(se, { $flexGapX: p ? 1.5 : 1, children: /* @__PURE__ */ o(
69
+ ae,
71
70
  {
72
71
  milestone: s,
73
- onEdit: P,
72
+ onEdit: w,
74
73
  isExpanded: u,
75
- toggleExpand: L,
74
+ toggleExpand: K,
76
75
  userType: r,
77
76
  isClassOngoing: E,
78
77
  isStudentPresent: A,
79
- onAddOutcome: I,
78
+ onAddOutcome: D,
80
79
  studentId: a,
81
80
  studentName: M,
82
81
  teacherName: x ?? "",
83
82
  parentName: N ?? "",
84
- onDraftPublish: S,
83
+ onDraftPublish: R,
85
84
  courseStream: _,
86
- outcomes: J,
87
- isTrialSession: D
85
+ outcomes: z
88
86
  }
89
87
  ) })
90
88
  }
91
89
  ),
92
- /* @__PURE__ */ o(me, { $expanded: u, children: /* @__PURE__ */ o(pe, { children: /* @__PURE__ */ o(
93
- re,
90
+ /* @__PURE__ */ o(ce, { $expanded: u, children: /* @__PURE__ */ o(me, { children: /* @__PURE__ */ o(
91
+ ie,
94
92
  {
95
93
  goalCategory: g,
96
94
  isGoalCreation: !!p,
97
95
  isDraftMilestone: C,
98
- isOutcomeAdded: Q,
96
+ isOutcomeAdded: L,
99
97
  isMilestoneActive: i,
100
- isPlanAvailable: q,
98
+ isPlanAvailable: Y,
101
99
  userMilestoneId: l,
102
- chapters: K,
100
+ chapters: J,
103
101
  userType: r,
104
- canUpdatePlan: z,
102
+ canUpdatePlan: q,
105
103
  milestoneState: t,
106
104
  studentId: a,
107
105
  onAddChapter: W,
108
106
  onAssignResources: $,
109
- onChapterClick: w,
110
- onCreateMilestoneTest: R,
111
- onTestPreview: U,
112
- onTestReview: j,
113
- onTestStart: X,
107
+ onChapterClick: I,
108
+ onCreateMilestoneTest: P,
109
+ onTestPreview: F,
110
+ onTestReview: U,
111
+ onTestStart: j,
114
112
  onNodeAttempt: k,
115
113
  onNodeView: v,
116
- onNodeReview: y,
117
- onNodeReattempt: O,
118
- onNodeReset: B,
119
- onNodeUnassign: G,
120
- onNodeAssignAsHomework: V,
114
+ onNodeReview: S,
115
+ onNodeReattempt: y,
116
+ onNodeReset: O,
117
+ onNodeUnassign: B,
118
+ onNodeAssignAsHomework: G,
121
119
  milestonePermissions: m,
122
120
  activeMilestoneId: d,
123
121
  activeTabId: b,
124
- onWidgetTabSelection: F
122
+ onWidgetTabSelection: V
125
123
  }
126
124
  ) }) })
127
125
  ] });
128
126
  });
129
127
  export {
130
- Ee as default
128
+ Ae as default
131
129
  };
132
130
  //# sourceMappingURL=milestone-widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-widget.js","sources":["../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.tsx"],"sourcesContent":["import type { IMilestoneWidgetProps } from './milestone-widget-types';\n\nimport React, { memo, useCallback, useEffect, useState } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport MilestoneInfoWrapper from './milestone-info';\nimport MilestoneTabs from './milestone-tabs/milestone-tabs';\nimport { getGoalCategoryBasedColorTheme } from './milestone-utils';\nimport * as Styled from './milestone-widget-styled';\n\nconst MilestoneWidget: React.FC<IMilestoneWidgetProps> = memo(props => {\n const { milestone, studentId, isMilestoneActive, ...restMilestoneWidgetProps } = props;\n const {\n isStudentPresent,\n isClassOngoing,\n userType,\n studentName,\n parentName,\n teacherName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n isTrialSession,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onDraftPublish,\n onAddChapter,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeReset,\n onNodeUnassign,\n onNodeAssignAsHomework,\n onWidgetTabSelection,\n //* Test sheet callbacks\n onTestPreview,\n onTestReview,\n onTestStart,\n milestoneType,\n } = restMilestoneWidgetProps;\n\n const {\n id: milestoneId,\n user_milestone_plan: userMileStonePlan,\n outcome_data: outcomeData,\n milestone_state: milestoneState,\n permissions: milestonePermissions,\n goal_code: goalCode,\n goal_category: goalCategory,\n } = milestone;\n\n const [widgetExpanded, setWidgetExpanded] = useState(\n (isMilestoneActive && milestoneState === 'ACTIVE') || milestoneType === 'DRAFT',\n );\n\n const isPlanAvailable = Boolean(userMileStonePlan);\n\n const { can_update_plan: canUpdatePlan } = milestonePermissions;\n const { outcomes } = outcomeData || {};\n\n const { user_chapters: chaptersData = [] } = userMileStonePlan || {};\n\n const toggleExpand = useCallback(() => {\n setWidgetExpanded(prev => !prev);\n }, []);\n\n const isDraftMilestone = milestoneState === 'DRAFT';\n const isOutcomeAdded = milestoneState === 'OUTCOME_ADDED';\n\n const { backgroundColor: goalBackgroundColor } = getGoalCategoryBasedColorTheme(\n goalCategory,\n isDraftMilestone,\n );\n\n const handleOnWidgetExpand = useCallback(() => {\n setWidgetExpanded(prev => !prev);\n }, [setWidgetExpanded]);\n\n useEffect(() => {\n const $element = document.getElementById(`milestone-${activeMilestoneId}`);\n\n if ($element) {\n $element.scrollIntoView();\n }\n //* Disabling the exhaustive-deps rule as we want to run this effect only once\n //* We don't want this to run when activeMilestoneId changes, as it will cause component to scroll into the view every time.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Styled.MainContainer id={`milestone-${milestoneId}`}>\n <Styled.Wrapper\n onClick={handleOnWidgetExpand}\n $background={goalBackgroundColor}\n $gapX={1.5}\n $borderColor=\"GREY_2\"\n >\n <FlexView $flexGapX={goalCode ? 1.5 : 1}>\n <MilestoneInfoWrapper\n milestone={milestone}\n onEdit={onEdit}\n isExpanded={widgetExpanded}\n toggleExpand={toggleExpand}\n userType={userType}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onAddOutcome={onAddOutcome}\n studentId={studentId}\n studentName={studentName}\n teacherName={teacherName ?? ''}\n parentName={parentName ?? ''}\n onDraftPublish={onDraftPublish}\n courseStream={courseStream}\n outcomes={outcomes}\n isTrialSession={isTrialSession}\n />\n </FlexView>\n </Styled.Wrapper>\n\n <Styled.ContentWrapper $expanded={widgetExpanded}>\n <Styled.Content>\n <MilestoneTabs\n goalCategory={goalCategory}\n isGoalCreation={!!goalCode}\n isDraftMilestone={isDraftMilestone}\n isOutcomeAdded={isOutcomeAdded}\n isMilestoneActive={isMilestoneActive}\n isPlanAvailable={isPlanAvailable}\n userMilestoneId={milestoneId}\n chapters={chaptersData}\n userType={userType}\n canUpdatePlan={canUpdatePlan}\n milestoneState={milestoneState}\n studentId={studentId}\n onAddChapter={onAddChapter}\n onAssignResources={onAssignResources}\n onChapterClick={onChapterClick}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n milestonePermissions={milestonePermissions}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n />\n </Styled.Content>\n </Styled.ContentWrapper>\n </Styled.MainContainer>\n );\n});\n\nexport default MilestoneWidget;\n"],"names":["MilestoneWidget","memo","props","milestone","studentId","isMilestoneActive","restMilestoneWidgetProps","isStudentPresent","isClassOngoing","userType","studentName","parentName","teacherName","courseStream","activeMilestoneId","activeTabId","isTrialSession","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onDraftPublish","onAddChapter","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onNodeAssignAsHomework","onWidgetTabSelection","onTestPreview","onTestReview","onTestStart","milestoneType","milestoneId","userMileStonePlan","outcomeData","milestoneState","milestonePermissions","goalCode","goalCategory","widgetExpanded","setWidgetExpanded","useState","isPlanAvailable","canUpdatePlan","outcomes","chaptersData","toggleExpand","useCallback","prev","isDraftMilestone","isOutcomeAdded","goalBackgroundColor","getGoalCategoryBasedColorTheme","handleOnWidgetExpand","useEffect","$element","Styled.MainContainer","jsx","Styled.Wrapper","FlexView","MilestoneInfoWrapper","Styled.ContentWrapper","Styled.Content","MilestoneTabs"],"mappings":"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"}
1
+ {"version":3,"file":"milestone-widget.js","sources":["../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.tsx"],"sourcesContent":["import type { IMilestoneWidgetProps } from './milestone-widget-types';\n\nimport React, { memo, useCallback, useEffect, useState } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport MilestoneInfoWrapper from './milestone-info';\nimport MilestoneTabs from './milestone-tabs/milestone-tabs';\nimport { getGoalCategoryBasedColorTheme } from './milestone-utils';\nimport * as Styled from './milestone-widget-styled';\n\nconst MilestoneWidget: React.FC<IMilestoneWidgetProps> = memo(props => {\n const { milestone, studentId, isMilestoneActive, ...restMilestoneWidgetProps } = props;\n const {\n isStudentPresent,\n isClassOngoing,\n userType,\n studentName,\n parentName,\n teacherName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onDraftPublish,\n onAddChapter,\n onAssignResources,\n onNodeAttempt,\n onNodeView,\n onNodeReview,\n onNodeReattempt,\n onNodeReset,\n onNodeUnassign,\n onNodeAssignAsHomework,\n onWidgetTabSelection,\n //* Test sheet callbacks\n onTestPreview,\n onTestReview,\n onTestStart,\n milestoneType,\n } = restMilestoneWidgetProps;\n\n const {\n id: milestoneId,\n user_milestone_plan: userMileStonePlan,\n outcome_data: outcomeData,\n milestone_state: milestoneState,\n permissions: milestonePermissions,\n goal_code: goalCode,\n goal_category: goalCategory,\n } = milestone;\n\n const [widgetExpanded, setWidgetExpanded] = useState(\n (isMilestoneActive && milestoneState === 'ACTIVE') || milestoneType === 'DRAFT',\n );\n\n const isPlanAvailable = Boolean(userMileStonePlan);\n\n const { can_update_plan: canUpdatePlan } = milestonePermissions;\n const { outcomes } = outcomeData || {};\n\n const { user_chapters: chaptersData = [] } = userMileStonePlan || {};\n\n const toggleExpand = useCallback(() => {\n setWidgetExpanded(prev => !prev);\n }, []);\n\n const isDraftMilestone = milestoneState === 'DRAFT';\n const isOutcomeAdded = milestoneState === 'OUTCOME_ADDED';\n\n const { backgroundColor: goalBackgroundColor } = getGoalCategoryBasedColorTheme(\n goalCategory,\n isDraftMilestone,\n );\n\n const handleOnWidgetExpand = useCallback(() => {\n setWidgetExpanded(prev => !prev);\n }, [setWidgetExpanded]);\n\n useEffect(() => {\n const $element = document.getElementById(`milestone-${activeMilestoneId}`);\n\n if ($element) {\n $element.scrollIntoView();\n }\n //* Disabling the exhaustive-deps rule as we want to run this effect only once\n //* We don't want this to run when activeMilestoneId changes, as it will cause component to scroll into the view every time.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Styled.MainContainer id={`milestone-${milestoneId}`}>\n <Styled.Wrapper\n onClick={handleOnWidgetExpand}\n $background={goalBackgroundColor}\n $gapX={1.5}\n $borderColor=\"GREY_2\"\n >\n <FlexView $flexGapX={goalCode ? 1.5 : 1}>\n <MilestoneInfoWrapper\n milestone={milestone}\n onEdit={onEdit}\n isExpanded={widgetExpanded}\n toggleExpand={toggleExpand}\n userType={userType}\n isClassOngoing={isClassOngoing}\n isStudentPresent={isStudentPresent}\n onAddOutcome={onAddOutcome}\n studentId={studentId}\n studentName={studentName}\n teacherName={teacherName ?? ''}\n parentName={parentName ?? ''}\n onDraftPublish={onDraftPublish}\n courseStream={courseStream}\n outcomes={outcomes}\n />\n </FlexView>\n </Styled.Wrapper>\n\n <Styled.ContentWrapper $expanded={widgetExpanded}>\n <Styled.Content>\n <MilestoneTabs\n goalCategory={goalCategory}\n isGoalCreation={!!goalCode}\n isDraftMilestone={isDraftMilestone}\n isOutcomeAdded={isOutcomeAdded}\n isMilestoneActive={isMilestoneActive}\n isPlanAvailable={isPlanAvailable}\n userMilestoneId={milestoneId}\n chapters={chaptersData}\n userType={userType}\n canUpdatePlan={canUpdatePlan}\n milestoneState={milestoneState}\n studentId={studentId}\n onAddChapter={onAddChapter}\n onAssignResources={onAssignResources}\n onChapterClick={onChapterClick}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n onNodeAttempt={onNodeAttempt}\n onNodeView={onNodeView}\n onNodeReview={onNodeReview}\n onNodeReattempt={onNodeReattempt}\n onNodeReset={onNodeReset}\n onNodeUnassign={onNodeUnassign}\n onNodeAssignAsHomework={onNodeAssignAsHomework}\n milestonePermissions={milestonePermissions}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n />\n </Styled.Content>\n </Styled.ContentWrapper>\n </Styled.MainContainer>\n );\n});\n\nexport default MilestoneWidget;\n"],"names":["MilestoneWidget","memo","props","milestone","studentId","isMilestoneActive","restMilestoneWidgetProps","isStudentPresent","isClassOngoing","userType","studentName","parentName","teacherName","courseStream","activeMilestoneId","activeTabId","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onDraftPublish","onAddChapter","onAssignResources","onNodeAttempt","onNodeView","onNodeReview","onNodeReattempt","onNodeReset","onNodeUnassign","onNodeAssignAsHomework","onWidgetTabSelection","onTestPreview","onTestReview","onTestStart","milestoneType","milestoneId","userMileStonePlan","outcomeData","milestoneState","milestonePermissions","goalCode","goalCategory","widgetExpanded","setWidgetExpanded","useState","isPlanAvailable","canUpdatePlan","outcomes","chaptersData","toggleExpand","useCallback","prev","isDraftMilestone","isOutcomeAdded","goalBackgroundColor","getGoalCategoryBasedColorTheme","handleOnWidgetExpand","useEffect","$element","Styled.MainContainer","jsx","Styled.Wrapper","FlexView","MilestoneInfoWrapper","Styled.ContentWrapper","Styled.Content","MilestoneTabs"],"mappings":"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"}