@cuemath/leap 4.1.5 → 4.1.7-link.0

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 (50) hide show
  1. package/dist/features/trial-session/comps/class-preference/helpers.js +11 -11
  2. package/dist/features/trial-session/comps/class-preference/helpers.js.map +1 -1
  3. package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js +32 -27
  4. package/dist/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.js.map +1 -1
  5. package/dist/features/trial-session/comps/cue-tips/tips/index.js +12 -12
  6. package/dist/features/trial-session/comps/cue-tips/tips/index.js.map +1 -1
  7. package/dist/features/trial-session/comps/learning-plan/learning-preview-worksheet.js +36 -38
  8. package/dist/features/trial-session/comps/learning-plan/learning-preview-worksheet.js.map +1 -1
  9. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js +1 -1
  10. package/dist/features/trial-session/comps/session-overview/session-overview-styled.js.map +1 -1
  11. package/dist/features/trial-session/comps/student-feedback/student-feedback-option/student-feedback-option-styled.js +24 -0
  12. package/dist/features/trial-session/comps/student-feedback/student-feedback-option/student-feedback-option-styled.js.map +1 -0
  13. package/dist/features/trial-session/comps/student-feedback/student-feedback-option/student-feedback-option.js +89 -0
  14. package/dist/features/trial-session/comps/student-feedback/student-feedback-option/student-feedback-option.js.map +1 -0
  15. package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js +9 -27
  16. package/dist/features/trial-session/comps/student-feedback/student-feedback-styled.js.map +1 -1
  17. package/dist/features/trial-session/comps/student-feedback/student-feedback.js +67 -136
  18. package/dist/features/trial-session/comps/student-feedback/student-feedback.js.map +1 -1
  19. package/dist/features/trial-session/comps/student-info/student-info.js +62 -65
  20. package/dist/features/trial-session/comps/student-info/student-info.js.map +1 -1
  21. package/dist/features/trial-session/comps/topic-selection/topic-selection.js +108 -30
  22. package/dist/features/trial-session/comps/topic-selection/topic-selection.js.map +1 -1
  23. package/dist/features/trial-session/helper.js +101 -109
  24. package/dist/features/trial-session/helper.js.map +1 -1
  25. package/dist/features/trial-session/left-panel/index.js +9 -10
  26. package/dist/features/trial-session/left-panel/index.js.map +1 -1
  27. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  28. package/dist/features/trial-session/trial-session.js +41 -42
  29. package/dist/features/trial-session/trial-session.js.map +1 -1
  30. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +66 -76
  31. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
  32. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js +48 -44
  33. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js.map +1 -1
  34. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js +73 -72
  35. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-section-navigation/worksheet-section-navigation.js.map +1 -1
  36. package/dist/features/worksheet/worksheet/worksheet-questions/worksheet-questions.js +33 -31
  37. package/dist/features/worksheet/worksheet/worksheet-questions/worksheet-questions.js.map +1 -1
  38. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  39. package/dist/features/worksheet/worksheet/worksheet-view.js +39 -39
  40. package/dist/features/worksheet/worksheet/worksheet-view.js.map +1 -1
  41. package/dist/features/worksheet/worksheet/worksheet.js +41 -51
  42. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  43. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +24 -27
  44. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  45. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +38 -42
  46. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  47. package/dist/index.d.ts +5 -4
  48. package/dist/index.js +316 -314
  49. package/dist/index.js.map +1 -1
  50. package/package.json +1 -1
@@ -1,24 +1,24 @@
1
- const m = (o, n) => {
2
- let r = typeof o == "string" ? parseInt(o, 10) : o, t = typeof n == "string" ? parseInt(n, 10) : n;
3
- const a = t % 15;
4
- return a >= 8 ? (t += 15 - a, t === 60 && (t = 0, r += 1, r === 24 && (r = 0))) : t -= a, {
5
- roundedHour: r.toString().padStart(2, "0"),
1
+ const m = (r, n) => {
2
+ let o = typeof r == "string" ? parseInt(r, 10) : r, t = typeof n == "string" ? parseInt(n, 10) : n;
3
+ const i = t % 15;
4
+ return i >= 8 ? (t += 15 - i, t === 60 && (t = 0, o += 1, o === 24 && (o = 0))) : t -= i, {
5
+ roundedHour: o.toString(),
6
6
  roundedMinute: t.toString().padStart(2, "0")
7
7
  };
8
- }, c = (o, n) => {
9
- const r = new Date(o), t = {
8
+ }, c = (r, n) => {
9
+ const o = new Date(r), t = {
10
10
  weekday: "long",
11
11
  hour: "2-digit",
12
12
  minute: "2-digit",
13
13
  hour12: !0,
14
14
  timeZone: n
15
- }, p = new Intl.DateTimeFormat("en-US", t).formatToParts(r);
16
- let i = "", d = "", u = "", s = "";
15
+ }, p = new Intl.DateTimeFormat("en-US", t).formatToParts(o);
16
+ let a = "", d = "", u = "", s = "";
17
17
  for (const e of p)
18
- e.type === "weekday" && (i = e.value), e.type === "hour" && (d = e.value), e.type === "minute" && (u = e.value), e.type === "dayPeriod" && (s = e.value);
18
+ e.type === "weekday" && (a = e.value), e.type === "hour" && (d = e.value), e.type === "minute" && (u = e.value), e.type === "dayPeriod" && (s = e.value);
19
19
  const { roundedHour: f, roundedMinute: l } = m(d, u);
20
20
  return {
21
- day: i,
21
+ day: a,
22
22
  time: `${f}:${l} ${s}`
23
23
  };
24
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../../../../src/features/trial-session/comps/class-preference/helpers.ts"],"sourcesContent":["/**\n * Rounds a given hour and minute to the nearest 15-minute interval.\n * @param hour string or number\n * @param minute string or number\n * @returns { roundedHour: string, roundedMinute: string }\n */\nconst roundToNearest15Min = (\n hour: string | number,\n minute: string | number,\n): { roundedHour: string; roundedMinute: string } => {\n let h = typeof hour === 'string' ? parseInt(hour, 10) : hour;\n let m = typeof minute === 'string' ? parseInt(minute, 10) : minute;\n // Round down to nearest 15\n const remainder = m % 15;\n\n if (remainder >= 8) {\n m += 15 - remainder;\n if (m === 60) {\n m = 0;\n h += 1;\n if (h === 24) h = 0;\n }\n } else {\n m -= remainder;\n }\n\n return {\n roundedHour: h.toString().padStart(2, '0'),\n roundedMinute: m.toString().padStart(2, '0'),\n };\n};\n\n/**\n * Extracts day and time in 'hh:mm AM/PM' format from epoch and timezone.\n * @param epoch Epoch timestamp (number)\n * @param timezone IANA timezone string (e.g., 'Asia/Kolkata')\n * @returns { day: string, time: string }\n */\nconst extractDayAndTimeFromEpoch = (\n epoch: number,\n timezone: string,\n): { day: string; time: string } => {\n // Use Intl.DateTimeFormat for timezone conversion\n const date = new Date(epoch);\n const options: Intl.DateTimeFormatOptions = {\n weekday: 'long',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true,\n timeZone: timezone,\n };\n const formatter = new Intl.DateTimeFormat('en-US', options);\n const parts = formatter.formatToParts(date);\n let day = '';\n let hour = '';\n let minute = '';\n let period = '';\n\n for (const part of parts) {\n if (part.type === 'weekday') day = part.value;\n\n if (part.type === 'hour') hour = part.value;\n\n if (part.type === 'minute') minute = part.value;\n\n if (part.type === 'dayPeriod') period = part.value;\n }\n const { roundedHour, roundedMinute } = roundToNearest15Min(hour, minute);\n\n return {\n day,\n time: `${roundedHour}:${roundedMinute} ${period}`,\n };\n};\n\nexport { extractDayAndTimeFromEpoch };\n"],"names":["roundToNearest15Min","hour","minute","h","m","remainder","extractDayAndTimeFromEpoch","epoch","timezone","date","options","parts","day","period","part","roundedHour","roundedMinute"],"mappings":"AAMA,MAAMA,IAAsB,CAC1BC,GACAC,MACmD;AACnD,MAAIC,IAAI,OAAOF,KAAS,WAAW,SAASA,GAAM,EAAE,IAAIA,GACpDG,IAAI,OAAOF,KAAW,WAAW,SAASA,GAAQ,EAAE,IAAIA;AAE5D,QAAMG,IAAYD,IAAI;AAEtB,SAAIC,KAAa,KACfD,KAAK,KAAKC,GACND,MAAM,OACJA,IAAA,GACCD,KAAA,GACDA,MAAM,OAAQA,IAAA,OAGfC,KAAAC,GAGA;AAAA,IACL,aAAaF,EAAE,SAAA,EAAW,SAAS,GAAG,GAAG;AAAA,IACzC,eAAeC,EAAE,SAAA,EAAW,SAAS,GAAG,GAAG;AAAA,EAAA;AAE/C,GAQME,IAA6B,CACjCC,GACAC,MACkC;AAE5B,QAAAC,IAAO,IAAI,KAAKF,CAAK,GACrBG,IAAsC;AAAA,IAC1C,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAUF;AAAA,EAAA,GAGNG,IADY,IAAI,KAAK,eAAe,SAASD,CAAO,EAClC,cAAcD,CAAI;AAC1C,MAAIG,IAAM,IACNX,IAAO,IACPC,IAAS,IACTW,IAAS;AAEb,aAAWC,KAAQH;AACjB,IAAIG,EAAK,SAAS,cAAWF,IAAME,EAAK,QAEpCA,EAAK,SAAS,WAAQb,IAAOa,EAAK,QAElCA,EAAK,SAAS,aAAUZ,IAASY,EAAK,QAEtCA,EAAK,SAAS,gBAAaD,IAASC,EAAK;AAE/C,QAAM,EAAE,aAAAC,GAAa,eAAAC,EAAA,IAAkBhB,EAAoBC,GAAMC,CAAM;AAEhE,SAAA;AAAA,IACL,KAAAU;AAAA,IACA,MAAM,GAAGG,CAAW,IAAIC,CAAa,IAAIH,CAAM;AAAA,EAAA;AAEnD;"}
1
+ {"version":3,"file":"helpers.js","sources":["../../../../../src/features/trial-session/comps/class-preference/helpers.ts"],"sourcesContent":["/**\n * Rounds a given hour and minute to the nearest 15-minute interval.\n * @param hour string or number\n * @param minute string or number\n * @returns { roundedHour: string, roundedMinute: string }\n */\nconst roundToNearest15Min = (\n hour: string | number,\n minute: string | number,\n): { roundedHour: string; roundedMinute: string } => {\n let h = typeof hour === 'string' ? parseInt(hour, 10) : hour;\n let m = typeof minute === 'string' ? parseInt(minute, 10) : minute;\n // Round down to nearest 15\n const remainder = m % 15;\n\n if (remainder >= 8) {\n m += 15 - remainder;\n if (m === 60) {\n m = 0;\n h += 1;\n if (h === 24) h = 0;\n }\n } else {\n m -= remainder;\n }\n\n return {\n roundedHour: h.toString(),\n roundedMinute: m.toString().padStart(2, '0'),\n };\n};\n\n/**\n * Extracts day and time in 'hh:mm AM/PM' format from epoch and timezone.\n * @param epoch Epoch timestamp (number)\n * @param timezone IANA timezone string (e.g., 'Asia/Kolkata')\n * @returns { day: string, time: string }\n */\nconst extractDayAndTimeFromEpoch = (\n epoch: number,\n timezone: string,\n): { day: string; time: string } => {\n // Use Intl.DateTimeFormat for timezone conversion\n const date = new Date(epoch);\n const options: Intl.DateTimeFormatOptions = {\n weekday: 'long',\n hour: '2-digit',\n minute: '2-digit',\n hour12: true,\n timeZone: timezone,\n };\n const formatter = new Intl.DateTimeFormat('en-US', options);\n const parts = formatter.formatToParts(date);\n let day = '';\n let hour = '';\n let minute = '';\n let period = '';\n\n for (const part of parts) {\n if (part.type === 'weekday') day = part.value;\n\n if (part.type === 'hour') hour = part.value;\n\n if (part.type === 'minute') minute = part.value;\n\n if (part.type === 'dayPeriod') period = part.value;\n }\n const { roundedHour, roundedMinute } = roundToNearest15Min(hour, minute);\n\n return {\n day,\n time: `${roundedHour}:${roundedMinute} ${period}`,\n };\n};\n\nexport { extractDayAndTimeFromEpoch };\n"],"names":["roundToNearest15Min","hour","minute","h","m","remainder","extractDayAndTimeFromEpoch","epoch","timezone","date","options","parts","day","period","part","roundedHour","roundedMinute"],"mappings":"AAMA,MAAMA,IAAsB,CAC1BC,GACAC,MACmD;AACnD,MAAIC,IAAI,OAAOF,KAAS,WAAW,SAASA,GAAM,EAAE,IAAIA,GACpDG,IAAI,OAAOF,KAAW,WAAW,SAASA,GAAQ,EAAE,IAAIA;AAE5D,QAAMG,IAAYD,IAAI;AAEtB,SAAIC,KAAa,KACfD,KAAK,KAAKC,GACND,MAAM,OACJA,IAAA,GACCD,KAAA,GACDA,MAAM,OAAQA,IAAA,OAGfC,KAAAC,GAGA;AAAA,IACL,aAAaF,EAAE,SAAS;AAAA,IACxB,eAAeC,EAAE,SAAA,EAAW,SAAS,GAAG,GAAG;AAAA,EAAA;AAE/C,GAQME,IAA6B,CACjCC,GACAC,MACkC;AAE5B,QAAAC,IAAO,IAAI,KAAKF,CAAK,GACrBG,IAAsC;AAAA,IAC1C,SAAS;AAAA,IACT,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAUF;AAAA,EAAA,GAGNG,IADY,IAAI,KAAK,eAAe,SAASD,CAAO,EAClC,cAAcD,CAAI;AAC1C,MAAIG,IAAM,IACNX,IAAO,IACPC,IAAS,IACTW,IAAS;AAEb,aAAWC,KAAQH;AACjB,IAAIG,EAAK,SAAS,cAAWF,IAAME,EAAK,QAEpCA,EAAK,SAAS,WAAQb,IAAOa,EAAK,QAElCA,EAAK,SAAS,aAAUZ,IAASY,EAAK,QAEtCA,EAAK,SAAS,gBAAaD,IAASC,EAAK;AAE/C,QAAM,EAAE,aAAAC,GAAa,eAAAC,EAAA,IAAkBhB,EAAoBC,GAAMC,CAAM;AAEhE,SAAA;AAAA,IACL,KAAAU;AAAA,IACA,MAAM,GAAGG,CAAW,IAAIC,CAAa,IAAIH,CAAM;AAAA,EAAA;AAEnD;"}
@@ -1,42 +1,47 @@
1
- import { useState as h, useRef as C, useCallback as l, useMemo as N, useEffect as d } from "react";
2
- import { useTrialSessionContext as E } from "../../../context/use-trial-session-context.js";
3
- import { TrialPageId as r } from "../../../trial-session-constants.js";
4
- const M = 500, O = () => {
5
- const [m, a] = h(!1), { slideConfig: T, formData: p, demoType: A, updateSlideConfig: t } = E(), { id: s } = T, { confirmationModalActive: c } = p || {}, e = C(null), o = A === "TRIAL_V3", n = l(() => {
6
- e.current && clearTimeout(e.current), e.current = setTimeout(() => {
7
- a(!1), e.current = null;
8
- }, M);
9
- }, []), u = l(() => {
10
- switch (s) {
11
- case r.LEARNING_WORKSHEET:
12
- t({
13
- id: o ? r.LEARNING_LEVEL : r.STUDENT_INFORMATION,
1
+ import { useState as g, useRef as p, useCallback as a, useMemo as A, useEffect as m } from "react";
2
+ import { useTrialSessionContext as L } from "../../../context/use-trial-session-context.js";
3
+ import { TrialPageId as e } from "../../../trial-session-constants.js";
4
+ const h = 500, O = () => {
5
+ const [E, c] = g(!1), { slideConfig: T, formData: C, demoType: I, updateSlideConfig: s, onRemoveOptionalSlides: n } = L(), { id: r } = T, { confirmationModalActive: u } = C || {}, t = p(null), o = I === "TRIAL_V3", i = a(() => {
6
+ t.current && clearTimeout(t.current), t.current = setTimeout(() => {
7
+ c(!1), t.current = null;
8
+ }, h);
9
+ }, []), f = a(() => {
10
+ switch (r) {
11
+ case e.LEARNING_WORKSHEET:
12
+ s({
13
+ id: o ? e.LEARNING_LEVEL : e.TOPIC_SELECTION,
14
14
  confirmationModalActive: !1,
15
15
  resetAttempt: !0,
16
16
  selectedTopics: void 0
17
- }), n();
17
+ }), n == null || n({
18
+ slideToUpdate: {
19
+ slideId: o ? e.LEARNING_LEVEL : e.TOPIC_SELECTION,
20
+ newNextPage: { buttonLabel: "Questions", pageId: e.LEARNING_WORKSHEET }
21
+ }
22
+ }), i();
18
23
  break;
19
24
  default:
20
25
  return null;
21
26
  }
22
- }, [s, t, o, n]), f = l(() => {
23
- t({ confirmationModalActive: !1 }), n();
24
- }, [t, n]), g = N(
27
+ }, [r, s, o, n, i]), d = a(() => {
28
+ s({ confirmationModalActive: !1 }), i();
29
+ }, [s, i]), N = A(
25
30
  () => ({
26
- [r.LEARNING_WORKSHEET]: {
31
+ [e.LEARNING_WORKSHEET]: {
27
32
  title: o ? "Changing the session level will reset current progress. Are you sure?" : "You will lose the current progress. Do you still wish to change the grade, level, or chapters for the session?",
28
33
  confirmText: o ? "Yes, change session level" : "Yes, reset",
29
- onConfirm: u,
30
- onCancel: f
34
+ onConfirm: f,
35
+ onCancel: d
31
36
  }
32
37
  }),
33
- [f, u, o]
34
- ), i = s ? g[s] : void 0;
35
- return d(() => {
36
- c && i && a(!0);
37
- }, [c, i]), d(() => () => {
38
- e.current && clearTimeout(e.current);
39
- }, []), { modalConfig: i, openModal: m };
38
+ [d, f, o]
39
+ ), l = r ? N[r] : void 0;
40
+ return m(() => {
41
+ u && l && c(!0);
42
+ }, [u, l]), m(() => () => {
43
+ t.current && clearTimeout(t.current);
44
+ }, []), { modalConfig: l, openModal: E };
40
45
  };
41
46
  export {
42
47
  O as default
@@ -1 +1 @@
1
- {"version":3,"file":"use-confirmation-modal.js","sources":["../../../../../../src/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { useTrialSessionContext } from '../../../context/use-trial-session-context';\nimport { TrialPageId } from '../../../trial-session-constants';\n\nconst ANIMATION_DURATION_MS = 500;\n\ninterface IConfirmationModalConfig {\n title: string;\n confirmText?: string;\n cancelText?: string;\n onConfirm: () => void;\n onCancel: () => void;\n}\n\ninterface IConfirmationModalReturn {\n modalConfig: IConfirmationModalConfig | undefined;\n openModal: boolean;\n}\n\nconst useConfirmationModal = (): IConfirmationModalReturn => {\n const [openModal, setOpenModal] = useState(false);\n const { slideConfig, formData, demoType, updateSlideConfig } = useTrialSessionContext();\n const { id } = slideConfig;\n const { confirmationModalActive } = formData || {};\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n const isTrialV3 = demoType === 'TRIAL_V3';\n\n const closeModal = useCallback(() => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n setOpenModal(false);\n timeoutRef.current = null;\n }, ANIMATION_DURATION_MS);\n }, []);\n\n const handleConfirm = useCallback(() => {\n switch (id) {\n case TrialPageId.LEARNING_WORKSHEET:\n updateSlideConfig({\n id: isTrialV3 ? TrialPageId.LEARNING_LEVEL : TrialPageId.STUDENT_INFORMATION,\n confirmationModalActive: false,\n resetAttempt: true,\n selectedTopics: undefined,\n });\n closeModal();\n break;\n default:\n return null;\n }\n }, [id, updateSlideConfig, isTrialV3, closeModal]);\n\n const handleCancel = useCallback(() => {\n updateSlideConfig({ confirmationModalActive: false });\n closeModal();\n }, [updateSlideConfig, closeModal]);\n\n const modalConfigs: Partial<Record<TrialPageId, IConfirmationModalConfig>> = useMemo(\n () => ({\n [TrialPageId.LEARNING_WORKSHEET]: {\n title: isTrialV3\n ? 'Changing the session level will reset current progress. Are you sure?'\n : 'You will lose the current progress. Do you still wish to change the grade, level, or chapters for the session?',\n confirmText: isTrialV3 ? 'Yes, change session level' : 'Yes, reset',\n onConfirm: handleConfirm,\n onCancel: handleCancel,\n },\n }),\n [handleCancel, handleConfirm, isTrialV3],\n );\n\n const modalConfig = id ? modalConfigs[id] : undefined;\n\n useEffect(() => {\n if (confirmationModalActive && modalConfig) setOpenModal(true);\n }, [confirmationModalActive, modalConfig]);\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n return { modalConfig, openModal };\n};\n\nexport default useConfirmationModal;\n"],"names":["ANIMATION_DURATION_MS","useConfirmationModal","openModal","setOpenModal","useState","slideConfig","formData","demoType","updateSlideConfig","useTrialSessionContext","id","confirmationModalActive","timeoutRef","useRef","isTrialV3","closeModal","useCallback","handleConfirm","TrialPageId","handleCancel","modalConfigs","useMemo","modalConfig","useEffect"],"mappings":";;;AAKA,MAAMA,IAAwB,KAexBC,IAAuB,MAAgC;AAC3D,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,EAAE,aAAAC,GAAa,UAAAC,GAAU,UAAAC,GAAU,mBAAAC,EAAA,IAAsBC,KACzD,EAAE,IAAAC,EAAO,IAAAL,GACT,EAAE,yBAAAM,EAAA,IAA4BL,KAAY,IAC1CM,IAAaC,EAA8B,IAAI,GAC/CC,IAAYP,MAAa,YAEzBQ,IAAaC,EAAY,MAAM;AACnC,IAAIJ,EAAW,WACb,aAAaA,EAAW,OAAO,GAGtBA,EAAA,UAAU,WAAW,MAAM;AACpC,MAAAT,EAAa,EAAK,GAClBS,EAAW,UAAU;AAAA,OACpBZ,CAAqB;AAAA,EAC1B,GAAG,CAAE,CAAA,GAECiB,IAAgBD,EAAY,MAAM;AACtC,YAAQN,GAAI;AAAA,MACV,KAAKQ,EAAY;AACG,QAAAV,EAAA;AAAA,UAChB,IAAIM,IAAYI,EAAY,iBAAiBA,EAAY;AAAA,UACzD,yBAAyB;AAAA,UACzB,cAAc;AAAA,UACd,gBAAgB;AAAA,QAAA,CACjB,GACUH;AACX;AAAA,MACF;AACS,eAAA;AAAA,IACX;AAAA,KACC,CAACL,GAAIF,GAAmBM,GAAWC,CAAU,CAAC,GAE3CI,IAAeH,EAAY,MAAM;AACnB,IAAAR,EAAA,EAAE,yBAAyB,GAAA,CAAO,GACzCO;EAAA,GACV,CAACP,GAAmBO,CAAU,CAAC,GAE5BK,IAAuEC;AAAA,IAC3E,OAAO;AAAA,MACL,CAACH,EAAY,kBAAkB,GAAG;AAAA,QAChC,OAAOJ,IACH,0EACA;AAAA,QACJ,aAAaA,IAAY,8BAA8B;AAAA,QACvD,WAAWG;AAAA,QACX,UAAUE;AAAA,MACZ;AAAA,IAAA;AAAA,IAEF,CAACA,GAAcF,GAAeH,CAAS;AAAA,EAAA,GAGnCQ,IAAcZ,IAAKU,EAAaV,CAAE,IAAI;AAE5C,SAAAa,EAAU,MAAM;AACV,IAAAZ,KAA2BW,KAAanB,EAAa,EAAI;AAAA,EAAA,GAC5D,CAACQ,GAAyBW,CAAW,CAAC,GAEzCC,EAAU,MACD,MAAM;AACX,IAAIX,EAAW,WACb,aAAaA,EAAW,OAAO;AAAA,EACjC,GAED,CAAE,CAAA,GAEE,EAAE,aAAAU,GAAa,WAAApB;AACxB;"}
1
+ {"version":3,"file":"use-confirmation-modal.js","sources":["../../../../../../src/features/trial-session/comps/confirmation-modal/hooks/use-confirmation-modal.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { useTrialSessionContext } from '../../../context/use-trial-session-context';\nimport { TrialPageId } from '../../../trial-session-constants';\n\nconst ANIMATION_DURATION_MS = 500;\n\ninterface IConfirmationModalConfig {\n title: string;\n confirmText?: string;\n cancelText?: string;\n onConfirm: () => void;\n onCancel: () => void;\n}\n\ninterface IConfirmationModalReturn {\n modalConfig: IConfirmationModalConfig | undefined;\n openModal: boolean;\n}\n\nconst useConfirmationModal = (): IConfirmationModalReturn => {\n const [openModal, setOpenModal] = useState(false);\n const { slideConfig, formData, demoType, updateSlideConfig, onRemoveOptionalSlides } =\n useTrialSessionContext();\n const { id } = slideConfig;\n const { confirmationModalActive } = formData || {};\n const timeoutRef = useRef<NodeJS.Timeout | null>(null);\n const isTrialV3 = demoType === 'TRIAL_V3';\n\n const closeModal = useCallback(() => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n\n timeoutRef.current = setTimeout(() => {\n setOpenModal(false);\n timeoutRef.current = null;\n }, ANIMATION_DURATION_MS);\n }, []);\n\n const handleConfirm = useCallback(() => {\n switch (id) {\n case TrialPageId.LEARNING_WORKSHEET:\n updateSlideConfig({\n id: isTrialV3 ? TrialPageId.LEARNING_LEVEL : TrialPageId.TOPIC_SELECTION,\n confirmationModalActive: false,\n resetAttempt: true,\n selectedTopics: undefined,\n });\n onRemoveOptionalSlides?.({\n slideToUpdate: {\n slideId: isTrialV3 ? TrialPageId.LEARNING_LEVEL : TrialPageId.TOPIC_SELECTION,\n newNextPage: { buttonLabel: 'Questions', pageId: TrialPageId.LEARNING_WORKSHEET },\n },\n });\n closeModal();\n break;\n default:\n return null;\n }\n }, [id, updateSlideConfig, isTrialV3, onRemoveOptionalSlides, closeModal]);\n\n const handleCancel = useCallback(() => {\n updateSlideConfig({ confirmationModalActive: false });\n closeModal();\n }, [updateSlideConfig, closeModal]);\n\n const modalConfigs: Partial<Record<TrialPageId, IConfirmationModalConfig>> = useMemo(\n () => ({\n [TrialPageId.LEARNING_WORKSHEET]: {\n title: isTrialV3\n ? 'Changing the session level will reset current progress. Are you sure?'\n : 'You will lose the current progress. Do you still wish to change the grade, level, or chapters for the session?',\n confirmText: isTrialV3 ? 'Yes, change session level' : 'Yes, reset',\n onConfirm: handleConfirm,\n onCancel: handleCancel,\n },\n }),\n [handleCancel, handleConfirm, isTrialV3],\n );\n\n const modalConfig = id ? modalConfigs[id] : undefined;\n\n useEffect(() => {\n if (confirmationModalActive && modalConfig) setOpenModal(true);\n }, [confirmationModalActive, modalConfig]);\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, []);\n\n return { modalConfig, openModal };\n};\n\nexport default useConfirmationModal;\n"],"names":["ANIMATION_DURATION_MS","useConfirmationModal","openModal","setOpenModal","useState","slideConfig","formData","demoType","updateSlideConfig","onRemoveOptionalSlides","useTrialSessionContext","id","confirmationModalActive","timeoutRef","useRef","isTrialV3","closeModal","useCallback","handleConfirm","TrialPageId","handleCancel","modalConfigs","useMemo","modalConfig","useEffect"],"mappings":";;;AAKA,MAAMA,IAAwB,KAexBC,IAAuB,MAAgC;AAC3D,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,EAAE,aAAAC,GAAa,UAAAC,GAAU,UAAAC,GAAU,mBAAAC,GAAmB,wBAAAC,EAAA,IAC1DC,KACI,EAAE,IAAAC,EAAO,IAAAN,GACT,EAAE,yBAAAO,EAAA,IAA4BN,KAAY,IAC1CO,IAAaC,EAA8B,IAAI,GAC/CC,IAAYR,MAAa,YAEzBS,IAAaC,EAAY,MAAM;AACnC,IAAIJ,EAAW,WACb,aAAaA,EAAW,OAAO,GAGtBA,EAAA,UAAU,WAAW,MAAM;AACpC,MAAAV,EAAa,EAAK,GAClBU,EAAW,UAAU;AAAA,OACpBb,CAAqB;AAAA,EAC1B,GAAG,CAAE,CAAA,GAECkB,IAAgBD,EAAY,MAAM;AACtC,YAAQN,GAAI;AAAA,MACV,KAAKQ,EAAY;AACG,QAAAX,EAAA;AAAA,UAChB,IAAIO,IAAYI,EAAY,iBAAiBA,EAAY;AAAA,UACzD,yBAAyB;AAAA,UACzB,cAAc;AAAA,UACd,gBAAgB;AAAA,QAAA,CACjB,GACwBV,KAAA,QAAAA,EAAA;AAAA,UACvB,eAAe;AAAA,YACb,SAASM,IAAYI,EAAY,iBAAiBA,EAAY;AAAA,YAC9D,aAAa,EAAE,aAAa,aAAa,QAAQA,EAAY,mBAAmB;AAAA,UAClF;AAAA,QAAA,IAESH;AACX;AAAA,MACF;AACS,eAAA;AAAA,IACX;AAAA,EAAA,GACC,CAACL,GAAIH,GAAmBO,GAAWN,GAAwBO,CAAU,CAAC,GAEnEI,IAAeH,EAAY,MAAM;AACnB,IAAAT,EAAA,EAAE,yBAAyB,GAAA,CAAO,GACzCQ;EAAA,GACV,CAACR,GAAmBQ,CAAU,CAAC,GAE5BK,IAAuEC;AAAA,IAC3E,OAAO;AAAA,MACL,CAACH,EAAY,kBAAkB,GAAG;AAAA,QAChC,OAAOJ,IACH,0EACA;AAAA,QACJ,aAAaA,IAAY,8BAA8B;AAAA,QACvD,WAAWG;AAAA,QACX,UAAUE;AAAA,MACZ;AAAA,IAAA;AAAA,IAEF,CAACA,GAAcF,GAAeH,CAAS;AAAA,EAAA,GAGnCQ,IAAcZ,IAAKU,EAAaV,CAAE,IAAI;AAE5C,SAAAa,EAAU,MAAM;AACV,IAAAZ,KAA2BW,KAAapB,EAAa,EAAI;AAAA,EAAA,GAC5D,CAACS,GAAyBW,CAAW,CAAC,GAEzCC,EAAU,MACD,MAAM;AACX,IAAIX,EAAW,WACb,aAAaA,EAAW,OAAO;AAAA,EACjC,GAED,CAAE,CAAA,GAEE,EAAE,aAAAU,GAAa,WAAArB;AACxB;"}
@@ -1,12 +1,12 @@
1
1
  import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
2
  import i from "../../../../ui/layout/flex-view.js";
3
- import s from "../../../../ui/separator/separator.js";
4
- import a from "../../../../ui/text/text.js";
5
- import { TipContainer as c, CheckIcon as f, TipText as n, CrossIcon as p } from "./tips-styled.js";
6
- const u = ({ dos: o, donts: l }) => /* @__PURE__ */ t(i, { children: [
7
- /* @__PURE__ */ r(a, { $renderAs: "ac4", $color: "REAL_BLACK_60", children: "Tips" }),
8
- /* @__PURE__ */ r(s, { height: 8 }),
9
- /* @__PURE__ */ t(c, { $flexDirection: "column", $flexGap: 8, children: [
3
+ import l from "../../../../ui/separator/separator.js";
4
+ import c from "../../../../ui/text/text.js";
5
+ import { TipContainer as a, CheckIcon as p, TipText as n, CrossIcon as f } from "./tips-styled.js";
6
+ const m = ({ dos: o, donts: s }) => /* @__PURE__ */ t(i, { children: [
7
+ /* @__PURE__ */ r(c, { $renderAs: "ac4", $color: "REAL_BLACK_60", children: "Tips" }),
8
+ /* @__PURE__ */ r(l, { height: 8 }),
9
+ /* @__PURE__ */ t(a, { $flexDirection: "column", $flexGap: 8, children: [
10
10
  o.map((e) => /* @__PURE__ */ t(
11
11
  i,
12
12
  {
@@ -15,13 +15,13 @@ const u = ({ dos: o, donts: l }) => /* @__PURE__ */ t(i, { children: [
15
15
  $alignItems: "start",
16
16
  $flexGap: 8,
17
17
  children: [
18
- /* @__PURE__ */ r(f, {}),
18
+ /* @__PURE__ */ r(p, {}),
19
19
  /* @__PURE__ */ r(n, { $renderAs: "ub3", children: e })
20
20
  ]
21
21
  },
22
22
  e
23
23
  )),
24
- l.map((e) => /* @__PURE__ */ t(
24
+ s.map((e) => /* @__PURE__ */ t(
25
25
  i,
26
26
  {
27
27
  $flexDirection: "row",
@@ -29,15 +29,15 @@ const u = ({ dos: o, donts: l }) => /* @__PURE__ */ t(i, { children: [
29
29
  $alignItems: "start",
30
30
  $flexGap: 8,
31
31
  children: [
32
- /* @__PURE__ */ r(p, {}),
32
+ /* @__PURE__ */ r(f, {}),
33
33
  /* @__PURE__ */ r(n, { $renderAs: "ub3", children: e })
34
34
  ]
35
35
  },
36
36
  e
37
37
  ))
38
38
  ] })
39
- ] });
39
+ ] }), C = m;
40
40
  export {
41
- u as default
41
+ C as default
42
42
  };
43
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/features/trial-session/comps/cue-tips/tips/index.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './tips-styled';\n\nconst Tips: FC<{ dos: string[]; donts: string[] }> = ({ dos, donts }) => {\n return (\n <FlexView>\n <Text $renderAs=\"ac4\" $color=\"REAL_BLACK_60\">\n Tips\n </Text>\n <Separator height={8} />\n <Styled.TipContainer $flexDirection=\"column\" $flexGap={8}>\n {dos.map(doText => {\n return (\n <FlexView\n key={doText}\n $flexDirection=\"row\"\n $justifyContent=\"flex-start\"\n $alignItems=\"start\"\n $flexGap={8}\n >\n <Styled.CheckIcon />\n <Styled.TipText $renderAs=\"ub3\">{doText}</Styled.TipText>\n </FlexView>\n );\n })}\n {donts.map(dontText => {\n return (\n <FlexView\n key={dontText}\n $flexDirection=\"row\"\n $justifyContent=\"flex-start\"\n $alignItems=\"start\"\n $flexGap={8}\n >\n <Styled.CrossIcon />\n <Styled.TipText $renderAs=\"ub3\">{dontText}</Styled.TipText>\n </FlexView>\n );\n })}\n </Styled.TipContainer>\n </FlexView>\n );\n};\n\nexport default Tips;\n"],"names":["Tips","dos","donts","FlexView","jsx","Text","Separator","Styled.TipContainer","doText","jsxs","Styled.CheckIcon","Styled.TipText","dontText","Styled.CrossIcon"],"mappings":";;;;;AAOA,MAAMA,IAA+C,CAAC,EAAE,KAAAC,GAAK,OAAAC,0BAExDC,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,OAAM,QAAO,iBAAgB,UAE7C,QAAA;AAAA,EACA,gBAAAD,EAACE,GAAU,EAAA,QAAQ,EAAG,CAAA;AAAA,oBACrBC,GAAA,EAAoB,gBAAe,UAAS,UAAU,GACpD,UAAA;AAAA,IAAAN,EAAI,IAAI,CAAUO,MAEf,gBAAAC;AAAA,MAACN;AAAA,MAAA;AAAA,QAEC,gBAAe;AAAA,QACf,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,UAAU;AAAA,QAEV,UAAA;AAAA,UAAC,gBAAAC,EAAAM,GAAA,EAAiB;AAAA,4BACjBC,GAAA,EAAe,WAAU,OAAO,UAAOH,GAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAPnCA;AAAA,IAAA,CAUV;AAAA,IACAN,EAAM,IAAI,CAAYU,MAEnB,gBAAAH;AAAA,MAACN;AAAA,MAAA;AAAA,QAEC,gBAAe;AAAA,QACf,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,UAAU;AAAA,QAEV,UAAA;AAAA,UAAC,gBAAAC,EAAAS,GAAA,EAAiB;AAAA,4BACjBF,GAAA,EAAe,WAAU,OAAO,UAASC,GAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAPrCA;AAAA,IAAA,CAUV;AAAA,EAAA,GACH;AACF,EAAA,CAAA;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/features/trial-session/comps/cue-tips/tips/index.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './tips-styled';\n\nconst Tips: FC<{ dos: string[]; donts: string[] }> = ({ dos, donts }) => {\n return (\n <FlexView>\n <Text $renderAs=\"ac4\" $color=\"REAL_BLACK_60\">\n Tips\n </Text>\n <Separator height={8} />\n <Styled.TipContainer $flexDirection=\"column\" $flexGap={8}>\n {dos.map(doText => {\n return (\n <FlexView\n key={doText}\n $flexDirection=\"row\"\n $justifyContent=\"flex-start\"\n $alignItems=\"start\"\n $flexGap={8}\n >\n <Styled.CheckIcon />\n <Styled.TipText $renderAs=\"ub3\">{doText}</Styled.TipText>\n </FlexView>\n );\n })}\n {donts.map(dontText => {\n return (\n <FlexView\n key={dontText}\n $flexDirection=\"row\"\n $justifyContent=\"flex-start\"\n $alignItems=\"start\"\n $flexGap={8}\n >\n <Styled.CrossIcon />\n <Styled.TipText $renderAs=\"ub3\">{dontText}</Styled.TipText>\n </FlexView>\n );\n })}\n </Styled.TipContainer>\n </FlexView>\n );\n};\n\nexport default Tips;\n"],"names":["Tips","dos","donts","FlexView","jsx","Text","Separator","Styled.TipContainer","doText","jsxs","Styled.CheckIcon","Styled.TipText","dontText","Styled.CrossIcon","Tips$1"],"mappings":";;;;;AAOA,MAAMA,IAA+C,CAAC,EAAE,KAAAC,GAAK,OAAAC,0BAExDC,GACC,EAAA,UAAA;AAAA,EAAA,gBAAAC,EAACC,GAAK,EAAA,WAAU,OAAM,QAAO,iBAAgB,UAE7C,QAAA;AAAA,EACA,gBAAAD,EAACE,GAAU,EAAA,QAAQ,EAAG,CAAA;AAAA,oBACrBC,GAAA,EAAoB,gBAAe,UAAS,UAAU,GACpD,UAAA;AAAA,IAAAN,EAAI,IAAI,CAAUO,MAEf,gBAAAC;AAAA,MAACN;AAAA,MAAA;AAAA,QAEC,gBAAe;AAAA,QACf,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,UAAU;AAAA,QAEV,UAAA;AAAA,UAAC,gBAAAC,EAAAM,GAAA,EAAiB;AAAA,4BACjBC,GAAA,EAAe,WAAU,OAAO,UAAOH,GAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAPnCA;AAAA,IAAA,CAUV;AAAA,IACAN,EAAM,IAAI,CAAYU,MAEnB,gBAAAH;AAAA,MAACN;AAAA,MAAA;AAAA,QAEC,gBAAe;AAAA,QACf,iBAAgB;AAAA,QAChB,aAAY;AAAA,QACZ,UAAU;AAAA,QAEV,UAAA;AAAA,UAAC,gBAAAC,EAAAS,GAAA,EAAiB;AAAA,4BACjBF,GAAA,EAAe,WAAU,OAAO,UAASC,GAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAPrCA;AAAA,IAAA,CAUV;AAAA,EAAA,GACH;AACF,EAAA,CAAA,GAIJE,IAAed;"}
@@ -1,35 +1,35 @@
1
- import { jsx as v } from "react/jsx-runtime";
2
- import { memo as D, useCallback as f } from "react";
1
+ import { jsx as h } from "react/jsx-runtime";
2
+ import { memo as D, useCallback as v } from "react";
3
3
  import { NODE_TYPE as R } from "../../../sheets/constants/sheet.js";
4
- import N from "../../../worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js";
5
- import { useTrialSessionContext as A } from "../../context/use-trial-session-context.js";
4
+ import A from "../../../worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js";
5
+ import { useTrialSessionContext as J } from "../../context/use-trial-session-context.js";
6
6
  import { ELearningPlanView as w } from "../../trial-session-types.js";
7
- import J from "../../../worksheet/worksheet-preview/worksheet-preview.js";
8
- import { useWorksheetPreviewJourney as O } from "../../../journey/hooks/use-learning-plan-journey/use-worksheet-preview-journey.js";
9
- const U = D(
10
- function({ resetScrollPosition: t }) {
11
- const { studentId: n, formData: e, isTeacher: o, updateSlideConfig: r } = A(), i = o ? "TEACHER" : "STUDENT", {
7
+ import N from "../../../worksheet/worksheet-preview/worksheet-preview.js";
8
+ import { useWorksheetPreviewJourney as S } from "../../../journey/hooks/use-learning-plan-journey/use-worksheet-preview-journey.js";
9
+ const Y = D(
10
+ function({ resetScrollPosition: n }) {
11
+ const { studentId: r, formData: e, isTeacher: o, updateSlideConfig: t } = J(), i = o ? "TEACHER" : "STUDENT", {
12
12
  name: C = "",
13
13
  learningPlanChapterId: a,
14
14
  learningPlanActiveMilestoneId: s,
15
15
  previewWorksheetJourneyCompleted: y
16
- } = e || {}, E = f(() => {
17
- r({ previewWorksheetJourneyCompleted: !0 });
18
- }, [r]), { worksheetBackIconRef: m, startJourney: c } = O({
16
+ } = e || {}, E = v(() => {
17
+ t({ previewWorksheetJourneyCompleted: !0 });
18
+ }, [t]), { worksheetBackIconRef: m, startJourney: c } = S({
19
19
  onComplete: E
20
- }), d = !!(o && !y), u = f(() => {
20
+ }), u = !!(o && !y), d = v(() => {
21
21
  if (!o) return;
22
- const T = s ? w.ADD_RESOURCE : void 0;
23
- r({
24
- learningPlanView: a ? w.VIEW_CHAPTER_DETAILS : T,
22
+ const W = s ? w.ADD_RESOURCE : void 0;
23
+ t({
24
+ learningPlanView: a ? w.VIEW_CHAPTER_DETAILS : W,
25
25
  learningPlanWorksheetData: void 0
26
- }), t();
26
+ }), n();
27
27
  }, [
28
28
  o,
29
29
  s,
30
- r,
30
+ t,
31
31
  a,
32
- t
32
+ n
33
33
  ]), l = e == null ? void 0 : e.learningPlanWorksheetData;
34
34
  if (!l) return null;
35
35
  const {
@@ -37,45 +37,43 @@ const U = D(
37
37
  activityReference: p,
38
38
  nodeType: k,
39
39
  worksheetName: g,
40
- activityType: W,
41
- imageHue: I,
42
- userNodeId: h
40
+ activityType: I,
41
+ imageHue: T,
42
+ userNodeId: f
43
43
  } = l;
44
- return (!p || k === R.DYNAMIC) && h ? /* @__PURE__ */ v(
45
- N,
44
+ return (!p || k === R.DYNAMIC) && f ? /* @__PURE__ */ h(
45
+ A,
46
46
  {
47
- userNodeId: h,
48
- studentId: n,
47
+ userNodeId: f,
48
+ studentId: r,
49
49
  studentName: C,
50
- onBackIconClick: u,
50
+ onBackIconClick: d,
51
51
  userType: i,
52
52
  worksheetBackIconRef: m,
53
- canStartJourney: d,
53
+ canStartJourney: u,
54
54
  startJourney: c
55
55
  }
56
- ) : /* @__PURE__ */ v(
57
- J,
56
+ ) : /* @__PURE__ */ h(
57
+ N,
58
58
  {
59
59
  activityReference: p,
60
60
  mode: "preview",
61
61
  nodeType: k,
62
- activityType: W,
62
+ activityType: I,
63
63
  userType: i,
64
- studentId: n ?? "student-id",
64
+ studentId: r ?? "student-id",
65
65
  worksheetName: g,
66
- onBackIconClick: u,
66
+ onBackIconClick: d,
67
67
  items: P,
68
- behaviorOverride: { navigationMode: "OPEN" },
69
- layoutOverride: { containerWidth: "100%" },
70
- imageHue: I ?? void 0,
68
+ imageHue: T ?? void 0,
71
69
  worksheetBackIconRef: m,
72
- canStartJourney: d,
70
+ canStartJourney: u,
73
71
  startJourney: c
74
72
  }
75
73
  );
76
74
  }
77
75
  );
78
76
  export {
79
- U as default
77
+ Y as default
80
78
  };
81
79
  //# sourceMappingURL=learning-preview-worksheet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"learning-preview-worksheet.js","sources":["../../../../../src/features/trial-session/comps/learning-plan/learning-preview-worksheet.tsx"],"sourcesContent":["import { type FC, memo, useCallback } from 'react';\n\nimport { NODE_TYPE } from '../../../sheets/constants/sheet';\nimport DynamicWorksheetPreview from '../../../worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { ELearningPlanView } from '../../trial-session-types';\nimport { type TNodeTypes } from '../../../../types/models/worksheet';\nimport PreviewWorksheet from '../../../worksheet/worksheet-preview/worksheet-preview';\nimport { useWorksheetPreviewJourney } from '../../../journey/hooks/use-learning-plan-journey/use-worksheet-preview-journey';\nimport { type IBaseLearningPlanProps } from './learning-plan-types';\n\nconst LearningPreviewWorksheet: FC<IBaseLearningPlanProps> = memo(\n function LearningPreviewWorksheet({ resetScrollPosition }) {\n const { studentId, formData, isTeacher, updateSlideConfig } = useTrialSessionContext();\n\n const userType = isTeacher ? 'TEACHER' : 'STUDENT';\n const {\n name = '',\n learningPlanChapterId,\n learningPlanActiveMilestoneId,\n previewWorksheetJourneyCompleted,\n } = formData || {};\n\n const onJourneyCompleted = useCallback(() => {\n updateSlideConfig({ previewWorksheetJourneyCompleted: true });\n }, [updateSlideConfig]);\n\n const { worksheetBackIconRef, startJourney } = useWorksheetPreviewJourney({\n onComplete: onJourneyCompleted,\n });\n const canStartJourney = Boolean(isTeacher && !previewWorksheetJourneyCompleted);\n\n const handleExitWorksheet = useCallback(() => {\n if (!isTeacher) return;\n\n const addResourcesView = learningPlanActiveMilestoneId\n ? ELearningPlanView.ADD_RESOURCE\n : undefined;\n\n updateSlideConfig({\n learningPlanView: learningPlanChapterId\n ? ELearningPlanView.VIEW_CHAPTER_DETAILS\n : addResourcesView,\n learningPlanWorksheetData: undefined,\n });\n resetScrollPosition();\n }, [\n isTeacher,\n learningPlanActiveMilestoneId,\n updateSlideConfig,\n learningPlanChapterId,\n resetScrollPosition,\n ]);\n\n const worksheetData = formData?.learningPlanWorksheetData;\n\n if (!worksheetData) return null;\n\n const {\n itemRefs,\n activityReference,\n nodeType,\n worksheetName,\n activityType,\n imageHue,\n userNodeId,\n } = worksheetData;\n\n if ((!activityReference || nodeType === NODE_TYPE.DYNAMIC) && userNodeId) {\n return (\n <DynamicWorksheetPreview\n userNodeId={userNodeId}\n studentId={studentId}\n studentName={name}\n onBackIconClick={handleExitWorksheet}\n userType={userType}\n worksheetBackIconRef={worksheetBackIconRef}\n canStartJourney={canStartJourney}\n startJourney={startJourney}\n />\n );\n }\n\n return (\n <PreviewWorksheet\n activityReference={activityReference!}\n mode=\"preview\"\n nodeType={nodeType as TNodeTypes}\n activityType={activityType}\n userType={userType}\n studentId={studentId ?? 'student-id'}\n worksheetName={worksheetName}\n onBackIconClick={handleExitWorksheet}\n items={itemRefs}\n behaviorOverride={{ navigationMode: 'OPEN' }}\n layoutOverride={{ containerWidth: '100%' }}\n imageHue={imageHue ?? undefined}\n worksheetBackIconRef={worksheetBackIconRef}\n canStartJourney={canStartJourney}\n startJourney={startJourney}\n />\n );\n },\n);\n\nexport default LearningPreviewWorksheet;\n"],"names":["LearningPreviewWorksheet","memo","resetScrollPosition","studentId","formData","isTeacher","updateSlideConfig","useTrialSessionContext","userType","name","learningPlanChapterId","learningPlanActiveMilestoneId","previewWorksheetJourneyCompleted","onJourneyCompleted","useCallback","worksheetBackIconRef","startJourney","useWorksheetPreviewJourney","canStartJourney","handleExitWorksheet","addResourcesView","ELearningPlanView","worksheetData","itemRefs","activityReference","nodeType","worksheetName","activityType","imageHue","userNodeId","NODE_TYPE","jsx","DynamicWorksheetPreview","PreviewWorksheet"],"mappings":";;;;;;;;AAWA,MAAMA,IAAuDC;AAAA,EAC3D,SAAkC,EAAE,qBAAAC,KAAuB;AACzD,UAAM,EAAE,WAAAC,GAAW,UAAAC,GAAU,WAAAC,GAAW,mBAAAC,EAAA,IAAsBC,KAExDC,IAAWH,IAAY,YAAY,WACnC;AAAA,MACJ,MAAAI,IAAO;AAAA,MACP,uBAAAC;AAAA,MACA,+BAAAC;AAAA,MACA,kCAAAC;AAAA,IAAA,IACER,KAAY,CAAA,GAEVS,IAAqBC,EAAY,MAAM;AACzB,MAAAR,EAAA,EAAE,kCAAkC,GAAA,CAAM;AAAA,IAAA,GAC3D,CAACA,CAAiB,CAAC,GAEhB,EAAE,sBAAAS,GAAsB,cAAAC,EAAa,IAAIC,EAA2B;AAAA,MACxE,YAAYJ;AAAA,IAAA,CACb,GACKK,IAAkB,GAAQb,KAAa,CAACO,IAExCO,IAAsBL,EAAY,MAAM;AAC5C,UAAI,CAACT,EAAW;AAEV,YAAAe,IAAmBT,IACrBU,EAAkB,eAClB;AAEc,MAAAf,EAAA;AAAA,QAChB,kBAAkBI,IACdW,EAAkB,uBAClBD;AAAA,QACJ,2BAA2B;AAAA,MAAA,CAC5B,GACmBlB;IAAA,GACnB;AAAA,MACDG;AAAA,MACAM;AAAA,MACAL;AAAA,MACAI;AAAA,MACAR;AAAA,IAAA,CACD,GAEKoB,IAAgBlB,KAAA,gBAAAA,EAAU;AAE5B,QAAA,CAACkB,EAAsB,QAAA;AAErB,UAAA;AAAA,MACJ,UAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,eAAAC;AAAA,MACA,cAAAC;AAAA,MACA,UAAAC;AAAA,MACA,YAAAC;AAAA,IACE,IAAAP;AAEJ,YAAK,CAACE,KAAqBC,MAAaK,EAAU,YAAYD,IAE1D,gBAAAE;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,YAAAH;AAAA,QACA,WAAA1B;AAAA,QACA,aAAaM;AAAA,QACb,iBAAiBU;AAAA,QACjB,UAAAX;AAAA,QACA,sBAAAO;AAAA,QACA,iBAAAG;AAAA,QACA,cAAAF;AAAA,MAAA;AAAA,IAAA,IAMJ,gBAAAe;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,mBAAAT;AAAA,QACA,MAAK;AAAA,QACL,UAAAC;AAAA,QACA,cAAAE;AAAA,QACA,UAAAnB;AAAA,QACA,WAAWL,KAAa;AAAA,QACxB,eAAAuB;AAAA,QACA,iBAAiBP;AAAA,QACjB,OAAOI;AAAA,QACP,kBAAkB,EAAE,gBAAgB,OAAO;AAAA,QAC3C,gBAAgB,EAAE,gBAAgB,OAAO;AAAA,QACzC,UAAUK,KAAY;AAAA,QACtB,sBAAAb;AAAA,QACA,iBAAAG;AAAA,QACA,cAAAF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;"}
1
+ {"version":3,"file":"learning-preview-worksheet.js","sources":["../../../../../src/features/trial-session/comps/learning-plan/learning-preview-worksheet.tsx"],"sourcesContent":["import { type FC, memo, useCallback } from 'react';\n\nimport { NODE_TYPE } from '../../../sheets/constants/sheet';\nimport DynamicWorksheetPreview from '../../../worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview';\nimport { useTrialSessionContext } from '../../context/use-trial-session-context';\nimport { ELearningPlanView } from '../../trial-session-types';\nimport { type TNodeTypes } from '../../../../types/models/worksheet';\nimport PreviewWorksheet from '../../../worksheet/worksheet-preview/worksheet-preview';\nimport { useWorksheetPreviewJourney } from '../../../journey/hooks/use-learning-plan-journey/use-worksheet-preview-journey';\nimport { type IBaseLearningPlanProps } from './learning-plan-types';\n\nconst LearningPreviewWorksheet: FC<IBaseLearningPlanProps> = memo(\n function LearningPreviewWorksheet({ resetScrollPosition }) {\n const { studentId, formData, isTeacher, updateSlideConfig } = useTrialSessionContext();\n\n const userType = isTeacher ? 'TEACHER' : 'STUDENT';\n const {\n name = '',\n learningPlanChapterId,\n learningPlanActiveMilestoneId,\n previewWorksheetJourneyCompleted,\n } = formData || {};\n\n const onJourneyCompleted = useCallback(() => {\n updateSlideConfig({ previewWorksheetJourneyCompleted: true });\n }, [updateSlideConfig]);\n\n const { worksheetBackIconRef, startJourney } = useWorksheetPreviewJourney({\n onComplete: onJourneyCompleted,\n });\n const canStartJourney = Boolean(isTeacher && !previewWorksheetJourneyCompleted);\n\n const handleExitWorksheet = useCallback(() => {\n if (!isTeacher) return;\n\n const addResourcesView = learningPlanActiveMilestoneId\n ? ELearningPlanView.ADD_RESOURCE\n : undefined;\n\n updateSlideConfig({\n learningPlanView: learningPlanChapterId\n ? ELearningPlanView.VIEW_CHAPTER_DETAILS\n : addResourcesView,\n learningPlanWorksheetData: undefined,\n });\n resetScrollPosition();\n }, [\n isTeacher,\n learningPlanActiveMilestoneId,\n updateSlideConfig,\n learningPlanChapterId,\n resetScrollPosition,\n ]);\n\n const worksheetData = formData?.learningPlanWorksheetData;\n\n if (!worksheetData) return null;\n\n const {\n itemRefs,\n activityReference,\n nodeType,\n worksheetName,\n activityType,\n imageHue,\n userNodeId,\n } = worksheetData;\n\n if ((!activityReference || nodeType === NODE_TYPE.DYNAMIC) && userNodeId) {\n return (\n <DynamicWorksheetPreview\n userNodeId={userNodeId}\n studentId={studentId}\n studentName={name}\n onBackIconClick={handleExitWorksheet}\n userType={userType}\n worksheetBackIconRef={worksheetBackIconRef}\n canStartJourney={canStartJourney}\n startJourney={startJourney}\n />\n );\n }\n\n return (\n <PreviewWorksheet\n activityReference={activityReference!}\n mode=\"preview\"\n nodeType={nodeType as TNodeTypes}\n activityType={activityType}\n userType={userType}\n studentId={studentId ?? 'student-id'}\n worksheetName={worksheetName}\n onBackIconClick={handleExitWorksheet}\n items={itemRefs}\n imageHue={imageHue ?? undefined}\n worksheetBackIconRef={worksheetBackIconRef}\n canStartJourney={canStartJourney}\n startJourney={startJourney}\n />\n );\n },\n);\n\nexport default LearningPreviewWorksheet;\n"],"names":["LearningPreviewWorksheet","memo","resetScrollPosition","studentId","formData","isTeacher","updateSlideConfig","useTrialSessionContext","userType","name","learningPlanChapterId","learningPlanActiveMilestoneId","previewWorksheetJourneyCompleted","onJourneyCompleted","useCallback","worksheetBackIconRef","startJourney","useWorksheetPreviewJourney","canStartJourney","handleExitWorksheet","addResourcesView","ELearningPlanView","worksheetData","itemRefs","activityReference","nodeType","worksheetName","activityType","imageHue","userNodeId","NODE_TYPE","jsx","DynamicWorksheetPreview","PreviewWorksheet"],"mappings":";;;;;;;;AAWA,MAAMA,IAAuDC;AAAA,EAC3D,SAAkC,EAAE,qBAAAC,KAAuB;AACzD,UAAM,EAAE,WAAAC,GAAW,UAAAC,GAAU,WAAAC,GAAW,mBAAAC,EAAA,IAAsBC,KAExDC,IAAWH,IAAY,YAAY,WACnC;AAAA,MACJ,MAAAI,IAAO;AAAA,MACP,uBAAAC;AAAA,MACA,+BAAAC;AAAA,MACA,kCAAAC;AAAA,IAAA,IACER,KAAY,CAAA,GAEVS,IAAqBC,EAAY,MAAM;AACzB,MAAAR,EAAA,EAAE,kCAAkC,GAAA,CAAM;AAAA,IAAA,GAC3D,CAACA,CAAiB,CAAC,GAEhB,EAAE,sBAAAS,GAAsB,cAAAC,EAAa,IAAIC,EAA2B;AAAA,MACxE,YAAYJ;AAAA,IAAA,CACb,GACKK,IAAkB,GAAQb,KAAa,CAACO,IAExCO,IAAsBL,EAAY,MAAM;AAC5C,UAAI,CAACT,EAAW;AAEV,YAAAe,IAAmBT,IACrBU,EAAkB,eAClB;AAEc,MAAAf,EAAA;AAAA,QAChB,kBAAkBI,IACdW,EAAkB,uBAClBD;AAAA,QACJ,2BAA2B;AAAA,MAAA,CAC5B,GACmBlB;IAAA,GACnB;AAAA,MACDG;AAAA,MACAM;AAAA,MACAL;AAAA,MACAI;AAAA,MACAR;AAAA,IAAA,CACD,GAEKoB,IAAgBlB,KAAA,gBAAAA,EAAU;AAE5B,QAAA,CAACkB,EAAsB,QAAA;AAErB,UAAA;AAAA,MACJ,UAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,UAAAC;AAAA,MACA,eAAAC;AAAA,MACA,cAAAC;AAAA,MACA,UAAAC;AAAA,MACA,YAAAC;AAAA,IACE,IAAAP;AAEJ,YAAK,CAACE,KAAqBC,MAAaK,EAAU,YAAYD,IAE1D,gBAAAE;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,YAAAH;AAAA,QACA,WAAA1B;AAAA,QACA,aAAaM;AAAA,QACb,iBAAiBU;AAAA,QACjB,UAAAX;AAAA,QACA,sBAAAO;AAAA,QACA,iBAAAG;AAAA,QACA,cAAAF;AAAA,MAAA;AAAA,IAAA,IAMJ,gBAAAe;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,mBAAAT;AAAA,QACA,MAAK;AAAA,QACL,UAAAC;AAAA,QACA,cAAAE;AAAA,QACA,UAAAnB;AAAA,QACA,WAAWL,KAAa;AAAA,QACxB,eAAAuB;AAAA,QACA,iBAAiBP;AAAA,QACjB,OAAOI;AAAA,QACP,UAAUK,KAAY;AAAA,QACtB,sBAAAb;AAAA,QACA,iBAAAG;AAAA,QACA,cAAAF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;"}
@@ -13,7 +13,7 @@ const a = r.div`
13
13
  border-bottom: 1px solid ${o};
14
14
  }
15
15
  .period-text {
16
- margin-left: 23px;
16
+ margin-left: 30px;
17
17
  }
18
18
  `;
19
19
  }), c = r.div(({ theme: t, $bgImage: o }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"session-overview-styled.js","sources":["../../../../../src/features/trial-session/comps/session-overview/session-overview-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport { RIGHT_PANEL_CONTENT_WIDTH } from '../../trial-session-constants';\n\ntype TSessionGoal = {\n $bgImage: string;\n};\n\nconst Container = styled.div`\n width: 100%;\n height: 100%;\n`;\n\nconst GoalsWrapper = styled.div(({ theme }) => {\n const { BLACK_T_87 } = theme.colors;\n\n return `\n width: ${RIGHT_PANEL_CONTENT_WIDTH - 100}px;\n margin: auto;\n border: 1px solid ${BLACK_T_87};\n & > *:not(:last-child) {\n border-bottom: 1px solid ${BLACK_T_87};\n }\n .period-text {\n margin-left: 23px;\n }\n `;\n});\n\nconst Goal = styled.div<TSessionGoal>(({ theme, $bgImage }) => {\n const { gutter } = theme.layout;\n\n return `\n width: 100%;\n padding: ${gutter * 2.5}px ${gutter}px;\n background-image: url(${$bgImage});\n background-repeat: no-repeat;\n background-position: right, center;\n background-size: cover;\n `;\n});\n\nexport { Container, GoalsWrapper, Goal };\n"],"names":["Container","styled","GoalsWrapper","theme","BLACK_T_87","RIGHT_PANEL_CONTENT_WIDTH","Goal","$bgImage","gutter"],"mappings":";;AAQA,MAAMA,IAAYC,EAAO;AAAA;AAAA;AAAA,GAKnBC,IAAeD,EAAO,IAAI,CAAC,EAAE,OAAAE,QAAY;AACvC,QAAA,EAAE,YAAAC,EAAW,IAAID,EAAM;AAEtB,SAAA;AAAA,aACIE,IAA4B,GAAG;AAAA;AAAA,wBAEpBD,CAAU;AAAA;AAAA,iCAEDA,CAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAM3C,CAAC,GAEKE,IAAOL,EAAO,IAAkB,CAAC,EAAE,OAAAE,GAAO,UAAAI,QAAe;AACvD,QAAA,EAAE,QAAAC,EAAO,IAAIL,EAAM;AAElB,SAAA;AAAA;AAAA,eAEMK,IAAS,GAAG,MAAMA,CAAM;AAAA,4BACXD,CAAQ;AAAA;AAAA;AAAA;AAAA;AAKpC,CAAC;"}
1
+ {"version":3,"file":"session-overview-styled.js","sources":["../../../../../src/features/trial-session/comps/session-overview/session-overview-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport { RIGHT_PANEL_CONTENT_WIDTH } from '../../trial-session-constants';\n\ntype TSessionGoal = {\n $bgImage: string;\n};\n\nconst Container = styled.div`\n width: 100%;\n height: 100%;\n`;\n\nconst GoalsWrapper = styled.div(({ theme }) => {\n const { BLACK_T_87 } = theme.colors;\n\n return `\n width: ${RIGHT_PANEL_CONTENT_WIDTH - 100}px;\n margin: auto;\n border: 1px solid ${BLACK_T_87};\n & > *:not(:last-child) {\n border-bottom: 1px solid ${BLACK_T_87};\n }\n .period-text {\n margin-left: 30px;\n }\n `;\n});\n\nconst Goal = styled.div<TSessionGoal>(({ theme, $bgImage }) => {\n const { gutter } = theme.layout;\n\n return `\n width: 100%;\n padding: ${gutter * 2.5}px ${gutter}px;\n background-image: url(${$bgImage});\n background-repeat: no-repeat;\n background-position: right, center;\n background-size: cover;\n `;\n});\n\nexport { Container, GoalsWrapper, Goal };\n"],"names":["Container","styled","GoalsWrapper","theme","BLACK_T_87","RIGHT_PANEL_CONTENT_WIDTH","Goal","$bgImage","gutter"],"mappings":";;AAQA,MAAMA,IAAYC,EAAO;AAAA;AAAA;AAAA,GAKnBC,IAAeD,EAAO,IAAI,CAAC,EAAE,OAAAE,QAAY;AACvC,QAAA,EAAE,YAAAC,EAAW,IAAID,EAAM;AAEtB,SAAA;AAAA,aACIE,IAA4B,GAAG;AAAA;AAAA,wBAEpBD,CAAU;AAAA;AAAA,iCAEDA,CAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAM3C,CAAC,GAEKE,IAAOL,EAAO,IAAkB,CAAC,EAAE,OAAAE,GAAO,UAAAI,QAAe;AACvD,QAAA,EAAE,QAAAC,EAAO,IAAIL,EAAM;AAElB,SAAA;AAAA;AAAA,eAEMK,IAAS,GAAG,MAAMA,CAAM;AAAA,4BACXD,CAAQ;AAAA;AAAA;AAAA;AAAA;AAKpC,CAAC;"}
@@ -0,0 +1,24 @@
1
+ import r from "styled-components";
2
+ import e from "../../../../ui/layout/flex-view.js";
3
+ import t from "../../../../ui/text/text.js";
4
+ const c = r(e)(({ theme: o }) => `
5
+ cursor: pointer;
6
+ transition: all 0.2s ease-in-out;
7
+ &:hover {
8
+ background-color: ${o.colors.BLACK_T_87};
9
+
10
+ .feedback-title {
11
+ color: ${o.colors.WHITE_T_87};
12
+ }
13
+ .feedback-desc {
14
+ color: ${o.colors.WHITE_T_60};
15
+ }
16
+ }
17
+ `), s = r(t)`
18
+ display: inline;
19
+ `;
20
+ export {
21
+ c as Container,
22
+ s as InlineText
23
+ };
24
+ //# sourceMappingURL=student-feedback-option-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"student-feedback-option-styled.js","sources":["../../../../../../src/features/trial-session/comps/student-feedback/student-feedback-option/student-feedback-option-styled.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\nconst Container = styled(FlexView)(({ theme }) => {\n return `\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n &:hover {\n background-color: ${theme.colors.BLACK_T_87};\n \n .feedback-title {\n color: ${theme.colors.WHITE_T_87};\n }\n .feedback-desc {\n color: ${theme.colors.WHITE_T_60};\n }\n }\n `;\n});\n\nconst InlineText = styled(Text)`\n display: inline;\n`;\n\nexport { Container, InlineText };\n"],"names":["Container","styled","FlexView","theme","InlineText","Text"],"mappings":";;;AAKA,MAAMA,IAAYC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAC7B;AAAA;AAAA;AAAA;AAAA,0BAIiBA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA,iBAGhCA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA,iBAGvBA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA,GAIvC,GAEKC,IAAaH,EAAOI,CAAI;AAAA;AAAA;"}
@@ -0,0 +1,89 @@
1
+ import { jsxs as o, jsx as t, Fragment as g } from "react/jsx-runtime";
2
+ import { memo as k, useMemo as x } from "react";
3
+ import A from "../../../../ui/lottie-animation/lottie-animation.js";
4
+ import I from "../../../../ui/image/image.js";
5
+ import E from "../../../../ui/layout/flex-view.js";
6
+ import r from "../../../../ui/text/text.js";
7
+ import { Container as S, InlineText as v } from "./student-feedback-option-styled.js";
8
+ import { studentLevels as w } from "../student-feedback-constants.js";
9
+ import { useTrialSessionContext as B } from "../../../context/use-trial-session-context.js";
10
+ import { TrialPageId as K } from "../../../trial-session-constants.js";
11
+ import { LOTTIE as H } from "../../../../../assets/lottie/lottie.js";
12
+ const N = {
13
+ renderer: "canvas",
14
+ autoplay: !0,
15
+ loop: !1
16
+ }, U = k(
17
+ function(l) {
18
+ var c;
19
+ const { studentLevel: d, onClick: m } = l, { slideConfig: f, formData: p } = B(), { id: T } = f || {}, { personalizedLevel: _ = [], personalizedPosition: u = [] } = p || {}, i = T === K.STUDENT_LEVEL, { id: n, label: s, lottie: a, description: $ } = d, { title: L, description: h, icon: C } = w[s.toLowerCase()] || {}, e = (c = i ? u : _) == null ? void 0 : c.includes(n), b = x(
20
+ () => ({
21
+ ...N,
22
+ autoplay: e
23
+ }),
24
+ [e]
25
+ );
26
+ return /* @__PURE__ */ o(
27
+ S,
28
+ {
29
+ $flexDirection: "row",
30
+ $alignItems: "center",
31
+ $justifyContent: "flex-start",
32
+ $flexGapX: 1.25,
33
+ onClick: () => m(n),
34
+ $gutterX: 0.75,
35
+ $gapX: 1,
36
+ $background: e ? "BLACK_T_87" : "WHITE_1",
37
+ $borderColor: "BLACK_T_87",
38
+ children: [
39
+ a ? /* @__PURE__ */ t(A, { src: H[a], height: 64, width: 64, settings: b }) : /* @__PURE__ */ t(I, { withLoader: !0, src: C, height: 64, width: 64, alt: "icon" }),
40
+ /* @__PURE__ */ t(E, { $flex: 1, children: i ? /* @__PURE__ */ o(g, { children: [
41
+ /* @__PURE__ */ t(
42
+ r,
43
+ {
44
+ className: "feedback-title",
45
+ $renderAs: "ac3-black",
46
+ $color: e ? "WHITE_T_87" : "BLACK_T_87",
47
+ children: s
48
+ }
49
+ ),
50
+ /* @__PURE__ */ t(
51
+ r,
52
+ {
53
+ className: "feedback-desc",
54
+ $renderAs: "ab2",
55
+ $color: e ? "WHITE_T_87" : "BLACK_T_87",
56
+ children: $
57
+ }
58
+ )
59
+ ] }) : /* @__PURE__ */ o(
60
+ r,
61
+ {
62
+ className: "feedback-title",
63
+ $renderAs: "ac3-black",
64
+ $color: e ? "WHITE_T_87" : "BLACK_T_87",
65
+ children: [
66
+ L,
67
+ ":",
68
+ " ",
69
+ /* @__PURE__ */ t(
70
+ v,
71
+ {
72
+ className: "feedback-desc",
73
+ $renderAs: "ab2",
74
+ $color: e ? "WHITE_T_60" : "BLACK_T_60",
75
+ children: h
76
+ }
77
+ )
78
+ ]
79
+ }
80
+ ) })
81
+ ]
82
+ }
83
+ );
84
+ }
85
+ );
86
+ export {
87
+ U as default
88
+ };
89
+ //# sourceMappingURL=student-feedback-option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"student-feedback-option.js","sources":["../../../../../../src/features/trial-session/comps/student-feedback/student-feedback-option/student-feedback-option.tsx"],"sourcesContent":["import { type FC, memo, useMemo } from 'react';\n\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport * as Styled from './student-feedback-option-styled';\nimport { studentLevels } from '../student-feedback-constants';\nimport { type TMilestoneConfigOption } from '../../../../milestone/create/milestone-create-types';\nimport { useTrialSessionContext } from '../../../context/use-trial-session-context';\nimport { TrialPageId } from '../../../trial-session-constants';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\n\ntype IStudentFeedbackOptionProps = {\n studentLevel: TMilestoneConfigOption;\n onClick: (id: string) => void;\n};\n\nconst animationSettings = {\n renderer: 'canvas',\n autoplay: true,\n loop: false,\n};\n\nconst StudentFeedbackOption: FC<IStudentFeedbackOptionProps> = memo(\n function StudentFeedbackOption(props) {\n const { studentLevel, onClick } = props;\n const { slideConfig, formData } = useTrialSessionContext();\n\n const { id: slideId } = slideConfig || {};\n const { personalizedLevel = [], personalizedPosition = [] } = formData || {};\n const isStudentLevel = slideId === TrialPageId.STUDENT_LEVEL;\n const { id, label, lottie, description: levelDescription } = studentLevel;\n const { title, description, icon } = studentLevels[label.toLowerCase()] || {};\n const isSelected = (isStudentLevel ? personalizedPosition : personalizedLevel)?.includes(id);\n\n const avatarSettings = useMemo(\n () => ({\n ...animationSettings,\n autoplay: isSelected,\n }),\n [isSelected],\n );\n\n return (\n <Styled.Container\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"flex-start\"\n $flexGapX={1.25}\n onClick={() => onClick(id)}\n $gutterX={0.75}\n $gapX={1}\n $background={isSelected ? 'BLACK_T_87' : 'WHITE_1'}\n $borderColor=\"BLACK_T_87\"\n >\n {lottie ? (\n <LottieAnimation src={LOTTIE[lottie]} height={64} width={64} settings={avatarSettings} />\n ) : (\n <Image withLoader src={icon} height={64} width={64} alt=\"icon\" />\n )}\n <FlexView $flex={1}>\n {isStudentLevel ? (\n <>\n <Text\n className=\"feedback-title\"\n $renderAs=\"ac3-black\"\n $color={isSelected ? 'WHITE_T_87' : 'BLACK_T_87'}\n >\n {label}\n </Text>\n <Text\n className=\"feedback-desc\"\n $renderAs=\"ab2\"\n $color={isSelected ? 'WHITE_T_87' : 'BLACK_T_87'}\n >\n {levelDescription}\n </Text>\n </>\n ) : (\n <Text\n className=\"feedback-title\"\n $renderAs=\"ac3-black\"\n $color={isSelected ? 'WHITE_T_87' : 'BLACK_T_87'}\n >\n {title}:{' '}\n <Styled.InlineText\n className=\"feedback-desc\"\n $renderAs=\"ab2\"\n $color={isSelected ? 'WHITE_T_60' : 'BLACK_T_60'}\n >\n {description}\n </Styled.InlineText>\n </Text>\n )}\n </FlexView>\n </Styled.Container>\n );\n },\n);\n\nexport default StudentFeedbackOption;\n"],"names":["animationSettings","StudentFeedbackOption","memo","props","studentLevel","onClick","slideConfig","formData","useTrialSessionContext","slideId","personalizedLevel","personalizedPosition","isStudentLevel","TrialPageId","id","label","lottie","levelDescription","title","description","icon","studentLevels","isSelected","_a","avatarSettings","useMemo","jsxs","Styled.Container","jsx","LottieAnimation","LOTTIE","Image","FlexView","Fragment","Text","Styled.InlineText"],"mappings":";;;;;;;;;;;AAkBA,MAAMA,IAAoB;AAAA,EACxB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,MAAM;AACR,GAEMC,IAAyDC;AAAA,EAC7D,SAA+BC,GAAO;;AAC9B,UAAA,EAAE,cAAAC,GAAc,SAAAC,EAAY,IAAAF,GAC5B,EAAE,aAAAG,GAAa,UAAAC,EAAS,IAAIC,EAAuB,GAEnD,EAAE,IAAIC,MAAYH,KAAe,CAAA,GACjC,EAAE,mBAAAI,IAAoB,IAAI,sBAAAC,IAAuB,CAAA,EAAO,IAAAJ,KAAY,IACpEK,IAAiBH,MAAYI,EAAY,eACzC,EAAE,IAAAC,GAAI,OAAAC,GAAO,QAAAC,GAAQ,aAAaC,EAAqB,IAAAb,GACvD,EAAE,OAAAc,GAAO,aAAAC,GAAa,MAAAC,EAAK,IAAIC,EAAcN,EAAM,aAAa,KAAK,IACrEO,KAAcC,IAAAX,IAAiBD,IAAuBD,MAAxC,gBAAAa,EAA4D,SAAST,IAEnFU,IAAiBC;AAAA,MACrB,OAAO;AAAA,QACL,GAAGzB;AAAA,QACH,UAAUsB;AAAA,MAAA;AAAA,MAEZ,CAACA,CAAU;AAAA,IAAA;AAIX,WAAA,gBAAAI;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,gBAAe;AAAA,QACf,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,WAAW;AAAA,QACX,SAAS,MAAMtB,EAAQS,CAAE;AAAA,QACzB,UAAU;AAAA,QACV,OAAO;AAAA,QACP,aAAaQ,IAAa,eAAe;AAAA,QACzC,cAAa;AAAA,QAEZ,UAAA;AAAA,UACCN,IAAA,gBAAAY,EAACC,GAAgB,EAAA,KAAKC,EAAOd,CAAM,GAAG,QAAQ,IAAI,OAAO,IAAI,UAAUQ,EAAA,CAAgB,IAEtF,gBAAAI,EAAAG,GAAA,EAAM,YAAU,IAAC,KAAKX,GAAM,QAAQ,IAAI,OAAO,IAAI,KAAI,OAAO,CAAA;AAAA,UAEhE,gBAAAQ,EAAAI,GAAA,EAAS,OAAO,GACd,cAEG,gBAAAN,EAAAO,GAAA,EAAA,UAAA;AAAA,YAAA,gBAAAL;AAAA,cAACM;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,WAAU;AAAA,gBACV,QAAQZ,IAAa,eAAe;AAAA,gBAEnC,UAAAP;AAAA,cAAA;AAAA,YACH;AAAA,YACA,gBAAAa;AAAA,cAACM;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,WAAU;AAAA,gBACV,QAAQZ,IAAa,eAAe;AAAA,gBAEnC,UAAAL;AAAA,cAAA;AAAA,YACH;AAAA,UAAA,EAAA,CACF,IAEA,gBAAAS;AAAA,YAACQ;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,WAAU;AAAA,cACV,QAAQZ,IAAa,eAAe;AAAA,cAEnC,UAAA;AAAA,gBAAAJ;AAAA,gBAAM;AAAA,gBAAE;AAAA,gBACT,gBAAAU;AAAA,kBAACO;AAAAA,kBAAA;AAAA,oBACC,WAAU;AAAA,oBACV,WAAU;AAAA,oBACV,QAAQb,IAAa,eAAe;AAAA,oBAEnC,UAAAH;AAAA,kBAAA;AAAA,gBACH;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA,GAGN;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;"}
@@ -1,34 +1,20 @@
1
1
  import r from "styled-components";
2
2
  import e from "../../../ui/layout/flex-view.js";
3
- import n from "../../../ui/text/text.js";
4
- import { RIGHT_PANEL_CONTENT_WIDTH as l } from "../../trial-session-constants.js";
5
- const d = r.div`
3
+ import { RIGHT_PANEL_CONTENT_WIDTH as n } from "../../trial-session-constants.js";
4
+ const s = r.div`
6
5
  width: 100%;
7
6
  height: 100%;
8
7
  overflow: auto;
9
- `, u = r(e)(({ theme: o }) => {
8
+ `, c = r(e)(({ theme: o }) => {
10
9
  const { GREEN_1: t, GREEN_4: i } = o.colors;
11
10
  return `
12
- width: ${l - 100}px;
11
+ width: ${n - 100}px;
13
12
  margin: auto;
14
13
  background-color: ${t};
15
14
  border: 1px solid ${i};
16
15
  position: relative;
17
16
  `;
18
- }), T = r(e)(({ theme: o }) => `
19
- cursor: pointer;
20
- transition: all 0.2s ease-in-out;
21
- &:hover {
22
- background-color: ${o.colors.BLACK_T_87};
23
-
24
- .feedback-title {
25
- color: ${o.colors.WHITE_T_87};
26
- }
27
- .feedback-desc {
28
- color: ${o.colors.WHITE_T_60};
29
- }
30
- }
31
- `), _ = r(e)(({ theme: o }) => {
17
+ }), d = r(e)(({ theme: o }) => {
32
18
  const { gutter: t } = o.layout;
33
19
  return `
34
20
  width: 100%;
@@ -36,14 +22,10 @@ const d = r.div`
36
22
  left: 0;
37
23
  top: -${t * 0.75}px;
38
24
  `;
39
- }), b = r(n)`
40
- display: inline;
41
- `;
25
+ });
42
26
  export {
43
- _ as BalloonWrapper,
44
- d as Container,
45
- T as Feedback,
46
- u as FeedbackWrapper,
47
- b as InlineText
27
+ d as BalloonWrapper,
28
+ s as Container,
29
+ c as FeedbackWrapper
48
30
  };
49
31
  //# sourceMappingURL=student-feedback-styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"student-feedback-styled.js","sources":["../../../../../src/features/trial-session/comps/student-feedback/student-feedback-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport Text from '../../../ui/text/text';\nimport { RIGHT_PANEL_CONTENT_WIDTH } from '../../trial-session-constants';\n\nconst Container = styled.div`\n width: 100%;\n height: 100%;\n overflow: auto;\n`;\n\nconst FeedbackWrapper = styled(FlexView)(({ theme }) => {\n const { GREEN_1, GREEN_4 } = theme.colors;\n\n return `\n width: ${RIGHT_PANEL_CONTENT_WIDTH - 100}px;\n margin: auto;\n background-color: ${GREEN_1};\n border: 1px solid ${GREEN_4};\n position: relative;\n`;\n});\n\nconst Feedback = styled(FlexView)(({ theme }) => {\n return `\n cursor: pointer;\n transition: all 0.2s ease-in-out;\n &:hover {\n background-color: ${theme.colors.BLACK_T_87};\n \n .feedback-title {\n color: ${theme.colors.WHITE_T_87};\n }\n .feedback-desc {\n color: ${theme.colors.WHITE_T_60};\n }\n }\n `;\n});\n\nconst BalloonWrapper = styled(FlexView)(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n width: 100%;\n position: absolute;\n left: 0;\n top: -${gutter * 0.75}px;\n `;\n});\n\nconst InlineText = styled(Text)`\n display: inline;\n`;\n\nexport { Container, FeedbackWrapper, Feedback, BalloonWrapper, InlineText };\n"],"names":["Container","styled","FeedbackWrapper","FlexView","theme","GREEN_1","GREEN_4","RIGHT_PANEL_CONTENT_WIDTH","Feedback","BalloonWrapper","gutter","InlineText","Text"],"mappings":";;;;AAMA,MAAMA,IAAYC,EAAO;AAAA;AAAA;AAAA;AAAA,GAMnBC,IAAkBD,EAAOE,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAAY;AACtD,QAAM,EAAE,SAAAC,GAAS,SAAAC,MAAYF,EAAM;AAE5B,SAAA;AAAA,WACEG,IAA4B,GAAG;AAAA;AAAA,sBAEpBF,CAAO;AAAA,sBACPC,CAAO;AAAA;AAAA;AAG7B,CAAC,GAEKE,IAAWP,EAAOE,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAC5B;AAAA;AAAA;AAAA;AAAA,0BAIiBA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA,iBAGhCA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA,iBAGvBA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA,GAIvC,GAEKK,IAAiBR,EAAOE,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAAY;AAC/C,QAAA,EAAE,QAAAM,EAAO,IAAIN,EAAM;AAElB,SAAA;AAAA;AAAA;AAAA;AAAA,YAIGM,IAAS,IAAI;AAAA;AAEzB,CAAC,GAEKC,IAAaV,EAAOW,CAAI;AAAA;AAAA;"}
1
+ {"version":3,"file":"student-feedback-styled.js","sources":["../../../../../src/features/trial-session/comps/student-feedback/student-feedback-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\nimport { RIGHT_PANEL_CONTENT_WIDTH } from '../../trial-session-constants';\n\nconst Container = styled.div`\n width: 100%;\n height: 100%;\n overflow: auto;\n`;\n\nconst FeedbackWrapper = styled(FlexView)(({ theme }) => {\n const { GREEN_1, GREEN_4 } = theme.colors;\n\n return `\n width: ${RIGHT_PANEL_CONTENT_WIDTH - 100}px;\n margin: auto;\n background-color: ${GREEN_1};\n border: 1px solid ${GREEN_4};\n position: relative;\n`;\n});\n\nconst BalloonWrapper = styled(FlexView)(({ theme }) => {\n const { gutter } = theme.layout;\n\n return `\n width: 100%;\n position: absolute;\n left: 0;\n top: -${gutter * 0.75}px;\n `;\n});\n\nexport { Container, FeedbackWrapper, BalloonWrapper };\n"],"names":["Container","styled","FeedbackWrapper","FlexView","theme","GREEN_1","GREEN_4","RIGHT_PANEL_CONTENT_WIDTH","BalloonWrapper","gutter"],"mappings":";;;AAKA,MAAMA,IAAYC,EAAO;AAAA;AAAA;AAAA;AAAA,GAMnBC,IAAkBD,EAAOE,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAAY;AACtD,QAAM,EAAE,SAAAC,GAAS,SAAAC,MAAYF,EAAM;AAE5B,SAAA;AAAA,WACEG,IAA4B,GAAG;AAAA;AAAA,sBAEpBF,CAAO;AAAA,sBACPC,CAAO;AAAA;AAAA;AAG7B,CAAC,GAEKE,IAAiBP,EAAOE,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAAY;AAC/C,QAAA,EAAE,QAAAK,EAAO,IAAIL,EAAM;AAElB,SAAA;AAAA;AAAA;AAAA;AAAA,YAIGK,IAAS,IAAI;AAAA;AAEzB,CAAC;"}