@cuemath/leap 3.3.5-aa1 → 3.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/dist/assets/illustrations/illustrations.js +3 -1
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/lottie/lottie.js +1 -0
  4. package/dist/assets/lottie/lottie.js.map +1 -1
  5. package/dist/constants/config.js +5 -0
  6. package/dist/constants/config.js.map +1 -0
  7. package/dist/features/auth/comps/otp-input/otp-input.js +19 -18
  8. package/dist/features/auth/comps/otp-input/otp-input.js.map +1 -1
  9. package/dist/features/auth/comps/pill-button/pill-button-styled.js +17 -17
  10. package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +1 -1
  11. package/dist/features/auth/comps/pill-button/pill-button.js +35 -33
  12. package/dist/features/auth/comps/pill-button/pill-button.js.map +1 -1
  13. package/dist/features/auth/comps/user-list/user-item/user-item.js +32 -30
  14. package/dist/features/auth/comps/user-list/user-item/user-item.js.map +1 -1
  15. package/dist/features/auth/comps/user-list/user-list.js +20 -19
  16. package/dist/features/auth/comps/user-list/user-list.js.map +1 -1
  17. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js +9 -9
  18. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-constants.js.map +1 -1
  19. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js +58 -29
  20. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide-styled.js.map +1 -1
  21. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js +78 -41
  22. package/dist/features/auth/pla-signup/onboarding-guide/onboarding-guide.js.map +1 -1
  23. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper-styled.js +37 -35
  24. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper-styled.js.map +1 -1
  25. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js +76 -71
  26. package/dist/features/auth/signup/circular-step-wrapper/circular-step-wrapper.js.map +1 -1
  27. package/dist/features/auth/signup/custom-input-field/custom-input-field.js +55 -50
  28. package/dist/features/auth/signup/custom-input-field/custom-input-field.js.map +1 -1
  29. package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js +47 -25
  30. package/dist/features/auth/signup/custom-input-field/input-wrapper/input-wrapper.js.map +1 -1
  31. package/dist/features/milestone/constants.js +2 -1
  32. package/dist/features/milestone/constants.js.map +1 -1
  33. package/dist/features/milestone/create/comps/goal-completion-date-selector/goal-completion-date-selector.js +6 -6
  34. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-constants.js +25 -0
  35. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-constants.js.map +1 -0
  36. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-styled.js +15 -0
  37. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features-styled.js.map +1 -0
  38. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js +90 -0
  39. package/dist/features/parent-dashboard/comps/cuemath-app-features/cuemath-app-features.js.map +1 -0
  40. package/dist/features/parent-dashboard/comps/math-practice/math-practice-constants.js +19 -0
  41. package/dist/features/parent-dashboard/comps/math-practice/math-practice-constants.js.map +1 -0
  42. package/dist/features/parent-dashboard/comps/math-practice/math-practice-styled.js +32 -0
  43. package/dist/features/parent-dashboard/comps/math-practice/math-practice-styled.js.map +1 -0
  44. package/dist/features/parent-dashboard/comps/math-practice/math-practice.js +67 -0
  45. package/dist/features/parent-dashboard/comps/math-practice/math-practice.js.map +1 -0
  46. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs-constants.js +42 -0
  47. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs-constants.js.map +1 -0
  48. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs.js +20 -0
  49. package/dist/features/parent-dashboard/comps/parent-dashboard-faqs/parent-dashboard-faqs.js.map +1 -0
  50. package/dist/features/student-details/class-details/class-details-utils.js +6 -6
  51. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js +25 -0
  52. package/dist/features/trial-session/comps/pla/next-steps/next-steps-constants.js.map +1 -0
  53. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js +43 -0
  54. package/dist/features/trial-session/comps/pla/next-steps/next-steps-styled.js.map +1 -0
  55. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js +49 -0
  56. package/dist/features/trial-session/comps/pla/next-steps/next-steps.js.map +1 -0
  57. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js +29 -0
  58. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-countdown.js.map +1 -0
  59. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js +131 -0
  60. package/dist/features/trial-session/comps/pla/session-status/hooks/use-session-status-config.js.map +1 -0
  61. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js +11 -0
  62. package/dist/features/trial-session/comps/pla/session-status/session-status-constants.js.map +1 -0
  63. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js +19 -0
  64. package/dist/features/trial-session/comps/pla/session-status/session-status-helpers.js.map +1 -0
  65. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js +17 -0
  66. package/dist/features/trial-session/comps/pla/session-status/session-status-styled.js.map +1 -0
  67. package/dist/features/trial-session/comps/pla/session-status/session-status.js +126 -0
  68. package/dist/features/trial-session/comps/pla/session-status/session-status.js.map +1 -0
  69. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js +52 -0
  70. package/dist/features/trial-session/comps/pla/session-summary/session-summary-constants.js.map +1 -0
  71. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js +52 -0
  72. package/dist/features/trial-session/comps/pla/session-summary/session-summary.js.map +1 -0
  73. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js +17 -0
  74. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card-styled.js.map +1 -0
  75. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js +56 -0
  76. package/dist/features/trial-session/comps/pla/session-summary/summary-card/summary-card.js.map +1 -0
  77. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js +5 -0
  78. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-constants.js.map +1 -0
  79. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js +17 -0
  80. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-styled.js.map +1 -0
  81. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js +5 -0
  82. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions-types.js.map +1 -0
  83. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js +96 -0
  84. package/dist/features/trial-session/comps/pla/upcoming-sessions/upcoming-sessions.js.map +1 -0
  85. package/dist/features/trial-session/comps/session-report/report-information/report-card.js +31 -16
  86. package/dist/features/trial-session/comps/session-report/report-information/report-card.js.map +1 -1
  87. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js +21 -13
  88. package/dist/features/trial-session/comps/session-report/report-information/report-information-styled.js.map +1 -1
  89. package/dist/features/trial-session/comps/session-report/report-information/report-information.js +166 -94
  90. package/dist/features/trial-session/comps/session-report/report-information/report-information.js.map +1 -1
  91. package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js +46 -31
  92. package/dist/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.js.map +1 -1
  93. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js +12 -0
  94. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.js.map +1 -0
  95. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js +121 -42
  96. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js.map +1 -1
  97. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +174 -56
  98. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +1 -1
  99. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  100. package/dist/features/ui/buttons/icon-button/icon-button.js +32 -29
  101. package/dist/features/ui/buttons/icon-button/icon-button.js.map +1 -1
  102. package/dist/features/ui/modals/modal.js +30 -28
  103. package/dist/features/ui/modals/modal.js.map +1 -1
  104. package/dist/index.d.ts +95 -10
  105. package/dist/index.js +388 -368
  106. package/dist/index.js.map +1 -1
  107. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js +10 -0
  108. package/dist/node_modules/date-fns/_lib/getRoundingMethod.js.map +1 -0
  109. package/dist/node_modules/date-fns/differenceInMilliseconds.js +9 -0
  110. package/dist/node_modules/date-fns/differenceInMilliseconds.js.map +1 -0
  111. package/dist/node_modules/date-fns/differenceInSeconds.js +11 -0
  112. package/dist/node_modules/date-fns/differenceInSeconds.js.map +1 -0
  113. package/dist/node_modules/date-fns/fromUnixTime.js +9 -0
  114. package/dist/node_modules/date-fns/fromUnixTime.js.map +1 -0
  115. package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
  116. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
  117. package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
  118. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  119. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
  120. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  121. package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
  122. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  123. package/dist/static/{book-checked-green.c275dbd9.svg → book-checked-green.0436b91e.svg} +1 -1
  124. package/dist/static/community-bulb-yellow-2.f89c30f9.svg +1 -0
  125. package/dist/static/learning-puzzle-bot.6fe93cf6.svg +1 -0
  126. package/dist/static/username-responsive.787b5515.json +1 -0
  127. package/package.json +1 -1
  128. package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
  129. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
  130. package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
  131. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
@@ -1,38 +1,53 @@
1
- import { jsx as e, jsxs as l } from "react/jsx-runtime";
1
+ import { jsx as r, jsxs as l } from "react/jsx-runtime";
2
2
  import { memo as d } from "react";
3
- import c from "styled-components";
4
- import a from "../../../../ui/image/image.js";
5
- import o from "../../../../ui/layout/flex-view.js";
6
- import n from "../../../../ui/text/text.js";
7
- const m = c(o)`
3
+ import m, { useTheme as a } from "styled-components";
4
+ import p from "../../../../ui/image/image.js";
5
+ import t from "../../../../ui/layout/flex-view.js";
6
+ import i from "../../../../ui/text/text.js";
7
+ import { EDeviceType as f } from "../../../../ui/theme/constants.js";
8
+ const $ = m(t)`
8
9
  &:not(:last-child) {
9
- border-bottom: 1px solid ${({ theme: t }) => t.colors.BLACK_1};
10
+ border-bottom: 1px solid ${({ theme: n }) => n.colors.BLACK_1};
11
+ }
12
+ `, c = d(
13
+ ({ profileHighlights: n }) => {
14
+ const o = a().device <= f.MOBILE;
15
+ return /* @__PURE__ */ r(t, { $borderColor: "BLACK_1", children: n.map((e) => /* @__PURE__ */ l(
16
+ $,
17
+ {
18
+ $flexDirection: "row",
19
+ $alignItems: "center",
20
+ $justifyContent: "flex-start",
21
+ $gapX: 1,
22
+ $gutterX: o ? 0.75 : 1,
23
+ $flexGapX: o ? 0.5 : 1.5,
24
+ $background: e.background,
25
+ children: [
26
+ /* @__PURE__ */ r(
27
+ p,
28
+ {
29
+ src: e.illustration,
30
+ alt: e.title,
31
+ height: o ? 64 : 96,
32
+ width: o ? 64 : 96
33
+ }
34
+ ),
35
+ /* @__PURE__ */ l(t, { $flexDirection: "column", $flex: 1, $flexGap: 2, children: [
36
+ /* @__PURE__ */ r(i, { $renderAs: "ac3-black", children: e.title }),
37
+ /* @__PURE__ */ r(i, { $renderAs: "ab2", children: typeof e.description == "string" ? e.description : /* @__PURE__ */ r(t, { children: e.description.map((s) => /* @__PURE__ */ l(t, { $flexDirection: "row", $flexColumnGapX: 0.5, children: [
38
+ /* @__PURE__ */ r(i, { $renderAs: "ab2", $inline: !0, children: "•" }),
39
+ /* @__PURE__ */ r(i, { $renderAs: "ab2", as: "span", $inline: !0, children: s })
40
+ ] }, s)) }) })
41
+ ] })
42
+ ]
43
+ },
44
+ e.title
45
+ )) });
10
46
  }
11
- `, s = d(
12
- ({ profileHighlights: t }) => /* @__PURE__ */ e(o, { $borderColor: "BLACK_1", children: t.map((r) => /* @__PURE__ */ l(
13
- m,
14
- {
15
- $flexDirection: "row",
16
- $alignItems: "center",
17
- $justifyContent: "flex-start",
18
- $gapX: 1,
19
- $gutterX: 1,
20
- $flexGapX: 1.5,
21
- $background: r.background,
22
- children: [
23
- /* @__PURE__ */ e(a, { src: r.illustration, alt: r.title, height: 96, width: 96 }),
24
- /* @__PURE__ */ l(o, { $flexDirection: "column", $flex: 1, $flexGap: 2, children: [
25
- /* @__PURE__ */ e(n, { $renderAs: "ac3-black", children: r.title }),
26
- /* @__PURE__ */ e(n, { $renderAs: "ab2", children: typeof r.description == "string" ? r.description : r.description.map((i) => /* @__PURE__ */ e("li", { children: i }, i)) })
27
- ] })
28
- ]
29
- },
30
- r.title
31
- )) })
32
47
  );
33
- s.displayName = "StudentProfileHighlights";
34
- const y = s;
48
+ c.displayName = "StudentProfileHighlights";
49
+ const H = c;
35
50
  export {
36
- y as default
51
+ H as default
37
52
  };
38
53
  //# sourceMappingURL=student-profile-highlights.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"student-profile-highlights.js","sources":["../../../../../../src/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\nimport styled from 'styled-components';\n\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ntype TProfileHighlight = {\n illustration: string;\n background: TColorNames;\n title: string;\n description: string | string[];\n};\n\nconst HighlightWrapper = styled(FlexView)`\n &:not(:last-child) {\n border-bottom: 1px solid ${({ theme }) => theme.colors.BLACK_1};\n }\n`;\n\ninterface IStudentProfileHighlightsProps {\n profileHighlights: TProfileHighlight[];\n}\n\nconst StudentProfileHighlights: FC<IStudentProfileHighlightsProps> = memo(\n ({ profileHighlights }) => {\n return (\n <FlexView $borderColor=\"BLACK_1\">\n {profileHighlights.map(highlight => (\n <HighlightWrapper\n key={highlight.title}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"flex-start\"\n $gapX={1}\n $gutterX={1}\n $flexGapX={1.5}\n $background={highlight.background}\n >\n <Image src={highlight.illustration} alt={highlight.title} height={96} width={96} />\n <FlexView $flexDirection=\"column\" $flex={1} $flexGap={2}>\n <Text $renderAs=\"ac3-black\">{highlight.title}</Text>\n <Text $renderAs=\"ab2\">\n {typeof highlight.description === 'string'\n ? highlight.description\n : highlight.description.map(desc => <li key={desc}>{desc}</li>)}\n </Text>\n </FlexView>\n </HighlightWrapper>\n ))}\n </FlexView>\n );\n },\n);\n\nStudentProfileHighlights.displayName = 'StudentProfileHighlights';\n\nexport default StudentProfileHighlights;\n"],"names":["HighlightWrapper","styled","FlexView","theme","StudentProfileHighlights","memo","profileHighlights","highlight","jsxs","jsx","Image","Text","desc","StudentProfileHighlights$1"],"mappings":";;;;;;AAiBA,MAAMA,IAAmBC,EAAOC,CAAQ;AAAA;AAAA,+BAET,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA;AAAA,GAQ5DC,IAA+DC;AAAA,EACnE,CAAC,EAAE,mBAAAC,EAAA,wBAEEJ,GAAS,EAAA,cAAa,WACpB,UAAAI,EAAkB,IAAI,CACrBC,MAAA,gBAAAC;AAAA,IAACR;AAAA,IAAA;AAAA,MAEC,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,WAAW;AAAA,MACX,aAAaO,EAAU;AAAA,MAEvB,UAAA;AAAA,QAAC,gBAAAE,EAAAC,GAAA,EAAM,KAAKH,EAAU,cAAc,KAAKA,EAAU,OAAO,QAAQ,IAAI,OAAO,GAAI,CAAA;AAAA,0BAChFL,GAAS,EAAA,gBAAe,UAAS,OAAO,GAAG,UAAU,GACpD,UAAA;AAAA,UAAA,gBAAAO,EAACE,GAAK,EAAA,WAAU,aAAa,UAAAJ,EAAU,OAAM;AAAA,4BAC5CI,GAAK,EAAA,WAAU,OACb,UAAO,OAAAJ,EAAU,eAAgB,WAC9BA,EAAU,cACVA,EAAU,YAAY,IAAI,CAAQK,MAAA,gBAAAH,EAAC,QAAe,UAAPG,EAAA,GAAAA,CAAY,CAAK,EAClE,CAAA;AAAA,QAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,IAjBKL,EAAU;AAAA,EAmBlB,CAAA,EACH,CAAA;AAGN;AAEAH,EAAyB,cAAc;AAEvC,MAAAS,IAAeT;"}
1
+ {"version":3,"file":"student-profile-highlights.js","sources":["../../../../../../src/features/trial-session/comps/student-profile/student-profile-highlights/student-profile-highlights.tsx"],"sourcesContent":["import type { TColorNames } from '../../../../ui/types';\nimport type { FC } from 'react';\n\nimport { memo } from 'react';\nimport styled from 'styled-components';\nimport { useTheme } from 'styled-components';\n\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { EDeviceType } from '../../../../ui/theme/constants';\n\ntype TProfileHighlight = {\n illustration: string;\n background: TColorNames;\n title: string;\n description: string | string[];\n};\n\nconst HighlightWrapper = styled(FlexView)`\n &:not(:last-child) {\n border-bottom: 1px solid ${({ theme }) => theme.colors.BLACK_1};\n }\n`;\n\ninterface IStudentProfileHighlightsProps {\n profileHighlights: TProfileHighlight[];\n}\n\nconst StudentProfileHighlights: FC<IStudentProfileHighlightsProps> = memo(\n ({ profileHighlights }) => {\n const theme = useTheme();\n const isMobile = theme.device <= EDeviceType.MOBILE;\n\n return (\n <FlexView $borderColor=\"BLACK_1\">\n {profileHighlights.map(highlight => (\n <HighlightWrapper\n key={highlight.title}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"flex-start\"\n $gapX={1}\n $gutterX={isMobile ? 0.75 : 1}\n $flexGapX={isMobile ? 0.5 : 1.5}\n $background={highlight.background}\n >\n <Image\n src={highlight.illustration}\n alt={highlight.title}\n height={isMobile ? 64 : 96}\n width={isMobile ? 64 : 96}\n />\n <FlexView $flexDirection=\"column\" $flex={1} $flexGap={2}>\n <Text $renderAs=\"ac3-black\">{highlight.title}</Text>\n <Text $renderAs=\"ab2\">\n {typeof highlight.description === 'string' ? (\n highlight.description\n ) : (\n <FlexView>\n {highlight.description.map(desc => (\n <FlexView key={desc} $flexDirection=\"row\" $flexColumnGapX={0.5}>\n <Text $renderAs=\"ab2\" $inline>\n •\n </Text>\n <Text $renderAs=\"ab2\" as=\"span\" $inline>\n {desc}\n </Text>\n </FlexView>\n ))}\n </FlexView>\n )}\n </Text>\n </FlexView>\n </HighlightWrapper>\n ))}\n </FlexView>\n );\n },\n);\n\nStudentProfileHighlights.displayName = 'StudentProfileHighlights';\n\nexport default StudentProfileHighlights;\n"],"names":["HighlightWrapper","styled","FlexView","theme","StudentProfileHighlights","memo","profileHighlights","isMobile","useTheme","EDeviceType","highlight","jsxs","jsx","Image","Text","desc","StudentProfileHighlights$1"],"mappings":";;;;;;;AAmBA,MAAMA,IAAmBC,EAAOC,CAAQ;AAAA;AAAA,+BAET,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA;AAAA,GAQ5DC,IAA+DC;AAAA,EACnE,CAAC,EAAE,mBAAAC,EAAA,MAAwB;AAEnB,UAAAC,IADQC,IACS,UAAUC,EAAY;AAE7C,6BACGP,GAAS,EAAA,cAAa,WACpB,UAAAI,EAAkB,IAAI,CACrBI,MAAA,gBAAAC;AAAA,MAACX;AAAA,MAAA;AAAA,QAEC,gBAAe;AAAA,QACf,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,OAAO;AAAA,QACP,UAAUO,IAAW,OAAO;AAAA,QAC5B,WAAWA,IAAW,MAAM;AAAA,QAC5B,aAAaG,EAAU;AAAA,QAEvB,UAAA;AAAA,UAAA,gBAAAE;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,KAAKH,EAAU;AAAA,cACf,KAAKA,EAAU;AAAA,cACf,QAAQH,IAAW,KAAK;AAAA,cACxB,OAAOA,IAAW,KAAK;AAAA,YAAA;AAAA,UACzB;AAAA,4BACCL,GAAS,EAAA,gBAAe,UAAS,OAAO,GAAG,UAAU,GACpD,UAAA;AAAA,YAAA,gBAAAU,EAACE,GAAK,EAAA,WAAU,aAAa,UAAAJ,EAAU,OAAM;AAAA,YAC7C,gBAAAE,EAACE,KAAK,WAAU,OACb,iBAAOJ,EAAU,eAAgB,WAChCA,EAAU,gCAETR,GACE,EAAA,UAAAQ,EAAU,YAAY,IAAI,CAAAK,wBACxBb,GAAoB,EAAA,gBAAe,OAAM,iBAAiB,KACzD,UAAA;AAAA,cAAA,gBAAAU,EAACE,GAAK,EAAA,WAAU,OAAM,SAAO,IAAC,UAE9B,KAAA;AAAA,cACA,gBAAAF,EAACE,KAAK,WAAU,OAAM,IAAG,QAAO,SAAO,IACpC,UACHC,EAAA,CAAA;AAAA,YANa,EAAA,GAAAA,CAOf,CACD,EACH,CAAA,GAEJ;AAAA,UAAA,GACF;AAAA,QAAA;AAAA,MAAA;AAAA,MAnCKL,EAAU;AAAA,IAqClB,CAAA,EACH,CAAA;AAAA,EAEJ;AACF;AAEAN,EAAyB,cAAc;AAEvC,MAAAY,IAAeZ;"}
@@ -0,0 +1,12 @@
1
+ import { COUNTRY_FLAGS as g } from "../teacher-intro-constants.js";
2
+ const f = (n) => {
3
+ const l = Object.values(g);
4
+ return n.map((r, t) => {
5
+ const e = l.find((o) => o.name === r), a = (e == null ? void 0 : e.name) || r;
6
+ return t === n.length - 1 && n.length > 1 ? `and ${a}` : `${a}${t < n.length - 2 ? ", " : t === n.length - 2 ? " " : ""}`;
7
+ }).join("");
8
+ };
9
+ export {
10
+ f as formatCountryList
11
+ };
12
+ //# sourceMappingURL=teacher-profile-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"teacher-profile-helpers.js","sources":["../../../../../../src/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-helpers.ts"],"sourcesContent":["import { COUNTRY_FLAGS } from '../teacher-intro-constants';\n\nexport const formatCountryList = (countries: string[]) => {\n const countryFlagArray = Object.values(COUNTRY_FLAGS);\n\n return countries\n .map((country, i) => {\n const match = countryFlagArray.find(item => item.name === country);\n const label = match?.name || country;\n\n if (i === countries.length - 1 && countries.length > 1) {\n return `and ${label}`;\n }\n\n return `${label}${i < countries.length - 2 ? ', ' : i === countries.length - 2 ? ' ' : ''}`;\n })\n .join('');\n};\n"],"names":["formatCountryList","countries","countryFlagArray","COUNTRY_FLAGS","country","i","match","item","label"],"mappings":";AAEa,MAAAA,IAAoB,CAACC,MAAwB;AAClD,QAAAC,IAAmB,OAAO,OAAOC,CAAa;AAEpD,SAAOF,EACJ,IAAI,CAACG,GAASC,MAAM;AACnB,UAAMC,IAAQJ,EAAiB,KAAK,CAAQK,MAAAA,EAAK,SAASH,CAAO,GAC3DI,KAAQF,KAAA,gBAAAA,EAAO,SAAQF;AAE7B,WAAIC,MAAMJ,EAAU,SAAS,KAAKA,EAAU,SAAS,IAC5C,OAAOO,CAAK,KAGd,GAAGA,CAAK,GAAGH,IAAIJ,EAAU,SAAS,IAAI,OAAOI,MAAMJ,EAAU,SAAS,IAAI,MAAM,EAAE;AAAA,EAAA,CAC1F,EACA,KAAK,EAAE;AACZ;"}
@@ -1,49 +1,128 @@
1
- import r from "styled-components";
2
- import e from "../../../../ui/image/image.js";
3
- import t from "../../../../ui/layout/flex-view.js";
4
- const l = r(e)`
1
+ import o from "styled-components";
2
+ import { ILLUSTRATIONS as e } from "../../../../../assets/illustrations/illustrations.js";
3
+ import r from "../../../../ui/image/image.js";
4
+ import i from "../../../../ui/layout/flex-view.js";
5
+ const l = o(r)`
5
6
  object-fit: cover;
6
- `, c = r.div(
7
- ({ theme: o }) => `
8
- flex: 1;
9
- display: grid;
10
- border-left: 1px solid ${o.colors.BLACK_T_87};
11
- grid-template-columns: repeat(2, 1fr);
12
- grid-template-rows: auto auto auto;
7
+ border-radius: 50%;
8
+ border: 1.5px solid ${({ theme: t }) => t.colors.REAL_BLACK};
9
+ `, a = o(i)(
10
+ ({ theme: t }) => `
11
+ background-image: url(${e.RADIAL_GRADIENT_BG_2});
12
+ background-repeat: no-repeat;
13
+ background-size: auto;
14
+ background-position: top;
15
+ position: relative;
16
+ ${t.mediaQueries.minWidthTablet} {
17
+ background-image: url(${e.RADIAL_GRADIENT_BG});
18
+ }
19
+ `
20
+ ), h = o.div(
21
+ ({ theme: t }) => `
22
+ display: flex;
23
+ flex-direction: row;
24
+ flex-wrap: wrap;
25
+ ${t.mediaQueries.minWidthTablet} {
26
+ flex: 1;
27
+ display: grid;
28
+ border-left: 1px solid ${t.colors.BLACK_T_87};
29
+ grid-template-columns: repeat(2, 1fr);
30
+ grid-template-rows: auto auto auto;
31
+ }
13
32
  `
14
- ), h = r(t)(
15
- ({ theme: o }) => `
16
- border: 0.5px solid ${o.colors.WHITE_5};
17
- &:first-child,
18
- &:nth-child(2) {
19
- grid-column: span 1;
20
- }
21
- &:nth-child(3),
22
- &:nth-child(4) {
23
- grid-column: span 2;
24
- }
25
- &:first-child {
26
- border-left: none;
27
- border-top: none;
28
- }
29
- &:nth-child(2) {
30
- border-right: none;
31
- border-top: none;
32
- }
33
- &:nth-child(3) {
34
- border-left: none;
35
- border-right: none;
36
- }
37
- &:nth-child(4) {
38
- border-left: none;
39
- border-right: none;
40
- border-bottom: none;
33
+ ), m = o(i)(
34
+ ({ theme: t }) => `
35
+ width: 33.33%;
36
+ &:nth-child(odd) {
37
+ padding: 12px 16px;
38
+ }
39
+ &:last-child {
40
+ width: 100%;
41
+ }
42
+ ${t.mediaQueries.minWidthTablet} {
43
+ width: auto;
44
+ border: 0.5px solid ${t.colors.WHITE_5};
45
+ &:first-child,
46
+ &:nth-child(2) {
47
+ grid-column: span 1;
48
+ }
49
+ &:nth-child(3),
50
+ &:nth-child(4) {
51
+ grid-column: span 2;
52
+ }
53
+ &:first-child {
54
+ border-left: none;
55
+ border-top: none;
56
+ }
57
+ &:nth-child(2) {
58
+ border-right: none;
59
+ border-top: none;
60
+ }
61
+ &:nth-child(3) {
62
+ border-left: none;
63
+ border-right: none;
64
+ }
65
+ &:nth-child(4) {
66
+ border-left: none;
67
+ border-right: none;
68
+ border-bottom: none;
69
+ }
41
70
  }
42
71
  `
43
- );
72
+ ), x = o(i)`
73
+ position: absolute;
74
+ top: 8px;
75
+ left: 8px;
76
+ `, b = o.img`
77
+ position: absolute;
78
+ top: 32px;
79
+ right: 32px;
80
+ width: 14px;
81
+ ${({ theme: t }) => t.mediaQueries.minWidthTablet} {
82
+ top: 27px;
83
+ right: 38px;
84
+ width: 18px;
85
+ }
86
+ `, c = o.img`
87
+ position: absolute;
88
+ top: 40px;
89
+ left: 80px;
90
+ width: 11px;
91
+ ${({ theme: t }) => t.mediaQueries.minWidthTablet} {
92
+ top: 28.5px;
93
+ left: 38px;
94
+ width: 15px;
95
+ }
96
+ `, u = o.img`
97
+ position: absolute;
98
+ left: 64px;
99
+ bottom: 86px;
100
+ width: 12px;
101
+ ${({ theme: t }) => t.mediaQueries.minWidthTablet} {
102
+ bottom: 130px;
103
+ left: 38px;
104
+ width: 13px;
105
+ }
106
+ `, g = o.img`
107
+ position: absolute;
108
+ right: 48px;
109
+ bottom: 96px;
110
+ width: 14px;
111
+ ${({ theme: t }) => t.mediaQueries.minWidthTablet} {
112
+ right: 32px;
113
+ bottom: 130px;
114
+ width: 19px;
115
+ }
116
+ `;
44
117
  export {
45
- c as GridContainer,
46
- h as GridItem,
47
- l as ProfilePicture
118
+ x as CueLogoWrapper,
119
+ h as GridContainer,
120
+ m as GridItem,
121
+ b as PositionedAsset1,
122
+ c as PositionedAsset2,
123
+ u as PositionedAsset3,
124
+ g as PositionedAsset4,
125
+ l as ProfilePicture,
126
+ a as ProfileWrapper
48
127
  };
49
128
  //# sourceMappingURL=teacher-profile-styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"teacher-profile-styled.js","sources":["../../../../../../src/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\n\nconst ProfilePicture = styled(Image)`\n object-fit: cover;\n`;\n\nconst GridContainer = styled.div(\n ({ theme }) => `\n flex: 1;\n display: grid;\n border-left: 1px solid ${theme.colors.BLACK_T_87};\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: auto auto auto;\n`,\n);\n\nconst GridItem = styled(FlexView)(\n ({ theme }) => `\n border: 0.5px solid ${theme.colors.WHITE_5};\n &:first-child,\n &:nth-child(2) {\n grid-column: span 1;\n }\n &:nth-child(3),\n &:nth-child(4) {\n grid-column: span 2;\n }\n &:first-child {\n border-left: none;\n border-top: none;\n }\n &:nth-child(2) {\n border-right: none;\n border-top: none;\n }\n &:nth-child(3) {\n border-left: none;\n border-right: none;\n }\n &:nth-child(4) {\n border-left: none;\n border-right: none;\n border-bottom: none;\n }\n`,\n);\n\nexport { ProfilePicture, GridContainer, GridItem };\n"],"names":["ProfilePicture","styled","Image","GridContainer","theme","GridItem","FlexView"],"mappings":";;;AAKM,MAAAA,IAAiBC,EAAOC,CAAK;AAAA;AAAA,GAI7BC,IAAgBF,EAAO;AAAA,EAC3B,CAAC,EAAE,OAAAG,EAAA,MAAY;AAAA;AAAA;AAAA,2BAGUA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA;AAIlD,GAEMC,IAAWJ,EAAOK,CAAQ;AAAA,EAC9B,CAAC,EAAE,OAAAF,EAAA,MAAY;AAAA,wBACOA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA2B5C;"}
1
+ {"version":3,"file":"teacher-profile-styled.js","sources":["../../../../../../src/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport Image from '../../../../ui/image/image';\nimport FlexView from '../../../../ui/layout/flex-view';\n\nconst ProfilePicture = styled(Image)`\n object-fit: cover;\n border-radius: 50%;\n border: 1.5px solid ${({ theme }) => theme.colors.REAL_BLACK};\n`;\n\nconst ProfileWrapper = styled(FlexView)(\n ({ theme }) => `\n background-image: url(${ILLUSTRATIONS.RADIAL_GRADIENT_BG_2});\n background-repeat: no-repeat;\n background-size: auto;\n background-position: top;\n position: relative;\n ${theme.mediaQueries.minWidthTablet} {\n background-image: url(${ILLUSTRATIONS.RADIAL_GRADIENT_BG});\n }\n`,\n);\n\nconst GridContainer = styled.div(\n ({ theme }) => `\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n ${theme.mediaQueries.minWidthTablet} {\n flex: 1;\n display: grid;\n border-left: 1px solid ${theme.colors.BLACK_T_87};\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: auto auto auto;\n }\n`,\n);\n\nconst GridItem = styled(FlexView)(\n ({ theme }) => `\n width: 33.33%;\n &:nth-child(odd) {\n padding: 12px 16px;\n }\n &:last-child {\n width: 100%;\n }\n ${theme.mediaQueries.minWidthTablet} {\n width: auto;\n border: 0.5px solid ${theme.colors.WHITE_5};\n &:first-child,\n &:nth-child(2) {\n grid-column: span 1;\n }\n &:nth-child(3),\n &:nth-child(4) {\n grid-column: span 2;\n }\n &:first-child {\n border-left: none;\n border-top: none;\n }\n &:nth-child(2) {\n border-right: none;\n border-top: none;\n }\n &:nth-child(3) {\n border-left: none;\n border-right: none;\n }\n &:nth-child(4) {\n border-left: none;\n border-right: none;\n border-bottom: none;\n }\n }\n`,\n);\n\nconst CueLogoWrapper = styled(FlexView)`\n position: absolute;\n top: 8px;\n left: 8px;\n`;\n\nconst PositionedAsset1 = styled.img`\n position: absolute;\n top: 32px;\n right: 32px;\n width: 14px;\n ${({ theme }) => theme.mediaQueries.minWidthTablet} {\n top: 27px;\n right: 38px;\n width: 18px;\n }\n`;\nconst PositionedAsset2 = styled.img`\n position: absolute;\n top: 40px;\n left: 80px;\n width: 11px;\n ${({ theme }) => theme.mediaQueries.minWidthTablet} {\n top: 28.5px;\n left: 38px;\n width: 15px;\n }\n`;\nconst PositionedAsset3 = styled.img`\n position: absolute;\n left: 64px;\n bottom: 86px;\n width: 12px;\n ${({ theme }) => theme.mediaQueries.minWidthTablet} {\n bottom: 130px;\n left: 38px;\n width: 13px;\n }\n`;\nconst PositionedAsset4 = styled.img`\n position: absolute;\n right: 48px;\n bottom: 96px;\n width: 14px;\n ${({ theme }) => theme.mediaQueries.minWidthTablet} {\n right: 32px;\n bottom: 130px;\n width: 19px;\n }\n`;\n\nexport {\n PositionedAsset1,\n PositionedAsset2,\n PositionedAsset3,\n PositionedAsset4,\n CueLogoWrapper,\n ProfilePicture,\n GridContainer,\n GridItem,\n ProfileWrapper,\n};\n"],"names":["ProfilePicture","styled","Image","theme","ProfileWrapper","FlexView","ILLUSTRATIONS","GridContainer","GridItem","CueLogoWrapper","PositionedAsset1","PositionedAsset2","PositionedAsset3","PositionedAsset4"],"mappings":";;;;AAMM,MAAAA,IAAiBC,EAAOC,CAAK;AAAA;AAAA;AAAA,wBAGX,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,UAAU;AAAA,GAGxDC,IAAiBH,EAAOI,CAAQ;AAAA,EACpC,CAAC,EAAE,OAAAF,EAAA,MAAY;AAAA,0BACSG,EAAc,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKxDH,EAAM,aAAa,cAAc;AAAA,4BACTG,EAAc,kBAAkB;AAAA;AAAA;AAG5D,GAEMC,IAAgBN,EAAO;AAAA,EAC3B,CAAC,EAAE,OAAAE,EAAA,MAAY;AAAA;AAAA;AAAA;AAAA,IAIbA,EAAM,aAAa,cAAc;AAAA;AAAA;AAAA,6BAGRA,EAAM,OAAO,UAAU;AAAA;AAAA;AAAA;AAAA;AAKpD,GAEMK,IAAWP,EAAOI,CAAQ;AAAA,EAC9B,CAAC,EAAE,OAAAF,EAAA,MAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQbA,EAAM,aAAa,cAAc;AAAA;AAAA,0BAEXA,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA4B9C,GAEMM,IAAiBR,EAAOI,CAAQ;AAAA;AAAA;AAAA;AAAA,GAMhCK,IAAmBT,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAK5B,CAAC,EAAE,OAAAE,EAAA,MAAYA,EAAM,aAAa,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,GAM9CQ,IAAmBV,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAK5B,CAAC,EAAE,OAAAE,EAAA,MAAYA,EAAM,aAAa,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,GAM9CS,IAAmBX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAK5B,CAAC,EAAE,OAAAE,EAAA,MAAYA,EAAM,aAAa,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,GAM9CU,IAAmBZ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAK5B,CAAC,EAAE,OAAAE,EAAA,MAAYA,EAAM,aAAa,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,64 +1,182 @@
1
- import { jsxs as e, jsx as r } from "react/jsx-runtime";
2
- import { memo as G, useMemo as T } from "react";
3
- import C from "../../../../ui/image/image.js";
4
- import a from "../../../../ui/layout/flex-view.js";
5
- import j from "../../../../ui/separator/separator.js";
6
- import t from "../../../../ui/text/text.js";
7
- import { COUNTRY_FLAGS as k } from "../teacher-intro-constants.js";
8
- import { ProfilePicture as I, GridContainer as S, GridItem as i } from "./teacher-profile-styled.js";
9
- const O = G(({ teacherProfile: s }) => {
1
+ import { jsxs as t, Fragment as P, jsx as r } from "react/jsx-runtime";
2
+ import { memo as Y, useMemo as l, useCallback as m } from "react";
3
+ import { useTheme as j } from "styled-components";
4
+ import { ILLUSTRATIONS as u } from "../../../../../assets/illustrations/illustrations.js";
5
+ import B from "../../../../../assets/line-icons/icons/cuemath-logo.js";
6
+ import H from "../../../../ui/buttons/button/button.js";
7
+ import V from "../../../../ui/image/image.js";
8
+ import s from "../../../../ui/layout/flex-view.js";
9
+ import x from "../../../../ui/separator/separator.js";
10
+ import c from "../../../../ui/text/text.js";
11
+ import { EDeviceType as F } from "../../../../ui/theme/constants.js";
12
+ import { COUNTRY_FLAGS as K } from "../teacher-intro-constants.js";
13
+ import { formatCountryList as q } from "./teacher-profile-helpers.js";
14
+ import { GridItem as N, ProfileWrapper as z, CueLogoWrapper as Q, PositionedAsset1 as J, PositionedAsset2 as Z, PositionedAsset3 as ee, PositionedAsset4 as re, ProfilePicture as te, GridContainer as ne } from "./teacher-profile-styled.js";
15
+ const oe = Object.values(K), y = Y(({ teacherProfile: S }) => {
10
16
  const {
11
- degree: f,
17
+ degree: D,
12
18
  countries: o,
13
- lower_grade: c,
14
- higher_grade: n,
15
- header_image: u,
16
- years_of_experience: g,
17
- number_of_students_taught: m
18
- } = s || {}, { degree_name: d, field_of_study: l } = f || {}, $ = Object.values(k), h = n && parseInt(n, 10) > 8, p = T(() => h ? "High School" : ` ${c === "K" ? "" : "G"}${c} - G${n}`, [h, n, c]);
19
- return /* @__PURE__ */ e(a, { $flexDirection: "row", $borderColor: "BLACK_T_87", $background: "WHITE_3", children: [
20
- /* @__PURE__ */ r(I, { withLoader: !0, src: u, width: 350, height: 350 }),
21
- /* @__PURE__ */ e(S, { children: [
22
- /* @__PURE__ */ e(i, { $justifyContent: "center", $gutter: 24, children: [
23
- /* @__PURE__ */ e(t, { $renderAs: "ah3-black", children: [
24
- g,
25
- "+"
26
- ] }),
27
- /* @__PURE__ */ r(t, { $renderAs: "ub3", children: "Yrs of Teaching Experience" })
28
- ] }),
29
- /* @__PURE__ */ e(i, { $justifyContent: "center", $gutter: 24, children: [
30
- /* @__PURE__ */ e(t, { $renderAs: "ah3-black", children: [
31
- m,
32
- "+"
33
- ] }),
34
- /* @__PURE__ */ r(t, { $renderAs: "ub3", children: "Students Taught" })
35
- ] }),
36
- d && l && /* @__PURE__ */ e(i, { $justifyContent: "center", $gutter: 24, children: [
37
- /* @__PURE__ */ r(t, { $renderAs: "ab1-black", children: d }),
38
- /* @__PURE__ */ e(t, { $renderAs: "ub3", children: [
39
- "In ",
40
- l
41
- ] })
42
- ] }),
43
- /* @__PURE__ */ e(i, { $justifyContent: "center", $gutter: 24, children: [
44
- /* @__PURE__ */ e(t, { $renderAs: "ab1-black", children: [
19
+ lower_grade: d,
20
+ higher_grade: i,
21
+ header_image: G,
22
+ years_of_experience: R,
23
+ number_of_students_taught: v,
24
+ first_name: g,
25
+ last_name: O,
26
+ teacher_profile_url: n
27
+ } = S || {}, {
28
+ degree_name: $,
29
+ field_of_study: h,
30
+ degree_code: C
31
+ } = D || {}, b = j(), e = l(() => b.device <= F.MOBILE, [b.device]), I = l(() => i && parseInt(i, 10) > 8, [i]), w = l(
32
+ () => g ? `${g} ${O}`.trim() : "",
33
+ [g, O]
34
+ ), p = l(() => I ? "High School" : !d || !i ? "" : ` ${d === "K" ? "" : "G"}${d} - G${i}`, [I, i, d]), E = l(() => o && o.length > 0, [o]), U = l(() => $ && h, [$, h]), k = m(() => {
35
+ n && window.open(n, "_blank");
36
+ }, [n]), _ = m(() => n ? /* @__PURE__ */ t(P, { children: [
37
+ /* @__PURE__ */ r(x, { heightX: 1.5 }),
38
+ /* @__PURE__ */ r(
39
+ H,
40
+ {
41
+ label: "View profile",
42
+ renderAs: "secondary",
43
+ shape: "square",
44
+ onClick: k,
45
+ size: "small"
46
+ }
47
+ )
48
+ ] }) : null, [k, n]), A = m(
49
+ ({
50
+ value: a,
51
+ label: T,
52
+ mobileLabel: f,
53
+ valueRenderAs: L = "ah3-black"
54
+ }) => /* @__PURE__ */ t(
55
+ N,
56
+ {
57
+ $flex: e ? 1 : 0,
58
+ $justifyContent: e ? "flex-start" : "center",
59
+ $gutter: e ? 8 : 24,
60
+ $gapX: e ? 0.75 : 0,
61
+ $alignItems: e ? "center" : "flex-start",
62
+ $background: e ? "YELLOW_3" : "TRANSPARENT",
63
+ children: [
64
+ /* @__PURE__ */ r(c, { $renderAs: L, $renderOnMobileAs: "ab2-black", children: a }),
65
+ /* @__PURE__ */ r(c, { $renderAs: "ub2", $renderOnMobileAs: "ub3", $align: e ? "center" : "left", children: e && f ? f : T })
66
+ ]
67
+ }
68
+ ),
69
+ [e]
70
+ ), M = m(() => {
71
+ if (!E) return null;
72
+ if (e) {
73
+ const a = q(o);
74
+ return /* @__PURE__ */ t(s, { $gapX: 0.75, children: [
75
+ /* @__PURE__ */ t(c, { $renderOnMobileAs: "ub3-bold", $renderAs: "ab3-black", children: [
45
76
  "Teaching ",
46
77
  p,
47
- " kids in"
78
+ " kids in ",
79
+ a,
80
+ "."
48
81
  ] }),
49
- /* @__PURE__ */ r(j, { height: 12 }),
50
- /* @__PURE__ */ r(a, { $flexDirection: "row", $flexGap: 16, $flexWrap: !0, children: o && o.length > 0 && o.map((b) => {
51
- const _ = $.find((w) => w.name === b), { flag_icon: x = "", label: y, name: A } = _ || {};
52
- return /* @__PURE__ */ e(a, { $flexDirection: "row", $flexGap: 4, children: [
53
- /* @__PURE__ */ r(C, { src: x, width: 30, height: 20, withLoader: !1 }),
54
- /* @__PURE__ */ r(t, { $renderAs: "ab3-black", children: y })
55
- ] }, A);
56
- }) })
57
- ] })
58
- ] })
59
- ] });
60
- }), W = O;
82
+ _(),
83
+ n && /* @__PURE__ */ r(x, { heightX: 0.75 })
84
+ ] });
85
+ }
86
+ return /* @__PURE__ */ t(s, { $flexDirection: "column", $flexGap: 12, children: [
87
+ /* @__PURE__ */ t(c, { $renderAs: "ab1-black", $renderOnMobileAs: "ub3-bold", children: [
88
+ "Teaching ",
89
+ p,
90
+ " kids in"
91
+ ] }),
92
+ /* @__PURE__ */ r(s, { $flexDirection: "row", $flexGap: 16, $flexWrap: !0, children: o.map((a) => {
93
+ const T = oe.find((X) => X.name === a), { flag_icon: f = "", label: L = "", name: W } = T || {};
94
+ return /* @__PURE__ */ t(s, { $flexDirection: "row", $flexGap: 4, children: [
95
+ /* @__PURE__ */ r(V, { src: f, width: 30, height: 20, withLoader: !1 }),
96
+ /* @__PURE__ */ r(c, { $renderAs: "ab3-black", children: L })
97
+ ] }, W || a);
98
+ }) })
99
+ ] });
100
+ }, [
101
+ E,
102
+ e,
103
+ p,
104
+ o,
105
+ _,
106
+ n
107
+ ]);
108
+ return /* @__PURE__ */ t(
109
+ s,
110
+ {
111
+ $flexDirection: e ? "column" : "row",
112
+ $borderColor: "BLACK_T_87",
113
+ $background: "WHITE_3",
114
+ children: [
115
+ /* @__PURE__ */ t(
116
+ z,
117
+ {
118
+ $gapX: e ? 1 : 1.5,
119
+ $gutterX: 1,
120
+ $background: "YELLOW_4",
121
+ $alignItems: "center",
122
+ $justifyContent: "center",
123
+ children: [
124
+ e && /* @__PURE__ */ r(Q, { children: /* @__PURE__ */ r(B, { width: 54, height: 8, color: b.colors.REAL_BLACK }) }),
125
+ /* @__PURE__ */ r(J, { src: u.STAR_OUTLINED }),
126
+ /* @__PURE__ */ r(Z, { src: u.HEART_OUTLINED }),
127
+ /* @__PURE__ */ r(ee, { src: u.EQUAL_OUTLINED }),
128
+ /* @__PURE__ */ r(re, { src: u.TROPHY_OUTLINED }),
129
+ /* @__PURE__ */ r(
130
+ te,
131
+ {
132
+ withLoader: !0,
133
+ src: G,
134
+ width: e ? 154 : 238,
135
+ height: e ? 154 : 238
136
+ }
137
+ ),
138
+ w && /* @__PURE__ */ t(P, { children: [
139
+ /* @__PURE__ */ r(x, { heightX: e ? 0.75 : 1.5 }),
140
+ /* @__PURE__ */ r(c, { $renderAs: "ac2-black", $color: "BLACK_1", $align: "center", children: w })
141
+ ] }),
142
+ !e && _()
143
+ ]
144
+ }
145
+ ),
146
+ /* @__PURE__ */ t(ne, { children: [
147
+ A({
148
+ value: `${R}+`,
149
+ label: "Yrs of Teaching Experience",
150
+ mobileLabel: "Years of Teaching"
151
+ }),
152
+ A({
153
+ value: `${v}+`,
154
+ label: "Students Taught"
155
+ }),
156
+ U && A({
157
+ value: e && C ? C : $,
158
+ label: `In ${h}`,
159
+ mobileLabel: h,
160
+ valueRenderAs: "ab1-black"
161
+ }),
162
+ /* @__PURE__ */ r(
163
+ N,
164
+ {
165
+ $justifyContent: "center",
166
+ $gutter: 24,
167
+ $flexDirection: e ? "row" : "column",
168
+ $background: e ? "YELLOW_4" : "TRANSPARENT",
169
+ children: M()
170
+ }
171
+ )
172
+ ] })
173
+ ]
174
+ }
175
+ );
176
+ });
177
+ y.displayName = "TeacherProfile";
178
+ const _e = y;
61
179
  export {
62
- W as default
180
+ _e as default
63
181
  };
64
182
  //# sourceMappingURL=teacher-profile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"teacher-profile.js","sources":["../../../../../../src/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.tsx"],"sourcesContent":["import type { ITeacherProfileDetails } from '../../../trial-session-types';\nimport type { FC } from 'react';\n\nimport { memo, useMemo } from 'react';\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 { COUNTRY_FLAGS } from '../teacher-intro-constants';\nimport * as Styled from './teacher-profile-styled';\n\ninterface ITeacherProfileProps {\n teacherProfile?: ITeacherProfileDetails;\n}\n\nconst TeacherProfile: FC<ITeacherProfileProps> = memo(({ teacherProfile }) => {\n const {\n degree,\n countries,\n lower_grade: lowerGrade,\n higher_grade: higherGrade,\n header_image: headerImage,\n years_of_experience: yearsOfExperience,\n number_of_students_taught: numberOfStudentsTaught,\n } = teacherProfile || {};\n const { degree_name: degreeName, field_of_study: fieldOfStudy } = degree || {};\n\n const countryFlagArray = Object.values(COUNTRY_FLAGS);\n const isHighSchool = higherGrade && parseInt(higherGrade, 10) > 8;\n\n const displayGrade = useMemo(() => {\n return isHighSchool\n ? 'High School'\n : ` ${lowerGrade === 'K' ? '' : 'G'}${lowerGrade} - G${higherGrade}`;\n }, [isHighSchool, higherGrade, lowerGrade]);\n\n return (\n <FlexView $flexDirection=\"row\" $borderColor=\"BLACK_T_87\" $background=\"WHITE_3\">\n <Styled.ProfilePicture withLoader src={headerImage} width={350} height={350} />\n <Styled.GridContainer>\n <Styled.GridItem $justifyContent=\"center\" $gutter={24}>\n <Text $renderAs=\"ah3-black\">{yearsOfExperience}+</Text>\n <Text $renderAs=\"ub3\">Yrs of Teaching Experience</Text>\n </Styled.GridItem>\n <Styled.GridItem $justifyContent=\"center\" $gutter={24}>\n <Text $renderAs=\"ah3-black\">{numberOfStudentsTaught}+</Text>\n <Text $renderAs=\"ub3\">Students Taught</Text>\n </Styled.GridItem>\n {degreeName && fieldOfStudy && (\n <Styled.GridItem $justifyContent=\"center\" $gutter={24}>\n <Text $renderAs=\"ab1-black\">{degreeName}</Text>\n <Text $renderAs=\"ub3\">In {fieldOfStudy}</Text>\n </Styled.GridItem>\n )}\n <Styled.GridItem $justifyContent=\"center\" $gutter={24}>\n <Text $renderAs=\"ab1-black\">Teaching {displayGrade} kids in</Text>\n <Separator height={12} />\n <FlexView $flexDirection=\"row\" $flexGap={16} $flexWrap>\n {countries &&\n countries.length > 0 &&\n countries.map(country => {\n const countryFlag = countryFlagArray.find(item => item.name === country);\n const { flag_icon: flagIcon = '', label, name } = countryFlag || {};\n\n return (\n <FlexView key={name} $flexDirection=\"row\" $flexGap={4}>\n <Image src={flagIcon} width={30} height={20} withLoader={false} />\n <Text $renderAs=\"ab3-black\">{label}</Text>\n </FlexView>\n );\n })}\n </FlexView>\n </Styled.GridItem>\n </Styled.GridContainer>\n </FlexView>\n );\n});\n\nexport default TeacherProfile;\n"],"names":["TeacherProfile","memo","teacherProfile","degree","countries","lowerGrade","higherGrade","headerImage","yearsOfExperience","numberOfStudentsTaught","degreeName","fieldOfStudy","countryFlagArray","COUNTRY_FLAGS","isHighSchool","displayGrade","useMemo","FlexView","jsx","Styled.ProfilePicture","jsxs","Styled.GridContainer","Styled.GridItem","Text","Separator","country","countryFlag","item","flagIcon","label","name","Image","TeacherProfile$1"],"mappings":"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"}
1
+ {"version":3,"file":"teacher-profile.js","sources":["../../../../../../src/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.tsx"],"sourcesContent":["import type { TTextVariants } from '../../../../ui/types';\nimport type { ITeacherProfileProps } from './teacher-profile-types';\nimport type { FC } from 'react';\n\nimport { memo, useCallback, useMemo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ILLUSTRATIONS } from '../../../../../assets/illustrations/illustrations';\nimport CuemathLogo from '../../../../../assets/line-icons/icons/cuemath-logo';\nimport Button from '../../../../ui/buttons/button/button';\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 { COUNTRY_FLAGS } from '../teacher-intro-constants';\nimport { formatCountryList } from './teacher-profile-helpers';\nimport * as Styled from './teacher-profile-styled';\n\nconst countryFlagArray = Object.values(COUNTRY_FLAGS);\n\nconst TeacherProfile: FC<ITeacherProfileProps> = memo(({ teacherProfile }) => {\n const {\n degree,\n countries,\n lower_grade: lowerGrade,\n higher_grade: higherGrade,\n header_image: headerImage,\n years_of_experience: yearsOfExperience,\n number_of_students_taught: numberOfStudentsTaught,\n first_name: firstName,\n last_name: lastName,\n teacher_profile_url: teacherProfileUrl,\n } = teacherProfile || {};\n\n const {\n degree_name: degreeName,\n field_of_study: fieldOfStudy,\n degree_code: degreeCode,\n } = degree || {};\n\n const theme = useTheme();\n const isMobile = useMemo(() => theme.device <= EDeviceType.MOBILE, [theme.device]);\n const isHighSchool = useMemo(() => higherGrade && parseInt(higherGrade, 10) > 8, [higherGrade]);\n const teacherName = useMemo(\n () => (firstName ? `${firstName} ${lastName}`.trim() : ''),\n [firstName, lastName],\n );\n\n const displayGrade = useMemo(() => {\n if (isHighSchool) return 'High School';\n\n if (!lowerGrade || !higherGrade) return '';\n\n return ` ${lowerGrade === 'K' ? '' : 'G'}${lowerGrade} - G${higherGrade}`;\n }, [isHighSchool, higherGrade, lowerGrade]);\n\n const hasValidCountries = useMemo(() => countries && countries.length > 0, [countries]);\n\n const hasDegreeInfo = useMemo(() => degreeName && fieldOfStudy, [degreeName, fieldOfStudy]);\n\n const handleViewProfile = useCallback(() => {\n if (teacherProfileUrl) {\n window.open(teacherProfileUrl, '_blank');\n }\n }, [teacherProfileUrl]);\n\n const renderViewProfileButton = useCallback(() => {\n if (!teacherProfileUrl) return null;\n\n return (\n <>\n <Separator heightX={1.5} />\n <Button\n label=\"View profile\"\n renderAs=\"secondary\"\n shape=\"square\"\n onClick={handleViewProfile}\n size=\"small\"\n />\n </>\n );\n }, [handleViewProfile, teacherProfileUrl]);\n\n const renderStatItem = useCallback(\n ({\n value,\n label,\n mobileLabel,\n valueRenderAs = 'ah3-black',\n }: {\n value?: string | number;\n label: string;\n mobileLabel?: string;\n valueRenderAs?: TTextVariants;\n }) => (\n <Styled.GridItem\n $flex={isMobile ? 1 : 0}\n $justifyContent={isMobile ? 'flex-start' : 'center'}\n $gutter={isMobile ? 8 : 24}\n $gapX={isMobile ? 0.75 : 0}\n $alignItems={isMobile ? 'center' : 'flex-start'}\n $background={isMobile ? 'YELLOW_3' : 'TRANSPARENT'}\n >\n <Text $renderAs={valueRenderAs} $renderOnMobileAs=\"ab2-black\">\n {value}\n </Text>\n <Text $renderAs=\"ub2\" $renderOnMobileAs=\"ub3\" $align={isMobile ? 'center' : 'left'}>\n {isMobile && mobileLabel ? mobileLabel : label}\n </Text>\n </Styled.GridItem>\n ),\n [isMobile],\n );\n\n const renderCountries = useCallback(() => {\n if (!hasValidCountries) return null;\n\n if (isMobile) {\n const formattedCountries = formatCountryList(countries!);\n\n return (\n <FlexView $gapX={0.75}>\n <Text $renderOnMobileAs=\"ub3-bold\" $renderAs=\"ab3-black\">\n Teaching {displayGrade} kids in {formattedCountries}.\n </Text>\n {renderViewProfileButton()}\n {teacherProfileUrl && <Separator heightX={0.75} />}\n </FlexView>\n );\n }\n\n return (\n <FlexView $flexDirection=\"column\" $flexGap={12}>\n <Text $renderAs=\"ab1-black\" $renderOnMobileAs=\"ub3-bold\">\n Teaching {displayGrade} kids in\n </Text>\n <FlexView $flexDirection=\"row\" $flexGap={16} $flexWrap>\n {countries!.map(country => {\n const match = countryFlagArray.find(item => item.name === country);\n const { flag_icon: flagIcon = '', label = '', name } = match || {};\n\n return (\n <FlexView key={name || country} $flexDirection=\"row\" $flexGap={4}>\n <Image src={flagIcon} width={30} height={20} withLoader={false} />\n <Text $renderAs=\"ab3-black\">{label}</Text>\n </FlexView>\n );\n })}\n </FlexView>\n </FlexView>\n );\n }, [\n hasValidCountries,\n isMobile,\n displayGrade,\n countries,\n renderViewProfileButton,\n teacherProfileUrl,\n ]);\n\n return (\n <FlexView\n $flexDirection={isMobile ? 'column' : 'row'}\n $borderColor=\"BLACK_T_87\"\n $background=\"WHITE_3\"\n >\n <Styled.ProfileWrapper\n $gapX={isMobile ? 1 : 1.5}\n $gutterX={1}\n $background=\"YELLOW_4\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n {isMobile && (\n <Styled.CueLogoWrapper>\n <CuemathLogo width={54} height={8} color={theme.colors.REAL_BLACK} />\n </Styled.CueLogoWrapper>\n )}\n <Styled.PositionedAsset1 src={ILLUSTRATIONS.STAR_OUTLINED} />\n <Styled.PositionedAsset2 src={ILLUSTRATIONS.HEART_OUTLINED} />\n <Styled.PositionedAsset3 src={ILLUSTRATIONS.EQUAL_OUTLINED} />\n <Styled.PositionedAsset4 src={ILLUSTRATIONS.TROPHY_OUTLINED} />\n <Styled.ProfilePicture\n withLoader\n src={headerImage}\n width={isMobile ? 154 : 238}\n height={isMobile ? 154 : 238}\n />\n {teacherName && (\n <>\n <Separator heightX={isMobile ? 0.75 : 1.5} />\n <Text $renderAs=\"ac2-black\" $color=\"BLACK_1\" $align=\"center\">\n {teacherName}\n </Text>\n </>\n )}\n {!isMobile && renderViewProfileButton()}\n </Styled.ProfileWrapper>\n\n <Styled.GridContainer>\n {renderStatItem({\n value: `${yearsOfExperience}+`,\n label: 'Yrs of Teaching Experience',\n mobileLabel: 'Years of Teaching',\n })}\n {renderStatItem({\n value: `${numberOfStudentsTaught}+`,\n label: 'Students Taught',\n })}\n {hasDegreeInfo &&\n renderStatItem({\n value: isMobile && degreeCode ? degreeCode : degreeName,\n label: `In ${fieldOfStudy}`,\n mobileLabel: fieldOfStudy,\n valueRenderAs: 'ab1-black',\n })}\n <Styled.GridItem\n $justifyContent=\"center\"\n $gutter={24}\n $flexDirection={isMobile ? 'row' : 'column'}\n $background={isMobile ? 'YELLOW_4' : 'TRANSPARENT'}\n >\n {renderCountries()}\n </Styled.GridItem>\n </Styled.GridContainer>\n </FlexView>\n );\n});\n\nTeacherProfile.displayName = 'TeacherProfile';\n\nexport default TeacherProfile;\n"],"names":["countryFlagArray","COUNTRY_FLAGS","TeacherProfile","memo","teacherProfile","degree","countries","lowerGrade","higherGrade","headerImage","yearsOfExperience","numberOfStudentsTaught","firstName","lastName","teacherProfileUrl","degreeName","fieldOfStudy","degreeCode","theme","useTheme","isMobile","useMemo","EDeviceType","isHighSchool","teacherName","displayGrade","hasValidCountries","hasDegreeInfo","handleViewProfile","useCallback","renderViewProfileButton","jsxs","Fragment","jsx","Separator","Button","renderStatItem","value","label","mobileLabel","valueRenderAs","Styled.GridItem","Text","renderCountries","formattedCountries","formatCountryList","FlexView","country","match","item","flagIcon","name","Image","Styled.ProfileWrapper","Styled.CueLogoWrapper","CuemathLogo","Styled.PositionedAsset1","ILLUSTRATIONS","Styled.PositionedAsset2","Styled.PositionedAsset3","Styled.PositionedAsset4","Styled.ProfilePicture","Styled.GridContainer","TeacherProfile$1"],"mappings":"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"}