@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,79 +1,84 @@
1
- import { jsxs as m, jsx as r, Fragment as A } from "react/jsx-runtime";
2
- import { memo as T, useCallback as b } from "react";
1
+ import { jsxs as i, jsx as r, Fragment as T } from "react/jsx-runtime";
2
+ import { memo as b, useCallback as y } from "react";
3
3
  import { IMAGES as g } from "../../../assets/images/images.js";
4
- import k from "../../ui/arrow-tooltip/arrow-tooltip.js";
5
- import x from "../../ui/buttons/button/button.js";
4
+ import k from "../../../assets/line-icons/icons/plus2.js";
5
+ import x from "../../ui/arrow-tooltip/arrow-tooltip.js";
6
+ import E from "../../ui/buttons/button/button.js";
7
+ import I from "../../ui/buttons/icon-button/icon-button.js";
6
8
  import { useUIContext as $ } from "../../ui/context/context.js";
7
- import l from "../../ui/separator/separator.js";
8
- import y from "../../ui/text/text.js";
9
- import E from "./chapter-item/chapter-item.js";
10
- import { ChaptersListContainer as c, ChaptersWrapper as X } from "./chapters-list-styled.js";
11
- const I = T(
12
- ({ milestoneId: t, canUpdatePlan: d, chapters: o, ...h }) => {
13
- const { isGoalCreation: i, userType: a, onChapterClick: C, onAddChapter: e, isMilestoneActive: n } = h, { onClick: s } = $(), f = b(() => {
14
- s({
9
+ import d from "../../ui/separator/separator.js";
10
+ import L from "../../ui/text/text.js";
11
+ import X from "./chapter-item/chapter-item.js";
12
+ import { ChaptersListContainer as h, ChaptersWrapper as M, AddChapterIconWrapper as S } from "./chapters-list-styled.js";
13
+ const j = b(
14
+ ({ milestoneId: t, canUpdatePlan: n, chapters: a, ...C }) => {
15
+ const { isGoalCreation: s, userType: o, onChapterClick: f, onAddChapter: e, isMilestoneActive: p } = C, A = o === "TEACHER" && e && n, { onClick: c } = $(), m = y(() => {
16
+ c({
15
17
  label: "add_chapter_icon",
16
18
  props: {
17
19
  milestone_id: t
18
20
  }
19
- }), e == null || e({ milestoneId: t, isGoalCreation: i });
20
- }, [t, i, e, s]);
21
- return o.length ? /* @__PURE__ */ r(c, { children: /* @__PURE__ */ r(X, { children: o.map((p, u) => {
22
- const { id: _ } = p;
23
- return /* @__PURE__ */ r(
24
- E,
21
+ }), e == null || e({ milestoneId: t, isGoalCreation: s });
22
+ }, [t, s, e, c]);
23
+ return a.length ? /* @__PURE__ */ i(h, { children: [
24
+ /* @__PURE__ */ r(M, { children: a.map((l, u) => {
25
+ const { id: _ } = l;
26
+ return /* @__PURE__ */ r(
27
+ X,
28
+ {
29
+ milestoneId: t,
30
+ userType: o,
31
+ chapter: l,
32
+ onChapterClick: f,
33
+ itemIndex: u
34
+ },
35
+ _
36
+ );
37
+ }) }),
38
+ A && /* @__PURE__ */ r(S, { children: /* @__PURE__ */ r(
39
+ I,
25
40
  {
26
- milestoneId: t,
27
- userType: a,
28
- chapter: p,
29
- onChapterClick: C,
30
- itemIndex: u
31
- },
32
- _
33
- );
34
- }) }) }) : /* @__PURE__ */ m(
35
- c,
36
- {
37
- $gapX: 6.75,
38
- $alignItems: "center",
39
- $justifyContent: "center",
40
- $background: "WHITE",
41
- children: [
42
- /* @__PURE__ */ r("img", { src: g.EMPTY_MIX_TESTS, alt: "empty_mix_tests" }),
43
- /* @__PURE__ */ r(l, { heightX: 2 }),
44
- a === "TEACHER" ? /* @__PURE__ */ m(A, { children: [
45
- /* @__PURE__ */ r(
46
- k,
41
+ Icon: k,
42
+ renderAs: "secondary",
43
+ size: "small",
44
+ analyticsLabel: "add_chapter_icon",
45
+ onClick: m
46
+ }
47
+ ) })
48
+ ] }) : /* @__PURE__ */ i(h, { $gapX: 6.75, $alignItems: "center", $justifyContent: "center", children: [
49
+ /* @__PURE__ */ r("img", { src: g.EMPTY_MIX_TESTS, alt: "empty_mix_tests" }),
50
+ /* @__PURE__ */ r(d, { heightX: 2 }),
51
+ o === "TEACHER" ? /* @__PURE__ */ i(T, { children: [
52
+ /* @__PURE__ */ r(
53
+ x,
54
+ {
55
+ renderAs: "primary",
56
+ position: "bottom",
57
+ hidden: p,
58
+ tooltipItem: "Plan is completed",
59
+ children: /* @__PURE__ */ r(
60
+ E,
47
61
  {
62
+ widthX: 10,
48
63
  renderAs: "primary",
49
- position: "bottom",
50
- hidden: n,
51
- tooltipItem: "Plan is completed",
52
- children: /* @__PURE__ */ r(
53
- x,
54
- {
55
- widthX: 10,
56
- renderAs: "primary",
57
- shape: "square",
58
- size: "small",
59
- label: "Add chapter",
60
- onClick: f,
61
- disabled: !n || !d,
62
- analyticsProps: {
63
- milestone_id: t
64
- }
65
- }
66
- )
64
+ shape: "square",
65
+ size: "small",
66
+ label: "Add chapter",
67
+ onClick: m,
68
+ disabled: !p || !n,
69
+ analyticsProps: {
70
+ milestone_id: t
71
+ }
67
72
  }
68
- ),
69
- /* @__PURE__ */ r(l, { heightX: 2 })
70
- ] }) : /* @__PURE__ */ r(y, { $renderAs: "ab2-bold", $color: "BLACK_T_87", children: "Wait for the teacher to add a chapter" })
71
- ]
72
- }
73
- );
73
+ )
74
+ }
75
+ ),
76
+ /* @__PURE__ */ r(d, { heightX: 2 })
77
+ ] }) : /* @__PURE__ */ r(L, { $renderAs: "ab2-bold", $color: "BLACK_T_87", children: "Wait for the teacher to add a chapter" })
78
+ ] });
74
79
  }
75
- ), O = I;
80
+ ), K = j;
76
81
  export {
77
- O as default
82
+ K as default
78
83
  };
79
84
  //# sourceMappingURL=chapters-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chapters-list.js","sources":["../../../../src/features/chapters/chapters-list/chapters-list.tsx"],"sourcesContent":["import type { IChaptersListProps } from './chapters-list-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport { IMAGES } from '../../../assets/images/images';\nimport ArrowTooltip from '../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../ui/buttons/button/button';\nimport { useUIContext } from '../../ui/context/context';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport ChapterItem from './chapter-item/chapter-item';\nimport * as Styled from './chapters-list-styled';\n\nconst ChaptersList: FC<IChaptersListProps> = memo(\n ({ milestoneId, canUpdatePlan, chapters, ...restChaptersList }) => {\n const { isGoalCreation, userType, onChapterClick, onAddChapter, isMilestoneActive } =\n restChaptersList;\n\n const { onClick: trackOnClick } = useUIContext();\n\n const handleOnAddChapter = useCallback(() => {\n trackOnClick({\n label: 'add_chapter_icon',\n props: {\n milestone_id: milestoneId,\n },\n });\n onAddChapter?.({ milestoneId, isGoalCreation });\n }, [milestoneId, isGoalCreation, onAddChapter, trackOnClick]);\n\n if (!chapters.length) {\n return (\n <Styled.ChaptersListContainer\n $gapX={6.75}\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $background=\"WHITE\"\n >\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={isMilestoneActive}\n tooltipItem=\"Plan is completed\"\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Add chapter\"\n onClick={handleOnAddChapter}\n disabled={!isMilestoneActive || !canUpdatePlan}\n analyticsProps={{\n milestone_id: milestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to add a chapter\n </Text>\n )}\n </Styled.ChaptersListContainer>\n );\n }\n\n return (\n <Styled.ChaptersListContainer>\n <Styled.ChaptersWrapper>\n {chapters.map((chapter, idx) => {\n const { id } = chapter;\n\n return (\n <ChapterItem\n key={id}\n milestoneId={milestoneId}\n userType={userType}\n chapter={chapter}\n onChapterClick={onChapterClick}\n itemIndex={idx}\n />\n );\n })}\n </Styled.ChaptersWrapper>\n </Styled.ChaptersListContainer>\n );\n },\n);\n\nexport default ChaptersList;\n"],"names":["ChaptersList","memo","milestoneId","canUpdatePlan","chapters","restChaptersList","isGoalCreation","userType","onChapterClick","onAddChapter","isMilestoneActive","trackOnClick","useUIContext","handleOnAddChapter","useCallback","jsx","Styled.ChaptersListContainer","Styled.ChaptersWrapper","chapter","idx","id","ChapterItem","jsxs","IMAGES","Separator","Fragment","ArrowTooltip","Button","Text","ChaptersList$1"],"mappings":";;;;;;;;;;AAcA,MAAMA,IAAuCC;AAAA,EAC3C,CAAC,EAAE,aAAAC,GAAa,eAAAC,GAAe,UAAAC,GAAU,GAAGC,QAAuB;AACjE,UAAM,EAAE,gBAAAC,GAAgB,UAAAC,GAAU,gBAAAC,GAAgB,cAAAC,GAAc,mBAAAC,EAC9D,IAAAL,GAEI,EAAE,SAASM,EAAa,IAAIC,EAAa,GAEzCC,IAAqBC,EAAY,MAAM;AAC9B,MAAAH,EAAA;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,UACL,cAAcT;AAAA,QAChB;AAAA,MAAA,CACD,GACcO,KAAA,QAAAA,EAAA,EAAE,aAAAP,GAAa,gBAAAI,EAAA;AAAA,OAC7B,CAACJ,GAAaI,GAAgBG,GAAcE,CAAY,CAAC;AAExD,WAACP,EAAS,SA2CX,gBAAAW,EAAAC,GAAA,EACC,UAAC,gBAAAD,EAAAE,GAAA,EACE,UAASb,EAAA,IAAI,CAACc,GAASC,MAAQ;AACxB,YAAA,EAAE,IAAAC,EAAO,IAAAF;AAGb,aAAA,gBAAAH;AAAA,QAACM;AAAA,QAAA;AAAA,UAEC,aAAAnB;AAAA,UACA,UAAAK;AAAA,UACA,SAAAW;AAAA,UACA,gBAAAV;AAAA,UACA,WAAWW;AAAA,QAAA;AAAA,QALNC;AAAA,MAAA;AAAA,IAMP,CAEH,GACH,EACF,CAAA,IA1DE,gBAAAE;AAAA,MAACN;AAAAA,MAAA;AAAA,QACC,OAAO;AAAA,QACP,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAA,gBAAAD,EAAC,OAAI,EAAA,KAAKQ,EAAO,iBAAiB,KAAI,mBAAkB;AAAA,UACxD,gBAAAR,EAACS,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,UACtBjB,MAAa,YAEV,gBAAAe,EAAAG,GAAA,EAAA,UAAA;AAAA,YAAA,gBAAAV;AAAA,cAACW;AAAA,cAAA;AAAA,gBACC,UAAS;AAAA,gBACT,UAAS;AAAA,gBACT,QAAQhB;AAAA,gBACR,aAAY;AAAA,gBAEZ,UAAA,gBAAAK;AAAA,kBAACY;AAAA,kBAAA;AAAA,oBACC,QAAQ;AAAA,oBACR,UAAS;AAAA,oBACT,OAAM;AAAA,oBACN,MAAK;AAAA,oBACL,OAAM;AAAA,oBACN,SAASd;AAAA,oBACT,UAAU,CAACH,KAAqB,CAACP;AAAA,oBACjC,gBAAgB;AAAA,sBACd,cAAcD;AAAA,oBAChB;AAAA,kBAAA;AAAA,gBACF;AAAA,cAAA;AAAA,YACF;AAAA,YACA,gBAAAa,EAACS,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,UAAA,EAAA,CACzB,IAEC,gBAAAT,EAAAa,GAAA,EAAK,WAAU,YAAW,QAAO,cAAa,UAE/C,yCAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EA0BV;AACF,GAEAC,IAAe7B;"}
1
+ {"version":3,"file":"chapters-list.js","sources":["../../../../src/features/chapters/chapters-list/chapters-list.tsx"],"sourcesContent":["import type { IChaptersListProps } from './chapters-list-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback } from 'react';\n\nimport { IMAGES } from '../../../assets/images/images';\nimport Plus2Icon from '../../../assets/line-icons/icons/plus2';\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 Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport ChapterItem from './chapter-item/chapter-item';\nimport * as Styled from './chapters-list-styled';\n\nconst ChaptersList: FC<IChaptersListProps> = memo(\n ({ milestoneId, canUpdatePlan, chapters, ...restChaptersList }) => {\n const { isGoalCreation, userType, onChapterClick, onAddChapter, isMilestoneActive } =\n restChaptersList;\n\n const canAddChapter = userType === 'TEACHER' && onAddChapter && canUpdatePlan;\n const { onClick: trackOnClick } = useUIContext();\n\n const handleOnAddChapter = useCallback(() => {\n trackOnClick({\n label: 'add_chapter_icon',\n props: {\n milestone_id: milestoneId,\n },\n });\n onAddChapter?.({ milestoneId, isGoalCreation });\n }, [milestoneId, isGoalCreation, onAddChapter, trackOnClick]);\n\n if (!chapters.length) {\n return (\n <Styled.ChaptersListContainer $gapX={6.75} $alignItems=\"center\" $justifyContent=\"center\">\n <img src={IMAGES.EMPTY_MIX_TESTS} alt=\"empty_mix_tests\" />\n <Separator heightX={2} />\n {userType === 'TEACHER' ? (\n <>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n hidden={isMilestoneActive}\n tooltipItem=\"Plan is completed\"\n >\n <Button\n widthX={10}\n renderAs=\"primary\"\n shape=\"square\"\n size=\"small\"\n label=\"Add chapter\"\n onClick={handleOnAddChapter}\n disabled={!isMilestoneActive || !canUpdatePlan}\n analyticsProps={{\n milestone_id: milestoneId,\n }}\n />\n </ArrowTooltip>\n <Separator heightX={2} />\n </>\n ) : (\n <Text $renderAs=\"ab2-bold\" $color=\"BLACK_T_87\">\n Wait for the teacher to add a chapter\n </Text>\n )}\n </Styled.ChaptersListContainer>\n );\n }\n\n return (\n <Styled.ChaptersListContainer>\n <Styled.ChaptersWrapper>\n {chapters.map((chapter, idx) => {\n const { id } = chapter;\n\n return (\n <ChapterItem\n key={id}\n milestoneId={milestoneId}\n userType={userType}\n chapter={chapter}\n onChapterClick={onChapterClick}\n itemIndex={idx}\n />\n );\n })}\n </Styled.ChaptersWrapper>\n {canAddChapter && (\n <Styled.AddChapterIconWrapper>\n <IconButton\n Icon={Plus2Icon}\n renderAs=\"secondary\"\n size=\"small\"\n analyticsLabel=\"add_chapter_icon\"\n onClick={handleOnAddChapter}\n />\n </Styled.AddChapterIconWrapper>\n )}\n </Styled.ChaptersListContainer>\n );\n },\n);\n\nexport default ChaptersList;\n"],"names":["ChaptersList","memo","milestoneId","canUpdatePlan","chapters","restChaptersList","isGoalCreation","userType","onChapterClick","onAddChapter","isMilestoneActive","canAddChapter","trackOnClick","useUIContext","handleOnAddChapter","useCallback","jsxs","Styled.ChaptersListContainer","jsx","Styled.ChaptersWrapper","chapter","idx","id","ChapterItem","Styled.AddChapterIconWrapper","IconButton","Plus2Icon","IMAGES","Separator","Fragment","ArrowTooltip","Button","Text","ChaptersList$1"],"mappings":";;;;;;;;;;;;AAgBA,MAAMA,IAAuCC;AAAA,EAC3C,CAAC,EAAE,aAAAC,GAAa,eAAAC,GAAe,UAAAC,GAAU,GAAGC,QAAuB;AACjE,UAAM,EAAE,gBAAAC,GAAgB,UAAAC,GAAU,gBAAAC,GAAgB,cAAAC,GAAc,mBAAAC,EAC9D,IAAAL,GAEIM,IAAgBJ,MAAa,aAAaE,KAAgBN,GAC1D,EAAE,SAASS,EAAa,IAAIC,EAAa,GAEzCC,IAAqBC,EAAY,MAAM;AAC9B,MAAAH,EAAA;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,UACL,cAAcV;AAAA,QAChB;AAAA,MAAA,CACD,GACcO,KAAA,QAAAA,EAAA,EAAE,aAAAP,GAAa,gBAAAI,EAAA;AAAA,OAC7B,CAACJ,GAAaI,GAAgBG,GAAcG,CAAY,CAAC;AAExD,WAACR,EAAS,SAsCZ,gBAAAY,EAACC,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAA,EACE,YAAS,IAAI,CAACC,GAASC,MAAQ;AACxB,cAAA,EAAE,IAAAC,EAAO,IAAAF;AAGb,eAAA,gBAAAF;AAAA,UAACK;AAAA,UAAA;AAAA,YAEC,aAAArB;AAAA,YACA,UAAAK;AAAA,YACA,SAAAa;AAAA,YACA,gBAAAZ;AAAA,YACA,WAAWa;AAAA,UAAA;AAAA,UALNC;AAAA,QAAA;AAAA,MAQV,CAAA,GACH;AAAA,MACCX,KACC,gBAAAO,EAACM,GAAA,EACC,UAAA,gBAAAN;AAAA,QAACO;AAAA,QAAA;AAAA,UACC,MAAMC;AAAA,UACN,UAAS;AAAA,UACT,MAAK;AAAA,UACL,gBAAe;AAAA,UACf,SAASZ;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,IAEJ,EAAA,CAAA,IAhEE,gBAAAE,EAACC,GAAA,EAA6B,OAAO,MAAM,aAAY,UAAS,iBAAgB,UAC9E,UAAA;AAAA,MAAA,gBAAAC,EAAC,OAAI,EAAA,KAAKS,EAAO,iBAAiB,KAAI,mBAAkB;AAAA,MACxD,gBAAAT,EAACU,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,MACtBrB,MAAa,YAEV,gBAAAS,EAAAa,GAAA,EAAA,UAAA;AAAA,QAAA,gBAAAX;AAAA,UAACY;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,UAAS;AAAA,YACT,QAAQpB;AAAA,YACR,aAAY;AAAA,YAEZ,UAAA,gBAAAQ;AAAA,cAACa;AAAA,cAAA;AAAA,gBACC,QAAQ;AAAA,gBACR,UAAS;AAAA,gBACT,OAAM;AAAA,gBACN,MAAK;AAAA,gBACL,OAAM;AAAA,gBACN,SAASjB;AAAA,gBACT,UAAU,CAACJ,KAAqB,CAACP;AAAA,gBACjC,gBAAgB;AAAA,kBACd,cAAcD;AAAA,gBAChB;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QACF;AAAA,QACA,gBAAAgB,EAACU,GAAU,EAAA,SAAS,EAAG,CAAA;AAAA,MAAA,EAAA,CACzB,IAEC,gBAAAV,EAAAc,GAAA,EAAK,WAAU,YAAW,QAAO,cAAa,UAE/C,yCAAA;AAAA,IAEJ,EAAA,CAAA;AAAA,EAmCN;AACF,GAEAC,IAAejC;"}
@@ -1,17 +1,9 @@
1
1
  import r from "styled-components";
2
- import o from "../../../../ui/layout/flex-view.js";
3
- const x = r(o)(({ theme: t }) => `
4
- box-shadow: 0px 10px 20px 0px ${t.colors.BLACK_T_20};
5
- `), n = r(o)(() => `
6
- margin-left: auto;
7
-
8
- svg {
9
- width: 24px;
10
- height: 24px;
11
- }
2
+ import p from "../../../../ui/layout/flex-view.js";
3
+ const e = r(p)(({ theme: o }) => `
4
+ box-shadow: 0px 10px 20px 0px ${o.colors.BLACK_T_20};
12
5
  `);
13
6
  export {
14
- n as BinIconWrapper,
15
- x as ButtonWrapper
7
+ e as ButtonWrapper
16
8
  };
17
9
  //# sourceMappingURL=chapters-selection-step-styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chapters-selection-step-styled.js","sources":["../../../../../../src/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nconst ButtonWrapper = styled(FlexView)(({ theme }) => {\n return `\n box-shadow: 0px 10px 20px 0px ${theme.colors.BLACK_T_20};\n `;\n});\n\nconst BinIconWrapper = styled(FlexView)(() => {\n return `\n margin-left: auto;\n \n svg {\n width: 24px;\n height: 24px;\n }\n `;\n});\n\nexport { ButtonWrapper, BinIconWrapper };\n"],"names":["ButtonWrapper","styled","FlexView","theme","BinIconWrapper"],"mappings":";;AAIA,MAAMA,IAAgBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QACjC;AAAA,oCAC2BA,EAAM,OAAO,UAAU;AAAA,GAE1D,GAEKC,IAAiBH,EAAOC,CAAQ,EAAE,MAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQR;"}
1
+ {"version":3,"file":"chapters-selection-step-styled.js","sources":["../../../../../../src/features/milestone/create/comps/chapters-selection-step/chapters-selection-step-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nconst ButtonWrapper = styled(FlexView)(({ theme }) => {\n return `\n box-shadow: 0px 10px 20px 0px ${theme.colors.BLACK_T_20};\n `;\n});\n\nexport { ButtonWrapper };\n"],"names":["ButtonWrapper","styled","FlexView","theme"],"mappings":";;AAIA,MAAMA,IAAgBC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QACjC;AAAA,oCAC2BA,EAAM,OAAO,UAAU;AAAA,GAE1D;"}
@@ -1,84 +1,81 @@
1
- import { jsx as t, jsxs as $ } from "react/jsx-runtime";
2
- import { memo as q, useContext as V, useMemo as J, useCallback as u } from "react";
3
- import K from "../../../../../assets/line-icons/icons/bin2.js";
4
- import Q from "../../../../../assets/line-icons/icons/plus.js";
5
- import f from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
6
- import Y from "../../../../ui/buttons/button/button.js";
7
- import k from "../../../../ui/buttons/icon-button/icon-button.js";
8
- import { useUIContext as Z } from "../../../../ui/context/context.js";
9
- import P from "../../../../ui/layout/flex-view.js";
10
- import ee from "../../../../ui/text/text.js";
11
- import { WARNING_MESSAGES as te } from "../../../constants.js";
12
- import { GOAL_EDIT_FLOWS as oe } from "../../milestone-create-constants.js";
13
- import re from "../../milestone-create-context.js";
14
- import ne from "../body-layout/body-layout.js";
15
- import se from "../class-details-step/class-details-step.js";
16
- import ae from "./chapter-selection-step-v2/chapter-selection.js";
17
- import { BinIconWrapper as de, ButtonWrapper as R } from "./chapters-selection-step-styled.js";
18
- import { useChapterListUpdate as ie } from "./use-chapter-list-update.js";
19
- import { computeChangeDetection as le } from "./utils.js";
20
- const $e = q((G) => {
1
+ import { jsx as t, jsxs as w } from "react/jsx-runtime";
2
+ import { memo as H, useContext as W, useMemo as U, useCallback as u } from "react";
3
+ import q from "../../../../../assets/line-icons/icons/plus.js";
4
+ import P from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
5
+ import y from "../../../../ui/buttons/button/button.js";
6
+ import V from "../../../../ui/buttons/icon-button/icon-button.js";
7
+ import { useUIContext as J } from "../../../../ui/context/context.js";
8
+ import $ from "../../../../ui/layout/flex-view.js";
9
+ import K from "../../../../ui/text/text.js";
10
+ import { WARNING_MESSAGES as Q } from "../../../constants.js";
11
+ import { GOAL_EDIT_FLOWS as Y } from "../../milestone-create-constants.js";
12
+ import Z from "../../milestone-create-context.js";
13
+ import ee from "../body-layout/body-layout.js";
14
+ import te from "../class-details-step/class-details-step.js";
15
+ import oe from "./chapter-selection-step-v2/chapter-selection.js";
16
+ import { ButtonWrapper as k } from "./chapters-selection-step-styled.js";
17
+ import { useChapterListUpdate as re } from "./use-chapter-list-update.js";
18
+ import { computeChangeDetection as ne } from "./utils.js";
19
+ const xe = H((N) => {
21
20
  const {
22
- currentStep: g,
23
- onFormDataChange: s,
24
- onChapterExitWarning: d,
25
- formData: l,
26
- studentName: A,
27
- studentId: I,
21
+ currentStep: f,
22
+ onFormDataChange: n,
23
+ onChapterExitWarning: a,
24
+ formData: c,
25
+ studentName: g,
26
+ studentId: A,
28
27
  config: m,
29
- isGoalCreation: a,
30
- onPreSubmit: c,
28
+ isGoalCreation: d,
29
+ onPreSubmit: l,
31
30
  courseStream: _,
32
- classRatio: b,
33
- enrollmentType: C,
34
- canDeleteGoal: N,
35
- onDeleteGoal: L
36
- } = G, { flow: o } = V(re), { onEvent: D } = Z(), {
31
+ classRatio: C,
32
+ enrollmentType: S
33
+ } = N, { flow: s } = W(Z), { onEvent: b } = J(), {
37
34
  action_plan: {
38
- green: { share_message_template: S }
35
+ green: { share_message_template: I }
39
36
  }
40
- } = m, { buttonLabel: X, name: E, title: z } = g, F = {
41
- step: E
42
- }, { testType: O, primaryChaptersList: e, board: x, major: T, region: w, chapterGoalCategory: j } = l, { primaryGoalCategory: r } = j || {}, y = N && (o === "DRAFT_EDIT" || o === "EDIT"), { isProcessing: p, isProcessed: M } = ie({
43
- formData: l,
44
- onFormDataChange: s,
45
- studentId: I
46
- }), B = J(() => e ? e.some((n) => n.added) : !1, [e]), W = u(() => {
47
- const n = e == null ? void 0 : e.filter((i) => !!i.added), h = (e == null ? void 0 : e.filter(
48
- (i) => i.program_id !== (r == null ? void 0 : r.program_code) && i.added
49
- ).length) ?? 0, U = (e == null ? void 0 : e.filter((i) => i.program_id === (r == null ? void 0 : r.program_id)).length) ?? 0;
50
- D("CHAPTER_DETAILS_ADDED", {
51
- total_chapter_added: (n == null ? void 0 : n.length) ?? 0,
37
+ } = m, { buttonLabel: R, name: x, title: G } = f, L = {
38
+ step: x
39
+ }, { testType: O, primaryChaptersList: e, board: E, major: D, region: T, chapterGoalCategory: X } = c, { primaryGoalCategory: o } = X || {}, { isProcessing: p, isProcessed: j } = re({
40
+ formData: c,
41
+ onFormDataChange: n,
42
+ studentId: A
43
+ }), B = U(() => e ? e.some((r) => r.added) : !1, [e]), M = u(() => {
44
+ const r = e == null ? void 0 : e.filter((i) => !!i.added), h = (e == null ? void 0 : e.filter(
45
+ (i) => i.program_id !== (o == null ? void 0 : o.program_code) && i.added
46
+ ).length) ?? 0, F = (e == null ? void 0 : e.filter((i) => i.program_id === (o == null ? void 0 : o.program_id)).length) ?? 0;
47
+ b("CHAPTER_DETAILS_ADDED", {
48
+ total_chapter_added: (r == null ? void 0 : r.length) ?? 0,
52
49
  searched_chapter_added: h,
53
- suggested_chapter_added: U
54
- }), a ? s({
50
+ suggested_chapter_added: F
51
+ }), d ? n({
55
52
  primaryChaptersList: e,
56
- selectedChaptersList: n,
53
+ selectedChaptersList: r,
57
54
  searchedChaptersList: [],
58
55
  chapterSubStages: "date-selection",
59
56
  committed: {
60
57
  selectedChaptersList: !0,
61
58
  chapterSubStages: !0,
62
59
  grade: !0,
63
- board: !!x,
64
- major: !!T,
65
- region: !!w
60
+ board: !!E,
61
+ major: !!D,
62
+ region: !!T
66
63
  }
67
- }) : o && (c == null || c({ isDraftPlan: !1, flow: o, submitBaseMessage: S }));
64
+ }) : s && (l == null || l({ isDraftPlan: !1, flow: s, submitBaseMessage: I }));
68
65
  }, [
69
66
  e,
70
- x,
71
- T,
72
- w,
67
+ E,
73
68
  D,
69
+ T,
70
+ b,
71
+ n,
72
+ l,
74
73
  s,
75
- c,
76
- o,
77
- a,
78
- S,
79
- r
74
+ d,
75
+ I,
76
+ o
80
77
  ]), v = u(() => {
81
- s({
78
+ n({
82
79
  chapterSubStages: "custom-chapters",
83
80
  selectedChaptersList: void 0,
84
81
  committed: {
@@ -86,92 +83,72 @@ const $e = q((G) => {
86
83
  selectedChaptersList: !1
87
84
  }
88
85
  });
89
- }, [s]), H = u(
90
- (n) => {
91
- if (!o) return null;
92
- const h = le(e, r);
93
- oe.includes(o) || !(e != null && e.length) || !h ? n() : d == null || d({
94
- onSuccess: n,
95
- description: te.CHAPTER_EXIT_WARNING
86
+ }, [n]), z = u(
87
+ (r) => {
88
+ if (!s) return null;
89
+ const h = ne(e, o);
90
+ Y.includes(s) || !(e != null && e.length) || !h ? r() : a == null || a({
91
+ onSuccess: r,
92
+ description: Q.CHAPTER_EXIT_WARNING
96
93
  });
97
94
  },
98
- [d, o, e, r]
95
+ [a, s, e, o]
99
96
  );
100
97
  return /* @__PURE__ */ t(
101
- ne,
98
+ ee,
102
99
  {
103
- stepName: E,
104
- headerElement: /* @__PURE__ */ $(P, { $flexDirection: "row", $alignItems: "center", $flexGapX: 1, $width: "100%", children: [
105
- /* @__PURE__ */ t(ee, { $renderAs: "ab2", children: a ? z : "Chapters" }),
106
- a && o === "CREATE" && /* @__PURE__ */ t(
107
- se,
100
+ stepName: x,
101
+ headerElement: /* @__PURE__ */ w($, { $flexDirection: "row", $alignItems: "center", $flexGapX: 1, children: [
102
+ /* @__PURE__ */ t(K, { $renderAs: "ab2", children: d ? G : "Chapters" }),
103
+ d && s === "CREATE" && /* @__PURE__ */ t(
104
+ te,
108
105
  {
109
- studentName: A,
110
- studentId: I,
111
- currentStep: g,
106
+ studentName: g,
107
+ studentId: A,
108
+ currentStep: f,
112
109
  config: m,
113
- formData: l,
110
+ formData: c,
114
111
  courseStream: _,
115
- classRatio: b,
116
- onFormDataChange: s,
117
- onChapterExitWarning: d,
118
- enrollmentType: C
112
+ classRatio: C,
113
+ onFormDataChange: n,
114
+ onChapterExitWarning: a,
115
+ enrollmentType: S
119
116
  }
120
- ),
121
- a && y && /* @__PURE__ */ t(de, { children: /* @__PURE__ */ t(
122
- f,
123
- {
124
- renderAs: "primary",
125
- position: "bottom",
126
- tooltipItem: "Delete goal",
127
- zIndex: 10,
128
- widthX: 6,
129
- children: /* @__PURE__ */ t(
130
- k,
131
- {
132
- size: "xsmall",
133
- renderAs: "tertiary",
134
- Icon: K,
135
- analyticsLabel: "delete_goal_plan",
136
- onClick: L
137
- }
138
- )
139
- }
140
- ) })
117
+ )
141
118
  ] }),
142
119
  bodyHeight: "100%",
143
- onBackButtonClick: H,
120
+ onBackButtonClick: z,
144
121
  bodyElement: /* @__PURE__ */ t(
145
- ae,
122
+ oe,
146
123
  {
147
124
  config: m,
148
- classRatio: b,
149
- isGoalCreation: a,
150
- formData: l,
151
- studentName: A,
152
- isProcessed: M,
125
+ classRatio: C,
126
+ isGoalCreation: d,
127
+ formData: c,
128
+ studentName: g,
129
+ isProcessed: j,
153
130
  isProcessing: p,
154
131
  courseStream: _,
155
- onFormDataChange: s,
156
- onChapterExitWarning: d,
157
- enrollmentType: C
132
+ onFormDataChange: n,
133
+ onChapterExitWarning: a,
134
+ enrollmentType: S
158
135
  }
159
136
  ),
160
- footerElement: /* @__PURE__ */ $(P, { $flexDirection: "row", $flexGap: 12, $alignItems: "center", children: [
161
- (!a || O === "no-test") && /* @__PURE__ */ t(
162
- f,
137
+ footerElement: /* @__PURE__ */ w($, { $flexDirection: "row", $flexGap: 12, $alignItems: "center", children: [
138
+ (!d || O === "no-test") && /* @__PURE__ */ t(
139
+ P,
163
140
  {
164
141
  renderAs: "primary",
165
142
  position: "top",
166
143
  widthX: 6.5,
167
144
  zIndex: 20,
168
145
  tooltipItem: "Add a chapter",
169
- children: /* @__PURE__ */ t(R, { $borderRadius: 50, children: /* @__PURE__ */ t(
170
- k,
146
+ children: /* @__PURE__ */ t(k, { $borderRadius: 50, children: /* @__PURE__ */ t(
147
+ V,
171
148
  {
172
149
  renderAs: "secondary",
173
150
  analyticsLabel: "Add custom chapters",
174
- Icon: Q,
151
+ Icon: q,
175
152
  disabled: p,
176
153
  onClick: v
177
154
  }
@@ -179,7 +156,7 @@ const $e = q((G) => {
179
156
  }
180
157
  ),
181
158
  /* @__PURE__ */ t(
182
- f,
159
+ P,
183
160
  {
184
161
  renderAs: "primary",
185
162
  position: "top",
@@ -187,19 +164,19 @@ const $e = q((G) => {
187
164
  zIndex: 20,
188
165
  tooltipItem: "Please select atleast one chapter",
189
166
  hidden: B,
190
- children: /* @__PURE__ */ t(R, { children: /* @__PURE__ */ t(
191
- Y,
167
+ children: /* @__PURE__ */ t(k, { children: /* @__PURE__ */ t(
168
+ y,
192
169
  {
193
170
  renderAs: "primary",
194
171
  size: "small",
195
172
  shape: "square",
196
173
  widthX: 9,
197
- label: X,
198
- onClick: W,
174
+ label: R,
175
+ onClick: M,
199
176
  iconPosition: "right",
200
177
  busy: p,
201
178
  disabled: !B,
202
- analyticsProps: F
179
+ analyticsProps: L
203
180
  }
204
181
  ) })
205
182
  }
@@ -209,6 +186,6 @@ const $e = q((G) => {
209
186
  );
210
187
  });
211
188
  export {
212
- $e as default
189
+ xe as default
213
190
  };
214
191
  //# sourceMappingURL=chapters-selection-step.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chapters-selection-step.js","sources":["../../../../../../src/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.tsx"],"sourcesContent":["import type { IFormStepProps } from '../../milestone-create-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useContext, useMemo } from 'react';\n\nimport Bin2Icon from '../../../../../assets/line-icons/icons/bin2';\nimport PlusIcon from '../../../../../assets/line-icons/icons/plus';\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 { WARNING_MESSAGES } from '../../../constants';\nimport { GOAL_EDIT_FLOWS } from '../../milestone-create-constants';\nimport MilestoneCreateContext from '../../milestone-create-context';\nimport BodyLayout from '../body-layout/body-layout';\nimport ClassDetailsStep from '../class-details-step/class-details-step';\nimport ChapterSelection from './chapter-selection-step-v2/chapter-selection';\nimport * as Styled from './chapters-selection-step-styled';\nimport { useChapterListUpdate } from './use-chapter-list-update';\nimport { computeChangeDetection } from './utils';\n\nconst ChaptersSelectionStep: FC<IFormStepProps> = memo(props => {\n const {\n currentStep,\n onFormDataChange,\n onChapterExitWarning,\n formData,\n studentName,\n studentId,\n config,\n isGoalCreation,\n onPreSubmit,\n courseStream,\n classRatio,\n enrollmentType,\n canDeleteGoal,\n onDeleteGoal,\n } = props;\n const { flow } = useContext(MilestoneCreateContext);\n const { onEvent: trackEvent } = useUIContext();\n\n const {\n action_plan: {\n green: { share_message_template: submitBaseMessage },\n },\n } = config;\n const { buttonLabel, name, title } = currentStep;\n const analyticsProps = {\n step: name,\n };\n const { testType, primaryChaptersList, board, major, region, chapterGoalCategory } = formData;\n\n const { primaryGoalCategory } = chapterGoalCategory || {};\n\n const goalEditFlow = canDeleteGoal && (flow === 'DRAFT_EDIT' || flow === 'EDIT');\n\n //* Hook that handles making api call for cue_chapters updating primaryChapterList.\n const { isProcessing, isProcessed } = useChapterListUpdate({\n formData,\n onFormDataChange,\n studentId,\n });\n\n const isAtleastOneChapterAdded = useMemo(() => {\n if (primaryChaptersList) {\n return primaryChaptersList.some(chapter => chapter.added);\n }\n\n return false;\n }, [primaryChaptersList]);\n\n const handleNext = useCallback(() => {\n const selectedChaptersList = primaryChaptersList?.filter(chapter => {\n return Boolean(chapter.added);\n });\n\n const searchedAndAddedChapterLength =\n primaryChaptersList?.filter(\n chapter => chapter.program_id !== primaryGoalCategory?.program_code && chapter.added,\n ).length ?? 0;\n\n const suggestedChaptersLength =\n primaryChaptersList?.filter(chapter => chapter.program_id === primaryGoalCategory?.program_id)\n .length ?? 0;\n\n trackEvent('CHAPTER_DETAILS_ADDED', {\n total_chapter_added: selectedChaptersList?.length ?? 0,\n searched_chapter_added: searchedAndAddedChapterLength,\n suggested_chapter_added: suggestedChaptersLength,\n });\n\n if (isGoalCreation) {\n onFormDataChange({\n primaryChaptersList: primaryChaptersList,\n selectedChaptersList: selectedChaptersList,\n searchedChaptersList: [],\n chapterSubStages: 'date-selection',\n committed: {\n selectedChaptersList: true,\n chapterSubStages: true,\n grade: true,\n board: !!board,\n major: !!major,\n region: !!region,\n },\n });\n } else if (flow) {\n onPreSubmit?.({ isDraftPlan: false, flow, submitBaseMessage });\n }\n }, [\n primaryChaptersList,\n board,\n major,\n region,\n trackEvent,\n onFormDataChange,\n onPreSubmit,\n flow,\n isGoalCreation,\n submitBaseMessage,\n primaryGoalCategory,\n ]);\n\n const handleOnAddCustomChapter = useCallback(() => {\n onFormDataChange({\n chapterSubStages: 'custom-chapters',\n selectedChaptersList: undefined,\n committed: {\n chapterSubStages: true,\n selectedChaptersList: false,\n },\n });\n }, [onFormDataChange]);\n\n const handleOnBackButtonClick = useCallback(\n (handleBack: () => void) => {\n if (!flow) return null;\n\n const isChangeDetected = computeChangeDetection(primaryChaptersList, primaryGoalCategory);\n\n if (GOAL_EDIT_FLOWS.includes(flow) || !primaryChaptersList?.length || !isChangeDetected) {\n handleBack();\n } else {\n onChapterExitWarning?.({\n onSuccess: handleBack,\n description: WARNING_MESSAGES.CHAPTER_EXIT_WARNING,\n });\n }\n },\n [onChapterExitWarning, flow, primaryChaptersList, primaryGoalCategory],\n );\n\n return (\n <BodyLayout\n stepName={name}\n headerElement={\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={1} $width=\"100%\">\n <Text $renderAs=\"ab2\">{isGoalCreation ? title : 'Chapters'}</Text>\n\n {isGoalCreation && flow === 'CREATE' && (\n <ClassDetailsStep\n studentName={studentName}\n studentId={studentId}\n currentStep={currentStep}\n config={config}\n formData={formData}\n courseStream={courseStream}\n classRatio={classRatio}\n onFormDataChange={onFormDataChange}\n onChapterExitWarning={onChapterExitWarning}\n enrollmentType={enrollmentType}\n />\n )}\n\n {isGoalCreation && goalEditFlow && (\n <Styled.BinIconWrapper>\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"bottom\"\n tooltipItem=\"Delete goal\"\n zIndex={10}\n widthX={6}\n >\n <IconButton\n size=\"xsmall\"\n renderAs=\"tertiary\"\n Icon={Bin2Icon}\n analyticsLabel=\"delete_goal_plan\"\n onClick={onDeleteGoal}\n />\n </ArrowTooltip>\n </Styled.BinIconWrapper>\n )}\n </FlexView>\n }\n bodyHeight=\"100%\"\n onBackButtonClick={handleOnBackButtonClick}\n bodyElement={\n <ChapterSelection\n config={config}\n classRatio={classRatio}\n isGoalCreation={isGoalCreation}\n formData={formData}\n studentName={studentName}\n isProcessed={isProcessed}\n isProcessing={isProcessing}\n courseStream={courseStream}\n onFormDataChange={onFormDataChange}\n onChapterExitWarning={onChapterExitWarning}\n enrollmentType={enrollmentType}\n />\n }\n footerElement={\n <FlexView $flexDirection=\"row\" $flexGap={12} $alignItems=\"center\">\n {(!isGoalCreation || testType === 'no-test') && (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"top\"\n widthX={6.5}\n zIndex={20}\n tooltipItem=\"Add a chapter\"\n >\n <Styled.ButtonWrapper $borderRadius={50}>\n <IconButton\n renderAs=\"secondary\"\n analyticsLabel=\"Add custom chapters\"\n Icon={PlusIcon}\n disabled={isProcessing}\n onClick={handleOnAddCustomChapter}\n />\n </Styled.ButtonWrapper>\n </ArrowTooltip>\n )}\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"top\"\n widthX={11}\n zIndex={20}\n tooltipItem=\"Please select atleast one chapter\"\n hidden={isAtleastOneChapterAdded}\n >\n <Styled.ButtonWrapper>\n <Button\n renderAs=\"primary\"\n size=\"small\"\n shape=\"square\"\n widthX={9}\n label={buttonLabel}\n onClick={handleNext}\n iconPosition=\"right\"\n busy={isProcessing}\n disabled={!isAtleastOneChapterAdded}\n analyticsProps={analyticsProps}\n />\n </Styled.ButtonWrapper>\n </ArrowTooltip>\n </FlexView>\n }\n />\n );\n});\n\nexport default ChaptersSelectionStep;\n"],"names":["ChaptersSelectionStep","memo","props","currentStep","onFormDataChange","onChapterExitWarning","formData","studentName","studentId","config","isGoalCreation","onPreSubmit","courseStream","classRatio","enrollmentType","canDeleteGoal","onDeleteGoal","flow","useContext","MilestoneCreateContext","trackEvent","useUIContext","submitBaseMessage","buttonLabel","name","title","analyticsProps","testType","primaryChaptersList","board","major","region","chapterGoalCategory","primaryGoalCategory","goalEditFlow","isProcessing","isProcessed","useChapterListUpdate","isAtleastOneChapterAdded","useMemo","chapter","handleNext","useCallback","selectedChaptersList","searchedAndAddedChapterLength","suggestedChaptersLength","handleOnAddCustomChapter","handleOnBackButtonClick","handleBack","isChangeDetected","computeChangeDetection","GOAL_EDIT_FLOWS","WARNING_MESSAGES","jsx","BodyLayout","jsxs","FlexView","Text","ClassDetailsStep","Styled.BinIconWrapper","ArrowTooltip","IconButton","Bin2Icon","ChapterSelection","Styled.ButtonWrapper","PlusIcon","Button"],"mappings":"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"}
1
+ {"version":3,"file":"chapters-selection-step.js","sources":["../../../../../../src/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.tsx"],"sourcesContent":["import type { IFormStepProps } from '../../milestone-create-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useContext, useMemo } from 'react';\n\nimport PlusIcon from '../../../../../assets/line-icons/icons/plus';\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 { WARNING_MESSAGES } from '../../../constants';\nimport { GOAL_EDIT_FLOWS } from '../../milestone-create-constants';\nimport MilestoneCreateContext from '../../milestone-create-context';\nimport BodyLayout from '../body-layout/body-layout';\nimport ClassDetailsStep from '../class-details-step/class-details-step';\nimport ChapterSelection from './chapter-selection-step-v2/chapter-selection';\nimport * as Styled from './chapters-selection-step-styled';\nimport { useChapterListUpdate } from './use-chapter-list-update';\nimport { computeChangeDetection } from './utils';\n\nconst ChaptersSelectionStep: FC<IFormStepProps> = memo(props => {\n const {\n currentStep,\n onFormDataChange,\n onChapterExitWarning,\n formData,\n studentName,\n studentId,\n config,\n isGoalCreation,\n onPreSubmit,\n courseStream,\n classRatio,\n enrollmentType,\n } = props;\n const { flow } = useContext(MilestoneCreateContext);\n const { onEvent: trackEvent } = useUIContext();\n\n const {\n action_plan: {\n green: { share_message_template: submitBaseMessage },\n },\n } = config;\n const { buttonLabel, name, title } = currentStep;\n const analyticsProps = {\n step: name,\n };\n const { testType, primaryChaptersList, board, major, region, chapterGoalCategory } = formData;\n\n const { primaryGoalCategory } = chapterGoalCategory || {};\n\n //* Hook that handles making api call for cue_chapters updating primaryChapterList.\n const { isProcessing, isProcessed } = useChapterListUpdate({\n formData,\n onFormDataChange,\n studentId,\n });\n\n const isAtleastOneChapterAdded = useMemo(() => {\n if (primaryChaptersList) {\n return primaryChaptersList.some(chapter => chapter.added);\n }\n\n return false;\n }, [primaryChaptersList]);\n\n const handleNext = useCallback(() => {\n const selectedChaptersList = primaryChaptersList?.filter(chapter => {\n return Boolean(chapter.added);\n });\n\n const searchedAndAddedChapterLength =\n primaryChaptersList?.filter(\n chapter => chapter.program_id !== primaryGoalCategory?.program_code && chapter.added,\n ).length ?? 0;\n\n const suggestedChaptersLength =\n primaryChaptersList?.filter(chapter => chapter.program_id === primaryGoalCategory?.program_id)\n .length ?? 0;\n\n trackEvent('CHAPTER_DETAILS_ADDED', {\n total_chapter_added: selectedChaptersList?.length ?? 0,\n searched_chapter_added: searchedAndAddedChapterLength,\n suggested_chapter_added: suggestedChaptersLength,\n });\n\n if (isGoalCreation) {\n onFormDataChange({\n primaryChaptersList: primaryChaptersList,\n selectedChaptersList: selectedChaptersList,\n searchedChaptersList: [],\n chapterSubStages: 'date-selection',\n committed: {\n selectedChaptersList: true,\n chapterSubStages: true,\n grade: true,\n board: !!board,\n major: !!major,\n region: !!region,\n },\n });\n } else if (flow) {\n onPreSubmit?.({ isDraftPlan: false, flow, submitBaseMessage });\n }\n }, [\n primaryChaptersList,\n board,\n major,\n region,\n trackEvent,\n onFormDataChange,\n onPreSubmit,\n flow,\n isGoalCreation,\n submitBaseMessage,\n primaryGoalCategory,\n ]);\n\n const handleOnAddCustomChapter = useCallback(() => {\n onFormDataChange({\n chapterSubStages: 'custom-chapters',\n selectedChaptersList: undefined,\n committed: {\n chapterSubStages: true,\n selectedChaptersList: false,\n },\n });\n }, [onFormDataChange]);\n\n const handleOnBackButtonClick = useCallback(\n (handleBack: () => void) => {\n if (!flow) return null;\n\n const isChangeDetected = computeChangeDetection(primaryChaptersList, primaryGoalCategory);\n\n if (GOAL_EDIT_FLOWS.includes(flow) || !primaryChaptersList?.length || !isChangeDetected) {\n handleBack();\n } else {\n onChapterExitWarning?.({\n onSuccess: handleBack,\n description: WARNING_MESSAGES.CHAPTER_EXIT_WARNING,\n });\n }\n },\n [onChapterExitWarning, flow, primaryChaptersList, primaryGoalCategory],\n );\n\n return (\n <BodyLayout\n stepName={name}\n headerElement={\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={1}>\n <Text $renderAs=\"ab2\">{isGoalCreation ? title : 'Chapters'}</Text>\n\n {isGoalCreation && flow === 'CREATE' && (\n <ClassDetailsStep\n studentName={studentName}\n studentId={studentId}\n currentStep={currentStep}\n config={config}\n formData={formData}\n courseStream={courseStream}\n classRatio={classRatio}\n onFormDataChange={onFormDataChange}\n onChapterExitWarning={onChapterExitWarning}\n enrollmentType={enrollmentType}\n />\n )}\n </FlexView>\n }\n bodyHeight=\"100%\"\n onBackButtonClick={handleOnBackButtonClick}\n bodyElement={\n <ChapterSelection\n config={config}\n classRatio={classRatio}\n isGoalCreation={isGoalCreation}\n formData={formData}\n studentName={studentName}\n isProcessed={isProcessed}\n isProcessing={isProcessing}\n courseStream={courseStream}\n onFormDataChange={onFormDataChange}\n onChapterExitWarning={onChapterExitWarning}\n enrollmentType={enrollmentType}\n />\n }\n footerElement={\n <FlexView $flexDirection=\"row\" $flexGap={12} $alignItems=\"center\">\n {(!isGoalCreation || testType === 'no-test') && (\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"top\"\n widthX={6.5}\n zIndex={20}\n tooltipItem=\"Add a chapter\"\n >\n <Styled.ButtonWrapper $borderRadius={50}>\n <IconButton\n renderAs=\"secondary\"\n analyticsLabel=\"Add custom chapters\"\n Icon={PlusIcon}\n disabled={isProcessing}\n onClick={handleOnAddCustomChapter}\n />\n </Styled.ButtonWrapper>\n </ArrowTooltip>\n )}\n <ArrowTooltip\n renderAs=\"primary\"\n position=\"top\"\n widthX={11}\n zIndex={20}\n tooltipItem=\"Please select atleast one chapter\"\n hidden={isAtleastOneChapterAdded}\n >\n <Styled.ButtonWrapper>\n <Button\n renderAs=\"primary\"\n size=\"small\"\n shape=\"square\"\n widthX={9}\n label={buttonLabel}\n onClick={handleNext}\n iconPosition=\"right\"\n busy={isProcessing}\n disabled={!isAtleastOneChapterAdded}\n analyticsProps={analyticsProps}\n />\n </Styled.ButtonWrapper>\n </ArrowTooltip>\n </FlexView>\n }\n />\n );\n});\n\nexport default ChaptersSelectionStep;\n"],"names":["ChaptersSelectionStep","memo","props","currentStep","onFormDataChange","onChapterExitWarning","formData","studentName","studentId","config","isGoalCreation","onPreSubmit","courseStream","classRatio","enrollmentType","flow","useContext","MilestoneCreateContext","trackEvent","useUIContext","submitBaseMessage","buttonLabel","name","title","analyticsProps","testType","primaryChaptersList","board","major","region","chapterGoalCategory","primaryGoalCategory","isProcessing","isProcessed","useChapterListUpdate","isAtleastOneChapterAdded","useMemo","chapter","handleNext","useCallback","selectedChaptersList","searchedAndAddedChapterLength","suggestedChaptersLength","handleOnAddCustomChapter","handleOnBackButtonClick","handleBack","isChangeDetected","computeChangeDetection","GOAL_EDIT_FLOWS","WARNING_MESSAGES","jsx","BodyLayout","FlexView","Text","ClassDetailsStep","ChapterSelection","ArrowTooltip","Styled.ButtonWrapper","IconButton","PlusIcon","Button"],"mappings":"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"}