@cuemath/leap 3.3.32-j2 → 3.3.32

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 (80) hide show
  1. package/dist/features/auth/pla-signup/pla-analytics-events.js +1 -7
  2. package/dist/features/auth/pla-signup/pla-analytics-events.js.map +1 -1
  3. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
  4. package/dist/features/auth/signup/custom-input-field/custom-input-field.js +8 -8
  5. package/dist/features/auth/signup/custom-input-field/custom-input-field.js.map +1 -1
  6. package/dist/features/milestone/constants.js +28 -15
  7. package/dist/features/milestone/constants.js.map +1 -1
  8. package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js +23 -16
  9. package/dist/features/milestone/create/comps/test-type-step/test-type-utils.js.map +1 -1
  10. package/dist/features/milestone/create/milestone-create-helpers.js +7 -13
  11. package/dist/features/milestone/create/milestone-create-helpers.js.map +1 -1
  12. package/dist/features/trial-session/comps/class-preference/class-preference.js +49 -61
  13. package/dist/features/trial-session/comps/class-preference/class-preference.js.map +1 -1
  14. package/dist/features/trial-session/comps/navigation-bar/index.js +25 -25
  15. package/dist/features/trial-session/comps/navigation-bar/index.js.map +1 -1
  16. package/dist/features/trial-session/comps/school-goals/school-goals.js +53 -55
  17. package/dist/features/trial-session/comps/school-goals/school-goals.js.map +1 -1
  18. package/dist/features/trial-session/comps/session-report/session-report.js +15 -15
  19. package/dist/features/trial-session/comps/session-report/session-report.js.map +1 -1
  20. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js +43 -44
  21. package/dist/features/trial-session/comps/student-enrichment/student-enrichment.js.map +1 -1
  22. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js +0 -5
  23. package/dist/features/trial-session/comps/student-feedback/student-feedback-constants.js.map +1 -1
  24. package/dist/features/trial-session/comps/student-feedback/student-feedback.js +51 -96
  25. package/dist/features/trial-session/comps/student-feedback/student-feedback.js.map +1 -1
  26. package/dist/features/trial-session/comps/student-profile/student-profile.js +63 -70
  27. package/dist/features/trial-session/comps/student-profile/student-profile.js.map +1 -1
  28. package/dist/features/trial-session/comps/test-prep/test-prep.js +39 -40
  29. package/dist/features/trial-session/comps/test-prep/test-prep.js.map +1 -1
  30. package/dist/features/trial-session/helper.js +53 -69
  31. package/dist/features/trial-session/helper.js.map +1 -1
  32. package/dist/features/trial-session/hooks/use-trial-session-navigation.js +130 -150
  33. package/dist/features/trial-session/hooks/use-trial-session-navigation.js.map +1 -1
  34. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  35. package/dist/features/trial-session/trial-session-view.js +112 -103
  36. package/dist/features/trial-session/trial-session-view.js.map +1 -1
  37. package/dist/features/ui/accordion/accordion-items/accordion-items.js +13 -13
  38. package/dist/features/ui/accordion/accordion-items/accordion-items.js.map +1 -1
  39. package/dist/features/utils/utils.js +1 -1
  40. package/dist/features/utils/utils.js.map +1 -1
  41. package/dist/index.d.ts +4 -20
  42. package/dist/index.js +30 -32
  43. package/dist/index.js.map +1 -1
  44. package/dist/node_modules/query-string/base.js +1 -1
  45. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +1 -0
  46. package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  47. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  48. package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
  49. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  50. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
  51. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  52. package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
  53. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  54. package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  55. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  56. package/package.json +1 -1
  57. package/dist/features/student-username/add/add-student-username-constants.js +0 -6
  58. package/dist/features/student-username/add/add-student-username-constants.js.map +0 -1
  59. package/dist/features/student-username/add/add-student-username-helpers.js +0 -6
  60. package/dist/features/student-username/add/add-student-username-helpers.js.map +0 -1
  61. package/dist/features/student-username/add/add-student-username-styled.js +0 -10
  62. package/dist/features/student-username/add/add-student-username-styled.js.map +0 -1
  63. package/dist/features/student-username/add/add-student-username.js +0 -78
  64. package/dist/features/student-username/add/add-student-username.js.map +0 -1
  65. package/dist/features/student-username/add/api/update-username.js +0 -9
  66. package/dist/features/student-username/add/api/update-username.js.map +0 -1
  67. package/dist/features/student-username/add/api/username-availability.js +0 -10
  68. package/dist/features/student-username/add/api/username-availability.js.map +0 -1
  69. package/dist/features/student-username/add/hooks/use-check-username-availability.js +0 -41
  70. package/dist/features/student-username/add/hooks/use-check-username-availability.js.map +0 -1
  71. package/dist/features/trial-session/api/teacher-availability.js +0 -9
  72. package/dist/features/trial-session/api/teacher-availability.js.map +0 -1
  73. package/dist/features/trial-session/comps/class-preference/helpers.js +0 -28
  74. package/dist/features/trial-session/comps/class-preference/helpers.js.map +0 -1
  75. package/dist/features/trial-session/hooks/use-slide-config-update.js +0 -49
  76. package/dist/features/trial-session/hooks/use-slide-config-update.js.map +0 -1
  77. package/dist/node_modules/decode-uri-component/index.js.map +0 -1
  78. package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
  79. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  80. /package/dist/node_modules/{decode-uri-component → query-string/node_modules/decode-uri-component}/index.js +0 -0
@@ -1,61 +1,49 @@
1
- import { jsxs as d, jsx as i } from "react/jsx-runtime";
2
- import { memo as H, useMemo as j, useCallback as F, useEffect as P } from "react";
1
+ import { jsxs as d, jsx as a } from "react/jsx-runtime";
2
+ import { memo as A, useCallback as O, useEffect as w } from "react";
3
3
  import { DAYS as f } from "../../../../constants/date-time.js";
4
- import { getTimeUnits as W, getOffsetBetweenTimezone as z, convertEpochToDateTime as $, convertToMilliseconds as B } from "../../../../helpers/date-time.js";
5
- import C from "../../../ui/inputs/select-input/select-input.js";
4
+ import { getTimeUnits as j, getOffsetBetweenTimezone as v, convertEpochToDateTime as g, convertToMilliseconds as H } from "../../../../helpers/date-time.js";
5
+ import $ from "../../../ui/inputs/select-input/select-input.js";
6
6
  import u from "../../../ui/layout/flex-view.js";
7
- import M from "../../../ui/separator/separator.js";
8
- import Y from "../../../ui/text/text.js";
9
- import { useTrialSessionContext as K } from "../../context/use-trial-session-context.js";
10
- import { TEACHER_TIMEZONE as x } from "../../trial-session-constants.js";
11
- import G from "../slide-header/index.js";
12
- import { timeSlots as N } from "./class-preference-constants.js";
13
- import { Container as R, PreferenceWrapper as U, FixedLineSeparator as Z } from "./class-preference-styled.js";
14
- import { extractDayAndTimeFromEpoch as q } from "./helpers.js";
15
- const h = [
7
+ import P from "../../../ui/separator/separator.js";
8
+ import W from "../../../ui/text/text.js";
9
+ import { useTrialSessionContext as z } from "../../context/use-trial-session-context.js";
10
+ import { TEACHER_TIMEZONE as y } from "../../trial-session-constants.js";
11
+ import B from "../slide-header/index.js";
12
+ import { timeSlots as Y } from "./class-preference-constants.js";
13
+ import { Container as F, PreferenceWrapper as K, FixedLineSeparator as M } from "./class-preference-styled.js";
14
+ const C = [
16
15
  { id: 1, selectedDay: "", selectedTime: "" },
17
16
  { id: 2, selectedDay: "", selectedTime: "" }
18
- ], pe = H(({ miniScreenDevice: _ }) => {
19
- const { isTeacher: o, formData: b, trialHomeData: S, updateSlideConfig: T } = K(), { preferences: m, studentTimezone: n = "Asia/Calcutta" } = b || {}, { demo_info: E } = S || {}, { scheduled_start_time: y } = E || {}, A = f.map((e) => ({ id: e, label: e })), g = o ? x : n, l = j(
20
- () => o ? q(y, n) : void 0,
21
- [o, y, n]
22
- ), D = (e, t, s) => {
23
- T({
24
- preferences: (m ?? h).map(
17
+ ], se = A(({ miniScreenDevice: D }) => {
18
+ const { isTeacher: n, formData: x, updateSlideConfig: p } = z(), { preferences: o, studentTimezone: c } = x || {}, b = f.map((e) => ({ id: e, label: e })), h = n ? y : c, T = (e, t, s) => {
19
+ p({
20
+ preferences: (o ?? C).map(
25
21
  (r) => r.id === e ? { ...r, [t]: s } : r
26
22
  )
27
23
  });
28
- }, I = (e, t) => {
29
- D(e, "selectedDay", t);
30
- }, L = (e, t) => {
31
- D(e, "selectedTime", t);
32
- }, X = F(
24
+ }, _ = (e, t) => {
25
+ T(e, "selectedDay", t);
26
+ }, S = (e, t) => {
27
+ T(e, "selectedTime", t);
28
+ }, E = O(
33
29
  (e, t) => {
34
- if (e && t && n) {
35
- const { hours: s, minutes: r } = W(t), c = (/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0), p = z(x, n), a = o ? c + p : c, { day: k = "" } = $(a, n), O = f.indexOf(k), w = (f.indexOf(e) - O + 7) % 7, v = a + B({ days: w, hours: s, minutes: r });
36
- return $(v, g);
30
+ if (e && t && c) {
31
+ const { hours: s, minutes: r } = j(t), m = (/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0), l = v(y, c), i = n ? m + l : m, { day: L = "" } = g(i, c), I = f.indexOf(L), X = (f.indexOf(e) - I + 7) % 7, k = i + H({ days: X, hours: s, minutes: r });
32
+ return g(k, h);
37
33
  }
38
34
  return {};
39
35
  },
40
- [o, n, g]
36
+ [n, c, h]
41
37
  );
42
- return P(() => {
43
- o && !m && T({
44
- preferences: l ? h.map(
45
- (e) => e.id === 1 ? {
46
- ...e,
47
- selectedDay: l.day,
48
- selectedTime: l.time
49
- } : e
50
- ) : h
51
- });
52
- }, [l]), /* @__PURE__ */ d(R, { children: [
53
- /* @__PURE__ */ i(M, { height: 60 }),
54
- /* @__PURE__ */ i(G, {}),
38
+ return w(() => {
39
+ n && !o && p({ preferences: C });
40
+ }, [n, o, p]), /* @__PURE__ */ d(F, { children: [
41
+ /* @__PURE__ */ a(P, { height: 60 }),
42
+ /* @__PURE__ */ a(B, {}),
55
43
  /* @__PURE__ */ d(
56
- U,
44
+ K,
57
45
  {
58
- $gapX: _ ? 2.2 : 3.75,
46
+ $gapX: D ? 2.2 : 3.75,
59
47
  $gutterX: 4.6875,
60
48
  $background: "YELLOW_4",
61
49
  $borderColor: "BLACK_1",
@@ -63,51 +51,51 @@ const h = [
63
51
  $justifyContent: "space-between",
64
52
  $alignItems: "center",
65
53
  children: [
66
- /* @__PURE__ */ i(Z, {}),
67
- m == null ? void 0 : m.map((e) => {
68
- const { id: t, selectedDay: s, selectedTime: r } = e, { day: c, time: p } = X(s, r);
54
+ /* @__PURE__ */ a(M, {}),
55
+ o == null ? void 0 : o.map((e) => {
56
+ const { id: t, selectedDay: s, selectedTime: r } = e, { day: m, time: l } = E(s, r);
69
57
  return /* @__PURE__ */ d(u, { $widthX: 15, $background: "YELLOW_1", $borderColor: "BLACK_1", children: [
70
58
  /* @__PURE__ */ d(u, { $gapX: 1.65, $gutterX: 2, $flexGapX: 0.25, children: [
71
- /* @__PURE__ */ i(
72
- C,
59
+ /* @__PURE__ */ a(
60
+ $,
73
61
  {
74
62
  renderAs: "primary",
75
63
  label: `Day ${t}`,
76
64
  value: s,
77
- options: A,
65
+ options: b,
78
66
  theme: "dark",
79
67
  shape: "borderLess",
80
68
  isTransparent: !0,
81
- onChange: (a) => I(t, a)
69
+ onChange: (i) => _(t, i)
82
70
  }
83
71
  ),
84
- /* @__PURE__ */ i(
85
- C,
72
+ /* @__PURE__ */ a(
73
+ $,
86
74
  {
87
75
  renderAs: "primary",
88
76
  label: "Time",
89
77
  value: r,
90
- options: N,
78
+ options: Y,
91
79
  shape: "borderLess",
92
80
  isTransparent: !0,
93
81
  theme: "dark",
94
- onChange: (a) => L(t, a)
82
+ onChange: (i) => S(t, i)
95
83
  }
96
84
  )
97
85
  ] }),
98
- /* @__PURE__ */ i(
86
+ /* @__PURE__ */ a(
99
87
  u,
100
88
  {
101
89
  $heightX: 3.125,
102
90
  $gutterX: 2,
103
91
  $justifyContent: "center",
104
92
  $background: "WHITE_T_60",
105
- children: o ? /* @__PURE__ */ d(Y, { $renderAs: "ac4-black", $align: "center", children: [
106
- c ? c.slice(0, 3) : "__",
93
+ children: n ? /* @__PURE__ */ d(W, { $renderAs: "ac4-black", $align: "center", children: [
94
+ m ? m.slice(0, 3) : "__",
107
95
  ", ",
108
- p || "__",
96
+ l || "__",
109
97
  " ",
110
- o ? "(IST)" : ""
98
+ n ? "(IST)" : ""
111
99
  ] }) : null
112
100
  }
113
101
  )
@@ -119,6 +107,6 @@ const h = [
119
107
  ] });
120
108
  });
121
109
  export {
122
- pe as default
110
+ se as default
123
111
  };
124
112
  //# sourceMappingURL=class-preference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"class-preference.js","sources":["../../../../../src/features/trial-session/comps/class-preference/class-preference.tsx"],"sourcesContent":["import type { IClassPreference, TPreference } from './class-preference-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect, useMemo } from 'react';\n\nimport { DAYS } from '../../../../constants/date-time';\nimport {\n convertEpochToDateTime,\n convertToMilliseconds,\n getOffsetBetweenTimezone,\n getTimeUnits,\n} from '../../../../helpers/date-time';\nimport SelectInput from '../../../ui/inputs/select-input/select-input';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { TEACHER_TIMEZONE as teacherTimezone } from '../../trial-session-constants';\nimport SlideHeader from '../slide-header';\nimport { timeSlots } from './class-preference-constants';\nimport * as Styled from './class-preference-styled';\nimport { extractDayAndTimeFromEpoch } from './helpers';\n\nconst defaultPreferences = [\n { id: 1, selectedDay: '', selectedTime: '' },\n { id: 2, selectedDay: '', selectedTime: '' },\n];\n\nconst ClassPreference: FC<IClassPreference> = memo(({ miniScreenDevice }) => {\n const { isTeacher, formData, trialHomeData, updateSlideConfig } = useTrialSessionContext();\n const { preferences, studentTimezone = 'Asia/Calcutta' } = formData || {};\n const { demo_info: demoInfo } = trialHomeData || {};\n const { scheduled_start_time: scheduledStartTime } = demoInfo || {};\n\n const daySlots = DAYS.map(day => ({ id: day, label: day }));\n const timezone = isTeacher ? teacherTimezone : studentTimezone;\n\n const preSelectedDateTimeFromEpoch = useMemo(\n () => (isTeacher ? extractDayAndTimeFromEpoch(scheduledStartTime, studentTimezone) : undefined),\n [isTeacher, scheduledStartTime, studentTimezone],\n );\n\n const handlePreferenceChange = (\n id: number,\n field: 'selectedDay' | 'selectedTime',\n value: string,\n ) => {\n updateSlideConfig({\n preferences: (preferences ?? defaultPreferences).map((preference: TPreference) =>\n preference.id === id ? { ...preference, [field]: value } : preference,\n ),\n });\n };\n\n const handleDayChange = (id: number, value: string) => {\n handlePreferenceChange(id, 'selectedDay', value);\n };\n\n const handleTimeChange = (id: number, value: string) => {\n handlePreferenceChange(id, 'selectedTime', value);\n };\n\n const getDisplayDateTimeValue = useCallback(\n (dayValue: string, timeValue: string) => {\n if (dayValue && timeValue && studentTimezone) {\n // Extracting hours, minutes, and period from the selected time.\n const { hours, minutes } = getTimeUnits(timeValue);\n const todayTimestamp = new Date().setHours(0, 0, 0, 0); // Setting current date to midnight\n\n // Calculating offset between the teacher's and student's timezone.\n const timestampOffset = getOffsetBetweenTimezone(teacherTimezone, studentTimezone);\n const studentTimestamp = isTeacher ? todayTimestamp + timestampOffset : todayTimestamp; // Current timestamp at student's timezone\n const { day: today = '' } = convertEpochToDateTime(studentTimestamp, studentTimezone); // Current day at student's timezone.\n\n // Calculating current and selected day index to get day difference.\n const currentDayIndex = DAYS.indexOf(today);\n const selectedDayIndex = DAYS.indexOf(dayValue);\n const dayDifference = (selectedDayIndex - currentDayIndex + 7) % 7;\n\n // Calculate the epoch timestamp for the selected day and time in the student's timezone.\n const epochTimestamp =\n studentTimestamp + convertToMilliseconds({ days: dayDifference, hours, minutes });\n\n // Returning date, time value with respect to both teacher and student timezone.\n return convertEpochToDateTime(epochTimestamp, timezone);\n }\n\n return {};\n },\n [isTeacher, studentTimezone, timezone],\n );\n\n useEffect(() => {\n if (isTeacher && !preferences) {\n updateSlideConfig({\n preferences: preSelectedDateTimeFromEpoch\n ? defaultPreferences.map((preference: TPreference) =>\n preference.id === 1\n ? {\n ...preference,\n selectedDay: preSelectedDateTimeFromEpoch.day,\n selectedTime: preSelectedDateTimeFromEpoch.time,\n }\n : preference,\n )\n : defaultPreferences,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [preSelectedDateTimeFromEpoch]);\n\n return (\n <Styled.Container>\n <Separator height={60} />\n <SlideHeader />\n <Styled.PreferenceWrapper\n $gapX={miniScreenDevice ? 2.2 : 3.75}\n $gutterX={4.6875}\n $background=\"YELLOW_4\"\n $borderColor=\"BLACK_1\"\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n >\n <Styled.FixedLineSeparator />\n {preferences?.map(preference => {\n const { id, selectedDay, selectedTime } = preference;\n const { day, time } = getDisplayDateTimeValue(selectedDay, selectedTime);\n\n return (\n <FlexView key={`slot-${id}`} $widthX={15} $background=\"YELLOW_1\" $borderColor=\"BLACK_1\">\n <FlexView $gapX={1.65} $gutterX={2} $flexGapX={0.25}>\n <SelectInput\n renderAs=\"primary\"\n label={`Day ${id}`}\n value={selectedDay}\n options={daySlots}\n theme=\"dark\"\n shape=\"borderLess\"\n isTransparent\n onChange={value => handleDayChange(id, value)}\n />\n <SelectInput\n renderAs=\"primary\"\n label=\"Time\"\n value={selectedTime}\n options={timeSlots}\n shape=\"borderLess\"\n isTransparent\n theme=\"dark\"\n onChange={value => handleTimeChange(id, value)}\n />\n </FlexView>\n <FlexView\n $heightX={3.125}\n $gutterX={2}\n $justifyContent=\"center\"\n $background=\"WHITE_T_60\"\n >\n {isTeacher ? (\n <Text $renderAs=\"ac4-black\" $align=\"center\">\n {day ? day.slice(0, 3) : '__'}, {time ? time : '__'} {isTeacher ? '(IST)' : ''}\n </Text>\n ) : null}\n </FlexView>\n </FlexView>\n );\n })}\n </Styled.PreferenceWrapper>\n </Styled.Container>\n );\n});\n\nexport default ClassPreference;\n"],"names":["defaultPreferences","ClassPreference","memo","miniScreenDevice","isTeacher","formData","trialHomeData","updateSlideConfig","useTrialSessionContext","preferences","studentTimezone","demoInfo","scheduledStartTime","daySlots","DAYS","day","timezone","teacherTimezone","preSelectedDateTimeFromEpoch","useMemo","extractDayAndTimeFromEpoch","handlePreferenceChange","id","field","value","preference","handleDayChange","handleTimeChange","getDisplayDateTimeValue","useCallback","dayValue","timeValue","hours","minutes","getTimeUnits","todayTimestamp","timestampOffset","getOffsetBetweenTimezone","studentTimestamp","today","convertEpochToDateTime","currentDayIndex","dayDifference","epochTimestamp","convertToMilliseconds","useEffect","jsxs","Styled.Container","jsx","Separator","SlideHeader","Styled.PreferenceWrapper","Styled.FixedLineSeparator","selectedDay","selectedTime","time","FlexView","SelectInput","timeSlots","Text"],"mappings":"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"}
1
+ {"version":3,"file":"class-preference.js","sources":["../../../../../src/features/trial-session/comps/class-preference/class-preference.tsx"],"sourcesContent":["import type { IClassPreference, TPreference } from './class-preference-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useEffect } from 'react';\n\nimport { DAYS } from '../../../../constants/date-time';\nimport {\n convertEpochToDateTime,\n convertToMilliseconds,\n getOffsetBetweenTimezone,\n getTimeUnits,\n} from '../../../../helpers/date-time';\nimport SelectInput from '../../../ui/inputs/select-input/select-input';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Separator from '../../../ui/separator/separator';\nimport Text from '../../../ui/text/text';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { TEACHER_TIMEZONE as teacherTimezone } from '../../trial-session-constants';\nimport SlideHeader from '../slide-header';\nimport { timeSlots } from './class-preference-constants';\nimport * as Styled from './class-preference-styled';\n\nconst defaultPreferences = [\n { id: 1, selectedDay: '', selectedTime: '' },\n { id: 2, selectedDay: '', selectedTime: '' },\n];\n\nconst ClassPreference: FC<IClassPreference> = memo(({ miniScreenDevice }) => {\n const { isTeacher, formData, updateSlideConfig } = useTrialSessionContext();\n const { preferences, studentTimezone } = formData || {};\n\n const daySlots = DAYS.map(day => ({ id: day, label: day }));\n const timezone = isTeacher ? teacherTimezone : studentTimezone;\n\n const handlePreferenceChange = (\n id: number,\n field: 'selectedDay' | 'selectedTime',\n value: string,\n ) => {\n updateSlideConfig({\n preferences: (preferences ?? defaultPreferences).map((preference: TPreference) =>\n preference.id === id ? { ...preference, [field]: value } : preference,\n ),\n });\n };\n\n const handleDayChange = (id: number, value: string) => {\n handlePreferenceChange(id, 'selectedDay', value);\n };\n\n const handleTimeChange = (id: number, value: string) => {\n handlePreferenceChange(id, 'selectedTime', value);\n };\n\n const getDisplayDateTimeValue = useCallback(\n (dayValue: string, timeValue: string) => {\n if (dayValue && timeValue && studentTimezone) {\n // Extracting hours, minutes, and period from the selected time.\n const { hours, minutes } = getTimeUnits(timeValue);\n const todayTimestamp = new Date().setHours(0, 0, 0, 0); // Setting current date to midnight\n\n // Calculating offset between the teacher's and student's timezone.\n const timestampOffset = getOffsetBetweenTimezone(teacherTimezone, studentTimezone);\n const studentTimestamp = isTeacher ? todayTimestamp + timestampOffset : todayTimestamp; // Current timestamp at student's timezone\n const { day: today = '' } = convertEpochToDateTime(studentTimestamp, studentTimezone); // Current day at student's timezone.\n\n // Calculating current and selected day index to get day difference.\n const currentDayIndex = DAYS.indexOf(today);\n const selectedDayIndex = DAYS.indexOf(dayValue);\n const dayDifference = (selectedDayIndex - currentDayIndex + 7) % 7;\n\n // Calculate the epoch timestamp for the selected day and time in the student's timezone.\n const epochTimestamp =\n studentTimestamp + convertToMilliseconds({ days: dayDifference, hours, minutes });\n\n // Returning date, time value with respect to both teacher and student timezone.\n return convertEpochToDateTime(epochTimestamp, timezone);\n }\n\n return {};\n },\n [isTeacher, studentTimezone, timezone],\n );\n\n useEffect(() => {\n if (isTeacher && !preferences) {\n updateSlideConfig({ preferences: defaultPreferences });\n }\n }, [isTeacher, preferences, updateSlideConfig]);\n\n return (\n <Styled.Container>\n <Separator height={60} />\n <SlideHeader />\n <Styled.PreferenceWrapper\n $gapX={miniScreenDevice ? 2.2 : 3.75}\n $gutterX={4.6875}\n $background=\"YELLOW_4\"\n $borderColor=\"BLACK_1\"\n $flexDirection=\"row\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n >\n <Styled.FixedLineSeparator />\n {preferences?.map(preference => {\n const { id, selectedDay, selectedTime } = preference;\n const { day, time } = getDisplayDateTimeValue(selectedDay, selectedTime);\n\n return (\n <FlexView key={`slot-${id}`} $widthX={15} $background=\"YELLOW_1\" $borderColor=\"BLACK_1\">\n <FlexView $gapX={1.65} $gutterX={2} $flexGapX={0.25}>\n <SelectInput\n renderAs=\"primary\"\n label={`Day ${id}`}\n value={selectedDay}\n options={daySlots}\n theme=\"dark\"\n shape=\"borderLess\"\n isTransparent\n onChange={value => handleDayChange(id, value)}\n />\n <SelectInput\n renderAs=\"primary\"\n label=\"Time\"\n value={selectedTime}\n options={timeSlots}\n shape=\"borderLess\"\n isTransparent\n theme=\"dark\"\n onChange={value => handleTimeChange(id, value)}\n />\n </FlexView>\n <FlexView\n $heightX={3.125}\n $gutterX={2}\n $justifyContent=\"center\"\n $background=\"WHITE_T_60\"\n >\n {isTeacher ? (\n <Text $renderAs=\"ac4-black\" $align=\"center\">\n {day ? day.slice(0, 3) : '__'}, {time ? time : '__'} {isTeacher ? '(IST)' : ''}\n </Text>\n ) : null}\n </FlexView>\n </FlexView>\n );\n })}\n </Styled.PreferenceWrapper>\n </Styled.Container>\n );\n});\n\nexport default ClassPreference;\n"],"names":["defaultPreferences","ClassPreference","memo","miniScreenDevice","isTeacher","formData","updateSlideConfig","useTrialSessionContext","preferences","studentTimezone","daySlots","DAYS","day","timezone","teacherTimezone","handlePreferenceChange","id","field","value","preference","handleDayChange","handleTimeChange","getDisplayDateTimeValue","useCallback","dayValue","timeValue","hours","minutes","getTimeUnits","todayTimestamp","timestampOffset","getOffsetBetweenTimezone","studentTimestamp","today","convertEpochToDateTime","currentDayIndex","dayDifference","epochTimestamp","convertToMilliseconds","useEffect","jsxs","Styled.Container","jsx","Separator","SlideHeader","Styled.PreferenceWrapper","Styled.FixedLineSeparator","selectedDay","selectedTime","time","FlexView","SelectInput","timeSlots","Text"],"mappings":";;;;;;;;;;;;;AAsBA,MAAMA,IAAqB;AAAA,EACzB,EAAE,IAAI,GAAG,aAAa,IAAI,cAAc,GAAG;AAAA,EAC3C,EAAE,IAAI,GAAG,aAAa,IAAI,cAAc,GAAG;AAC7C,GAEMC,KAAwCC,EAAK,CAAC,EAAE,kBAAAC,QAAuB;AAC3E,QAAM,EAAE,WAAAC,GAAW,UAAAC,GAAU,mBAAAC,MAAsBC,EAAuB,GACpE,EAAE,aAAAC,GAAa,iBAAAC,MAAoBJ,KAAY,CAAA,GAE/CK,IAAWC,EAAK,IAAI,CAAAC,OAAQ,EAAE,IAAIA,GAAK,OAAOA,EAAA,EAAM,GACpDC,IAAWT,IAAYU,IAAkBL,GAEzCM,IAAyB,CAC7BC,GACAC,GACAC,MACG;AACe,IAAAZ,EAAA;AAAA,MAChB,cAAcE,KAAeR,GAAoB;AAAA,QAAI,CAACmB,MACpDA,EAAW,OAAOH,IAAK,EAAE,GAAGG,GAAY,CAACF,CAAK,GAAGC,EAAA,IAAUC;AAAA,MAC7D;AAAA,IAAA,CACD;AAAA,EAAA,GAGGC,IAAkB,CAACJ,GAAYE,MAAkB;AAC9B,IAAAH,EAAAC,GAAI,eAAeE,CAAK;AAAA,EAAA,GAG3CG,IAAmB,CAACL,GAAYE,MAAkB;AAC/B,IAAAH,EAAAC,GAAI,gBAAgBE,CAAK;AAAA,EAAA,GAG5CI,IAA0BC;AAAA,IAC9B,CAACC,GAAkBC,MAAsB;AACnC,UAAAD,KAAYC,KAAahB,GAAiB;AAE5C,cAAM,EAAE,OAAAiB,GAAO,SAAAC,EAAQ,IAAIC,EAAaH,CAAS,GAC3CI,yBAAqB,QAAO,SAAS,GAAG,GAAG,GAAG,CAAC,GAG/CC,IAAkBC,EAAyBjB,GAAiBL,CAAe,GAC3EuB,IAAmB5B,IAAYyB,IAAiBC,IAAkBD,GAClE,EAAE,KAAKI,IAAQ,GAAO,IAAAC,EAAuBF,GAAkBvB,CAAe,GAG9E0B,IAAkBxB,EAAK,QAAQsB,CAAK,GAEpCG,KADmBzB,EAAK,QAAQa,CAAQ,IACJW,IAAkB,KAAK,GAG3DE,IACJL,IAAmBM,EAAsB,EAAE,MAAMF,GAAe,OAAAV,GAAO,SAAAC,GAAS;AAG3E,eAAAO,EAAuBG,GAAgBxB,CAAQ;AAAA,MACxD;AAEA,aAAO;IACT;AAAA,IACA,CAACT,GAAWK,GAAiBI,CAAQ;AAAA,EAAA;AAGvC,SAAA0B,EAAU,MAAM;AACV,IAAAnC,KAAa,CAACI,KACEF,EAAA,EAAE,aAAaN,EAAA,CAAoB;AAAA,EAEtD,GAAA,CAACI,GAAWI,GAAaF,CAAiB,CAAC,GAG5C,gBAAAkC,EAACC,GAAA,EACC,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAU,QAAQ,GAAI,CAAA;AAAA,sBACtBC,GAAY,EAAA;AAAA,IACb,gBAAAJ;AAAA,MAACK;AAAAA,MAAA;AAAA,QACC,OAAO1C,IAAmB,MAAM;AAAA,QAChC,UAAU;AAAA,QACV,aAAY;AAAA,QACZ,cAAa;AAAA,QACb,gBAAe;AAAA,QACf,iBAAgB;AAAA,QAChB,aAAY;AAAA,QAEZ,UAAA;AAAA,UAAC,gBAAAuC,EAAAI,GAAA,EAA0B;AAAA,UAC1BtC,KAAA,gBAAAA,EAAa,IAAI,CAAcW,MAAA;AAC9B,kBAAM,EAAE,IAAAH,GAAI,aAAA+B,GAAa,cAAAC,EAAA,IAAiB7B,GACpC,EAAE,KAAAP,GAAK,MAAAqC,EAAA,IAAS3B,EAAwByB,GAAaC,CAAY;AAEvE,qCACGE,GAA4B,EAAA,SAAS,IAAI,aAAY,YAAW,cAAa,WAC5E,UAAA;AAAA,cAAA,gBAAAV,EAACU,KAAS,OAAO,MAAM,UAAU,GAAG,WAAW,MAC7C,UAAA;AAAA,gBAAA,gBAAAR;AAAA,kBAACS;AAAA,kBAAA;AAAA,oBACC,UAAS;AAAA,oBACT,OAAO,OAAOnC,CAAE;AAAA,oBAChB,OAAO+B;AAAA,oBACP,SAASrC;AAAA,oBACT,OAAM;AAAA,oBACN,OAAM;AAAA,oBACN,eAAa;AAAA,oBACb,UAAU,CAAAQ,MAASE,EAAgBJ,GAAIE,CAAK;AAAA,kBAAA;AAAA,gBAC9C;AAAA,gBACA,gBAAAwB;AAAA,kBAACS;AAAA,kBAAA;AAAA,oBACC,UAAS;AAAA,oBACT,OAAM;AAAA,oBACN,OAAOH;AAAA,oBACP,SAASI;AAAA,oBACT,OAAM;AAAA,oBACN,eAAa;AAAA,oBACb,OAAM;AAAA,oBACN,UAAU,CAAAlC,MAASG,EAAiBL,GAAIE,CAAK;AAAA,kBAAA;AAAA,gBAC/C;AAAA,cAAA,GACF;AAAA,cACA,gBAAAwB;AAAA,gBAACQ;AAAA,gBAAA;AAAA,kBACC,UAAU;AAAA,kBACV,UAAU;AAAA,kBACV,iBAAgB;AAAA,kBAChB,aAAY;AAAA,kBAEX,cACE,gBAAAV,EAAAa,GAAA,EAAK,WAAU,aAAY,QAAO,UAChC,UAAA;AAAA,oBAAAzC,IAAMA,EAAI,MAAM,GAAG,CAAC,IAAI;AAAA,oBAAK;AAAA,oBAAGqC,KAAc;AAAA,oBAAK;AAAA,oBAAE7C,IAAY,UAAU;AAAA,kBAAA,EAAA,CAC9E,IACE;AAAA,gBAAA;AAAA,cACN;AAAA,YAlCa,EAAA,GAAA,QAAQY,CAAE,EAmCzB;AAAA,UAAA;AAAA,QAEH;AAAA,MAAA;AAAA,IACH;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC;"}
@@ -1,44 +1,44 @@
1
1
  import { jsxs as s, jsx as e } from "react/jsx-runtime";
2
2
  import { useCallback as l } from "react";
3
- import D from "../../../ui/arrow-tooltip/arrow-tooltip.js";
4
- import P from "../../../ui/buttons/button/button.js";
3
+ import y from "../../../ui/arrow-tooltip/arrow-tooltip.js";
4
+ import A from "../../../ui/buttons/button/button.js";
5
5
  import d from "../../../ui/buttons/icon-button/icon-button.js";
6
6
  import c from "../../../ui/layout/flex-view.js";
7
7
  import m from "../../../ui/text/text.js";
8
- import { useTrialSessionContext as j } from "../../context/use-trial-session-context.js";
9
- import { useTrialSessionNavigation as T } from "../../hooks/use-trial-session-navigation.js";
10
- import { Container as k, ForwardArrow as S } from "./navigation-bar-styled.js";
11
- import _ from "../../../../assets/line-icons/icons/back2.js";
12
- const W = () => {
13
- const { slideConfig: p, buttonState: f, openEndClassModal: u, studentAbsentInClass: a, trialHomeData: b } = j(), {
14
- left: { isDisabled: g, isLoading: h },
15
- right: { isDisabled: x, isLoading: L }
16
- } = f || {}, { prevPage: $, nextPage: C } = p || {}, { buttonLabel: i, pageId: t } = $ || {}, { buttonLabel: r, pageId: n } = C || {}, { handleNavigation: o } = T(), I = t && !n, { intel_student: A } = b, { source: B } = A || {}, y = B === "PLA", v = l(() => {
8
+ import { useTrialSessionContext as v } from "../../context/use-trial-session-context.js";
9
+ import { useTrialSessionNavigation as w } from "../../hooks/use-trial-session-navigation.js";
10
+ import { Container as D, ForwardArrow as j } from "./navigation-bar-styled.js";
11
+ import P from "../../../../assets/line-icons/icons/back2.js";
12
+ const q = () => {
13
+ const { slideConfig: p, buttonState: f, openEndClassModal: b, studentAbsentInClass: a } = v(), {
14
+ left: { isDisabled: g, isLoading: u },
15
+ right: { isDisabled: x, isLoading: h }
16
+ } = f || {}, { prevPage: L, nextPage: $ } = p || {}, { buttonLabel: i, pageId: t } = L || {}, { buttonLabel: r, pageId: n } = $ || {}, { handleNavigation: o } = w(), C = t && !n, I = l(() => {
17
17
  o("next", n);
18
- }, [o, n]), w = l(() => {
18
+ }, [o, n]), B = l(() => {
19
19
  o("prev", t);
20
20
  }, [o, t]);
21
21
  return /* @__PURE__ */ s(
22
- k,
22
+ D,
23
23
  {
24
24
  $flexDirection: "row-reverse",
25
25
  $justifyContent: "space-between",
26
26
  $alignItems: "center",
27
27
  children: [
28
- I && /* @__PURE__ */ e(
29
- P,
28
+ C && /* @__PURE__ */ e(
29
+ A,
30
30
  {
31
31
  renderAs: "tertiary",
32
32
  size: "small",
33
- label: y ? "End the session" : "End the class",
33
+ label: "End the class",
34
34
  shape: "square",
35
- onClick: u
35
+ onClick: b
36
36
  }
37
37
  ),
38
38
  n && r && /* @__PURE__ */ s(c, { $flexDirection: "row", $alignItems: "center", $justifyContent: "center", $flexGap: 12, children: [
39
39
  /* @__PURE__ */ e(m, { $renderAs: "ab2", $color: "BLACK_T_60", children: r }),
40
40
  /* @__PURE__ */ e(
41
- D,
41
+ y,
42
42
  {
43
43
  widthX: 8,
44
44
  zIndex: 2,
@@ -49,13 +49,13 @@ const W = () => {
49
49
  children: /* @__PURE__ */ e(
50
50
  d,
51
51
  {
52
- Icon: S,
52
+ Icon: j,
53
53
  renderAs: "primary",
54
54
  analyticsLabel: r,
55
55
  size: "small",
56
- onClick: v,
56
+ onClick: I,
57
57
  disabled: x || a,
58
- busy: L
58
+ busy: h
59
59
  }
60
60
  )
61
61
  }
@@ -65,13 +65,13 @@ const W = () => {
65
65
  /* @__PURE__ */ e(
66
66
  d,
67
67
  {
68
- Icon: _,
68
+ Icon: P,
69
69
  renderAs: "secondary",
70
70
  analyticsLabel: i,
71
71
  size: "small",
72
- onClick: w,
72
+ onClick: B,
73
73
  disabled: g,
74
- busy: h
74
+ busy: u
75
75
  }
76
76
  ),
77
77
  /* @__PURE__ */ e(m, { $renderAs: "ab2", $color: "BLACK_T_60", children: i })
@@ -81,6 +81,6 @@ const W = () => {
81
81
  );
82
82
  };
83
83
  export {
84
- W as default
84
+ q as default
85
85
  };
86
86
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/features/trial-session/comps/navigation-bar/index.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\n\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { useTrialSessionNavigation } from '../../hooks/use-trial-session-navigation';\nimport * as Styled from './navigation-bar-styled';\n\nconst NavigationBar: React.FC = () => {\n const { slideConfig, buttonState, openEndClassModal, studentAbsentInClass, trialHomeData } =\n useTrialSessionContext();\n const {\n left: { isDisabled: isLeftBtnDisabled, isLoading: isLeftBtnLoading },\n right: { isDisabled: isRightBtnDisabled, isLoading: isRightBtnLoading },\n } = buttonState || {};\n const { prevPage, nextPage } = slideConfig || {};\n const { buttonLabel: prevButtonLabel, pageId: prevPageId } = prevPage || {};\n const { buttonLabel: nextButtonLabel, pageId: nextPageId } = nextPage || {};\n const { handleNavigation } = useTrialSessionNavigation();\n const isLastPage = prevPageId && !nextPageId;\n\n const { intel_student: intelStudent } = trialHomeData;\n const { source } = intelStudent || {};\n const isPLASource = source === 'PLA';\n\n const handleNext = useCallback(() => {\n handleNavigation('next', nextPageId);\n }, [handleNavigation, nextPageId]);\n\n const handlePrev = useCallback(() => {\n handleNavigation('prev', prevPageId);\n }, [handleNavigation, prevPageId]);\n\n return (\n <Styled.Container\n $flexDirection=\"row-reverse\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n >\n {isLastPage && (\n <Button\n renderAs=\"tertiary\"\n size=\"small\"\n label={isPLASource ? 'End the session' : 'End the class'}\n shape=\"square\"\n onClick={openEndClassModal}\n />\n )}\n {nextPageId && nextButtonLabel && (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGap={12}>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n {nextButtonLabel}\n </Text>\n <ArrowTooltip\n widthX={8}\n zIndex={2}\n position=\"top-left\"\n renderAs=\"primary\"\n tooltipItem=\"Waiting for student to join...\"\n hidden={!studentAbsentInClass}\n children={\n <IconButton\n Icon={Styled.ForwardArrow}\n renderAs=\"primary\"\n analyticsLabel={nextButtonLabel}\n size=\"small\"\n onClick={handleNext}\n disabled={isRightBtnDisabled || studentAbsentInClass}\n busy={isRightBtnLoading}\n />\n }\n />\n </FlexView>\n )}\n {prevPageId && prevButtonLabel && (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGap={12}>\n <IconButton\n Icon={Styled.BackwardArrow}\n renderAs=\"secondary\"\n analyticsLabel={prevButtonLabel}\n size=\"small\"\n onClick={handlePrev}\n disabled={isLeftBtnDisabled}\n busy={isLeftBtnLoading}\n />\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n {prevButtonLabel}\n </Text>\n </FlexView>\n )}\n </Styled.Container>\n );\n};\n\nexport default NavigationBar;\n"],"names":["NavigationBar","slideConfig","buttonState","openEndClassModal","studentAbsentInClass","trialHomeData","useTrialSessionContext","isLeftBtnDisabled","isLeftBtnLoading","isRightBtnDisabled","isRightBtnLoading","prevPage","nextPage","prevButtonLabel","prevPageId","nextButtonLabel","nextPageId","handleNavigation","useTrialSessionNavigation","isLastPage","intelStudent","source","isPLASource","handleNext","useCallback","handlePrev","jsxs","Styled.Container","jsx","Button","FlexView","Text","ArrowTooltip","IconButton","Styled.ForwardArrow","Styled.BackwardArrow"],"mappings":";;;;;;;;;;;AAWA,MAAMA,IAA0B,MAAM;AACpC,QAAM,EAAE,aAAAC,GAAa,aAAAC,GAAa,mBAAAC,GAAmB,sBAAAC,GAAsB,eAAAC,EAAA,IACzEC,KACI;AAAA,IACJ,MAAM,EAAE,YAAYC,GAAmB,WAAWC,EAAiB;AAAA,IACnE,OAAO,EAAE,YAAYC,GAAoB,WAAWC,EAAkB;AAAA,EAAA,IACpER,KAAe,CAAA,GACb,EAAE,UAAAS,GAAU,UAAAC,MAAaX,KAAe,CAAA,GACxC,EAAE,aAAaY,GAAiB,QAAQC,EAAW,IAAIH,KAAY,IACnE,EAAE,aAAaI,GAAiB,QAAQC,EAAW,IAAIJ,KAAY,IACnE,EAAE,kBAAAK,MAAqBC,KACvBC,IAAaL,KAAc,CAACE,GAE5B,EAAE,eAAeI,EAAiB,IAAAf,GAClC,EAAE,QAAAgB,EAAA,IAAWD,KAAgB,IAC7BE,IAAcD,MAAW,OAEzBE,IAAaC,EAAY,MAAM;AACnC,IAAAP,EAAiB,QAAQD,CAAU;AAAA,EAAA,GAClC,CAACC,GAAkBD,CAAU,CAAC,GAE3BS,IAAaD,EAAY,MAAM;AACnC,IAAAP,EAAiB,QAAQH,CAAU;AAAA,EAAA,GAClC,CAACG,GAAkBH,CAAU,CAAC;AAG/B,SAAA,gBAAAY;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,iBAAgB;AAAA,MAChB,aAAY;AAAA,MAEX,UAAA;AAAA,QACCR,KAAA,gBAAAS;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,MAAK;AAAA,YACL,OAAOP,IAAc,oBAAoB;AAAA,YACzC,OAAM;AAAA,YACN,SAASnB;AAAA,UAAA;AAAA,QACX;AAAA,QAEDa,KAAcD,KACb,gBAAAW,EAACI,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UAAS,UAAU,IACrF,UAAA;AAAA,UAAA,gBAAAF,EAACG,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHhB,GAAA;AAAA,UACA,gBAAAa;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,QAAQ;AAAA,cACR,QAAQ;AAAA,cACR,UAAS;AAAA,cACT,UAAS;AAAA,cACT,aAAY;AAAA,cACZ,QAAQ,CAAC5B;AAAA,cACT,UACE,gBAAAwB;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACC,MAAMC;AAAAA,kBACN,UAAS;AAAA,kBACT,gBAAgBnB;AAAA,kBAChB,MAAK;AAAA,kBACL,SAASQ;AAAA,kBACT,UAAUd,KAAsBL;AAAA,kBAChC,MAAMM;AAAA,gBAAA;AAAA,cACR;AAAA,YAAA;AAAA,UAEJ;AAAA,QAAA,GACF;AAAA,QAEDI,KAAcD,KACb,gBAAAa,EAACI,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UAAS,UAAU,IACrF,UAAA;AAAA,UAAA,gBAAAF;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAME;AAAAA,cACN,UAAS;AAAA,cACT,gBAAgBtB;AAAA,cAChB,MAAK;AAAA,cACL,SAASY;AAAA,cACT,UAAUlB;AAAA,cACV,MAAMC;AAAA,YAAA;AAAA,UACR;AAAA,4BACCuB,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHlB,GAAA;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/features/trial-session/comps/navigation-bar/index.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\n\nimport ArrowTooltip from '../../../ui/arrow-tooltip/arrow-tooltip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { useTrialSessionNavigation } from '../../hooks/use-trial-session-navigation';\nimport * as Styled from './navigation-bar-styled';\n\nconst NavigationBar: React.FC = () => {\n const { slideConfig, buttonState, openEndClassModal, studentAbsentInClass } =\n useTrialSessionContext();\n const {\n left: { isDisabled: isLeftBtnDisabled, isLoading: isLeftBtnLoading },\n right: { isDisabled: isRightBtnDisabled, isLoading: isRightBtnLoading },\n } = buttonState || {};\n const { prevPage, nextPage } = slideConfig || {};\n const { buttonLabel: prevButtonLabel, pageId: prevPageId } = prevPage || {};\n const { buttonLabel: nextButtonLabel, pageId: nextPageId } = nextPage || {};\n const { handleNavigation } = useTrialSessionNavigation();\n const isLastPage = prevPageId && !nextPageId;\n\n const handleNext = useCallback(() => {\n handleNavigation('next', nextPageId);\n }, [handleNavigation, nextPageId]);\n\n const handlePrev = useCallback(() => {\n handleNavigation('prev', prevPageId);\n }, [handleNavigation, prevPageId]);\n\n return (\n <Styled.Container\n $flexDirection=\"row-reverse\"\n $justifyContent=\"space-between\"\n $alignItems=\"center\"\n >\n {isLastPage && (\n <Button\n renderAs=\"tertiary\"\n size=\"small\"\n label=\"End the class\"\n shape=\"square\"\n onClick={openEndClassModal}\n />\n )}\n {nextPageId && nextButtonLabel && (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGap={12}>\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n {nextButtonLabel}\n </Text>\n <ArrowTooltip\n widthX={8}\n zIndex={2}\n position=\"top-left\"\n renderAs=\"primary\"\n tooltipItem=\"Waiting for student to join...\"\n hidden={!studentAbsentInClass}\n children={\n <IconButton\n Icon={Styled.ForwardArrow}\n renderAs=\"primary\"\n analyticsLabel={nextButtonLabel}\n size=\"small\"\n onClick={handleNext}\n disabled={isRightBtnDisabled || studentAbsentInClass}\n busy={isRightBtnLoading}\n />\n }\n />\n </FlexView>\n )}\n {prevPageId && prevButtonLabel && (\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $justifyContent=\"center\" $flexGap={12}>\n <IconButton\n Icon={Styled.BackwardArrow}\n renderAs=\"secondary\"\n analyticsLabel={prevButtonLabel}\n size=\"small\"\n onClick={handlePrev}\n disabled={isLeftBtnDisabled}\n busy={isLeftBtnLoading}\n />\n <Text $renderAs=\"ab2\" $color=\"BLACK_T_60\">\n {prevButtonLabel}\n </Text>\n </FlexView>\n )}\n </Styled.Container>\n );\n};\n\nexport default NavigationBar;\n"],"names":["NavigationBar","slideConfig","buttonState","openEndClassModal","studentAbsentInClass","useTrialSessionContext","isLeftBtnDisabled","isLeftBtnLoading","isRightBtnDisabled","isRightBtnLoading","prevPage","nextPage","prevButtonLabel","prevPageId","nextButtonLabel","nextPageId","handleNavigation","useTrialSessionNavigation","isLastPage","handleNext","useCallback","handlePrev","jsxs","Styled.Container","jsx","Button","FlexView","Text","ArrowTooltip","IconButton","Styled.ForwardArrow","Styled.BackwardArrow"],"mappings":";;;;;;;;;;;AAWA,MAAMA,IAA0B,MAAM;AACpC,QAAM,EAAE,aAAAC,GAAa,aAAAC,GAAa,mBAAAC,GAAmB,sBAAAC,EAAA,IACnDC,KACI;AAAA,IACJ,MAAM,EAAE,YAAYC,GAAmB,WAAWC,EAAiB;AAAA,IACnE,OAAO,EAAE,YAAYC,GAAoB,WAAWC,EAAkB;AAAA,EAAA,IACpEP,KAAe,CAAA,GACb,EAAE,UAAAQ,GAAU,UAAAC,MAAaV,KAAe,CAAA,GACxC,EAAE,aAAaW,GAAiB,QAAQC,EAAW,IAAIH,KAAY,IACnE,EAAE,aAAaI,GAAiB,QAAQC,EAAW,IAAIJ,KAAY,IACnE,EAAE,kBAAAK,MAAqBC,KACvBC,IAAaL,KAAc,CAACE,GAE5BI,IAAaC,EAAY,MAAM;AACnC,IAAAJ,EAAiB,QAAQD,CAAU;AAAA,EAAA,GAClC,CAACC,GAAkBD,CAAU,CAAC,GAE3BM,IAAaD,EAAY,MAAM;AACnC,IAAAJ,EAAiB,QAAQH,CAAU;AAAA,EAAA,GAClC,CAACG,GAAkBH,CAAU,CAAC;AAG/B,SAAA,gBAAAS;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,iBAAgB;AAAA,MAChB,aAAY;AAAA,MAEX,UAAA;AAAA,QACCL,KAAA,gBAAAM;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,MAAK;AAAA,YACL,OAAM;AAAA,YACN,OAAM;AAAA,YACN,SAAStB;AAAA,UAAA;AAAA,QACX;AAAA,QAEDY,KAAcD,KACb,gBAAAQ,EAACI,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UAAS,UAAU,IACrF,UAAA;AAAA,UAAA,gBAAAF,EAACG,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHb,GAAA;AAAA,UACA,gBAAAU;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,QAAQ;AAAA,cACR,QAAQ;AAAA,cACR,UAAS;AAAA,cACT,UAAS;AAAA,cACT,aAAY;AAAA,cACZ,QAAQ,CAACxB;AAAA,cACT,UACE,gBAAAoB;AAAA,gBAACK;AAAA,gBAAA;AAAA,kBACC,MAAMC;AAAAA,kBACN,UAAS;AAAA,kBACT,gBAAgBhB;AAAA,kBAChB,MAAK;AAAA,kBACL,SAASK;AAAA,kBACT,UAAUX,KAAsBJ;AAAA,kBAChC,MAAMK;AAAA,gBAAA;AAAA,cACR;AAAA,YAAA;AAAA,UAEJ;AAAA,QAAA,GACF;AAAA,QAEDI,KAAcD,KACb,gBAAAU,EAACI,GAAS,EAAA,gBAAe,OAAM,aAAY,UAAS,iBAAgB,UAAS,UAAU,IACrF,UAAA;AAAA,UAAA,gBAAAF;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,MAAME;AAAAA,cACN,UAAS;AAAA,cACT,gBAAgBnB;AAAA,cAChB,MAAK;AAAA,cACL,SAASS;AAAA,cACT,UAAUf;AAAA,cACV,MAAMC;AAAA,YAAA;AAAA,UACR;AAAA,4BACCoB,GAAK,EAAA,WAAU,OAAM,QAAO,cAC1B,UACHf,GAAA;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -1,44 +1,44 @@
1
- import { jsx as R } from "react/jsx-runtime";
2
- import { memo as Y, useMemo as S, useCallback as s, useEffect as f } from "react";
3
- import { GOAL_CATEGORY as m } from "../../../milestone/constants.js";
4
- import { getCategorizedCurriculumStandards as j } from "../../../milestone/create/comps/class-details-step/class-details-utils.js";
5
- import { getGradesFromConfig as q, getGoalsFromConfig as v } from "../../../milestone/create/milestone-create-helpers.js";
6
- import { epochTimestampAfterOneYear as O } from "../../../utils/utils.js";
7
- import { useTrialSessionContext as z } from "../../context/use-trial-session-context.js";
8
- import { updateGoalInFormData as E } from "../../helper.js";
9
- import M from "./school-goals-view.js";
10
- const oo = Y(() => {
1
+ import { jsx as w } from "react/jsx-runtime";
2
+ import { memo as B, useMemo as C, useCallback as m, useEffect as S } from "react";
3
+ import { GOAL_CATEGORY as s } from "../../../milestone/constants.js";
4
+ import { getCategorizedCurriculumStandards as R } from "../../../milestone/create/comps/class-details-step/class-details-utils.js";
5
+ import { getGradesFromConfig as Y, getGoalsFromConfig as j } from "../../../milestone/create/milestone-create-helpers.js";
6
+ import { epochTimestampAfterOneYear as G } from "../../../utils/utils.js";
7
+ import { useTrialSessionContext as q } from "../../context/use-trial-session-context.js";
8
+ import { updateGoalInFormData as O } from "../../helper.js";
9
+ import v from "./school-goals-view.js";
10
+ const Z = B(() => {
11
11
  const {
12
12
  milestoneConfig: n,
13
- formData: L,
13
+ formData: E,
14
14
  updateSlideConfig: a,
15
- updateButtonState: p,
15
+ updateButtonState: f,
16
16
  onRemoveOptionalSlides: g,
17
- trialHomeData: b
18
- } = z(), { name: h, grade: e, goals: t, curriculum: u, numberInNameError: N } = L || {}, { demo_info: I, intel_student: T } = b, { source: U } = T || {}, { stream: i, region_data: y } = I || {}, { opportunity_country: c = "US" } = y || {}, A = q(n), C = U === "PLA", H = S(
19
- () => j(n, {
17
+ trialHomeData: L
18
+ } = q(), { name: p, grade: e, goals: t, curriculum: i, numberInNameError: N } = E || {}, { demo_info: I } = L, { stream: u, region_data: T } = I || {}, { opportunity_country: c = "US" } = T || {}, U = Y(n), b = C(
19
+ () => R(n, {
20
20
  countryCode: c,
21
21
  grade: e ?? "",
22
- goalCategory: m.SCHOOL_SUCCESS,
23
- courseStream: i,
22
+ goalCategory: s.SCHOOL_SUCCESS,
23
+ courseStream: u,
24
24
  enrollmentType: "ONLINE",
25
25
  flow: "CREATE"
26
26
  }),
27
- [n, c, e, i]
28
- ), d = S(
29
- () => v(n, {
27
+ [n, c, e, u]
28
+ ), d = C(
29
+ () => j(n, {
30
30
  countryCode: c,
31
31
  grade: e ?? "",
32
- goalCategory: m.SCHOOL_SUCCESS,
33
- courseStream: i,
34
- curriculumStandard: u,
32
+ goalCategory: s.SCHOOL_SUCCESS,
33
+ courseStream: u,
34
+ curriculumStandard: i,
35
35
  enrollmentType: "ONLINE"
36
36
  }),
37
- [n, c, e, i, u]
38
- ), { goal_code: _ } = S(
39
- () => (t == null ? void 0 : t.find((o) => o.goal_category === m.SCHOOL_SUCCESS)) ?? {},
37
+ [n, c, e, u, i]
38
+ ), { goal_code: _ } = C(
39
+ () => (t == null ? void 0 : t.find((o) => o.goal_category === s.SCHOOL_SUCCESS)) ?? {},
40
40
  [t]
41
- ), G = !!(h && e && u && _), r = s(
41
+ ), h = !!(p && e && i && _), r = m(
42
42
  (o, l) => {
43
43
  a({
44
44
  [o]: l,
@@ -46,65 +46,63 @@ const oo = Y(() => {
46
46
  });
47
47
  },
48
48
  [a]
49
- ), D = s(
49
+ ), y = m(
50
50
  (o) => {
51
51
  a({ numberInNameError: !1 }), r("name", o.target.value);
52
52
  },
53
53
  [a, r]
54
- ), F = s(
54
+ ), H = m(
55
55
  (o, l) => {
56
- const { label: B } = l, P = E(t, m.SCHOOL_SUCCESS, {
56
+ const { label: F } = l, x = O(t, s.SCHOOL_SUCCESS, {
57
57
  goal_code: o,
58
- milestone_name: B,
59
- milestone_date_ts: O(),
60
- publish: C
58
+ milestone_name: F,
59
+ milestone_date_ts: G()
61
60
  });
62
- a({ goals: P });
61
+ a({ goals: x });
63
62
  },
64
- [t, C, a]
65
- ), x = s(
63
+ [t, a]
64
+ ), D = m(
66
65
  (o) => r("curriculum", o),
67
66
  [r]
68
- ), w = s(
67
+ ), A = m(
69
68
  (o) => {
70
69
  r("grade", o), r("curriculum", "");
71
70
  },
72
71
  [r]
73
72
  );
74
- return f(() => {
75
- p("right", { isDisabled: !G, isLoading: !1 });
76
- }, [G, p]), f(() => {
73
+ return S(() => {
74
+ f("right", { isDisabled: !h, isLoading: !1 });
75
+ }, [h, f]), S(() => {
77
76
  e && (g == null || g(e));
78
- }, [e]), f(() => {
77
+ }, [e]), S(() => {
79
78
  const o = d.length === 1 ? d[0] : void 0;
80
79
  if (o) {
81
- const l = E(t, m.SCHOOL_SUCCESS, {
80
+ const l = O(t, s.SCHOOL_SUCCESS, {
82
81
  goal_code: o.id ?? "",
83
82
  milestone_name: o.label ?? "",
84
- milestone_date_ts: O(),
85
- publish: C
83
+ milestone_date_ts: G()
86
84
  });
87
85
  a({ goals: l });
88
86
  }
89
- }, [d]), /* @__PURE__ */ R(
90
- M,
87
+ }, [d]), /* @__PURE__ */ w(
88
+ v,
91
89
  {
92
- name: h,
90
+ name: p,
93
91
  grade: e,
94
- grades: A,
92
+ grades: U,
95
93
  goalsList: d,
96
- curriculum: u,
94
+ curriculum: i,
97
95
  selectedGoal: _,
98
96
  numberInNameError: N,
99
- curriculumStandards: H,
100
- onNameChange: D,
101
- onGoalChange: F,
102
- onGradeChange: w,
103
- onCurriculumChange: x
97
+ curriculumStandards: b,
98
+ onNameChange: y,
99
+ onGoalChange: H,
100
+ onGradeChange: A,
101
+ onCurriculumChange: D
104
102
  }
105
103
  );
106
104
  });
107
105
  export {
108
- oo as default
106
+ Z as default
109
107
  };
110
108
  //# sourceMappingURL=school-goals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"school-goals.js","sources":["../../../../../src/features/trial-session/comps/school-goals/school-goals.tsx"],"sourcesContent":["import type { ISelectOption } from '../../../ui/inputs/base-select-input/base-select-input-types';\n\nimport { memo, useCallback, useEffect, useMemo } from 'react';\n\nimport { GOAL_CATEGORY } from '../../../milestone/constants';\nimport { getCategorizedCurriculumStandards } from '../../../milestone/create/comps/class-details-step/class-details-utils';\nimport {\n getGoalsFromConfig,\n getGradesFromConfig,\n} from '../../../milestone/create/milestone-create-helpers';\nimport { epochTimestampAfterOneYear } from '../../../utils/utils';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { updateGoalInFormData } from '../../helper';\nimport SchoolGoalsView from './school-goals-view';\n\nconst SchoolGoals = memo(() => {\n const {\n milestoneConfig,\n formData,\n updateSlideConfig,\n updateButtonState,\n onRemoveOptionalSlides,\n trialHomeData,\n } = useTrialSessionContext();\n const { name, grade, goals, curriculum, numberInNameError } = formData || {};\n\n const { demo_info: demoInfo, intel_student: intelStudent } = trialHomeData;\n const { source } = intelStudent || {};\n const { stream, region_data: regionData } = demoInfo || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const grades = getGradesFromConfig(milestoneConfig);\n const isPLASource = source === 'PLA';\n\n const curriculumStandards = useMemo(\n () =>\n getCategorizedCurriculumStandards(milestoneConfig, {\n countryCode,\n grade: grade ?? '',\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream: stream,\n enrollmentType: 'ONLINE',\n flow: 'CREATE',\n }),\n [milestoneConfig, countryCode, grade, stream],\n );\n\n const goalsList = useMemo(\n () =>\n getGoalsFromConfig(milestoneConfig, {\n countryCode,\n grade: grade ?? '',\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream: stream,\n curriculumStandard: curriculum,\n enrollmentType: 'ONLINE',\n }),\n [milestoneConfig, countryCode, grade, stream, curriculum],\n );\n\n const { goal_code: selectedGoal } = useMemo(\n () => goals?.find(goal => goal.goal_category === GOAL_CATEGORY.SCHOOL_SUCCESS) ?? {},\n [goals],\n );\n\n const hasRequiredFields = Boolean(name && grade && curriculum && selectedGoal);\n\n const updateStudentInformation = useCallback(\n (key: string, value: string) => {\n updateSlideConfig({\n [key]: value,\n ...(key === 'grade' || key === 'curriculum' ? { goals: [] } : {}),\n });\n },\n [updateSlideConfig],\n );\n\n const handleNameChange = useCallback<\n NonNullable<React.InputHTMLAttributes<HTMLInputElement>['onChange']>\n >(\n event => {\n updateSlideConfig({ numberInNameError: false });\n updateStudentInformation('name', event.target.value);\n },\n [updateSlideConfig, updateStudentInformation],\n );\n\n const handleGoalChange = useCallback(\n (value: string, option: ISelectOption<string | number>) => {\n const { label } = option;\n\n const updatedGoals = updateGoalInFormData(goals, GOAL_CATEGORY.SCHOOL_SUCCESS, {\n goal_code: value,\n milestone_name: label,\n milestone_date_ts: epochTimestampAfterOneYear(),\n publish: isPLASource,\n });\n\n updateSlideConfig({ goals: updatedGoals });\n },\n [goals, isPLASource, updateSlideConfig],\n );\n\n const handleCurriculumChange = useCallback(\n (value: string) => updateStudentInformation('curriculum', value),\n [updateStudentInformation],\n );\n\n const handleGradeChange = useCallback(\n (value: string) => {\n updateStudentInformation('grade', value);\n updateStudentInformation('curriculum', '');\n },\n [updateStudentInformation],\n );\n\n useEffect(() => {\n updateButtonState('right', { isDisabled: !hasRequiredFields, isLoading: false });\n }, [hasRequiredFields, updateButtonState]);\n\n useEffect(() => {\n if (grade) {\n onRemoveOptionalSlides?.(grade);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [grade]);\n\n useEffect(() => {\n // If there is only one goal in the list, set it as the selected goal\n // and update the form data with the goal code, milestone name, and date\n const defaultGoal = goalsList.length === 1 ? goalsList[0] : undefined;\n\n if (defaultGoal) {\n const goalToUpdate = updateGoalInFormData(goals, GOAL_CATEGORY.SCHOOL_SUCCESS, {\n goal_code: defaultGoal.id ?? '',\n milestone_name: defaultGoal.label ?? '',\n milestone_date_ts: epochTimestampAfterOneYear(),\n publish: isPLASource,\n });\n\n updateSlideConfig({ goals: goalToUpdate });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [goalsList]);\n\n return (\n <SchoolGoalsView\n name={name}\n grade={grade}\n grades={grades}\n goalsList={goalsList}\n curriculum={curriculum}\n selectedGoal={selectedGoal}\n numberInNameError={numberInNameError}\n curriculumStandards={curriculumStandards}\n onNameChange={handleNameChange}\n onGoalChange={handleGoalChange}\n onGradeChange={handleGradeChange}\n onCurriculumChange={handleCurriculumChange}\n />\n );\n});\n\nexport default SchoolGoals;\n"],"names":["SchoolGoals","memo","milestoneConfig","formData","updateSlideConfig","updateButtonState","onRemoveOptionalSlides","trialHomeData","useTrialSessionContext","name","grade","goals","curriculum","numberInNameError","demoInfo","intelStudent","source","stream","regionData","countryCode","grades","getGradesFromConfig","isPLASource","curriculumStandards","useMemo","getCategorizedCurriculumStandards","GOAL_CATEGORY","goalsList","getGoalsFromConfig","selectedGoal","goal","hasRequiredFields","updateStudentInformation","useCallback","key","value","handleNameChange","event","handleGoalChange","option","label","updatedGoals","updateGoalInFormData","epochTimestampAfterOneYear","handleCurriculumChange","handleGradeChange","useEffect","defaultGoal","goalToUpdate","jsx","SchoolGoalsView"],"mappings":"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"}
1
+ {"version":3,"file":"school-goals.js","sources":["../../../../../src/features/trial-session/comps/school-goals/school-goals.tsx"],"sourcesContent":["import type { ISelectOption } from '../../../ui/inputs/base-select-input/base-select-input-types';\n\nimport { memo, useCallback, useEffect, useMemo } from 'react';\n\nimport { GOAL_CATEGORY } from '../../../milestone/constants';\nimport { getCategorizedCurriculumStandards } from '../../../milestone/create/comps/class-details-step/class-details-utils';\nimport {\n getGoalsFromConfig,\n getGradesFromConfig,\n} from '../../../milestone/create/milestone-create-helpers';\nimport { epochTimestampAfterOneYear } from '../../../utils/utils';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { updateGoalInFormData } from '../../helper';\nimport SchoolGoalsView from './school-goals-view';\n\nconst SchoolGoals = memo(() => {\n const {\n milestoneConfig,\n formData,\n updateSlideConfig,\n updateButtonState,\n onRemoveOptionalSlides,\n trialHomeData,\n } = useTrialSessionContext();\n const { name, grade, goals, curriculum, numberInNameError } = formData || {};\n\n const { demo_info: demoInfo } = trialHomeData;\n const { stream, region_data: regionData } = demoInfo || {};\n const { opportunity_country: countryCode = 'US' } = regionData || {};\n const grades = getGradesFromConfig(milestoneConfig);\n\n const curriculumStandards = useMemo(\n () =>\n getCategorizedCurriculumStandards(milestoneConfig, {\n countryCode,\n grade: grade ?? '',\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream: stream,\n enrollmentType: 'ONLINE',\n flow: 'CREATE',\n }),\n [milestoneConfig, countryCode, grade, stream],\n );\n\n const goalsList = useMemo(\n () =>\n getGoalsFromConfig(milestoneConfig, {\n countryCode,\n grade: grade ?? '',\n goalCategory: GOAL_CATEGORY.SCHOOL_SUCCESS,\n courseStream: stream,\n curriculumStandard: curriculum,\n enrollmentType: 'ONLINE',\n }),\n [milestoneConfig, countryCode, grade, stream, curriculum],\n );\n\n const { goal_code: selectedGoal } = useMemo(\n () => goals?.find(goal => goal.goal_category === GOAL_CATEGORY.SCHOOL_SUCCESS) ?? {},\n [goals],\n );\n\n const hasRequiredFields = Boolean(name && grade && curriculum && selectedGoal);\n\n const updateStudentInformation = useCallback(\n (key: string, value: string) => {\n updateSlideConfig({\n [key]: value,\n ...(key === 'grade' || key === 'curriculum' ? { goals: [] } : {}),\n });\n },\n [updateSlideConfig],\n );\n\n const handleNameChange = useCallback<\n NonNullable<React.InputHTMLAttributes<HTMLInputElement>['onChange']>\n >(\n event => {\n updateSlideConfig({ numberInNameError: false });\n updateStudentInformation('name', event.target.value);\n },\n [updateSlideConfig, updateStudentInformation],\n );\n\n const handleGoalChange = useCallback(\n (value: string, option: ISelectOption<string | number>) => {\n const { label } = option;\n\n const updatedGoals = updateGoalInFormData(goals, GOAL_CATEGORY.SCHOOL_SUCCESS, {\n goal_code: value,\n milestone_name: label,\n milestone_date_ts: epochTimestampAfterOneYear(),\n });\n\n updateSlideConfig({ goals: updatedGoals });\n },\n [goals, updateSlideConfig],\n );\n\n const handleCurriculumChange = useCallback(\n (value: string) => updateStudentInformation('curriculum', value),\n [updateStudentInformation],\n );\n\n const handleGradeChange = useCallback(\n (value: string) => {\n updateStudentInformation('grade', value);\n updateStudentInformation('curriculum', '');\n },\n [updateStudentInformation],\n );\n\n useEffect(() => {\n updateButtonState('right', { isDisabled: !hasRequiredFields, isLoading: false });\n }, [hasRequiredFields, updateButtonState]);\n\n useEffect(() => {\n if (grade) {\n onRemoveOptionalSlides?.(grade);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [grade]);\n\n useEffect(() => {\n // If there is only one goal in the list, set it as the selected goal\n // and update the form data with the goal code, milestone name, and date\n const defaultGoal = goalsList.length === 1 ? goalsList[0] : undefined;\n\n if (defaultGoal) {\n const goalToUpdate = updateGoalInFormData(goals, GOAL_CATEGORY.SCHOOL_SUCCESS, {\n goal_code: defaultGoal.id ?? '',\n milestone_name: defaultGoal.label ?? '',\n milestone_date_ts: epochTimestampAfterOneYear(),\n });\n\n updateSlideConfig({ goals: goalToUpdate });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [goalsList]);\n\n return (\n <SchoolGoalsView\n name={name}\n grade={grade}\n grades={grades}\n goalsList={goalsList}\n curriculum={curriculum}\n selectedGoal={selectedGoal}\n numberInNameError={numberInNameError}\n curriculumStandards={curriculumStandards}\n onNameChange={handleNameChange}\n onGoalChange={handleGoalChange}\n onGradeChange={handleGradeChange}\n onCurriculumChange={handleCurriculumChange}\n />\n );\n});\n\nexport default SchoolGoals;\n"],"names":["SchoolGoals","memo","milestoneConfig","formData","updateSlideConfig","updateButtonState","onRemoveOptionalSlides","trialHomeData","useTrialSessionContext","name","grade","goals","curriculum","numberInNameError","demoInfo","stream","regionData","countryCode","grades","getGradesFromConfig","curriculumStandards","useMemo","getCategorizedCurriculumStandards","GOAL_CATEGORY","goalsList","getGoalsFromConfig","selectedGoal","goal","hasRequiredFields","updateStudentInformation","useCallback","key","value","handleNameChange","event","handleGoalChange","option","label","updatedGoals","updateGoalInFormData","epochTimestampAfterOneYear","handleCurriculumChange","handleGradeChange","useEffect","defaultGoal","goalToUpdate","jsx","SchoolGoalsView"],"mappings":"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"}