@cuemath/leap 3.2.9-link.0 → 3.2.9-pzd-0.1-testing

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 (185) hide show
  1. package/dist/assets/illustrations/illustrations.js +1 -6
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/lottie/lottie.js +5 -9
  4. package/dist/assets/lottie/lottie.js.map +1 -1
  5. package/dist/features/analytics-events/platform-events-student.js +2 -1
  6. package/dist/features/analytics-events/platform-events-student.js.map +1 -1
  7. package/dist/features/analytics-events/platform-events-teacher.js +6 -4
  8. package/dist/features/analytics-events/platform-events-teacher.js.map +1 -1
  9. package/dist/features/analytics-events/whitelist-events.js +10 -8
  10. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  11. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +12 -17
  12. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  13. package/dist/features/auth/comps/resend-otp/resend-otp.js +47 -54
  14. package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
  15. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js +17 -29
  16. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js.map +1 -1
  17. package/dist/features/auth/comps/tabs/tabs-styled.js +10 -22
  18. package/dist/features/auth/comps/tabs/tabs-styled.js.map +1 -1
  19. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js +19 -19
  20. package/dist/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.js.map +1 -1
  21. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js +2 -2
  22. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input-styled.js.map +1 -1
  23. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js +1 -1
  24. package/dist/features/circle-games/sign-up/comp/grade-input/grade-input.js.map +1 -1
  25. package/dist/features/circle-games/sign-up/constants.js +3 -1
  26. package/dist/features/circle-games/sign-up/constants.js.map +1 -1
  27. package/dist/features/communication/pub-sub/constants.js +7 -4
  28. package/dist/features/communication/pub-sub/constants.js.map +1 -1
  29. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js +42 -42
  30. package/dist/features/cue-canvas/hooks/use-canvas-sync-broker.js.map +1 -1
  31. package/dist/features/homework/homework-card-view.js +85 -97
  32. package/dist/features/homework/homework-card-view.js.map +1 -1
  33. package/dist/features/homework/homework-card.js +44 -42
  34. package/dist/features/homework/homework-card.js.map +1 -1
  35. package/dist/features/homework/hw-card-list/hw-card-list-view.js +31 -29
  36. package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
  37. package/dist/features/homework/hw-card-list/hw-card-list.js +57 -50
  38. package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -1
  39. package/dist/features/homework/utils.js +33 -27
  40. package/dist/features/homework/utils.js.map +1 -1
  41. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js +17 -11
  42. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js.map +1 -1
  43. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-assigned.js +72 -0
  44. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-assigned.js.map +1 -0
  45. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.js +59 -0
  46. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.js.map +1 -0
  47. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js +63 -0
  48. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js.map +1 -0
  49. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-intro-journey.js +67 -0
  50. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-intro-journey.js.map +1 -0
  51. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-progress-journey.js +70 -0
  52. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-progress-journey.js.map +1 -0
  53. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-review-journey.js +59 -0
  54. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-review-journey.js.map +1 -0
  55. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey.js +59 -0
  56. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey.js.map +1 -0
  57. package/dist/features/journey/hooks/use-puzzles-journey/use-teacher-puzzle-assigned-journey.js +70 -0
  58. package/dist/features/journey/hooks/use-puzzles-journey/use-teacher-puzzle-assigned-journey.js.map +1 -0
  59. package/dist/features/journey/journey-id/journey-id-student.js +2 -2
  60. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  61. package/dist/features/journey/journey-id/journey-id-teacher.js +2 -2
  62. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
  63. package/dist/features/puzzles/api/puzzle-dashboard.js +10 -0
  64. package/dist/features/puzzles/api/puzzle-dashboard.js.map +1 -0
  65. package/dist/features/puzzles/comps/puzzle-card-styled.js +24 -69
  66. package/dist/features/puzzles/comps/puzzle-card-styled.js.map +1 -1
  67. package/dist/features/puzzles/comps/puzzle-card.js +72 -30
  68. package/dist/features/puzzles/comps/puzzle-card.js.map +1 -1
  69. package/dist/features/puzzles/constants/puzzle-container.js +8 -0
  70. package/dist/features/puzzles/constants/puzzle-container.js.map +1 -0
  71. package/dist/features/puzzles/puzzle-analytics-events.js +11 -0
  72. package/dist/features/puzzles/puzzle-analytics-events.js.map +1 -0
  73. package/dist/features/puzzles/puzzle-container/puzzle-container-styled.js +55 -25
  74. package/dist/features/puzzles/puzzle-container/puzzle-container-styled.js.map +1 -1
  75. package/dist/features/puzzles/puzzle-container/puzzle-container-view.js +55 -0
  76. package/dist/features/puzzles/puzzle-container/puzzle-container-view.js.map +1 -0
  77. package/dist/features/puzzles/puzzle-container/puzzle-container.js +98 -108
  78. package/dist/features/puzzles/puzzle-container/puzzle-container.js.map +1 -1
  79. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard-styled.js +37 -0
  80. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard-styled.js.map +1 -0
  81. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js +110 -0
  82. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js.map +1 -0
  83. package/dist/features/puzzles/utils/puzzle-pattern.js +28 -13
  84. package/dist/features/puzzles/utils/puzzle-pattern.js.map +1 -1
  85. package/dist/features/ui/error/error.js +65 -27
  86. package/dist/features/ui/error/error.js.map +1 -1
  87. package/dist/features/ui/image/image.js +1 -1
  88. package/dist/features/ui/image/image.js.map +1 -1
  89. package/dist/features/ui/inputs/base-input/base-input.js +11 -11
  90. package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
  91. package/dist/features/ui/inputs/text-input/text-input.js +18 -19
  92. package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
  93. package/dist/features/ui/modals/modal-styled.js +35 -28
  94. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  95. package/dist/features/ui/modals/modal.js +40 -14
  96. package/dist/features/ui/modals/modal.js.map +1 -1
  97. package/dist/features/ui/streak-icon/streak-icon-styled.js +13 -13
  98. package/dist/features/ui/streak-icon/streak-icon-styled.js.map +1 -1
  99. package/dist/features/ui/streak-icon/streak-icon.js +17 -15
  100. package/dist/features/ui/streak-icon/streak-icon.js.map +1 -1
  101. package/dist/features/ui/theme/button.js +78 -78
  102. package/dist/features/ui/theme/button.js.map +1 -1
  103. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js +28 -0
  104. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js.map +1 -0
  105. package/dist/features/worksheet/worksheet/worksheet-helpers.js +20 -19
  106. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  107. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js +29 -25
  108. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  109. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js +97 -47
  110. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
  111. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +204 -196
  112. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  113. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +242 -207
  114. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  115. package/dist/features/worksheet/worksheet/worksheet-styled.js +37 -37
  116. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  117. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  118. package/dist/features/worksheet/worksheet/worksheet.js +307 -313
  119. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  120. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +1 -1
  121. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  122. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +44 -35
  123. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  124. package/dist/index.d.ts +89 -97
  125. package/dist/index.js +517 -531
  126. package/dist/index.js.map +1 -1
  127. package/dist/static/puzzle-blue-lottie.7017e2e8.json +1 -0
  128. package/dist/static/puzzle-blue-lottie.bf64ebc5.json +12760 -0
  129. package/dist/static/puzzle-dashboard-banner.b7956519.svg +1 -0
  130. package/dist/static/puzzle-green-lottie.1da90698.json +1 -0
  131. package/dist/static/puzzle-orange-lottie.cfcf3724.json +1 -0
  132. package/dist/static/puzzle-purple-lottie.e70de110.json +9860 -0
  133. package/dist/static/puzzle-yellow-lottie.275b5cf4.json +1 -0
  134. package/package.json +3 -2
  135. package/dist/assets/line-icons/icons/after-noon.js +0 -34
  136. package/dist/assets/line-icons/icons/after-noon.js.map +0 -1
  137. package/dist/assets/line-icons/icons/apple-icon-white.js +0 -42
  138. package/dist/assets/line-icons/icons/apple-icon-white.js.map +0 -1
  139. package/dist/assets/line-icons/icons/evening.js +0 -35
  140. package/dist/assets/line-icons/icons/evening.js.map +0 -1
  141. package/dist/assets/line-icons/icons/morning.js +0 -35
  142. package/dist/assets/line-icons/icons/morning.js.map +0 -1
  143. package/dist/assets/line-icons/icons/star3.js +0 -32
  144. package/dist/assets/line-icons/icons/star3.js.map +0 -1
  145. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js +0 -12
  146. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js.map +0 -1
  147. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +0 -33
  148. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +0 -1
  149. package/dist/features/auth/comps/otp-input/otp-input-styled.js +0 -22
  150. package/dist/features/auth/comps/otp-input/otp-input-styled.js.map +0 -1
  151. package/dist/features/auth/comps/otp-input/otp-input.js +0 -51
  152. package/dist/features/auth/comps/otp-input/otp-input.js.map +0 -1
  153. package/dist/features/auth/comps/pill-button/pill-button-styled.js +0 -63
  154. package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +0 -1
  155. package/dist/features/auth/comps/pill-button/pill-button.js +0 -66
  156. package/dist/features/auth/comps/pill-button/pill-button.js.map +0 -1
  157. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js +0 -17
  158. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js.map +0 -1
  159. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js +0 -60
  160. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js.map +0 -1
  161. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-constants.js +0 -19
  162. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-constants.js.map +0 -1
  163. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-styled.js +0 -22
  164. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-styled.js.map +0 -1
  165. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide.js +0 -18
  166. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide.js.map +0 -1
  167. package/dist/features/auth/signup-v2/signup-header/signup-header.js +0 -25
  168. package/dist/features/auth/signup-v2/signup-header/signup-header.js.map +0 -1
  169. package/dist/features/auth/signup-v2/signup-options/signup-options.js +0 -71
  170. package/dist/features/auth/signup-v2/signup-options/signup-options.js.map +0 -1
  171. package/dist/static/calendar-purple.1a840b41.svg +0 -1
  172. package/dist/static/flying-disk.c7f6ed39.json +0 -1
  173. package/dist/static/graduation-cap.3be3340a.json +0 -1
  174. package/dist/static/handshake.287e7dfb.svg +0 -1
  175. package/dist/static/light-bulb.c6db0b23.json +0 -1
  176. package/dist/static/money.332aacf1.svg +0 -1
  177. package/dist/static/muscle.9bcfb8a7.json +0 -1
  178. package/dist/static/parent-avatar.822c7b9b.svg +0 -1
  179. package/dist/static/pencil.23df9da0.json +0 -1
  180. package/dist/static/plus-sign.de6af957.json +0 -1
  181. package/dist/static/racing-car.2cbf864e.json +0 -1
  182. package/dist/static/rocket.0a3ccab0.json +0 -1
  183. package/dist/static/shovel.abeec04c.json +0 -1
  184. package/dist/static/stripe-blurple.6abf422f.svg +0 -1
  185. package/dist/static/trustpilot.bd3d79e1.svg +0 -1
@@ -1,35 +1,23 @@
1
- import { jsxs as l, jsx as n } from "react/jsx-runtime";
2
- import { memo as s, useCallback as m } from "react";
3
- import $ from "../../../../ui/text/text.js";
4
- import { TabWrapper as d, Icon as a } from "../tabs-styled.js";
5
- const f = ({ tab: o, isSelected: e, onChange: r }) => {
6
- const { Icon: t, iconPosition: i = "left" } = o, c = m(() => {
7
- r(o.id);
8
- }, [o.id, r]);
9
- return /* @__PURE__ */ l(
10
- d,
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { memo as m, useCallback as c } from "react";
3
+ import { TabsText as i } from "../tabs-styled.js";
4
+ const n = ({ tab: e, isSelected: o, onChange: r }) => {
5
+ const l = c(() => {
6
+ r(e.id);
7
+ }, [e.id, r]);
8
+ return /* @__PURE__ */ t(
9
+ i,
11
10
  {
12
- $selected: e,
13
- $flexDirection: "row",
14
- $alignItems: "center",
15
- $justifyContent: "center",
16
- children: [
17
- t ? /* @__PURE__ */ n(a, { $selected: e, $iconPosition: i, children: /* @__PURE__ */ n(t, {}) }) : void 0,
18
- /* @__PURE__ */ n(
19
- $,
20
- {
21
- $renderAs: e ? "ub2-bold" : "ub2",
22
- $align: "center",
23
- onClick: c,
24
- $color: "WHITE",
25
- children: o.label
26
- }
27
- )
28
- ]
11
+ $renderAs: o ? "ub2-bold" : "ub2",
12
+ $align: "center",
13
+ $selected: o,
14
+ onClick: l,
15
+ $color: "WHITE",
16
+ children: e.label
29
17
  }
30
18
  );
31
- }, x = s(f);
19
+ }, b = m(n);
32
20
  export {
33
- x as default
21
+ b as default
34
22
  };
35
23
  //# sourceMappingURL=tab-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tab-item.js","sources":["../../../../../../src/features/auth/comps/tabs/tab-tem/tab-item.tsx"],"sourcesContent":["import type { ITabItemProps } from '../tabs-types';\n\nimport { memo, useCallback } from 'react';\n\nimport Text from '../../../../ui/text/text';\nimport * as Styled from '../tabs-styled';\n\nconst TabItem = ({ tab, isSelected, onChange }: ITabItemProps) => {\n const { Icon, iconPosition = 'left' } = tab;\n\n const handleClick = useCallback(() => {\n onChange(tab.id);\n }, [tab.id, onChange]);\n\n return (\n <Styled.TabWrapper\n $selected={isSelected}\n $flexDirection=\"row\"\n $alignItems=\"center\"\n $justifyContent=\"center\"\n >\n {Icon ? (\n <Styled.Icon $selected={isSelected} $iconPosition={iconPosition}>\n <Icon />\n </Styled.Icon>\n ) : undefined}\n <Text\n $renderAs={isSelected ? 'ub2-bold' : 'ub2'}\n $align=\"center\"\n onClick={handleClick}\n $color=\"WHITE\"\n >\n {tab.label}\n </Text>\n </Styled.TabWrapper>\n );\n};\n\nexport default memo(TabItem);\n"],"names":["TabItem","tab","isSelected","onChange","Icon","iconPosition","handleClick","useCallback","jsxs","Styled.TabWrapper","jsx","Styled.Icon","Text","TabItem$1","memo"],"mappings":";;;;AAOA,MAAMA,IAAU,CAAC,EAAE,KAAAC,GAAK,YAAAC,GAAY,UAAAC,QAA8B;AAChE,QAAM,EAAEC,MAAAA,GAAM,cAAAC,IAAe,OAAA,IAAWJ,GAElCK,IAAcC,EAAY,MAAM;AACpC,IAAAJ,EAASF,EAAI,EAAE;AAAA,EACd,GAAA,CAACA,EAAI,IAAIE,CAAQ,CAAC;AAGnB,SAAA,gBAAAK;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAWP;AAAA,MACX,gBAAe;AAAA,MACf,aAAY;AAAA,MACZ,iBAAgB;AAAA,MAEf,UAAA;AAAA,QACCE,IAAA,gBAAAM,EAACC,GAAA,EAAY,WAAWT,GAAY,eAAeG,GACjD,UAAA,gBAAAK,EAACN,GAAK,CAAA,CAAA,EACR,CAAA,IACE;AAAA,QACJ,gBAAAM;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,WAAWV,IAAa,aAAa;AAAA,YACrC,QAAO;AAAA,YACP,SAASI;AAAA,YACT,QAAO;AAAA,YAEN,UAAIL,EAAA;AAAA,UAAA;AAAA,QACP;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEeY,IAAAC,EAAKd,CAAO;"}
1
+ {"version":3,"file":"tab-item.js","sources":["../../../../../../src/features/auth/comps/tabs/tab-tem/tab-item.tsx"],"sourcesContent":["import type { ITabItemProps } from '../tabs-types';\n\nimport { memo, useCallback } from 'react';\n\nimport * as Styled from '../tabs-styled';\n\nconst TabItem = ({ tab, isSelected, onChange }: ITabItemProps) => {\n const handleClick = useCallback(() => {\n onChange(tab.id);\n }, [tab.id, onChange]);\n\n return (\n <Styled.TabsText\n $renderAs={isSelected ? 'ub2-bold' : 'ub2'}\n $align=\"center\"\n $selected={isSelected}\n onClick={handleClick}\n $color=\"WHITE\"\n >\n {tab.label}\n </Styled.TabsText>\n );\n};\n\nexport default memo(TabItem);\n"],"names":["TabItem","tab","isSelected","onChange","handleClick","useCallback","jsx","Styled.TabsText","TabItem$1","memo"],"mappings":";;;AAMA,MAAMA,IAAU,CAAC,EAAE,KAAAC,GAAK,YAAAC,GAAY,UAAAC,QAA8B;AAC1D,QAAAC,IAAcC,EAAY,MAAM;AACpC,IAAAF,EAASF,EAAI,EAAE;AAAA,EACd,GAAA,CAACA,EAAI,IAAIE,CAAQ,CAAC;AAGnB,SAAA,gBAAAG;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAWL,IAAa,aAAa;AAAA,MACrC,QAAO;AAAA,MACP,WAAWA;AAAA,MACX,SAASE;AAAA,MACT,QAAO;AAAA,MAEN,UAAIH,EAAA;AAAA,IAAA;AAAA,EAAA;AAGX,GAEeO,IAAAC,EAAKT,CAAO;"}
@@ -1,35 +1,23 @@
1
- import e from "styled-components";
2
- import i from "../../../ui/layout/flex-view.js";
3
- const d = e.div(({ theme: o, $tabsCount: r }) => {
4
- const { colors: t } = o;
1
+ import s from "styled-components";
2
+ import p from "../../../ui/text/text.js";
3
+ const d = s.div(({ theme: r, $tabsCount: o }) => {
4
+ const { colors: t } = r;
5
5
  return `
6
6
  display: grid;
7
7
  background: ${t.BLACK_4};
8
- grid-template-columns: repeat(${r}, 1fr);
8
+ grid-template-columns: repeat(${o}, 1fr);
9
9
  `;
10
- }), c = e(i)(({ theme: o, $selected: r }) => {
11
- const { layout: t, colors: s } = o, { WHITE_T_15: n, WHITE: p } = s;
10
+ }), l = s(p)(({ theme: r, $selected: o }) => {
11
+ const { layout: t, colors: e } = r, { WHITE_T_15: n, WHITE: a } = e;
12
12
  return `
13
13
  cursor: pointer;
14
14
  padding: ${t.gutter * 0.875}px 0;
15
- border-bottom: 1.5px solid ${r ? p : n};
15
+ border-bottom: 1.5px solid ${o ? a : n};
16
16
  transition: all 0.3s ease;
17
17
  `;
18
- }), g = e.div(({ theme: o, $iconPosition: r, $selected: t }) => `
19
- ${r === "left" ? "padding-right" : "padding-left"}: 4px;
20
- order: ${r === "left" ? -1 : 1};
21
-
22
- & svg {
23
- display: ${t ? "block" : "none"};
24
- width: 16px;
25
- height: 16px;
26
- color: ${o.colors.WHITE_1};
27
- transition: color 0.2s ease-in-out;
28
- }
29
- `);
18
+ });
30
19
  export {
31
- g as Icon,
32
- c as TabWrapper,
20
+ l as TabsText,
33
21
  d as TabsWrapper
34
22
  };
35
23
  //# sourceMappingURL=tabs-styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs-styled.js","sources":["../../../../../src/features/auth/comps/tabs/tabs-styled.tsx"],"sourcesContent":["import type { ITabItem } from './tabs-types';\n\nimport styled from 'styled-components';\n\nimport FlexView from '../../../ui/layout/flex-view';\n\ninterface TabsWrapperProps {\n $tabsCount: number;\n}\n\nconst TabsWrapper = styled.div<TabsWrapperProps>(({ theme, $tabsCount }) => {\n const { colors } = theme;\n\n return `\n display: grid;\n background: ${colors.BLACK_4};\n grid-template-columns: repeat(${$tabsCount}, 1fr);\n `;\n});\n\ninterface ITabsText {\n $selected?: boolean;\n}\n\nconst TabWrapper = styled(FlexView)<ITabsText>(({ theme, $selected }) => {\n const { layout, colors } = theme;\n const { WHITE_T_15, WHITE } = colors;\n\n return `\n cursor: pointer;\n padding: ${layout.gutter * 0.875}px 0;\n border-bottom: 1.5px solid ${$selected ? WHITE : WHITE_T_15};\n transition: all 0.3s ease;\n `;\n});\n\ninterface IStyledIconProps {\n $iconPosition: NonNullable<ITabItem['iconPosition']>;\n $selected: boolean;\n}\n\nconst Icon = styled.div<IStyledIconProps>(({ theme, $iconPosition, $selected }) => {\n return `\n ${$iconPosition === 'left' ? 'padding-right' : 'padding-left'}: 4px;\n order: ${$iconPosition === 'left' ? -1 : 1};\n \n & svg {\n display: ${$selected ? 'block' : 'none'};\n width: 16px;\n height: 16px;\n color: ${theme.colors.WHITE_1};\n transition: color 0.2s ease-in-out;\n }\n `;\n});\n\nexport { TabsWrapper, Icon, TabWrapper };\n"],"names":["TabsWrapper","styled","theme","$tabsCount","colors","TabWrapper","FlexView","$selected","layout","WHITE_T_15","WHITE","Icon","$iconPosition"],"mappings":";;AAUA,MAAMA,IAAcC,EAAO,IAAsB,CAAC,EAAE,OAAAC,GAAO,YAAAC,QAAiB;AACpE,QAAA,EAAE,QAAAC,EAAW,IAAAF;AAEZ,SAAA;AAAA;AAAA,kBAESE,EAAO,OAAO;AAAA,oCACID,CAAU;AAAA;AAE9C,CAAC,GAMKE,IAAaJ,EAAOK,CAAQ,EAAa,CAAC,EAAE,OAAAJ,GAAO,WAAAK,QAAgB;AACjE,QAAA,EAAE,QAAAC,GAAQ,QAAAJ,EAAW,IAAAF,GACrB,EAAE,YAAAO,GAAY,OAAAC,EAAU,IAAAN;AAEvB,SAAA;AAAA;AAAA,eAEMI,EAAO,SAAS,KAAK;AAAA,iCACHD,IAAYG,IAAQD,CAAU;AAAA;AAAA;AAG/D,CAAC,GAOKE,IAAOV,EAAO,IAAsB,CAAC,EAAE,OAAAC,GAAO,eAAAU,GAAe,WAAAL,QAC1D;AAAA,MACHK,MAAkB,SAAS,kBAAkB,cAAc;AAAA,aACpDA,MAAkB,SAAS,KAAK,CAAC;AAAA;AAAA;AAAA,iBAG7BL,IAAY,UAAU,MAAM;AAAA;AAAA;AAAA,eAG9BL,EAAM,OAAO,OAAO;AAAA;AAAA;AAAA,OAIlC;"}
1
+ {"version":3,"file":"tabs-styled.js","sources":["../../../../../src/features/auth/comps/tabs/tabs-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport Text from '../../../ui/text/text';\n\ninterface TabsWrapperProps {\n $tabsCount: number;\n}\n\nconst TabsWrapper = styled.div<TabsWrapperProps>(({ theme, $tabsCount }) => {\n const { colors } = theme;\n\n return `\n display: grid;\n background: ${colors.BLACK_4};\n grid-template-columns: repeat(${$tabsCount}, 1fr);\n `;\n});\n\ninterface ITabsText {\n $selected?: boolean;\n}\n\nconst TabsText = styled(Text)<ITabsText>(({ theme, $selected }) => {\n const { layout, colors } = theme;\n const { WHITE_T_15, WHITE } = colors;\n\n return `\n cursor: pointer;\n padding: ${layout.gutter * 0.875}px 0;\n border-bottom: 1.5px solid ${$selected ? WHITE : WHITE_T_15};\n transition: all 0.3s ease;\n `;\n});\n\nexport { TabsWrapper, TabsText };\n"],"names":["TabsWrapper","styled","theme","$tabsCount","colors","TabsText","Text","$selected","layout","WHITE_T_15","WHITE"],"mappings":";;AAQA,MAAMA,IAAcC,EAAO,IAAsB,CAAC,EAAE,OAAAC,GAAO,YAAAC,QAAiB;AACpE,QAAA,EAAE,QAAAC,EAAW,IAAAF;AAEZ,SAAA;AAAA;AAAA,kBAESE,EAAO,OAAO;AAAA,oCACID,CAAU;AAAA;AAE9C,CAAC,GAMKE,IAAWJ,EAAOK,CAAI,EAAa,CAAC,EAAE,OAAAJ,GAAO,WAAAK,QAAgB;AAC3D,QAAA,EAAE,QAAAC,GAAQ,QAAAJ,EAAW,IAAAF,GACrB,EAAE,YAAAO,GAAY,OAAAC,EAAU,IAAAN;AAEvB,SAAA;AAAA;AAAA,eAEMI,EAAO,SAAS,KAAK;AAAA,iCACHD,IAAYG,IAAQD,CAAU;AAAA;AAAA;AAG/D,CAAC;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as t, Fragment as G } from "react/jsx-runtime";
2
- import { useRef as H, useCallback as m, useMemo as pe, useEffect as _e } from "react";
2
+ import { useRef as H, useCallback as g, useMemo as pe, useEffect as _e } from "react";
3
3
  import ae from "../../../../../assets/line-icons/icons/carat-right.js";
4
4
  import { PLATFORM_EVENTS_STUDENT as ce } from "../../../../analytics-events/platform-events-student.js";
5
5
  import { JOURNEY_ID_STUDENT as U } from "../../../../journey/journey-id/journey-id-student.js";
@@ -14,48 +14,48 @@ import { CIRCLE_ONBOARDING_ANALYTICS_STEPS as s } from "../../../enum/circle-onb
14
14
  import { useCircleSounds as Ae } from "../../../hooks/use-circle-sounds/use-circle-sounds.js";
15
15
  import { SegmentedGameCard as Te } from "../../comps/segmented-game-card/segmented-game-card.js";
16
16
  import { GAME_LAUNCHER_ANALYTICS_EVENTS as he } from "../../game-launcher-analytics-events.js";
17
- import { GO_TO_NEXT_SLIDE_AFTER_MS as Le, SHOW_LABEL_HIGHLIGHT_AFTER_MS as Re, SHOW_NUDGE_AFTER_MS as ge, SLIDE_TO_LESSON_MS as Oe } from "./constants.js";
18
- import { ProjectType as me } from "../../../games/web-view/enums/project-type-enum.js";
17
+ import { GO_TO_NEXT_SLIDE_AFTER_MS as Le, SHOW_LABEL_HIGHLIGHT_AFTER_MS as Re, SHOW_NUDGE_AFTER_MS as me, SLIDE_TO_LESSON_MS as Oe } from "./constants.js";
18
+ import { ProjectType as ge } from "../../../games/web-view/enums/project-type-enum.js";
19
19
  const $e = ({
20
20
  carouselRefs: i,
21
21
  onSegmentClick: f,
22
22
  onJourneyComplete: A
23
23
  }) => {
24
- const { device: se } = fe(), h = se === "mobile", L = h ? "ab3-bold" : "ab2-bold", n = H(null), l = H(null), a = H(null), u = H([]), { playButtonSound: k } = Ae(), { nextCoachmark: g, setJourney: Y, endJourney: R } = Ie(), { onEvent: O } = Ce(), w = m(
24
+ const { device: se } = fe(), h = se === "mobile", L = h ? "ab3-bold" : "ab2-bold", n = H(null), l = H(null), a = H(null), u = H([]), { playButtonSound: k } = Ae(), { nextCoachmark: m, setJourney: Y, endJourney: R } = Ie(), { onEvent: O } = Ce(), w = g(
25
25
  (e) => {
26
26
  O(ce.ONBOARDING_STEP_VIEWED, {
27
27
  step: e
28
28
  });
29
29
  },
30
30
  [O]
31
- ), N = m(
31
+ ), N = g(
32
32
  (e) => {
33
33
  O(ce.ONBOARDING_STEP_COMPLETED, {
34
34
  step: e
35
35
  });
36
36
  },
37
37
  [O]
38
- ), E = m(
38
+ ), E = g(
39
39
  (e, r, c, S = !1, b) => {
40
40
  var _, I;
41
- S || (k(), (I = i.current) == null || I.goToIndex(((_ = i.current) == null ? void 0 : _.currentIndex) + 1), g(b, !1, Le)), w(e);
41
+ S || (k(), (I = i.current) == null || I.goToIndex(((_ = i.current) == null ? void 0 : _.currentIndex) + 1), m(b, !1, Le)), w(e);
42
42
  const p = setTimeout(() => {
43
43
  clearTimeout(p), r.startLabelAnimation(c);
44
44
  }, Re);
45
- u.current.push(p), g(b, !0, ge);
45
+ u.current.push(p), m(b, !0, me);
46
46
  },
47
- [i, g, k, w]
48
- ), x = m(
47
+ [i, m, k, w]
48
+ ), x = g(
49
49
  (e, r) => {
50
- f(e, me.PUZZLE), N(s.PUZZLE_ACTIVITY), R(r), A(r);
50
+ f(e, ge.PUZZLE), N(s.PUZZLE_ACTIVITY), R(r), A(r);
51
51
  },
52
52
  [R, A, f, N]
53
- ), v = m(
53
+ ), v = g(
54
54
  (e, r) => {
55
- f(e, me.LESSON), N(s.SKILL_ACTIVITY), R(r), A(r);
55
+ f(e, ge.LESSON), N(s.SKILL_ACTIVITY), R(r), A(r);
56
56
  },
57
57
  [R, A, f, N]
58
- ), y = m(
58
+ ), y = g(
59
59
  (e, r, c) => {
60
60
  var M, W, $, D, X, F, Z, K, q, Q, z, j, ee, te, re, ne, ie, oe, le;
61
61
  const S = !!c, b = !!r;
@@ -119,7 +119,7 @@ const $e = ({
119
119
  Te,
120
120
  {
121
121
  label: "",
122
- value: c.data.filter((o) => o.status === "pending").length,
122
+ value: c.data.filter((o) => o.status === "completed").length,
123
123
  maxValue: c.data.length,
124
124
  initialValue: c.initialProgressValue,
125
125
  data: c.data.map((o) => ({
@@ -222,15 +222,15 @@ const $e = ({
222
222
  Y(e, V);
223
223
  (oe = i.current) == null || oe.goToIndex(0);
224
224
  const J = setTimeout(() => {
225
- clearTimeout(J), g(e);
225
+ clearTimeout(J), m(e);
226
226
  }, Oe);
227
227
  if (u.current.push(J), e === U.CIRCLE_ACTIVITIES_INTRO_JOURNEY)
228
228
  S && n.current ? E(s.SKILL_ACTIVITY, n.current, "BLUE_4", !0, e) : E(s.GAMES_ACTIVITY, l.current, "ORANGE_4", !0, e);
229
229
  else {
230
230
  (le = n.current) == null || le.startLabelAnimation("BLUE_4");
231
231
  const o = setTimeout(() => {
232
- clearTimeout(o), g(e, !0);
233
- }, ge);
232
+ clearTimeout(o), m(e, !0);
233
+ }, me);
234
234
  u.current.push(o);
235
235
  }
236
236
  },
@@ -242,7 +242,7 @@ const $e = ({
242
242
  E,
243
243
  v,
244
244
  x,
245
- g
245
+ m
246
246
  ]
247
247
  ), ue = pe(
248
248
  () => ({
@@ -1 +1 @@
1
- {"version":3,"file":"use-game-launcher-journey.js","sources":["../../../../../../src/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.tsx"],"sourcesContent":["import type { TCoachmarkJourneyProps } from '../../../../journey/use-journey/journey-context-types';\nimport type { IArrowTooltipProps } from '../../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { INudgeProps } from '../../../../ui/nudge/nudge-types';\nimport type { TColorNames } from '../../../../ui/types';\nimport type { ISegmentedGameCardRefs } from '../../comps/segmented-game-card/segmented-game-card-types';\nimport type {\n IProject,\n Lesson,\n Puzzle,\n} from '../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { IUseGameLauncherJourneyProps } from './use-game-launcher-journey-types';\n\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport CaratRightIcon from '../../../../../assets/line-icons/icons/carat-right';\nimport { PLATFORM_EVENTS_STUDENT as AnalyticsLabel } from '../../../../analytics-events/platform-events-student';\nimport { JOURNEY_ID_STUDENT } from '../../../../journey/journey-id/journey-id-student';\nimport { IndicatorType } from '../../../../journey/use-journey/constants';\nimport { useJourney } from '../../../../journey/use-journey/use-journey';\nimport IconButton from '../../../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../../../ui/context/context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { getTheme } from '../../../../ui/theme/get-theme';\nimport { CIRCLE_ONBOARDING_ANALYTICS_STEPS as ActionEvent } from '../../../enum/circle-onboarding-steps';\nimport { ProjectType } from '../../../games/web-view/enums';\nimport { useCircleSounds } from '../../../hooks/use-circle-sounds/use-circle-sounds';\nimport { SegmentedGameCard } from '../../comps/segmented-game-card/segmented-game-card';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from '../../game-launcher-analytics-events';\nimport {\n GO_TO_NEXT_SLIDE_AFTER_MS,\n SHOW_LABEL_HIGHLIGHT_AFTER_MS,\n SHOW_NUDGE_AFTER_MS,\n SLIDE_TO_LESSON_MS,\n} from './constants';\n\nexport const useGameLauncherJourney = ({\n carouselRefs,\n onSegmentClick,\n onJourneyComplete,\n}: IUseGameLauncherJourneyProps) => {\n const { device } = getTheme();\n const isMobile = device === 'mobile';\n const tooltipTextRenderAs = isMobile ? 'ab3-bold' : 'ab2-bold';\n\n const lessonRefs = useRef<ISegmentedGameCardRefs>(null);\n const gameRefs = useRef<ISegmentedGameCardRefs>(null);\n const puzzleRefs = useRef<ISegmentedGameCardRefs>(null);\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n\n const { playButtonSound } = useCircleSounds();\n const { nextCoachmark, setJourney, endJourney } = useJourney();\n const { onEvent: trackAnalytics } = useUIContext();\n\n const trackEventViewed = useCallback(\n (step: ActionEvent) => {\n trackAnalytics(AnalyticsLabel.ONBOARDING_STEP_VIEWED, {\n step,\n });\n },\n [trackAnalytics],\n );\n const trackEventCompleted = useCallback(\n (step: ActionEvent) => {\n trackAnalytics(AnalyticsLabel.ONBOARDING_STEP_COMPLETED, {\n step,\n });\n },\n [trackAnalytics],\n );\n\n const goToNextCard = useCallback(\n (\n analyticsLabelViewed: ActionEvent,\n refOfNextSlide: ISegmentedGameCardRefs,\n color: TColorNames,\n isFirstSlide: boolean = false,\n journeyId: JOURNEY_ID_STUDENT,\n ) => {\n if (!isFirstSlide) {\n playButtonSound();\n carouselRefs.current?.goToIndex(carouselRefs.current?.currentIndex + 1);\n nextCoachmark(journeyId, false, GO_TO_NEXT_SLIDE_AFTER_MS);\n }\n\n trackEventViewed(analyticsLabelViewed);\n\n const animateLabelTimer = setTimeout(() => {\n clearTimeout(animateLabelTimer);\n refOfNextSlide.startLabelAnimation(color);\n }, SHOW_LABEL_HIGHLIGHT_AFTER_MS);\n\n timerRefs.current.push(animateLabelTimer); // Store to cleanup later\n\n nextCoachmark(journeyId, true, SHOW_NUDGE_AFTER_MS);\n },\n [carouselRefs, nextCoachmark, playButtonSound, trackEventViewed],\n );\n\n const handleEndJourneyForPuzzle = useCallback(\n (puzzlesData: Puzzle, journeyId: JOURNEY_ID_STUDENT) => {\n onSegmentClick(puzzlesData, ProjectType.PUZZLE);\n trackEventCompleted(ActionEvent.PUZZLE_ACTIVITY);\n endJourney(journeyId);\n onJourneyComplete(journeyId);\n },\n [endJourney, onJourneyComplete, onSegmentClick, trackEventCompleted],\n );\n\n const handleEndJourneyForLesson = useCallback(\n (lessonsData: Lesson, journeyId: JOURNEY_ID_STUDENT) => {\n onSegmentClick(lessonsData, ProjectType.LESSON);\n trackEventCompleted(ActionEvent.SKILL_ACTIVITY);\n endJourney(journeyId);\n onJourneyComplete(journeyId);\n },\n [endJourney, onJourneyComplete, onSegmentClick, trackEventCompleted],\n );\n\n const startJourney = useCallback(\n (\n journeyId: JOURNEY_ID_STUDENT,\n puzzlesData?: IProject<Puzzle>,\n lessonsData?: IProject<Lesson>,\n ) => {\n // If element refs are not available return, this is just for type safety\n const isLessonAvailable = !!lessonsData;\n const isPuzzleAvailable = !!puzzlesData;\n\n if (!lessonRefs?.current?.segmentedCardWrapperRef.current) return;\n\n if (\n (!carouselRefs?.current?.nextBtnRef.current ||\n !gameRefs?.current?.labelRef.current ||\n !puzzleRefs?.current?.labelRef.current ||\n !puzzlesData) &&\n journeyId === JOURNEY_ID_STUDENT.CIRCLE_ACTIVITIES_INTRO_JOURNEY\n ) {\n return;\n }\n\n const lessonLabelDims = lessonRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n const gameLabelDims = gameRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n const puzzleLabelDims = puzzleRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n const launcherDims =\n lessonRefs.current?.segmentedCardWrapperRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n let lessonSteps: TCoachmarkJourneyProps[] = [];\n\n if (isLessonAvailable && lessonRefs.current) {\n lessonSteps = [\n {\n originalElementToHighlightRef: lessonRefs.current.labelRef,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'top',\n backgroundColor: 'BLUE_4',\n tooltipItem: (\n <FlexView>\n <Text $renderAs={tooltipTextRenderAs}>\n Get faster & stay ahead in school. Practice 3 new skills everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: lessonLabelDims.width / 2,\n tooltipYCoOrdinates: lessonLabelDims.height + 10,\n } as IArrowTooltipProps,\n },\n journeyId === JOURNEY_ID_STUDENT.CIRCLE_ACTIVITIES_INTRO_JOURNEY\n ? {\n originalElementToHighlightRef: carouselRefs.current?.nextBtnRef,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratRightIcon}\n onClick={() =>\n goToNextCard(\n ActionEvent.GAMES_ACTIVITY,\n gameRefs.current as ISegmentedGameCardRefs,\n 'ORANGE_4',\n false,\n journeyId,\n )\n }\n analyticsLabel={GAME_LAUNCHER_ANALYTICS_EVENTS.JOURNEY_NEXT_ACTIVITY}\n />\n ),\n indicator: {\n nudge: 'click',\n content: !isMobile && (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to proceed\n </Text>\n ),\n nudgePointerX: 0,\n nudgePointerY: 0,\n } as INudgeProps,\n }\n : {\n originalElementToHighlightRef: lessonRefs.current.segmentedCardWrapperRef,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <SegmentedGameCard\n label={''} // This is intentionally left blank to avoid showing the label\n value={lessonsData.data.filter(lesson => lesson.status === 'pending').length}\n maxValue={lessonsData.data.length}\n initialValue={lessonsData.initialProgressValue}\n data={lessonsData.data.map(lesson => ({\n card: lesson.cardLottie,\n name: '', // We dont want to show the name of the puzzle in onboarding\n isCompleted: lesson.status === 'completed',\n onPress: () => handleEndJourneyForLesson(lesson, journeyId),\n }))}\n />\n ),\n indicator: {\n nudge: 'click',\n content: !isMobile && (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Tap here to get started\n </Text>\n ),\n nudgePointerX: launcherDims.width * 0.6,\n nudgePointerY: launcherDims.height * 0.4,\n } as INudgeProps,\n },\n ];\n }\n\n if (\n journeyId === JOURNEY_ID_STUDENT.CIRCLE_ACTIVITIES_INTRO_JOURNEY &&\n gameRefs.current &&\n puzzleRefs.current &&\n isPuzzleAvailable\n ) {\n const gameSteps: TCoachmarkJourneyProps[] = [\n {\n originalElementToHighlightRef: gameRefs.current.labelRef,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'top',\n backgroundColor: 'ORANGE_4',\n tooltipItem: (\n <FlexView>\n <Text $renderAs={tooltipTextRenderAs}>\n Train to think deeper & plan ahead. Play 3 new games everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: gameLabelDims.width / 2,\n tooltipYCoOrdinates: gameLabelDims.height + 10,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: carouselRefs.current.nextBtnRef,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratRightIcon}\n onClick={() =>\n goToNextCard(\n ActionEvent.PUZZLE_ACTIVITY,\n puzzleRefs.current as ISegmentedGameCardRefs,\n 'PURPLE_4',\n false,\n journeyId,\n )\n }\n analyticsLabel={GAME_LAUNCHER_ANALYTICS_EVENTS.JOURNEY_NEXT_ACTIVITY}\n />\n ),\n indicator: {\n nudge: 'click',\n content: !isMobile && (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to proceed\n </Text>\n ),\n nudgePointerX: 0,\n nudgePointerY: 0,\n } as INudgeProps,\n },\n ];\n\n const puzzleSteps: TCoachmarkJourneyProps[] = [\n {\n originalElementToHighlightRef: puzzleRefs.current.labelRef,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'top',\n backgroundColor: 'PURPLE_4',\n tooltipItem: (\n <FlexView>\n <Text $renderAs={tooltipTextRenderAs}>\n Think in new ways & stay sharp. Solve 3 new puzzles everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: puzzleLabelDims.width / 2,\n tooltipYCoOrdinates: puzzleLabelDims.height + 10,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: puzzleRefs.current.segmentedCardWrapperRef,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <SegmentedGameCard\n label={''} // This is intentionally left blank to avoid showing the label\n value={puzzlesData.data.filter(puzzle => puzzle.solved).length}\n maxValue={puzzlesData.data.length}\n initialValue={puzzlesData.initialProgressValue}\n data={puzzlesData.data.map(puzzle => ({\n card: puzzle.cardLottie,\n name: '', // We dont want to show the name of the puzzle in onboarding\n isCompleted: puzzle.solved,\n onPress: () => handleEndJourneyForPuzzle(puzzle, journeyId),\n }))}\n />\n ),\n indicator: {\n nudge: 'click',\n content: !isMobile && (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to solve a puzzle\n </Text>\n ),\n nudgePointerX: launcherDims.width * 0.6,\n nudgePointerY: launcherDims.height * 0.4,\n } as INudgeProps,\n },\n ];\n\n setJourney(journeyId, [...lessonSteps, ...gameSteps, ...puzzleSteps]);\n } else {\n setJourney(journeyId, lessonSteps);\n }\n carouselRefs.current?.goToIndex(0); // Always start from 0th Index no matter what the current index is\n\n const delayBeforeStart = setTimeout(() => {\n clearTimeout(delayBeforeStart);\n nextCoachmark(journeyId);\n }, SLIDE_TO_LESSON_MS);\n\n timerRefs.current.push(delayBeforeStart); // Store to cleanup later\n\n if (journeyId === JOURNEY_ID_STUDENT.CIRCLE_ACTIVITIES_INTRO_JOURNEY) {\n if (isLessonAvailable && lessonRefs.current) {\n goToNextCard(ActionEvent.SKILL_ACTIVITY, lessonRefs.current, 'BLUE_4', true, journeyId);\n } else {\n goToNextCard(ActionEvent.GAMES_ACTIVITY, gameRefs.current!, 'ORANGE_4', true, journeyId);\n }\n } else {\n lessonRefs.current?.startLabelAnimation('BLUE_4');\n const delayBeforeShowingNudge = setTimeout(() => {\n clearTimeout(delayBeforeShowingNudge);\n nextCoachmark(journeyId, true);\n }, SHOW_NUDGE_AFTER_MS);\n\n timerRefs.current.push(delayBeforeShowingNudge); // Store to cleanup later\n }\n },\n [\n carouselRefs,\n tooltipTextRenderAs,\n isMobile,\n setJourney,\n goToNextCard,\n handleEndJourneyForLesson,\n handleEndJourneyForPuzzle,\n nextCoachmark,\n ],\n );\n\n const data = useMemo(\n () => ({\n gameRefs,\n lessonRefs,\n puzzleRefs,\n startJourney,\n }),\n [startJourney],\n );\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n timerRefs.current.forEach(timer => clearTimeout(timer));\n timerRefs.current = [];\n };\n }, [carouselRefs]);\n\n return data;\n};\n"],"names":["useGameLauncherJourney","carouselRefs","onSegmentClick","onJourneyComplete","device","getTheme","isMobile","tooltipTextRenderAs","lessonRefs","useRef","gameRefs","puzzleRefs","timerRefs","playButtonSound","useCircleSounds","nextCoachmark","setJourney","endJourney","useJourney","trackAnalytics","useUIContext","trackEventViewed","useCallback","step","AnalyticsLabel","trackEventCompleted","goToNextCard","analyticsLabelViewed","refOfNextSlide","color","isFirstSlide","journeyId","_b","_a","GO_TO_NEXT_SLIDE_AFTER_MS","animateLabelTimer","SHOW_LABEL_HIGHLIGHT_AFTER_MS","SHOW_NUDGE_AFTER_MS","handleEndJourneyForPuzzle","puzzlesData","ProjectType","ActionEvent","handleEndJourneyForLesson","lessonsData","startJourney","isLessonAvailable","isPuzzleAvailable","_c","_d","JOURNEY_ID_STUDENT","lessonLabelDims","_g","_f","_e","gameLabelDims","_j","_i","_h","puzzleLabelDims","_m","_l","_k","launcherDims","_p","_o","_n","lessonSteps","IndicatorType","jsx","Fragment","FlexView","Text","_q","IconButton","CaratRightIcon","GAME_LAUNCHER_ANALYTICS_EVENTS","SegmentedGameCard","lesson","gameSteps","puzzleSteps","puzzle","_r","delayBeforeStart","SLIDE_TO_LESSON_MS","_s","delayBeforeShowingNudge","data","useMemo","useEffect","timer"],"mappings":"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"}
1
+ {"version":3,"file":"use-game-launcher-journey.js","sources":["../../../../../../src/features/circle-games/game-launcher/hooks/use-game-launcher-journey/use-game-launcher-journey.tsx"],"sourcesContent":["import type { TCoachmarkJourneyProps } from '../../../../journey/use-journey/journey-context-types';\nimport type { IArrowTooltipProps } from '../../../../ui/arrow-tooltip/arrow-tooltip-types';\nimport type { INudgeProps } from '../../../../ui/nudge/nudge-types';\nimport type { TColorNames } from '../../../../ui/types';\nimport type { ISegmentedGameCardRefs } from '../../comps/segmented-game-card/segmented-game-card-types';\nimport type {\n IProject,\n Lesson,\n Puzzle,\n} from '../../dal/use-get-circle-home-details-dal/use-get-circle-home-dal-types';\nimport type { IUseGameLauncherJourneyProps } from './use-game-launcher-journey-types';\n\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport CaratRightIcon from '../../../../../assets/line-icons/icons/carat-right';\nimport { PLATFORM_EVENTS_STUDENT as AnalyticsLabel } from '../../../../analytics-events/platform-events-student';\nimport { JOURNEY_ID_STUDENT } from '../../../../journey/journey-id/journey-id-student';\nimport { IndicatorType } from '../../../../journey/use-journey/constants';\nimport { useJourney } from '../../../../journey/use-journey/use-journey';\nimport IconButton from '../../../../ui/buttons/icon-button/icon-button';\nimport { useUIContext } from '../../../../ui/context/context';\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\nimport { getTheme } from '../../../../ui/theme/get-theme';\nimport { CIRCLE_ONBOARDING_ANALYTICS_STEPS as ActionEvent } from '../../../enum/circle-onboarding-steps';\nimport { ProjectType } from '../../../games/web-view/enums';\nimport { useCircleSounds } from '../../../hooks/use-circle-sounds/use-circle-sounds';\nimport { SegmentedGameCard } from '../../comps/segmented-game-card/segmented-game-card';\nimport { GAME_LAUNCHER_ANALYTICS_EVENTS } from '../../game-launcher-analytics-events';\nimport {\n GO_TO_NEXT_SLIDE_AFTER_MS,\n SHOW_LABEL_HIGHLIGHT_AFTER_MS,\n SHOW_NUDGE_AFTER_MS,\n SLIDE_TO_LESSON_MS,\n} from './constants';\n\nexport const useGameLauncherJourney = ({\n carouselRefs,\n onSegmentClick,\n onJourneyComplete,\n}: IUseGameLauncherJourneyProps) => {\n const { device } = getTheme();\n const isMobile = device === 'mobile';\n const tooltipTextRenderAs = isMobile ? 'ab3-bold' : 'ab2-bold';\n\n const lessonRefs = useRef<ISegmentedGameCardRefs>(null);\n const gameRefs = useRef<ISegmentedGameCardRefs>(null);\n const puzzleRefs = useRef<ISegmentedGameCardRefs>(null);\n const timerRefs = useRef<ReturnType<typeof setTimeout>[]>([]);\n\n const { playButtonSound } = useCircleSounds();\n const { nextCoachmark, setJourney, endJourney } = useJourney();\n const { onEvent: trackAnalytics } = useUIContext();\n\n const trackEventViewed = useCallback(\n (step: ActionEvent) => {\n trackAnalytics(AnalyticsLabel.ONBOARDING_STEP_VIEWED, {\n step,\n });\n },\n [trackAnalytics],\n );\n const trackEventCompleted = useCallback(\n (step: ActionEvent) => {\n trackAnalytics(AnalyticsLabel.ONBOARDING_STEP_COMPLETED, {\n step,\n });\n },\n [trackAnalytics],\n );\n\n const goToNextCard = useCallback(\n (\n analyticsLabelViewed: ActionEvent,\n refOfNextSlide: ISegmentedGameCardRefs,\n color: TColorNames,\n isFirstSlide: boolean = false,\n journeyId: JOURNEY_ID_STUDENT,\n ) => {\n if (!isFirstSlide) {\n playButtonSound();\n carouselRefs.current?.goToIndex(carouselRefs.current?.currentIndex + 1);\n nextCoachmark(journeyId, false, GO_TO_NEXT_SLIDE_AFTER_MS);\n }\n\n trackEventViewed(analyticsLabelViewed);\n\n const animateLabelTimer = setTimeout(() => {\n clearTimeout(animateLabelTimer);\n refOfNextSlide.startLabelAnimation(color);\n }, SHOW_LABEL_HIGHLIGHT_AFTER_MS);\n\n timerRefs.current.push(animateLabelTimer); // Store to cleanup later\n\n nextCoachmark(journeyId, true, SHOW_NUDGE_AFTER_MS);\n },\n [carouselRefs, nextCoachmark, playButtonSound, trackEventViewed],\n );\n\n const handleEndJourneyForPuzzle = useCallback(\n (puzzlesData: Puzzle, journeyId: JOURNEY_ID_STUDENT) => {\n onSegmentClick(puzzlesData, ProjectType.PUZZLE);\n trackEventCompleted(ActionEvent.PUZZLE_ACTIVITY);\n endJourney(journeyId);\n onJourneyComplete(journeyId);\n },\n [endJourney, onJourneyComplete, onSegmentClick, trackEventCompleted],\n );\n\n const handleEndJourneyForLesson = useCallback(\n (lessonsData: Lesson, journeyId: JOURNEY_ID_STUDENT) => {\n onSegmentClick(lessonsData, ProjectType.LESSON);\n trackEventCompleted(ActionEvent.SKILL_ACTIVITY);\n endJourney(journeyId);\n onJourneyComplete(journeyId);\n },\n [endJourney, onJourneyComplete, onSegmentClick, trackEventCompleted],\n );\n\n const startJourney = useCallback(\n (\n journeyId: JOURNEY_ID_STUDENT,\n puzzlesData?: IProject<Puzzle>,\n lessonsData?: IProject<Lesson>,\n ) => {\n // If element refs are not available return, this is just for type safety\n const isLessonAvailable = !!lessonsData;\n const isPuzzleAvailable = !!puzzlesData;\n\n if (!lessonRefs?.current?.segmentedCardWrapperRef.current) return;\n\n if (\n (!carouselRefs?.current?.nextBtnRef.current ||\n !gameRefs?.current?.labelRef.current ||\n !puzzleRefs?.current?.labelRef.current ||\n !puzzlesData) &&\n journeyId === JOURNEY_ID_STUDENT.CIRCLE_ACTIVITIES_INTRO_JOURNEY\n ) {\n return;\n }\n\n const lessonLabelDims = lessonRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n const gameLabelDims = gameRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n const puzzleLabelDims = puzzleRefs.current?.labelRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n const launcherDims =\n lessonRefs.current?.segmentedCardWrapperRef?.current?.getBoundingClientRect() || {\n height: 0,\n width: 0,\n };\n\n let lessonSteps: TCoachmarkJourneyProps[] = [];\n\n if (isLessonAvailable && lessonRefs.current) {\n lessonSteps = [\n {\n originalElementToHighlightRef: lessonRefs.current.labelRef,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'top',\n backgroundColor: 'BLUE_4',\n tooltipItem: (\n <FlexView>\n <Text $renderAs={tooltipTextRenderAs}>\n Get faster & stay ahead in school. Practice 3 new skills everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: lessonLabelDims.width / 2,\n tooltipYCoOrdinates: lessonLabelDims.height + 10,\n } as IArrowTooltipProps,\n },\n journeyId === JOURNEY_ID_STUDENT.CIRCLE_ACTIVITIES_INTRO_JOURNEY\n ? {\n originalElementToHighlightRef: carouselRefs.current?.nextBtnRef,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratRightIcon}\n onClick={() =>\n goToNextCard(\n ActionEvent.GAMES_ACTIVITY,\n gameRefs.current as ISegmentedGameCardRefs,\n 'ORANGE_4',\n false,\n journeyId,\n )\n }\n analyticsLabel={GAME_LAUNCHER_ANALYTICS_EVENTS.JOURNEY_NEXT_ACTIVITY}\n />\n ),\n indicator: {\n nudge: 'click',\n content: !isMobile && (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to proceed\n </Text>\n ),\n nudgePointerX: 0,\n nudgePointerY: 0,\n } as INudgeProps,\n }\n : {\n originalElementToHighlightRef: lessonRefs.current.segmentedCardWrapperRef,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <SegmentedGameCard\n label={''} // This is intentionally left blank to avoid showing the label\n value={lessonsData.data.filter(lesson => lesson.status === 'completed').length}\n maxValue={lessonsData.data.length}\n initialValue={lessonsData.initialProgressValue}\n data={lessonsData.data.map(lesson => ({\n card: lesson.cardLottie,\n name: '', // We dont want to show the name of the puzzle in onboarding\n isCompleted: lesson.status === 'completed',\n onPress: () => handleEndJourneyForLesson(lesson, journeyId),\n }))}\n />\n ),\n indicator: {\n nudge: 'click',\n content: !isMobile && (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Tap here to get started\n </Text>\n ),\n nudgePointerX: launcherDims.width * 0.6,\n nudgePointerY: launcherDims.height * 0.4,\n } as INudgeProps,\n },\n ];\n }\n\n if (\n journeyId === JOURNEY_ID_STUDENT.CIRCLE_ACTIVITIES_INTRO_JOURNEY &&\n gameRefs.current &&\n puzzleRefs.current &&\n isPuzzleAvailable\n ) {\n const gameSteps: TCoachmarkJourneyProps[] = [\n {\n originalElementToHighlightRef: gameRefs.current.labelRef,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'top',\n backgroundColor: 'ORANGE_4',\n tooltipItem: (\n <FlexView>\n <Text $renderAs={tooltipTextRenderAs}>\n Train to think deeper & plan ahead. Play 3 new games everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: gameLabelDims.width / 2,\n tooltipYCoOrdinates: gameLabelDims.height + 10,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: carouselRefs.current.nextBtnRef,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <IconButton\n renderAs=\"secondary\"\n Icon={CaratRightIcon}\n onClick={() =>\n goToNextCard(\n ActionEvent.PUZZLE_ACTIVITY,\n puzzleRefs.current as ISegmentedGameCardRefs,\n 'PURPLE_4',\n false,\n journeyId,\n )\n }\n analyticsLabel={GAME_LAUNCHER_ANALYTICS_EVENTS.JOURNEY_NEXT_ACTIVITY}\n />\n ),\n indicator: {\n nudge: 'click',\n content: !isMobile && (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to proceed\n </Text>\n ),\n nudgePointerX: 0,\n nudgePointerY: 0,\n } as INudgeProps,\n },\n ];\n\n const puzzleSteps: TCoachmarkJourneyProps[] = [\n {\n originalElementToHighlightRef: puzzleRefs.current.labelRef,\n type: IndicatorType.TOOLTIP,\n elementToHighlight: <></>,\n indicator: {\n position: 'top',\n backgroundColor: 'PURPLE_4',\n tooltipItem: (\n <FlexView>\n <Text $renderAs={tooltipTextRenderAs}>\n Think in new ways & stay sharp. Solve 3 new puzzles everyday.\n </Text>\n </FlexView>\n ),\n tooltipXCoOrdinates: puzzleLabelDims.width / 2,\n tooltipYCoOrdinates: puzzleLabelDims.height + 10,\n } as IArrowTooltipProps,\n },\n {\n originalElementToHighlightRef: puzzleRefs.current.segmentedCardWrapperRef,\n type: IndicatorType.NUDGE,\n elementToHighlight: (\n <SegmentedGameCard\n label={''} // This is intentionally left blank to avoid showing the label\n value={puzzlesData.data.filter(puzzle => puzzle.solved).length}\n maxValue={puzzlesData.data.length}\n initialValue={puzzlesData.initialProgressValue}\n data={puzzlesData.data.map(puzzle => ({\n card: puzzle.cardLottie,\n name: '', // We dont want to show the name of the puzzle in onboarding\n isCompleted: puzzle.solved,\n onPress: () => handleEndJourneyForPuzzle(puzzle, journeyId),\n }))}\n />\n ),\n indicator: {\n nudge: 'click',\n content: !isMobile && (\n <Text $renderAs=\"ab1\" $color=\"WHITE\">\n Click to solve a puzzle\n </Text>\n ),\n nudgePointerX: launcherDims.width * 0.6,\n nudgePointerY: launcherDims.height * 0.4,\n } as INudgeProps,\n },\n ];\n\n setJourney(journeyId, [...lessonSteps, ...gameSteps, ...puzzleSteps]);\n } else {\n setJourney(journeyId, lessonSteps);\n }\n carouselRefs.current?.goToIndex(0); // Always start from 0th Index no matter what the current index is\n\n const delayBeforeStart = setTimeout(() => {\n clearTimeout(delayBeforeStart);\n nextCoachmark(journeyId);\n }, SLIDE_TO_LESSON_MS);\n\n timerRefs.current.push(delayBeforeStart); // Store to cleanup later\n\n if (journeyId === JOURNEY_ID_STUDENT.CIRCLE_ACTIVITIES_INTRO_JOURNEY) {\n if (isLessonAvailable && lessonRefs.current) {\n goToNextCard(ActionEvent.SKILL_ACTIVITY, lessonRefs.current, 'BLUE_4', true, journeyId);\n } else {\n goToNextCard(ActionEvent.GAMES_ACTIVITY, gameRefs.current!, 'ORANGE_4', true, journeyId);\n }\n } else {\n lessonRefs.current?.startLabelAnimation('BLUE_4');\n const delayBeforeShowingNudge = setTimeout(() => {\n clearTimeout(delayBeforeShowingNudge);\n nextCoachmark(journeyId, true);\n }, SHOW_NUDGE_AFTER_MS);\n\n timerRefs.current.push(delayBeforeShowingNudge); // Store to cleanup later\n }\n },\n [\n carouselRefs,\n tooltipTextRenderAs,\n isMobile,\n setJourney,\n goToNextCard,\n handleEndJourneyForLesson,\n handleEndJourneyForPuzzle,\n nextCoachmark,\n ],\n );\n\n const data = useMemo(\n () => ({\n gameRefs,\n lessonRefs,\n puzzleRefs,\n startJourney,\n }),\n [startJourney],\n );\n\n // Cleanup on unmount\n useEffect(() => {\n return () => {\n timerRefs.current.forEach(timer => clearTimeout(timer));\n timerRefs.current = [];\n };\n }, [carouselRefs]);\n\n return data;\n};\n"],"names":["useGameLauncherJourney","carouselRefs","onSegmentClick","onJourneyComplete","device","getTheme","isMobile","tooltipTextRenderAs","lessonRefs","useRef","gameRefs","puzzleRefs","timerRefs","playButtonSound","useCircleSounds","nextCoachmark","setJourney","endJourney","useJourney","trackAnalytics","useUIContext","trackEventViewed","useCallback","step","AnalyticsLabel","trackEventCompleted","goToNextCard","analyticsLabelViewed","refOfNextSlide","color","isFirstSlide","journeyId","_b","_a","GO_TO_NEXT_SLIDE_AFTER_MS","animateLabelTimer","SHOW_LABEL_HIGHLIGHT_AFTER_MS","SHOW_NUDGE_AFTER_MS","handleEndJourneyForPuzzle","puzzlesData","ProjectType","ActionEvent","handleEndJourneyForLesson","lessonsData","startJourney","isLessonAvailable","isPuzzleAvailable","_c","_d","JOURNEY_ID_STUDENT","lessonLabelDims","_g","_f","_e","gameLabelDims","_j","_i","_h","puzzleLabelDims","_m","_l","_k","launcherDims","_p","_o","_n","lessonSteps","IndicatorType","jsx","Fragment","FlexView","Text","_q","IconButton","CaratRightIcon","GAME_LAUNCHER_ANALYTICS_EVENTS","SegmentedGameCard","lesson","gameSteps","puzzleSteps","puzzle","_r","delayBeforeStart","SLIDE_TO_LESSON_MS","_s","delayBeforeShowingNudge","data","useMemo","useEffect","timer"],"mappings":"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"}
@@ -20,8 +20,8 @@ const a = r.div(({ theme: o }) => {
20
20
  `, p = r.div(({ isActive: o, theme: t }) => {
21
21
  const { WHITE: e, TRANSPARENT: n, GREY_2: i, WHITE_T_10: s } = t.colors;
22
22
  return `
23
- height: 45px;
24
- width: 45px;
23
+ width: clamp(30px, 10.5vw, 45px);
24
+ height: clamp(30px, 10.5vw, 45px);
25
25
  display: flex;
26
26
  align-items: center;
27
27
  justify-content: center;
@@ -1 +1 @@
1
- {"version":3,"file":"grade-input-styled.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/grade-input/grade-input-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nexport const GradeInputWrapper = styled.div(({ theme }) => {\n const { BLACK } = theme.colors;\n\n return `\n background: ${BLACK};\n width: 100%;\n padding: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n `;\n});\n\nexport const GradeInputContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: 12px;\n`;\n\nexport const GradeRow = styled.div`\n display: flex;\n justify-content: center;\n gap: 12px;\n`;\n\nexport const GradeButton = styled.div<{ isActive: boolean }>(({ isActive, theme }) => {\n const { WHITE, TRANSPARENT, GREY_2, WHITE_T_10 } = theme.colors;\n\n return `\n height: 45px;\n width: 45px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n border: 1px solid ${WHITE};\n background-color: ${isActive ? WHITE : TRANSPARENT};\n cursor: pointer;\n transition:\n background-color 0.3s ease,\n transform 0.2s ease;\n\n &:hover {\n transform: scale(1.1);\n background-color: ${isActive ? GREY_2 : WHITE_T_10};\n }\n `;\n});\n\nexport const NextButtonWrapper = styled.div`\n position: absolute;\n bottom: 166px;\n right: 16px;\n z-index: 1;\n background: ${({ theme }) => theme.colors.WHITE};\n border-radius: 100%;\n height: 40px;\n width: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n align-items: center;\n transition: all 0.1s linear;\n cursor: pointer;\n &:hover {\n background: ${({ theme }) => theme.colors.BLACK_3};\n color: ${({ theme }) => theme.colors.WHITE};\n }\n &:hover svg {\n fill: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n"],"names":["GradeInputWrapper","styled","theme","BLACK","GradeInputContainer","GradeRow","GradeButton","isActive","WHITE","TRANSPARENT","GREY_2","WHITE_T_10","NextButtonWrapper"],"mappings":";AAEO,MAAMA,IAAoBC,EAAO,IAAI,CAAC,EAAE,OAAAC,QAAY;AACnD,QAAA,EAAE,OAAAC,EAAM,IAAID,EAAM;AAEjB,SAAA;AAAA,gBACOC,CAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrB,CAAC,GAEYC,IAAsBH,EAAO;AAAA;AAAA;AAAA;AAAA,GAM7BI,IAAWJ,EAAO;AAAA;AAAA;AAAA;AAAA,GAMlBK,IAAcL,EAAO,IAA2B,CAAC,EAAE,UAAAM,GAAU,OAAAL,QAAY;AACpF,QAAM,EAAE,OAAAM,GAAO,aAAAC,GAAa,QAAAC,GAAQ,YAAAC,MAAeT,EAAM;AAElD,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAOaM,CAAK;AAAA,sBACLD,IAAWC,IAAQC,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAQ5BF,IAAWG,IAASC,CAAU;AAAA;AAAA;AAGtD,CAAC,GAEYC,IAAoBX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKxB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAW/B,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA,aACxC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA,YAGlC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;"}
1
+ {"version":3,"file":"grade-input-styled.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/grade-input/grade-input-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nexport const GradeInputWrapper = styled.div(({ theme }) => {\n const { BLACK } = theme.colors;\n\n return `\n background: ${BLACK};\n width: 100%;\n padding: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n `;\n});\n\nexport const GradeInputContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: 12px;\n`;\n\nexport const GradeRow = styled.div`\n display: flex;\n justify-content: center;\n gap: 12px;\n`;\n\nexport const GradeButton = styled.div<{ isActive: boolean }>(({ isActive, theme }) => {\n const { WHITE, TRANSPARENT, GREY_2, WHITE_T_10 } = theme.colors;\n\n return `\n width: clamp(30px, 10.5vw, 45px);\n height: clamp(30px, 10.5vw, 45px);\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n border: 1px solid ${WHITE};\n background-color: ${isActive ? WHITE : TRANSPARENT};\n cursor: pointer;\n transition:\n background-color 0.3s ease,\n transform 0.2s ease;\n\n &:hover {\n transform: scale(1.1);\n background-color: ${isActive ? GREY_2 : WHITE_T_10};\n }\n `;\n});\n\nexport const NextButtonWrapper = styled.div`\n position: absolute;\n bottom: 166px;\n right: 16px;\n z-index: 1;\n background: ${({ theme }) => theme.colors.WHITE};\n border-radius: 100%;\n height: 40px;\n width: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n align-items: center;\n transition: all 0.1s linear;\n cursor: pointer;\n &:hover {\n background: ${({ theme }) => theme.colors.BLACK_3};\n color: ${({ theme }) => theme.colors.WHITE};\n }\n &:hover svg {\n fill: ${({ theme }) => theme.colors.WHITE};\n }\n`;\n"],"names":["GradeInputWrapper","styled","theme","BLACK","GradeInputContainer","GradeRow","GradeButton","isActive","WHITE","TRANSPARENT","GREY_2","WHITE_T_10","NextButtonWrapper"],"mappings":";AAEO,MAAMA,IAAoBC,EAAO,IAAI,CAAC,EAAE,OAAAC,QAAY;AACnD,QAAA,EAAE,OAAAC,EAAM,IAAID,EAAM;AAEjB,SAAA;AAAA,gBACOC,CAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOrB,CAAC,GAEYC,IAAsBH,EAAO;AAAA;AAAA;AAAA;AAAA,GAM7BI,IAAWJ,EAAO;AAAA;AAAA;AAAA;AAAA,GAMlBK,IAAcL,EAAO,IAA2B,CAAC,EAAE,UAAAM,GAAU,OAAAL,QAAY;AACpF,QAAM,EAAE,OAAAM,GAAO,aAAAC,GAAa,QAAAC,GAAQ,YAAAC,MAAeT,EAAM;AAElD,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAOaM,CAAK;AAAA,sBACLD,IAAWC,IAAQC,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAQ5BF,IAAWG,IAASC,CAAU;AAAA;AAAA;AAGtD,CAAC,GAEYC,IAAoBX,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKxB,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAW/B,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,OAAO;AAAA,aACxC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA,YAGlC,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;"}
@@ -12,7 +12,7 @@ const _ = ({ selected: o, grades: s, onSelect: n, onNext: c }) => {
12
12
  }, [o]);
13
13
  const d = (e) => e === "13", u = (e) => {
14
14
  n == null || n(e);
15
- }, f = 6, k = s.reduce((e, a, r) => {
15
+ }, f = 7, k = s.reduce((e, a, r) => {
16
16
  var l;
17
17
  return r % f === 0 && e.push([]), (l = e[e.length - 1]) == null || l.push(a), e;
18
18
  }, []);
@@ -1 +1 @@
1
- {"version":3,"file":"grade-input.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/grade-input/grade-input.tsx"],"sourcesContent":["import type { Grade, GradeKey, IGradeInputProps } from './grade-input-types';\n\nimport { useEffect, useState } from 'react';\n\nimport Next2Icon from '../../../../../assets/line-icons/icons/next2';\nimport Clickable from '../../../../ui/buttons/clickable/clickable';\nimport Text from '../../../../ui/text/text';\nimport { WithGrade } from '../../../leaderboard/comps/with-grade/with-grade';\nimport * as S from './grade-input-styled';\n\nexport const GradeInput = ({ selected, grades, onSelect, onNext }: IGradeInputProps) => {\n const [active, setActive] = useState(selected);\n\n useEffect(() => {\n setActive(selected);\n }, [selected]);\n\n const isOutOfSchool = (gradeKey: GradeKey) => {\n return gradeKey === ('13' as GradeKey);\n };\n\n const handleGrade = (gradeInfo: Grade) => {\n onSelect?.(gradeInfo);\n };\n\n const maxNoOfRows = 6;\n\n // Group grades into rows\n const grade2d: Grade[][] = grades.reduce((acc: Grade[][], grade, index) => {\n if (index % maxNoOfRows === 0) acc.push([]);\n acc[acc.length - 1]?.push(grade);\n\n return acc;\n }, []);\n\n return (\n <S.GradeInputWrapper>\n {selected && (\n <S.NextButtonWrapper>\n <Clickable onClick={onNext} analyticsLabel=\"circle_signup_grade_next\" label=\"\">\n <Next2Icon height={28} width={28} />\n </Clickable>\n </S.NextButtonWrapper>\n )}\n\n <S.GradeInputContainer>\n {grade2d.map((row, rowIndex) => (\n <S.GradeRow key={rowIndex}>\n {row.map(g => (\n <S.GradeButton isActive={active === g.key} key={g.key} onClick={() => handleGrade(g)}>\n {isOutOfSchool(g.key) && (\n <WithGrade grade={g.key}>\n <Text\n $renderAs={active === g.key ? 'ab1-bold' : 'ab1'}\n $color={active === g.key ? 'WHITE' : 'BLACK'}\n >\n {g.label}\n </Text>\n </WithGrade>\n )}\n {!isOutOfSchool(g.key) && (\n <Text $renderAs={'ab1'} $color={active === g.key ? 'BLACK' : 'WHITE'}>\n {g.label}\n </Text>\n )}\n </S.GradeButton>\n ))}\n </S.GradeRow>\n ))}\n </S.GradeInputContainer>\n </S.GradeInputWrapper>\n );\n};\n"],"names":["GradeInput","selected","grades","onSelect","onNext","active","setActive","useState","useEffect","isOutOfSchool","gradeKey","handleGrade","gradeInfo","maxNoOfRows","grade2d","acc","grade","index","_a","jsxs","S.GradeInputWrapper","S.NextButtonWrapper","jsx","Clickable","Next2Icon","S.GradeInputContainer","row","rowIndex","S.GradeRow","g","S.GradeButton","WithGrade","Text"],"mappings":";;;;;;;AAUO,MAAMA,IAAa,CAAC,EAAE,UAAAC,GAAU,QAAAC,GAAQ,UAAAC,GAAU,QAAAC,QAA+B;AACtF,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAASN,CAAQ;AAE7C,EAAAO,EAAU,MAAM;AACd,IAAAF,EAAUL,CAAQ;AAAA,EAAA,GACjB,CAACA,CAAQ,CAAC;AAEP,QAAAQ,IAAgB,CAACC,MACdA,MAAc,MAGjBC,IAAc,CAACC,MAAqB;AACxC,IAAAT,KAAA,QAAAA,EAAWS;AAAA,EAAS,GAGhBC,IAAc,GAGdC,IAAqBZ,EAAO,OAAO,CAACa,GAAgBC,GAAOC,MAAU;;AACzE,WAAIA,IAAQJ,MAAgB,KAAOE,EAAA,KAAK,CAAA,CAAE,IAC1CG,IAAAH,EAAIA,EAAI,SAAS,CAAC,MAAlB,QAAAG,EAAqB,KAAKF,IAEnBD;AAAA,EACT,GAAG,CAAE,CAAA;AAGH,SAAA,gBAAAI,EAACC,GAAA,EACE,UAAA;AAAA,IAAAnB,uBACEoB,GAAA,EACC,UAAC,gBAAAC,EAAAC,GAAA,EAAU,SAASnB,GAAQ,gBAAe,4BAA2B,OAAM,IAC1E,4BAACoB,GAAU,EAAA,QAAQ,IAAI,OAAO,IAAI,GACpC,EACF,CAAA;AAAA,IAGD,gBAAAF,EAAAG,GAAA,EACE,UAAQX,EAAA,IAAI,CAACY,GAAKC,MACjB,gBAAAL,EAACM,GAAA,EACE,UAAAF,EAAI,IAAI,CAAAG,MACN,gBAAAV,EAAAW,GAAA,EAAc,UAAUzB,MAAWwB,EAAE,KAAiB,SAAS,MAAMlB,EAAYkB,CAAC,GAChF,UAAA;AAAA,MAAApB,EAAcoB,EAAE,GAAG,uBACjBE,GAAU,EAAA,OAAOF,EAAE,KAClB,UAAA,gBAAAP;AAAA,QAACU;AAAA,QAAA;AAAA,UACC,WAAW3B,MAAWwB,EAAE,MAAM,aAAa;AAAA,UAC3C,QAAQxB,MAAWwB,EAAE,MAAM,UAAU;AAAA,UAEpC,UAAEA,EAAA;AAAA,QAAA;AAAA,MAAA,GAEP;AAAA,MAED,CAACpB,EAAcoB,EAAE,GAAG,uBAClBG,GAAK,EAAA,WAAW,OAAO,QAAQ3B,MAAWwB,EAAE,MAAM,UAAU,SAC1D,YAAE,OACL;AAAA,IAAA,EAAA,GAd4CA,EAAE,GAgBlD,CACD,EAnBc,GAAAF,CAoBjB,CACD,GACH;AAAA,EACF,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"grade-input.js","sources":["../../../../../../src/features/circle-games/sign-up/comp/grade-input/grade-input.tsx"],"sourcesContent":["import type { Grade, GradeKey, IGradeInputProps } from './grade-input-types';\n\nimport { useEffect, useState } from 'react';\n\nimport Next2Icon from '../../../../../assets/line-icons/icons/next2';\nimport Clickable from '../../../../ui/buttons/clickable/clickable';\nimport Text from '../../../../ui/text/text';\nimport { WithGrade } from '../../../leaderboard/comps/with-grade/with-grade';\nimport * as S from './grade-input-styled';\n\nexport const GradeInput = ({ selected, grades, onSelect, onNext }: IGradeInputProps) => {\n const [active, setActive] = useState(selected);\n\n useEffect(() => {\n setActive(selected);\n }, [selected]);\n\n const isOutOfSchool = (gradeKey: GradeKey) => {\n return gradeKey === ('13' as GradeKey);\n };\n\n const handleGrade = (gradeInfo: Grade) => {\n onSelect?.(gradeInfo);\n };\n\n const maxNoOfRows = 7;\n\n // Group grades into rows\n const grade2d: Grade[][] = grades.reduce((acc: Grade[][], grade, index) => {\n if (index % maxNoOfRows === 0) acc.push([]);\n acc[acc.length - 1]?.push(grade);\n\n return acc;\n }, []);\n\n return (\n <S.GradeInputWrapper>\n {selected && (\n <S.NextButtonWrapper>\n <Clickable onClick={onNext} analyticsLabel=\"circle_signup_grade_next\" label=\"\">\n <Next2Icon height={28} width={28} />\n </Clickable>\n </S.NextButtonWrapper>\n )}\n\n <S.GradeInputContainer>\n {grade2d.map((row, rowIndex) => (\n <S.GradeRow key={rowIndex}>\n {row.map(g => (\n <S.GradeButton isActive={active === g.key} key={g.key} onClick={() => handleGrade(g)}>\n {isOutOfSchool(g.key) && (\n <WithGrade grade={g.key}>\n <Text\n $renderAs={active === g.key ? 'ab1-bold' : 'ab1'}\n $color={active === g.key ? 'WHITE' : 'BLACK'}\n >\n {g.label}\n </Text>\n </WithGrade>\n )}\n {!isOutOfSchool(g.key) && (\n <Text $renderAs={'ab1'} $color={active === g.key ? 'BLACK' : 'WHITE'}>\n {g.label}\n </Text>\n )}\n </S.GradeButton>\n ))}\n </S.GradeRow>\n ))}\n </S.GradeInputContainer>\n </S.GradeInputWrapper>\n );\n};\n"],"names":["GradeInput","selected","grades","onSelect","onNext","active","setActive","useState","useEffect","isOutOfSchool","gradeKey","handleGrade","gradeInfo","maxNoOfRows","grade2d","acc","grade","index","_a","jsxs","S.GradeInputWrapper","S.NextButtonWrapper","jsx","Clickable","Next2Icon","S.GradeInputContainer","row","rowIndex","S.GradeRow","g","S.GradeButton","WithGrade","Text"],"mappings":";;;;;;;AAUO,MAAMA,IAAa,CAAC,EAAE,UAAAC,GAAU,QAAAC,GAAQ,UAAAC,GAAU,QAAAC,QAA+B;AACtF,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAASN,CAAQ;AAE7C,EAAAO,EAAU,MAAM;AACd,IAAAF,EAAUL,CAAQ;AAAA,EAAA,GACjB,CAACA,CAAQ,CAAC;AAEP,QAAAQ,IAAgB,CAACC,MACdA,MAAc,MAGjBC,IAAc,CAACC,MAAqB;AACxC,IAAAT,KAAA,QAAAA,EAAWS;AAAA,EAAS,GAGhBC,IAAc,GAGdC,IAAqBZ,EAAO,OAAO,CAACa,GAAgBC,GAAOC,MAAU;;AACzE,WAAIA,IAAQJ,MAAgB,KAAOE,EAAA,KAAK,CAAA,CAAE,IAC1CG,IAAAH,EAAIA,EAAI,SAAS,CAAC,MAAlB,QAAAG,EAAqB,KAAKF,IAEnBD;AAAA,EACT,GAAG,CAAE,CAAA;AAGH,SAAA,gBAAAI,EAACC,GAAA,EACE,UAAA;AAAA,IAAAnB,uBACEoB,GAAA,EACC,UAAC,gBAAAC,EAAAC,GAAA,EAAU,SAASnB,GAAQ,gBAAe,4BAA2B,OAAM,IAC1E,4BAACoB,GAAU,EAAA,QAAQ,IAAI,OAAO,IAAI,GACpC,EACF,CAAA;AAAA,IAGD,gBAAAF,EAAAG,GAAA,EACE,UAAQX,EAAA,IAAI,CAACY,GAAKC,MACjB,gBAAAL,EAACM,GAAA,EACE,UAAAF,EAAI,IAAI,CAAAG,MACN,gBAAAV,EAAAW,GAAA,EAAc,UAAUzB,MAAWwB,EAAE,KAAiB,SAAS,MAAMlB,EAAYkB,CAAC,GAChF,UAAA;AAAA,MAAApB,EAAcoB,EAAE,GAAG,uBACjBE,GAAU,EAAA,OAAOF,EAAE,KAClB,UAAA,gBAAAP;AAAA,QAACU;AAAA,QAAA;AAAA,UACC,WAAW3B,MAAWwB,EAAE,MAAM,aAAa;AAAA,UAC3C,QAAQxB,MAAWwB,EAAE,MAAM,UAAU;AAAA,UAEpC,UAAEA,EAAA;AAAA,QAAA;AAAA,MAAA,GAEP;AAAA,MAED,CAACpB,EAAcoB,EAAE,GAAG,uBAClBG,GAAK,EAAA,WAAW,OAAO,QAAQ3B,MAAWwB,EAAE,MAAM,UAAU,SAC1D,YAAE,OACL;AAAA,IAAA,EAAA,GAd4CA,EAAE,GAgBlD,CACD,EAnBc,GAAAF,CAoBjB,CACD,GACH;AAAA,EACF,EAAA,CAAA;AAEJ;"}
@@ -1,5 +1,7 @@
1
1
  import { State as e } from "./sign-up-types.js";
2
2
  const h = [e.ACTIVE, e.PAUSED, e.PAID], i = [e.TRIAL, e.DEMO], p = [
3
+ { label: "KG", key: "0" },
4
+ { label: "1", key: "1", sup: "st" },
3
5
  { label: "2", key: "2", sup: "nd" },
4
6
  { label: "3", key: "3", sup: "rd" },
5
7
  { label: "4", key: "4", sup: "th" },
@@ -11,7 +13,7 @@ const h = [e.ACTIVE, e.PAUSED, e.PAID], i = [e.TRIAL, e.DEMO], p = [
11
13
  { label: "10", key: "10", sup: "th" },
12
14
  { label: "11", key: "11", sup: "th" },
13
15
  { label: "12", key: "12", sup: "th" }
14
- ], t = 440, s = 640, n = window.innerWidth / t, a = window.innerHeight / s, l = Math.min(n, a), u = Math.min(s * l, s), b = Math.min(t * l, t);
16
+ ], t = 440, s = 640, a = window.innerWidth / t, n = window.innerHeight / s, l = Math.min(a, n), u = Math.min(s * l, s), b = Math.min(t * l, t);
15
17
  export {
16
18
  s as ACTUAL_HEIGHT,
17
19
  t as ACTUAL_WIDTH,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/features/circle-games/sign-up/constants.ts"],"sourcesContent":["import type { Grade } from './comp/grade-input/grade-input-types';\n\nimport { State } from './sign-up-types';\n\nexport const userIsEnrolledCases = [State.ACTIVE, State.PAUSED, State.PAID];\nexport const userIsOnTrialCases = [State.TRIAL, State.DEMO];\n\nexport const GRADES: Grade[] = [\n { label: '2', key: '2', sup: 'nd' },\n { label: '3', key: '3', sup: 'rd' },\n { label: '4', key: '4', sup: 'th' },\n { label: '5', key: '5', sup: 'th' },\n { label: '6', key: '6', sup: 'th' },\n { label: '7', key: '7', sup: 'th' },\n { label: '8', key: '8', sup: 'th' },\n { label: '9', key: '9', sup: 'th' },\n { label: '10', key: '10', sup: 'th' },\n { label: '11', key: '11', sup: 'th' },\n { label: '12', key: '12', sup: 'th' },\n];\n\nexport const MIN_HEIGHT_TO_SUPPORT = 540;\nexport const ACTUAL_WIDTH = 440;\nexport const ACTUAL_HEIGHT = 640;\n\nconst widthRatio = window.innerWidth / ACTUAL_WIDTH;\nconst heightRatio = window.innerHeight / ACTUAL_HEIGHT;\nconst ratio = Math.min(widthRatio, heightRatio);\n\nexport const CONTAINER_HEIGHT = Math.min(ACTUAL_HEIGHT * ratio, ACTUAL_HEIGHT);\nexport const CONTAINER_WIDTH = Math.min(ACTUAL_WIDTH * ratio, ACTUAL_WIDTH);\n"],"names":["userIsEnrolledCases","State","userIsOnTrialCases","GRADES","ACTUAL_WIDTH","ACTUAL_HEIGHT","widthRatio","heightRatio","ratio","CONTAINER_HEIGHT","CONTAINER_WIDTH"],"mappings":";AAIO,MAAMA,IAAsB,CAACC,EAAM,QAAQA,EAAM,QAAQA,EAAM,IAAI,GAC7DC,IAAqB,CAACD,EAAM,OAAOA,EAAM,IAAI,GAE7CE,IAAkB;AAAA,EAC7B,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,MAAM,KAAK,MAAM,KAAK,KAAK;AAAA,EACpC,EAAE,OAAO,MAAM,KAAK,MAAM,KAAK,KAAK;AAAA,EACpC,EAAE,OAAO,MAAM,KAAK,MAAM,KAAK,KAAK;AACtC,GAGaC,IAAe,KACfC,IAAgB,KAEvBC,IAAa,OAAO,aAAaF,GACjCG,IAAc,OAAO,cAAcF,GACnCG,IAAQ,KAAK,IAAIF,GAAYC,CAAW,GAEjCE,IAAmB,KAAK,IAAIJ,IAAgBG,GAAOH,CAAa,GAChEK,IAAkB,KAAK,IAAIN,IAAeI,GAAOJ,CAAY;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/features/circle-games/sign-up/constants.ts"],"sourcesContent":["import type { Grade } from './comp/grade-input/grade-input-types';\n\nimport { State } from './sign-up-types';\n\nexport const userIsEnrolledCases = [State.ACTIVE, State.PAUSED, State.PAID];\nexport const userIsOnTrialCases = [State.TRIAL, State.DEMO];\n\nexport const GRADES: Grade[] = [\n { label: 'KG', key: '0' },\n { label: '1', key: '1', sup: 'st' },\n { label: '2', key: '2', sup: 'nd' },\n { label: '3', key: '3', sup: 'rd' },\n { label: '4', key: '4', sup: 'th' },\n { label: '5', key: '5', sup: 'th' },\n { label: '6', key: '6', sup: 'th' },\n { label: '7', key: '7', sup: 'th' },\n { label: '8', key: '8', sup: 'th' },\n { label: '9', key: '9', sup: 'th' },\n { label: '10', key: '10', sup: 'th' },\n { label: '11', key: '11', sup: 'th' },\n { label: '12', key: '12', sup: 'th' },\n];\n\nexport const MIN_HEIGHT_TO_SUPPORT = 540;\nexport const ACTUAL_WIDTH = 440;\nexport const ACTUAL_HEIGHT = 640;\n\nconst widthRatio = window.innerWidth / ACTUAL_WIDTH;\nconst heightRatio = window.innerHeight / ACTUAL_HEIGHT;\nconst ratio = Math.min(widthRatio, heightRatio);\n\nexport const CONTAINER_HEIGHT = Math.min(ACTUAL_HEIGHT * ratio, ACTUAL_HEIGHT);\nexport const CONTAINER_WIDTH = Math.min(ACTUAL_WIDTH * ratio, ACTUAL_WIDTH);\n"],"names":["userIsEnrolledCases","State","userIsOnTrialCases","GRADES","ACTUAL_WIDTH","ACTUAL_HEIGHT","widthRatio","heightRatio","ratio","CONTAINER_HEIGHT","CONTAINER_WIDTH"],"mappings":";AAIO,MAAMA,IAAsB,CAACC,EAAM,QAAQA,EAAM,QAAQA,EAAM,IAAI,GAC7DC,IAAqB,CAACD,EAAM,OAAOA,EAAM,IAAI,GAE7CE,IAAkB;AAAA,EAC7B,EAAE,OAAO,MAAM,KAAK,IAAI;AAAA,EACxB,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK;AAAA,EAClC,EAAE,OAAO,MAAM,KAAK,MAAM,KAAK,KAAK;AAAA,EACpC,EAAE,OAAO,MAAM,KAAK,MAAM,KAAK,KAAK;AAAA,EACpC,EAAE,OAAO,MAAM,KAAK,MAAM,KAAK,KAAK;AACtC,GAGaC,IAAe,KACfC,IAAgB,KAEvBC,IAAa,OAAO,aAAaF,GACjCG,IAAc,OAAO,cAAcF,GACnCG,IAAQ,KAAK,IAAIF,GAAYC,CAAW,GAEjCE,IAAmB,KAAK,IAAIJ,IAAgBG,GAAOH,CAAa,GAChEK,IAAkB,KAAK,IAAIN,IAAeI,GAAOJ,CAAY;"}
@@ -12,12 +12,12 @@ const E = {
12
12
  SHEET_UNASSIGNED: "SHEET_UNASSIGNED",
13
13
  SHEET_REATTEMPTED: "SHEET_REATTEMPTED",
14
14
  INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION: "INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION"
15
- }, T = {
15
+ }, S = {
16
16
  GOAL_CREATED: "GOAL_CREATED",
17
17
  GOAL_EDITED: "GOAL_EDITED",
18
18
  GOAL_DELETED: "GOAL_DELETED",
19
19
  GOAL_OUTCOME_ADDED: "GOAL_OUTCOME_ADDED"
20
- }, S = {
20
+ }, _ = {
21
21
  MILESTONE_NAME_UPDATED: "MILESTONE_NAME_UPDATED",
22
22
  MILESTONE_DATE_UPDATED: "MILESTONE_DATE_UPDATED",
23
23
  MILESTONE_DELETED: "MILESTONE_DELETED",
@@ -27,16 +27,19 @@ const E = {
27
27
  MILESTONE_RESOURCE_RESET: "MILESTONE_RESOURCE_RESET",
28
28
  PAST_MILESTONE_OUTCOME_ADDED: "PAST_MILESTONE_OUTCOME_ADDED",
29
29
  MILESTONE_TEST_ASSIGNED: "MILESTONE_TEST_ASSIGNED"
30
- }, _ = {
30
+ }, T = {
31
31
  HOMEWORK_UNASSIGN: "HOMEWORK_UNASSIGN",
32
32
  INVALIDATE_HOMEWORK: "INVALIDATE_HOMEWORK"
33
33
  }, A = {
34
+ PUZZLE_ASSIGNED: "PUZZLE_ASSIGNED",
35
+ PUZZLE_UNASSIGNED: "PUZZLE_UNASSIGNED",
36
+ PUZZLE_REVIEWED: "PUZZLE_REVIEWED",
34
37
  PUZZLE_FEEDBACK_CELEBRATION: "PUZZLE_FEEDBACK_CELEBRATION"
35
38
  }, D = {
36
39
  ...E,
40
+ ..._,
37
41
  ...S,
38
42
  ...T,
39
- ..._,
40
43
  ...A
41
44
  };
42
45
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../src/features/communication/pub-sub/constants.ts"],"sourcesContent":["const CHAPTER_SHEET_EVENTS = {\n CHAPTER_UPDATED: 'CHAPTER_UPDATED',\n LESSONS_MARKED_AS_FAMILIAR: 'LESSONS_MARKED_AS_FAMILIAR',\n LESSONS_MARKED_AS_IRRELEVANT: 'LESSONS_MARKED_AS_IRRELEVANT',\n LESSONS_PROGRESS_RESET: 'LESSONS_PROGRESS_RESET',\n UNLOCK_SHEETS: 'UNLOCK_SHEETS',\n EXTRA_PRACTICE_ASSIGNED: 'EXTRA_PRACTICE_ASSIGNED',\n CHANGE_LOCATION: 'CHANGE_LOCATION',\n SHEET_MARKED_AS_REVIEWED: 'SHEET_MARKED_AS_REVIEWED',\n SHEET_STARTED: 'SHEET_STARTED',\n SHEET_SUBMITTED: 'SHEET_SUBMITTED',\n SHEET_UNASSIGNED: 'SHEET_UNASSIGNED',\n SHEET_REATTEMPTED: 'SHEET_REATTEMPTED',\n INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION: 'INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION',\n} as const;\n\nconst GOAL_EVENTS = {\n GOAL_CREATED: 'GOAL_CREATED',\n GOAL_EDITED: 'GOAL_EDITED',\n GOAL_DELETED: 'GOAL_DELETED',\n GOAL_OUTCOME_ADDED: 'GOAL_OUTCOME_ADDED',\n} as const;\n\nconst MILESTONE_EVENTS = {\n MILESTONE_NAME_UPDATED: 'MILESTONE_NAME_UPDATED',\n MILESTONE_DATE_UPDATED: 'MILESTONE_DATE_UPDATED',\n MILESTONE_DELETED: 'MILESTONE_DELETED',\n MILESTONE_EDITED: 'MILESTONE_EDITED',\n MILESTONE_RESOURCE_ASSIGNED: 'MILESTONE_RESOURCE_ASSIGNED',\n MILESTONE_RESOURCE_UNASSIGNED: 'MILESTONE_RESOURCE_UNASSIGNED',\n MILESTONE_RESOURCE_RESET: 'MILESTONE_RESOURCE_RESET',\n PAST_MILESTONE_OUTCOME_ADDED: 'PAST_MILESTONE_OUTCOME_ADDED',\n MILESTONE_TEST_ASSIGNED: 'MILESTONE_TEST_ASSIGNED',\n} as const;\n\nconst HOMEWORK_EVENTS = {\n HOMEWORK_UNASSIGN: 'HOMEWORK_UNASSIGN',\n INVALIDATE_HOMEWORK: 'INVALIDATE_HOMEWORK',\n} as const;\n\nconst PUZZLE_EVENTS = {\n PUZZLE_FEEDBACK_CELEBRATION: 'PUZZLE_FEEDBACK_CELEBRATION',\n} as const;\n\nconst EVENTS = {\n ...CHAPTER_SHEET_EVENTS,\n ...MILESTONE_EVENTS,\n ...GOAL_EVENTS,\n ...HOMEWORK_EVENTS,\n ...PUZZLE_EVENTS,\n};\n\nexport { EVENTS };\n"],"names":["CHAPTER_SHEET_EVENTS","GOAL_EVENTS","MILESTONE_EVENTS","HOMEWORK_EVENTS","PUZZLE_EVENTS","EVENTS"],"mappings":"AAAA,MAAMA,IAAuB;AAAA,EAC3B,iBAAiB;AAAA,EACjB,4BAA4B;AAAA,EAC5B,8BAA8B;AAAA,EAC9B,wBAAwB;AAAA,EACxB,eAAe;AAAA,EACf,yBAAyB;AAAA,EACzB,iBAAiB;AAAA,EACjB,0BAA0B;AAAA,EAC1B,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,+CAA+C;AACjD,GAEMC,IAAc;AAAA,EAClB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,cAAc;AAAA,EACd,oBAAoB;AACtB,GAEMC,IAAmB;AAAA,EACvB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,6BAA6B;AAAA,EAC7B,+BAA+B;AAAA,EAC/B,0BAA0B;AAAA,EAC1B,8BAA8B;AAAA,EAC9B,yBAAyB;AAC3B,GAEMC,IAAkB;AAAA,EACtB,mBAAmB;AAAA,EACnB,qBAAqB;AACvB,GAEMC,IAAgB;AAAA,EACpB,6BAA6B;AAC/B,GAEMC,IAAS;AAAA,EACb,GAAGL;AAAA,EACH,GAAGE;AAAA,EACH,GAAGD;AAAA,EACH,GAAGE;AAAA,EACH,GAAGC;AACL;"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../src/features/communication/pub-sub/constants.ts"],"sourcesContent":["const CHAPTER_SHEET_EVENTS = {\n CHAPTER_UPDATED: 'CHAPTER_UPDATED',\n LESSONS_MARKED_AS_FAMILIAR: 'LESSONS_MARKED_AS_FAMILIAR',\n LESSONS_MARKED_AS_IRRELEVANT: 'LESSONS_MARKED_AS_IRRELEVANT',\n LESSONS_PROGRESS_RESET: 'LESSONS_PROGRESS_RESET',\n UNLOCK_SHEETS: 'UNLOCK_SHEETS',\n EXTRA_PRACTICE_ASSIGNED: 'EXTRA_PRACTICE_ASSIGNED',\n CHANGE_LOCATION: 'CHANGE_LOCATION',\n SHEET_MARKED_AS_REVIEWED: 'SHEET_MARKED_AS_REVIEWED',\n SHEET_STARTED: 'SHEET_STARTED',\n SHEET_SUBMITTED: 'SHEET_SUBMITTED',\n SHEET_UNASSIGNED: 'SHEET_UNASSIGNED',\n SHEET_REATTEMPTED: 'SHEET_REATTEMPTED',\n INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION: 'INVALIDATE_CHAPTER_ON_CHANGE_ATTEMPT_LOCATION',\n} as const;\n\nconst GOAL_EVENTS = {\n GOAL_CREATED: 'GOAL_CREATED',\n GOAL_EDITED: 'GOAL_EDITED',\n GOAL_DELETED: 'GOAL_DELETED',\n GOAL_OUTCOME_ADDED: 'GOAL_OUTCOME_ADDED',\n} as const;\n\nconst MILESTONE_EVENTS = {\n MILESTONE_NAME_UPDATED: 'MILESTONE_NAME_UPDATED',\n MILESTONE_DATE_UPDATED: 'MILESTONE_DATE_UPDATED',\n MILESTONE_DELETED: 'MILESTONE_DELETED',\n MILESTONE_EDITED: 'MILESTONE_EDITED',\n MILESTONE_RESOURCE_ASSIGNED: 'MILESTONE_RESOURCE_ASSIGNED',\n MILESTONE_RESOURCE_UNASSIGNED: 'MILESTONE_RESOURCE_UNASSIGNED',\n MILESTONE_RESOURCE_RESET: 'MILESTONE_RESOURCE_RESET',\n PAST_MILESTONE_OUTCOME_ADDED: 'PAST_MILESTONE_OUTCOME_ADDED',\n MILESTONE_TEST_ASSIGNED: 'MILESTONE_TEST_ASSIGNED',\n} as const;\n\nconst HOMEWORK_EVENTS = {\n HOMEWORK_UNASSIGN: 'HOMEWORK_UNASSIGN',\n INVALIDATE_HOMEWORK: 'INVALIDATE_HOMEWORK',\n} as const;\n\nconst PUZZLE_EVENTS = {\n PUZZLE_ASSIGNED: 'PUZZLE_ASSIGNED',\n PUZZLE_UNASSIGNED: 'PUZZLE_UNASSIGNED',\n PUZZLE_REVIEWED: 'PUZZLE_REVIEWED',\n PUZZLE_FEEDBACK_CELEBRATION: 'PUZZLE_FEEDBACK_CELEBRATION',\n} as const;\n\nconst EVENTS = {\n ...CHAPTER_SHEET_EVENTS,\n ...MILESTONE_EVENTS,\n ...GOAL_EVENTS,\n ...HOMEWORK_EVENTS,\n ...PUZZLE_EVENTS,\n};\n\nexport { EVENTS };\n"],"names":["CHAPTER_SHEET_EVENTS","GOAL_EVENTS","MILESTONE_EVENTS","HOMEWORK_EVENTS","PUZZLE_EVENTS","EVENTS"],"mappings":"AAAA,MAAMA,IAAuB;AAAA,EAC3B,iBAAiB;AAAA,EACjB,4BAA4B;AAAA,EAC5B,8BAA8B;AAAA,EAC9B,wBAAwB;AAAA,EACxB,eAAe;AAAA,EACf,yBAAyB;AAAA,EACzB,iBAAiB;AAAA,EACjB,0BAA0B;AAAA,EAC1B,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,+CAA+C;AACjD,GAEMC,IAAc;AAAA,EAClB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,cAAc;AAAA,EACd,oBAAoB;AACtB,GAEMC,IAAmB;AAAA,EACvB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,6BAA6B;AAAA,EAC7B,+BAA+B;AAAA,EAC/B,0BAA0B;AAAA,EAC1B,8BAA8B;AAAA,EAC9B,yBAAyB;AAC3B,GAEMC,IAAkB;AAAA,EACtB,mBAAmB;AAAA,EACnB,qBAAqB;AACvB,GAEMC,IAAgB;AAAA,EACpB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,6BAA6B;AAC/B,GAEMC,IAAS;AAAA,EACb,GAAGL;AAAA,EACH,GAAGE;AAAA,EACH,GAAGD;AAAA,EACH,GAAGE;AAAA,EACH,GAAGC;AACL;"}