@cuemath/leap 3.5.71-as1 → 3.5.71-j3

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 (131) hide show
  1. package/dist/features/chapters-v2/comps/node-card/node-card-types.js.map +1 -1
  2. package/dist/features/homework/homework-card.js +215 -198
  3. package/dist/features/homework/homework-card.js.map +1 -1
  4. package/dist/features/math-fit/math-fit-overview/math-fit-overview-types.js.map +1 -1
  5. package/dist/features/math-fit/math-fit-overview/math-fit-overview.js +16 -16
  6. package/dist/features/math-fit/math-fit-overview/math-fit-overview.js.map +1 -1
  7. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js +66 -61
  8. package/dist/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.js.map +1 -1
  9. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js +41 -40
  10. package/dist/features/milestone/create/comps/add-custom-chapter/course-catalog.js.map +1 -1
  11. package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js +32 -25
  12. package/dist/features/milestone/create/comps/add-custom-chapter/search-chapter/search-chapters.js.map +1 -1
  13. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js +14 -12
  14. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapter-item.js.map +1 -1
  15. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js +17 -10
  16. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/selected-chapters.js.map +1 -1
  17. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js +6 -6
  18. package/dist/features/milestone/create/comps/add-custom-chapter/selected-chapters/tags-render.js.map +1 -1
  19. package/dist/features/milestone/create/comps/body-layout/body-layout.js +23 -22
  20. package/dist/features/milestone/create/comps/body-layout/body-layout.js.map +1 -1
  21. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js +78 -75
  22. package/dist/features/milestone/create/comps/chapters-selection-step/chapters-selection-step.js.map +1 -1
  23. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +53 -49
  24. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js.map +1 -1
  25. package/dist/features/milestone/create/milestone-create-styled.js +10 -8
  26. package/dist/features/milestone/create/milestone-create-styled.js.map +1 -1
  27. package/dist/features/milestone/create/milestone-create.js +53 -49
  28. package/dist/features/milestone/create/milestone-create.js.map +1 -1
  29. package/dist/features/milestone/edit/goal-draft-edit-sync.js +26 -0
  30. package/dist/features/milestone/edit/goal-draft-edit-sync.js.map +1 -0
  31. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +80 -72
  32. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  33. package/dist/features/milestone/edit/hooks/use-milestone-edit-sync.js +82 -0
  34. package/dist/features/milestone/edit/hooks/use-milestone-edit-sync.js.map +1 -0
  35. package/dist/features/milestone/milestone-list-container/hooks/use-milestone-list-sync.js +49 -0
  36. package/dist/features/milestone/milestone-list-container/hooks/use-milestone-list-sync.js.map +1 -0
  37. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +108 -104
  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/goals/goal-action-ctas.js +14 -14
  40. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  41. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js +9 -9
  42. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-info.js.map +1 -1
  43. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js +30 -22
  44. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs-styled.js.map +1 -1
  45. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +100 -92
  46. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  47. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +136 -117
  48. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  49. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +99 -95
  50. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  51. package/dist/features/milestone/milestone-list-container/milestone-list-sync.js +25 -0
  52. package/dist/features/milestone/milestone-list-container/milestone-list-sync.js.map +1 -0
  53. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +62 -66
  54. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
  55. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +26 -25
  56. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
  57. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js +40 -33
  58. package/dist/features/milestone/milestone-resources/resources-assign/comps/resource-item/resource-item.js.map +1 -1
  59. package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-sync.js +71 -0
  60. package/dist/features/milestone/milestone-resources/resources-assign/hooks/use-resource-assign-sync.js.map +1 -0
  61. package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-sync.js +17 -0
  62. package/dist/features/milestone/milestone-resources/resources-assign/resource-assign-sync.js.map +1 -0
  63. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js +43 -53
  64. package/dist/features/milestone/milestone-resources/resources-assign/resource-items/resource-items.js.map +1 -1
  65. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +183 -168
  66. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
  67. package/dist/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.js +198 -0
  68. package/dist/features/milestone/milestone-resources/resources-assign/store/resource-assign-store.js.map +1 -0
  69. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +70 -68
  70. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  71. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +62 -60
  72. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
  73. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js +36 -34
  74. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-view.js.map +1 -1
  75. package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-sync.js +68 -0
  76. package/dist/features/milestone/milestone-tests/tests-creation/hooks/use-tests-creation-sync.js.map +1 -0
  77. package/dist/features/milestone/milestone-tests/tests-creation/store/tests-creation-store.js +78 -0
  78. package/dist/features/milestone/milestone-tests/tests-creation/store/tests-creation-store.js.map +1 -0
  79. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js +47 -42
  80. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
  81. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +59 -58
  82. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
  83. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview-styled.js +7 -5
  84. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview-styled.js.map +1 -1
  85. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +36 -26
  86. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
  87. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-sync.js +17 -0
  88. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-sync.js.map +1 -0
  89. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js +5 -0
  90. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js.map +1 -0
  91. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +120 -89
  92. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  93. package/dist/features/sheet-v2/resource-list/resource-list.js +28 -26
  94. package/dist/features/sheet-v2/resource-list/resource-list.js.map +1 -1
  95. package/dist/features/trial-session/comps/learning-plan/index.js +221 -92
  96. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  97. package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js +7 -6
  98. package/dist/features/trial-session/comps/learning-plan/learning-plan-styled.js.map +1 -1
  99. package/dist/features/trial-session/hooks/use-learning-plan-scroll-sync.js +75 -0
  100. package/dist/features/trial-session/hooks/use-learning-plan-scroll-sync.js.map +1 -0
  101. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +113 -116
  102. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  103. package/dist/features/trial-session/trial-session-types.js +3 -2
  104. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  105. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +90 -74
  106. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
  107. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  108. package/dist/features/worksheet/worksheet/worksheet.js +39 -28
  109. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  110. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +27 -24
  111. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  112. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +41 -37
  113. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  114. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +2 -2
  115. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  116. package/dist/index.d.ts +70 -8
  117. package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
  118. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
  119. package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
  120. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  121. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
  122. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  123. package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
  124. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  125. package/package.json +1 -1
  126. package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js +0 -37
  127. package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +0 -1
  128. package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
  129. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
  130. package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
  131. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"math-fit-overview-types.js","sources":["../../../../src/features/math-fit/math-fit-overview/math-fit-overview-types.ts"],"sourcesContent":["import type { INodeDataProps } from '../../chapters-v2/comps/node-card/node-card-types';\nimport { type TUserTypes } from '../../ui/types';\n\nexport enum ESectionStatus {\n COMPLETED = 'COMPLETED',\n ACTIVE = 'ACTIVE',\n LOCKED = 'LOCKED',\n}\n\nexport enum EQuestionState {\n CORRECT = 'CORRECT',\n INCORRECT = 'INCORRECT',\n SKIPPED = 'SKIPPED',\n UNATTEMPTED = 'UNATTEMPTED',\n}\n\nexport enum EMathFitTestState {\n IN_PROGRESS = 'IN_PROGRESS',\n COMPLETED = 'COMPLETED',\n NOT_STARTED = 'NOT_STARTED',\n EXPIRED = 'EXPIRED',\n}\n\nexport interface ISectionData {\n id: string;\n title: string;\n status: ESectionStatus;\n questionsCount: number;\n timeInMinutes: number;\n sheetData: INodeDataProps;\n}\n\nexport interface IQuestionDetail {\n item_reference: string;\n state: EQuestionState;\n order: number;\n}\n\nexport interface IMiniGoalDetail {\n order: number;\n description: string;\n items: IQuestionDetail[];\n}\n\nexport interface IMathFitSection {\n id: string;\n section_number: number;\n score: number;\n previous_score: number;\n user_node_id: string;\n created_on: string;\n created_on_ts: number;\n updated_on: string;\n updated_on_ts: number;\n sheet: INodeDataProps;\n summary: {\n [goalId: string]: IMiniGoalDetail;\n };\n}\n\nexport interface IMathFitAssessmentResponse {\n id: string;\n user_id: string;\n state: EMathFitTestState;\n score: number;\n previous_score: number;\n created_on: string;\n created_on_ts: number;\n updated_on: string;\n updated_on_ts: number;\n sections: IMathFitSection[];\n}\n\nexport interface IMathFitOverviewProps {\n data: IMathFitAssessmentResponse;\n onResume?: (sheetData: INodeDataProps, sectionId: string) => void;\n onDoLater: () => void;\n}\n\nexport interface IMathFitProps {\n mathfitTestId: string;\n userId: string;\n onResume?: (sheetData: INodeDataProps, sectionId: string) => void;\n onReview?: (sheetData: INodeDataProps, sectionId: string) => void;\n onDoLater: () => void;\n studentName: string;\n userType: TUserTypes;\n onAPIComplete?: (success: boolean) => void;\n}\n\nexport type TTimeUnit = 'minutes' | 'hours' | 'days';\n\nexport interface ITimeLeft {\n value: number;\n unit: TTimeUnit;\n}\n"],"names":["ESectionStatus","EQuestionState","EMathFitTestState"],"mappings":"AAGY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,SAAS,UACTA,EAAA,SAAS,UAHCA,IAAAA,KAAA,CAAA,CAAA,GAMAC,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,YAAY,aACZA,EAAA,UAAU,WACVA,EAAA,cAAc,eAJJA,IAAAA,KAAA,CAAA,CAAA,GAOAC,sBAAAA,OACVA,EAAA,cAAc,eACdA,EAAA,YAAY,aACZA,EAAA,cAAc,eACdA,EAAA,UAAU,WAJAA,IAAAA,KAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"math-fit-overview-types.js","sources":["../../../../src/features/math-fit/math-fit-overview/math-fit-overview-types.ts"],"sourcesContent":["import type { INodeDataProps } from '../../chapters-v2/comps/node-card/node-card-types';\nimport { type TUserTypes } from '../../ui/types';\n\nexport enum ESectionStatus {\n COMPLETED = 'COMPLETED',\n ACTIVE = 'ACTIVE',\n LOCKED = 'LOCKED',\n}\n\nexport enum EQuestionState {\n CORRECT = 'CORRECT',\n INCORRECT = 'INCORRECT',\n SKIPPED = 'SKIPPED',\n UNATTEMPTED = 'UNATTEMPTED',\n}\n\nexport enum EMathFitTestState {\n IN_PROGRESS = 'IN_PROGRESS',\n COMPLETED = 'COMPLETED',\n NOT_STARTED = 'NOT_STARTED',\n EXPIRED = 'EXPIRED',\n}\n\nexport interface ISectionData {\n id: string;\n title: string;\n status: ESectionStatus;\n questionsCount: number;\n timeInMinutes: number;\n sheetData: INodeDataProps;\n}\n\nexport interface IQuestionDetail {\n item_reference: string;\n state: EQuestionState;\n order: number;\n}\n\nexport interface IMiniGoalDetail {\n order: number;\n description: string;\n items: IQuestionDetail[];\n}\n\nexport interface IMathFitSection {\n id: string;\n section_number: number;\n score: number;\n previous_score: number;\n user_node_id: string;\n created_on: string;\n created_on_ts: number;\n updated_on: string;\n updated_on_ts: number;\n sheet: INodeDataProps;\n summary: {\n [goalId: string]: IMiniGoalDetail;\n };\n}\n\nexport interface IMathFitAssessmentResponse {\n id: string;\n user_id: string;\n state: EMathFitTestState;\n score: number;\n previous_score: number;\n created_on: string;\n created_on_ts: number;\n updated_on: string;\n updated_on_ts: number;\n sections: IMathFitSection[];\n}\n\nexport interface IMathFitOverviewProps {\n data: IMathFitAssessmentResponse;\n onResume: (sheetData: INodeDataProps, sectionId: string) => void;\n onDoLater: () => void;\n}\n\nexport interface IMathFitProps {\n mathfitTestId: string;\n userId: string;\n onResume: (sheetData: INodeDataProps, sectionId: string) => void;\n onReview: (sheetData: INodeDataProps, sectionId: string) => void;\n onDoLater: () => void;\n studentName: string;\n userType: TUserTypes;\n onAPIComplete?: (success: boolean) => void;\n}\n\nexport type TTimeUnit = 'minutes' | 'hours' | 'days';\n\nexport interface ITimeLeft {\n value: number;\n unit: TTimeUnit;\n}\n"],"names":["ESectionStatus","EQuestionState","EMathFitTestState"],"mappings":"AAGY,IAAAA,sBAAAA,OACVA,EAAA,YAAY,aACZA,EAAA,SAAS,UACTA,EAAA,SAAS,UAHCA,IAAAA,KAAA,CAAA,CAAA,GAMAC,sBAAAA,OACVA,EAAA,UAAU,WACVA,EAAA,YAAY,aACZA,EAAA,UAAU,WACVA,EAAA,cAAc,eAJJA,IAAAA,KAAA,CAAA,CAAA,GAOAC,sBAAAA,OACVA,EAAA,cAAc,eACdA,EAAA,YAAY,aACZA,EAAA,cAAc,eACdA,EAAA,UAAU,WAJAA,IAAAA,KAAA,CAAA,CAAA;"}
@@ -5,43 +5,43 @@ import n from "../../ui/layout/flex-view.js";
5
5
  import X from "../../ui/separator/separator.js";
6
6
  import a from "../../ui/text/text.js";
7
7
  import D from "./comps/section-card/section-card.js";
8
- import { findActiveSection as N, getStartButtonText as R, getBeforeYouStartText as U, getSectionAnalyticsProps as G, mapSectionStatus as K, calculateTimeLeft as Y } from "./math-fit-overview-helpers.js";
8
+ import { findActiveSection as R, getStartButtonText as N, getBeforeYouStartText as U, getSectionAnalyticsProps as G, mapSectionStatus as K, calculateTimeLeft as Y } from "./math-fit-overview-helpers.js";
9
9
  import { CountdownBadge as j } from "./math-fit-overview-styled.js";
10
- import { MATHFIT_ANALYTICS_EVENTS as m } from "../mathfit-events.js";
10
+ import { MATHFIT_ANALYTICS_EVENTS as d } from "../mathfit-events.js";
11
11
  import { NODE_CARD_STATES as H } from "../../chapters-v2/constants/node-constants.js";
12
12
  import { useUIContext as P } from "../../ui/context/context.js";
13
13
  const q = O(function({
14
14
  data: l,
15
- onResume: u,
15
+ onResume: m,
16
16
  onDoLater: v
17
17
  }) {
18
18
  var C, E;
19
- const { sections: r, user_id: f } = l, d = (E = (C = r[0]) == null ? void 0 : C.sheet) == null ? void 0 : E.due_date_ts, { onEvent: $ } = P(), _ = s(() => {
20
- if (!d) return;
21
- const e = Y(d);
19
+ const { sections: r, user_id: $ } = l, u = (E = (C = r[0]) == null ? void 0 : C.sheet) == null ? void 0 : E.due_date_ts, { onEvent: _ } = P(), f = s(() => {
20
+ if (!u) return;
21
+ const e = Y(u);
22
22
  if (!e) return;
23
23
  const { value: i, unit: x } = e, F = x.slice(0, -1);
24
24
  return `${i} ${i === 1 ? F : x} left`;
25
- }, [d]), o = s(() => N(r), [r]), h = s(() => R(r), [r]), T = s(() => U(r), [r]), { sheet: L, section_number: p } = o || {}, { state: g, total_questions: A, correct_answers: S } = L || {}, b = s(
26
- () => g === H.IN_PROGRESS ? m.MATHFIT_SECTION_RESUMED : m.MATHFIT_SECTION_STARTED,
25
+ }, [u]), o = s(() => R(r), [r]), h = s(() => N(r), [r]), T = s(() => U(r), [r]), { sheet: L, section_number: p } = o || {}, { state: g, total_questions: A, correct_answers: S } = L || {}, b = s(
26
+ () => g === H.IN_PROGRESS ? d.MATHFIT_SECTION_RESUMED : d.MATHFIT_SECTION_STARTED,
27
27
  [g]
28
28
  ), B = s(
29
29
  () => ({
30
30
  total_questions: A,
31
31
  correct_answers: S,
32
- student_id: f,
32
+ student_id: $,
33
33
  section_type: `L${p}`
34
34
  }),
35
- [p, S, A, f]
35
+ [p, S, A, $]
36
36
  ), y = k(() => {
37
- o && typeof u == "function" && u(o.sheet, o.id);
38
- }, [o, u]);
37
+ o && m(o.sheet, o.id);
38
+ }, [o, m]);
39
39
  return w(() => {
40
- $(
41
- m.MATHFIT_LANDING_PAGE_VIEWED,
40
+ _(
41
+ d.MATHFIT_LANDING_PAGE_VIEWED,
42
42
  G(l)
43
43
  );
44
- }, [l, $]), /* @__PURE__ */ c(M, { children: [
44
+ }, [l, _]), /* @__PURE__ */ c(M, { children: [
45
45
  /* @__PURE__ */ t(n, { $gutterX: 1.5, $gapX: 0.75, $background: "BLACK_T_04", children: /* @__PURE__ */ t(a, { $renderAs: "ac4", $color: "BLACK_1", children: "TEST STRUCTURE" }) }),
46
46
  /* @__PURE__ */ t(n, { $gutterX: 1, $gapX: 1.5, $flexGapX: 1, children: r.map((e, i) => /* @__PURE__ */ t(
47
47
  D,
@@ -70,7 +70,7 @@ const q = O(function({
70
70
  children: [
71
71
  /* @__PURE__ */ t(I, { label: "I'll do it later", renderAs: "secondary", size: "regular", onClick: v }),
72
72
  /* @__PURE__ */ c(n, { $alignItems: "center", $justifyContent: "center", children: [
73
- !!_ && /* @__PURE__ */ t(j, { $background: "YELLOW_1", $gapX: 0.35, $gutterX: 0.5, children: /* @__PURE__ */ t(a, { $renderAs: "ac5-black", $color: "BLACK_T_60", children: _ }) }),
73
+ !!f && /* @__PURE__ */ t(j, { $background: "YELLOW_1", $gapX: 0.35, $gutterX: 0.5, children: /* @__PURE__ */ t(a, { $renderAs: "ac5-black", $color: "BLACK_T_60", children: f }) }),
74
74
  !!h && /* @__PURE__ */ t(
75
75
  I,
76
76
  {
@@ -1 +1 @@
1
- {"version":3,"file":"math-fit-overview.js","sources":["../../../../src/features/math-fit/math-fit-overview/math-fit-overview.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, type FC } from 'react';\n\nimport Button from '../../ui/buttons/button/button';\nimport FlexView from '../../ui/layout/flex-view';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport SectionCard from './comps/section-card/section-card';\nimport {\n calculateTimeLeft,\n findActiveSection,\n getBeforeYouStartText,\n getSectionAnalyticsProps,\n getStartButtonText,\n mapSectionStatus,\n} from './math-fit-overview-helpers';\nimport { type IMathFitOverviewProps } from './math-fit-overview-types';\nimport * as Styled from './math-fit-overview-styled';\nimport { MATHFIT_ANALYTICS_EVENTS } from '../mathfit-events';\nimport { NODE_CARD_STATES } from '../../chapters-v2/constants/node-constants';\nimport { useUIContext } from '../../ui/context/context';\n\nconst MathFitOverview: FC<IMathFitOverviewProps> = memo(function MathFitOverview({\n data,\n onResume,\n onDoLater,\n}) {\n const { sections, user_id } = data;\n\n const dueDateTS = sections[0]?.sheet?.due_date_ts;\n const { onEvent: trackEvent } = useUIContext();\n\n const timeleftText = useMemo(() => {\n if (!dueDateTS) return undefined;\n\n const timeLeft = calculateTimeLeft(dueDateTS);\n\n if (!timeLeft) return undefined;\n\n const { value, unit } = timeLeft;\n const singularUnit = unit.slice(0, -1); // Remove 's' from end\n const displayUnit = value === 1 ? singularUnit : unit;\n\n return `${value} ${displayUnit} left`;\n }, [dueDateTS]);\n\n const activeSection = useMemo(() => findActiveSection(sections), [sections]);\n const startButtonText = useMemo(() => getStartButtonText(sections), [sections]);\n const beforeYouStartText = useMemo(() => getBeforeYouStartText(sections), [sections]);\n\n const { sheet, section_number } = activeSection || {};\n const { state, total_questions, correct_answers } = sheet || {};\n\n const analyticsLabel = useMemo(\n () =>\n state === NODE_CARD_STATES.IN_PROGRESS\n ? MATHFIT_ANALYTICS_EVENTS.MATHFIT_SECTION_RESUMED\n : MATHFIT_ANALYTICS_EVENTS.MATHFIT_SECTION_STARTED,\n [state],\n );\n const analyticsProps = useMemo(\n () => ({\n total_questions,\n correct_answers,\n student_id: user_id,\n section_type: `L${section_number}`,\n }),\n [section_number, correct_answers, total_questions, user_id],\n );\n\n const handleStartClick = useCallback(() => {\n if (activeSection && typeof onResume === 'function') {\n onResume(activeSection.sheet, activeSection.id);\n }\n }, [activeSection, onResume]);\n\n useEffect(() => {\n trackEvent(\n MATHFIT_ANALYTICS_EVENTS.MATHFIT_LANDING_PAGE_VIEWED,\n getSectionAnalyticsProps(data),\n );\n }, [data, trackEvent]);\n\n return (\n <>\n <FlexView $gutterX={1.5} $gapX={0.75} $background=\"BLACK_T_04\">\n <Text $renderAs=\"ac4\" $color=\"BLACK_1\">\n TEST STRUCTURE\n </Text>\n </FlexView>\n <FlexView $gutterX={1} $gapX={1.5} $flexGapX={1}>\n {sections.map((section, index) => (\n <SectionCard\n key={section.id}\n title={`Section ${section.section_number} - ${section.sheet.title}`}\n questionsCount={section.sheet.total_questions || 0}\n timeInMinutes={section.sheet.sheet_time ? section.sheet.sheet_time / 60 : 0}\n status={mapSectionStatus(section)}\n showDivider={index < sections.length - 1}\n />\n ))}\n </FlexView>\n <Separator heightX={1} />\n {!!beforeYouStartText && (\n <FlexView>\n <FlexView $gutterX={1.5} $gapX={0.75} $background=\"BLACK_T_04\">\n <Text $renderAs=\"ac4\" $color=\"BLACK_1\">\n BEFORE YOU START\n </Text>\n </FlexView>\n <FlexView $gutterX={2.5} $gapX={1} $flexRowGapX={0.5}>\n {beforeYouStartText.map((item, index) => (\n <li key={index}>\n <Text $renderAs=\"ub2\" $color=\"BLACK_1\">\n {item}\n </Text>\n </li>\n ))}\n </FlexView>\n </FlexView>\n )}\n <Separator heightX={2.5} />\n <FlexView\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $alignItems=\"flex-end\"\n $flexColumnGapX={1}\n >\n <Button label=\"I'll do it later\" renderAs=\"secondary\" size=\"regular\" onClick={onDoLater} />\n <FlexView $alignItems=\"center\" $justifyContent=\"center\">\n {!!timeleftText && (\n <Styled.CountdownBadge $background=\"YELLOW_1\" $gapX={0.35} $gutterX={0.5}>\n <Text $renderAs=\"ac5-black\" $color=\"BLACK_T_60\">\n {timeleftText}\n </Text>\n </Styled.CountdownBadge>\n )}\n {!!startButtonText && (\n <Button\n analyticsLabel={analyticsLabel}\n analyticsProps={analyticsProps}\n label={startButtonText}\n renderAs=\"primary\"\n size=\"regular\"\n onClick={handleStartClick}\n disabled={!activeSection}\n />\n )}\n </FlexView>\n </FlexView>\n </>\n );\n});\n\nexport default MathFitOverview;\n"],"names":["MathFitOverview","memo","data","onResume","onDoLater","sections","user_id","dueDateTS","_b","_a","trackEvent","useUIContext","timeleftText","useMemo","timeLeft","calculateTimeLeft","value","unit","singularUnit","activeSection","findActiveSection","startButtonText","getStartButtonText","beforeYouStartText","getBeforeYouStartText","sheet","section_number","state","total_questions","correct_answers","analyticsLabel","NODE_CARD_STATES","MATHFIT_ANALYTICS_EVENTS","analyticsProps","handleStartClick","useCallback","useEffect","getSectionAnalyticsProps","jsxs","Fragment","jsx","FlexView","Text","section","index","SectionCard","mapSectionStatus","Separator","item","Button","Styled.CountdownBadge","MathFitOverview$1"],"mappings":"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"}
1
+ {"version":3,"file":"math-fit-overview.js","sources":["../../../../src/features/math-fit/math-fit-overview/math-fit-overview.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo, type FC } from 'react';\n\nimport Button from '../../ui/buttons/button/button';\nimport FlexView from '../../ui/layout/flex-view';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport SectionCard from './comps/section-card/section-card';\nimport {\n calculateTimeLeft,\n findActiveSection,\n getBeforeYouStartText,\n getSectionAnalyticsProps,\n getStartButtonText,\n mapSectionStatus,\n} from './math-fit-overview-helpers';\nimport { type IMathFitOverviewProps } from './math-fit-overview-types';\nimport * as Styled from './math-fit-overview-styled';\nimport { MATHFIT_ANALYTICS_EVENTS } from '../mathfit-events';\nimport { NODE_CARD_STATES } from '../../chapters-v2/constants/node-constants';\nimport { useUIContext } from '../../ui/context/context';\n\nconst MathFitOverview: FC<IMathFitOverviewProps> = memo(function MathFitOverview({\n data,\n onResume,\n onDoLater,\n}) {\n const { sections, user_id } = data;\n\n const dueDateTS = sections[0]?.sheet?.due_date_ts;\n const { onEvent: trackEvent } = useUIContext();\n\n const timeleftText = useMemo(() => {\n if (!dueDateTS) return undefined;\n\n const timeLeft = calculateTimeLeft(dueDateTS);\n\n if (!timeLeft) return undefined;\n\n const { value, unit } = timeLeft;\n const singularUnit = unit.slice(0, -1); // Remove 's' from end\n const displayUnit = value === 1 ? singularUnit : unit;\n\n return `${value} ${displayUnit} left`;\n }, [dueDateTS]);\n\n const activeSection = useMemo(() => findActiveSection(sections), [sections]);\n const startButtonText = useMemo(() => getStartButtonText(sections), [sections]);\n const beforeYouStartText = useMemo(() => getBeforeYouStartText(sections), [sections]);\n\n const { sheet, section_number } = activeSection || {};\n const { state, total_questions, correct_answers } = sheet || {};\n\n const analyticsLabel = useMemo(\n () =>\n state === NODE_CARD_STATES.IN_PROGRESS\n ? MATHFIT_ANALYTICS_EVENTS.MATHFIT_SECTION_RESUMED\n : MATHFIT_ANALYTICS_EVENTS.MATHFIT_SECTION_STARTED,\n [state],\n );\n const analyticsProps = useMemo(\n () => ({\n total_questions,\n correct_answers,\n student_id: user_id,\n section_type: `L${section_number}`,\n }),\n [section_number, correct_answers, total_questions, user_id],\n );\n\n const handleStartClick = useCallback(() => {\n if (activeSection) {\n onResume(activeSection.sheet, activeSection.id);\n }\n }, [activeSection, onResume]);\n\n useEffect(() => {\n trackEvent(\n MATHFIT_ANALYTICS_EVENTS.MATHFIT_LANDING_PAGE_VIEWED,\n getSectionAnalyticsProps(data),\n );\n }, [data, trackEvent]);\n\n return (\n <>\n <FlexView $gutterX={1.5} $gapX={0.75} $background=\"BLACK_T_04\">\n <Text $renderAs=\"ac4\" $color=\"BLACK_1\">\n TEST STRUCTURE\n </Text>\n </FlexView>\n <FlexView $gutterX={1} $gapX={1.5} $flexGapX={1}>\n {sections.map((section, index) => (\n <SectionCard\n key={section.id}\n title={`Section ${section.section_number} - ${section.sheet.title}`}\n questionsCount={section.sheet.total_questions || 0}\n timeInMinutes={section.sheet.sheet_time ? section.sheet.sheet_time / 60 : 0}\n status={mapSectionStatus(section)}\n showDivider={index < sections.length - 1}\n />\n ))}\n </FlexView>\n <Separator heightX={1} />\n {!!beforeYouStartText && (\n <FlexView>\n <FlexView $gutterX={1.5} $gapX={0.75} $background=\"BLACK_T_04\">\n <Text $renderAs=\"ac4\" $color=\"BLACK_1\">\n BEFORE YOU START\n </Text>\n </FlexView>\n <FlexView $gutterX={2.5} $gapX={1} $flexRowGapX={0.5}>\n {beforeYouStartText.map((item, index) => (\n <li key={index}>\n <Text $renderAs=\"ub2\" $color=\"BLACK_1\">\n {item}\n </Text>\n </li>\n ))}\n </FlexView>\n </FlexView>\n )}\n <Separator heightX={2.5} />\n <FlexView\n $flexDirection=\"row\"\n $justifyContent=\"center\"\n $alignItems=\"flex-end\"\n $flexColumnGapX={1}\n >\n <Button label=\"I'll do it later\" renderAs=\"secondary\" size=\"regular\" onClick={onDoLater} />\n <FlexView $alignItems=\"center\" $justifyContent=\"center\">\n {!!timeleftText && (\n <Styled.CountdownBadge $background=\"YELLOW_1\" $gapX={0.35} $gutterX={0.5}>\n <Text $renderAs=\"ac5-black\" $color=\"BLACK_T_60\">\n {timeleftText}\n </Text>\n </Styled.CountdownBadge>\n )}\n {!!startButtonText && (\n <Button\n analyticsLabel={analyticsLabel}\n analyticsProps={analyticsProps}\n label={startButtonText}\n renderAs=\"primary\"\n size=\"regular\"\n onClick={handleStartClick}\n disabled={!activeSection}\n />\n )}\n </FlexView>\n </FlexView>\n </>\n );\n});\n\nexport default MathFitOverview;\n"],"names":["MathFitOverview","memo","data","onResume","onDoLater","sections","user_id","dueDateTS","_b","_a","trackEvent","useUIContext","timeleftText","useMemo","timeLeft","calculateTimeLeft","value","unit","singularUnit","activeSection","findActiveSection","startButtonText","getStartButtonText","beforeYouStartText","getBeforeYouStartText","sheet","section_number","state","total_questions","correct_answers","analyticsLabel","NODE_CARD_STATES","MATHFIT_ANALYTICS_EVENTS","analyticsProps","handleStartClick","useCallback","useEffect","getSectionAnalyticsProps","jsxs","Fragment","jsx","FlexView","Text","section","index","SectionCard","mapSectionStatus","Separator","item","Button","Styled.CountdownBadge","MathFitOverview$1"],"mappings":"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"}
@@ -1,51 +1,53 @@
1
- import { jsx as t, jsxs as w } from "react/jsx-runtime";
2
- import { memo as P, useEffect as E, useCallback as $ } from "react";
3
- import j from "../../../../hooks/use-previous.js";
4
- import k from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
5
- import B from "../../../../ui/layout/flex-view.js";
6
- import G from "../../../../ui/text/text.js";
7
- import { useChaptersGetAll as H } from "../../api/recommended-chapters.js";
8
- import { getFormChapters as I } from "../../utils/index.js";
9
- import T from "../body-layout/body-layout.js";
10
- import { StyledButton as X } from "./add-custom-chapters-styled.js";
11
- import q from "./course-catalog.js";
12
- import z from "./search-chapter/search-chapters.js";
13
- const _ = P(function({
1
+ import { jsx as t, jsxs as P } from "react/jsx-runtime";
2
+ import { memo as $, useEffect as j, useCallback as k } from "react";
3
+ import B from "../../../../hooks/use-previous.js";
4
+ import G from "../../../../ui/arrow-tooltip/arrow-tooltip.js";
5
+ import H from "../../../../ui/layout/flex-view.js";
6
+ import I from "../../../../ui/text/text.js";
7
+ import { useChaptersGetAll as T } from "../../api/recommended-chapters.js";
8
+ import { getFormChapters as X } from "../../utils/index.js";
9
+ import q from "../body-layout/body-layout.js";
10
+ import { StyledButton as z } from "./add-custom-chapters-styled.js";
11
+ import N from "./course-catalog.js";
12
+ import U from "./search-chapter/search-chapters.js";
13
+ const ee = $(function({
14
14
  onFormDataChange: e,
15
- formData: a,
15
+ formData: d,
16
16
  config: p,
17
- currentStep: h,
18
- isGoalCreation: m,
19
- courseStream: C,
20
- classRatio: n,
17
+ currentStep: m,
18
+ isGoalCreation: C,
19
+ courseStream: n,
20
+ classRatio: f,
21
21
  enrollmentType: u,
22
- isTeacherTrainingAccount: f
22
+ isTeacherTrainingAccount: L,
23
+ userType: o,
24
+ useAbsoluteFooter: b
23
25
  }) {
24
26
  const {
25
- region: L,
27
+ region: A,
26
28
  primaryChaptersList: r,
27
- searchChapterFields: d = {},
28
- searchedChaptersList: b = [],
29
- selectedChaptersList: o = []
30
- } = a, { buttonLabel: A, title: y } = h, {
31
- getAll: g,
32
- data: i,
33
- isProcessing: x,
29
+ searchChapterFields: l = {},
30
+ searchedChaptersList: g = [],
31
+ selectedChaptersList: i = []
32
+ } = d, { buttonLabel: S, title: x } = m, {
33
+ getAll: y,
34
+ data: a,
35
+ isProcessing: v,
34
36
  isProcessed: s
35
- } = H(), l = j(s), c = o.length === 0;
36
- E(() => {
37
- l === !1 && s === !0 && i && e({
38
- searchedChaptersList: I(i, !0)
37
+ } = T(), c = B(s), h = i.length === 0;
38
+ j(() => {
39
+ c === !1 && s === !0 && a && e({
40
+ searchedChaptersList: X(a, !0)
39
41
  });
40
- }, [l, s, i, e]);
41
- const S = $(() => {
42
- const v = r == null ? void 0 : r.concat(o);
42
+ }, [c, s, a, e]);
43
+ const w = k(() => {
44
+ const E = r == null ? void 0 : r.concat(i);
43
45
  e({
44
46
  searchedChaptersList: [],
45
47
  selectedChaptersList: [],
46
48
  chapterSubStages: void 0,
47
49
  searchChapterFields: void 0,
48
- primaryChaptersList: v,
50
+ primaryChaptersList: E,
49
51
  committed: {
50
52
  selectedChaptersList: !0,
51
53
  chapterSubStages: !1,
@@ -54,59 +56,62 @@ const _ = P(function({
54
56
  searchChapterFields: !1
55
57
  }
56
58
  });
57
- }, [e, r, o]);
59
+ }, [e, r, i]);
58
60
  return /* @__PURE__ */ t(
59
- T,
61
+ q,
60
62
  {
61
63
  overflowHidden: !0,
62
64
  bodyHeight: "100%",
63
- headerElement: /* @__PURE__ */ w(B, { $flexDirection: "row", $alignItems: "center", $flexGapX: 1, children: [
64
- /* @__PURE__ */ t(G, { $renderAs: "ab2", children: y }),
65
+ useAbsoluteFooter: b,
66
+ headerElement: /* @__PURE__ */ P(H, { $flexDirection: "row", $alignItems: "center", $flexGapX: 1, children: [
67
+ /* @__PURE__ */ t(I, { $renderAs: "ab2", children: x }),
65
68
  /* @__PURE__ */ t(
66
- q,
69
+ N,
67
70
  {
68
71
  config: p,
69
- region: L,
70
- courseStream: C,
71
- classRatio: n,
72
- searchChapterFields: d,
72
+ region: A,
73
+ courseStream: n,
74
+ classRatio: f,
75
+ searchChapterFields: l,
73
76
  onFormDataChange: e,
74
- getCatalogChapters: g,
77
+ getCatalogChapters: y,
75
78
  enrollmentType: u,
76
- isTeacherTrainingAccount: f
79
+ isTeacherTrainingAccount: L,
80
+ userType: o
77
81
  }
78
82
  )
79
83
  ] }),
80
84
  bodyElement: /* @__PURE__ */ t(
81
- z,
85
+ U,
82
86
  {
83
- searchChapterFields: d,
87
+ searchChapterFields: l,
84
88
  onFormDataChange: e,
85
- searchedChaptersList: b,
89
+ searchedChaptersList: g,
86
90
  chaptersList: r,
87
91
  config: p,
88
- formData: a,
89
- isProcessing: x,
90
- isProcessed: s
92
+ formData: d,
93
+ isProcessing: v,
94
+ isProcessed: s,
95
+ userType: o
91
96
  }
92
97
  ),
93
- footerElement: /* @__PURE__ */ t(
94
- k,
98
+ footerElement: o === "STUDENT" ? void 0 : /* @__PURE__ */ t(
99
+ G,
95
100
  {
96
101
  renderAs: "primary",
97
102
  tooltipItem: "Select chapters to add",
98
103
  position: "top",
99
- hidden: !c,
104
+ hidden: !h,
100
105
  children: /* @__PURE__ */ t(
101
- X,
106
+ z,
102
107
  {
103
108
  renderAs: "primary",
104
109
  size: "small",
105
110
  shape: "square",
106
- widthX: m ? 9 : 12,
107
- label: A,
108
- onClick: S,
109
- disabled: c
111
+ widthX: C ? 9 : 12,
112
+ label: S,
113
+ onClick: w,
114
+ disabled: h
110
115
  }
111
116
  )
112
117
  }
@@ -115,6 +120,6 @@ const _ = P(function({
115
120
  );
116
121
  });
117
122
  export {
118
- _ as default
123
+ ee as default
119
124
  };
120
125
  //# sourceMappingURL=add-custom-chapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-custom-chapter.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, type FC } from 'react';\n\nimport usePrevious from '../../../../hooks/use-previous';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { useChaptersGetAll } from '../../api/recommended-chapters';\nimport type { IFormStepProps } from '../../milestone-create-types';\nimport { getFormChapters } from '../../utils';\nimport BodyLayout from '../body-layout/body-layout';\nimport * as Styled from './add-custom-chapters-styled';\nimport CourseCatalog from './course-catalog';\nimport ChapterSearch from './search-chapter/search-chapters';\n\nconst AddCustomChapter: FC<IFormStepProps> = memo(function AddCustomChapter({\n onFormDataChange,\n formData,\n config,\n currentStep,\n isGoalCreation,\n courseStream,\n classRatio,\n enrollmentType,\n isTeacherTrainingAccount,\n}) {\n const {\n region,\n primaryChaptersList,\n searchChapterFields = {},\n searchedChaptersList = [],\n selectedChaptersList = [],\n } = formData;\n\n const { buttonLabel, title } = currentStep;\n\n const {\n getAll: getCatalogChapters,\n data: catalogChaptersData,\n isProcessing,\n isProcessed,\n } = useChaptersGetAll();\n\n const prevCatalogChaptersProcessed = usePrevious(isProcessed);\n const isAddChapterCtaDisabled = selectedChaptersList.length === 0;\n\n useEffect(() => {\n if (prevCatalogChaptersProcessed === false && isProcessed === true && catalogChaptersData) {\n onFormDataChange({\n searchedChaptersList: getFormChapters(catalogChaptersData, true),\n });\n }\n }, [prevCatalogChaptersProcessed, isProcessed, catalogChaptersData, onFormDataChange]);\n\n const handleConfirmCustomChapterAddition = useCallback(() => {\n const updatedPrimaryChaptersList = primaryChaptersList?.concat(selectedChaptersList);\n\n onFormDataChange({\n searchedChaptersList: [],\n selectedChaptersList: [],\n chapterSubStages: undefined,\n searchChapterFields: undefined,\n primaryChaptersList: updatedPrimaryChaptersList,\n committed: {\n selectedChaptersList: true,\n chapterSubStages: false,\n searchedChaptersList: true,\n primaryChaptersList: true,\n searchChapterFields: false,\n },\n });\n }, [onFormDataChange, primaryChaptersList, selectedChaptersList]);\n\n return (\n <BodyLayout\n overflowHidden\n bodyHeight=\"100%\"\n headerElement={\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={1}>\n <Text $renderAs=\"ab2\">{title}</Text>\n <CourseCatalog\n config={config}\n region={region}\n courseStream={courseStream}\n classRatio={classRatio}\n searchChapterFields={searchChapterFields}\n onFormDataChange={onFormDataChange}\n getCatalogChapters={getCatalogChapters}\n enrollmentType={enrollmentType}\n isTeacherTrainingAccount={isTeacherTrainingAccount}\n />\n </FlexView>\n }\n bodyElement={\n <ChapterSearch\n searchChapterFields={searchChapterFields}\n onFormDataChange={onFormDataChange}\n searchedChaptersList={searchedChaptersList}\n chaptersList={primaryChaptersList}\n config={config}\n formData={formData}\n isProcessing={isProcessing}\n isProcessed={isProcessed}\n />\n }\n footerElement={\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Select chapters to add\"\n position=\"top\"\n hidden={!isAddChapterCtaDisabled}\n >\n <Styled.StyledButton\n renderAs=\"primary\"\n size=\"small\"\n shape=\"square\"\n widthX={isGoalCreation ? 9 : 12}\n label={buttonLabel}\n onClick={handleConfirmCustomChapterAddition}\n disabled={isAddChapterCtaDisabled}\n />\n </ArrowTooltip>\n }\n />\n );\n});\n\nexport default AddCustomChapter;\n"],"names":["AddCustomChapter","memo","onFormDataChange","formData","config","currentStep","isGoalCreation","courseStream","classRatio","enrollmentType","isTeacherTrainingAccount","region","primaryChaptersList","searchChapterFields","searchedChaptersList","selectedChaptersList","buttonLabel","title","getCatalogChapters","catalogChaptersData","isProcessing","isProcessed","useChaptersGetAll","prevCatalogChaptersProcessed","usePrevious","isAddChapterCtaDisabled","useEffect","getFormChapters","handleConfirmCustomChapterAddition","useCallback","updatedPrimaryChaptersList","jsx","BodyLayout","FlexView","Text","CourseCatalog","ChapterSearch","ArrowTooltip","Styled.StyledButton"],"mappings":";;;;;;;;;;;;AAcM,MAAAA,IAAuCC,EAAK,SAA0B;AAAA,EAC1E,kBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,aAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,0BAAAC;AACF,GAAG;AACK,QAAA;AAAA,IACJ,QAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,qBAAAC,IAAsB,CAAC;AAAA,IACvB,sBAAAC,IAAuB,CAAC;AAAA,IACxB,sBAAAC,IAAuB,CAAC;AAAA,EACtB,IAAAZ,GAEE,EAAE,aAAAa,GAAa,OAAAC,EAAU,IAAAZ,GAEzB;AAAA,IACJ,QAAQa;AAAA,IACR,MAAMC;AAAA,IACN,cAAAC;AAAA,IACA,aAAAC;AAAA,MACEC,EAAkB,GAEhBC,IAA+BC,EAAYH,CAAW,GACtDI,IAA0BV,EAAqB,WAAW;AAEhE,EAAAW,EAAU,MAAM;AACd,IAAIH,MAAiC,MAASF,MAAgB,MAAQF,KACnDjB,EAAA;AAAA,MACf,sBAAsByB,EAAgBR,GAAqB,EAAI;AAAA,IAAA,CAChE;AAAA,KAEF,CAACI,GAA8BF,GAAaF,GAAqBjB,CAAgB,CAAC;AAE/E,QAAA0B,IAAqCC,EAAY,MAAM;AACrD,UAAAC,IAA6BlB,KAAA,gBAAAA,EAAqB,OAAOG;AAE9C,IAAAb,EAAA;AAAA,MACf,sBAAsB,CAAC;AAAA,MACvB,sBAAsB,CAAC;AAAA,MACvB,kBAAkB;AAAA,MAClB,qBAAqB;AAAA,MACrB,qBAAqB4B;AAAA,MACrB,WAAW;AAAA,QACT,sBAAsB;AAAA,QACtB,kBAAkB;AAAA,QAClB,sBAAsB;AAAA,QACtB,qBAAqB;AAAA,QACrB,qBAAqB;AAAA,MACvB;AAAA,IAAA,CACD;AAAA,EACA,GAAA,CAAC5B,GAAkBU,GAAqBG,CAAoB,CAAC;AAG9D,SAAA,gBAAAgB;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,gBAAc;AAAA,MACd,YAAW;AAAA,MACX,iCACGC,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,WAAW,GAC7D,UAAA;AAAA,QAAC,gBAAAF,EAAAG,GAAA,EAAK,WAAU,OAAO,UAAMjB,GAAA;AAAA,QAC7B,gBAAAc;AAAA,UAACI;AAAA,UAAA;AAAA,YACC,QAAA/B;AAAA,YACA,QAAAO;AAAA,YACA,cAAAJ;AAAA,YACA,YAAAC;AAAA,YACA,qBAAAK;AAAA,YACA,kBAAAX;AAAA,YACA,oBAAAgB;AAAA,YACA,gBAAAT;AAAA,YACA,0BAAAC;AAAA,UAAA;AAAA,QACF;AAAA,MAAA,GACF;AAAA,MAEF,aACE,gBAAAqB;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,qBAAAvB;AAAA,UACA,kBAAAX;AAAA,UACA,sBAAAY;AAAA,UACA,cAAcF;AAAA,UACd,QAAAR;AAAA,UACA,UAAAD;AAAA,UACA,cAAAiB;AAAA,UACA,aAAAC;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,eACE,gBAAAU;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,UAAS;AAAA,UACT,aAAY;AAAA,UACZ,UAAS;AAAA,UACT,QAAQ,CAACZ;AAAA,UAET,UAAA,gBAAAM;AAAA,YAACO;AAAAA,YAAA;AAAA,cACC,UAAS;AAAA,cACT,MAAK;AAAA,cACL,OAAM;AAAA,cACN,QAAQhC,IAAiB,IAAI;AAAA,cAC7B,OAAOU;AAAA,cACP,SAASY;AAAA,cACT,UAAUH;AAAA,YAAA;AAAA,UACZ;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC;"}
1
+ {"version":3,"file":"add-custom-chapter.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/add-custom-chapter.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, type FC } from 'react';\n\nimport usePrevious from '../../../../hooks/use-previous';\nimport ArrowTooltip from '../../../../ui/arrow-tooltip/arrow-tooltip';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { useChaptersGetAll } from '../../api/recommended-chapters';\nimport type { IFormStepProps } from '../../milestone-create-types';\nimport { getFormChapters } from '../../utils';\nimport BodyLayout from '../body-layout/body-layout';\nimport * as Styled from './add-custom-chapters-styled';\nimport CourseCatalog from './course-catalog';\nimport ChapterSearch from './search-chapter/search-chapters';\n\nconst AddCustomChapter: FC<IFormStepProps> = memo(function AddCustomChapter({\n onFormDataChange,\n formData,\n config,\n currentStep,\n isGoalCreation,\n courseStream,\n classRatio,\n enrollmentType,\n isTeacherTrainingAccount,\n userType,\n useAbsoluteFooter,\n}) {\n const {\n region,\n primaryChaptersList,\n searchChapterFields = {},\n searchedChaptersList = [],\n selectedChaptersList = [],\n } = formData;\n\n const { buttonLabel, title } = currentStep;\n\n const {\n getAll: getCatalogChapters,\n data: catalogChaptersData,\n isProcessing,\n isProcessed,\n } = useChaptersGetAll();\n\n const prevCatalogChaptersProcessed = usePrevious(isProcessed);\n const isAddChapterCtaDisabled = selectedChaptersList.length === 0;\n\n useEffect(() => {\n if (prevCatalogChaptersProcessed === false && isProcessed === true && catalogChaptersData) {\n onFormDataChange({\n searchedChaptersList: getFormChapters(catalogChaptersData, true),\n });\n }\n }, [prevCatalogChaptersProcessed, isProcessed, catalogChaptersData, onFormDataChange]);\n\n const handleConfirmCustomChapterAddition = useCallback(() => {\n const updatedPrimaryChaptersList = primaryChaptersList?.concat(selectedChaptersList);\n\n onFormDataChange({\n searchedChaptersList: [],\n selectedChaptersList: [],\n chapterSubStages: undefined,\n searchChapterFields: undefined,\n primaryChaptersList: updatedPrimaryChaptersList,\n committed: {\n selectedChaptersList: true,\n chapterSubStages: false,\n searchedChaptersList: true,\n primaryChaptersList: true,\n searchChapterFields: false,\n },\n });\n }, [onFormDataChange, primaryChaptersList, selectedChaptersList]);\n\n return (\n <BodyLayout\n overflowHidden\n bodyHeight=\"100%\"\n useAbsoluteFooter={useAbsoluteFooter}\n headerElement={\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={1}>\n <Text $renderAs=\"ab2\">{title}</Text>\n <CourseCatalog\n config={config}\n region={region}\n courseStream={courseStream}\n classRatio={classRatio}\n searchChapterFields={searchChapterFields}\n onFormDataChange={onFormDataChange}\n getCatalogChapters={getCatalogChapters}\n enrollmentType={enrollmentType}\n isTeacherTrainingAccount={isTeacherTrainingAccount}\n userType={userType}\n />\n </FlexView>\n }\n bodyElement={\n <ChapterSearch\n searchChapterFields={searchChapterFields}\n onFormDataChange={onFormDataChange}\n searchedChaptersList={searchedChaptersList}\n chaptersList={primaryChaptersList}\n config={config}\n formData={formData}\n isProcessing={isProcessing}\n isProcessed={isProcessed}\n userType={userType}\n />\n }\n footerElement={\n userType === 'STUDENT' ? undefined : (\n <ArrowTooltip\n renderAs=\"primary\"\n tooltipItem=\"Select chapters to add\"\n position=\"top\"\n hidden={!isAddChapterCtaDisabled}\n >\n <Styled.StyledButton\n renderAs=\"primary\"\n size=\"small\"\n shape=\"square\"\n widthX={isGoalCreation ? 9 : 12}\n label={buttonLabel}\n onClick={handleConfirmCustomChapterAddition}\n disabled={isAddChapterCtaDisabled}\n />\n </ArrowTooltip>\n )\n }\n />\n );\n});\n\nexport default AddCustomChapter;\n"],"names":["AddCustomChapter","memo","onFormDataChange","formData","config","currentStep","isGoalCreation","courseStream","classRatio","enrollmentType","isTeacherTrainingAccount","userType","useAbsoluteFooter","region","primaryChaptersList","searchChapterFields","searchedChaptersList","selectedChaptersList","buttonLabel","title","getCatalogChapters","catalogChaptersData","isProcessing","isProcessed","useChaptersGetAll","prevCatalogChaptersProcessed","usePrevious","isAddChapterCtaDisabled","useEffect","getFormChapters","handleConfirmCustomChapterAddition","useCallback","updatedPrimaryChaptersList","jsx","BodyLayout","FlexView","Text","CourseCatalog","ChapterSearch","ArrowTooltip","Styled.StyledButton"],"mappings":"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"}
@@ -1,32 +1,33 @@
1
- import { jsxs as A, Fragment as S, jsx as E } from "react/jsx-runtime";
2
- import { memo as H, useMemo as O, useCallback as j, useEffect as w } from "react";
1
+ import { jsxs as A, Fragment as w, jsx as G } from "react/jsx-runtime";
2
+ import { memo as P, useMemo as O, useCallback as j, useEffect as M } from "react";
3
3
  import n from "../../../../ui/inputs/select-input/select-input.js";
4
- import { GOAL_CATEGORY as M } from "../../../constants.js";
5
- import { useMilestoneContext as P } from "../../milestone-create-context.js";
6
- import { getCurriculumStandardsFromConfig as R } from "../../milestone-create-helpers.js";
4
+ import { GOAL_CATEGORY as k } from "../../../constants.js";
5
+ import { useMilestoneContext as R } from "../../milestone-create-context.js";
6
+ import { getCurriculumStandardsFromConfig as U } from "../../milestone-create-helpers.js";
7
7
  import { getGradeBoardAndMajorBasedProgramCode as X } from "../chapters-selection-step/utils.js";
8
- import { useCatalogHelpers as U } from "./hooks/use-catalog-helpers.js";
9
- const $ = H(function({
10
- config: s,
11
- region: o = "",
8
+ import { useCatalogHelpers as h } from "./hooks/use-catalog-helpers.js";
9
+ const g = P(function({
10
+ config: o,
11
+ region: s = "",
12
12
  courseStream: t,
13
13
  classRatio: p,
14
14
  searchChapterFields: e,
15
15
  getCatalogChapters: x,
16
16
  onFormDataChange: r,
17
17
  enrollmentType: u,
18
- isTeacherTrainingAccount: l
18
+ isTeacherTrainingAccount: l,
19
+ userType: S
19
20
  }) {
20
- const { mode: _ } = P(), { selectedCurriculum: a = "", selectedGrade: C = "", selectedCourse: f = "" } = e, { grades: k, boards: y, majors: G } = U({
21
- config: s,
22
- region: o,
21
+ const { mode: _ } = R(), { selectedCurriculum: a = "", selectedGrade: C = "", selectedCourse: f = "" } = e, { grades: B, boards: L, majors: E } = h({
22
+ config: o,
23
+ region: s,
23
24
  searchChapterFields: e,
24
25
  courseStream: t,
25
26
  classRatio: p,
26
27
  enrollmentType: u,
27
28
  flow: "CREATE",
28
29
  isTeacherTrainingAccount: l
29
- }), c = O(() => G.length > 1, [G]), B = j(
30
+ }), c = O(() => E.length > 1, [E]), y = j(
30
31
  (d) => {
31
32
  r({
32
33
  searchChapterFields: {
@@ -36,14 +37,14 @@ const $ = H(function({
36
37
  });
37
38
  },
38
39
  [e, r]
39
- ), L = j(
40
+ ), z = j(
40
41
  (d) => {
41
42
  var v;
42
43
  let b = e.selectedCurriculum;
43
- (d === "-1" || d === "0") && (b = (v = R(s, {
44
- countryCode: o ?? "",
44
+ (d === "-1" || d === "0") && (b = (v = U(o, {
45
+ countryCode: s ?? "",
45
46
  grade: d,
46
- goalCategory: M.SCHOOL_SUCCESS,
47
+ goalCategory: k.SCHOOL_SUCCESS,
47
48
  courseStream: t,
48
49
  enrollmentType: u,
49
50
  classRatio: p,
@@ -60,14 +61,14 @@ const $ = H(function({
60
61
  [
61
62
  e,
62
63
  r,
63
- s,
64
64
  o,
65
+ s,
65
66
  t,
66
67
  u,
67
68
  p,
68
69
  l
69
70
  ]
70
- ), z = j(
71
+ ), H = j(
71
72
  (d) => {
72
73
  r({
73
74
  searchChapterFields: {
@@ -78,55 +79,55 @@ const $ = H(function({
78
79
  },
79
80
  [r, e]
80
81
  ), i = O(
81
- () => X(s, {
82
+ () => X(o, {
82
83
  grade: C,
83
84
  board: a,
84
85
  major: f,
85
86
  majorsPresent: c,
86
- countryCode: o ?? "",
87
- selectedCategory: M.SCHOOL_SUCCESS,
87
+ countryCode: s ?? "",
88
+ selectedCategory: k.SCHOOL_SUCCESS,
88
89
  courseStream: t,
89
90
  enrollmentType: u,
90
91
  isTeacherTrainingAccount: l
91
92
  }),
92
93
  [
93
- s,
94
+ o,
94
95
  t,
95
96
  u,
96
97
  c,
97
- o,
98
+ s,
98
99
  f,
99
100
  a,
100
101
  C,
101
102
  l
102
103
  ]
103
104
  ), m = O(() => (i == null ? void 0 : i.program_code) ?? "", [i]);
104
- return w(() => {
105
- m && _ === "edit" && x({
105
+ return M(() => {
106
+ m && (_ === "edit" || S === "STUDENT") && x({
106
107
  filter_type: "PROGRAM_CODE",
107
108
  program_code: m
108
109
  });
109
- }, [x, _, m, c]), w(() => {
110
+ }, [x, _, m, c, S]), M(() => {
110
111
  m || r({
111
112
  searchedChaptersList: []
112
113
  });
113
- }, [m, r]), /* @__PURE__ */ A(S, { children: [
114
- /* @__PURE__ */ E(
114
+ }, [m, r]), /* @__PURE__ */ A(w, { children: [
115
+ /* @__PURE__ */ G(
115
116
  n,
116
117
  {
117
118
  renderAs: "primary",
118
119
  label: "Grade",
119
120
  value: C,
120
- options: k,
121
- onChange: L,
121
+ options: B,
122
+ onChange: z,
122
123
  widthX: 9,
123
124
  size: "xsmall",
124
125
  theme: "dark",
125
126
  shape: "curved"
126
127
  }
127
128
  ),
128
- C && /* @__PURE__ */ A(S, { children: [
129
- /* @__PURE__ */ E(
129
+ C && /* @__PURE__ */ A(w, { children: [
130
+ /* @__PURE__ */ G(
130
131
  n,
131
132
  {
132
133
  widthX: 18,
@@ -135,20 +136,20 @@ const $ = H(function({
135
136
  theme: "dark",
136
137
  size: "xsmall",
137
138
  label: "Curriculum",
138
- options: y,
139
+ options: L,
139
140
  renderOptionsAs: "section-list",
140
141
  value: a,
141
- onChange: B
142
+ onChange: y
142
143
  }
143
144
  ),
144
- c && /* @__PURE__ */ E(
145
+ c && /* @__PURE__ */ G(
145
146
  n,
146
147
  {
147
148
  renderAs: "primary",
148
149
  label: "Course",
149
- options: G,
150
+ options: E,
150
151
  value: f,
151
- onChange: z,
152
+ onChange: H,
152
153
  widthX: 9,
153
154
  size: "xsmall",
154
155
  theme: "dark",
@@ -159,6 +160,6 @@ const $ = H(function({
159
160
  ] });
160
161
  });
161
162
  export {
162
- $ as default
163
+ g as default
163
164
  };
164
165
  //# sourceMappingURL=course-catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"course-catalog.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/course-catalog.tsx"],"sourcesContent":["import { useEffect, useMemo, useCallback, memo, type FC } from 'react';\n\nimport SelectInput from '../../../../ui/inputs/select-input/select-input';\nimport { GOAL_CATEGORY } from '../../../constants';\nimport { useMilestoneContext } from '../../milestone-create-context';\nimport { getCurriculumStandardsFromConfig } from '../../milestone-create-helpers';\nimport { getGradeBoardAndMajorBasedProgramCode } from '../chapters-selection-step/utils';\nimport type { ICourseCatalog } from './add-custom-chapters';\nimport { useCatalogHelpers } from './hooks/use-catalog-helpers';\n\nconst CourseCatalog: FC<ICourseCatalog> = memo(function CourseCatalog({\n config,\n region = '',\n courseStream,\n classRatio,\n searchChapterFields,\n getCatalogChapters,\n onFormDataChange,\n enrollmentType,\n isTeacherTrainingAccount,\n}) {\n const { mode } = useMilestoneContext();\n\n const { selectedCurriculum = '', selectedGrade = '', selectedCourse = '' } = searchChapterFields;\n\n const { grades, boards, majors } = useCatalogHelpers({\n config,\n region,\n searchChapterFields,\n courseStream,\n classRatio,\n enrollmentType,\n flow: 'CREATE',\n isTeacherTrainingAccount,\n });\n\n const majorsPresent = useMemo(() => majors.length > 1, [majors]);\n\n const handleCurriculumChange = useCallback(\n (curriculumValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCurriculum: curriculumValue,\n },\n });\n },\n [searchChapterFields, onFormDataChange],\n );\n\n const handleGradeChange = useCallback(\n (gradeValue: string) => {\n let updatedCurriculum = searchChapterFields.selectedCurriculum;\n\n if (gradeValue === '-1' || gradeValue === '0') {\n const currentGradeBoards = getCurriculumStandardsFromConfig(config, {\n countryCode: region ?? '',\n grade: gradeValue,\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n classRatio,\n flow: 'CREATE',\n isTeacherTrainingAccount,\n });\n\n updatedCurriculum = currentGradeBoards[0]?.id;\n }\n\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedGrade: gradeValue,\n selectedCurriculum: updatedCurriculum,\n },\n });\n },\n [\n searchChapterFields,\n onFormDataChange,\n config,\n region,\n courseStream,\n enrollmentType,\n classRatio,\n isTeacherTrainingAccount,\n ],\n );\n\n const handleMajorChange = useCallback(\n (majorValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCourse: majorValue,\n },\n });\n },\n [onFormDataChange, searchChapterFields],\n );\n\n const programInfo = useMemo(\n () =>\n getGradeBoardAndMajorBasedProgramCode(config, {\n grade: selectedGrade,\n board: selectedCurriculum,\n major: selectedCourse,\n majorsPresent,\n countryCode: region ?? '',\n selectedCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n }),\n [\n config,\n courseStream,\n enrollmentType,\n majorsPresent,\n region,\n selectedCourse,\n selectedCurriculum,\n selectedGrade,\n isTeacherTrainingAccount,\n ],\n );\n\n const programCode = useMemo(() => programInfo?.program_code ?? '', [programInfo]);\n\n useEffect(() => {\n if (programCode && mode === 'edit') {\n getCatalogChapters({\n filter_type: 'PROGRAM_CODE',\n program_code: programCode,\n });\n }\n }, [getCatalogChapters, mode, programCode, majorsPresent]);\n\n useEffect(() => {\n if (!programCode) {\n onFormDataChange({\n searchedChaptersList: [],\n });\n }\n }, [programCode, onFormDataChange]);\n\n return (\n <>\n <SelectInput\n renderAs=\"primary\"\n label=\"Grade\"\n value={selectedGrade}\n options={grades}\n onChange={handleGradeChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n\n {selectedGrade && (\n <>\n <SelectInput\n widthX={18}\n renderAs=\"primary\"\n shape=\"curved\"\n theme=\"dark\"\n size=\"xsmall\"\n label=\"Curriculum\"\n options={boards}\n renderOptionsAs=\"section-list\"\n value={selectedCurriculum}\n onChange={handleCurriculumChange}\n />\n\n {majorsPresent && (\n <SelectInput\n renderAs=\"primary\"\n label=\"Course\"\n options={majors}\n value={selectedCourse}\n onChange={handleMajorChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n )}\n </>\n )}\n </>\n );\n});\n\nexport default CourseCatalog;\n"],"names":["CourseCatalog","memo","config","region","courseStream","classRatio","searchChapterFields","getCatalogChapters","onFormDataChange","enrollmentType","isTeacherTrainingAccount","mode","useMilestoneContext","selectedCurriculum","selectedGrade","selectedCourse","grades","boards","majors","useCatalogHelpers","majorsPresent","useMemo","handleCurriculumChange","useCallback","curriculumValue","handleGradeChange","gradeValue","updatedCurriculum","_a","getCurriculumStandardsFromConfig","GOAL_CATEGORY","handleMajorChange","majorValue","programInfo","getGradeBoardAndMajorBasedProgramCode","programCode","useEffect","jsxs","Fragment","jsx","SelectInput"],"mappings":"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"}
1
+ {"version":3,"file":"course-catalog.js","sources":["../../../../../../src/features/milestone/create/comps/add-custom-chapter/course-catalog.tsx"],"sourcesContent":["import { useEffect, useMemo, useCallback, memo, type FC } from 'react';\n\nimport SelectInput from '../../../../ui/inputs/select-input/select-input';\nimport { GOAL_CATEGORY } from '../../../constants';\nimport { useMilestoneContext } from '../../milestone-create-context';\nimport { getCurriculumStandardsFromConfig } from '../../milestone-create-helpers';\nimport { getGradeBoardAndMajorBasedProgramCode } from '../chapters-selection-step/utils';\nimport type { ICourseCatalog } from './add-custom-chapters';\nimport { useCatalogHelpers } from './hooks/use-catalog-helpers';\n\nconst CourseCatalog: FC<ICourseCatalog> = memo(function CourseCatalog({\n config,\n region = '',\n courseStream,\n classRatio,\n searchChapterFields,\n getCatalogChapters,\n onFormDataChange,\n enrollmentType,\n isTeacherTrainingAccount,\n userType,\n}) {\n const { mode } = useMilestoneContext();\n\n const { selectedCurriculum = '', selectedGrade = '', selectedCourse = '' } = searchChapterFields;\n\n const { grades, boards, majors } = useCatalogHelpers({\n config,\n region,\n searchChapterFields,\n courseStream,\n classRatio,\n enrollmentType,\n flow: 'CREATE',\n isTeacherTrainingAccount,\n });\n\n const majorsPresent = useMemo(() => majors.length > 1, [majors]);\n\n const handleCurriculumChange = useCallback(\n (curriculumValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCurriculum: curriculumValue,\n },\n });\n },\n [searchChapterFields, onFormDataChange],\n );\n\n const handleGradeChange = useCallback(\n (gradeValue: string) => {\n let updatedCurriculum = searchChapterFields.selectedCurriculum;\n\n if (gradeValue === '-1' || gradeValue === '0') {\n const currentGradeBoards = getCurriculumStandardsFromConfig(config, {\n countryCode: region ?? '',\n grade: gradeValue,\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n classRatio,\n flow: 'CREATE',\n isTeacherTrainingAccount,\n });\n\n updatedCurriculum = currentGradeBoards[0]?.id;\n }\n\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedGrade: gradeValue,\n selectedCurriculum: updatedCurriculum,\n },\n });\n },\n [\n searchChapterFields,\n onFormDataChange,\n config,\n region,\n courseStream,\n enrollmentType,\n classRatio,\n isTeacherTrainingAccount,\n ],\n );\n\n const handleMajorChange = useCallback(\n (majorValue: string) => {\n onFormDataChange({\n searchChapterFields: {\n ...searchChapterFields,\n selectedCourse: majorValue,\n },\n });\n },\n [onFormDataChange, searchChapterFields],\n );\n\n const programInfo = useMemo(\n () =>\n getGradeBoardAndMajorBasedProgramCode(config, {\n grade: selectedGrade,\n board: selectedCurriculum,\n major: selectedCourse,\n majorsPresent,\n countryCode: region ?? '',\n selectedCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream,\n enrollmentType,\n isTeacherTrainingAccount,\n }),\n [\n config,\n courseStream,\n enrollmentType,\n majorsPresent,\n region,\n selectedCourse,\n selectedCurriculum,\n selectedGrade,\n isTeacherTrainingAccount,\n ],\n );\n\n const programCode = useMemo(() => programInfo?.program_code ?? '', [programInfo]);\n\n useEffect(() => {\n if (programCode && (mode === 'edit' || userType === 'STUDENT')) {\n getCatalogChapters({\n filter_type: 'PROGRAM_CODE',\n program_code: programCode,\n });\n }\n }, [getCatalogChapters, mode, programCode, majorsPresent, userType]);\n\n useEffect(() => {\n if (!programCode) {\n onFormDataChange({\n searchedChaptersList: [],\n });\n }\n }, [programCode, onFormDataChange]);\n\n return (\n <>\n <SelectInput\n renderAs=\"primary\"\n label=\"Grade\"\n value={selectedGrade}\n options={grades}\n onChange={handleGradeChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n\n {selectedGrade && (\n <>\n <SelectInput\n widthX={18}\n renderAs=\"primary\"\n shape=\"curved\"\n theme=\"dark\"\n size=\"xsmall\"\n label=\"Curriculum\"\n options={boards}\n renderOptionsAs=\"section-list\"\n value={selectedCurriculum}\n onChange={handleCurriculumChange}\n />\n\n {majorsPresent && (\n <SelectInput\n renderAs=\"primary\"\n label=\"Course\"\n options={majors}\n value={selectedCourse}\n onChange={handleMajorChange}\n widthX={9}\n size=\"xsmall\"\n theme=\"dark\"\n shape=\"curved\"\n />\n )}\n </>\n )}\n </>\n );\n});\n\nexport default CourseCatalog;\n"],"names":["CourseCatalog","memo","config","region","courseStream","classRatio","searchChapterFields","getCatalogChapters","onFormDataChange","enrollmentType","isTeacherTrainingAccount","userType","mode","useMilestoneContext","selectedCurriculum","selectedGrade","selectedCourse","grades","boards","majors","useCatalogHelpers","majorsPresent","useMemo","handleCurriculumChange","useCallback","curriculumValue","handleGradeChange","gradeValue","updatedCurriculum","_a","getCurriculumStandardsFromConfig","GOAL_CATEGORY","handleMajorChange","majorValue","programInfo","getGradeBoardAndMajorBasedProgramCode","programCode","useEffect","jsxs","Fragment","jsx","SelectInput"],"mappings":"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"}