@cuemath/leap 3.5.59 → 3.5.60-link0

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 (186) hide show
  1. package/dist/features/chapters-v2/utils/node-card-utils.js +24 -24
  2. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  3. package/dist/features/cue-canvas/bottombar/homework-controls.js.map +1 -1
  4. package/dist/features/cue-canvas/sidebar/sidebar.js +4 -4
  5. package/dist/features/cue-canvas/sidebar/sidebar.js.map +1 -1
  6. package/dist/features/cue-canvas/toolbar/toolbar.js +21 -17
  7. package/dist/features/cue-canvas/toolbar/toolbar.js.map +1 -1
  8. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js +23 -13
  9. package/dist/features/cue-canvas/toolbar/whiteboard-toolbar.js.map +1 -1
  10. package/dist/features/homework/homework-card-view.js +43 -43
  11. package/dist/features/homework/homework-card-view.js.map +1 -1
  12. package/dist/features/homework/homework-card.js +44 -46
  13. package/dist/features/homework/homework-card.js.map +1 -1
  14. package/dist/features/homework/hw-card-list/api/get-homeworks.js.map +1 -1
  15. package/dist/features/homework/hw-card-list/hw-card-list-view.js +39 -41
  16. package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
  17. package/dist/features/journey/tracking-id/tracking-id-student.js +1 -1
  18. package/dist/features/journey/tracking-id/tracking-id-student.js.map +1 -1
  19. package/dist/features/math-fit/math-fit-report/comps/score-section/score-section.js +43 -43
  20. package/dist/features/math-fit/math-fit-report/comps/score-section/score-section.js.map +1 -1
  21. package/dist/features/milestone/create/api/milestone-config.js.map +1 -1
  22. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js +1 -1
  23. package/dist/features/parent-dashboard/modals/trial-report/trial-report.js.map +1 -1
  24. package/dist/features/sheets/constants/sheet.js +1 -0
  25. package/dist/features/sheets/constants/sheet.js.map +1 -1
  26. package/dist/features/sheets/utils/is-v3-worksheet.js +3 -2
  27. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  28. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js +1 -1
  29. package/dist/features/timeline/monthly-timeline/monthly-report/monthly-report-types.js.map +1 -1
  30. package/dist/features/trial-session/api/trial-home.js +10 -16
  31. package/dist/features/trial-session/api/trial-home.js.map +1 -1
  32. package/dist/features/trial-session/api/trial-session-report.js +16 -0
  33. package/dist/features/trial-session/api/trial-session-report.js.map +1 -0
  34. package/dist/features/trial-session/api/trial-topics.js +9 -0
  35. package/dist/features/trial-session/api/trial-topics.js.map +1 -0
  36. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js +62 -50
  37. package/dist/features/trial-session/comps/background-grid/background-grid-utils.js.map +1 -1
  38. package/dist/features/trial-session/comps/class-preference/class-preference-styled.js +5 -14
  39. package/dist/features/trial-session/comps/class-preference/class-preference-styled.js.map +1 -1
  40. package/dist/features/trial-session/comps/class-preference/class-preference.js +55 -53
  41. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  42. package/dist/features/trial-session/comps/communication-slide/communication-slide-constants.js +3 -2
  43. package/dist/features/trial-session/comps/communication-slide/communication-slide-constants.js.map +1 -1
  44. package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js +27 -27
  45. package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js.map +1 -1
  46. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js +19 -18
  47. package/dist/features/trial-session/comps/learning-session/learning-session-styled.js.map +1 -1
  48. package/dist/features/trial-session/comps/learning-session/learning-session.js +34 -43
  49. package/dist/features/trial-session/comps/learning-session/learning-session.js.map +1 -1
  50. package/dist/features/trial-session/comps/navigation-bar/index.js +56 -58
  51. package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
  52. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js +29 -6
  53. package/dist/features/trial-session/comps/offering-information/offering-information-constants.js.map +1 -1
  54. package/dist/features/trial-session/comps/offering-information/offering-information.js +74 -64
  55. package/dist/features/trial-session/comps/offering-information/offering-information.js.map +1 -1
  56. package/dist/features/trial-session/comps/school-goals/school-goals-styled.js +10 -9
  57. package/dist/features/trial-session/comps/school-goals/school-goals-styled.js.map +1 -1
  58. package/dist/features/trial-session/comps/school-goals/school-goals-view.js +40 -39
  59. package/dist/features/trial-session/comps/school-goals/school-goals-view.js.map +1 -1
  60. package/dist/features/trial-session/comps/school-goals/school-goals.js +39 -37
  61. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  62. package/dist/features/trial-session/comps/session-insights/session-insights-styled.js +12 -20
  63. package/dist/features/trial-session/comps/session-insights/session-insights-styled.js.map +1 -1
  64. package/dist/features/trial-session/comps/session-insights/session-insights.js +64 -63
  65. package/dist/features/trial-session/comps/session-insights/session-insights.js.map +1 -1
  66. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js +13 -12
  67. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js.map +1 -1
  68. package/dist/features/trial-session/comps/session-overview/session-overview-utils.js +21 -5
  69. package/dist/features/trial-session/comps/session-overview/session-overview-utils.js.map +1 -1
  70. package/dist/features/trial-session/comps/session-overview/session-overview.js +20 -20
  71. package/dist/features/trial-session/comps/session-overview/session-overview.js.map +1 -1
  72. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-styled.js +61 -0
  73. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-styled.js.map +1 -0
  74. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-types.js +5 -0
  75. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-types.js.map +1 -0
  76. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-view.js +135 -0
  77. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary-view.js.map +1 -0
  78. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary.js +53 -0
  79. package/dist/features/trial-session/comps/session-progress-summary/session-progress-summary.js.map +1 -0
  80. package/dist/features/trial-session/comps/session-report/report-404/report-404.js +15 -16
  81. package/dist/features/trial-session/comps/session-report/report-404/report-404.js.map +1 -1
  82. package/dist/features/trial-session/comps/session-report/session-report.js +35 -33
  83. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  84. package/dist/features/trial-session/comps/student-enrichment/student-enrichment-styled.js +9 -16
  85. package/dist/features/trial-session/comps/student-enrichment/student-enrichment-styled.js.map +1 -1
  86. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js +39 -37
  87. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  88. package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js +10 -9
  89. package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js.map +1 -1
  90. package/dist/features/trial-session/comps/student-info/student-info-constants.js +35 -0
  91. package/dist/features/trial-session/comps/student-info/student-info-constants.js.map +1 -0
  92. package/dist/features/trial-session/comps/student-info/student-info-helpers.js +12 -0
  93. package/dist/features/trial-session/comps/student-info/student-info-helpers.js.map +1 -0
  94. package/dist/features/trial-session/comps/student-info/student-info-styled.js +26 -11
  95. package/dist/features/trial-session/comps/student-info/student-info-styled.js.map +1 -1
  96. package/dist/features/trial-session/comps/student-info/student-info.js +113 -78
  97. package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
  98. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js +3 -12
  99. package/dist/features/trial-session/comps/student-personalization/student-personalization-styled.js.map +1 -1
  100. package/dist/features/trial-session/comps/student-personalization/student-personalization.js +34 -33
  101. package/dist/features/trial-session/comps/student-personalization/student-personalization.js.map +1 -1
  102. package/dist/features/trial-session/comps/student-profile/student-profile.js +45 -44
  103. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  104. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js +9 -8
  105. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
  106. package/dist/features/trial-session/comps/test-prep/test-prep-styled.js +11 -19
  107. package/dist/features/trial-session/comps/test-prep/test-prep-styled.js.map +1 -1
  108. package/dist/features/trial-session/comps/test-prep/test-prep.js +31 -29
  109. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  110. package/dist/features/trial-session/comps/topic-selection/topic-selection-styled.js +42 -0
  111. package/dist/features/trial-session/comps/topic-selection/topic-selection-styled.js.map +1 -0
  112. package/dist/features/trial-session/comps/topic-selection/topic-selection.js +84 -0
  113. package/dist/features/trial-session/comps/topic-selection/topic-selection.js.map +1 -0
  114. package/dist/features/trial-session/comps/whiteboard/whiteboard-styled.js +21 -0
  115. package/dist/features/trial-session/comps/whiteboard/whiteboard-styled.js.map +1 -0
  116. package/dist/features/trial-session/comps/whiteboard/whiteboard.js +99 -0
  117. package/dist/features/trial-session/comps/whiteboard/whiteboard.js.map +1 -0
  118. package/dist/features/trial-session/comps/worksheet/worksheet.js +35 -33
  119. package/dist/features/trial-session/comps/worksheet/worksheet.js.map +1 -1
  120. package/dist/features/trial-session/context/trial-session-context.js +2 -0
  121. package/dist/features/trial-session/context/trial-session-context.js.map +1 -1
  122. package/dist/features/trial-session/helper.js +70 -64
  123. package/dist/features/trial-session/helper.js.map +1 -1
  124. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +201 -164
  125. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  126. package/dist/features/trial-session/right-panel/right-panel-styled.js +8 -8
  127. package/dist/features/trial-session/right-panel/right-panel-styled.js.map +1 -1
  128. package/dist/features/trial-session/right-panel/slide-components-map.js +42 -36
  129. package/dist/features/trial-session/right-panel/slide-components-map.js.map +1 -1
  130. package/dist/features/trial-session/trial-session-constants.js +22 -18
  131. package/dist/features/trial-session/trial-session-constants.js.map +1 -1
  132. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  133. package/dist/features/trial-session/trial-session-view.js +82 -77
  134. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  135. package/dist/features/trial-session/trial-session.js +38 -38
  136. package/dist/features/trial-session/trial-session.js.map +1 -1
  137. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js +21 -21
  138. package/dist/features/ui/inputs/checkbox-input/checkbox-input.js.map +1 -1
  139. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js +12 -12
  140. package/dist/features/ui/inputs/checkbox-input-list/checkbox-input-list.js.map +1 -1
  141. package/dist/features/ui/theme/clrs.js +1 -0
  142. package/dist/features/ui/theme/clrs.js.map +1 -1
  143. package/dist/features/worksheet/worksheet/mocks/activity.js +6 -0
  144. package/dist/features/worksheet/worksheet/mocks/activity.js.map +1 -0
  145. package/dist/features/worksheet/worksheet/mocks/signed-requests.js +5 -0
  146. package/dist/features/worksheet/worksheet/mocks/signed-requests.js.map +1 -0
  147. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js +57 -0
  148. package/dist/features/worksheet/worksheet/stories/use-canvas-sync-broker-story.js.map +1 -0
  149. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js +263 -0
  150. package/dist/features/worksheet/worksheet/stories/worksheet-story-container.js.map +1 -0
  151. package/dist/features/worksheet/worksheet/stories/worksheet-student.js +177 -0
  152. package/dist/features/worksheet/worksheet/stories/worksheet-student.js.map +1 -0
  153. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js +267 -0
  154. package/dist/features/worksheet/worksheet/stories/worksheet-teacher.js.map +1 -0
  155. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +2 -6
  156. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
  157. package/dist/features/worksheet/worksheet/worksheet-helpers.js +38 -37
  158. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  159. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-computed-properties.js +36 -35
  160. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-computed-properties.js.map +1 -1
  161. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-questions-from-items.js +61 -58
  162. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-questions-from-items.js.map +1 -1
  163. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  164. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +35 -28
  165. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  166. package/dist/index.d.ts +13 -5
  167. package/dist/index.js +1 -1
  168. package/dist/node_modules/query-string/base.js +1 -1
  169. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -0
  170. package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  171. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  172. package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
  173. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  174. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
  175. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  176. package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
  177. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  178. package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  179. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  180. package/dist/types/models/worksheet.js +1 -1
  181. package/dist/types/models/worksheet.js.map +1 -1
  182. package/package.json +1 -1
  183. package/dist/node_modules/decode-uri-component/index.js.map +0 -1
  184. package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
  185. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  186. /package/dist/node_modules/{decode-uri-component → query-string/node_modules/decode-uri-component}/index.js +0 -0
@@ -0,0 +1,42 @@
1
+ import t from "styled-components";
2
+ import a from "../../../ui/layout/flex-view.js";
3
+ import s from "../../../../assets/line-icons/icons/check2.js";
4
+ const p = t(a)(
5
+ ({ theme: o, $selected: n, $preventSelection: r }) => `
6
+ cursor: pointer;
7
+ transition: all 0.3s ease-in-out;
8
+ &:hover{
9
+ background-color: ${r ? "" : o.colors.WHITE_4};
10
+ }
11
+ &:nth-child(1) {
12
+ transform: none;
13
+ }
14
+ &:nth-child(2) {
15
+ transform: translateX(-1px);
16
+ }
17
+ &:nth-child(3) {
18
+ transform: translateX(-2px);
19
+ }
20
+ &:nth-child(4) {
21
+ transform: translateY(-1px);
22
+ }
23
+ &:nth-child(5) {
24
+ transform: translate(-1px, -1px);
25
+ }
26
+ ${n ? "z-index:1;" : ""}
27
+ ${r ? "cursor: not-allowed;" : ""}
28
+ `
29
+ ), e = t(s)(
30
+ ({ theme: o }) => `
31
+ position: absolute;
32
+ top: 12px;
33
+ right: 12px;
34
+ border-radius: 20px;
35
+ background-color: ${o.colors.BLACK};
36
+ `
37
+ );
38
+ export {
39
+ e as CheckIcon,
40
+ p as TopicWrapper
41
+ };
42
+ //# sourceMappingURL=topic-selection-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topic-selection-styled.js","sources":["../../../../../src/features/trial-session/comps/topic-selection/topic-selection-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Check2Icon from '../../../../assets/line-icons/icons/check2';\n\nconst TopicWrapper = styled(FlexView)<{ $selected: boolean; $preventSelection: boolean }>(\n ({ theme, $selected, $preventSelection }) => `\n cursor: pointer;\n transition: all 0.3s ease-in-out;\n &:hover{\n background-color: ${$preventSelection ? '' : theme.colors.WHITE_4};\n }\n &:nth-child(1) {\n transform: none;\n }\n &:nth-child(2) {\n transform: translateX(-1px);\n }\n &:nth-child(3) {\n transform: translateX(-2px);\n }\n &:nth-child(4) {\n transform: translateY(-1px);\n }\n &:nth-child(5) {\n transform: translate(-1px, -1px);\n }\n ${$selected ? 'z-index:1;' : ''}\n ${$preventSelection ? 'cursor: not-allowed;' : ''}\n`,\n);\n\nconst CheckIcon = styled(Check2Icon)(\n ({ theme }) => `\n position: absolute;\n top: 12px;\n right: 12px;\n border-radius: 20px;\n background-color: ${theme.colors.BLACK};\n`,\n);\n\nexport { TopicWrapper, CheckIcon };\n"],"names":["TopicWrapper","styled","FlexView","theme","$selected","$preventSelection","CheckIcon","Check2Icon"],"mappings":";;;AAKM,MAAAA,IAAeC,EAAOC,CAAQ;AAAA,EAClC,CAAC,EAAE,OAAAC,GAAO,WAAAC,GAAW,mBAAAC,EAAwB,MAAA;AAAA;AAAA;AAAA;AAAA,wBAIvBA,IAAoB,KAAKF,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBjEC,IAAY,eAAe,EAAE;AAAA,IAC7BC,IAAoB,yBAAyB,EAAE;AAAA;AAEnD,GAEMC,IAAYL,EAAOM,CAAU;AAAA,EACjC,CAAC,EAAE,OAAAJ,EAAA,MAAY;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKKA,EAAM,OAAO,KAAK;AAAA;AAExC;"}
@@ -0,0 +1,84 @@
1
+ import { jsx as r, jsxs as g } from "react/jsx-runtime";
2
+ import { memo as H, useMemo as W, useCallback as T, useEffect as _ } from "react";
3
+ import $ from "../../../ui/layout/flex-view.js";
4
+ import b from "../../../ui/separator/separator.js";
5
+ import v from "../slide-header/index.js";
6
+ import { MAXIMUM_TOPICS_TO_SELECT as l, RIGHT_PANEL_CONTENT_WIDTH as L } from "../../trial-session-constants.js";
7
+ import { TopicWrapper as j, CheckIcon as k } from "./topic-selection-styled.js";
8
+ import N from "../../../ui/image/image.js";
9
+ import P from "../../../ui/text/text.js";
10
+ import { useGetTrialTopics as B } from "../../api/trial-topics.js";
11
+ import M from "../../../ui/loader/app-loader/app-loader.js";
12
+ import F from "../../../ui/error/error.js";
13
+ import { useTrialSessionContext as G } from "../../context/use-trial-session-context.js";
14
+ const O = H(() => {
15
+ const { formData: C, trialHomeData: S, updateSlideConfig: m, updateButtonState: d } = G(), { grade: c = 2, course: n, selectedTopics: o = [] } = C || {}, { demo_info: I } = S, { region_data: y } = I, { opportunity_country: p = "US" } = y || {}, {
16
+ get: f,
17
+ data: i,
18
+ isProcessed: u,
19
+ isProcessing: x,
20
+ isProcessingFailed: A
21
+ } = B("trial-v3-topics"), h = o.length === l, E = W(() => {
22
+ var s;
23
+ if (!i || !c) return [];
24
+ const e = ((s = i == null ? void 0 : i[p]) == null ? void 0 : s[Number(c)]) ?? {}, t = n && e[n] ? e[n] : e.default;
25
+ return Array.isArray(t) ? t : [];
26
+ }, [p, n, c, i]), a = T(() => {
27
+ u || f("trial-v3-topics");
28
+ }, [f, u]), D = T(
29
+ (e) => {
30
+ const t = o.includes(e), s = t ? o.filter((w) => w !== e) : [...o, e];
31
+ !t && o.length >= l || m({ selectedTopics: s });
32
+ },
33
+ [o, m]
34
+ );
35
+ return _(() => {
36
+ a();
37
+ }, [a]), _(() => {
38
+ d("right", { isDisabled: !h, isLoading: !1 });
39
+ }, [h, d]), A ? /* @__PURE__ */ r(F, { height: "100vh", onTryAgain: a }) : x || !i ? /* @__PURE__ */ r(M, { height: "100vh" }) : /* @__PURE__ */ g($, { $justifyContent: "center", $alignItems: "center", children: [
40
+ /* @__PURE__ */ r(b, { height: 60 }),
41
+ /* @__PURE__ */ r(v, {}),
42
+ /* @__PURE__ */ r(
43
+ $,
44
+ {
45
+ $width: L - 100,
46
+ $justifyContent: "center",
47
+ $alignItems: "center",
48
+ $flexDirection: "row",
49
+ $flexWrap: !0,
50
+ children: E.map((e) => {
51
+ const t = o.includes(e.topic_name);
52
+ return /* @__PURE__ */ g(
53
+ j,
54
+ {
55
+ $width: 200,
56
+ $height: 200,
57
+ $flexDirection: "column",
58
+ $alignItems: "center",
59
+ $justifyContent: "center",
60
+ $borderColor: t ? "BLACK" : "BLACK_T_38",
61
+ $background: t ? "WHITE_4" : "WHITE",
62
+ $flexGap: 2,
63
+ $position: "relative",
64
+ $selected: t,
65
+ $preventSelection: !t && o.length >= l,
66
+ onClick: () => D(e.topic_name),
67
+ children: [
68
+ t ? /* @__PURE__ */ r(k, { color: "WHITE", height: 20, width: 20 }) : null,
69
+ /* @__PURE__ */ r(N, { width: 88, height: 88, src: e.topic_image_url, alt: e.topic_name }),
70
+ /* @__PURE__ */ r(P, { $renderAs: "ab2", children: e.topic_name })
71
+ ]
72
+ },
73
+ e.topic_name
74
+ );
75
+ })
76
+ }
77
+ )
78
+ ] });
79
+ });
80
+ O.displayName = "TopicSelection";
81
+ export {
82
+ O as default
83
+ };
84
+ //# sourceMappingURL=topic-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topic-selection.js","sources":["../../../../../src/features/trial-session/comps/topic-selection/topic-selection.tsx"],"sourcesContent":["import { memo, useCallback, useEffect, useMemo } from 'react';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport SlideHeader from '../slide-header';\nimport { MAXIMUM_TOPICS_TO_SELECT, RIGHT_PANEL_CONTENT_WIDTH } from '../../trial-session-constants';\nimport * as Styled from './topic-selection-styled';\nimport Image from '../../../ui/image/image';\nimport Text from '../../../ui/text/text';\nimport { useGetTrialTopics } from '../../api/trial-topics';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport Error from '../../../ui/error/error';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\n\nconst TopicSelection = memo(() => {\n const { formData, trialHomeData, updateSlideConfig, updateButtonState } =\n useTrialSessionContext();\n const { grade = 2, course, selectedTopics = [] } = formData || {};\n const { demo_info: demoInfo } = trialHomeData;\n const { region_data: regionData } = demoInfo;\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n\n const {\n get: getTrialTopics,\n data: trialTopics,\n isProcessed,\n isProcessing,\n isProcessingFailed,\n } = useGetTrialTopics('trial-v3-topics');\n const hasRequiredFields = Boolean(selectedTopics.length === MAXIMUM_TOPICS_TO_SELECT);\n\n const topicsToShow = useMemo(() => {\n if (!trialTopics || !grade) return [];\n\n const topicsWithCourse = trialTopics?.[countryCode]?.[Number(grade)] ?? {};\n const topics =\n course && topicsWithCourse[course] ? topicsWithCourse[course] : topicsWithCourse['default'];\n\n return Array.isArray(topics) ? topics : [];\n }, [countryCode, course, grade, trialTopics]);\n\n const fetchData = useCallback(() => {\n if (!isProcessed) {\n getTrialTopics('trial-v3-topics');\n }\n }, [getTrialTopics, isProcessed]);\n\n const handleClick = useCallback(\n (topicTitle: string) => {\n const isAlreadySelected = selectedTopics.includes(topicTitle);\n const updatedTopics = isAlreadySelected\n ? selectedTopics.filter(topic => topic !== topicTitle)\n : [...selectedTopics, topicTitle];\n\n if (!isAlreadySelected && selectedTopics.length >= MAXIMUM_TOPICS_TO_SELECT) return;\n\n updateSlideConfig({ selectedTopics: updatedTopics });\n },\n [selectedTopics, updateSlideConfig],\n );\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n useEffect(() => {\n updateButtonState('right', { isDisabled: !hasRequiredFields, isLoading: false });\n }, [hasRequiredFields, updateButtonState]);\n\n if (isProcessingFailed) return <Error height=\"100vh\" onTryAgain={fetchData} />;\n\n if (isProcessing || !trialTopics) return <AppLoader height=\"100vh\" />;\n\n return (\n <FlexView $justifyContent=\"center\" $alignItems=\"center\">\n <Separator height={60} />\n <SlideHeader />\n <FlexView\n $width={RIGHT_PANEL_CONTENT_WIDTH - 100}\n $justifyContent=\"center\"\n $alignItems=\"center\"\n $flexDirection=\"row\"\n $flexWrap\n >\n {topicsToShow.map(topic => {\n const isSelected = selectedTopics.includes(topic.topic_name);\n\n return (\n <Styled.TopicWrapper\n key={topic.topic_name}\n $width={200}\n $height={200}\n $flexDirection=\"column\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n $borderColor={isSelected ? 'BLACK' : 'BLACK_T_38'}\n $background={isSelected ? 'WHITE_4' : 'WHITE'}\n $flexGap={2}\n $position=\"relative\"\n $selected={isSelected}\n $preventSelection={!isSelected && selectedTopics.length >= MAXIMUM_TOPICS_TO_SELECT}\n onClick={() => handleClick(topic.topic_name)}\n >\n {isSelected ? <Styled.CheckIcon color=\"WHITE\" height={20} width={20} /> : null}\n <Image width={88} height={88} src={topic.topic_image_url} alt={topic.topic_name} />\n <Text $renderAs=\"ab2\">{topic.topic_name}</Text>\n </Styled.TopicWrapper>\n );\n })}\n </FlexView>\n </FlexView>\n );\n});\n\nTopicSelection.displayName = 'TopicSelection';\n\nexport default TopicSelection;\n"],"names":["TopicSelection","memo","formData","trialHomeData","updateSlideConfig","updateButtonState","useTrialSessionContext","grade","course","selectedTopics","demoInfo","regionData","countryCode","getTrialTopics","trialTopics","isProcessed","isProcessing","isProcessingFailed","useGetTrialTopics","hasRequiredFields","MAXIMUM_TOPICS_TO_SELECT","topicsToShow","useMemo","topicsWithCourse","_a","topics","fetchData","useCallback","handleClick","topicTitle","isAlreadySelected","updatedTopics","topic","useEffect","jsx","Error","AppLoader","jsxs","FlexView","Separator","SlideHeader","RIGHT_PANEL_CONTENT_WIDTH","isSelected","Styled.TopicWrapper","Styled.CheckIcon","Image","Text"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import o from "styled-components";
2
+ import t from "../../../ui/layout/flex-view.js";
3
+ const p = o.div`
4
+ width: 100%;
5
+ height: 100%;
6
+ overflow: auto;
7
+ `, i = o(t)(
8
+ ({ theme: r }) => `
9
+ border-radius: ${r.layout.gutter * 0.5}px ${r.layout.gutter * 0.5}px 0 0;
10
+ box-shadow: 0 0px 12px 0 rgba(0, 0, 0, 0.15);
11
+ margin: auto;
12
+ `
13
+ ), d = o(t)`
14
+ overflow: hidden;
15
+ `;
16
+ export {
17
+ p as Container,
18
+ d as CueCanvasWrapper,
19
+ i as ToolbarWrapper
20
+ };
21
+ //# sourceMappingURL=whiteboard-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whiteboard-styled.js","sources":["../../../../../src/features/trial-session/comps/whiteboard/whiteboard-styled.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\nconst Container = styled.div`\n width: 100%;\n height: 100%;\n overflow: auto;\n`;\n\nconst ToolbarWrapper = styled(FlexView)(\n ({ theme }) => `\n border-radius: ${theme.layout.gutter * 0.5}px ${theme.layout.gutter * 0.5}px 0 0;\n box-shadow: 0 0px 12px 0 rgba(0, 0, 0, 0.15);\n margin: auto;\n`,\n);\n\nconst CueCanvasWrapper = styled(FlexView)`\n overflow: hidden;\n`;\n\nexport { Container, ToolbarWrapper, CueCanvasWrapper };\n"],"names":["Container","styled","ToolbarWrapper","FlexView","theme","CueCanvasWrapper"],"mappings":";;AAIA,MAAMA,IAAYC,EAAO;AAAA;AAAA;AAAA;AAAA,GAMnBC,IAAiBD,EAAOE,CAAQ;AAAA,EACpC,CAAC,EAAE,OAAAC,EAAA,MAAY;AAAA,mBACEA,EAAM,OAAO,SAAS,GAAG,MAAMA,EAAM,OAAO,SAAS,GAAG;AAAA;AAAA;AAAA;AAI3E,GAEMC,IAAmBJ,EAAOE,CAAQ;AAAA;AAAA;"}
@@ -0,0 +1,99 @@
1
+ import { jsxs as T, jsx as e } from "react/jsx-runtime";
2
+ import { memo as H, useState as U, useCallback as i } from "react";
3
+ import y from "../../../cue-canvas/cue-canvas.js";
4
+ import W from "../../../cue-canvas/cue-canvas-provider.js";
5
+ import c from "../../../ui/layout/flex-view.js";
6
+ import x from "../../../cue-canvas/sidebar/sidebar.js";
7
+ import B from "../../../cue-canvas/toolbar/toolbar.js";
8
+ import O from "../../../cue-canvas/bottombar/homework-controls.js";
9
+ import K from "../../../worksheet/learnosity-preloader/learnosity-preloader.js";
10
+ import { LEARNOSITY_QUESTIONS_API as j, LEARNOSITY_QUESTIONS_API_FALLBACK as D } from "../../../worksheet/worksheet/stories/worksheet-story-container.js";
11
+ import { useUIContext as G } from "../../../ui/context/context.js";
12
+ import { useTrialSessionContext as Y } from "../../context/use-trial-session-context.js";
13
+ import { USER_TYPE as I } from "../../../timeline/daily-timeline/daily-timeline-types.js";
14
+ import { Container as F, CueCanvasWrapper as M, ToolbarWrapper as Q } from "./whiteboard-styled.js";
15
+ import X from "../slide-header/index.js";
16
+ import v from "../../../ui/separator/separator.js";
17
+ import { RIGHT_PANEL_CONTENT_WIDTH as E } from "../../trial-session-constants.js";
18
+ import q from "../../../cue-canvas/hooks/use-canvas-sync-broker.js";
19
+ const V = 455, Ce = H(function() {
20
+ const { isTeacher: r, teacherId: l, studentId: g, teacherClassroomId: s } = Y(), [w, h] = U(), { onEvent: m } = G(), u = `trial_whiteboard_${s}`, S = `whiteboard_${s}_${l}`, a = r ? I.TEACHER : I.STUDENT, p = r ? "teacherPublished" : "studentPublished", b = r ? "studentPublished" : "teacherPublished", n = s === "teacherClassroomId", C = i(
21
+ (o, t) => {
22
+ m(o, t ?? {});
23
+ },
24
+ [m]
25
+ ), _ = i(
26
+ (o) => {
27
+ h((t) => ({
28
+ ...t ?? {},
29
+ ...o
30
+ }));
31
+ },
32
+ [h]
33
+ ), A = i(
34
+ (o) => {
35
+ const t = new CustomEvent(p, {
36
+ detail: { data: o }
37
+ });
38
+ return window.dispatchEvent(t), !0;
39
+ },
40
+ [p]
41
+ ), $ = i(
42
+ (o, t) => {
43
+ window.addEventListener(b, (f) => {
44
+ const R = f;
45
+ console.log("Attaching callback for question with id & callback", o, t), t(R.detail.data.eventPayload);
46
+ });
47
+ },
48
+ [b]
49
+ ), {
50
+ publishStrokes: P,
51
+ initialStrokesData: d,
52
+ registerCallback: k,
53
+ channelMetadata: L,
54
+ setChannelMetadata: N
55
+ } = q(S, C, void 0, "whiteboard");
56
+ return /* @__PURE__ */ T(F, { children: [
57
+ /* @__PURE__ */ e(v, { height: 60 }),
58
+ /* @__PURE__ */ e(X, {}),
59
+ /* @__PURE__ */ e(
60
+ K,
61
+ {
62
+ apiURL: j,
63
+ fallbackAPIURL: D,
64
+ logger: C,
65
+ children: /* @__PURE__ */ e(W, { userType: a, renderAs: "whiteboard", children: /* @__PURE__ */ e(c, { $alignItems: "center", $justifyContent: "center", children: /* @__PURE__ */ T(M, { hidden: !0, $background: "WHITE", $borderColor: "BLACK", children: [
66
+ /* @__PURE__ */ e(c, { $position: "absolute", $gutterX: 0.5, $gapX: 0.5, children: /* @__PURE__ */ e(x, {}) }),
67
+ /* @__PURE__ */ e(
68
+ y,
69
+ {
70
+ canvasId: u,
71
+ userId: r ? l : g,
72
+ width: E,
73
+ height: V,
74
+ canScribble: !0,
75
+ canRender: !0,
76
+ appended: !0,
77
+ onPublish: n ? A : P,
78
+ onSubscribe: n ? $ : k,
79
+ initialData: d == null ? void 0 : d[u],
80
+ userType: a,
81
+ renderAs: "whiteboard",
82
+ canvasConfig: n ? w : L,
83
+ updateCanvasConfig: n ? _ : N
84
+ },
85
+ `${a}-whiteboard`
86
+ ),
87
+ /* @__PURE__ */ e(c, { $width: "100%", $height: 1, $background: "BLACK_T_08" }),
88
+ /* @__PURE__ */ e(v, { height: 2 }),
89
+ /* @__PURE__ */ e(Q, { $borderColor: "BLACK_T_08", children: /* @__PURE__ */ e(B, { userType: a, renderAs: "whiteboard", withGutter: !1 }) }),
90
+ /* @__PURE__ */ e(O, { width: E })
91
+ ] }) }) })
92
+ }
93
+ )
94
+ ] });
95
+ });
96
+ export {
97
+ Ce as default
98
+ };
99
+ //# sourceMappingURL=whiteboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whiteboard.js","sources":["../../../../../src/features/trial-session/comps/whiteboard/whiteboard.tsx"],"sourcesContent":["import { type FC, memo, useCallback, useState } from 'react';\n\nimport CueCanvas from '../../../cue-canvas/cue-canvas';\nimport CueCanvasProvider from '../../../cue-canvas/cue-canvas-provider';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Sidebar from '../../../cue-canvas/sidebar/sidebar';\nimport type {\n IActionData,\n ICanvasUpdateConfig,\n IPublishData,\n} from '../../../cue-canvas/types/cue-canvas';\nimport Toolbar from '../../../cue-canvas/toolbar/toolbar';\nimport HomeworkControls from '../../../cue-canvas/bottombar/homework-controls';\nimport LearnosityPreloader from '../../../worksheet/learnosity-preloader/learnosity-preloader';\nimport {\n LEARNOSITY_QUESTIONS_API,\n LEARNOSITY_QUESTIONS_API_FALLBACK,\n} from '../../../worksheet/worksheet/stories/worksheet-story-container';\nimport { useUIContext } from '../../../ui/context/context';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { USER_TYPE } from '../../../timeline/daily-timeline/daily-timeline-types';\nimport * as Styled from './whiteboard-styled';\nimport SlideHeader from '../slide-header';\nimport Separator from '../../../ui/separator/separator';\nimport { RIGHT_PANEL_CONTENT_WIDTH } from '../../trial-session-constants';\nimport useCanvasSyncBroker from '../../../cue-canvas/hooks/use-canvas-sync-broker';\n\nconst WHITEBOARD_HEIGHT = 455;\n\ninterface IEventData {\n data: {\n eventPayload: IActionData;\n };\n}\n\nconst Whiteboard: FC = memo(function Whiteboard() {\n const { isTeacher, teacherId, studentId, teacherClassroomId } = useTrialSessionContext();\n const [canvasConfig, setCanvasConfig] = useState<ICanvasUpdateConfig>();\n const { onEvent: trackEvent } = useUIContext();\n\n const canvasId = `trial_whiteboard_${teacherClassroomId}`;\n const channelId = `whiteboard_${teacherClassroomId}_${teacherId}`;\n const userType = isTeacher ? USER_TYPE.TEACHER : USER_TYPE.STUDENT;\n const publishName = isTeacher ? 'teacherPublished' : 'studentPublished';\n const subscribeName = isTeacher ? 'studentPublished' : 'teacherPublished';\n const isTestClass = teacherClassroomId === 'teacherClassroomId';\n\n const logger = useCallback(\n (eventName: string, data?: Record<string, unknown>) => {\n const payload = data ?? {};\n\n trackEvent(eventName, payload);\n },\n [trackEvent],\n );\n\n const handleUpdateConfig = useCallback(\n (data: ICanvasUpdateConfig) => {\n setCanvasConfig(prevConfig => ({\n ...(prevConfig ?? {}),\n ...data,\n }));\n },\n [setCanvasConfig],\n );\n\n const onPublishStroke = useCallback(\n (data: IPublishData) => {\n const event = new CustomEvent(publishName, {\n detail: { data },\n });\n\n window.dispatchEvent(event);\n\n return true;\n },\n [publishName],\n );\n\n const onReceiveStroke = useCallback(\n (id: string, cb: (data: IActionData) => void) => {\n window.addEventListener(subscribeName, event => {\n const customEvent = event as CustomEvent<IEventData>;\n\n // eslint-disable-next-line no-console\n console.log('Attaching callback for question with id & callback', id, cb);\n\n cb(customEvent.detail.data.eventPayload);\n });\n },\n [subscribeName],\n );\n\n const {\n publishStrokes,\n initialStrokesData,\n registerCallback,\n channelMetadata,\n setChannelMetadata,\n } = useCanvasSyncBroker(channelId, logger, undefined, 'whiteboard');\n\n return (\n <Styled.Container>\n <Separator height={60} />\n <SlideHeader />\n <LearnosityPreloader\n apiURL={LEARNOSITY_QUESTIONS_API}\n fallbackAPIURL={LEARNOSITY_QUESTIONS_API_FALLBACK}\n logger={logger}\n >\n <CueCanvasProvider userType={userType} renderAs=\"whiteboard\">\n <FlexView $alignItems=\"center\" $justifyContent=\"center\">\n <Styled.CueCanvasWrapper hidden $background=\"WHITE\" $borderColor=\"BLACK\">\n <FlexView $position=\"absolute\" $gutterX={0.5} $gapX={0.5}>\n <Sidebar />\n </FlexView>\n <CueCanvas\n key={`${userType}-whiteboard`}\n canvasId={canvasId}\n userId={isTeacher ? teacherId : studentId}\n width={RIGHT_PANEL_CONTENT_WIDTH}\n height={WHITEBOARD_HEIGHT}\n canScribble\n canRender\n appended\n onPublish={isTestClass ? onPublishStroke : publishStrokes}\n onSubscribe={isTestClass ? onReceiveStroke : registerCallback}\n initialData={initialStrokesData?.[canvasId]}\n userType={userType}\n renderAs=\"whiteboard\"\n canvasConfig={isTestClass ? canvasConfig : channelMetadata}\n updateCanvasConfig={isTestClass ? handleUpdateConfig : setChannelMetadata}\n />\n <FlexView $width=\"100%\" $height={1} $background=\"BLACK_T_08\" />\n <Separator height={2} />\n <Styled.ToolbarWrapper $borderColor=\"BLACK_T_08\">\n <Toolbar userType={userType} renderAs=\"whiteboard\" withGutter={false} />\n </Styled.ToolbarWrapper>\n <HomeworkControls width={RIGHT_PANEL_CONTENT_WIDTH} />\n </Styled.CueCanvasWrapper>\n </FlexView>\n </CueCanvasProvider>\n </LearnosityPreloader>\n </Styled.Container>\n );\n});\n\nexport default Whiteboard;\n"],"names":["WHITEBOARD_HEIGHT","Whiteboard","memo","isTeacher","teacherId","studentId","teacherClassroomId","useTrialSessionContext","canvasConfig","setCanvasConfig","useState","trackEvent","useUIContext","canvasId","channelId","userType","USER_TYPE","publishName","subscribeName","isTestClass","logger","useCallback","eventName","data","handleUpdateConfig","prevConfig","onPublishStroke","event","onReceiveStroke","id","cb","customEvent","publishStrokes","initialStrokesData","registerCallback","channelMetadata","setChannelMetadata","useCanvasSyncBroker","jsxs","Styled.Container","jsx","Separator","SlideHeader","LearnosityPreloader","LEARNOSITY_QUESTIONS_API","LEARNOSITY_QUESTIONS_API_FALLBACK","CueCanvasProvider","FlexView","Styled.CueCanvasWrapper","Sidebar","CueCanvas","RIGHT_PANEL_CONTENT_WIDTH","Styled.ToolbarWrapper","Toolbar","HomeworkControls"],"mappings":"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"}
@@ -1,52 +1,54 @@
1
- import { jsx as l } from "react/jsx-runtime";
2
- import { useState as h, useMemo as k, useCallback as G, useEffect as H } from "react";
3
- import M from "../../../ui/error/error.js";
4
- import N from "../../../ui/loader/app-loader/app-loader.js";
5
- import { useResumeTrialWorksheet as x } from "../../api/trial-nodes.js";
6
- import { useTrialSessionContext as D } from "../../context/use-trial-session-context.js";
7
- import { GOAL_CATEGORY as U } from "../../../milestone/constants.js";
8
- import { HIGH_ENROLLMENT_PROGRAMS_MAP as W } from "../../trial-session-constants.js";
9
- const F = () => {
10
- const { isTeacher: n, studentId: i, worksheet: a, formData: S, updateSlideConfig: g, trialHomeData: C } = D(), [y, c] = h(!1), [d, A] = h(!1), { goals: o, resetAttempt: t } = S || {}, { demo_info: I } = C, { region_data: T, course: m } = I || {}, { opportunity_country: f = "US" } = T || {}, { program_code: u = "" } = k(
11
- () => (o == null ? void 0 : o.find((e) => e.goal_category === U.SCHOOL_SUCCESS)) ?? {},
1
+ import { jsx as h } from "react/jsx-runtime";
2
+ import { useState as S, useMemo as G, useCallback as H, useEffect as M } from "react";
3
+ import N from "../../../ui/error/error.js";
4
+ import x from "../../../ui/loader/app-loader/app-loader.js";
5
+ import { useResumeTrialWorksheet as D } from "../../api/trial-nodes.js";
6
+ import { useTrialSessionContext as U } from "../../context/use-trial-session-context.js";
7
+ import { GOAL_CATEGORY as W } from "../../../milestone/constants.js";
8
+ import { HIGH_ENROLLMENT_PROGRAMS_MAP as b } from "../../trial-session-constants.js";
9
+ const J = () => {
10
+ const { isTeacher: n, studentId: i, worksheet: a, formData: g, demoType: c, updateSlideConfig: y, trialHomeData: C } = U(), [T, d] = S(!1), [m, A] = S(!1), { goals: o, resetAttempt: t } = g || {}, { demo_info: I } = C, { region_data: E, course: p } = I || {}, { opportunity_country: f = "US" } = E || {}, { program_code: u = "" } = G(
11
+ () => (o == null ? void 0 : o.find((e) => e.goal_category === W.SCHOOL_SUCCESS)) ?? {},
12
12
  [o]
13
- ), E = (e, _) => {
14
- if (e && c(!0), _) {
13
+ ), P = (e, l) => {
14
+ if (e && d(!0), l) {
15
15
  const {
16
- user_node_id: P,
17
- node_id: O,
18
- user_attempt_id: L,
19
- node_type: R
20
- } = _;
21
- A(!0), g({ userNodeId: P, nodeId: O, attemptId: L, nodeType: R, resetAttempt: !1 });
16
+ user_node_id: O,
17
+ node_id: L,
18
+ user_attempt_id: R,
19
+ node_type: k
20
+ } = l;
21
+ A(!0), y({ userNodeId: O, nodeId: L, attemptId: R, nodeType: k, resetAttempt: !1 });
22
22
  }
23
- }, { patch: p, isProcessing: r } = x({
24
- onComplete: E
25
- }), s = G(() => {
26
- if (n && !r && !d) {
27
- const e = W[u] || m;
28
- c(!1), p(i, {
23
+ }, { patch: _, isProcessing: r } = D({
24
+ onComplete: P
25
+ }), s = H(() => {
26
+ if (n && !r && !m) {
27
+ const e = b[u] || p;
28
+ d(!1), _(i, {
29
29
  course: e,
30
30
  country_code: f,
31
+ demo_type: c,
31
32
  reset_attempt: t === void 0 || t
32
33
  });
33
34
  }
34
35
  }, [
35
- f,
36
+ n,
37
+ r,
36
38
  m,
37
39
  u,
38
- n,
39
40
  p,
41
+ _,
40
42
  i,
41
- t,
42
- r,
43
- d
43
+ f,
44
+ c,
45
+ t
44
46
  ]);
45
- return H(() => {
47
+ return M(() => {
46
48
  s();
47
- }, [s]), y ? /* @__PURE__ */ l(M, { height: "100%", onTryAgain: s }) : r || !a ? /* @__PURE__ */ l(N, { height: "100%" }) : a;
49
+ }, [s]), T ? /* @__PURE__ */ h(N, { height: "100%", onTryAgain: s }) : r || !a ? /* @__PURE__ */ h(x, { height: "100%" }) : a;
48
50
  };
49
51
  export {
50
- F as default
52
+ J as default
51
53
  };
52
54
  //# sourceMappingURL=worksheet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet.js","sources":["../../../../../src/features/trial-session/comps/worksheet/worksheet.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport type { IResumeWorksheetModel } from '../../../../types/models/worksheet';\nimport Error from '../../../ui/error/error';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport { useResumeTrialWorksheet } from '../../api/trial-nodes';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { GOAL_CATEGORY } from '../../../milestone/constants';\nimport { HIGH_ENROLLMENT_PROGRAMS_MAP } from '../../trial-session-constants';\n\nconst SessionWorksheet: FC = () => {\n const { isTeacher, studentId, worksheet, formData, updateSlideConfig, trialHomeData } =\n useTrialSessionContext();\n const [isError, setIserror] = useState<boolean>(false);\n const [isPatchProcessed, setIsPatchProcessed] = useState(false);\n\n const { goals, resetAttempt } = formData || {};\n const { demo_info: demoInfo } = trialHomeData;\n const { region_data: regionData, course } = demoInfo || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n\n const { program_code: programCode = '' } = useMemo(\n () => goals?.find(goal => goal.goal_category === GOAL_CATEGORY.SCHOOL_SUCCESS) ?? {},\n [goals],\n );\n\n const onComplete = (error: string | null, sheetData?: IResumeWorksheetModel) => {\n if (error) {\n setIserror(true);\n }\n\n if (sheetData) {\n const {\n user_node_id: userNodeId,\n node_id: nodeId,\n user_attempt_id: attemptId,\n node_type: nodeType,\n } = sheetData;\n\n setIsPatchProcessed(true);\n updateSlideConfig({ userNodeId, nodeId, attemptId, nodeType, resetAttempt: false });\n }\n };\n\n const { patch: resumeNode, isProcessing } = useResumeTrialWorksheet({\n onComplete,\n });\n\n const fetchData = useCallback(() => {\n if (isTeacher && !isProcessing && !isPatchProcessed) {\n const courseToSend =\n HIGH_ENROLLMENT_PROGRAMS_MAP[programCode as keyof typeof HIGH_ENROLLMENT_PROGRAMS_MAP] ||\n course;\n\n setIserror(false);\n resumeNode(studentId, {\n course: courseToSend,\n country_code: countryCode,\n reset_attempt: resetAttempt === undefined || resetAttempt,\n });\n }\n }, [\n countryCode,\n course,\n programCode,\n isTeacher,\n resumeNode,\n studentId,\n resetAttempt,\n isProcessing,\n isPatchProcessed,\n ]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n if (isError) {\n return <Error height=\"100%\" onTryAgain={fetchData} />;\n }\n\n if (isProcessing || !worksheet) {\n return <AppLoader height=\"100%\" />;\n }\n\n return worksheet;\n};\n\nexport default SessionWorksheet;\n"],"names":["SessionWorksheet","isTeacher","studentId","worksheet","formData","updateSlideConfig","trialHomeData","useTrialSessionContext","isError","setIserror","useState","isPatchProcessed","setIsPatchProcessed","goals","resetAttempt","demoInfo","regionData","course","countryCode","programCode","useMemo","goal","GOAL_CATEGORY","onComplete","error","sheetData","userNodeId","nodeId","attemptId","nodeType","resumeNode","isProcessing","useResumeTrialWorksheet","fetchData","useCallback","courseToSend","HIGH_ENROLLMENT_PROGRAMS_MAP","useEffect","jsx","Error","AppLoader"],"mappings":";;;;;;;;AAUA,MAAMA,IAAuB,MAAM;AAC3B,QAAA,EAAE,WAAAC,GAAW,WAAAC,GAAW,WAAAC,GAAW,UAAAC,GAAU,mBAAAC,GAAmB,eAAAC,MACpEC,KACI,CAACC,GAASC,CAAU,IAAIC,EAAkB,EAAK,GAC/C,CAACC,GAAkBC,CAAmB,IAAIF,EAAS,EAAK,GAExD,EAAE,OAAAG,GAAO,cAAAC,MAAiBV,KAAY,CAAA,GACtC,EAAE,WAAWW,EAAa,IAAAT,GAC1B,EAAE,aAAaU,GAAY,QAAAC,EAAO,IAAIF,KAAY,CAAA,GAClD,EAAE,qBAAqBG,IAAc,KAAK,IAAIF,KAAc,CAAA,GAE5D,EAAE,cAAcG,IAAc,GAAO,IAAAC;AAAA,IACzC,OAAMP,KAAA,gBAAAA,EAAO,KAAK,CAAAQ,MAAQA,EAAK,kBAAkBC,EAAc,oBAAmB,CAAC;AAAA,IACnF,CAACT,CAAK;AAAA,EAAA,GAGFU,IAAa,CAACC,GAAsBC,MAAsC;AAK9E,QAJID,KACFf,EAAW,EAAI,GAGbgB,GAAW;AACP,YAAA;AAAA,QACJ,cAAcC;AAAA,QACd,SAASC;AAAA,QACT,iBAAiBC;AAAA,QACjB,WAAWC;AAAA,MACT,IAAAJ;AAEJ,MAAAb,EAAoB,EAAI,GACxBP,EAAkB,EAAE,YAAAqB,GAAY,QAAAC,GAAQ,WAAAC,GAAW,UAAAC,GAAU,cAAc,IAAO;AAAA,IACpF;AAAA,EAAA,GAGI,EAAE,OAAOC,GAAY,cAAAC,EAAA,IAAiBC,EAAwB;AAAA,IAClE,YAAAT;AAAA,EAAA,CACD,GAEKU,IAAYC,EAAY,MAAM;AAClC,QAAIjC,KAAa,CAAC8B,KAAgB,CAACpB,GAAkB;AAC7C,YAAAwB,IACJC,EAA6BjB,CAAwD,KACrFF;AAEF,MAAAR,EAAW,EAAK,GAChBqB,EAAW5B,GAAW;AAAA,QACpB,QAAQiC;AAAA,QACR,cAAcjB;AAAA,QACd,eAAeJ,MAAiB,UAAaA;AAAA,MAAA,CAC9C;AAAA,IACH;AAAA,EAAA,GACC;AAAA,IACDI;AAAA,IACAD;AAAA,IACAE;AAAA,IACAlB;AAAA,IACA6B;AAAA,IACA5B;AAAA,IACAY;AAAA,IACAiB;AAAA,IACApB;AAAA,EAAA,CACD;AAMD,SAJA0B,EAAU,MAAM;AACJ,IAAAJ;EAAA,GACT,CAACA,CAAS,CAAC,GAEVzB,IACM,gBAAA8B,EAAAC,GAAA,EAAM,QAAO,QAAO,YAAYN,EAAW,CAAA,IAGjDF,KAAgB,CAAC5B,IACZ,gBAAAmC,EAACE,GAAU,EAAA,QAAO,OAAO,CAAA,IAG3BrC;AACT;"}
1
+ {"version":3,"file":"worksheet.js","sources":["../../../../../src/features/trial-session/comps/worksheet/worksheet.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState, type FC } from 'react';\n\nimport type { IResumeWorksheetModel } from '../../../../types/models/worksheet';\nimport Error from '../../../ui/error/error';\nimport AppLoader from '../../../ui/loader/app-loader/app-loader';\nimport { useResumeTrialWorksheet } from '../../api/trial-nodes';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { GOAL_CATEGORY } from '../../../milestone/constants';\nimport { HIGH_ENROLLMENT_PROGRAMS_MAP } from '../../trial-session-constants';\n\nconst SessionWorksheet: FC = () => {\n const { isTeacher, studentId, worksheet, formData, demoType, updateSlideConfig, trialHomeData } =\n useTrialSessionContext();\n const [isError, setIserror] = useState<boolean>(false);\n const [isPatchProcessed, setIsPatchProcessed] = useState(false);\n\n const { goals, resetAttempt } = formData || {};\n const { demo_info: demoInfo } = trialHomeData;\n const { region_data: regionData, course } = demoInfo || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n\n const { program_code: programCode = '' } = useMemo(\n () => goals?.find(goal => goal.goal_category === GOAL_CATEGORY.SCHOOL_SUCCESS) ?? {},\n [goals],\n );\n\n const onComplete = (error: string | null, sheetData?: IResumeWorksheetModel) => {\n if (error) {\n setIserror(true);\n }\n\n if (sheetData) {\n const {\n user_node_id: userNodeId,\n node_id: nodeId,\n user_attempt_id: attemptId,\n node_type: nodeType,\n } = sheetData;\n\n setIsPatchProcessed(true);\n updateSlideConfig({ userNodeId, nodeId, attemptId, nodeType, resetAttempt: false });\n }\n };\n\n const { patch: resumeNode, isProcessing } = useResumeTrialWorksheet({\n onComplete,\n });\n\n const fetchData = useCallback(() => {\n if (isTeacher && !isProcessing && !isPatchProcessed) {\n const courseToSend =\n HIGH_ENROLLMENT_PROGRAMS_MAP[programCode as keyof typeof HIGH_ENROLLMENT_PROGRAMS_MAP] ||\n course;\n\n setIserror(false);\n resumeNode(studentId, {\n course: courseToSend,\n country_code: countryCode,\n demo_type: demoType,\n reset_attempt: resetAttempt === undefined || resetAttempt,\n });\n }\n }, [\n isTeacher,\n isProcessing,\n isPatchProcessed,\n programCode,\n course,\n resumeNode,\n studentId,\n countryCode,\n demoType,\n resetAttempt,\n ]);\n\n useEffect(() => {\n fetchData();\n }, [fetchData]);\n\n if (isError) {\n return <Error height=\"100%\" onTryAgain={fetchData} />;\n }\n\n if (isProcessing || !worksheet) {\n return <AppLoader height=\"100%\" />;\n }\n\n return worksheet;\n};\n\nexport default SessionWorksheet;\n"],"names":["SessionWorksheet","isTeacher","studentId","worksheet","formData","demoType","updateSlideConfig","trialHomeData","useTrialSessionContext","isError","setIserror","useState","isPatchProcessed","setIsPatchProcessed","goals","resetAttempt","demoInfo","regionData","course","countryCode","programCode","useMemo","goal","GOAL_CATEGORY","onComplete","error","sheetData","userNodeId","nodeId","attemptId","nodeType","resumeNode","isProcessing","useResumeTrialWorksheet","fetchData","useCallback","courseToSend","HIGH_ENROLLMENT_PROGRAMS_MAP","useEffect","jsx","Error","AppLoader"],"mappings":";;;;;;;;AAUA,MAAMA,IAAuB,MAAM;AAC3B,QAAA,EAAE,WAAAC,GAAW,WAAAC,GAAW,WAAAC,GAAW,UAAAC,GAAU,UAAAC,GAAU,mBAAAC,GAAmB,eAAAC,MAC9EC,KACI,CAACC,GAASC,CAAU,IAAIC,EAAkB,EAAK,GAC/C,CAACC,GAAkBC,CAAmB,IAAIF,EAAS,EAAK,GAExD,EAAE,OAAAG,GAAO,cAAAC,MAAiBX,KAAY,CAAA,GACtC,EAAE,WAAWY,EAAa,IAAAT,GAC1B,EAAE,aAAaU,GAAY,QAAAC,EAAO,IAAIF,KAAY,CAAA,GAClD,EAAE,qBAAqBG,IAAc,KAAK,IAAIF,KAAc,CAAA,GAE5D,EAAE,cAAcG,IAAc,GAAO,IAAAC;AAAA,IACzC,OAAMP,KAAA,gBAAAA,EAAO,KAAK,CAAAQ,MAAQA,EAAK,kBAAkBC,EAAc,oBAAmB,CAAC;AAAA,IACnF,CAACT,CAAK;AAAA,EAAA,GAGFU,IAAa,CAACC,GAAsBC,MAAsC;AAK9E,QAJID,KACFf,EAAW,EAAI,GAGbgB,GAAW;AACP,YAAA;AAAA,QACJ,cAAcC;AAAA,QACd,SAASC;AAAA,QACT,iBAAiBC;AAAA,QACjB,WAAWC;AAAA,MACT,IAAAJ;AAEJ,MAAAb,EAAoB,EAAI,GACxBP,EAAkB,EAAE,YAAAqB,GAAY,QAAAC,GAAQ,WAAAC,GAAW,UAAAC,GAAU,cAAc,IAAO;AAAA,IACpF;AAAA,EAAA,GAGI,EAAE,OAAOC,GAAY,cAAAC,EAAA,IAAiBC,EAAwB;AAAA,IAClE,YAAAT;AAAA,EAAA,CACD,GAEKU,IAAYC,EAAY,MAAM;AAClC,QAAIlC,KAAa,CAAC+B,KAAgB,CAACpB,GAAkB;AAC7C,YAAAwB,IACJC,EAA6BjB,CAAwD,KACrFF;AAEF,MAAAR,EAAW,EAAK,GAChBqB,EAAW7B,GAAW;AAAA,QACpB,QAAQkC;AAAA,QACR,cAAcjB;AAAA,QACd,WAAWd;AAAA,QACX,eAAeU,MAAiB,UAAaA;AAAA,MAAA,CAC9C;AAAA,IACH;AAAA,EAAA,GACC;AAAA,IACDd;AAAA,IACA+B;AAAA,IACApB;AAAA,IACAQ;AAAA,IACAF;AAAA,IACAa;AAAA,IACA7B;AAAA,IACAiB;AAAA,IACAd;AAAA,IACAU;AAAA,EAAA,CACD;AAMD,SAJAuB,EAAU,MAAM;AACJ,IAAAJ;EAAA,GACT,CAACA,CAAS,CAAC,GAEVzB,IACM,gBAAA8B,EAAAC,GAAA,EAAM,QAAO,QAAO,YAAYN,EAAW,CAAA,IAGjDF,KAAgB,CAAC7B,IACZ,gBAAAoC,EAACE,GAAU,EAAA,QAAO,OAAO,CAAA,IAG3BtC;AACT;"}
@@ -4,6 +4,8 @@ const s = e({
4
4
  isTeacher: !1,
5
5
  slideConfig: {},
6
6
  formData: void 0,
7
+ demoType: "",
8
+ teacherClassroomId: "",
7
9
  milestoneConfig: {},
8
10
  updateSlideConfig: () => {
9
11
  },
@@ -1 +1 @@
1
- {"version":3,"file":"trial-session-context.js","sources":["../../../../src/features/trial-session/context/trial-session-context.tsx"],"sourcesContent":["import { createContext } from 'react';\n\nimport type { IMilestoneConfig } from '../../milestone/create/milestone-create-types';\nimport type { ITrialCircleGameParams } from '../comps/trial-circle-game/trial-circle-game-types';\nimport { DEFAULT_BUTTON_STATE } from '../trial-session-constants';\nimport type {\n IClassTimeAlertConfig,\n ISlide,\n ITrialHomeData,\n ITrialSessionContext,\n} from '../trial-session-types';\n\nconst TrialSessionContext = createContext<ITrialSessionContext>({\n isTeacher: false,\n slideConfig: {} as ISlide,\n formData: undefined,\n milestoneConfig: {} as IMilestoneConfig,\n updateSlideConfig: () => undefined,\n buttonState: DEFAULT_BUTTON_STATE,\n updateButtonState: () => undefined,\n teacherId: '',\n studentId: '',\n trialHomeData: {} as ITrialHomeData,\n openEndClassModal: () => undefined,\n studentAbsentInClass: false,\n circleGames: {} as ITrialCircleGameParams,\n trialGameUrl: '',\n handleInfoMessage: () => undefined,\n classTimeAlertConfig: {} as IClassTimeAlertConfig,\n classDuration: 0,\n});\n\nexport default TrialSessionContext;\n"],"names":["TrialSessionContext","createContext","DEFAULT_BUTTON_STATE"],"mappings":";;AAYA,MAAMA,IAAsBC,EAAoC;AAAA,EAC9D,WAAW;AAAA,EACX,aAAa,CAAC;AAAA,EACd,UAAU;AAAA,EACV,iBAAiB,CAAC;AAAA,EAClB,mBAAmB,MAAM;AAAA;AAAA,EACzB,aAAaC;AAAA,EACb,mBAAmB,MAAM;AAAA;AAAA,EACzB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,eAAe,CAAC;AAAA,EAChB,mBAAmB,MAAM;AAAA;AAAA,EACzB,sBAAsB;AAAA,EACtB,aAAa,CAAC;AAAA,EACd,cAAc;AAAA,EACd,mBAAmB,MAAM;AAAA;AAAA,EACzB,sBAAsB,CAAC;AAAA,EACvB,eAAe;AACjB,CAAC;"}
1
+ {"version":3,"file":"trial-session-context.js","sources":["../../../../src/features/trial-session/context/trial-session-context.tsx"],"sourcesContent":["import { createContext } from 'react';\n\nimport type { IMilestoneConfig } from '../../milestone/create/milestone-create-types';\nimport type { ITrialCircleGameParams } from '../comps/trial-circle-game/trial-circle-game-types';\nimport { DEFAULT_BUTTON_STATE } from '../trial-session-constants';\nimport type {\n IClassTimeAlertConfig,\n ISlide,\n ITrialHomeData,\n ITrialSessionContext,\n} from '../trial-session-types';\n\nconst TrialSessionContext = createContext<ITrialSessionContext>({\n isTeacher: false,\n slideConfig: {} as ISlide,\n formData: undefined,\n demoType: '',\n teacherClassroomId: '',\n milestoneConfig: {} as IMilestoneConfig,\n updateSlideConfig: () => undefined,\n buttonState: DEFAULT_BUTTON_STATE,\n updateButtonState: () => undefined,\n teacherId: '',\n studentId: '',\n trialHomeData: {} as ITrialHomeData,\n openEndClassModal: () => undefined,\n studentAbsentInClass: false,\n circleGames: {} as ITrialCircleGameParams,\n trialGameUrl: '',\n handleInfoMessage: () => undefined,\n classTimeAlertConfig: {} as IClassTimeAlertConfig,\n classDuration: 0,\n});\n\nexport default TrialSessionContext;\n"],"names":["TrialSessionContext","createContext","DEFAULT_BUTTON_STATE"],"mappings":";;AAYA,MAAMA,IAAsBC,EAAoC;AAAA,EAC9D,WAAW;AAAA,EACX,aAAa,CAAC;AAAA,EACd,UAAU;AAAA,EACV,UAAU;AAAA,EACV,oBAAoB;AAAA,EACpB,iBAAiB,CAAC;AAAA,EAClB,mBAAmB,MAAM;AAAA;AAAA,EACzB,aAAaC;AAAA,EACb,mBAAmB,MAAM;AAAA;AAAA,EACzB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,eAAe,CAAC;AAAA,EAChB,mBAAmB,MAAM;AAAA;AAAA,EACzB,sBAAsB;AAAA,EACtB,aAAa,CAAC;AAAA,EACd,cAAc;AAAA,EACd,mBAAmB,MAAM;AAAA;AAAA,EACzB,sBAAsB,CAAC;AAAA,EACvB,eAAe;AACjB,CAAC;"}
@@ -1,93 +1,99 @@
1
- import { DAYS as R } from "../../constants/date-time.js";
2
- import { getOffsetBetweenTimezone as D, convertEpochToDateTime as x, getTimeUnits as H, convertToMilliseconds as M } from "../../helpers/date-time.js";
3
- import { GOAL_CATEGORY as L } from "../milestone/constants.js";
1
+ import { DAYS as C } from "../../constants/date-time.js";
2
+ import { getOffsetBetweenTimezone as D, convertEpochToDateTime as H, getTimeUnits as M, convertToMilliseconds as w } from "../../helpers/date-time.js";
3
+ import { GOAL_CATEGORY as O } from "../milestone/constants.js";
4
4
  import { getGoalsFromConfig as G } from "../milestone/create/milestone-create-helpers.js";
5
- import { HIGH_ENROLLMENT_PROGRAMS_MAP as v, TrialPageId as s, TEACHER_TIMEZONE as w } from "./trial-session-constants.js";
6
- const V = (n) => n === "PLA", j = (n, t, r) => {
7
- const e = n ? [...n] : [], o = e.findIndex((i) => i.goal_category === t), c = {
8
- ...r,
5
+ import { HIGH_ENROLLMENT_PROGRAMS_MAP as v, TrialPageId as i, TEACHER_TIMEZONE as U } from "./trial-session-constants.js";
6
+ const j = (n) => n === "PLA", B = (n, t, a) => {
7
+ const e = n ? [...n] : [], r = e.findIndex((c) => c.goal_category === t), d = {
8
+ ...a,
9
9
  goal_category: t
10
10
  };
11
- return o === -1 ? e.push(c) : e[o] = {
12
- ...e[o],
13
- ...c
14
- }, e.filter((i) => i.goal_code);
15
- }, B = (n, t) => {
11
+ return r === -1 ? e.push(d) : e[r] = {
12
+ ...e[r],
13
+ ...d
14
+ }, e.filter((c) => c.goal_code);
15
+ }, W = (n, t) => {
16
16
  if (!t) return [];
17
- const r = (/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0), e = D(w, t), o = r + e, { day: c = "" } = x(o, t), i = R.indexOf(c);
18
- return n.length > 0 ? n.filter((g) => g.selectedDay && g.selectedTime).map((g) => {
19
- const { selectedDay: p, selectedTime: P } = g, { hours: y, minutes: m, period: u } = H(P), E = (R.indexOf(p) - i + 7) % 7;
17
+ const a = (/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0), e = D(U, t), r = a + e, { day: d = "" } = H(r, t), c = C.indexOf(d);
18
+ return n.length > 0 ? n.filter((l) => l.selectedDay && l.selectedTime).map((l) => {
19
+ const { selectedDay: E, selectedTime: I } = l, { hours: N, minutes: _, period: f } = M(I), u = (C.indexOf(E) - c + 7) % 7;
20
20
  return {
21
- id: r + e + M({ days: E, hours: y, minutes: m }),
22
- value: `${p}, ${P} - ${y + 1}:${m < 10 ? "0" : ""}${m} ${u}`
21
+ id: a + e + w({ days: u, hours: N, minutes: _ }),
22
+ value: `${E}, ${I} - ${N + 1}:${_ < 10 ? "0" : ""}${_} ${f}`
23
23
  // Formatted the value string as required
24
24
  };
25
25
  }) : [];
26
- }, W = (n) => n.filter((t) => typeof t.id == "number" && !isNaN(t.id)).map((t) => {
27
- const r = new Date(t.id), e = R[r.getDay()], o = e ? e.toLowerCase() : "unknown", c = r.getHours(), i = r.getMinutes(), g = `${c.toString().padStart(2, "0")}:${i.toString().padStart(2, "0")}:00`;
28
- return { weekday: o, start_time: g };
29
- }), Y = ({
26
+ }, Y = (n) => n.filter((t) => typeof t.id == "number" && !isNaN(t.id)).map((t) => {
27
+ const a = new Date(t.id), e = C[a.getDay()], r = e ? e.toLowerCase() : "unknown", d = a.getHours(), c = a.getMinutes(), l = `${d.toString().padStart(2, "0")}:${c.toString().padStart(2, "0")}:00`;
28
+ return { weekday: r, start_time: l };
29
+ }), Z = ({
30
30
  milestoneConfigData: n,
31
31
  trialHomeData: t,
32
- grade: r,
32
+ grade: a,
33
33
  goal: e
34
34
  }) => {
35
- var O, h;
36
- const { student: o, demo_info: c } = t, { grade: i, enrollment_type: g } = o || {}, { stream: p, region_data: P } = c || {}, { opportunity_country: y = "US" } = P || {}, m = (d) => G(n, {
37
- countryCode: y,
38
- grade: r || i || "",
39
- goalCategory: d,
40
- courseStream: p,
41
- enrollmentType: g
42
- }), u = m(L.TEST_PREP), l = m(L.ENRICHMENT), E = m(L.SCHOOL_SUCCESS).some(
43
- (d) => d.id === e && Object.keys(v).includes(d.programCode ?? "")
35
+ const { student: r, demo_info: d } = t, {
36
+ grade: c,
37
+ enrollment_type: l,
38
+ can_show_topic_selection: E = !0
39
+ } = r || {}, { stream: I, region_data: N } = d || {}, { opportunity_country: _ = "US" } = N || {}, f = (s) => G(n, {
40
+ countryCode: _,
41
+ grade: a || c || "",
42
+ goalCategory: s,
43
+ courseStream: I,
44
+ enrollmentType: l
45
+ }), m = f(O.TEST_PREP), u = f(O.ENRICHMENT), S = f(O.SCHOOL_SUCCESS).some(
46
+ (s) => s.id === e && Object.keys(v).includes(s.programCode ?? "")
44
47
  );
45
- if ((u == null ? void 0 : u.length) > 0 && (l == null ? void 0 : l.length) > 0 && !E)
48
+ if ((m == null ? void 0 : m.length) > 0 && (u == null ? void 0 : u.length) > 0 && !S && E)
46
49
  return t;
47
- const f = { ...t }, T = Object.fromEntries(f.pages.map((d) => [d.id, d])), _ = (() => {
48
- var d, N, a, S, A, C;
49
- return ((N = (d = T[s.SCHOOL_GOALS]) == null ? void 0 : d.nextPage) == null ? void 0 : N.pageId) === s.TEST_PREP && u.length === 0 ? s.SCHOOL_GOALS : u.length > 0 && ((S = (a = T[s.TEST_PREP]) == null ? void 0 : a.nextPage) == null ? void 0 : S.pageId) === s.STUDENT_ENRICHMENT && l.length === 0 ? s.TEST_PREP : E ? ((C = (A = T[s.LEARNING_LEVEL]) == null ? void 0 : A.prevPage) == null ? void 0 : C.pageId) ?? null : null;
50
- })(), I = _ ? E ? (O = T[s.LEARNING_LEVEL]) == null ? void 0 : O.nextPage : (h = T[(l == null ? void 0 : l.length) === 0 ? s.STUDENT_ENRICHMENT : s.TEST_PREP]) == null ? void 0 : h.nextPage : null;
51
- if (I && _) {
52
- const d = (a) => u.length === 0 && a === s.TEST_PREP || l.length === 0 && a === s.STUDENT_ENRICHMENT || E && a === s.LEARNING_LEVEL, N = f.pages.filter((a) => !d(a.id));
53
- f.pages = N.map((a) => {
54
- var S;
55
- return a.id === _ ? { ...a, nextPage: I } : a.id === I.pageId ? {
56
- ...a,
50
+ const y = { ...t }, g = Object.fromEntries(y.pages.map((s) => [s.id, s])), P = (() => {
51
+ var s, T, o, p, h, R, x, A;
52
+ return ((T = (s = g[i.SCHOOL_GOALS]) == null ? void 0 : s.nextPage) == null ? void 0 : T.pageId) === i.TEST_PREP && m.length === 0 ? i.SCHOOL_GOALS : m.length > 0 && ((p = (o = g[i.TEST_PREP]) == null ? void 0 : o.nextPage) == null ? void 0 : p.pageId) === i.STUDENT_ENRICHMENT && u.length === 0 ? i.TEST_PREP : S ? ((R = (h = g[i.LEARNING_LEVEL]) == null ? void 0 : h.prevPage) == null ? void 0 : R.pageId) ?? null : E ? null : ((A = (x = g[i.TOPIC_SELECTION]) == null ? void 0 : x.prevPage) == null ? void 0 : A.pageId) ?? null;
53
+ })(), L = (() => {
54
+ var s, T, o;
55
+ return P ? S ? ((s = g[i.LEARNING_LEVEL]) == null ? void 0 : s.nextPage) ?? null : E ? (o = g[(u == null ? void 0 : u.length) === 0 ? i.STUDENT_ENRICHMENT : i.TEST_PREP]) == null ? void 0 : o.nextPage : ((T = g[i.TOPIC_SELECTION]) == null ? void 0 : T.nextPage) ?? null : null;
56
+ })();
57
+ if (L && P) {
58
+ const s = (o) => m.length === 0 && o === i.TEST_PREP || u.length === 0 && o === i.STUDENT_ENRICHMENT || S && o === i.LEARNING_LEVEL || !E && o === i.TOPIC_SELECTION, T = y.pages.filter((o) => !s(o.id));
59
+ y.pages = T.map((o) => {
60
+ var p;
61
+ return o.id === P ? { ...o, nextPage: L } : o.id === L.pageId ? {
62
+ ...o,
57
63
  prevPage: {
58
- buttonLabel: ((S = T[_]) == null ? void 0 : S.navigationLabel) ?? "",
59
- pageId: _
64
+ buttonLabel: ((p = g[P]) == null ? void 0 : p.navigationLabel) ?? "",
65
+ pageId: P
60
66
  }
61
- } : a;
67
+ } : o;
62
68
  });
63
69
  }
64
- return f;
65
- }, Z = (n, t) => {
70
+ return y;
71
+ }, q = (n, t) => {
66
72
  var e;
67
- const { preference_config: r } = n;
68
- return t.length > 0 ? ((e = r == null ? void 0 : r.filter((o) => t.includes(o.preference_code))) == null ? void 0 : e.map(
69
- ({ preference_code: o, preference_name: c, preference_category: i, preference_description: g }) => ({
70
- preference_code: o,
71
- preference_name: c,
72
- preference_category: i,
73
- preference_description: g
73
+ const { preference_config: a } = n;
74
+ return t.length > 0 ? ((e = a == null ? void 0 : a.filter((r) => t.includes(r.preference_code))) == null ? void 0 : e.map(
75
+ ({ preference_code: r, preference_name: d, preference_category: c, preference_description: l }) => ({
76
+ preference_code: r,
77
+ preference_name: d,
78
+ preference_category: c,
79
+ preference_description: l
74
80
  })
75
81
  )) || [] : [];
76
- }, q = (n, t, r = !1) => {
82
+ }, z = (n, t, a = !1) => {
77
83
  if (!(n != null && n.length)) return [];
78
- if (r) {
79
- const e = n.find((o) => (o == null ? void 0 : o.preference_category) === t);
84
+ if (a) {
85
+ const e = n.find((r) => (r == null ? void 0 : r.preference_category) === t);
80
86
  return e ? [e.preference_code] : [];
81
87
  }
82
88
  return n.filter((e) => (e == null ? void 0 : e.preference_category) === t).map((e) => e.preference_code);
83
89
  };
84
90
  export {
85
- Y as filterAndUpdateSlideNavigation,
86
- B as getFormattedPreferences,
87
- Z as getFormattedStudentPersonalizedPreference,
88
- q as getPreferenceCodesByCategory,
89
- W as getWeekdayAndStartTimeFromPreference,
90
- V as isPLASource,
91
- j as updateGoalInFormData
91
+ Z as filterAndUpdateSlideNavigation,
92
+ W as getFormattedPreferences,
93
+ q as getFormattedStudentPersonalizedPreference,
94
+ z as getPreferenceCodesByCategory,
95
+ Y as getWeekdayAndStartTimeFromPreference,
96
+ j as isPLASource,
97
+ B as updateGoalInFormData
92
98
  };
93
99
  //# sourceMappingURL=helper.js.map