@cuemath/leap 3.3.4-j1 → 3.3.4

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 (154) hide show
  1. package/dist/assets/illustrations/illustrations.js +1 -3
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/lottie/lottie.js +0 -1
  4. package/dist/assets/lottie/lottie.js.map +1 -1
  5. package/dist/features/auth/comps/pill-button/pill-button-styled.js +17 -17
  6. package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +1 -1
  7. package/dist/features/auth/comps/pill-button/pill-button.js +33 -35
  8. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -1
  9. package/dist/features/auth/comps/user-list/user-item/user-item.js +30 -32
  10. package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -1
  11. package/dist/features/auth/comps/user-list/user-list.js +19 -20
  12. package/dist/features/auth/comps/user-list/user-list.js.map +1 -1
  13. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js +9 -9
  14. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js.map +1 -1
  15. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js +29 -58
  16. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js.map +1 -1
  17. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js +41 -78
  18. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js.map +1 -1
  19. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper-styled.js +35 -37
  20. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper-styled.js.map +1 -1
  21. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js +71 -76
  22. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
  23. package/dist/features/auth/signup/custom-input-field/custom-input-field.js +50 -55
  24. package/dist/features/auth/signup/custom-input-field/custom-input-field.js.map +1 -1
  25. package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js +25 -47
  26. package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js.map +1 -1
  27. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +6 -6
  28. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +19 -20
  29. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
  30. package/dist/features/sheets/constants/sheet.js +12 -7
  31. package/dist/features/sheets/constants/sheet.js.map +1 -1
  32. package/dist/features/sheets/utils/is-v3-worksheet.js +17 -0
  33. package/dist/features/sheets/utils/is-v3-worksheet.js.map +1 -1
  34. package/dist/features/student-details/class-details/class-details-utils.js +6 -6
  35. package/dist/features/trial-session/comps/learning-plan/index.js +62 -88
  36. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  37. package/dist/features/trial-session/comps/session-report/report-information/report-card.js +16 -31
  38. package/dist/features/trial-session/comps/session-report/report-information/report-card.js.map +1 -1
  39. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js +13 -21
  40. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js.map +1 -1
  41. package/dist/features/trial-session/comps/session-report/report-information/report-information.js +94 -166
  42. package/dist/features/trial-session/comps/session-report/report-information/report-information.js.map +1 -1
  43. package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js +31 -46
  44. package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js.map +1 -1
  45. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js +42 -121
  46. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js.map +1 -1
  47. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +56 -174
  48. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -1
  49. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  50. package/dist/features/ui/modals/modal.js +28 -30
  51. package/dist/features/ui/modals/modal.js.map +1 -1
  52. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +86 -90
  53. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  54. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +147 -0
  55. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -0
  56. package/dist/features/worksheet/worksheet/worksheet-container.js +62 -42
  57. package/dist/features/worksheet/worksheet/worksheet-container.js.map +1 -1
  58. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +197 -199
  59. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  60. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +219 -293
  61. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  62. package/dist/features/worksheet/worksheet/worksheet-styled.js +34 -34
  63. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  64. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  65. package/dist/features/worksheet/worksheet/worksheet.js +206 -215
  66. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  67. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +31 -32
  68. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
  69. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +30 -28
  70. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  71. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +68 -73
  72. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  73. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +30 -79
  74. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  75. package/dist/index.d.ts +45 -123
  76. package/dist/index.js +383 -395
  77. package/dist/index.js.map +1 -1
  78. package/dist/node_modules/uuid/dist/esm-browser/regex.js +5 -0
  79. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +1 -0
  80. package/dist/node_modules/uuid/dist/esm-browser/rng.js +2 -3
  81. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  82. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +10 -6
  83. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  84. package/dist/node_modules/uuid/dist/esm-browser/v4.js +9 -12
  85. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  86. package/dist/node_modules/uuid/dist/esm-browser/validate.js +8 -0
  87. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +1 -0
  88. package/dist/static/{book-checked-green.0436b91e.svg → book-checked-green.c275dbd9.svg} +1 -1
  89. package/package.json +1 -1
  90. package/dist/constants/config.js +0 -5
  91. package/dist/constants/config.js.map +0 -1
  92. package/dist/features/parent-dashboard/cuemath-app-features/cuemath-app-features-constants.js +0 -25
  93. package/dist/features/parent-dashboard/cuemath-app-features/cuemath-app-features-constants.js.map +0 -1
  94. package/dist/features/parent-dashboard/cuemath-app-features/cuemath-app-features-styled.js +0 -15
  95. package/dist/features/parent-dashboard/cuemath-app-features/cuemath-app-features-styled.js.map +0 -1
  96. package/dist/features/parent-dashboard/cuemath-app-features/cuemath-app-features.js +0 -90
  97. package/dist/features/parent-dashboard/cuemath-app-features/cuemath-app-features.js.map +0 -1
  98. package/dist/features/parent-dashboard/math-practice/math-practice-constants.js +0 -19
  99. package/dist/features/parent-dashboard/math-practice/math-practice-constants.js.map +0 -1
  100. package/dist/features/parent-dashboard/math-practice/math-practice-styled.js +0 -32
  101. package/dist/features/parent-dashboard/math-practice/math-practice-styled.js.map +0 -1
  102. package/dist/features/parent-dashboard/math-practice/math-practice.js +0 -67
  103. package/dist/features/parent-dashboard/math-practice/math-practice.js.map +0 -1
  104. package/dist/features/parent-dashboard/parent-dashboard-faqs/parent-dashboard-faqs-constants.js +0 -42
  105. package/dist/features/parent-dashboard/parent-dashboard-faqs/parent-dashboard-faqs-constants.js.map +0 -1
  106. package/dist/features/parent-dashboard/parent-dashboard-faqs/parent-dashboard-faqs.js +0 -20
  107. package/dist/features/parent-dashboard/parent-dashboard-faqs/parent-dashboard-faqs.js.map +0 -1
  108. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js +0 -25
  109. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js.map +0 -1
  110. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js +0 -43
  111. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js.map +0 -1
  112. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js +0 -49
  113. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js.map +0 -1
  114. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js +0 -11
  115. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js.map +0 -1
  116. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js +0 -19
  117. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js.map +0 -1
  118. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js +0 -17
  119. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js.map +0 -1
  120. package/dist/features/trial-session/comps/pla/session-status/session-status.js +0 -243
  121. package/dist/features/trial-session/comps/pla/session-status/session-status.js.map +0 -1
  122. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js +0 -52
  123. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +0 -1
  124. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +0 -52
  125. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +0 -1
  126. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js +0 -17
  127. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js.map +0 -1
  128. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +0 -56
  129. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +0 -1
  130. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js +0 -5
  131. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js.map +0 -1
  132. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js +0 -17
  133. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js.map +0 -1
  134. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js +0 -5
  135. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map +0 -1
  136. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js +0 -96
  137. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js.map +0 -1
  138. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js +0 -12
  139. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js.map +0 -1
  140. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js +0 -28
  141. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js.map +0 -1
  142. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js +0 -10
  143. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js.map +0 -1
  144. package/dist/node_modules/date-fns/differenceInMilliseconds.js +0 -9
  145. package/dist/node_modules/date-fns/differenceInMilliseconds.js.map +0 -1
  146. package/dist/node_modules/date-fns/differenceInSeconds.js +0 -11
  147. package/dist/node_modules/date-fns/differenceInSeconds.js.map +0 -1
  148. package/dist/node_modules/date-fns/fromUnixTime.js +0 -9
  149. package/dist/node_modules/date-fns/fromUnixTime.js.map +0 -1
  150. package/dist/node_modules/uuid/dist/esm-browser/native.js +0 -7
  151. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +0 -1
  152. package/dist/static/community-bulb-yellow-2.f89c30f9.svg +0 -1
  153. package/dist/static/learning-puzzle-bot.6fe93cf6.svg +0 -1
  154. package/dist/static/username-responsive.787b5515.json +0 -1
@@ -1,43 +0,0 @@
1
- import i from "styled-components";
2
- import d from "../../../../ui/layout/flex-view.js";
3
- const t = i(d)(
4
- ({ theme: o }) => `
5
- border-bottom: 1px solid ${o.colors.BLACK_5};
6
-
7
- ${o.mediaQueries.minWidthTablet} {
8
- border-bottom: none;
9
- }
10
- `
11
- ), n = i(d)(
12
- ({ theme: o }) => `
13
- &:first-child {
14
- ${t} {
15
- padding-top: 0;
16
- }
17
- }
18
- &:last-child {
19
- ${t} {
20
- padding-bottom: 0;
21
- border-bottom: none;
22
- }
23
- }
24
-
25
- ${o.mediaQueries.minWidthTablet} {
26
- border-right: 1px solid ${o.colors.BLACK_5};
27
-
28
- &:last-child {
29
- border-right: none;
30
- padding-right: 0;
31
- }
32
-
33
- &:first-child {
34
- padding-left: 0;
35
- }
36
- }
37
- `
38
- );
39
- export {
40
- n as ListItem,
41
- t as TextContent
42
- };
43
- //# sourceMappingURL=next-steps-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"next-steps-styled.js","sources":["../../../../../../src/features/trial-session/comps/pla/next-steps/next-steps-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\n\nexport const TextContent = styled(FlexView)(\n ({ theme }) => `\n border-bottom: 1px solid ${theme.colors.BLACK_5};\n\n ${theme.mediaQueries.minWidthTablet} {\n border-bottom: none;\n }\n `,\n);\n\nexport const ListItem = styled(FlexView)(\n ({ theme }) => `\n &:first-child {\n ${TextContent} {\n padding-top: 0;\n }\n }\n &:last-child {\n ${TextContent} {\n padding-bottom: 0;\n border-bottom: none;\n }\n }\n\n ${theme.mediaQueries.minWidthTablet} {\n border-right: 1px solid ${theme.colors.BLACK_5};\n\n &:last-child {\n border-right: none;\n padding-right: 0;\n }\n\n &:first-child {\n padding-left: 0;\n }\n }\n `,\n);\n"],"names":["TextContent","styled","FlexView","theme","ListItem"],"mappings":";;AAIa,MAAAA,IAAcC,EAAOC,CAAQ;AAAA,EACxC,CAAC,EAAE,OAAAC,EAAA,MAAY;AAAA,+BACcA,EAAM,OAAO,OAAO;AAAA;AAAA,MAE7CA,EAAM,aAAa,cAAc;AAAA;AAAA;AAAA;AAIvC,GAEaC,IAAWH,EAAOC,CAAQ;AAAA,EACrC,CAAC,EAAE,OAAAC,EAAA,MAAY;AAAA;AAAA,QAETH,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA,QAKXA,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAMbG,EAAM,aAAa,cAAc;AAAA,gCACPA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYpD;"}
@@ -1,49 +0,0 @@
1
- import { jsxs as t, jsx as r } from "react/jsx-runtime";
2
- import { memo as a } from "react";
3
- import { useTheme as h } from "styled-components";
4
- import p from "../../../../ui/image/image.js";
5
- import m from "../../../../ui/layout/flex-view.js";
6
- import o from "../../../../ui/separator/separator.js";
7
- import n from "../../../../ui/text/text.js";
8
- import { EDeviceType as d } from "../../../../ui/theme/constants.js";
9
- import { nextStepsData as f } from "./next-steps-constants.js";
10
- import { ListItem as $, TextContent as x } from "./next-steps-styled.js";
11
- const b = () => {
12
- const e = h().device <= d.MOBILE;
13
- return /* @__PURE__ */ t(m, { children: [
14
- /* @__PURE__ */ r(n, { $renderAs: "ah4-bold", $renderOnMobileAs: "ab1-bold", $color: "WHITE", children: "What happens next?" }),
15
- /* @__PURE__ */ r(o, { height: e ? 16 : 20 }),
16
- /* @__PURE__ */ r(m, { $justifyContent: "center", $flexDirection: e ? "column" : "row", children: f.map(({ title: i, description: l, image: c, textColor: s }) => /* @__PURE__ */ t(
17
- $,
18
- {
19
- $flexDirection: e ? "row" : "column",
20
- $flex: 1,
21
- $gutterX: e ? 0 : 1,
22
- $flexColumnGapX: e ? 0.75 : 0,
23
- $alignItems: e ? "center" : "normal",
24
- children: [
25
- /* @__PURE__ */ r(
26
- p,
27
- {
28
- src: c,
29
- width: e ? 72 : 80,
30
- height: e ? 72 : 80,
31
- withLoader: !1
32
- }
33
- ),
34
- !e && /* @__PURE__ */ r(o, { heightX: 0.75 }),
35
- /* @__PURE__ */ t(x, { $flex: 1, $gapX: e ? 1 : 0, $justifyContent: "space-between", children: [
36
- /* @__PURE__ */ r(n, { $renderAs: "ac3-black", $renderOnMobileAs: "ac4-black", $color: s, children: i }),
37
- /* @__PURE__ */ r(o, { height: e ? 10 : 12 }),
38
- /* @__PURE__ */ r(n, { $renderAs: "ub1", $renderOnMobileAs: "ub2", $color: "WHITE", children: l })
39
- ] })
40
- ]
41
- },
42
- i
43
- )) })
44
- ] });
45
- }, O = a(b);
46
- export {
47
- O as default
48
- };
49
- //# sourceMappingURL=next-steps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"next-steps.js","sources":["../../../../../../src/features/trial-session/comps/pla/next-steps/next-steps.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { EDeviceType } from '../../../../ui/theme/constants';\nimport { nextStepsData } from './next-steps-constants';\nimport * as Styled from './next-steps-styled';\n\nconst NextSteps: React.FC = () => {\n const theme = useTheme();\n const isMobile = theme.device <= EDeviceType.MOBILE;\n\n return (\n <FlexView>\n <Text $renderAs=\"ah4-bold\" $renderOnMobileAs=\"ab1-bold\" $color=\"WHITE\">\n What happens next?\n </Text>\n <Separator height={isMobile ? 16 : 20} />\n <FlexView $justifyContent=\"center\" $flexDirection={isMobile ? 'column' : 'row'}>\n {nextStepsData.map(({ title, description, image, textColor }) => (\n <Styled.ListItem\n key={title}\n $flexDirection={isMobile ? 'row' : 'column'}\n $flex={1}\n $gutterX={isMobile ? 0 : 1}\n $flexColumnGapX={isMobile ? 0.75 : 0}\n $alignItems={isMobile ? 'center' : 'normal'}\n >\n <Image\n src={image}\n width={isMobile ? 72 : 80}\n height={isMobile ? 72 : 80}\n withLoader={false}\n />\n {!isMobile && <Separator heightX={0.75} />}\n <Styled.TextContent $flex={1} $gapX={isMobile ? 1 : 0} $justifyContent=\"space-between\">\n <Text $renderAs=\"ac3-black\" $renderOnMobileAs=\"ac4-black\" $color={textColor}>\n {title}\n </Text>\n <Separator height={isMobile ? 10 : 12} />\n <Text $renderAs=\"ub1\" $renderOnMobileAs=\"ub2\" $color=\"WHITE\">\n {description}\n </Text>\n </Styled.TextContent>\n </Styled.ListItem>\n ))}\n </FlexView>\n </FlexView>\n );\n};\n\nexport default memo(NextSteps);\n"],"names":["NextSteps","isMobile","useTheme","EDeviceType","FlexView","jsx","Text","Separator","nextStepsData","title","description","image","textColor","jsxs","Styled.ListItem","Image","Styled.TextContent","nextSteps","memo"],"mappings":";;;;;;;;;;AAWA,MAAMA,IAAsB,MAAM;AAE1B,QAAAC,IADQC,IACS,UAAUC,EAAY;AAE7C,2BACGC,GACC,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAK,WAAU,YAAW,mBAAkB,YAAW,QAAO,SAAQ,UAEvE,qBAAA,CAAA;AAAA,IACC,gBAAAD,EAAAE,GAAA,EAAU,QAAQN,IAAW,KAAK,IAAI;AAAA,sBACtCG,GAAS,EAAA,iBAAgB,UAAS,gBAAgBH,IAAW,WAAW,OACtE,UAAcO,EAAA,IAAI,CAAC,EAAE,OAAAC,GAAO,aAAAC,GAAa,OAAAC,GAAO,WAAAC,QAC/C,gBAAAC;AAAA,MAACC;AAAAA,MAAA;AAAA,QAEC,gBAAgBb,IAAW,QAAQ;AAAA,QACnC,OAAO;AAAA,QACP,UAAUA,IAAW,IAAI;AAAA,QACzB,iBAAiBA,IAAW,OAAO;AAAA,QACnC,aAAaA,IAAW,WAAW;AAAA,QAEnC,UAAA;AAAA,UAAA,gBAAAI;AAAA,YAACU;AAAA,YAAA;AAAA,cACC,KAAKJ;AAAA,cACL,OAAOV,IAAW,KAAK;AAAA,cACvB,QAAQA,IAAW,KAAK;AAAA,cACxB,YAAY;AAAA,YAAA;AAAA,UACd;AAAA,UACC,CAACA,KAAa,gBAAAI,EAAAE,GAAA,EAAU,SAAS,KAAM,CAAA;AAAA,UACxC,gBAAAM,EAACG,GAAA,EAAmB,OAAO,GAAG,OAAOf,IAAW,IAAI,GAAG,iBAAgB,iBACrE,UAAA;AAAA,YAAA,gBAAAI,EAACC,KAAK,WAAU,aAAY,mBAAkB,aAAY,QAAQM,GAC/D,UACHH,EAAA,CAAA;AAAA,YACC,gBAAAJ,EAAAE,GAAA,EAAU,QAAQN,IAAW,KAAK,IAAI;AAAA,YACvC,gBAAAI,EAACC,KAAK,WAAU,OAAM,mBAAkB,OAAM,QAAO,SAClD,UACHI,EAAA,CAAA;AAAA,UAAA,GACF;AAAA,QAAA;AAAA,MAAA;AAAA,MAtBKD;AAAA,IAwBR,CAAA,GACH;AAAA,EACF,EAAA,CAAA;AAEJ,GAEeQ,IAAAC,EAAKlB,CAAS;"}
@@ -1,11 +0,0 @@
1
- const e = 172800, t = 1e3, r = {
2
- autoplay: !0,
3
- loop: !0,
4
- renderer: "svg"
5
- };
6
- export {
7
- t as COUNTDOWN_INTERVAL,
8
- e as COUNTDOWN_THRESHOLD,
9
- r as renderSettings
10
- };
11
- //# sourceMappingURL=session-status-constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-status-constants.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-status/session-status-constants.ts"],"sourcesContent":["export const COUNTDOWN_THRESHOLD = 48 * 3600; // 48 hours in seconds\nexport const COUNTDOWN_INTERVAL = 1000; // 1 second\n\nexport const renderSettings = {\n autoplay: true,\n loop: true,\n renderer: 'svg',\n};\n"],"names":["COUNTDOWN_THRESHOLD","COUNTDOWN_INTERVAL","renderSettings"],"mappings":"AAAO,MAAMA,IAAsB,QACtBC,IAAqB,KAErBC,IAAiB;AAAA,EAC5B,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU;AACZ;"}
@@ -1,19 +0,0 @@
1
- import { fromUnixTime as s } from "../../../../../node_modules/date-fns/fromUnixTime.js";
2
- import { formatDate as n } from "../../../../../node_modules/date-fns/format.js";
3
- function p(t, e) {
4
- if (!t) return "";
5
- const o = s(t), r = n(o, "EEE").toUpperCase(), i = n(o, "MMM d"), m = n(o, "h a");
6
- return `${r} . ${i} . ${m}`;
7
- }
8
- const a = (t) => t.toString().padStart(2, "0"), $ = (t) => {
9
- const e = Math.floor(t / 3600), o = Math.floor(t % 3600 / 60), r = t % 60;
10
- return `Session starts in ${a(e)}h : ${a(o)}m : ${a(
11
- r
12
- )}s`;
13
- };
14
- export {
15
- p as formatSessionDateTime,
16
- $ as formatTimeRemaining,
17
- a as padTime
18
- };
19
- //# sourceMappingURL=session-status-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-status-helpers.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-status/session-status-helpers.ts"],"sourcesContent":["import { fromUnixTime, format } from 'date-fns';\n\n/**\n * Formats the session start and end times into a readable string.\n *\n * @param startTime - The start time of the session in Unix timestamp.\n * @param endTime - The end time of the session in Unix timestamp.\n * @returns A formatted string representing the session time or an empty string if inputs are invalid.\n */\nexport function formatSessionDateTime(startTime: number | null, endTime?: number | null): string {\n if (!startTime) return '';\n\n const start = fromUnixTime(startTime);\n\n const day = format(start, 'EEE').toUpperCase();\n const date = format(start, 'MMM d');\n const formattedStartTime = format(start, 'h a');\n const end = endTime ? fromUnixTime(endTime) : null;\n const formattedEndTime = end ? format(end, 'h a') : null;\n\n return `${day} . ${date} . ${formattedStartTime}${\n formattedEndTime ? ` - ${formattedEndTime}` : ''\n }`;\n}\n\nexport const padTime = (time: number): string => time.toString().padStart(2, '0');\n\nexport const formatTimeRemaining = (seconds: number): string => {\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const remainingSeconds = seconds % 60;\n\n return `Session starts in ${padTime(hours)}h : ${padTime(minutes)}m : ${padTime(\n remainingSeconds,\n )}s`;\n};\n"],"names":["formatSessionDateTime","startTime","endTime","start","fromUnixTime","day","format","date","formattedStartTime","padTime","time","formatTimeRemaining","seconds","hours","minutes","remainingSeconds"],"mappings":";;AASgB,SAAAA,EAAsBC,GAA0BC,GAAiC;AAC3F,MAAA,CAACD,EAAkB,QAAA;AAEjB,QAAAE,IAAQC,EAAaH,CAAS,GAE9BI,IAAMC,EAAOH,GAAO,KAAK,EAAE,YAAY,GACvCI,IAAOD,EAAOH,GAAO,OAAO,GAC5BK,IAAqBF,EAAOH,GAAO,KAAK;AAIvC,SAAA,GAAGE,CAAG,MAAME,CAAI,MAAMC,CAAkB;AAGjD;AAEa,MAAAC,IAAU,CAACC,MAAyBA,EAAK,WAAW,SAAS,GAAG,GAAG,GAEnEC,IAAsB,CAACC,MAA4B;AAC9D,QAAMC,IAAQ,KAAK,MAAMD,IAAU,IAAI,GACjCE,IAAU,KAAK,MAAOF,IAAU,OAAQ,EAAE,GAC1CG,IAAmBH,IAAU;AAE5B,SAAA,qBAAqBH,EAAQI,CAAK,CAAC,OAAOJ,EAAQK,CAAO,CAAC,OAAOL;AAAA,IACtEM;AAAA,EACD,CAAA;AACH;"}
@@ -1,17 +0,0 @@
1
- import e from "styled-components";
2
- import o from "../../../../ui/layout/flex-view.js";
3
- import r from "../../../../ui/text/text.js";
4
- const l = e(o)`
5
- max-width: ${({ $maxWidth: t }) => `${typeof t == "number" ? `${t}px` : `${t}`}`};
6
- `, m = e(r)`
7
- text-decoration: ${({ $subtitleLineThrough: t }) => t ? "line-through" : "none"};
8
- `, f = e(o)`
9
- position: relative;
10
- left: ${({ $isLargeLottie: t }) => t ? "-6px" : "0"};
11
- `;
12
- export {
13
- l as ContentWrapper,
14
- f as LottieWrapper,
15
- m as SubTitle
16
- };
17
- //# sourceMappingURL=session-status-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-status-styled.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-status/session-status-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\nexport const ContentWrapper = styled(FlexView)<{ $maxWidth: number | string }>`\n max-width: ${({ $maxWidth }) =>\n `${typeof $maxWidth === 'number' ? `${$maxWidth}px` : `${$maxWidth}`}`};\n`;\n\nexport const SubTitle = styled(Text)<{ $subtitleLineThrough?: boolean }>`\n text-decoration: ${({ $subtitleLineThrough }) =>\n $subtitleLineThrough ? 'line-through' : 'none'};\n`;\n\nexport const LottieWrapper = styled(FlexView)<{ $isLargeLottie: boolean }>`\n position: relative;\n left: ${({ $isLargeLottie }) => ($isLargeLottie ? '-6px' : '0')};\n`;\n"],"names":["ContentWrapper","styled","FlexView","$maxWidth","SubTitle","Text","$subtitleLineThrough","LottieWrapper","$isLargeLottie"],"mappings":";;;AAKa,MAAAA,IAAiBC,EAAOC,CAAQ;AAAA,eAC9B,CAAC,EAAE,WAAAC,EAAU,MACxB,GAAG,OAAOA,KAAc,WAAW,GAAGA,CAAS,OAAO,GAAGA,CAAS,EAAE,EAAE;AAAA,GAG7DC,IAAWH,EAAOI,CAAI;AAAA,qBACd,CAAC,EAAE,sBAAAC,EAAA,MACpBA,IAAuB,iBAAiB,MAAM;AAAA,GAGrCC,IAAgBN,EAAOC,CAAQ;AAAA;AAAA,UAElC,CAAC,EAAE,gBAAAM,EAAA,MAAsBA,IAAiB,SAAS,GAAI;AAAA;"}
@@ -1,243 +0,0 @@
1
- import { jsxs as a, jsx as e, Fragment as E } from "react/jsx-runtime";
2
- import { h as x } from "../../../../../node_modules/humanize-plus/dist/humanize.js";
3
- import { memo as D, useState as G, useRef as v, useMemo as _, useCallback as s, useEffect as U } from "react";
4
- import { ILLUSTRATIONS as p } from "../../../../../assets/illustrations/illustrations.js";
5
- import { LOTTIE as A } from "../../../../../assets/lottie/lottie.js";
6
- import { CUEMATH_APP_URL as F } from "../../../../../constants/config.js";
7
- import P from "../../../../ui/buttons/text-button/text-button.js";
8
- import k from "../../../../ui/image/image.js";
9
- import c from "../../../../ui/layout/flex-view.js";
10
- import M from "../../../../ui/lottie-animation/lottie-animation.js";
11
- import T from "../../../../ui/separator/separator.js";
12
- import H from "../../../../ui/text/text.js";
13
- import { COUNTDOWN_INTERVAL as X, renderSettings as K, COUNTDOWN_THRESHOLD as j } from "./session-status-constants.js";
14
- import { formatSessionDateTime as z, formatTimeRemaining as B } from "./session-status-helpers.js";
15
- import { LottieWrapper as V, ContentWrapper as q, SubTitle as J } from "./session-status-styled.js";
16
- import { differenceInSeconds as Q } from "../../../../../node_modules/date-fns/differenceInSeconds.js";
17
- import { fromUnixTime as Y } from "../../../../../node_modules/date-fns/fromUnixTime.js";
18
- const Z = ({
19
- completedSessions: r,
20
- nextSessionStartTime: u,
21
- status: l,
22
- teacherName: o,
23
- studentName: O,
24
- onRescheduleClick: b = () => {
25
- }
26
- }) => {
27
- const [d, C] = G(""), S = v(null), W = _(
28
- () => ({
29
- isTeacherAssigned: !!o,
30
- isFirstSessionCompleted: r > 0,
31
- formattedSessionStart: z(u)
32
- }),
33
- [r, o, u]
34
- ), { isTeacherAssigned: i, isFirstSessionCompleted: h, formattedSessionStart: n } = W, m = s(() => {
35
- S.current && (clearInterval(S.current), S.current = null);
36
- }, []), f = _(() => l === "S_NO_SHOW" || l === "T_NO_SHOW", [l]);
37
- U(() => {
38
- if (!u || h || f) {
39
- m(), C("");
40
- return;
41
- }
42
- const t = () => {
43
- const y = Y(u), g = Q(y, /* @__PURE__ */ new Date());
44
- if (g <= 0 || g > j) {
45
- C(""), m();
46
- return;
47
- }
48
- C(B(g));
49
- };
50
- return t(), S.current = setInterval(t, X), m;
51
- }, [
52
- u,
53
- h,
54
- l,
55
- m,
56
- f
57
- ]);
58
- const R = s(() => {
59
- window.open(F, "_blank");
60
- }, []), $ = s(
61
- () => ({
62
- topSection: {
63
- icon: p.CALENDAR_CROSS_ORANGE,
64
- title: "Session Cancelled",
65
- titleColor: "ORANGE_4",
66
- titleStyle: "ac3",
67
- titleTabletStyle: "ac4",
68
- subtitleStyle: "ab1",
69
- subtitleTabletStyle: "ab2",
70
- subtitle: n,
71
- description: l === "S_NO_SHOW" ? "We understand life is unpredictable and schedules change unexpectedly." : "We're sorry - our tutor couldn't attend your first session. This rarely happens, but tutors sometimes face unexpected circumstances.",
72
- descriptionColor: "WHITE_1",
73
- subtitleLineThrough: !0
74
- },
75
- bottomSection: {
76
- icon: p.PLATFORM_PURPLE,
77
- title: "Please Reschedule",
78
- titleColor: "PURPLE_4",
79
- titleStyle: "ac3",
80
- titleTabletStyle: "ac4",
81
- subtitleStyle: "ub1",
82
- subtitleTabletStyle: "ub2",
83
- subtitle: l === "S_NO_SHOW" ? "Please reschedule when it works better for you. Choose any available time slot, and we'll assign you a new tutor for your child." : "Since your first class didn't happen, we haven't activated your subscription. Choose any available time slot, and we'll assign a reliable tutor.",
84
- action: {
85
- label: "Reschedule",
86
- onClick: b
87
- }
88
- }
89
- }),
90
- [n, b, l]
91
- ), L = s(() => {
92
- const t = r === 1 ? "First" : r;
93
- return {
94
- topSection: {
95
- icon: p.BOOK_CHECKED_GREEN,
96
- title: `${t} ${x.pluralize(r, "session")} Completed!`,
97
- titleColor: "GREEN_4",
98
- titleStyle: "ac3",
99
- titleTabletStyle: "ac4",
100
- align: "center"
101
- },
102
- bottomSection: {
103
- lottie: A.CALENDAR_HOUR_GLASS_ORANGE,
104
- title: "Next Session",
105
- titleColor: "ORANGE_4",
106
- titleStyle: "ac3",
107
- titleTabletStyle: "ac4",
108
- subtitleStyle: "ab1",
109
- subtitleTabletStyle: "ab2",
110
- subtitle: `${n}
111
- with ${o}`,
112
- action: {
113
- label: "Reschedule on the Cuemath app",
114
- onClick: R
115
- }
116
- }
117
- };
118
- }, [r, n, o, R]), w = s(() => {
119
- const t = d || "SESSION SCHEDULED", y = i ? A.TEACHER_FOUND : A.TEACHER_SEARCH;
120
- return {
121
- topSection: {
122
- icon: p.CALENDAR_CHECK_GREEN,
123
- title: t,
124
- titleColor: "GREEN_4",
125
- titleStyle: d ? "ub2" : "ac3",
126
- titleTabletStyle: d ? "ub3" : "ac4",
127
- subtitle: n,
128
- subtitleStyle: "ab1",
129
- subtitleTabletStyle: "ab2",
130
- action: {
131
- label: "Reschedule",
132
- onClick: b
133
- }
134
- },
135
- bottomSection: {
136
- align: "center",
137
- lottie: y,
138
- title: i ? "Tutor Assigned!" : "",
139
- titleColor: i ? "ORANGE_4" : "WHITE_1",
140
- titleStyle: i ? "ac3" : "ab2",
141
- titleTabletStyle: i ? "ac4" : "ab3",
142
- subtitleStyle: "ub1",
143
- subtitleTabletStyle: "ub2",
144
- subtitle: i ? `From over 3000 expert tutors, we selected ${o} as the perfect match for ${O}!` : "Finding the perfect tutor for your child",
145
- description: i ? "" : "This typically takes 24-48 hours. We'll notify you via email.",
146
- maxWidth: i ? 368 : 383,
147
- isLargeIcon: !0
148
- }
149
- };
150
- }, [
151
- d,
152
- n,
153
- i,
154
- o,
155
- O,
156
- b
157
- ]), I = _(() => f ? $() : h ? L() : w(), [
158
- f,
159
- h,
160
- $,
161
- L,
162
- w
163
- ]), N = s(
164
- (t) => /* @__PURE__ */ a(
165
- c,
166
- {
167
- $flexDirection: "row",
168
- $flexColumnGapX: t != null && t.isLargeIcon ? 0.75 : 1.5,
169
- $alignItems: t.align || "flex-start",
170
- children: [
171
- /* @__PURE__ */ e(c, { children: t.icon ? /* @__PURE__ */ e(k, { src: t.icon, width: 64, height: 64 }) : /* @__PURE__ */ e(V, { $isLargeLottie: !!(t != null && t.isLargeIcon), children: /* @__PURE__ */ e(
172
- M,
173
- {
174
- src: t.lottie,
175
- settings: K,
176
- width: t.isLargeIcon ? 75 : 64,
177
- height: t.isLargeIcon ? 75 : 64
178
- }
179
- ) }) }),
180
- /* @__PURE__ */ a(q, { $maxWidth: t.maxWidth ?? "100%", $width: "100%", children: [
181
- t.title && /* @__PURE__ */ e(
182
- H,
183
- {
184
- $renderAs: t.titleStyle,
185
- $color: t.titleColor,
186
- $renderOnMobileAs: t.titleTabletStyle,
187
- children: t.title
188
- }
189
- ),
190
- t.subtitle && /* @__PURE__ */ a(E, { children: [
191
- /* @__PURE__ */ e(T, { height: 2 }),
192
- /* @__PURE__ */ e(
193
- J,
194
- {
195
- $renderAs: t.subtitleStyle,
196
- $renderOnMobileAs: t.subtitleTabletStyle,
197
- $color: "WHITE_1",
198
- $whiteSpace: "pre-line",
199
- $subtitleLineThrough: t.subtitleLineThrough,
200
- children: t.subtitle
201
- }
202
- )
203
- ] }),
204
- t.description && /* @__PURE__ */ a(E, { children: [
205
- /* @__PURE__ */ e(T, { heightX: 0.5 }),
206
- /* @__PURE__ */ e(c, { $width: "100%", children: /* @__PURE__ */ e(
207
- H,
208
- {
209
- $renderAs: "ub2",
210
- $renderOnMobileAs: "ub3",
211
- $color: t.descriptionColor ?? "WHITE_T_60",
212
- children: t.description
213
- }
214
- ) })
215
- ] }),
216
- t.action && /* @__PURE__ */ a(E, { children: [
217
- /* @__PURE__ */ e(T, { heightX: 0.75 }),
218
- /* @__PURE__ */ e(
219
- P,
220
- {
221
- sizeOnMobile: "small",
222
- label: t.action.label,
223
- color: "WHITE_1",
224
- onClick: t.action.onClick
225
- }
226
- )
227
- ] })
228
- ] })
229
- ]
230
- }
231
- ),
232
- []
233
- );
234
- return /* @__PURE__ */ a(c, { $flexDirection: "column", $justifyContent: "center", children: [
235
- N(I.topSection),
236
- /* @__PURE__ */ e(c, { $gutterX: 2, $gapX: 0.25, children: /* @__PURE__ */ e(T, { heightX: 3, background: "BLACK_5", width: 1 }) }),
237
- N(I.bottomSection)
238
- ] });
239
- }, Tt = D(Z);
240
- export {
241
- Tt as default
242
- };
243
- //# sourceMappingURL=session-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-status.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-status/session-status.tsx"],"sourcesContent":["import type {\n ISectionConfig,\n ISessionStatusConfig,\n ISessionStatusProps,\n} from './session-status-types';\n\nimport { differenceInSeconds, fromUnixTime } from 'date-fns';\nimport { pluralize } from 'humanize-plus';\nimport { useCallback, useEffect, useMemo, useRef, useState, memo } from 'react';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport { LOTTIE } from '../../../../../assets/lottie/lottie';\nimport { CUEMATH_APP_URL } from '../../../../../constants/config';\nimport TextButton from '../../../../ui/buttons/text-button/text-button';\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport LottieAnimation from '../../../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport {\n COUNTDOWN_INTERVAL,\n COUNTDOWN_THRESHOLD,\n renderSettings,\n} from './session-status-constants';\nimport { formatSessionDateTime, formatTimeRemaining } from './session-status-helpers';\nimport * as Styled from './session-status-styled';\n\nconst SessionStatus = ({\n completedSessions,\n nextSessionStartTime,\n status,\n teacherName,\n studentName,\n onRescheduleClick = () => {},\n}: ISessionStatusProps) => {\n const [remainingTime, setRemainingTime] = useState('');\n const intervalRef = useRef<NodeJS.Timeout | null>(null);\n\n const derivedValues = useMemo(\n () => ({\n isTeacherAssigned: !!teacherName,\n isFirstSessionCompleted: completedSessions > 0,\n formattedSessionStart: formatSessionDateTime(nextSessionStartTime),\n }),\n [completedSessions, teacherName, nextSessionStartTime],\n );\n\n const { isTeacherAssigned, isFirstSessionCompleted, formattedSessionStart } = derivedValues;\n\n const clearCountdownInterval = useCallback(() => {\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n }, []);\n const isNoShowStatus = useMemo(() => status === 'S_NO_SHOW' || status === 'T_NO_SHOW', [status]);\n\n useEffect(() => {\n if (!nextSessionStartTime || isFirstSessionCompleted || isNoShowStatus) {\n clearCountdownInterval();\n setRemainingTime('');\n\n return;\n }\n\n const updateCountdown = () => {\n const start = fromUnixTime(nextSessionStartTime);\n const now = new Date();\n const diffInSeconds = differenceInSeconds(start, now);\n\n if (diffInSeconds <= 0 || diffInSeconds > COUNTDOWN_THRESHOLD) {\n setRemainingTime('');\n clearCountdownInterval();\n\n return;\n }\n\n setRemainingTime(formatTimeRemaining(diffInSeconds));\n };\n\n // Initial update\n updateCountdown();\n\n // Set up interval\n intervalRef.current = setInterval(updateCountdown, COUNTDOWN_INTERVAL);\n\n return clearCountdownInterval;\n }, [\n nextSessionStartTime,\n isFirstSessionCompleted,\n status,\n clearCountdownInterval,\n isNoShowStatus,\n ]);\n\n const handleRedirectToApp = useCallback(() => {\n window.open(CUEMATH_APP_URL, '_blank');\n }, []);\n\n const createStudentNoShowConfig = useCallback(\n (): ISessionStatusConfig => ({\n topSection: {\n icon: ILLUSTRATIONS.CALENDAR_CROSS_ORANGE,\n title: 'Session Cancelled',\n titleColor: 'ORANGE_4',\n titleStyle: 'ac3',\n titleTabletStyle: 'ac4',\n subtitleStyle: 'ab1',\n subtitleTabletStyle: 'ab2',\n subtitle: formattedSessionStart,\n description:\n status === 'S_NO_SHOW'\n ? `We understand life is unpredictable and schedules change unexpectedly.`\n : `We're sorry - our tutor couldn't attend your first session. This rarely happens, but tutors sometimes face unexpected circumstances.`,\n descriptionColor: 'WHITE_1',\n subtitleLineThrough: true,\n },\n bottomSection: {\n icon: ILLUSTRATIONS.PLATFORM_PURPLE,\n title: 'Please Reschedule',\n titleColor: 'PURPLE_4',\n titleStyle: 'ac3',\n titleTabletStyle: 'ac4',\n subtitleStyle: 'ub1',\n subtitleTabletStyle: 'ub2',\n subtitle:\n status === 'S_NO_SHOW'\n ? \"Please reschedule when it works better for you. Choose any available time slot, and we'll assign you a new tutor for your child.\"\n : `Since your first class didn't happen, we haven't activated your subscription. Choose any available time slot, and we'll assign a reliable tutor.`,\n action: {\n label: 'Reschedule',\n onClick: onRescheduleClick,\n },\n },\n }),\n [formattedSessionStart, onRescheduleClick, status],\n );\n\n const createCompletedSessionConfig = useCallback((): ISessionStatusConfig => {\n const titleText = completedSessions === 1 ? 'First' : completedSessions;\n\n return {\n topSection: {\n icon: ILLUSTRATIONS.BOOK_CHECKED_GREEN,\n title: `${titleText} ${pluralize(completedSessions, 'session')} Completed!`,\n titleColor: 'GREEN_4',\n titleStyle: 'ac3',\n titleTabletStyle: 'ac4',\n align: 'center',\n },\n bottomSection: {\n lottie: LOTTIE.CALENDAR_HOUR_GLASS_ORANGE,\n title: 'Next Session',\n titleColor: 'ORANGE_4',\n titleStyle: 'ac3',\n titleTabletStyle: 'ac4',\n subtitleStyle: 'ab1',\n subtitleTabletStyle: 'ab2',\n subtitle: `${formattedSessionStart}\\nwith ${teacherName}`,\n action: {\n label: 'Reschedule on the Cuemath app',\n onClick: handleRedirectToApp,\n },\n },\n };\n }, [completedSessions, formattedSessionStart, teacherName, handleRedirectToApp]);\n\n const createDefaultSessionConfig = useCallback((): ISessionStatusConfig => {\n const defaultTitle = remainingTime || 'SESSION SCHEDULED';\n const teacherGif = isTeacherAssigned ? LOTTIE.TEACHER_FOUND : LOTTIE.TEACHER_SEARCH;\n\n return {\n topSection: {\n icon: ILLUSTRATIONS.CALENDAR_CHECK_GREEN,\n title: defaultTitle,\n titleColor: 'GREEN_4',\n titleStyle: remainingTime ? 'ub2' : 'ac3',\n titleTabletStyle: remainingTime ? 'ub3' : 'ac4',\n subtitle: formattedSessionStart,\n subtitleStyle: 'ab1',\n subtitleTabletStyle: 'ab2',\n action: {\n label: 'Reschedule',\n onClick: onRescheduleClick,\n },\n },\n bottomSection: {\n align: 'center',\n lottie: teacherGif,\n title: isTeacherAssigned ? 'Tutor Assigned!' : '',\n titleColor: isTeacherAssigned ? 'ORANGE_4' : 'WHITE_1',\n titleStyle: isTeacherAssigned ? 'ac3' : 'ab2',\n titleTabletStyle: isTeacherAssigned ? 'ac4' : 'ab3',\n subtitleStyle: 'ub1',\n subtitleTabletStyle: 'ub2',\n subtitle: isTeacherAssigned\n ? `From over 3000 expert tutors, we selected ${teacherName} as the perfect match for ${studentName}!`\n : 'Finding the perfect tutor for your child',\n description: isTeacherAssigned\n ? ''\n : \"This typically takes 24-48 hours. We'll notify you via email.\",\n maxWidth: isTeacherAssigned ? 368 : 383,\n isLargeIcon: true,\n },\n };\n }, [\n remainingTime,\n formattedSessionStart,\n isTeacherAssigned,\n teacherName,\n studentName,\n onRescheduleClick,\n ]);\n\n const config = useMemo((): ISessionStatusConfig => {\n if (isNoShowStatus) {\n return createStudentNoShowConfig();\n }\n\n if (isFirstSessionCompleted) {\n return createCompletedSessionConfig();\n }\n\n return createDefaultSessionConfig();\n }, [\n isNoShowStatus,\n isFirstSessionCompleted,\n createStudentNoShowConfig,\n createCompletedSessionConfig,\n createDefaultSessionConfig,\n ]);\n\n const renderSection = useCallback(\n (section: ISectionConfig) => (\n <FlexView\n $flexDirection=\"row\"\n $flexColumnGapX={section?.isLargeIcon ? 0.75 : 1.5}\n $alignItems={section.align || 'flex-start'}\n >\n <FlexView>\n {section.icon ? (\n <Image src={section.icon} width={64} height={64} />\n ) : (\n <Styled.LottieWrapper $isLargeLottie={!!section?.isLargeIcon}>\n <LottieAnimation\n src={section.lottie!}\n settings={renderSettings}\n width={section.isLargeIcon ? 75 : 64}\n height={section.isLargeIcon ? 75 : 64}\n />\n </Styled.LottieWrapper>\n )}\n </FlexView>\n <Styled.ContentWrapper $maxWidth={section.maxWidth ?? '100%'} $width=\"100%\">\n {section.title && (\n <Text\n $renderAs={section.titleStyle}\n $color={section.titleColor}\n $renderOnMobileAs={section.titleTabletStyle}\n >\n {section.title}\n </Text>\n )}\n\n {section.subtitle && (\n <>\n <Separator height={2} />\n <Styled.SubTitle\n $renderAs={section.subtitleStyle!}\n $renderOnMobileAs={section.subtitleTabletStyle}\n $color=\"WHITE_1\"\n $whiteSpace=\"pre-line\"\n $subtitleLineThrough={section.subtitleLineThrough}\n >\n {section.subtitle}\n </Styled.SubTitle>\n </>\n )}\n\n {section.description && (\n <>\n <Separator heightX={0.5} />\n <FlexView $width=\"100%\">\n <Text\n $renderAs=\"ub2\"\n $renderOnMobileAs=\"ub3\"\n $color={section.descriptionColor ?? 'WHITE_T_60'}\n >\n {section.description}\n </Text>\n </FlexView>\n </>\n )}\n\n {section.action && (\n <>\n <Separator heightX={0.75} />\n <TextButton\n sizeOnMobile=\"small\"\n label={section.action.label}\n color=\"WHITE_1\"\n onClick={section.action.onClick}\n />\n </>\n )}\n </Styled.ContentWrapper>\n </FlexView>\n ),\n [],\n );\n\n return (\n <FlexView $flexDirection=\"column\" $justifyContent=\"center\">\n {renderSection(config.topSection)}\n\n <FlexView $gutterX={2} $gapX={0.25}>\n <Separator heightX={3} background=\"BLACK_5\" width={1} />\n </FlexView>\n\n {renderSection(config.bottomSection)}\n </FlexView>\n );\n};\n\nexport default memo(SessionStatus);\n"],"names":["SessionStatus","completedSessions","nextSessionStartTime","status","teacherName","studentName","onRescheduleClick","remainingTime","setRemainingTime","useState","intervalRef","useRef","derivedValues","useMemo","formatSessionDateTime","isTeacherAssigned","isFirstSessionCompleted","formattedSessionStart","clearCountdownInterval","useCallback","isNoShowStatus","useEffect","updateCountdown","start","fromUnixTime","diffInSeconds","differenceInSeconds","COUNTDOWN_THRESHOLD","formatTimeRemaining","COUNTDOWN_INTERVAL","handleRedirectToApp","CUEMATH_APP_URL","createStudentNoShowConfig","ILLUSTRATIONS","createCompletedSessionConfig","titleText","pluralize","LOTTIE","createDefaultSessionConfig","defaultTitle","teacherGif","config","renderSection","section","jsxs","FlexView","jsx","Image","Styled.LottieWrapper","LottieAnimation","renderSettings","Styled.ContentWrapper","Text","Fragment","Separator","Styled.SubTitle","TextButton","sessionStatus","memo"],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- import { GIF as e } from "../../../../../assets/gif/gif.js";
2
- const i = [
3
- {
4
- title: "introduction & goals",
5
- description: "Get to know your tutor and discuss your goals and expectations",
6
- image: e.YOUR_GOALS_GRID_BG,
7
- textBG: "ORANGE_6",
8
- ctaLabel: "View Profile"
9
- },
10
- {
11
- title: "interactive sessions",
12
- description: "Watch your child learn concepts and tackle problems with their tutorʼs guidance.",
13
- image: e.LEARNING_SESSION_GRID_BG,
14
- textBG: "YELLOW_6",
15
- ctaLabel: "View Insights"
16
- },
17
- {
18
- title: "way forward",
19
- description: "Get insights on your child’s learning and plan the journey ahead",
20
- image: e.WAY_FORWARD_GRID_BG,
21
- textBG: "GREEN_6",
22
- ctaLabel: "View Learning Plan"
23
- }
24
- ], a = [
25
- {
26
- title: "created student profile",
27
- key: "studentProfile",
28
- image: e.YOUR_GOALS_GRID_BG,
29
- textBG: "ORANGE_6",
30
- ctaLabel: "View Profile"
31
- },
32
- {
33
- title: "Shared Learning insights",
34
- key: "insights",
35
- image: e.LEARNING_SESSION_GRID_BG,
36
- textBG: "YELLOW_6",
37
- ctaLabel: "View Insights"
38
- },
39
- {
40
- title: "Created learning plan",
41
- description: "Get insights on your child’s learning and plan the journey ahead",
42
- image: e.WAY_FORWARD_GRID_BG,
43
- textBG: "GREEN_6",
44
- ctaLabel: "View Learning Plan",
45
- key: "learningPlan"
46
- }
47
- ];
48
- export {
49
- a as sessionSummaryAfterDemo,
50
- i as sessionSummaryData
51
- };
52
- //# sourceMappingURL=session-summary-constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-summary-constants.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-summary/session-summary-constants.ts"],"sourcesContent":["import type { ISessionSummary } from './session-summary-types';\n\nimport { GIF } from '../../../../../assets/gif/gif';\n\nexport const sessionSummaryData: ISessionSummary[] = [\n {\n title: 'introduction & goals',\n description: 'Get to know your tutor and discuss your goals and expectations',\n image: GIF.YOUR_GOALS_GRID_BG,\n textBG: 'ORANGE_6',\n ctaLabel: 'View Profile',\n },\n {\n title: 'interactive sessions',\n description: 'Watch your child learn concepts and tackle problems with their tutorʼs guidance.',\n image: GIF.LEARNING_SESSION_GRID_BG,\n textBG: 'YELLOW_6',\n ctaLabel: 'View Insights',\n },\n {\n title: 'way forward',\n description: 'Get insights on your child’s learning and plan the journey ahead',\n image: GIF.WAY_FORWARD_GRID_BG,\n textBG: 'GREEN_6',\n ctaLabel: 'View Learning Plan',\n },\n];\n\nexport const sessionSummaryAfterDemo: ISessionSummary[] = [\n {\n title: 'created student profile',\n key: 'studentProfile',\n image: GIF.YOUR_GOALS_GRID_BG,\n textBG: 'ORANGE_6',\n ctaLabel: 'View Profile',\n },\n {\n title: 'Shared Learning insights',\n key: 'insights',\n image: GIF.LEARNING_SESSION_GRID_BG,\n textBG: 'YELLOW_6',\n ctaLabel: 'View Insights',\n },\n {\n title: 'Created learning plan',\n description: 'Get insights on your child’s learning and plan the journey ahead',\n image: GIF.WAY_FORWARD_GRID_BG,\n textBG: 'GREEN_6',\n ctaLabel: 'View Learning Plan',\n key: 'learningPlan',\n },\n];\n"],"names":["sessionSummaryData","GIF","sessionSummaryAfterDemo"],"mappings":";AAIO,MAAMA,IAAwC;AAAA,EACnD;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAOC,EAAI;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAOA,EAAI;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAOA,EAAI;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AACF,GAEaC,IAA6C;AAAA,EACxD;AAAA,IACE,OAAO;AAAA,IACP,KAAK;AAAA,IACL,OAAOD,EAAI;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,KAAK;AAAA,IACL,OAAOA,EAAI;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,EACZ;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,aAAa;AAAA,IACb,OAAOA,EAAI;AAAA,IACX,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,KAAK;AAAA,EACP;AACF;"}
@@ -1,52 +0,0 @@
1
- import { jsxs as u, jsx as s } from "react/jsx-runtime";
2
- import { memo as g, useCallback as l } from "react";
3
- import { useTheme as $ } from "styled-components";
4
- import a from "../../../../ui/layout/flex-view.js";
5
- import b from "../../../../ui/separator/separator.js";
6
- import x from "../../../../ui/text/text.js";
7
- import { EDeviceType as v } from "../../../../ui/theme/constants.js";
8
- import { sessionSummaryAfterDemo as C, sessionSummaryData as T } from "./session-summary-constants.js";
9
- import W from "./summary-card/summary-card.js";
10
- const S = g(({ isDemoDone: i, studentName: r, onViewSummary: o }) => {
11
- const t = $().device <= v.MOBILE, p = l(
12
- (e) => {
13
- if (!e) return "";
14
- if (e === "studentProfile")
15
- return `We understood your goals and expectations to create ${r}'s profile.`;
16
- if (e === "insights")
17
- return `With tutor’s guidance ${r} solved problems, helping us assess their math proficiency.`;
18
- if (e === "learningPlan")
19
- return `The plan will keep evolving based on ${r}'s progress and evolving needs.`;
20
- },
21
- [r]
22
- ), c = l(
23
- (e) => {
24
- o == null || o(e);
25
- },
26
- [o]
27
- );
28
- return /* @__PURE__ */ u(a, { children: [
29
- /* @__PURE__ */ s(x, { $renderAs: "ah4-bold", $renderOnMobileAs: "ab1-bold", $color: "WHITE", children: i ? "What happened in today’s session" : "What happens in the first session?" }),
30
- /* @__PURE__ */ s(b, { height: t ? 16 : 20 }),
31
- /* @__PURE__ */ s(a, { $flexGapX: 1, $justifyContent: "center", $flexDirection: t ? "column" : "row", children: (i ? C : T).map(
32
- ({ title: e, description: m, image: f, textBG: d, ctaLabel: h, key: n }) => /* @__PURE__ */ s(
33
- W,
34
- {
35
- title: e,
36
- description: p(n) || m,
37
- image: f,
38
- textBG: d,
39
- ctaLabel: h,
40
- keyId: n,
41
- isDemoDone: i,
42
- onClick: c
43
- },
44
- e
45
- )
46
- ) })
47
- ] });
48
- }), D = S;
49
- export {
50
- D as default
51
- };
52
- //# sourceMappingURL=session-summary.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-summary.js","sources":["../../../../../../src/features/trial-session/comps/pla/session-summary/session-summary.tsx"],"sourcesContent":["import type { ISessionSummaryProps } from './session-summary-types';\n\nimport { memo, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Separator from '../../../../ui/separator/separator';\nimport Text from '../../../../ui/text/text';\nimport { EDeviceType } from '../../../../ui/theme/constants';\nimport { sessionSummaryAfterDemo, sessionSummaryData } from './session-summary-constants';\nimport SessionSummaryCard from './summary-card/summary-card';\n\nconst SessionSummary = memo(({ isDemoDone, studentName, onViewSummary }: ISessionSummaryProps) => {\n const theme = useTheme();\n const isMobile = theme.device <= EDeviceType.MOBILE;\n\n const getDescription = useCallback(\n (key?: string) => {\n if (!key) return '';\n\n if (key === 'studentProfile') {\n return `We understood your goals and expectations to create ${studentName}'s profile.`;\n }\n\n if (key === 'insights') {\n return `With tutor’s guidance ${studentName} solved problems, helping us assess their math proficiency.`;\n }\n\n if (key === 'learningPlan') {\n return `The plan will keep evolving based on ${studentName}'s progress and evolving needs.`;\n }\n },\n [studentName],\n );\n\n const handleClick = useCallback(\n (key: string) => {\n onViewSummary?.(key);\n },\n [onViewSummary],\n );\n\n return (\n <FlexView>\n <Text $renderAs=\"ah4-bold\" $renderOnMobileAs=\"ab1-bold\" $color=\"WHITE\">\n {isDemoDone ? `What happened in today’s session` : `What happens in the first session?`}\n </Text>\n <Separator height={isMobile ? 16 : 20} />\n <FlexView $flexGapX={1} $justifyContent=\"center\" $flexDirection={isMobile ? 'column' : 'row'}>\n {(isDemoDone ? sessionSummaryAfterDemo : sessionSummaryData).map(\n ({ title, description, image, textBG, ctaLabel, key }) => (\n <SessionSummaryCard\n key={title}\n title={title}\n description={getDescription(key) || (description as string)}\n image={image}\n textBG={textBG}\n ctaLabel={ctaLabel}\n keyId={key}\n isDemoDone={isDemoDone}\n onClick={handleClick}\n />\n ),\n )}\n </FlexView>\n </FlexView>\n );\n});\n\nexport default SessionSummary;\n"],"names":["SessionSummary","memo","isDemoDone","studentName","onViewSummary","isMobile","useTheme","EDeviceType","getDescription","useCallback","key","handleClick","FlexView","jsx","Text","Separator","sessionSummaryAfterDemo","sessionSummaryData","title","description","image","textBG","ctaLabel","SessionSummaryCard","SessionSummary$1"],"mappings":";;;;;;;;;AAYA,MAAMA,IAAiBC,EAAK,CAAC,EAAE,YAAAC,GAAY,aAAAC,GAAa,eAAAC,QAA0C;AAE1F,QAAAC,IADQC,IACS,UAAUC,EAAY,QAEvCC,IAAiBC;AAAA,IACrB,CAACC,MAAiB;AACZ,UAAA,CAACA,EAAY,QAAA;AAEjB,UAAIA,MAAQ;AACV,eAAO,uDAAuDP,CAAW;AAG3E,UAAIO,MAAQ;AACV,eAAO,yBAAyBP,CAAW;AAG7C,UAAIO,MAAQ;AACV,eAAO,wCAAwCP,CAAW;AAAA,IAE9D;AAAA,IACA,CAACA,CAAW;AAAA,EAAA,GAGRQ,IAAcF;AAAA,IAClB,CAACC,MAAgB;AACf,MAAAN,KAAA,QAAAA,EAAgBM;AAAA,IAClB;AAAA,IACA,CAACN,CAAa;AAAA,EAAA;AAGhB,2BACGQ,GACC,EAAA,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAK,WAAU,YAAW,mBAAkB,YAAW,QAAO,SAC5D,UAAaZ,IAAA,qCAAqC,sCACrD;AAAA,IACC,gBAAAW,EAAAE,GAAA,EAAU,QAAQV,IAAW,KAAK,IAAI;AAAA,IACtC,gBAAAQ,EAAAD,GAAA,EAAS,WAAW,GAAG,iBAAgB,UAAS,gBAAgBP,IAAW,WAAW,OACnF,WAAaH,IAAAc,IAA0BC,GAAoB;AAAA,MAC3D,CAAC,EAAE,OAAAC,GAAO,aAAAC,GAAa,OAAAC,GAAO,QAAAC,GAAQ,UAAAC,GAAU,KAAAZ,QAC9C,gBAAAG;AAAA,QAACU;AAAA,QAAA;AAAA,UAEC,OAAAL;AAAA,UACA,aAAaV,EAAeE,CAAG,KAAMS;AAAA,UACrC,OAAAC;AAAA,UACA,QAAAC;AAAA,UACA,UAAAC;AAAA,UACA,OAAOZ;AAAA,UACP,YAAAR;AAAA,UACA,SAASS;AAAA,QAAA;AAAA,QARJO;AAAA,MASP;AAAA,IAAA,GAGN;AAAA,EACF,EAAA,CAAA;AAEJ,CAAC,GAEDM,IAAexB;"}
@@ -1,17 +0,0 @@
1
- import e from "styled-components";
2
- import n from "../../../../../ui/layout/flex-view.js";
3
- const i = e(n)(({ theme: r }) => {
4
- const { gutter: t } = r.layout, { WHITE_4: a } = r.colors;
5
- return `
6
- margin: 0;
7
- padding: 0;
8
- background-image: linear-gradient(${a} 1px, transparent 1px),
9
- linear-gradient(90deg, ${a} 1px, transparent 1px);
10
- background-size: ${t * 3.125}px ${t * 3.125}px;
11
- position: relative;
12
- `;
13
- });
14
- export {
15
- i as ImageWrapper
16
- };
17
- //# sourceMappingURL=summary-card-styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary-card-styled.js","sources":["../../../../../../../src/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../../ui/layout/flex-view';\n\nconst ImageWrapper = styled(FlexView)(({ theme }) => {\n const { gutter } = theme.layout;\n const { WHITE_4 } = theme.colors;\n\n return `\n margin: 0;\n padding: 0;\n background-image: linear-gradient(${WHITE_4} 1px, transparent 1px),\n linear-gradient(90deg, ${WHITE_4} 1px, transparent 1px);\n background-size: ${gutter * 3.125}px ${gutter * 3.125}px;\n position: relative;\n `;\n});\n\nexport { ImageWrapper };\n"],"names":["ImageWrapper","styled","FlexView","theme","gutter","WHITE_4"],"mappings":";;AAIA,MAAMA,IAAeC,EAAOC,CAAQ,EAAE,CAAC,EAAE,OAAAC,QAAY;AAC7C,QAAA,EAAE,QAAAC,EAAO,IAAID,EAAM,QACnB,EAAE,SAAAE,EAAQ,IAAIF,EAAM;AAEnB,SAAA;AAAA;AAAA;AAAA,wCAG+BE,CAAO;AAAA,+BAChBA,CAAO;AAAA,uBACfD,IAAS,KAAK,MAAMA,IAAS,KAAK;AAAA;AAAA;AAGzD,CAAC;"}