@cuemath/leap 2.8.60-gs1 → 2.8.60

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 (166) 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/bin2.js +8 -7
  4. package/dist/assets/line-icons/icons/bin2.js.map +1 -1
  5. package/dist/assets/line-icons/icons/closed-eye.js +23 -0
  6. package/dist/assets/line-icons/icons/closed-eye.js.map +1 -0
  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/chapters-selection-step/chapters-selection-step-styled.js +4 -12
  16. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.js.map +1 -1
  17. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +105 -128
  18. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  19. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js +92 -0
  20. package/dist/features/milestone/create/comps/milestone-progress-v2/milestone-progress-v2.js.map +1 -0
  21. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js +25 -0
  22. package/dist/features/milestone/create/comps/milestone-progress-v2/styled.js.map +1 -0
  23. package/dist/features/milestone/create/milestone-create.js +43 -49
  24. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  25. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js +1 -1
  26. package/dist/features/milestone/edit/comps/edit-milestone-modal/api/get-milestone.js.map +1 -1
  27. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js +53 -51
  28. package/dist/features/milestone/edit/comps/edit-milestone-modal/index.js.map +1 -1
  29. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +40 -42
  30. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  31. package/dist/features/milestone/edit/goal-edit-container.js +62 -64
  32. package/dist/features/milestone/edit/goal-edit-container.js.map +1 -1
  33. package/dist/features/milestone/edit/milestone-edit-container.js +52 -54
  34. package/dist/features/milestone/edit/milestone-edit-container.js.map +1 -1
  35. package/dist/features/milestone/milestone-list-container/api/get-milestones.js +17 -9
  36. package/dist/features/milestone/milestone-list-container/api/get-milestones.js.map +1 -1
  37. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +102 -136
  38. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  39. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js +13 -0
  40. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element-styled.js.map +1 -0
  41. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js +38 -0
  42. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/context-menu-helper/menu-element.js.map +1 -0
  43. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +123 -107
  44. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  45. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +176 -157
  46. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  47. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +10 -24
  48. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  49. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +81 -76
  50. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  51. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js +22 -10
  52. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-utils.js.map +1 -1
  53. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js +53 -0
  54. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-status.js.map +1 -0
  55. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js +37 -70
  56. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget-styled.js.map +1 -1
  57. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +174 -114
  58. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  59. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js +25 -0
  60. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-info.js.map +1 -0
  61. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js +16 -29
  62. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-rank.js.map +1 -1
  63. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js +23 -19
  64. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome-styled.js.map +1 -1
  65. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js +35 -23
  66. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.js.map +1 -1
  67. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +36 -34
  68. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  69. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js +1 -1
  70. package/dist/features/milestone/milestone-resources/resources-list/resources-list-styled.js.map +1 -1
  71. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +78 -96
  72. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  73. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +18 -16
  74. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  75. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js +68 -77
  76. package/dist/features/milestone/milestone-tests/tests-list/tests-list.js.map +1 -1
  77. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js +3 -4
  78. package/dist/features/sheets/sheets-list/sheet-item/reward-n-actions/teacher-actions/teacher-actions-constant.js.map +1 -1
  79. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  80. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +29 -30
  81. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  82. package/dist/features/ui/constants/z-index.js +1 -1
  83. package/dist/features/ui/constants/z-index.js.map +1 -1
  84. package/dist/features/ui/context-menu/context-menu-styled.js +14 -28
  85. package/dist/features/ui/context-menu/context-menu-styled.js.map +1 -1
  86. package/dist/features/ui/context-menu/context-menu.js +15 -30
  87. package/dist/features/ui/context-menu/context-menu.js.map +1 -1
  88. package/dist/features/ui/theme/button.js +107 -22
  89. package/dist/features/ui/theme/button.js.map +1 -1
  90. package/dist/index.d.ts +12 -191
  91. package/dist/index.js +471 -489
  92. package/dist/index.js.map +1 -1
  93. package/package.json +1 -1
  94. package/dist/assets/line-icons/icons/alarm.js +0 -41
  95. package/dist/assets/line-icons/icons/alarm.js.map +0 -1
  96. package/dist/assets/line-icons/icons/dart.js +0 -23
  97. package/dist/assets/line-icons/icons/dart.js.map +0 -1
  98. package/dist/assets/line-icons/icons/exclamation.js +0 -26
  99. package/dist/assets/line-icons/icons/exclamation.js.map +0 -1
  100. package/dist/assets/line-icons/icons/home2.js +0 -25
  101. package/dist/assets/line-icons/icons/home2.js.map +0 -1
  102. package/dist/assets/line-icons/icons/important.js +0 -23
  103. package/dist/assets/line-icons/icons/important.js.map +0 -1
  104. package/dist/assets/line-icons/icons/puzzle.js +0 -25
  105. package/dist/assets/line-icons/icons/puzzle.js.map +0 -1
  106. package/dist/assets/line-icons/icons/recap.js +0 -32
  107. package/dist/assets/line-icons/icons/recap.js.map +0 -1
  108. package/dist/assets/line-icons/icons/skip-colored.js +0 -43
  109. package/dist/assets/line-icons/icons/skip-colored.js.map +0 -1
  110. package/dist/assets/line-icons/icons/status.js +0 -41
  111. package/dist/assets/line-icons/icons/status.js.map +0 -1
  112. package/dist/assets/line-icons/icons/testtube.js +0 -33
  113. package/dist/assets/line-icons/icons/testtube.js.map +0 -1
  114. package/dist/features/chapters-v2/api/chapter.js +0 -10
  115. package/dist/features/chapters-v2/api/chapter.js.map +0 -1
  116. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js +0 -112
  117. package/dist/features/chapters-v2/chapter-details/block-sections/block-section-view.js.map +0 -1
  118. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js +0 -26
  119. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections-styled.js.map +0 -1
  120. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js +0 -69
  121. package/dist/features/chapters-v2/chapter-details/block-sections/block-sections.js.map +0 -1
  122. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js +0 -90
  123. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner-styled.js.map +0 -1
  124. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js +0 -97
  125. package/dist/features/chapters-v2/chapter-details/chapter-banner/chapter-banner.js.map +0 -1
  126. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js +0 -52
  127. package/dist/features/chapters-v2/chapter-details/chapter-details-styled.js.map +0 -1
  128. package/dist/features/chapters-v2/chapter-details/chapter-details.js +0 -103
  129. package/dist/features/chapters-v2/chapter-details/chapter-details.js.map +0 -1
  130. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js +0 -13
  131. package/dist/features/chapters-v2/comps/node-card/border-path-animation.js.map +0 -1
  132. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js +0 -154
  133. package/dist/features/chapters-v2/comps/node-card/node-card-styled.js.map +0 -1
  134. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js +0 -12
  135. package/dist/features/chapters-v2/comps/node-card/node-card-tags.js.map +0 -1
  136. package/dist/features/chapters-v2/comps/node-card/node-card.js +0 -12
  137. package/dist/features/chapters-v2/comps/node-card/node-card.js.map +0 -1
  138. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js +0 -32
  139. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options-styled.js.map +0 -1
  140. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js +0 -31
  141. package/dist/features/chapters-v2/comps/node-card/node-menu-options/node-menu-options.js.map +0 -1
  142. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js +0 -164
  143. package/dist/features/chapters-v2/comps/node-card/student-actions/student-actions.js.map +0 -1
  144. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js +0 -184
  145. package/dist/features/chapters-v2/comps/node-card/teacher-actions/teacher-actions.js.map +0 -1
  146. package/dist/features/chapters-v2/comps/tag/tag-styled.js +0 -13
  147. package/dist/features/chapters-v2/comps/tag/tag-styled.js.map +0 -1
  148. package/dist/features/chapters-v2/comps/tag/tag.js +0 -28
  149. package/dist/features/chapters-v2/comps/tag/tag.js.map +0 -1
  150. package/dist/features/chapters-v2/constants/block-constants.js +0 -20
  151. package/dist/features/chapters-v2/constants/block-constants.js.map +0 -1
  152. package/dist/features/chapters-v2/constants/node-constants.js +0 -15
  153. package/dist/features/chapters-v2/constants/node-constants.js.map +0 -1
  154. package/dist/features/chapters-v2/utils/index.js +0 -40
  155. package/dist/features/chapters-v2/utils/index.js.map +0 -1
  156. package/dist/features/chapters-v2/utils/node-card-utils.js +0 -78
  157. package/dist/features/chapters-v2/utils/node-card-utils.js.map +0 -1
  158. package/dist/static/chapter-header-bg-2.c8d96894.svg +0 -1
  159. package/dist/static/node-custom-test-bg.d3b757be.svg +0 -1
  160. package/dist/static/node-learn-bg.b61f815c.svg +0 -1
  161. package/dist/static/node-practice-bg.16cbaf2a.svg +0 -1
  162. package/dist/static/node-project-bg.e6a33e28.svg +0 -1
  163. package/dist/static/node-puzzle-bg.3422135c.svg +0 -1
  164. package/dist/static/node-recap-bg.546154e4.svg +0 -1
  165. package/dist/static/node-test-prep-bg.42c0b9c4.svg +0 -1
  166. package/dist/static/node-video-bg.3df3f73a.svg +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"outcome.js","sources":["../../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.tsx"],"sourcesContent":["import type { TOutcomeLabel } from '../../milestone-list-types';\nimport type { IOutcomeWrapperProps } from '../milestone-widget-types';\n\nimport React, { memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../../../assets/illustrations/illustrations';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport { OUTCOME_LABELS } from '../milestone-constants';\nimport Ranks from './outcome-rank';\nimport * as Styled from './outcome-styled';\n\nconst { SCORE } = ILLUSTRATIONS;\n\nconst OutcomeWrapper: React.FC<IOutcomeWrapperProps> = memo(({ outcomes }) => {\n const { gutter } = useTheme().layout;\n\n const primaryOutcome =\n Array.isArray(outcomes) && outcomes.find(outcome => outcome.type === 'primary');\n\n if (!primaryOutcome) return null;\n\n const { name, value, max } = primaryOutcome;\n const nameKey = name as TOutcomeLabel;\n const isOutcomeOtherType = name === 'others';\n\n return (\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $flexGapX={1}\n onClick={e => e.stopPropagation()}\n >\n <FlexView $flexDirection=\"row\" $flexGapX={0.75} $alignItems=\"center\">\n <img src={SCORE} width={gutter * 2.125} alt=\"score-img\" />\n </FlexView>\n\n <Styled.NumbersWrapper>\n {!isOutcomeOtherType && (\n <Text $renderAs=\"ab3\" $color=\"BLACK_T_60\">\n {OUTCOME_LABELS[nameKey]}\n </Text>\n )}\n <Styled.StyledText $renderAs=\"ah4\" $color=\"BLACK_T_87\">\n {name === 'ranks' ? (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexWrap>\n <Ranks value={value} />\n </FlexView>\n ) : (\n value\n )}\n\n {(name === 'gpa' || name === 'score') && max && (\n <Text $renderAs=\"ab1\" $inline $color=\"BLACK_T_60\">\n /{max}\n </Text>\n )}\n </Styled.StyledText>\n </Styled.NumbersWrapper>\n </FlexView>\n );\n});\n\nexport default OutcomeWrapper;\n"],"names":["SCORE","ILLUSTRATIONS","OutcomeWrapper","memo","outcomes","gutter","useTheme","primaryOutcome","outcome","name","value","max","nameKey","isOutcomeOtherType","jsxs","FlexView","e","jsx","Styled.NumbersWrapper","Text","OUTCOME_LABELS","Styled.StyledText","Ranks"],"mappings":";;;;;;;;;AAaA,MAAM,EAAE,OAAAA,EAAU,IAAAC,GAEZC,IAAiDC,EAAK,CAAC,EAAE,UAAAC,QAAe;AAC5E,QAAM,EAAE,QAAAC,EAAA,IAAWC,EAAA,EAAW,QAExBC,IACJ,MAAM,QAAQH,CAAQ,KAAKA,EAAS,KAAK,CAAAI,MAAWA,EAAQ,SAAS,SAAS;AAE5E,MAAA,CAACD,EAAuB,QAAA;AAE5B,QAAM,EAAE,MAAAE,GAAM,OAAAC,GAAO,KAAAC,EAAA,IAAQJ,GACvBK,IAAUH,GACVI,IAAqBJ,MAAS;AAGlC,SAAA,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,WAAW;AAAA,MACX,SAAS,CAAKC,MAAAA,EAAE,gBAAgB;AAAA,MAEhC,UAAA;AAAA,QAAA,gBAAAC,EAACF,KAAS,gBAAe,OAAM,WAAW,MAAM,aAAY,UAC1D,UAAA,gBAAAE,EAAC,OAAI,EAAA,KAAKjB,GAAO,OAAOK,IAAS,OAAO,KAAI,YAAY,CAAA,GAC1D;AAAA,QAEA,gBAAAS,EAACI,GAAA,EACE,UAAA;AAAA,UAAC,CAAAL,uBACCM,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UAAeC,EAAAR,CAAO,EACzB,CAAA;AAAA,4BAEDS,GAAA,EAAkB,WAAU,OAAM,QAAO,cACvC,UAAA;AAAA,YAAAZ,MAAS,UACR,gBAAAQ,EAACF,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,WAAS,IAC3D,UAAA,gBAAAE,EAACK,GAAM,EAAA,OAAAZ,EAAc,CAAA,EACvB,CAAA,IAEAA;AAAA,aAGAD,MAAS,SAASA,MAAS,YAAYE,KACvC,gBAAAG,EAACK,GAAK,EAAA,WAAU,OAAM,SAAO,IAAC,QAAO,cAAa,UAAA;AAAA,cAAA;AAAA,cAC9CR;AAAA,YAAA,GACJ;AAAA,UAAA,GAEJ;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
1
+ {"version":3,"file":"outcome.js","sources":["../../../../../../../src/features/milestone/milestone-list-container/milestone-list/milestone-widget/outcome/outcome.tsx"],"sourcesContent":["import type { TOutcomeLabel } from '../../milestone-list-types';\nimport type { IOutcomeWrapperProps } from '../milestone-widget-types';\n\nimport React, { memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../../../assets/illustrations/illustrations';\nimport ArrowTooltip from '../../../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../../../ui/layout/flex-view';\nimport Text from '../../../../../ui/text/text';\nimport { OUTCOME_LABELS } from '../milestone-constants';\nimport OutcomeInfo from './outcome-info';\nimport Ranks from './outcome-rank';\nimport * as Styled from './outcome-styled';\n\nconst { SCORE } = ILLUSTRATIONS;\n\nconst OutcomeWrapper: React.FC<IOutcomeWrapperProps> = memo(({ outcomes }) => {\n const { gutter } = useTheme().layout;\n\n const primaryOutcome =\n Array.isArray(outcomes) && outcomes.find(outcome => outcome.type === 'primary');\n\n if (!primaryOutcome) return null;\n\n const { name, value, max } = primaryOutcome;\n const nameKey = name as TOutcomeLabel;\n const isOutcomeOtherType = name === 'others';\n\n return (\n <FlexView\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $flexGapX={1}\n onClick={e => e.stopPropagation()}\n $width=\"max-content\"\n >\n <FlexView $flexDirection=\"row\" $flexGapX={0.75} $alignItems=\"center\">\n <img src={SCORE} width={gutter * 2.125} alt=\"score-img\" />\n </FlexView>\n <Styled.NumbersWrapper>\n {!isOutcomeOtherType && (\n <Text $renderAs=\"ab3\" $color=\"BLACK_T_60\">\n {OUTCOME_LABELS[nameKey]}\n </Text>\n )}\n <Styled.StyledText $renderAs=\"ah4\" $color=\"BLACK_T_87\">\n {name === 'ranks' ? (\n <Styled.RanksScroll>\n <Ranks value={value} />\n </Styled.RanksScroll>\n ) : (\n value\n )}\n\n {(name === 'gpa' || name === 'score') && max && (\n <Text $renderAs=\"ab1\" $inline $color=\"BLACK_T_60\">\n /{max}\n </Text>\n )}\n </Styled.StyledText>\n </Styled.NumbersWrapper>\n\n <ArrowTooltip\n position=\"bottom\"\n renderAs=\"secondary\"\n tooltipItem={<OutcomeInfo outcomes={outcomes} />}\n >\n <Styled.StyledInfoIcon />\n </ArrowTooltip>\n </FlexView>\n );\n});\n\nexport default OutcomeWrapper;\n"],"names":["SCORE","ILLUSTRATIONS","OutcomeWrapper","memo","outcomes","gutter","useTheme","primaryOutcome","outcome","name","value","max","nameKey","isOutcomeOtherType","jsxs","FlexView","e","jsx","Styled.NumbersWrapper","Text","OUTCOME_LABELS","Styled.StyledText","Styled.RanksScroll","Ranks","ArrowTooltip","OutcomeInfo","Styled.StyledInfoIcon"],"mappings":";;;;;;;;;;;AAeA,MAAM,EAAE,OAAAA,EAAU,IAAAC,GAEZC,IAAiDC,EAAK,CAAC,EAAE,UAAAC,QAAe;AAC5E,QAAM,EAAE,QAAAC,EAAA,IAAWC,EAAA,EAAW,QAExBC,IACJ,MAAM,QAAQH,CAAQ,KAAKA,EAAS,KAAK,CAAAI,MAAWA,EAAQ,SAAS,SAAS;AAE5E,MAAA,CAACD,EAAuB,QAAA;AAE5B,QAAM,EAAE,MAAAE,GAAM,OAAAC,GAAO,KAAAC,EAAA,IAAQJ,GACvBK,IAAUH,GACVI,IAAqBJ,MAAS;AAGlC,SAAA,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,WAAW;AAAA,MACX,SAAS,CAAKC,MAAAA,EAAE,gBAAgB;AAAA,MAChC,QAAO;AAAA,MAEP,UAAA;AAAA,QAAA,gBAAAC,EAACF,KAAS,gBAAe,OAAM,WAAW,MAAM,aAAY,UAC1D,UAAA,gBAAAE,EAAC,OAAI,EAAA,KAAKjB,GAAO,OAAOK,IAAS,OAAO,KAAI,YAAY,CAAA,GAC1D;AAAA,QACA,gBAAAS,EAACI,GAAA,EACE,UAAA;AAAA,UAAC,CAAAL,uBACCM,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UAAeC,EAAAR,CAAO,EACzB,CAAA;AAAA,4BAEDS,GAAA,EAAkB,WAAU,OAAM,QAAO,cACvC,UAAA;AAAA,YAASZ,MAAA,4BACPa,GAAA,EACC,UAAC,gBAAAL,EAAAM,GAAA,EAAM,OAAAb,GAAc,EAAA,CACvB,IAEAA;AAAA,aAGAD,MAAS,SAASA,MAAS,YAAYE,KACvC,gBAAAG,EAACK,GAAK,EAAA,WAAU,OAAM,SAAO,IAAC,QAAO,cAAa,UAAA;AAAA,cAAA;AAAA,cAC9CR;AAAA,YAAA,GACJ;AAAA,UAAA,GAEJ;AAAA,QAAA,GACF;AAAA,QAEA,gBAAAM;AAAA,UAACO;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,UAAS;AAAA,YACT,aAAc,gBAAAP,EAAAQ,GAAA,EAAY,UAAArB,EAAoB,CAAA;AAAA,YAE9C,UAAA,gBAAAa,EAACS,GAAA,EAAsB;AAAA,UAAA;AAAA,QACzB;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
@@ -1,30 +1,30 @@
1
- import { jsx as E, jsxs as O, Fragment as ae } from "react/jsx-runtime";
1
+ import { jsx as E, jsxs as R, Fragment as ae } from "react/jsx-runtime";
2
2
  import { h as Ee } from "../../../node_modules/humanize-plus/dist/humanize.js";
3
- import { memo as le, useMemo as Se, useState as R, useCallback as me, useEffect as f } from "react";
3
+ import { memo as le, useMemo as Se, useState as p, useCallback as me, useEffect as f } from "react";
4
4
  import { ILLUSTRATIONS as ce } from "../../../assets/illustrations/illustrations.js";
5
5
  import { EVENTS as e } from "../../communication/pub-sub/constants.js";
6
6
  import { useInClassActionListener as Te } from "../../communication/pub-sub/hooks.js";
7
7
  import de from "../../ui/separator/separator.js";
8
- import { invalidateMilestoneResources as Ae } from "./api/get-milestone-resources.js";
9
- import { useGetAllMilestonesdata as _e, invalidateMilestonesData as De } from "./api/get-milestones.js";
8
+ import { invalidateMilestoneResources as _e } from "./api/get-milestone-resources.js";
9
+ import { useGetAllMilestonesdata as Ae, invalidateMilestonesData as De } from "./api/get-milestones.js";
10
10
  import { invalidateTestHelpData as Ie } from "./api/get-tests-list.js";
11
11
  import Me from "./filter-milestones.js";
12
12
  import Ne from "./milestone-list/milestone-list.js";
13
- import Le from "./milestone-list/milestone-loader/milestone-loader.js";
14
- import { ContentWrapper as ue, LoaderWrapper as Ce } from "./styled.js";
13
+ import ue from "./milestone-list/milestone-loader/milestone-loader.js";
14
+ import { ContentWrapper as Le, LoaderWrapper as Ce } from "./styled.js";
15
15
  const Oe = (T) => {
16
16
  De(T);
17
17
  }, Re = le(
18
- ({ studentName: T, studentId: d, studentClassroomId: p, ...h }) => {
18
+ ({ studentName: T, studentId: d, studentClassroomId: h, ...P }) => {
19
19
  const {
20
20
  milestoneType: o,
21
- isStudentPresent: D,
22
- isClassOngoing: P,
21
+ isStudentPresent: I,
22
+ isClassOngoing: _,
23
23
  userType: A,
24
24
  canCreatePlan: v,
25
25
  teacherName: G,
26
26
  parentName: U,
27
- courseStream: _,
27
+ courseStream: D,
28
28
  activeMilestoneId: g,
29
29
  activeTabId: F,
30
30
  onExpandPastMilestones: w,
@@ -48,35 +48,37 @@ const Oe = (T) => {
48
48
  onTestReview: Z,
49
49
  onTestStart: ee,
50
50
  onWidgetTabSelection: te
51
- } = h, n = Se(
51
+ } = P, n = Se(
52
52
  () => ({
53
53
  milestone_state_group: o === "ACTIVE" ? A === "TEACHER" ? "LIVE" : "STUDENT_LIVE" : o,
54
- course_stream: _,
55
- student_id: d
54
+ with_plan: !0,
55
+ course_stream: D,
56
+ student_id: d,
57
+ in_class: _
56
58
  }),
57
- [o, _, d, A]
59
+ [_, o, D, d, A]
58
60
  ), {
59
61
  data: t,
60
62
  getAll: S,
61
- isStale: I,
63
+ isStale: M,
62
64
  isProcessing: l
63
- } = _e(n), [M, N] = R(), [L, u] = R(!1), se = me(
65
+ } = Ae(n), [N, u] = p(), [L, C] = p(!1), se = me(
64
66
  (m) => {
65
67
  const { searchText: i, selectedBoard: r, selectedGrade: a } = m || {};
66
- (i || r || a) && u(!0);
68
+ (i || r || a) && C(!0);
67
69
  const c = t == null ? void 0 : t.filter((s) => {
68
70
  const { milestone_name: ne, board: ie, grade: re } = s || {};
69
71
  return (i ? ne.toLowerCase().includes(i.toLowerCase()) : !0) && (r ? ie === r : !0) && (a ? re === a : !0);
70
72
  });
71
- N(c);
73
+ u(c);
72
74
  },
73
75
  [t]
74
76
  ), oe = () => {
75
- u(!1), N(void 0);
77
+ C(!1), u(void 0);
76
78
  };
77
79
  if (Te(
78
80
  {
79
- studentClassroomId: p,
81
+ studentClassroomId: h,
80
82
  actions: [
81
83
  [e.CHAPTER_UPDATED],
82
84
  [e.LESSONS_MARKED_AS_FAMILIAR],
@@ -108,7 +110,7 @@ const Oe = (T) => {
108
110
  )) == null ? void 0 : c.eventPayload;
109
111
  if (i) {
110
112
  const { milestoneId: s } = i || {};
111
- Ae(s);
113
+ _e(s);
112
114
  }
113
115
  if (r) {
114
116
  const { milestoneId: s } = r;
@@ -117,21 +119,21 @@ const Oe = (T) => {
117
119
  Oe(n);
118
120
  }
119
121
  },
120
- (o === "ACTIVE" || o === "INACTIVE") && D
122
+ (o === "ACTIVE" || o === "INACTIVE") && I
121
123
  ), f(() => {
122
124
  S(n);
123
125
  }, [S, n]), f(() => {
124
- !l && I && S(n);
125
- }, [S, n, I, l]), l && !t)
126
- return /* @__PURE__ */ E(Le, { numMilestones: 2 });
127
- const C = o === "ACTIVE" && t && t.length > 6;
128
- return /* @__PURE__ */ O(ue, { $disablePointerEvents: l, children: [
126
+ !l && M && S(n);
127
+ }, [S, n, M, l]), l && !t)
128
+ return /* @__PURE__ */ E(ue, { numMilestones: 2 });
129
+ const O = o === "ACTIVE" && t && t.length > 6;
130
+ return /* @__PURE__ */ R(Le, { $disablePointerEvents: l, children: [
129
131
  l && /* @__PURE__ */ E(Ce, { children: /* @__PURE__ */ E("img", { src: ce.LOADER_1, alt: "loading" }) }),
130
- C && /* @__PURE__ */ O(ae, { children: [
132
+ O && /* @__PURE__ */ R(ae, { children: [
131
133
  /* @__PURE__ */ E(
132
134
  Me,
133
135
  {
134
- filteredMilestones: M,
136
+ filteredMilestones: N,
135
137
  milestones: t,
136
138
  handleFilterMilestones: se,
137
139
  handleClearFilter: oe
@@ -142,13 +144,13 @@ const Oe = (T) => {
142
144
  /* @__PURE__ */ E(
143
145
  Ne,
144
146
  {
145
- showFilters: !!C,
147
+ showFilters: !!O,
146
148
  canCreatePlan: v,
147
- isClassOngoing: P,
149
+ isClassOngoing: _,
148
150
  isFiltersAdded: L,
149
- isStudentPresent: D,
151
+ isStudentPresent: I,
150
152
  milestoneType: o,
151
- milestones: L ? M : t,
153
+ milestones: L ? N : t,
152
154
  onAddChapter: q,
153
155
  onAddOutcome: x,
154
156
  onChapterClick: V,
@@ -177,7 +179,7 @@ const Oe = (T) => {
177
179
  teacherName: G,
178
180
  parentName: U,
179
181
  userType: A,
180
- courseStream: _
182
+ courseStream: D
181
183
  }
182
184
  )
183
185
  ] });
@@ -1 +1 @@
1
- {"version":3,"file":"milestone-list-container.js","sources":["../../../../src/features/milestone/milestone-list-container/milestone-list-container.tsx"],"sourcesContent":["import type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\n\nimport { titleCase } from 'humanize-plus';\nimport React, { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { invalidateTestHelpData } from './api/get-tests-list';\nimport FilterMilestones from './filter-milestones';\nimport MilestoneList from './milestone-list/milestone-list';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n};\n\nconst MilestoneListContainer: React.FC<IMilestoneContainerProps> = memo(\n ({ studentName, studentId, studentClassroomId, ...restMilestoneListContainerProps }) => {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onDelete,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n onWidgetTabSelection,\n } = restMilestoneListContainerProps;\n\n const queryParams: IMilestoneListQueryParams = useMemo(\n () =>\n ({\n milestone_state_group:\n milestoneType === 'ACTIVE'\n ? userType === 'TEACHER'\n ? 'LIVE'\n : 'STUDENT_LIVE'\n : milestoneType,\n course_stream: courseStream,\n student_id: studentId,\n }) as const,\n [milestoneType, courseStream, studentId, userType],\n );\n\n const {\n data: milestoneData,\n getAll: getMilestoneData,\n isStale: isMilestoneDataStale,\n isProcessing: isMilestoneProcessing,\n } = useGetAllMilestonesdata(queryParams);\n\n const [filteredMilestones, setFilteredMilestones] = useState<IMilestoneData[] | undefined>();\n const [isFiltersAdded, setIsFiltersAdded] = useState<boolean>(false);\n\n const handleFilterMilestones = useCallback(\n (data: { searchText?: string; selectedBoard?: string; selectedGrade?: string }) => {\n const { searchText, selectedBoard, selectedGrade } = data || {};\n\n if (searchText || selectedBoard || selectedGrade) {\n setIsFiltersAdded(true);\n }\n\n const filteredData = milestoneData?.filter(item => {\n const { milestone_name: milestoneName, board, grade } = item || {};\n const matchesSearchText = searchText\n ? milestoneName.toLowerCase().includes(searchText.toLowerCase())\n : true;\n const matchesCurriculum = selectedBoard ? board === selectedBoard : true;\n const matchesGrade = selectedGrade ? grade === selectedGrade : true;\n\n return matchesSearchText && matchesCurriculum && matchesGrade;\n });\n\n setFilteredMilestones(filteredData);\n },\n [milestoneData],\n );\n\n const handleClearFilter = () => {\n setIsFiltersAdded(false);\n setFilteredMilestones(undefined);\n };\n\n useInClassActionListener(\n {\n studentClassroomId,\n actions: [\n [EVENTS.CHAPTER_UPDATED],\n [EVENTS.LESSONS_MARKED_AS_FAMILIAR],\n [EVENTS.LESSONS_MARKED_AS_IRRELEVANT],\n [EVENTS.LESSONS_PROGRESS_RESET],\n [EVENTS.UNLOCK_SHEETS],\n [EVENTS.EXTRA_PRACTICE_ASSIGNED],\n [EVENTS.MILESTONE_DATE_UPDATED],\n [EVENTS.MILESTONE_DELETED],\n [EVENTS.MILESTONE_NAME_UPDATED],\n [EVENTS.MILESTONE_EDITED],\n [EVENTS.MILESTONE_RESOURCE_ASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_UNASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_RESET],\n [EVENTS.SHEET_UNASSIGNED],\n [EVENTS.GOAL_CREATED],\n [EVENTS.GOAL_EDITED],\n [EVENTS.GOAL_DELETED],\n [EVENTS.GOAL_OUTCOME_ADDED],\n [EVENTS.PAST_MILESTONE_OUTCOME_ADDED],\n [EVENTS.MILESTONE_TEST_ASSIGNED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n EVENTS.MILESTONE_RESOURCE_UNASSIGNED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message => message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateTestHelpData(milestoneId);\n }\n\n invalidateAllMilestones(queryParams);\n },\n },\n (milestoneType === 'ACTIVE' || milestoneType === 'INACTIVE') && isStudentPresent,\n );\n\n useEffect(() => {\n getMilestoneData(queryParams);\n }, [getMilestoneData, queryParams]);\n\n useEffect(() => {\n if (!isMilestoneProcessing && isMilestoneDataStale) {\n getMilestoneData(queryParams);\n }\n }, [getMilestoneData, queryParams, isMilestoneDataStale, isMilestoneProcessing]);\n\n if (isMilestoneProcessing && !milestoneData) {\n return <MilestoneLoader numMilestones={2} />;\n }\n\n const showFilters = milestoneType === 'ACTIVE' && milestoneData && milestoneData.length > 6;\n\n return (\n <Styled.ContentWrapper $disablePointerEvents={isMilestoneProcessing}>\n {isMilestoneProcessing && (\n <Styled.LoaderWrapper>\n <img src={ILLUSTRATIONS.LOADER_1} alt=\"loading\" />\n </Styled.LoaderWrapper>\n )}\n {showFilters && (\n <>\n <FilterMilestones\n filteredMilestones={filteredMilestones}\n milestones={milestoneData}\n handleFilterMilestones={handleFilterMilestones}\n handleClearFilter={handleClearFilter}\n />\n <Separator heightX={1.5} />\n </>\n )}\n\n <MilestoneList\n showFilters={!!showFilters}\n canCreatePlan={canCreatePlan}\n isClassOngoing={isClassOngoing}\n isFiltersAdded={isFiltersAdded}\n isStudentPresent={isStudentPresent}\n milestoneType={milestoneType}\n milestones={isFiltersAdded ? filteredMilestones : milestoneData}\n onAddChapter={onAddChapter}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n onCreatePlan={onCreatePlan}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n onExpandPastMilestones={onExpandPastMilestones}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n />\n </Styled.ContentWrapper>\n );\n },\n);\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","activeMilestoneId","activeTabId","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","useMemo","milestoneData","getMilestoneData","isMilestoneDataStale","isMilestoneProcessing","useGetAllMilestonesdata","filteredMilestones","setFilteredMilestones","useState","isFiltersAdded","setIsFiltersAdded","handleFilterMilestones","useCallback","data","searchText","selectedBoard","selectedGrade","filteredData","item","milestoneName","board","grade","handleClearFilter","useInClassActionListener","EVENTS","messages","milestoneResourceEventPayload","_a","message","milestoneTestEventPayload","_b","resourceMilestoneId","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase"],"mappings":"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"}
1
+ {"version":3,"file":"milestone-list-container.js","sources":["../../../../src/features/milestone/milestone-list-container/milestone-list-container.tsx"],"sourcesContent":["import type {\n IMilestoneContainerProps,\n IMilestoneListQueryParams,\n} from './milestone-list-container-types';\nimport type { IMilestoneData } from './milestone-list/milestone-list-types';\n\nimport { titleCase } from 'humanize-plus';\nimport React, { memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../assets/illustrations/illustrations';\nimport { EVENTS } from '../../communication/pub-sub/constants';\nimport { useInClassActionListener } from '../../communication/pub-sub/hooks';\nimport Separator from '../../ui/separator/separator';\nimport { invalidateMilestoneResources } from './api/get-milestone-resources';\nimport { useGetAllMilestonesdata, invalidateMilestonesData } from './api/get-milestones';\nimport { invalidateTestHelpData } from './api/get-tests-list';\nimport FilterMilestones from './filter-milestones';\nimport MilestoneList from './milestone-list/milestone-list';\nimport MilestoneLoader from './milestone-list/milestone-loader/milestone-loader';\nimport * as Styled from './styled';\n\nconst invalidateAllMilestones = (queryParams: IMilestoneListQueryParams) => {\n invalidateMilestonesData(queryParams);\n};\n\nconst MilestoneListContainer: React.FC<IMilestoneContainerProps> = memo(\n ({ studentName, studentId, studentClassroomId, ...restMilestoneListContainerProps }) => {\n const {\n milestoneType,\n isStudentPresent,\n isClassOngoing,\n userType,\n canCreatePlan,\n teacherName,\n parentName,\n courseStream,\n activeMilestoneId,\n activeTabId,\n onExpandPastMilestones,\n onAddOutcome,\n onChapterClick,\n onEdit,\n onCreateMilestoneTest,\n onPreview,\n onReattempt,\n onReset,\n onResume,\n onReview,\n onStart,\n onDraftPublish,\n onAddChapter,\n onCreatePlan,\n onDelete,\n onAssignResources,\n onUnAssignSheet,\n onTestPreview,\n onTestReview,\n onTestStart,\n onWidgetTabSelection,\n } = restMilestoneListContainerProps;\n\n const queryParams: IMilestoneListQueryParams = useMemo(\n () =>\n ({\n milestone_state_group:\n milestoneType === 'ACTIVE'\n ? userType === 'TEACHER'\n ? 'LIVE'\n : 'STUDENT_LIVE'\n : milestoneType,\n with_plan: true,\n course_stream: courseStream,\n student_id: studentId,\n in_class: isClassOngoing,\n }) as const,\n [isClassOngoing, milestoneType, courseStream, studentId, userType],\n );\n\n const {\n data: milestoneData,\n getAll: getMilestoneData,\n isStale: isMilestoneDataStale,\n isProcessing: isMilestoneProcessing,\n } = useGetAllMilestonesdata(queryParams);\n\n const [filteredMilestones, setFilteredMilestones] = useState<IMilestoneData[] | undefined>();\n const [isFiltersAdded, setIsFiltersAdded] = useState<boolean>(false);\n\n const handleFilterMilestones = useCallback(\n (data: { searchText?: string; selectedBoard?: string; selectedGrade?: string }) => {\n const { searchText, selectedBoard, selectedGrade } = data || {};\n\n if (searchText || selectedBoard || selectedGrade) {\n setIsFiltersAdded(true);\n }\n\n const filteredData = milestoneData?.filter(item => {\n const { milestone_name: milestoneName, board, grade } = item || {};\n const matchesSearchText = searchText\n ? milestoneName.toLowerCase().includes(searchText.toLowerCase())\n : true;\n const matchesCurriculum = selectedBoard ? board === selectedBoard : true;\n const matchesGrade = selectedGrade ? grade === selectedGrade : true;\n\n return matchesSearchText && matchesCurriculum && matchesGrade;\n });\n\n setFilteredMilestones(filteredData);\n },\n [milestoneData],\n );\n\n const handleClearFilter = () => {\n setIsFiltersAdded(false);\n setFilteredMilestones(undefined);\n };\n\n useInClassActionListener(\n {\n studentClassroomId,\n actions: [\n [EVENTS.CHAPTER_UPDATED],\n [EVENTS.LESSONS_MARKED_AS_FAMILIAR],\n [EVENTS.LESSONS_MARKED_AS_IRRELEVANT],\n [EVENTS.LESSONS_PROGRESS_RESET],\n [EVENTS.UNLOCK_SHEETS],\n [EVENTS.EXTRA_PRACTICE_ASSIGNED],\n [EVENTS.MILESTONE_DATE_UPDATED],\n [EVENTS.MILESTONE_DELETED],\n [EVENTS.MILESTONE_NAME_UPDATED],\n [EVENTS.MILESTONE_EDITED],\n [EVENTS.MILESTONE_RESOURCE_ASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_UNASSIGNED],\n [EVENTS.MILESTONE_RESOURCE_RESET],\n [EVENTS.SHEET_UNASSIGNED],\n [EVENTS.GOAL_CREATED],\n [EVENTS.GOAL_EDITED],\n [EVENTS.GOAL_DELETED],\n [EVENTS.GOAL_OUTCOME_ADDED],\n [EVENTS.PAST_MILESTONE_OUTCOME_ADDED],\n [EVENTS.MILESTONE_TEST_ASSIGNED],\n ],\n callback: messages => {\n const milestoneResourceEventPayload = messages.find(\n message =>\n message.eventName === EVENTS.MILESTONE_RESOURCE_ASSIGNED ||\n EVENTS.MILESTONE_RESOURCE_UNASSIGNED,\n )?.eventPayload;\n const milestoneTestEventPayload = messages.find(\n message => message.eventName === EVENTS.MILESTONE_TEST_ASSIGNED,\n )?.eventPayload;\n\n if (milestoneResourceEventPayload) {\n const { milestoneId: resourceMilestoneId } =\n (milestoneResourceEventPayload as { milestoneId: string }) || {};\n\n invalidateMilestoneResources(resourceMilestoneId);\n }\n\n if (milestoneTestEventPayload) {\n const { milestoneId } = milestoneTestEventPayload as { milestoneId: string };\n\n invalidateTestHelpData(milestoneId);\n }\n\n invalidateAllMilestones(queryParams);\n },\n },\n (milestoneType === 'ACTIVE' || milestoneType === 'INACTIVE') && isStudentPresent,\n );\n\n useEffect(() => {\n getMilestoneData(queryParams);\n }, [getMilestoneData, queryParams]);\n\n useEffect(() => {\n if (!isMilestoneProcessing && isMilestoneDataStale) {\n getMilestoneData(queryParams);\n }\n }, [getMilestoneData, queryParams, isMilestoneDataStale, isMilestoneProcessing]);\n\n if (isMilestoneProcessing && !milestoneData) {\n return <MilestoneLoader numMilestones={2} />;\n }\n\n const showFilters = milestoneType === 'ACTIVE' && milestoneData && milestoneData.length > 6;\n\n return (\n <Styled.ContentWrapper $disablePointerEvents={isMilestoneProcessing}>\n {isMilestoneProcessing && (\n <Styled.LoaderWrapper>\n <img src={ILLUSTRATIONS.LOADER_1} alt=\"loading\" />\n </Styled.LoaderWrapper>\n )}\n {showFilters && (\n <>\n <FilterMilestones\n filteredMilestones={filteredMilestones}\n milestones={milestoneData}\n handleFilterMilestones={handleFilterMilestones}\n handleClearFilter={handleClearFilter}\n />\n <Separator heightX={1.5} />\n </>\n )}\n\n <MilestoneList\n showFilters={!!showFilters}\n canCreatePlan={canCreatePlan}\n isClassOngoing={isClassOngoing}\n isFiltersAdded={isFiltersAdded}\n isStudentPresent={isStudentPresent}\n milestoneType={milestoneType}\n milestones={isFiltersAdded ? filteredMilestones : milestoneData}\n onAddChapter={onAddChapter}\n onAddOutcome={onAddOutcome}\n onChapterClick={onChapterClick}\n onCreatePlan={onCreatePlan}\n onDelete={onDelete}\n onDraftPublish={onDraftPublish}\n onEdit={onEdit}\n onExpandPastMilestones={onExpandPastMilestones}\n onCreateMilestoneTest={onCreateMilestoneTest}\n onPreview={onPreview}\n onReattempt={onReattempt}\n onReset={onReset}\n onResume={onResume}\n onReview={onReview}\n onStart={onStart}\n onAssignResources={onAssignResources}\n onUnAssignSheet={onUnAssignSheet}\n onTestPreview={onTestPreview}\n onTestReview={onTestReview}\n onTestStart={onTestStart}\n activeMilestoneId={activeMilestoneId}\n activeTabId={activeTabId}\n onWidgetTabSelection={onWidgetTabSelection}\n studentId={studentId}\n studentName={titleCase(studentName)}\n teacherName={teacherName}\n parentName={parentName}\n userType={userType}\n courseStream={courseStream}\n />\n </Styled.ContentWrapper>\n );\n },\n);\n\nexport default MilestoneListContainer;\n"],"names":["invalidateAllMilestones","queryParams","invalidateMilestonesData","MilestoneListContainer","memo","studentName","studentId","studentClassroomId","restMilestoneListContainerProps","milestoneType","isStudentPresent","isClassOngoing","userType","canCreatePlan","teacherName","parentName","courseStream","activeMilestoneId","activeTabId","onExpandPastMilestones","onAddOutcome","onChapterClick","onEdit","onCreateMilestoneTest","onPreview","onReattempt","onReset","onResume","onReview","onStart","onDraftPublish","onAddChapter","onCreatePlan","onDelete","onAssignResources","onUnAssignSheet","onTestPreview","onTestReview","onTestStart","onWidgetTabSelection","useMemo","milestoneData","getMilestoneData","isMilestoneDataStale","isMilestoneProcessing","useGetAllMilestonesdata","filteredMilestones","setFilteredMilestones","useState","isFiltersAdded","setIsFiltersAdded","handleFilterMilestones","useCallback","data","searchText","selectedBoard","selectedGrade","filteredData","item","milestoneName","board","grade","handleClearFilter","useInClassActionListener","EVENTS","messages","milestoneResourceEventPayload","_a","message","milestoneTestEventPayload","_b","resourceMilestoneId","invalidateMilestoneResources","milestoneId","invalidateTestHelpData","useEffect","jsx","MilestoneLoader","showFilters","jsxs","Styled.ContentWrapper","Styled.LoaderWrapper","ILLUSTRATIONS","Fragment","FilterMilestones","Separator","MilestoneList","titleCase"],"mappings":"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"}
@@ -17,7 +17,7 @@ const a = o(t)`
17
17
  }), m = o(t)(({ $isImageWrapper: r }) => `
18
18
  position: relative;
19
19
  top: -92px;
20
- z-index: ${r ? "0" : "unset"};
20
+ z-index: ${r ? "-1" : "unset"};
21
21
  `);
22
22
  export {
23
23
  m as DefaultWrapper,
@@ -1 +1 @@
1
- {"version":3,"file":"resources-list-styled.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-list/resources-list-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport { MILESTONE_WIDGET_MIN_HEIGHT } from '../../constants';\n\nconst MilestoneResourcesWrapper = styled(FlexView)`\n position: relative;\n min-height: ${MILESTONE_WIDGET_MIN_HEIGHT}px;\n`;\n\nconst SearchButtonWrapper = styled(FlexView)`\n position: sticky;\n bottom: 0;\n margin-left: auto;\n`;\n\nconst SearchButtonCover = styled(FlexView)(({ theme }) => {\n const { colors } = theme;\n\n return `\n border-radius: 50%;\n box-shadow: 0px 10px 20px 0px ${colors.BLACK_T_15};\n `;\n});\n\ninterface IDefaultWrapper {\n $isImageWrapper?: boolean;\n}\n\nconst DefaultWrapper = styled(FlexView)<IDefaultWrapper>(({ $isImageWrapper }) => {\n return `\n position: relative;\n top: -92px;\n z-index: ${$isImageWrapper ? '0' : 'unset'};\n `;\n});\n\nexport { MilestoneResourcesWrapper, SearchButtonWrapper, SearchButtonCover, DefaultWrapper };\n"],"names":["MilestoneResourcesWrapper","styled","FlexView","MILESTONE_WIDGET_MIN_HEIGHT","SearchButtonWrapper","SearchButtonCover","theme","colors","DefaultWrapper","$isImageWrapper"],"mappings":";;;AAKM,MAAAA,IAA4BC,EAAOC,CAAQ;AAAA;AAAA,gBAEjCC,CAA2B;AAAA,GAGrCC,IAAsBH,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMrCG,IAAoBJ,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAI,QAAY;AAClD,QAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,SAAA;AAAA;AAAA,sCAE6BC,EAAO,UAAU;AAAA;AAEvD,CAAC,GAMKC,IAAiBP,EAAOC,CAAQ,EAAmB,CAAC,EAAE,iBAAAO,QACnD;AAAA;AAAA;AAAA,eAGMA,IAAkB,MAAM,OAAO;AAAA,GAE7C;"}
1
+ {"version":3,"file":"resources-list-styled.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-list/resources-list-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport { MILESTONE_WIDGET_MIN_HEIGHT } from '../../constants';\n\nconst MilestoneResourcesWrapper = styled(FlexView)`\n position: relative;\n min-height: ${MILESTONE_WIDGET_MIN_HEIGHT}px;\n`;\n\nconst SearchButtonWrapper = styled(FlexView)`\n position: sticky;\n bottom: 0;\n margin-left: auto;\n`;\n\nconst SearchButtonCover = styled(FlexView)(({ theme }) => {\n const { colors } = theme;\n\n return `\n border-radius: 50%;\n box-shadow: 0px 10px 20px 0px ${colors.BLACK_T_15};\n `;\n});\n\ninterface IDefaultWrapper {\n $isImageWrapper?: boolean;\n}\n\nconst DefaultWrapper = styled(FlexView)<IDefaultWrapper>(({ $isImageWrapper }) => {\n return `\n position: relative;\n top: -92px;\n z-index: ${$isImageWrapper ? '-1' : 'unset'};\n `;\n});\n\nexport { MilestoneResourcesWrapper, SearchButtonWrapper, SearchButtonCover, DefaultWrapper };\n"],"names":["MilestoneResourcesWrapper","styled","FlexView","MILESTONE_WIDGET_MIN_HEIGHT","SearchButtonWrapper","SearchButtonCover","theme","colors","DefaultWrapper","$isImageWrapper"],"mappings":";;;AAKM,MAAAA,IAA4BC,EAAOC,CAAQ;AAAA;AAAA,gBAEjCC,CAA2B;AAAA,GAGrCC,IAAsBH,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMrCG,IAAoBJ,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAI,QAAY;AAClD,QAAA,EAAE,QAAAC,EAAW,IAAAD;AAEZ,SAAA;AAAA;AAAA,sCAE6BC,EAAO,UAAU;AAAA;AAEvD,CAAC,GAMKC,IAAiBP,EAAOC,CAAQ,EAAmB,CAAC,EAAE,iBAAAO,QACnD;AAAA;AAAA;AAAA,eAGMA,IAAkB,OAAO,OAAO;AAAA,GAE9C;"}
@@ -1,18 +1,18 @@
1
- import { jsx as e, jsxs as h, Fragment as D } from "react/jsx-runtime";
2
- import { memo as q, useCallback as t, useEffect as G } from "react";
3
- import { IMAGES as H } from "../../../../assets/images/images.js";
1
+ import { jsx as e, jsxs as m, Fragment as k } from "react/jsx-runtime";
2
+ import { memo as q, useCallback as t, useEffect as D } from "react";
3
+ import { IMAGES as G } from "../../../../assets/images/images.js";
4
4
  import X from "../../../../assets/line-icons/icons/plus.js";
5
5
  import z from "../../../../assets/line-icons/icons/search.js";
6
6
  import F from "../../../sheets/resources-list/resources-list.js";
7
7
  import L from "../../../ui/arrow-tooltip/arrow-tooltip.js";
8
- import C from "../../../ui/buttons/button/button.js";
8
+ import M from "../../../ui/buttons/button/button.js";
9
9
  import _ from "../../../ui/buttons/icon-button/icon-button.js";
10
- import M from "../../../ui/layout/flex-view.js";
11
- import V from "../../../ui/loader/app-loader/app-loader.js";
12
- import S from "../../../ui/text/text.js";
13
- import { useGetMilestoneResources as Y } from "../../milestone-list-container/api/get-milestone-resources.js";
14
- import { MilestoneResourcesWrapper as m, SearchButtonWrapper as J, SearchButtonCover as K, DefaultWrapper as P } from "./resources-list-styled.js";
15
- const ue = q((T) => {
10
+ import S from "../../../ui/layout/flex-view.js";
11
+ import H from "../../../ui/loader/app-loader/app-loader.js";
12
+ import E from "../../../ui/text/text.js";
13
+ import { useGetMilestoneResources as V } from "../../milestone-list-container/api/get-milestone-resources.js";
14
+ import { MilestoneResourcesWrapper as h, SearchButtonWrapper as Y, SearchButtonCover as J, DefaultWrapper as P } from "./resources-list-styled.js";
15
+ const de = q((x) => {
16
16
  const {
17
17
  isDraftMilestone: f,
18
18
  isMilestoneActive: s,
@@ -21,36 +21,36 @@ const ue = q((T) => {
21
21
  userMilestoneId: r,
22
22
  canUpdatePlan: A,
23
23
  onAssignResources: o,
24
- onStart: W,
24
+ onStart: j,
25
25
  onUnAssignSheet: i,
26
26
  onReset: n,
27
- onPreview: x,
28
- onReview: j,
29
- onResume: k,
30
- onReattempt: O
31
- } = T, $ = p === "TEACHER", w = !A || !s || s && f, {
32
- get: R,
27
+ onPreview: T,
28
+ onReview: W,
29
+ onResume: O,
30
+ onReattempt: U
31
+ } = x, w = p === "TEACHER", R = !A || !s || s && f, {
32
+ get: y,
33
33
  isProcessed: a,
34
- isProcessing: y,
35
- isProcessingFailed: c,
34
+ isProcessing: $,
35
+ isProcessingFailed: l,
36
36
  isStale: I,
37
- data: l
38
- } = Y(), b = t(() => {
39
- r && R(r, void 0, {
37
+ data: c
38
+ } = V(), b = t(() => {
39
+ r && y(r, void 0, {
40
40
  studentId: g
41
41
  });
42
- }, [g, r, R]), d = t(() => {
42
+ }, [g, r, y]), d = t(() => {
43
43
  b();
44
44
  }, [b]);
45
- G(() => {
46
- !y && (!a && !c || I) && d();
47
- }, [d, a, y, c, I]);
48
- const E = t(() => {
45
+ D(() => {
46
+ !$ && (!a && !l || I) && d();
47
+ }, [d, a, $, l, I]);
48
+ const C = t(() => {
49
49
  if (typeof o != "function")
50
50
  throw new Error("onAssignResources must be a function");
51
51
  if (!r) throw new Error("userMilestoneId is required");
52
52
  o(r);
53
- }, [o, r]), U = t(
53
+ }, [o, r]), v = t(
54
54
  (u) => {
55
55
  if (typeof i != "function")
56
56
  throw new Error("onUnAssignSheet must be a function");
@@ -58,106 +58,88 @@ const ue = q((T) => {
58
58
  i(u, r);
59
59
  },
60
60
  [i, r]
61
- ), v = t(
61
+ ), B = t(
62
62
  (u) => {
63
63
  n == null || n(u, r);
64
64
  },
65
65
  [n, r]
66
- ), B = l && l.length > 0;
67
- return c ? /* @__PURE__ */ e(
68
- m,
69
- {
70
- $alignItems: "center",
71
- $justifyContent: "center",
72
- $background: "WHITE",
73
- children: /* @__PURE__ */ h(M, { $flexGapX: 1.5, $alignItems: "center", $justifyContent: "center", children: [
74
- /* @__PURE__ */ e(S, { $renderAs: "h6", children: "Oops! Something went wrong. Please try again later." }),
75
- /* @__PURE__ */ e(
76
- C,
77
- {
78
- widthX: 14,
79
- size: "small",
80
- shape: "square",
81
- renderAs: "primary",
82
- label: "Try again",
83
- onClick: d
84
- }
85
- )
86
- ] })
87
- }
88
- ) : a ? /* @__PURE__ */ e(m, { $justifyContent: "space-between", children: B ? /* @__PURE__ */ h(D, { children: [
66
+ );
67
+ return l ? /* @__PURE__ */ e(h, { $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ m(S, { $flexGapX: 1.5, $alignItems: "center", $justifyContent: "center", children: [
68
+ /* @__PURE__ */ e(E, { $renderAs: "h6", children: "Oops! Something went wrong. Please try again later." }),
69
+ /* @__PURE__ */ e(
70
+ M,
71
+ {
72
+ widthX: 14,
73
+ size: "small",
74
+ shape: "square",
75
+ renderAs: "primary",
76
+ label: "Try again",
77
+ onClick: d
78
+ }
79
+ )
80
+ ] }) }) : a ? /* @__PURE__ */ e(h, { $justifyContent: "space-between", children: c && c.length > 0 ? /* @__PURE__ */ m(k, { children: [
89
81
  /* @__PURE__ */ e(
90
82
  F,
91
83
  {
92
- sheets: l,
84
+ sheets: c,
93
85
  userType: p,
94
86
  userMilestoneId: r,
95
87
  isMilestoneWidget: !0,
96
- onStart: W,
97
- onResume: k,
98
- onReattempt: O,
99
- onUnAssignSheet: U,
100
- onReset: v,
101
- onPreview: x,
102
- onReview: j
88
+ onStart: j,
89
+ onResume: O,
90
+ onReattempt: U,
91
+ onUnAssignSheet: v,
92
+ onReset: B,
93
+ onPreview: T,
94
+ onReview: W
103
95
  }
104
96
  ),
105
- $ && A && /* @__PURE__ */ e(
106
- J,
97
+ w && A && /* @__PURE__ */ e(
98
+ Y,
107
99
  {
108
100
  $flexDirection: "row",
109
101
  $justifyContent: "flex-end",
110
102
  $gapX: 1,
111
103
  $gutterX: 1,
112
- children: /* @__PURE__ */ e(K, { children: /* @__PURE__ */ e(
104
+ children: /* @__PURE__ */ e(J, { children: /* @__PURE__ */ e(
113
105
  _,
114
106
  {
115
107
  Icon: z,
116
108
  renderAs: "secondary",
117
109
  size: "small",
118
110
  analyticsLabel: "Milestone Resource Search",
119
- onClick: E,
111
+ onClick: C,
120
112
  disabled: !s
121
113
  }
122
114
  ) })
123
115
  }
124
116
  )
125
- ] }) : /* @__PURE__ */ h(
126
- M,
127
- {
128
- $width: "100%",
129
- $height: "100%",
130
- $alignItems: "center",
131
- $justifyContent: "flex-start",
132
- $background: "WHITE",
133
- children: [
134
- /* @__PURE__ */ e(P, { $isImageWrapper: !0, children: /* @__PURE__ */ e("img", { src: H.BG_EMPTY_RESOURCES, alt: "Empty resources", width: 420, height: 420 }) }),
135
- /* @__PURE__ */ e(P, { children: $ ? /* @__PURE__ */ e(
136
- L,
117
+ ] }) : /* @__PURE__ */ m(S, { $width: "100%", $alignItems: "center", $justifyContent: "flex-start", children: [
118
+ /* @__PURE__ */ e(P, { $isImageWrapper: !0, children: /* @__PURE__ */ e("img", { src: G.BG_EMPTY_RESOURCES, alt: "Empty resources", width: 420, height: 420 }) }),
119
+ /* @__PURE__ */ e(P, { children: w ? /* @__PURE__ */ e(
120
+ L,
121
+ {
122
+ renderAs: "primary",
123
+ position: "bottom",
124
+ hidden: !R,
125
+ tooltipItem: f ? "Allowed after plan is published" : "Plan is completed",
126
+ children: /* @__PURE__ */ e(
127
+ M,
137
128
  {
138
129
  renderAs: "primary",
139
- position: "bottom",
140
- hidden: !w,
141
- tooltipItem: f ? "Allowed after plan is published" : "Plan is completed",
142
- children: /* @__PURE__ */ e(
143
- C,
144
- {
145
- renderAs: "primary",
146
- label: "Assign Resource",
147
- Icon: X,
148
- shape: "square",
149
- size: "small",
150
- onClick: E,
151
- disabled: w
152
- }
153
- )
130
+ label: "Assign Resource",
131
+ Icon: X,
132
+ shape: "square",
133
+ size: "small",
134
+ onClick: C,
135
+ disabled: R
154
136
  }
155
- ) : /* @__PURE__ */ e(S, { $renderAs: "ab2-bold", children: "Wait for the teacher to assign a resource" }) })
156
- ]
157
- }
158
- ) }) : /* @__PURE__ */ e(m, { $justifyContent: "center", $background: "WHITE", children: /* @__PURE__ */ e(V, { height: "100%" }) });
137
+ )
138
+ }
139
+ ) : /* @__PURE__ */ e(E, { $renderAs: "ab2-bold", children: "Wait for the teacher to assign a resource" }) })
140
+ ] }) }) : /* @__PURE__ */ e(h, { $justifyContent: "center", children: /* @__PURE__ */ e(H, { height: "100%" }) });
159
141
  });
160
142
  export {
161
- ue as default
143
+ de as default
162
144
  };
163
145
  //# sourceMappingURL=resources-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resources-list.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-list/resources-list.tsx"],"sourcesContent":["import type { ISheetItemCallbackProps } from '../../../sheets/sheets-list/sheet-item/sheet-item-types';\nimport type { IMilestoneWidgetResourcesProps } from './resources-list-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport SearchIcon from '../../../../assets/line-icons/icons/search';\nimport ResourcesList from '../../../sheets/resources-list/resources-list';\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 FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../ui/text/text';\nimport { useGetMilestoneResources } from '../../milestone-list-container/api/get-milestone-resources';\nimport * as Styled from './resources-list-styled';\n\nconst MilestoneWidgetResources: FC<IMilestoneWidgetResourcesProps> = memo(props => {\n const {\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n onAssignResources,\n onStart,\n onUnAssignSheet,\n onReset,\n onPreview,\n onReview,\n onResume,\n onReattempt,\n } = props;\n\n const isTeacher = userType === 'TEACHER';\n const isEPSheetCreationDisabled =\n !canUpdatePlan || !isMilestoneActive || (isMilestoneActive && isDraftMilestone);\n\n const {\n get: getMilestoneResources,\n isProcessed,\n isProcessing,\n isProcessingFailed,\n isStale,\n data: sheets,\n } = useGetMilestoneResources();\n\n const fetchMilestoneResources = useCallback(() => {\n if (userMilestoneId) {\n getMilestoneResources(userMilestoneId, undefined, {\n studentId,\n });\n }\n }, [studentId, userMilestoneId, getMilestoneResources]);\n\n const handleOnTryAgain = useCallback(() => {\n fetchMilestoneResources();\n }, [fetchMilestoneResources]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnAssignResources = useCallback(() => {\n if (typeof onAssignResources !== 'function')\n throw new Error('onAssignResources must be a function');\n\n if (!userMilestoneId) throw new Error('userMilestoneId is required');\n\n onAssignResources(userMilestoneId);\n }, [onAssignResources, userMilestoneId]);\n\n const handleOnUnAssignResources = useCallback<\n NonNullable<ISheetItemCallbackProps['onUnAssignSheet']>\n >(\n sheet => {\n if (typeof onUnAssignSheet !== 'function')\n throw new Error('onUnAssignSheet must be a function');\n\n if (!userMilestoneId) throw new Error('userMilestoneId is required');\n\n onUnAssignSheet(sheet, userMilestoneId);\n },\n [onUnAssignSheet, userMilestoneId],\n );\n\n const handleOnReset = useCallback<NonNullable<ISheetItemCallbackProps['onReset']>>(\n sheetData => {\n onReset?.(sheetData, userMilestoneId);\n },\n [onReset, userMilestoneId],\n );\n\n const sheetsDataPresent = sheets && sheets.length > 0;\n\n if (isProcessingFailed) {\n return (\n <Styled.MilestoneResourcesWrapper\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\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.MilestoneResourcesWrapper>\n );\n }\n\n if (isProcessed) {\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"space-between\">\n {sheetsDataPresent ? (\n <>\n <ResourcesList\n sheets={sheets}\n userType={userType}\n userMilestoneId={userMilestoneId}\n isMilestoneWidget\n onStart={onStart}\n onResume={onResume}\n onReattempt={onReattempt}\n onUnAssignSheet={handleOnUnAssignResources}\n onReset={handleOnReset}\n onPreview={onPreview}\n onReview={onReview}\n />\n\n {isTeacher && canUpdatePlan && (\n <Styled.SearchButtonWrapper\n $flexDirection=\"row\"\n $justifyContent=\"flex-end\"\n $gapX={1}\n $gutterX={1}\n >\n <Styled.SearchButtonCover>\n <IconButton\n Icon={SearchIcon}\n renderAs=\"secondary\"\n size=\"small\"\n analyticsLabel=\"Milestone Resource Search\"\n onClick={handleOnAssignResources}\n disabled={!isMilestoneActive}\n />\n </Styled.SearchButtonCover>\n </Styled.SearchButtonWrapper>\n )}\n </>\n ) : (\n <FlexView\n $width=\"100%\"\n $height=\"100%\"\n $alignItems=\"center\"\n $justifyContent=\"flex-start\"\n $background=\"WHITE\"\n >\n <Styled.DefaultWrapper $isImageWrapper>\n <img src={IMAGES.BG_EMPTY_RESOURCES} alt=\"Empty resources\" width={420} height={420} />\n </Styled.DefaultWrapper>\n\n <Styled.DefaultWrapper>\n {isTeacher ? (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isEPSheetCreationDisabled}\n tooltipItem={\n isDraftMilestone ? 'Allowed after plan is published' : 'Plan is completed'\n }\n >\n <Button\n renderAs=\"primary\"\n label=\"Assign Resource\"\n Icon={PlusIcon}\n shape=\"square\"\n size=\"small\"\n onClick={handleOnAssignResources}\n disabled={isEPSheetCreationDisabled}\n />\n </ArrowTooltip>\n ) : (\n <Text $renderAs=\"ab2-bold\">Wait for the teacher to assign a resource</Text>\n )}\n </Styled.DefaultWrapper>\n </FlexView>\n )}\n </Styled.MilestoneResourcesWrapper>\n );\n }\n\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"center\" $background=\"WHITE\">\n <AppLoader height=\"100%\" />\n </Styled.MilestoneResourcesWrapper>\n );\n});\n\nexport default MilestoneWidgetResources;\n"],"names":["MilestoneWidgetResources","memo","props","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onAssignResources","onStart","onUnAssignSheet","onReset","onPreview","onReview","onResume","onReattempt","isTeacher","isEPSheetCreationDisabled","getMilestoneResources","isProcessed","isProcessing","isProcessingFailed","isStale","sheets","useGetMilestoneResources","fetchMilestoneResources","useCallback","handleOnTryAgain","useEffect","handleOnAssignResources","handleOnUnAssignResources","sheet","handleOnReset","sheetData","sheetsDataPresent","jsx","Styled.MilestoneResourcesWrapper","FlexView","Text","Button","jsxs","Fragment","ResourcesList","Styled.SearchButtonWrapper","Styled.SearchButtonCover","IconButton","SearchIcon","Styled.DefaultWrapper","IMAGES","ArrowTooltip","PlusIcon","AppLoader"],"mappings":"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"}
1
+ {"version":3,"file":"resources-list.js","sources":["../../../../../src/features/milestone/milestone-resources/resources-list/resources-list.tsx"],"sourcesContent":["import type { ISheetItemCallbackProps } from '../../../sheets/sheets-list/sheet-item/sheet-item-types';\nimport type { IMilestoneWidgetResourcesProps } from './resources-list-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect } from 'react';\n\nimport { IMAGES } from '../../../../assets/images/images';\nimport PlusIcon from '../../../../assets/line-icons/icons/plus';\nimport SearchIcon from '../../../../assets/line-icons/icons/search';\nimport ResourcesList from '../../../sheets/resources-list/resources-list';\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 FlexView from '../../../ui/layout/flex-view';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Text from '../../../ui/text/text';\nimport { useGetMilestoneResources } from '../../milestone-list-container/api/get-milestone-resources';\nimport * as Styled from './resources-list-styled';\n\nconst MilestoneWidgetResources: FC<IMilestoneWidgetResourcesProps> = memo(props => {\n const {\n isDraftMilestone,\n isMilestoneActive,\n userType,\n studentId,\n userMilestoneId,\n canUpdatePlan,\n onAssignResources,\n onStart,\n onUnAssignSheet,\n onReset,\n onPreview,\n onReview,\n onResume,\n onReattempt,\n } = props;\n\n const isTeacher = userType === 'TEACHER';\n const isEPSheetCreationDisabled =\n !canUpdatePlan || !isMilestoneActive || (isMilestoneActive && isDraftMilestone);\n\n const {\n get: getMilestoneResources,\n isProcessed,\n isProcessing,\n isProcessingFailed,\n isStale,\n data: sheets,\n } = useGetMilestoneResources();\n\n const fetchMilestoneResources = useCallback(() => {\n if (userMilestoneId) {\n getMilestoneResources(userMilestoneId, undefined, {\n studentId,\n });\n }\n }, [studentId, userMilestoneId, getMilestoneResources]);\n\n const handleOnTryAgain = useCallback(() => {\n fetchMilestoneResources();\n }, [fetchMilestoneResources]);\n\n useEffect(() => {\n if (!isProcessing && ((!isProcessed && !isProcessingFailed) || isStale)) {\n handleOnTryAgain();\n }\n }, [handleOnTryAgain, isProcessed, isProcessing, isProcessingFailed, isStale]);\n\n const handleOnAssignResources = useCallback(() => {\n if (typeof onAssignResources !== 'function')\n throw new Error('onAssignResources must be a function');\n\n if (!userMilestoneId) throw new Error('userMilestoneId is required');\n\n onAssignResources(userMilestoneId);\n }, [onAssignResources, userMilestoneId]);\n\n const handleOnUnAssignResources = useCallback<\n NonNullable<ISheetItemCallbackProps['onUnAssignSheet']>\n >(\n sheet => {\n if (typeof onUnAssignSheet !== 'function')\n throw new Error('onUnAssignSheet must be a function');\n\n if (!userMilestoneId) throw new Error('userMilestoneId is required');\n\n onUnAssignSheet(sheet, userMilestoneId);\n },\n [onUnAssignSheet, userMilestoneId],\n );\n\n const handleOnReset = useCallback<NonNullable<ISheetItemCallbackProps['onReset']>>(\n sheetData => {\n onReset?.(sheetData, userMilestoneId);\n },\n [onReset, userMilestoneId],\n );\n\n if (isProcessingFailed) {\n return (\n <Styled.MilestoneResourcesWrapper $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.MilestoneResourcesWrapper>\n );\n }\n\n if (isProcessed) {\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"space-between\">\n {sheets && sheets.length > 0 ? (\n <>\n <ResourcesList\n sheets={sheets}\n userType={userType}\n userMilestoneId={userMilestoneId}\n isMilestoneWidget\n onStart={onStart}\n onResume={onResume}\n onReattempt={onReattempt}\n onUnAssignSheet={handleOnUnAssignResources}\n onReset={handleOnReset}\n onPreview={onPreview}\n onReview={onReview}\n />\n\n {isTeacher && canUpdatePlan && (\n <Styled.SearchButtonWrapper\n $flexDirection=\"row\"\n $justifyContent=\"flex-end\"\n $gapX={1}\n $gutterX={1}\n >\n <Styled.SearchButtonCover>\n <IconButton\n Icon={SearchIcon}\n renderAs=\"secondary\"\n size=\"small\"\n analyticsLabel=\"Milestone Resource Search\"\n onClick={handleOnAssignResources}\n disabled={!isMilestoneActive}\n />\n </Styled.SearchButtonCover>\n </Styled.SearchButtonWrapper>\n )}\n </>\n ) : (\n <FlexView $width=\"100%\" $alignItems=\"center\" $justifyContent=\"flex-start\">\n <Styled.DefaultWrapper $isImageWrapper>\n <img src={IMAGES.BG_EMPTY_RESOURCES} alt=\"Empty resources\" width={420} height={420} />\n </Styled.DefaultWrapper>\n\n <Styled.DefaultWrapper>\n {isTeacher ? (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={!isEPSheetCreationDisabled}\n tooltipItem={\n isDraftMilestone ? 'Allowed after plan is published' : 'Plan is completed'\n }\n >\n <Button\n renderAs=\"primary\"\n label=\"Assign Resource\"\n Icon={PlusIcon}\n shape=\"square\"\n size=\"small\"\n onClick={handleOnAssignResources}\n disabled={isEPSheetCreationDisabled}\n />\n </ArrowTooltip>\n ) : (\n <Text $renderAs=\"ab2-bold\">Wait for the teacher to assign a resource</Text>\n )}\n </Styled.DefaultWrapper>\n </FlexView>\n )}\n </Styled.MilestoneResourcesWrapper>\n );\n }\n\n return (\n <Styled.MilestoneResourcesWrapper $justifyContent=\"center\">\n <AppLoader height=\"100%\" />\n </Styled.MilestoneResourcesWrapper>\n );\n});\n\nexport default MilestoneWidgetResources;\n"],"names":["MilestoneWidgetResources","memo","props","isDraftMilestone","isMilestoneActive","userType","studentId","userMilestoneId","canUpdatePlan","onAssignResources","onStart","onUnAssignSheet","onReset","onPreview","onReview","onResume","onReattempt","isTeacher","isEPSheetCreationDisabled","getMilestoneResources","isProcessed","isProcessing","isProcessingFailed","isStale","sheets","useGetMilestoneResources","fetchMilestoneResources","useCallback","handleOnTryAgain","useEffect","handleOnAssignResources","handleOnUnAssignResources","sheet","handleOnReset","sheetData","jsx","Styled.MilestoneResourcesWrapper","jsxs","FlexView","Text","Button","Fragment","ResourcesList","Styled.SearchButtonWrapper","Styled.SearchButtonCover","IconButton","SearchIcon","Styled.DefaultWrapper","IMAGES","ArrowTooltip","PlusIcon","AppLoader"],"mappings":"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"}