@cuemath/leap 3.2.15-link.1 → 3.2.16-pzd-beta-0.1

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 (240) 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/line-icons/icons/cue-board-filled.js +33 -0
  4. package/dist/assets/line-icons/icons/cue-board-filled.js.map +1 -0
  5. package/dist/assets/line-icons/icons/cue-board.js +23 -0
  6. package/dist/assets/line-icons/icons/cue-board.js.map +1 -0
  7. package/dist/assets/line-icons/icons/hint-fill.js +35 -0
  8. package/dist/assets/line-icons/icons/hint-fill.js.map +1 -0
  9. package/dist/assets/line-icons/icons/screen-grab-filled.js +35 -0
  10. package/dist/assets/line-icons/icons/screen-grab-filled.js.map +1 -0
  11. package/dist/assets/line-icons/icons/screen-grab.js +23 -0
  12. package/dist/assets/line-icons/icons/screen-grab.js.map +1 -0
  13. package/dist/assets/line-icons/icons/sticker-filled.js +64 -0
  14. package/dist/assets/line-icons/icons/sticker-filled.js.map +1 -0
  15. package/dist/assets/line-icons/icons/sticker.js +46 -0
  16. package/dist/assets/line-icons/icons/sticker.js.map +1 -0
  17. package/dist/assets/lottie/lottie.js +6 -11
  18. package/dist/assets/lottie/lottie.js.map +1 -1
  19. package/dist/features/analytics-events/platform-events-student.js +2 -1
  20. package/dist/features/analytics-events/platform-events-student.js.map +1 -1
  21. package/dist/features/analytics-events/platform-events-teacher.js +6 -4
  22. package/dist/features/analytics-events/platform-events-teacher.js.map +1 -1
  23. package/dist/features/analytics-events/whitelist-events.js +10 -8
  24. package/dist/features/analytics-events/whitelist-events.js.map +1 -1
  25. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js +13 -18
  26. package/dist/features/auth/comps/auth-page-layout/auth-page-layout.js.map +1 -1
  27. package/dist/features/auth/comps/resend-otp/resend-otp.js +47 -54
  28. package/dist/features/auth/comps/resend-otp/resend-otp.js.map +1 -1
  29. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js +17 -29
  30. package/dist/features/auth/comps/tabs/tab-tem/tab-item.js.map +1 -1
  31. package/dist/features/auth/comps/tabs/tabs-styled.js +10 -22
  32. package/dist/features/auth/comps/tabs/tabs-styled.js.map +1 -1
  33. package/dist/features/auth/comps/tabs/tabs.js +5 -5
  34. package/dist/features/auth/comps/tabs/tabs.js.map +1 -1
  35. package/dist/features/chapters-v2/utils/node-card-utils.js +9 -9
  36. package/dist/features/chapters-v2/utils/node-card-utils.js.map +1 -1
  37. package/dist/features/communication/pub-sub/constants.js +7 -4
  38. package/dist/features/communication/pub-sub/constants.js.map +1 -1
  39. package/dist/features/homework/homework-card-view.js +85 -97
  40. package/dist/features/homework/homework-card-view.js.map +1 -1
  41. package/dist/features/homework/homework-card.js +44 -42
  42. package/dist/features/homework/homework-card.js.map +1 -1
  43. package/dist/features/homework/hw-card-list/hw-card-list-view.js +31 -29
  44. package/dist/features/homework/hw-card-list/hw-card-list-view.js.map +1 -1
  45. package/dist/features/homework/hw-card-list/hw-card-list.js +57 -50
  46. package/dist/features/homework/hw-card-list/hw-card-list.js.map +1 -1
  47. package/dist/features/homework/utils.js +33 -27
  48. package/dist/features/homework/utils.js.map +1 -1
  49. package/dist/features/journey/comps/coachmark/coachmark.js +29 -28
  50. package/dist/features/journey/comps/coachmark/coachmark.js.map +1 -1
  51. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js +17 -11
  52. package/dist/features/journey/hooks/use-home-page-journey/tooltip-item.js.map +1 -1
  53. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-assigned.js +72 -0
  54. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-assigned.js.map +1 -0
  55. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.js +59 -0
  56. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.js.map +1 -0
  57. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js +63 -0
  58. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-dashboard-journey.js.map +1 -0
  59. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-intro-journey.js +67 -0
  60. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-intro-journey.js.map +1 -0
  61. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-progress-journey.js +70 -0
  62. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-progress-journey.js.map +1 -0
  63. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-review-journey.js +59 -0
  64. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-review-journey.js.map +1 -0
  65. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey.js +59 -0
  66. package/dist/features/journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey.js.map +1 -0
  67. package/dist/features/journey/hooks/use-puzzles-journey/use-teacher-puzzle-assigned-journey.js +70 -0
  68. package/dist/features/journey/hooks/use-puzzles-journey/use-teacher-puzzle-assigned-journey.js.map +1 -0
  69. package/dist/features/journey/journey-id/journey-id-student.js +2 -2
  70. package/dist/features/journey/journey-id/journey-id-student.js.map +1 -1
  71. package/dist/features/journey/journey-id/journey-id-teacher.js +2 -2
  72. package/dist/features/journey/journey-id/journey-id-teacher.js.map +1 -1
  73. package/dist/features/journey/use-journey/journey-context-provider.js +73 -72
  74. package/dist/features/journey/use-journey/journey-context-provider.js.map +1 -1
  75. package/dist/features/journey/use-journey/journey-styled.js +6 -4
  76. package/dist/features/journey/use-journey/journey-styled.js.map +1 -1
  77. package/dist/features/puzzles/api/puzzle-dashboard.js +10 -0
  78. package/dist/features/puzzles/api/puzzle-dashboard.js.map +1 -0
  79. package/dist/features/puzzles/app/puzzle-app-styled.js +81 -0
  80. package/dist/features/puzzles/app/puzzle-app-styled.js.map +1 -0
  81. package/dist/features/puzzles/app/puzzle-app-view.js +120 -0
  82. package/dist/features/puzzles/app/puzzle-app-view.js.map +1 -0
  83. package/dist/features/puzzles/app/puzzle-app.js +62 -0
  84. package/dist/features/puzzles/app/puzzle-app.js.map +1 -0
  85. package/dist/features/puzzles/comps/puzzle-card-styled.js +24 -69
  86. package/dist/features/puzzles/comps/puzzle-card-styled.js.map +1 -1
  87. package/dist/features/puzzles/comps/puzzle-card.js +64 -30
  88. package/dist/features/puzzles/comps/puzzle-card.js.map +1 -1
  89. package/dist/features/puzzles/constants/puzzle-container.js +8 -0
  90. package/dist/features/puzzles/constants/puzzle-container.js.map +1 -0
  91. package/dist/features/puzzles/puzzle-analytics-events.js +11 -0
  92. package/dist/features/puzzles/puzzle-analytics-events.js.map +1 -0
  93. package/dist/features/puzzles/puzzle-container/puzzle-container-styled.js +55 -25
  94. package/dist/features/puzzles/puzzle-container/puzzle-container-styled.js.map +1 -1
  95. package/dist/features/puzzles/puzzle-container/puzzle-container-view.js +55 -0
  96. package/dist/features/puzzles/puzzle-container/puzzle-container-view.js.map +1 -0
  97. package/dist/features/puzzles/puzzle-container/puzzle-container.js +100 -107
  98. package/dist/features/puzzles/puzzle-container/puzzle-container.js.map +1 -1
  99. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard-styled.js +37 -0
  100. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard-styled.js.map +1 -0
  101. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js +110 -0
  102. package/dist/features/puzzles/puzzle-dashboard/puzzle-dashboard.js.map +1 -0
  103. package/dist/features/puzzles/utils/puzzle-pattern.js +28 -13
  104. package/dist/features/puzzles/utils/puzzle-pattern.js.map +1 -1
  105. package/dist/features/trial-session/comps/teacher-intro/teacher-intro-styled.js +50 -7
  106. package/dist/features/trial-session/comps/teacher-intro/teacher-intro-styled.js.map +1 -1
  107. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js +69 -15
  108. package/dist/features/trial-session/comps/teacher-intro/teacher-intro.js.map +1 -1
  109. package/dist/features/ui/arrow-tooltip/arrow-tooltip-constants.js +6 -0
  110. package/dist/features/ui/arrow-tooltip/arrow-tooltip-constants.js.map +1 -0
  111. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js +12 -60
  112. package/dist/features/ui/arrow-tooltip/arrow-tooltip-styled.js.map +1 -1
  113. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js +72 -77
  114. package/dist/features/ui/arrow-tooltip/arrow-tooltip.js.map +1 -1
  115. package/dist/features/ui/arrow-tooltip/comps/tooltip-body-styled.js +63 -0
  116. package/dist/features/ui/arrow-tooltip/comps/tooltip-body-styled.js.map +1 -0
  117. package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js +21 -0
  118. package/dist/features/ui/arrow-tooltip/comps/tooltip-body.js.map +1 -0
  119. package/dist/features/ui/image/image.js +1 -1
  120. package/dist/features/ui/image/image.js.map +1 -1
  121. package/dist/features/ui/inputs/base-input/base-input.js +11 -11
  122. package/dist/features/ui/inputs/base-input/base-input.js.map +1 -1
  123. package/dist/features/ui/inputs/text-input/text-input.js +18 -19
  124. package/dist/features/ui/inputs/text-input/text-input.js.map +1 -1
  125. package/dist/features/ui/modals/modal-styled.js +8 -43
  126. package/dist/features/ui/modals/modal-styled.js.map +1 -1
  127. package/dist/features/ui/modals/modal.js +27 -37
  128. package/dist/features/ui/modals/modal.js.map +1 -1
  129. package/dist/features/ui/nudge/nudge-styled.js +14 -7
  130. package/dist/features/ui/nudge/nudge-styled.js.map +1 -1
  131. package/dist/features/ui/nudge/nudge.js +13 -12
  132. package/dist/features/ui/nudge/nudge.js.map +1 -1
  133. package/dist/features/ui/text/text.js +29 -31
  134. package/dist/features/ui/text/text.js.map +1 -1
  135. package/dist/features/ui/theme/button.js +78 -78
  136. package/dist/features/ui/theme/button.js.map +1 -1
  137. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js +28 -0
  138. package/dist/features/worksheet/worksheet/hooks/use-worksheet-journey.js.map +1 -0
  139. package/dist/features/worksheet/worksheet/worksheet-helpers.js +20 -19
  140. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  141. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js +29 -25
  142. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  143. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js +101 -47
  144. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
  145. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +149 -146
  146. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  147. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +242 -207
  148. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  149. package/dist/features/worksheet/worksheet/worksheet-styled.js +37 -37
  150. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  151. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  152. package/dist/features/worksheet/worksheet/worksheet.js +307 -313
  153. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  154. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +1 -1
  155. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  156. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js +44 -35
  157. package/dist/features/worksheet/worksheet-preview/worksheet-preview.js.map +1 -1
  158. package/dist/index.d.ts +125 -156
  159. package/dist/index.js +520 -524
  160. package/dist/index.js.map +1 -1
  161. package/dist/static/nudge-tap.0591aef4.json +1 -0
  162. package/dist/static/puzzle-blue-lottie.7017e2e8.json +1 -0
  163. package/dist/static/puzzle-blue-lottie.bf64ebc5.json +12760 -0
  164. package/dist/static/puzzle-dashboard-banner.b7956519.svg +1 -0
  165. package/dist/static/puzzle-green-lottie.1da90698.json +1 -0
  166. package/dist/static/puzzle-orange-lottie.cfcf3724.json +1 -0
  167. package/dist/static/puzzle-purple-lottie.e70de110.json +9860 -0
  168. package/dist/static/puzzle-yellow-lottie.275b5cf4.json +1 -0
  169. package/package.json +3 -2
  170. package/dist/assets/line-icons/icons/after-noon.js +0 -34
  171. package/dist/assets/line-icons/icons/after-noon.js.map +0 -1
  172. package/dist/assets/line-icons/icons/apple-icon-white.js +0 -42
  173. package/dist/assets/line-icons/icons/apple-icon-white.js.map +0 -1
  174. package/dist/assets/line-icons/icons/evening.js +0 -35
  175. package/dist/assets/line-icons/icons/evening.js.map +0 -1
  176. package/dist/assets/line-icons/icons/morning.js +0 -35
  177. package/dist/assets/line-icons/icons/morning.js.map +0 -1
  178. package/dist/assets/line-icons/icons/star3.js +0 -32
  179. package/dist/assets/line-icons/icons/star3.js.map +0 -1
  180. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js +0 -9
  181. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js.map +0 -1
  182. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js +0 -65
  183. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js.map +0 -1
  184. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +0 -92
  185. package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +0 -1
  186. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js +0 -12
  187. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar-styled.js.map +0 -1
  188. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js +0 -34
  189. package/dist/features/auth/comps/linear-progress-bar/linear-progress-bar.js.map +0 -1
  190. package/dist/features/auth/comps/otp-input/otp-input-styled.js +0 -22
  191. package/dist/features/auth/comps/otp-input/otp-input-styled.js.map +0 -1
  192. package/dist/features/auth/comps/otp-input/otp-input.js +0 -51
  193. package/dist/features/auth/comps/otp-input/otp-input.js.map +0 -1
  194. package/dist/features/auth/comps/pill-button/pill-button-styled.js +0 -44
  195. package/dist/features/auth/comps/pill-button/pill-button-styled.js.map +0 -1
  196. package/dist/features/auth/comps/pill-button/pill-button.js +0 -75
  197. package/dist/features/auth/comps/pill-button/pill-button.js.map +0 -1
  198. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js +0 -17
  199. package/dist/features/auth/comps/selectable-info-card/selectable-info-card-styled.js.map +0 -1
  200. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js +0 -67
  201. package/dist/features/auth/comps/selectable-info-card/selectable-info-card.js.map +0 -1
  202. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-constants.js +0 -19
  203. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-constants.js.map +0 -1
  204. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-styled.js +0 -32
  205. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide-styled.js.map +0 -1
  206. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide.js +0 -44
  207. package/dist/features/auth/signup-v2/onboarding-guide/onboarding-guide.js.map +0 -1
  208. package/dist/features/auth/signup-v2/signup-header/signup-header.js +0 -54
  209. package/dist/features/auth/signup-v2/signup-header/signup-header.js.map +0 -1
  210. package/dist/features/auth/signup-v2/signup-options/signup-options.js +0 -83
  211. package/dist/features/auth/signup-v2/signup-options/signup-options.js.map +0 -1
  212. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js +0 -49
  213. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile-styled.js.map +0 -1
  214. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js +0 -64
  215. package/dist/features/trial-session/comps/teacher-intro/teacher-profile/teacher-profile.js.map +0 -1
  216. package/dist/features/ui/accordion/accordion-items/accordion-items-styled.js +0 -28
  217. package/dist/features/ui/accordion/accordion-items/accordion-items-styled.js.map +0 -1
  218. package/dist/features/ui/accordion/accordion-items/accordion-items.js +0 -83
  219. package/dist/features/ui/accordion/accordion-items/accordion-items.js.map +0 -1
  220. package/dist/features/ui/accordion/accordion.js +0 -62
  221. package/dist/features/ui/accordion/accordion.js.map +0 -1
  222. package/dist/static/animated-avatar.1ad58b1d.json +0 -1
  223. package/dist/static/animated-avatar.69b07505.json +0 -1
  224. package/dist/static/animated-avatar.9c560b46.json +0 -1
  225. package/dist/static/calendar-purple.1a840b41.svg +0 -1
  226. package/dist/static/flying-disk.c7f6ed39.json +0 -1
  227. package/dist/static/graduation-cap.3be3340a.json +0 -1
  228. package/dist/static/handshake.287e7dfb.svg +0 -1
  229. package/dist/static/light-bulb.c6db0b23.json +0 -1
  230. package/dist/static/money.332aacf1.svg +0 -1
  231. package/dist/static/muscle.9bcfb8a7.json +0 -1
  232. package/dist/static/nudge-tap.5cb30093.json +0 -1057
  233. package/dist/static/parent-avatar.822c7b9b.svg +0 -1
  234. package/dist/static/pencil.23df9da0.json +0 -1
  235. package/dist/static/plus-sign.de6af957.json +0 -1
  236. package/dist/static/racing-car.2cbf864e.json +0 -1
  237. package/dist/static/rocket.0a3ccab0.json +0 -1
  238. package/dist/static/shovel.abeec04c.json +0 -1
  239. package/dist/static/stripe-blurple.6abf422f.svg +0 -1
  240. package/dist/static/trustpilot.bd3d79e1.svg +0 -1
@@ -1,48 +1,48 @@
1
- const d = (a) => ({ sizes: {
1
+ const e = (i) => ({ sizes: {
2
2
  xsmall: {
3
- height: a * 2,
4
- paddingHorizontal: a * 1.375,
3
+ height: i * 2,
4
+ paddingHorizontal: i * 1.375,
5
5
  textVariant: "ub3-bold",
6
6
  borderWidth: 1,
7
- iconSize: a,
8
- iconPadding: a * 0.25,
9
- loaderSize: a * 1.25
7
+ iconSize: i,
8
+ iconPadding: i * 0.25,
9
+ loaderSize: i * 1.25
10
10
  },
11
11
  small: {
12
- height: a * 2.5,
13
- paddingHorizontal: a * 1.625,
12
+ height: i * 2.5,
13
+ paddingHorizontal: i * 1.625,
14
14
  textVariant: "ub2-bold",
15
15
  borderWidth: 1,
16
- iconSize: a * 1.25,
17
- iconPadding: a * 0.375,
18
- loaderSize: a * 1.5
16
+ iconSize: i * 1.25,
17
+ iconPadding: i * 0.375,
18
+ loaderSize: i * 1.5
19
19
  },
20
20
  regular: {
21
- height: a * 3,
22
- paddingHorizontal: a * 1.875,
21
+ height: i * 3,
22
+ paddingHorizontal: i * 1.875,
23
23
  textVariant: "ub1-bold",
24
24
  borderWidth: 1,
25
- iconSize: a * 1.5,
26
- iconPadding: a * 0.5,
27
- loaderSize: a * 1.75
25
+ iconSize: i * 1.5,
26
+ iconPadding: i * 0.5,
27
+ loaderSize: i * 1.75
28
28
  },
29
29
  medium: {
30
- height: a * 3.5,
31
- paddingHorizontal: a * 2.125,
30
+ height: i * 3.5,
31
+ paddingHorizontal: i * 2.125,
32
32
  textVariant: "ub1-bold",
33
33
  borderWidth: 1.5,
34
- iconSize: a * 1.5,
35
- iconPadding: a * 0.5,
36
- loaderSize: a * 2
34
+ iconSize: i * 1.5,
35
+ iconPadding: i * 0.5,
36
+ loaderSize: i * 2
37
37
  },
38
38
  large: {
39
- height: a * 4,
40
- paddingHorizontal: a * 2.375,
39
+ height: i * 4,
40
+ paddingHorizontal: i * 2.375,
41
41
  textVariant: "ub1-bold",
42
42
  borderWidth: 2,
43
- iconSize: a * 1.5,
44
- iconPadding: a * 0.5,
45
- loaderSize: a * 2.25
43
+ iconSize: i * 1.5,
44
+ iconPadding: i * 0.5,
45
+ loaderSize: i * 2.25
46
46
  }
47
47
  }, variants: {
48
48
  primary: {
@@ -129,57 +129,6 @@ const d = (a) => ({ sizes: {
129
129
  active: "BLACK",
130
130
  disabled: "WHITE_T_15"
131
131
  }
132
- },
133
- black: {
134
- backgroundColorName: {
135
- inactive: "BLACK_1",
136
- active: "BLACK_T_60",
137
- disabled: "BLACK_T_15"
138
- },
139
- borderColorName: {
140
- inactive: "BLACK_1",
141
- active: "BLACK_1",
142
- disabled: "BLACK_T_15"
143
- },
144
- colorName: {
145
- inactive: "WHITE_1",
146
- active: "WHITE_1",
147
- disabled: "WHITE_T_87"
148
- }
149
- },
150
- "black-dark": {
151
- backgroundColorName: {
152
- inactive: "BLACK_1",
153
- active: "BLACK_4",
154
- disabled: "WHITE_T_10"
155
- },
156
- borderColorName: {
157
- inactive: "WHITE_1",
158
- active: "WHITE_1",
159
- disabled: "WHITE_T_15"
160
- },
161
- colorName: {
162
- inactive: "WHITE_1",
163
- active: "WHITE_1",
164
- disabled: "WHITE_T_38"
165
- }
166
- },
167
- "yellow-dark": {
168
- backgroundColorName: {
169
- inactive: "YELLOW_4",
170
- active: "YELLOW_3",
171
- disabled: "WHITE_T_10"
172
- },
173
- borderColorName: {
174
- inactive: "WHITE",
175
- active: "WHITE",
176
- disabled: "WHITE_T_15"
177
- },
178
- colorName: {
179
- inactive: "BLACK_1",
180
- active: "BLACK_1",
181
- disabled: "WHITE_T_38"
182
- }
183
132
  }
184
133
  // 'yellow': {
185
134
  // backgroundColorName: {
@@ -198,6 +147,23 @@ const d = (a) => ({ sizes: {
198
147
  // disabled: 'BLACK_T_35',
199
148
  // },
200
149
  // },
150
+ // 'yellow-dark': {
151
+ // backgroundColorName: {
152
+ // inactive: 'YELLOW_4',
153
+ // active: 'WHITE_4',
154
+ // disabled: 'WHITE_T_40',
155
+ // },
156
+ // borderColorName: {
157
+ // inactive: 'BLACK_4',
158
+ // active: 'BLACK_4',
159
+ // disabled: 'WHITE_T_40',
160
+ // },
161
+ // colorName: {
162
+ // inactive: 'BLACK_4',
163
+ // active: 'BLACK_4',
164
+ // disabled: 'WHITE_T_40',
165
+ // },
166
+ // },
201
167
  // 'white': {
202
168
  // backgroundColorName: {
203
169
  // inactive: 'WHITE_1',
@@ -232,8 +198,42 @@ const d = (a) => ({ sizes: {
232
198
  // disabled: 'WHITE_T_40',
233
199
  // },
234
200
  // },
201
+ // 'black': {
202
+ // backgroundColorName: {
203
+ // inactive: 'BLACK_4',
204
+ // active: 'BLACK_T_60',
205
+ // disabled: 'BLACK_T_35',
206
+ // },
207
+ // borderColorName: {
208
+ // inactive: 'BLACK_4',
209
+ // active: 'BLACK_4',
210
+ // disabled: 'BLACK_T_35',
211
+ // },
212
+ // colorName: {
213
+ // inactive: 'WHITE_4',
214
+ // active: 'WHITE_4',
215
+ // disabled: 'BLACK_T_35',
216
+ // },
217
+ // },
218
+ // 'black-dark': {
219
+ // backgroundColorName: {
220
+ // inactive: 'BLACK_4',
221
+ // active: 'WHITE_T_40',
222
+ // disabled: 'WHITE_T_40',
223
+ // },
224
+ // borderColorName: {
225
+ // inactive: 'WHITE_4',
226
+ // active: 'WHITE_4',
227
+ // disabled: 'WHITE_T_40',
228
+ // },
229
+ // colorName: {
230
+ // inactive: 'WHITE_4',
231
+ // active: 'WHITE_4',
232
+ // disabled: 'WHITE_T_40',
233
+ // },
234
+ // },
235
235
  } });
236
236
  export {
237
- d as default
237
+ e as default
238
238
  };
239
239
  //# sourceMappingURL=button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sources":["../../../../src/features/ui/theme/button.ts"],"sourcesContent":["import type {\n IButtonSizeConfig,\n TButtonSizes,\n IButtonVariantConfig,\n TButtonVariants,\n} from '../types';\n\ninterface IGetButtonConfig {\n (gutter: number): {\n sizes: Record<TButtonSizes, IButtonSizeConfig>;\n variants: Record<TButtonVariants, IButtonVariantConfig>;\n };\n}\n\nconst getButtonConfig: IGetButtonConfig = (gutter: number) => {\n const sizes: Record<TButtonSizes, IButtonSizeConfig> = {\n xsmall: {\n height: gutter * 2,\n paddingHorizontal: gutter * (1 + 0.375),\n textVariant: 'ub3-bold',\n borderWidth: 1,\n iconSize: gutter,\n iconPadding: gutter * 0.25,\n loaderSize: gutter * 1.25,\n },\n small: {\n height: gutter * 2.5,\n paddingHorizontal: gutter * (1 + 0.625),\n textVariant: 'ub2-bold',\n borderWidth: 1,\n iconSize: gutter * 1.25,\n iconPadding: gutter * 0.375,\n loaderSize: gutter * 1.5,\n },\n regular: {\n height: gutter * 3,\n paddingHorizontal: gutter * (1 + 0.875),\n textVariant: 'ub1-bold',\n borderWidth: 1,\n iconSize: gutter * 1.5,\n iconPadding: gutter * 0.5,\n loaderSize: gutter * 1.75,\n },\n medium: {\n height: gutter * 3.5,\n paddingHorizontal: gutter * (1 + 1.125),\n textVariant: 'ub1-bold',\n borderWidth: 1.5,\n iconSize: gutter * 1.5,\n iconPadding: gutter * 0.5,\n loaderSize: gutter * 2,\n },\n large: {\n height: gutter * 4,\n paddingHorizontal: gutter * (1 + 1.375),\n textVariant: 'ub1-bold',\n borderWidth: 2,\n iconSize: gutter * 1.5,\n iconPadding: gutter * 0.5,\n loaderSize: gutter * 2.25,\n },\n };\n\n const variants: Record<TButtonVariants, IButtonVariantConfig> = {\n 'primary': {\n backgroundColorName: {\n inactive: 'YELLOW_4',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n colorName: {\n inactive: 'BLACK',\n active: 'WHITE',\n disabled: 'BLACK',\n },\n borderColorName: {\n inactive: 'BLACK',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n },\n 'secondary': {\n backgroundColorName: {\n inactive: 'WHITE',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n colorName: {\n inactive: 'BLACK',\n active: 'WHITE',\n disabled: 'BLACK',\n },\n borderColorName: {\n inactive: 'BLACK',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n },\n 'tertiary': {\n backgroundColorName: {\n inactive: 'RED',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n colorName: {\n inactive: 'WHITE',\n active: 'WHITE',\n disabled: 'BLACK',\n },\n borderColorName: {\n inactive: 'BLACK',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n },\n 'secondary-gray': {\n backgroundColorName: {\n inactive: 'WHITE',\n active: 'WHITE_4',\n disabled: 'GREY_3',\n },\n colorName: {\n inactive: 'BLACK',\n active: 'BLACK',\n disabled: 'BLACK',\n },\n borderColorName: {\n inactive: 'BLACK',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n },\n 'secondary-dark': {\n backgroundColorName: {\n inactive: 'WHITE',\n active: 'BLACK',\n disabled: 'WHITE_T_10',\n },\n colorName: {\n inactive: 'BLACK',\n active: 'WHITE',\n disabled: 'WHITE_T_38',\n },\n borderColorName: {\n inactive: 'WHITE',\n active: 'BLACK',\n disabled: 'WHITE_T_15',\n },\n },\n 'black': {\n backgroundColorName: {\n inactive: 'BLACK_1',\n active: 'BLACK_T_60',\n disabled: 'BLACK_T_15',\n },\n borderColorName: {\n inactive: 'BLACK_1',\n active: 'BLACK_1',\n disabled: 'BLACK_T_15',\n },\n colorName: {\n inactive: 'WHITE_1',\n active: 'WHITE_1',\n disabled: 'WHITE_T_87',\n },\n },\n 'black-dark': {\n backgroundColorName: {\n inactive: 'BLACK_1',\n active: 'BLACK_4',\n disabled: 'WHITE_T_10',\n },\n borderColorName: {\n inactive: 'WHITE_1',\n active: 'WHITE_1',\n disabled: 'WHITE_T_15',\n },\n colorName: {\n inactive: 'WHITE_1',\n active: 'WHITE_1',\n disabled: 'WHITE_T_38',\n },\n },\n 'yellow-dark': {\n backgroundColorName: {\n inactive: 'YELLOW_4',\n active: 'YELLOW_3',\n disabled: 'WHITE_T_10',\n },\n borderColorName: {\n inactive: 'WHITE',\n active: 'WHITE',\n disabled: 'WHITE_T_15',\n },\n colorName: {\n inactive: 'BLACK_1',\n active: 'BLACK_1',\n disabled: 'WHITE_T_38',\n },\n },\n // 'yellow': {\n // backgroundColorName: {\n // inactive: 'YELLOW_4',\n // active: 'BLACK_4',\n // disabled: 'BLACK_T_35',\n // },\n // borderColorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_4',\n // disabled: 'BLACK_T_35',\n // },\n // colorName: {\n // inactive: 'BLACK_4',\n // active: 'WHITE_4',\n // disabled: 'BLACK_T_35',\n // },\n // },\n\n // 'white': {\n // backgroundColorName: {\n // inactive: 'WHITE_1',\n // active: 'BLACK_T_35',\n // disabled: 'BLACK_T_35',\n // },\n // borderColorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_4',\n // disabled: 'BLACK_T_35',\n // },\n // colorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_4',\n // disabled: 'BLACK_T_35',\n // },\n // },\n // 'white-dark': {\n // backgroundColorName: {\n // inactive: 'WHITE_4',\n // active: 'WHITE_T_70',\n // disabled: 'WHITE_T_40',\n // },\n // borderColorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_4',\n // disabled: 'WHITE_T_40',\n // },\n // colorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_4',\n // disabled: 'WHITE_T_40',\n // },\n // },\n };\n\n return { sizes, variants };\n};\n\nexport default getButtonConfig;\n"],"names":["getButtonConfig","gutter"],"mappings":"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"}
1
+ {"version":3,"file":"button.js","sources":["../../../../src/features/ui/theme/button.ts"],"sourcesContent":["import type {\n IButtonSizeConfig,\n TButtonSizes,\n IButtonVariantConfig,\n TButtonVariants,\n} from '../types';\n\ninterface IGetButtonConfig {\n (gutter: number): {\n sizes: Record<TButtonSizes, IButtonSizeConfig>;\n variants: Record<TButtonVariants, IButtonVariantConfig>;\n };\n}\n\nconst getButtonConfig: IGetButtonConfig = (gutter: number) => {\n const sizes: Record<TButtonSizes, IButtonSizeConfig> = {\n xsmall: {\n height: gutter * 2,\n paddingHorizontal: gutter * (1 + 0.375),\n textVariant: 'ub3-bold',\n borderWidth: 1,\n iconSize: gutter,\n iconPadding: gutter * 0.25,\n loaderSize: gutter * 1.25,\n },\n small: {\n height: gutter * 2.5,\n paddingHorizontal: gutter * (1 + 0.625),\n textVariant: 'ub2-bold',\n borderWidth: 1,\n iconSize: gutter * 1.25,\n iconPadding: gutter * 0.375,\n loaderSize: gutter * 1.5,\n },\n regular: {\n height: gutter * 3,\n paddingHorizontal: gutter * (1 + 0.875),\n textVariant: 'ub1-bold',\n borderWidth: 1,\n iconSize: gutter * 1.5,\n iconPadding: gutter * 0.5,\n loaderSize: gutter * 1.75,\n },\n medium: {\n height: gutter * 3.5,\n paddingHorizontal: gutter * (1 + 1.125),\n textVariant: 'ub1-bold',\n borderWidth: 1.5,\n iconSize: gutter * 1.5,\n iconPadding: gutter * 0.5,\n loaderSize: gutter * 2,\n },\n large: {\n height: gutter * 4,\n paddingHorizontal: gutter * (1 + 1.375),\n textVariant: 'ub1-bold',\n borderWidth: 2,\n iconSize: gutter * 1.5,\n iconPadding: gutter * 0.5,\n loaderSize: gutter * 2.25,\n },\n };\n\n const variants: Record<TButtonVariants, IButtonVariantConfig> = {\n 'primary': {\n backgroundColorName: {\n inactive: 'YELLOW_4',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n colorName: {\n inactive: 'BLACK',\n active: 'WHITE',\n disabled: 'BLACK',\n },\n borderColorName: {\n inactive: 'BLACK',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n },\n 'secondary': {\n backgroundColorName: {\n inactive: 'WHITE',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n colorName: {\n inactive: 'BLACK',\n active: 'WHITE',\n disabled: 'BLACK',\n },\n borderColorName: {\n inactive: 'BLACK',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n },\n 'tertiary': {\n backgroundColorName: {\n inactive: 'RED',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n colorName: {\n inactive: 'WHITE',\n active: 'WHITE',\n disabled: 'BLACK',\n },\n borderColorName: {\n inactive: 'BLACK',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n },\n 'secondary-gray': {\n backgroundColorName: {\n inactive: 'WHITE',\n active: 'WHITE_4',\n disabled: 'GREY_3',\n },\n colorName: {\n inactive: 'BLACK',\n active: 'BLACK',\n disabled: 'BLACK',\n },\n borderColorName: {\n inactive: 'BLACK',\n active: 'BLACK',\n disabled: 'GREY_3',\n },\n },\n 'secondary-dark': {\n backgroundColorName: {\n inactive: 'WHITE',\n active: 'BLACK',\n disabled: 'WHITE_T_10',\n },\n colorName: {\n inactive: 'BLACK',\n active: 'WHITE',\n disabled: 'WHITE_T_38',\n },\n borderColorName: {\n inactive: 'WHITE',\n active: 'BLACK',\n disabled: 'WHITE_T_15',\n },\n },\n // 'yellow': {\n // backgroundColorName: {\n // inactive: 'YELLOW_4',\n // active: 'BLACK_4',\n // disabled: 'BLACK_T_35',\n // },\n // borderColorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_4',\n // disabled: 'BLACK_T_35',\n // },\n // colorName: {\n // inactive: 'BLACK_4',\n // active: 'WHITE_4',\n // disabled: 'BLACK_T_35',\n // },\n // },\n // 'yellow-dark': {\n // backgroundColorName: {\n // inactive: 'YELLOW_4',\n // active: 'WHITE_4',\n // disabled: 'WHITE_T_40',\n // },\n // borderColorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_4',\n // disabled: 'WHITE_T_40',\n // },\n // colorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_4',\n // disabled: 'WHITE_T_40',\n // },\n // },\n // 'white': {\n // backgroundColorName: {\n // inactive: 'WHITE_1',\n // active: 'BLACK_T_35',\n // disabled: 'BLACK_T_35',\n // },\n // borderColorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_4',\n // disabled: 'BLACK_T_35',\n // },\n // colorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_4',\n // disabled: 'BLACK_T_35',\n // },\n // },\n // 'white-dark': {\n // backgroundColorName: {\n // inactive: 'WHITE_4',\n // active: 'WHITE_T_70',\n // disabled: 'WHITE_T_40',\n // },\n // borderColorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_4',\n // disabled: 'WHITE_T_40',\n // },\n // colorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_4',\n // disabled: 'WHITE_T_40',\n // },\n // },\n // 'black': {\n // backgroundColorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_T_60',\n // disabled: 'BLACK_T_35',\n // },\n // borderColorName: {\n // inactive: 'BLACK_4',\n // active: 'BLACK_4',\n // disabled: 'BLACK_T_35',\n // },\n // colorName: {\n // inactive: 'WHITE_4',\n // active: 'WHITE_4',\n // disabled: 'BLACK_T_35',\n // },\n // },\n // 'black-dark': {\n // backgroundColorName: {\n // inactive: 'BLACK_4',\n // active: 'WHITE_T_40',\n // disabled: 'WHITE_T_40',\n // },\n // borderColorName: {\n // inactive: 'WHITE_4',\n // active: 'WHITE_4',\n // disabled: 'WHITE_T_40',\n // },\n // colorName: {\n // inactive: 'WHITE_4',\n // active: 'WHITE_4',\n // disabled: 'WHITE_T_40',\n // },\n // },\n };\n\n return { sizes, variants };\n};\n\nexport default getButtonConfig;\n"],"names":["getButtonConfig","gutter"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { useMemo as p, useEffect as m } from "react";
2
+ import { usePuzzleAttemptJourney as c } from "../../../journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey.js";
3
+ import { usePuzzleReviewJourney as f } from "../../../journey/hooks/use-puzzles-journey/use-puzzle-review-journey.js";
4
+ import { usePuzzleUnassignJourney as l } from "../../../journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey.js";
5
+ import { useJourney as P } from "../../../journey/use-journey/use-journey.js";
6
+ const C = ({ behavior: a }) => {
7
+ const { maximumAttempts: e, canStartJourney: t } = a, { isJourneyActive: r, clearJourney: o } = P(), { puzzleAttemptCtaRef: i, startJourney: u } = c(), { puzzleReviewCtaRef: y, startJourney: n } = f(), { puzzleUnassignRef: J, startJourney: s } = l(), z = p(() => e === -2, [e]);
8
+ return m(() => {
9
+ z && t && !r && (u(), n(), s());
10
+ }, [
11
+ t,
12
+ r,
13
+ z,
14
+ u,
15
+ n,
16
+ s
17
+ ]), m(() => () => {
18
+ o();
19
+ }, [o]), {
20
+ puzzleAttemptCtaRef: i,
21
+ puzzleReviewCtaRef: y,
22
+ puzzleUnassignRef: J
23
+ };
24
+ };
25
+ export {
26
+ C as useWorksheetJourney
27
+ };
28
+ //# sourceMappingURL=use-worksheet-journey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-worksheet-journey.js","sources":["../../../../../src/features/worksheet/worksheet/hooks/use-worksheet-journey.ts"],"sourcesContent":["import type { IWorksheetBehavior } from '../worksheet-types';\n\nimport { useEffect, useMemo } from 'react';\n\nimport { usePuzzleAttemptJourney } from '../../../journey/hooks/use-puzzles-journey/use-puzzle-attempt-journey';\nimport { usePuzzleReviewJourney } from '../../../journey/hooks/use-puzzles-journey/use-puzzle-review-journey';\nimport { usePuzzleUnassignJourney } from '../../../journey/hooks/use-puzzles-journey/use-puzzle-unassign-journey';\nimport { useJourney } from '../../../journey/use-journey/use-journey';\n\ninterface IUseWorksheetJourney {\n behavior: IWorksheetBehavior;\n}\n\nconst useWorksheetJourney = ({ behavior }: IUseWorksheetJourney) => {\n const { maximumAttempts, canStartJourney } = behavior;\n\n const { isJourneyActive, clearJourney } = useJourney();\n\n const { puzzleAttemptCtaRef, startJourney: startPuzzleAttemptJourney } =\n usePuzzleAttemptJourney();\n\n const { puzzleReviewCtaRef, startJourney: startPuzzleReviewJourney } = usePuzzleReviewJourney();\n const { puzzleUnassignRef, startJourney: startPuzzleUnassignJourney } =\n usePuzzleUnassignJourney();\n\n const isPuzzleCard = useMemo(() => maximumAttempts === -2, [maximumAttempts]);\n\n useEffect(() => {\n if (isPuzzleCard && canStartJourney && !isJourneyActive) {\n //* This will be triggered by STUDENT during resume sheet.\n startPuzzleAttemptJourney();\n //* This will be triggered by TEACHER during review sheet\n startPuzzleReviewJourney();\n //* This will be trigger by TEACHER during preview sheet.\n startPuzzleUnassignJourney();\n }\n }, [\n canStartJourney,\n isJourneyActive,\n isPuzzleCard,\n startPuzzleAttemptJourney,\n startPuzzleReviewJourney,\n startPuzzleUnassignJourney,\n ]);\n\n useEffect(() => {\n return () => {\n clearJourney();\n };\n }, [clearJourney]);\n\n return {\n puzzleAttemptCtaRef,\n puzzleReviewCtaRef,\n puzzleUnassignRef,\n };\n};\n\nexport { useWorksheetJourney };\n"],"names":["useWorksheetJourney","behavior","maximumAttempts","canStartJourney","isJourneyActive","clearJourney","useJourney","puzzleAttemptCtaRef","startPuzzleAttemptJourney","usePuzzleAttemptJourney","puzzleReviewCtaRef","startPuzzleReviewJourney","usePuzzleReviewJourney","puzzleUnassignRef","startPuzzleUnassignJourney","usePuzzleUnassignJourney","isPuzzleCard","useMemo","useEffect"],"mappings":";;;;;AAaA,MAAMA,IAAsB,CAAC,EAAE,UAAAC,QAAqC;AAC5D,QAAA,EAAE,iBAAAC,GAAiB,iBAAAC,EAAoB,IAAAF,GAEvC,EAAE,iBAAAG,GAAiB,cAAAC,EAAa,IAAIC,EAAW,GAE/C,EAAE,qBAAAC,GAAqB,cAAcC,MACzCC,EAAwB,GAEpB,EAAE,oBAAAC,GAAoB,cAAcC,MAA6BC,EAAuB,GACxF,EAAE,mBAAAC,GAAmB,cAAcC,MACvCC,EAAyB,GAErBC,IAAeC,EAAQ,MAAMf,MAAoB,IAAI,CAACA,CAAe,CAAC;AAE5E,SAAAgB,EAAU,MAAM;AACV,IAAAF,KAAgBb,KAAmB,CAACC,MAEZI,KAEDG,KAEEG;EAC7B,GACC;AAAA,IACDX;AAAA,IACAC;AAAA,IACAY;AAAA,IACAR;AAAA,IACAG;AAAA,IACAG;AAAA,EAAA,CACD,GAEDI,EAAU,MACD,MAAM;AACE,IAAAb;EAAA,GAEd,CAACA,CAAY,CAAC,GAEV;AAAA,IACL,qBAAAE;AAAA,IACA,oBAAAG;AAAA,IACA,mBAAAG;AAAA,EAAA;AAEJ;"}
@@ -1,10 +1,10 @@
1
1
  import w from "../../../assets/line-icons/icons/bulb2.js";
2
2
  import S from "../../../assets/line-icons/icons/edit-star.js";
3
3
  import A from "../../../assets/line-icons/icons/edit2.js";
4
- import O from "../../../assets/line-icons/icons/question-letter.js";
5
- import R from "../../../assets/line-icons/icons/star2.js";
4
+ import k from "../../../assets/line-icons/icons/question-letter.js";
5
+ import L from "../../../assets/line-icons/icons/star2.js";
6
6
  import b from "../constants/events.js";
7
- import { OPTIONAL_ITEM_TYPES as L, ACTION_BAR_HEIGHT as k, QUESTION_WIDTH as y, SPLIT_QUESTION_WIDTH as N, CLOZE_FORMULA_RESPONSE_LIMIT as x } from "./constants.js";
7
+ import { OPTIONAL_ITEM_TYPES as O, ACTION_BAR_HEIGHT as R, QUESTION_WIDTH as C, SPLIT_QUESTION_WIDTH as N, CLOZE_FORMULA_RESPONSE_LIMIT as x } from "./constants.js";
8
8
  import { QUESTION_TAGS as E } from "./worksheet-types.js";
9
9
  const Q = (e) => {
10
10
  switch (e) {
@@ -35,7 +35,7 @@ const Q = (e) => {
35
35
  return !1;
36
36
  const r = e.toLowerCase();
37
37
  return r === "intro" || r === "concept-intro";
38
- }, C = (e) => e.reduce((r, t) => {
38
+ }, y = (e) => e.reduce((r, t) => {
39
39
  const [n, s] = t.split(":"), a = n == null ? void 0 : n.trim(), c = s == null ? void 0 : s.trim();
40
40
  return !a || !c ? r : {
41
41
  ...r,
@@ -61,9 +61,9 @@ const Q = (e) => {
61
61
  item_display_number: g,
62
62
  section_name: l,
63
63
  item_type: r ? o : void 0,
64
- is_optional: o ? L.includes(o) : !1,
64
+ is_optional: o ? O.includes(o) : !1,
65
65
  item_tags: a.tags ?? [],
66
- item_tags_map: C(a.tags ?? []),
66
+ item_tags_map: y(a.tags ?? []),
67
67
  question_number: h - (d ? 1 : 0),
68
68
  total_questions: _.length
69
69
  };
@@ -105,7 +105,7 @@ const Q = (e) => {
105
105
  item_number: c,
106
106
  item_display_number: c + 1,
107
107
  item_tags: a.tags ?? [],
108
- item_tags_map: C(a.tags ?? []),
108
+ item_tags_map: y(a.tags ?? []),
109
109
  question_number: m,
110
110
  total_questions: i.length
111
111
  };
@@ -131,7 +131,7 @@ const Q = (e) => {
131
131
  });
132
132
  }
133
133
  return n;
134
- }, J = ({
134
+ }, z = ({
135
135
  questions: e,
136
136
  initialQuestion: r,
137
137
  initialResponseId: t,
@@ -154,7 +154,7 @@ const Q = (e) => {
154
154
  if ((u = e[0]) != null && u.response_id)
155
155
  return e[0].response_id;
156
156
  throw new Error("Initial question not found");
157
- }, V = ({
157
+ }, J = ({
158
158
  questions: e,
159
159
  responses: r,
160
160
  behavior: t,
@@ -206,7 +206,7 @@ function M(e, r) {
206
206
  }
207
207
  };
208
208
  }
209
- const z = (e) => e.reduce(
209
+ const V = (e) => e.reduce(
210
210
  (r, t) => ({
211
211
  ...r,
212
212
  [t.response_id]: M(e, t.response_id)
@@ -217,9 +217,9 @@ const z = (e) => e.reduce(
217
217
  return {
218
218
  questionsContainerWidth: !e.some(
219
219
  (a) => a.questions.some((c) => c.stimulus_review)
220
- ) ? y : N,
221
- maxQuestionWidth: y,
222
- actionbarHeight: t === "bottom" ? k : 0
220
+ ) ? C : N,
221
+ maxQuestionWidth: C,
222
+ actionbarHeight: t === "bottom" ? R : 0
223
223
  };
224
224
  }, Z = ({
225
225
  questions: e,
@@ -352,9 +352,9 @@ const z = (e) => e.reduce(
352
352
  case "practice-regular":
353
353
  return S;
354
354
  case "exit-ticket":
355
- return O;
355
+ return k;
356
356
  case "advanced":
357
- return R;
357
+ return L;
358
358
  default:
359
359
  return w;
360
360
  }
@@ -385,16 +385,17 @@ const z = (e) => e.reduce(
385
385
  bgColor: "BLACK",
386
386
  borderColor: "BLACK_4",
387
387
  textColor: "WHITE"
388
- };
388
+ }, ue = (e) => e ? `${e}_1` : "BLUE_1";
389
389
  export {
390
390
  ie as checkIsClozeFormulaResponseInvalid,
391
- J as getInitialQuestionId,
392
- z as getInitialResponses,
393
- V as getLastUnlockedQuestionIndex,
391
+ z as getInitialQuestionId,
392
+ V as getInitialResponses,
393
+ J as getLastUnlockedQuestionIndex,
394
394
  ne as getNavigationSectionBackgroundColor,
395
395
  ae as getNavigationSectionIcon,
396
396
  oe as getNavigationSectionName,
397
397
  ee as getPaperColorByQuestion,
398
+ ue as getPuzzleWorksheetBackgroundColor,
398
399
  te as getQuestionBackgroundImage,
399
400
  re as getQuestionBorderColor,
400
401
  M as getQuestionMetadata,
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-helpers.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-helpers.ts"],"sourcesContent":["import type { NODE_TYPES } from '../../../types/models/worksheet';\nimport type { TColorNames, TUserTypes } from '../../ui/types';\nimport type { TWorksheetQuestionPaperColor } from './worksheet-question/worksheet-question-types';\nimport type { ILearnosityQuestionResponse, IWorksheetHeaderLayoutProps } from './worksheet-types';\n\nimport Bulb2Icon from '../../../assets/line-icons/icons/bulb2';\nimport EditStarIcon from '../../../assets/line-icons/icons/edit-star';\nimport Edit2Icon from '../../../assets/line-icons/icons/edit2';\nimport QuestionLetterIcon from '../../../assets/line-icons/icons/question-letter';\nimport Star2Icon from '../../../assets/line-icons/icons/star2';\nimport EVENTS from '../constants/events';\nimport {\n ACTION_BAR_HEIGHT,\n CLOZE_FORMULA_RESPONSE_LIMIT,\n OPTIONAL_ITEM_TYPES,\n QUESTION_WIDTH,\n SPLIT_QUESTION_WIDTH,\n} from './constants';\nimport {\n QUESTION_TAGS,\n type ILearnosityItem,\n type ILearnosityQuestion,\n type ISheetNudgeBannerInfo,\n type IWorksheetBehavior,\n type IWorksheetProps,\n type IWorksheetQuestion,\n type IWorksheetResponse,\n type TInstructorStimulus,\n type TItemType,\n type TSectionName,\n} from './worksheet-types';\n\ninterface IGetSectionNameFromItemType {\n (itemType?: TItemType): TSectionName | undefined;\n}\n\nconst getSectionNameFromItemType: IGetSectionNameFromItemType = itemType => {\n switch (itemType) {\n case 'overview':\n return 'overview';\n case 'learning-we-do':\n case 'learning-your-turn':\n case 'learning-explore':\n return 'learning';\n case 'practice-basic':\n case 'practice-basic-optional':\n return 'practice-basic';\n case 'practice-regular':\n case 'practice-regular-optional':\n return 'practice-regular';\n case 'exit-ticket':\n return 'exit-ticket';\n case 'advanced-explore':\n case 'advanced-we-do':\n case 'advanced-your-turn':\n case 'advanced-practice':\n return 'advanced';\n default:\n return undefined;\n }\n};\n\nconst isConceptIntroWidget = (instructorStimulus?: TInstructorStimulus) => {\n if (!instructorStimulus) {\n return false;\n }\n\n const lowerCaseInstructorStimulus = instructorStimulus.toLowerCase();\n\n return lowerCaseInstructorStimulus === 'intro' || lowerCaseInstructorStimulus === 'concept-intro';\n};\n\nconst getTagsMap = (tags: string[]): Record<string, string> => {\n return tags.reduce((acc, tag) => {\n const [key, value] = tag.split(':');\n const trimmedKey = key?.trim();\n const trimmedValue = value?.trim();\n\n if (!trimmedKey || !trimmedValue) {\n return acc;\n }\n\n return {\n ...acc,\n [trimmedKey.toLowerCase()]: trimmedValue,\n };\n }, {});\n};\n\ninterface IGetQuestionsFromItems {\n (\n items: ILearnosityItem[],\n options: {\n sectioned?: boolean;\n adaptive?: boolean;\n },\n ): IWorksheetQuestion[];\n}\nconst getQuestionsFromItems: IGetQuestionsFromItems = (\n items,\n { sectioned = false, adaptive = false },\n) => {\n if (sectioned) {\n return items.reduce((acc, item, itemIndex) => {\n let hasIntroWidget = false;\n const { content, questions, itemType } = item;\n const sectionName = getSectionNameFromItemType(itemType);\n const prevItem = acc[acc.length - 1];\n const itemDisplayNumber =\n sectionName === prevItem?.section_name && prevItem?.item_display_number\n ? prevItem.item_display_number + 1\n : 1;\n const orderedQuestionIds = content.match(/question-[^\"]*/g);\n const orderedQuestions = orderedQuestionIds?.map((responseId, widgetIndex) => {\n const question = questions.find(\n ({ response_id: respId }) => respId === responseId.replace('question-', ''),\n );\n\n if (!question) {\n throw new Error(`Question not found for the response id: ${responseId}`);\n }\n\n hasIntroWidget = hasIntroWidget || isConceptIntroWidget(question.instructor_stimulus);\n\n return {\n ...question,\n // Some questions are set to limited number of attempts which can show feedback which is causing the question to be stuck in the errored state\n feedback_attempts: undefined,\n item_reference: item.reference,\n item_number: itemIndex,\n item_display_number: itemDisplayNumber,\n section_name: sectionName,\n item_type: sectioned ? itemType : undefined,\n is_optional: itemType ? OPTIONAL_ITEM_TYPES.includes(itemType) : false,\n item_tags: item.tags ?? [],\n item_tags_map: getTagsMap(item.tags ?? []),\n question_number: widgetIndex - (hasIntroWidget ? 1 : 0),\n total_questions: orderedQuestionIds.length,\n } as IWorksheetQuestion;\n });\n\n hasIntroWidget = false;\n\n if (orderedQuestions?.[0] && itemIndex > 0 && items.length > 0) {\n const prevItemType = items[itemIndex - 1]?.itemType;\n const itemTypeDerived = itemType?.startsWith('advanced-') ? 'advanced' : itemType;\n const prevItemTypeDerived = prevItemType?.startsWith('advanced-')\n ? 'advanced'\n : prevItemType;\n\n if (\n (itemTypeDerived === 'practice-basic' ||\n itemTypeDerived === 'practice-regular' ||\n itemTypeDerived === 'exit-ticket' ||\n itemTypeDerived === 'advanced') &&\n itemTypeDerived !== prevItemTypeDerived\n ) {\n return [\n ...acc,\n {\n ...orderedQuestions[0],\n metadata: {\n ...orderedQuestions[0].metadata,\n teacher_tips: undefined,\n hints: undefined,\n solution: undefined,\n },\n instructor_stimulus: 'SystemIntro',\n response_id: `${itemType}-system-intro`,\n is_optional: itemType?.startsWith('advanced-'),\n },\n ...(orderedQuestions ?? []),\n ];\n }\n }\n\n return [...acc, ...(orderedQuestions ?? [])];\n }, [] as IWorksheetQuestion[]);\n }\n\n const finalQuestions = items.reduce((acc, item, itemIndex) => {\n const { content, questions } = item;\n const orderedQuestionIds = content.match(/question-[^\"]*/g);\n const orderedQuestions = orderedQuestionIds?.map<IWorksheetQuestion>(\n (responseId, widgetIndex) => {\n const question = questions.find(\n ({ response_id: respId }) => respId === responseId.replace('question-', ''),\n );\n\n if (!question) {\n throw new Error(`Question not found for the response id: ${responseId}`);\n }\n\n return {\n ...question,\n feedback_attempts: undefined,\n item_reference: item.reference,\n item_number: itemIndex,\n item_display_number: itemIndex + 1,\n item_tags: item.tags ?? [],\n item_tags_map: getTagsMap(item.tags ?? []),\n question_number: widgetIndex,\n total_questions: orderedQuestionIds.length,\n };\n },\n );\n\n return [...acc, ...(orderedQuestions ?? [])];\n }, [] as IWorksheetQuestion[]);\n\n if (adaptive) {\n const topics: string[] = [];\n const topicsOrder: Record<string, number> = {};\n\n return finalQuestions\n .sort((a, b) => {\n const aTopic = a.item_tags_map[QUESTION_TAGS.TRIAL_TOPIC];\n const bTopic = b.item_tags_map[QUESTION_TAGS.TRIAL_TOPIC];\n\n if (aTopic && topicsOrder[aTopic] === undefined) {\n topicsOrder[aTopic] = topics.length;\n topics.push(aTopic);\n }\n\n if (bTopic && topicsOrder[bTopic] === undefined) {\n topicsOrder[bTopic] = topics.length;\n topics.push(bTopic);\n }\n\n if (!aTopic || !bTopic) {\n return 0;\n }\n\n const aSortKey = `${topicsOrder[aTopic]}-${\n a.item_tags_map[QUESTION_TAGS.QUESTION_CODE]?.length ?? 0\n }`;\n const bSortKey = `${topicsOrder[bTopic]}-${\n b.item_tags_map[QUESTION_TAGS.QUESTION_CODE]?.length ?? 0\n }`;\n\n return aSortKey > bSortKey ? 1 : -1;\n })\n .map(question => {\n const topicOrder =\n topicsOrder[question.item_tags_map[QUESTION_TAGS.TRIAL_TOPIC] ?? ''] ?? 0;\n const questionCode = question.item_tags_map[QUESTION_TAGS.QUESTION_CODE] ?? '';\n\n return {\n ...question,\n item_display_number: topicOrder * 3 + questionCode.length,\n };\n });\n }\n\n return finalQuestions;\n};\n\ninterface IGetInitialQuestionId {\n (params: {\n questions: IWorksheetQuestion[];\n initialQuestion: IWorksheetBehavior['initialQuestion'];\n lastUnlockedQuestionIndex: number;\n initialResponseId?: string;\n initialItemIndex?: number;\n }): string;\n}\n\nconst getInitialQuestionId: IGetInitialQuestionId = ({\n questions,\n initialQuestion,\n initialResponseId,\n initialItemIndex,\n lastUnlockedQuestionIndex,\n}) => {\n const unlockedQuestions = questions.slice(0, lastUnlockedQuestionIndex + 1);\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex]!;\n\n if (initialResponseId && unlockedQuestions.find(q => q.response_id === initialResponseId)) {\n return initialResponseId;\n }\n\n if (\n typeof initialItemIndex === 'number' &&\n initialItemIndex <= lastUnlockedQuestion.item_number\n ) {\n const question = questions.find(q => q.item_number === initialItemIndex);\n\n if (question?.response_id) {\n return question.response_id;\n }\n }\n\n if (initialQuestion === 'FIRST' && questions[0]?.response_id) {\n return questions[0].response_id;\n }\n\n if (initialQuestion === 'CURRENT') {\n return lastUnlockedQuestion.response_id;\n }\n\n if (questions[0]?.response_id) {\n return questions[0].response_id;\n }\n\n throw new Error('Initial question not found');\n};\n\ninterface IGetLastUnlockedQuestionIndex {\n (options: {\n questions: IWorksheetQuestion[];\n responses: Record<string, IWorksheetResponse>;\n behavior: IWorksheetBehavior;\n userType: TUserTypes;\n }): number;\n}\n\nconst getLastUnlockedQuestionIndex: IGetLastUnlockedQuestionIndex = ({\n questions,\n responses,\n behavior,\n userType,\n}) => {\n const { maximumAttempts, teacherValidationEnabled, validation, navigationMode } = behavior;\n const questionIndex = [...questions].reverse().findIndex(q => {\n const qResp = responses[q.response_id];\n\n const { attemptsHistory, validatedByTeacher, assignStatus } = qResp ?? {};\n\n if (teacherValidationEnabled) {\n if (validatedByTeacher) {\n return true;\n }\n\n if (assignStatus === 'skipped') {\n return true;\n }\n\n return false;\n }\n\n const lastAttemptScore = attemptsHistory?.slice(-1)[0]?.score;\n\n if (lastAttemptScore) {\n if ((lastAttemptScore.score ?? 0) === lastAttemptScore.max_score) {\n return true;\n }\n\n const maximumAttemptsReached = (attemptsHistory?.length ?? 0) >= maximumAttempts;\n\n return maximumAttemptsReached;\n }\n\n if (!validation && navigationMode === 'LINEAR' && (qResp?.response || qResp?.skipped)) {\n return true;\n }\n\n return false;\n });\n\n if (questionIndex === -1) {\n return 0;\n }\n\n if (questionIndex === 0) {\n if (teacherValidationEnabled) {\n const unskippedQuestionIndex = [...questions].reverse().findIndex(q => {\n return responses[q.response_id]?.assignStatus !== 'skipped';\n });\n\n return questions.length - unskippedQuestionIndex - 1;\n }\n\n return questions.length - 1;\n }\n\n if (teacherValidationEnabled && userType === 'STUDENT') {\n const lastUnlockedQuestionIndex = questions.length - questionIndex;\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex]!;\n const { assignStatus } = responses[lastUnlockedQuestion.response_id] ?? {};\n\n if (lastUnlockedQuestion.is_optional && !assignStatus) {\n return lastUnlockedQuestionIndex - 1;\n }\n\n return lastUnlockedQuestionIndex;\n }\n\n return questions.length - questionIndex;\n};\n\ntype TQuestionMetadata = Pick<\n IWorksheetResponse,\n 'widgetReference' | 'itemReference' | 'itemPosition' | 'questionPosition' | 'isOkayTypeQuestion'\n>;\n\nfunction getQuestionMetadata(\n questions: IWorksheetQuestion[],\n questionId: string,\n): TQuestionMetadata;\nfunction getQuestionMetadata(question: IWorksheetQuestion): TQuestionMetadata;\nfunction getQuestionMetadata(\n questions: IWorksheetQuestion | IWorksheetQuestion[],\n questionId?: string,\n) {\n const question = Array.isArray(questions)\n ? questions.find(q => q.response_id === questionId)\n : questions;\n\n if (!question) {\n throw new Error(`Question with id ${questionId} not found`);\n }\n\n return {\n widgetReference: question.metadata.widget_reference,\n itemReference: question.item_reference,\n itemPosition: question.item_number,\n questionPosition: question.question_number,\n isOkayTypeQuestion: isOkayTypeQuestion(question),\n score: {\n max_score:\n question?.validation?.valid_response?.score ?? 0 * question.metadata.valid_response_count,\n },\n tags: {\n ...question.item_tags_map,\n instructor_stimulus: question.instructor_stimulus,\n },\n };\n}\n\ninterface IGetInitialResponses {\n (questions: IWorksheetQuestion[]): Record<string, IWorksheetResponse>;\n}\n\nconst getInitialResponses: IGetInitialResponses = questions => {\n return questions.reduce(\n (acc, question) => ({\n ...acc,\n [question.response_id]: getQuestionMetadata(questions, question.response_id),\n }),\n {},\n );\n};\n\ninterface IGetWorksheetDimensions {\n (\n items: ILearnosityItem[],\n layout: IWorksheetProps['layout'],\n ): {\n questionsContainerWidth: number;\n maxQuestionWidth: number;\n actionbarHeight: number;\n };\n}\n\nconst getWorksheetDimensions: IGetWorksheetDimensions = (items, layout) => {\n const { actionBar } = layout;\n const isSingleColumn = !items.some(item =>\n item.questions.some(question => question.stimulus_review),\n );\n const actionbarHeight = actionBar === 'bottom' ? ACTION_BAR_HEIGHT : 0;\n\n return {\n questionsContainerWidth: isSingleColumn ? QUESTION_WIDTH : SPLIT_QUESTION_WIDTH,\n maxQuestionWidth: QUESTION_WIDTH,\n actionbarHeight,\n };\n};\n\ninterface IGetRenderableQuestions {\n (options: {\n questions: IWorksheetQuestion[];\n lastUnlockedQuestionIndex: number;\n userType: TUserTypes;\n }): IWorksheetQuestion[];\n}\nconst getRenderableQuestions: IGetRenderableQuestions = ({\n questions,\n lastUnlockedQuestionIndex,\n userType,\n}) => {\n if (userType === 'STUDENT') return questions.slice(0, lastUnlockedQuestionIndex + 1);\n\n return questions;\n};\n\ninterface IScrollToQuestion {\n (questionId: string, params?: { animation?: boolean }): void;\n}\n\nconst scrollToQuestion: IScrollToQuestion = (questionId, { animation = false } = {}) => {\n const $questionEl = document.querySelectorAll(`.widget-${questionId}`)[0];\n\n if ($questionEl) {\n $questionEl.scrollIntoView({\n block: 'start',\n behavior: animation ? 'smooth' : 'instant',\n });\n }\n};\n\ninterface IIsOkayTypeQuestion {\n (question: IWorksheetQuestion | ILearnosityQuestion): boolean;\n}\n\nconst isOkayTypeQuestion: IIsOkayTypeQuestion = question => {\n const { type, options, instructor_stimulus } = question;\n const itemType = 'item_type' in question ? question.item_type : undefined;\n\n if (\n itemType === 'overview' ||\n instructor_stimulus === 'Intro' ||\n instructor_stimulus === 'SystemIntro' ||\n instructor_stimulus === 'Concept-Intro'\n ) {\n return true;\n }\n\n return type === 'mcq' && options?.length === 1 ? true : false;\n};\n\nconst setMathJaxConfigInWindow = (\n logger: (eventName: string, data?: Record<string, unknown>) => void,\n) => {\n window.MathJax = {\n options: {\n enableMenu: false,\n ignoreHtmlClass: 'lrn_noMath',\n compileError: function (doc, math, err) {\n logger(EVENTS.MATHJAX_COMPILE_ERROR);\n doc.compileError(math, err);\n },\n typesetError: function (doc, math, err) {\n logger(EVENTS.MATHJAX_TYPESET_ERROR);\n doc.typesetError(math, err);\n // throw new Error('typesetError');\n },\n },\n tex: {\n inlineMath: [\n ['\\\\(', '\\\\)'],\n ['$$', '$$'],\n ],\n displayMath: [['\\\\[', '\\\\]']],\n macros: {\n abs: ['{|#1|}', 1],\n degree: ['°'],\n longdiv: ['{\\\\enclose{longdiv}{#1}}', 1],\n atomic: ['{_{#1}^{#2}}', 2],\n polyatomic: ['{_{#2}{}^{#1}}', 2],\n circledot: ['{\\\\odot}'],\n parallelogram: ['\\\\unicode{x25B1}'],\n ngtr: ['\\\\unicode{x226F}'],\n nless: ['\\\\unicode{x226E}'],\n MathQuillVarField: ['#1', 1],\n overarc: ['{\\\\overparen{#1}}', 1],\n },\n formatError: (jax, err) => {\n logger(EVENTS.MATHJAX_FORMAT_ERROR, {\n id: err.id,\n message: err.message,\n });\n jax.formatError(err);\n },\n },\n chtml: {\n minScale: 1,\n matchFontHeight: false,\n },\n };\n};\n\ninterface IGetPaperColorByQuestion {\n (question: IWorksheetQuestion): TWorksheetQuestionPaperColor;\n}\n\nconst getPaperColorByQuestion: IGetPaperColorByQuestion = question => {\n const { item_type, instructor_stimulus } = question;\n const lowerCaseInstructorStimulus = instructor_stimulus?.toLowerCase();\n\n switch (item_type) {\n case 'overview':\n return 'white';\n case 'learning-we-do':\n case 'learning-your-turn':\n case 'learning-explore':\n if (\n lowerCaseInstructorStimulus === 'instruction' ||\n lowerCaseInstructorStimulus === 'intro' ||\n lowerCaseInstructorStimulus === 'concept-intro'\n ) {\n return 'blue';\n }\n\n if (lowerCaseInstructorStimulus === 'task') {\n return 'green';\n }\n\n return 'yellow';\n case 'practice-basic':\n case 'practice-regular':\n return 'yellow';\n case 'exit-ticket':\n return 'purple';\n case 'advanced-practice':\n return 'orange';\n default:\n if (lowerCaseInstructorStimulus === 'learn') return 'blue';\n\n if (lowerCaseInstructorStimulus === 'try' || lowerCaseInstructorStimulus === 'apply')\n return 'green';\n\n return 'yellow';\n }\n};\n\nconst getQuestionBackgroundImage = (paperColor: TWorksheetQuestionPaperColor) => {\n return `https://cuemath-intel.s3.ap-southeast-1.amazonaws.com/media/math-canvas/paper-${paperColor}.png`;\n};\n\nconst getQuestionBorderColor = (\n paperColor: TWorksheetQuestionPaperColor,\n isActive?: boolean,\n): TColorNames => {\n if (!isActive) {\n return 'GREY_3';\n }\n\n switch (paperColor) {\n case 'orange':\n case 'white':\n return 'ORANGE_2';\n case 'blue':\n return 'BLUE_2';\n case 'green':\n return 'GREEN_2';\n case 'yellow':\n return 'YELLOW_2';\n case 'purple':\n return 'PURPLE_2';\n default:\n return 'GREY_3';\n }\n};\n\nconst getNavigationSectionBackgroundColor = (sectionName?: TSectionName): TColorNames => {\n switch (sectionName) {\n case 'learning':\n return 'BLUE_1';\n case 'practice-basic':\n case 'practice-regular':\n return 'YELLOW_1';\n case 'exit-ticket':\n return 'PURPLE_1';\n case 'advanced':\n return 'ORANGE_1';\n default:\n return 'YELLOW_1';\n }\n};\n\nconst getNavigationSectionName = (sectionName?: TSectionName): string => {\n switch (sectionName) {\n case 'learning':\n return 'Learning';\n case 'practice-basic':\n return 'Basic practice';\n case 'practice-regular':\n return 'Regular practice';\n case 'exit-ticket':\n return 'Mini quiz';\n case 'advanced':\n return 'Advanced work';\n default:\n return '';\n }\n};\n\nconst getNavigationSectionIcon = (sectionName?: TSectionName) => {\n switch (sectionName) {\n case 'learning':\n return Bulb2Icon;\n case 'practice-basic':\n return Edit2Icon;\n case 'practice-regular':\n return EditStarIcon;\n case 'exit-ticket':\n return QuestionLetterIcon;\n case 'advanced':\n return Star2Icon;\n default:\n return Bulb2Icon;\n }\n};\n\nconst isSATAssessmentNode = (nodeType: NODE_TYPES) =>\n nodeType === 'SAT_ENGLISH_ASSESSMENT' || nodeType === 'SAT_MATH_ASSESSMENT';\n\nconst checkIsClozeFormulaResponseInvalid = (response: ILearnosityQuestionResponse) => {\n if (Array.isArray(response.value)) {\n const isInvalid = response.value.some(\n item => typeof item === 'string' && item.length > CLOZE_FORMULA_RESPONSE_LIMIT,\n );\n\n return isInvalid;\n }\n\n return false;\n};\n\nconst getWorksheetNudgeBannerInfo = (\n userType: TUserTypes,\n markedAsCompleted: boolean,\n): ISheetNudgeBannerInfo => {\n const isTeacher = userType === 'TEACHER';\n\n if (markedAsCompleted) {\n return {\n bannerBackgroundColor: 'GREEN_4',\n label: isTeacher\n ? 'This sheet was marked as completed.'\n : 'Marked as completed by the teacher',\n };\n }\n\n return {\n bannerBackgroundColor: 'ORANGE_2',\n label: 'Complete this with your tutor in class',\n };\n};\n\nconst getWorksheetHeaderLayout: IWorksheetHeaderLayoutProps = ({\n isPuzzleWorksheet,\n isTestWorksheet,\n imageHue = 'BLUE',\n}) => {\n if (isPuzzleWorksheet) {\n return {\n bgColor: `${imageHue}_3`,\n borderColor: `${imageHue}_4`,\n textColor: 'BLACK_T_87',\n };\n }\n\n if (isTestWorksheet) {\n return {\n bgColor: 'WHITE_3',\n borderColor: 'WHITE_4',\n textColor: 'BLACK_T_87',\n };\n }\n\n return {\n bgColor: 'BLACK',\n borderColor: 'BLACK_4',\n textColor: 'WHITE',\n };\n};\n\nexport {\n getInitialQuestionId,\n getInitialResponses,\n getLastUnlockedQuestionIndex,\n getNavigationSectionBackgroundColor,\n getNavigationSectionIcon,\n getNavigationSectionName,\n getPaperColorByQuestion,\n getQuestionBackgroundImage,\n getQuestionBorderColor,\n getQuestionMetadata,\n getQuestionsFromItems,\n getRenderableQuestions,\n getWorksheetDimensions,\n isConceptIntroWidget,\n isSATAssessmentNode,\n isOkayTypeQuestion,\n scrollToQuestion,\n setMathJaxConfigInWindow,\n getWorksheetNudgeBannerInfo,\n checkIsClozeFormulaResponseInvalid,\n getWorksheetHeaderLayout,\n};\n"],"names":["getSectionNameFromItemType","itemType","isConceptIntroWidget","instructorStimulus","lowerCaseInstructorStimulus","getTagsMap","tags","acc","tag","key","value","trimmedKey","trimmedValue","getQuestionsFromItems","items","sectioned","adaptive","item","itemIndex","hasIntroWidget","content","questions","sectionName","prevItem","itemDisplayNumber","orderedQuestionIds","orderedQuestions","responseId","widgetIndex","question","respId","OPTIONAL_ITEM_TYPES","prevItemType","_a","itemTypeDerived","prevItemTypeDerived","finalQuestions","topics","topicsOrder","a","b","aTopic","QUESTION_TAGS","bTopic","aSortKey","bSortKey","_b","topicOrder","questionCode","getInitialQuestionId","initialQuestion","initialResponseId","initialItemIndex","lastUnlockedQuestionIndex","unlockedQuestions","lastUnlockedQuestion","q","getLastUnlockedQuestionIndex","responses","behavior","userType","maximumAttempts","teacherValidationEnabled","validation","navigationMode","questionIndex","qResp","attemptsHistory","validatedByTeacher","assignStatus","lastAttemptScore","unskippedQuestionIndex","getQuestionMetadata","questionId","isOkayTypeQuestion","getInitialResponses","getWorksheetDimensions","layout","actionBar","QUESTION_WIDTH","SPLIT_QUESTION_WIDTH","ACTION_BAR_HEIGHT","getRenderableQuestions","scrollToQuestion","animation","$questionEl","type","options","instructor_stimulus","setMathJaxConfigInWindow","logger","doc","math","err","EVENTS","jax","getPaperColorByQuestion","item_type","getQuestionBackgroundImage","paperColor","getQuestionBorderColor","isActive","getNavigationSectionBackgroundColor","getNavigationSectionName","getNavigationSectionIcon","Bulb2Icon","Edit2Icon","EditStarIcon","QuestionLetterIcon","Star2Icon","checkIsClozeFormulaResponseInvalid","response","CLOZE_FORMULA_RESPONSE_LIMIT","getWorksheetNudgeBannerInfo","markedAsCompleted","isTeacher","getWorksheetHeaderLayout","isPuzzleWorksheet","isTestWorksheet","imageHue"],"mappings":"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"}
1
+ {"version":3,"file":"worksheet-helpers.js","sources":["../../../../src/features/worksheet/worksheet/worksheet-helpers.ts"],"sourcesContent":["import type { NODE_TYPES } from '../../../types/models/worksheet';\nimport type { TColorNames, THueNames, TUserTypes } from '../../ui/types';\nimport type { TWorksheetQuestionPaperColor } from './worksheet-question/worksheet-question-types';\nimport type { ILearnosityQuestionResponse, IWorksheetHeaderLayoutProps } from './worksheet-types';\n\nimport Bulb2Icon from '../../../assets/line-icons/icons/bulb2';\nimport EditStarIcon from '../../../assets/line-icons/icons/edit-star';\nimport Edit2Icon from '../../../assets/line-icons/icons/edit2';\nimport QuestionLetterIcon from '../../../assets/line-icons/icons/question-letter';\nimport Star2Icon from '../../../assets/line-icons/icons/star2';\nimport EVENTS from '../constants/events';\nimport {\n ACTION_BAR_HEIGHT,\n CLOZE_FORMULA_RESPONSE_LIMIT,\n OPTIONAL_ITEM_TYPES,\n QUESTION_WIDTH,\n SPLIT_QUESTION_WIDTH,\n} from './constants';\nimport {\n QUESTION_TAGS,\n type ILearnosityItem,\n type ILearnosityQuestion,\n type ISheetNudgeBannerInfo,\n type IWorksheetBehavior,\n type IWorksheetProps,\n type IWorksheetQuestion,\n type IWorksheetResponse,\n type TInstructorStimulus,\n type TItemType,\n type TSectionName,\n} from './worksheet-types';\n\ninterface IGetSectionNameFromItemType {\n (itemType?: TItemType): TSectionName | undefined;\n}\n\nconst getSectionNameFromItemType: IGetSectionNameFromItemType = itemType => {\n switch (itemType) {\n case 'overview':\n return 'overview';\n case 'learning-we-do':\n case 'learning-your-turn':\n case 'learning-explore':\n return 'learning';\n case 'practice-basic':\n case 'practice-basic-optional':\n return 'practice-basic';\n case 'practice-regular':\n case 'practice-regular-optional':\n return 'practice-regular';\n case 'exit-ticket':\n return 'exit-ticket';\n case 'advanced-explore':\n case 'advanced-we-do':\n case 'advanced-your-turn':\n case 'advanced-practice':\n return 'advanced';\n default:\n return undefined;\n }\n};\n\nconst isConceptIntroWidget = (instructorStimulus?: TInstructorStimulus) => {\n if (!instructorStimulus) {\n return false;\n }\n\n const lowerCaseInstructorStimulus = instructorStimulus.toLowerCase();\n\n return lowerCaseInstructorStimulus === 'intro' || lowerCaseInstructorStimulus === 'concept-intro';\n};\n\nconst getTagsMap = (tags: string[]): Record<string, string> => {\n return tags.reduce((acc, tag) => {\n const [key, value] = tag.split(':');\n const trimmedKey = key?.trim();\n const trimmedValue = value?.trim();\n\n if (!trimmedKey || !trimmedValue) {\n return acc;\n }\n\n return {\n ...acc,\n [trimmedKey.toLowerCase()]: trimmedValue,\n };\n }, {});\n};\n\ninterface IGetQuestionsFromItems {\n (\n items: ILearnosityItem[],\n options: {\n sectioned?: boolean;\n adaptive?: boolean;\n },\n ): IWorksheetQuestion[];\n}\nconst getQuestionsFromItems: IGetQuestionsFromItems = (\n items,\n { sectioned = false, adaptive = false },\n) => {\n if (sectioned) {\n return items.reduce((acc, item, itemIndex) => {\n let hasIntroWidget = false;\n const { content, questions, itemType } = item;\n const sectionName = getSectionNameFromItemType(itemType);\n const prevItem = acc[acc.length - 1];\n const itemDisplayNumber =\n sectionName === prevItem?.section_name && prevItem?.item_display_number\n ? prevItem.item_display_number + 1\n : 1;\n const orderedQuestionIds = content.match(/question-[^\"]*/g);\n const orderedQuestions = orderedQuestionIds?.map((responseId, widgetIndex) => {\n const question = questions.find(\n ({ response_id: respId }) => respId === responseId.replace('question-', ''),\n );\n\n if (!question) {\n throw new Error(`Question not found for the response id: ${responseId}`);\n }\n\n hasIntroWidget = hasIntroWidget || isConceptIntroWidget(question.instructor_stimulus);\n\n return {\n ...question,\n // Some questions are set to limited number of attempts which can show feedback which is causing the question to be stuck in the errored state\n feedback_attempts: undefined,\n item_reference: item.reference,\n item_number: itemIndex,\n item_display_number: itemDisplayNumber,\n section_name: sectionName,\n item_type: sectioned ? itemType : undefined,\n is_optional: itemType ? OPTIONAL_ITEM_TYPES.includes(itemType) : false,\n item_tags: item.tags ?? [],\n item_tags_map: getTagsMap(item.tags ?? []),\n question_number: widgetIndex - (hasIntroWidget ? 1 : 0),\n total_questions: orderedQuestionIds.length,\n } as IWorksheetQuestion;\n });\n\n hasIntroWidget = false;\n\n if (orderedQuestions?.[0] && itemIndex > 0 && items.length > 0) {\n const prevItemType = items[itemIndex - 1]?.itemType;\n const itemTypeDerived = itemType?.startsWith('advanced-') ? 'advanced' : itemType;\n const prevItemTypeDerived = prevItemType?.startsWith('advanced-')\n ? 'advanced'\n : prevItemType;\n\n if (\n (itemTypeDerived === 'practice-basic' ||\n itemTypeDerived === 'practice-regular' ||\n itemTypeDerived === 'exit-ticket' ||\n itemTypeDerived === 'advanced') &&\n itemTypeDerived !== prevItemTypeDerived\n ) {\n return [\n ...acc,\n {\n ...orderedQuestions[0],\n metadata: {\n ...orderedQuestions[0].metadata,\n teacher_tips: undefined,\n hints: undefined,\n solution: undefined,\n },\n instructor_stimulus: 'SystemIntro',\n response_id: `${itemType}-system-intro`,\n is_optional: itemType?.startsWith('advanced-'),\n },\n ...(orderedQuestions ?? []),\n ];\n }\n }\n\n return [...acc, ...(orderedQuestions ?? [])];\n }, [] as IWorksheetQuestion[]);\n }\n\n const finalQuestions = items.reduce((acc, item, itemIndex) => {\n const { content, questions } = item;\n const orderedQuestionIds = content.match(/question-[^\"]*/g);\n const orderedQuestions = orderedQuestionIds?.map<IWorksheetQuestion>(\n (responseId, widgetIndex) => {\n const question = questions.find(\n ({ response_id: respId }) => respId === responseId.replace('question-', ''),\n );\n\n if (!question) {\n throw new Error(`Question not found for the response id: ${responseId}`);\n }\n\n return {\n ...question,\n feedback_attempts: undefined,\n item_reference: item.reference,\n item_number: itemIndex,\n item_display_number: itemIndex + 1,\n item_tags: item.tags ?? [],\n item_tags_map: getTagsMap(item.tags ?? []),\n question_number: widgetIndex,\n total_questions: orderedQuestionIds.length,\n };\n },\n );\n\n return [...acc, ...(orderedQuestions ?? [])];\n }, [] as IWorksheetQuestion[]);\n\n if (adaptive) {\n const topics: string[] = [];\n const topicsOrder: Record<string, number> = {};\n\n return finalQuestions\n .sort((a, b) => {\n const aTopic = a.item_tags_map[QUESTION_TAGS.TRIAL_TOPIC];\n const bTopic = b.item_tags_map[QUESTION_TAGS.TRIAL_TOPIC];\n\n if (aTopic && topicsOrder[aTopic] === undefined) {\n topicsOrder[aTopic] = topics.length;\n topics.push(aTopic);\n }\n\n if (bTopic && topicsOrder[bTopic] === undefined) {\n topicsOrder[bTopic] = topics.length;\n topics.push(bTopic);\n }\n\n if (!aTopic || !bTopic) {\n return 0;\n }\n\n const aSortKey = `${topicsOrder[aTopic]}-${\n a.item_tags_map[QUESTION_TAGS.QUESTION_CODE]?.length ?? 0\n }`;\n const bSortKey = `${topicsOrder[bTopic]}-${\n b.item_tags_map[QUESTION_TAGS.QUESTION_CODE]?.length ?? 0\n }`;\n\n return aSortKey > bSortKey ? 1 : -1;\n })\n .map(question => {\n const topicOrder =\n topicsOrder[question.item_tags_map[QUESTION_TAGS.TRIAL_TOPIC] ?? ''] ?? 0;\n const questionCode = question.item_tags_map[QUESTION_TAGS.QUESTION_CODE] ?? '';\n\n return {\n ...question,\n item_display_number: topicOrder * 3 + questionCode.length,\n };\n });\n }\n\n return finalQuestions;\n};\n\ninterface IGetInitialQuestionId {\n (params: {\n questions: IWorksheetQuestion[];\n initialQuestion: IWorksheetBehavior['initialQuestion'];\n lastUnlockedQuestionIndex: number;\n initialResponseId?: string;\n initialItemIndex?: number;\n }): string;\n}\n\nconst getInitialQuestionId: IGetInitialQuestionId = ({\n questions,\n initialQuestion,\n initialResponseId,\n initialItemIndex,\n lastUnlockedQuestionIndex,\n}) => {\n const unlockedQuestions = questions.slice(0, lastUnlockedQuestionIndex + 1);\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex]!;\n\n if (initialResponseId && unlockedQuestions.find(q => q.response_id === initialResponseId)) {\n return initialResponseId;\n }\n\n if (\n typeof initialItemIndex === 'number' &&\n initialItemIndex <= lastUnlockedQuestion.item_number\n ) {\n const question = questions.find(q => q.item_number === initialItemIndex);\n\n if (question?.response_id) {\n return question.response_id;\n }\n }\n\n if (initialQuestion === 'FIRST' && questions[0]?.response_id) {\n return questions[0].response_id;\n }\n\n if (initialQuestion === 'CURRENT') {\n return lastUnlockedQuestion.response_id;\n }\n\n if (questions[0]?.response_id) {\n return questions[0].response_id;\n }\n\n throw new Error('Initial question not found');\n};\n\ninterface IGetLastUnlockedQuestionIndex {\n (options: {\n questions: IWorksheetQuestion[];\n responses: Record<string, IWorksheetResponse>;\n behavior: IWorksheetBehavior;\n userType: TUserTypes;\n }): number;\n}\n\nconst getLastUnlockedQuestionIndex: IGetLastUnlockedQuestionIndex = ({\n questions,\n responses,\n behavior,\n userType,\n}) => {\n const { maximumAttempts, teacherValidationEnabled, validation, navigationMode } = behavior;\n const questionIndex = [...questions].reverse().findIndex(q => {\n const qResp = responses[q.response_id];\n\n const { attemptsHistory, validatedByTeacher, assignStatus } = qResp ?? {};\n\n if (teacherValidationEnabled) {\n if (validatedByTeacher) {\n return true;\n }\n\n if (assignStatus === 'skipped') {\n return true;\n }\n\n return false;\n }\n\n const lastAttemptScore = attemptsHistory?.slice(-1)[0]?.score;\n\n if (lastAttemptScore) {\n if ((lastAttemptScore.score ?? 0) === lastAttemptScore.max_score) {\n return true;\n }\n\n const maximumAttemptsReached = (attemptsHistory?.length ?? 0) >= maximumAttempts;\n\n return maximumAttemptsReached;\n }\n\n if (!validation && navigationMode === 'LINEAR' && (qResp?.response || qResp?.skipped)) {\n return true;\n }\n\n return false;\n });\n\n if (questionIndex === -1) {\n return 0;\n }\n\n if (questionIndex === 0) {\n if (teacherValidationEnabled) {\n const unskippedQuestionIndex = [...questions].reverse().findIndex(q => {\n return responses[q.response_id]?.assignStatus !== 'skipped';\n });\n\n return questions.length - unskippedQuestionIndex - 1;\n }\n\n return questions.length - 1;\n }\n\n if (teacherValidationEnabled && userType === 'STUDENT') {\n const lastUnlockedQuestionIndex = questions.length - questionIndex;\n const lastUnlockedQuestion = questions[lastUnlockedQuestionIndex]!;\n const { assignStatus } = responses[lastUnlockedQuestion.response_id] ?? {};\n\n if (lastUnlockedQuestion.is_optional && !assignStatus) {\n return lastUnlockedQuestionIndex - 1;\n }\n\n return lastUnlockedQuestionIndex;\n }\n\n return questions.length - questionIndex;\n};\n\ntype TQuestionMetadata = Pick<\n IWorksheetResponse,\n 'widgetReference' | 'itemReference' | 'itemPosition' | 'questionPosition' | 'isOkayTypeQuestion'\n>;\n\nfunction getQuestionMetadata(\n questions: IWorksheetQuestion[],\n questionId: string,\n): TQuestionMetadata;\nfunction getQuestionMetadata(question: IWorksheetQuestion): TQuestionMetadata;\nfunction getQuestionMetadata(\n questions: IWorksheetQuestion | IWorksheetQuestion[],\n questionId?: string,\n) {\n const question = Array.isArray(questions)\n ? questions.find(q => q.response_id === questionId)\n : questions;\n\n if (!question) {\n throw new Error(`Question with id ${questionId} not found`);\n }\n\n return {\n widgetReference: question.metadata.widget_reference,\n itemReference: question.item_reference,\n itemPosition: question.item_number,\n questionPosition: question.question_number,\n isOkayTypeQuestion: isOkayTypeQuestion(question),\n score: {\n max_score:\n question?.validation?.valid_response?.score ?? 0 * question.metadata.valid_response_count,\n },\n tags: {\n ...question.item_tags_map,\n instructor_stimulus: question.instructor_stimulus,\n },\n };\n}\n\ninterface IGetInitialResponses {\n (questions: IWorksheetQuestion[]): Record<string, IWorksheetResponse>;\n}\n\nconst getInitialResponses: IGetInitialResponses = questions => {\n return questions.reduce(\n (acc, question) => ({\n ...acc,\n [question.response_id]: getQuestionMetadata(questions, question.response_id),\n }),\n {},\n );\n};\n\ninterface IGetWorksheetDimensions {\n (\n items: ILearnosityItem[],\n layout: IWorksheetProps['layout'],\n ): {\n questionsContainerWidth: number;\n maxQuestionWidth: number;\n actionbarHeight: number;\n };\n}\n\nconst getWorksheetDimensions: IGetWorksheetDimensions = (items, layout) => {\n const { actionBar } = layout;\n const isSingleColumn = !items.some(item =>\n item.questions.some(question => question.stimulus_review),\n );\n const actionbarHeight = actionBar === 'bottom' ? ACTION_BAR_HEIGHT : 0;\n\n return {\n questionsContainerWidth: isSingleColumn ? QUESTION_WIDTH : SPLIT_QUESTION_WIDTH,\n maxQuestionWidth: QUESTION_WIDTH,\n actionbarHeight,\n };\n};\n\ninterface IGetRenderableQuestions {\n (options: {\n questions: IWorksheetQuestion[];\n lastUnlockedQuestionIndex: number;\n userType: TUserTypes;\n }): IWorksheetQuestion[];\n}\nconst getRenderableQuestions: IGetRenderableQuestions = ({\n questions,\n lastUnlockedQuestionIndex,\n userType,\n}) => {\n if (userType === 'STUDENT') return questions.slice(0, lastUnlockedQuestionIndex + 1);\n\n return questions;\n};\n\ninterface IScrollToQuestion {\n (questionId: string, params?: { animation?: boolean }): void;\n}\n\nconst scrollToQuestion: IScrollToQuestion = (questionId, { animation = false } = {}) => {\n const $questionEl = document.querySelectorAll(`.widget-${questionId}`)[0];\n\n if ($questionEl) {\n $questionEl.scrollIntoView({\n block: 'start',\n behavior: animation ? 'smooth' : 'instant',\n });\n }\n};\n\ninterface IIsOkayTypeQuestion {\n (question: IWorksheetQuestion | ILearnosityQuestion): boolean;\n}\n\nconst isOkayTypeQuestion: IIsOkayTypeQuestion = question => {\n const { type, options, instructor_stimulus } = question;\n const itemType = 'item_type' in question ? question.item_type : undefined;\n\n if (\n itemType === 'overview' ||\n instructor_stimulus === 'Intro' ||\n instructor_stimulus === 'SystemIntro' ||\n instructor_stimulus === 'Concept-Intro'\n ) {\n return true;\n }\n\n return type === 'mcq' && options?.length === 1 ? true : false;\n};\n\nconst setMathJaxConfigInWindow = (\n logger: (eventName: string, data?: Record<string, unknown>) => void,\n) => {\n window.MathJax = {\n options: {\n enableMenu: false,\n ignoreHtmlClass: 'lrn_noMath',\n compileError: function (doc, math, err) {\n logger(EVENTS.MATHJAX_COMPILE_ERROR);\n doc.compileError(math, err);\n },\n typesetError: function (doc, math, err) {\n logger(EVENTS.MATHJAX_TYPESET_ERROR);\n doc.typesetError(math, err);\n // throw new Error('typesetError');\n },\n },\n tex: {\n inlineMath: [\n ['\\\\(', '\\\\)'],\n ['$$', '$$'],\n ],\n displayMath: [['\\\\[', '\\\\]']],\n macros: {\n abs: ['{|#1|}', 1],\n degree: ['°'],\n longdiv: ['{\\\\enclose{longdiv}{#1}}', 1],\n atomic: ['{_{#1}^{#2}}', 2],\n polyatomic: ['{_{#2}{}^{#1}}', 2],\n circledot: ['{\\\\odot}'],\n parallelogram: ['\\\\unicode{x25B1}'],\n ngtr: ['\\\\unicode{x226F}'],\n nless: ['\\\\unicode{x226E}'],\n MathQuillVarField: ['#1', 1],\n overarc: ['{\\\\overparen{#1}}', 1],\n },\n formatError: (jax, err) => {\n logger(EVENTS.MATHJAX_FORMAT_ERROR, {\n id: err.id,\n message: err.message,\n });\n jax.formatError(err);\n },\n },\n chtml: {\n minScale: 1,\n matchFontHeight: false,\n },\n };\n};\n\ninterface IGetPaperColorByQuestion {\n (question: IWorksheetQuestion): TWorksheetQuestionPaperColor;\n}\n\nconst getPaperColorByQuestion: IGetPaperColorByQuestion = question => {\n const { item_type, instructor_stimulus } = question;\n const lowerCaseInstructorStimulus = instructor_stimulus?.toLowerCase();\n\n switch (item_type) {\n case 'overview':\n return 'white';\n case 'learning-we-do':\n case 'learning-your-turn':\n case 'learning-explore':\n if (\n lowerCaseInstructorStimulus === 'instruction' ||\n lowerCaseInstructorStimulus === 'intro' ||\n lowerCaseInstructorStimulus === 'concept-intro'\n ) {\n return 'blue';\n }\n\n if (lowerCaseInstructorStimulus === 'task') {\n return 'green';\n }\n\n return 'yellow';\n case 'practice-basic':\n case 'practice-regular':\n return 'yellow';\n case 'exit-ticket':\n return 'purple';\n case 'advanced-practice':\n return 'orange';\n default:\n if (lowerCaseInstructorStimulus === 'learn') return 'blue';\n\n if (lowerCaseInstructorStimulus === 'try' || lowerCaseInstructorStimulus === 'apply')\n return 'green';\n\n return 'yellow';\n }\n};\n\nconst getQuestionBackgroundImage = (paperColor: TWorksheetQuestionPaperColor) => {\n return `https://cuemath-intel.s3.ap-southeast-1.amazonaws.com/media/math-canvas/paper-${paperColor}.png`;\n};\n\nconst getQuestionBorderColor = (\n paperColor: TWorksheetQuestionPaperColor,\n isActive?: boolean,\n): TColorNames => {\n if (!isActive) {\n return 'GREY_3';\n }\n\n switch (paperColor) {\n case 'orange':\n case 'white':\n return 'ORANGE_2';\n case 'blue':\n return 'BLUE_2';\n case 'green':\n return 'GREEN_2';\n case 'yellow':\n return 'YELLOW_2';\n case 'purple':\n return 'PURPLE_2';\n default:\n return 'GREY_3';\n }\n};\n\nconst getNavigationSectionBackgroundColor = (sectionName?: TSectionName): TColorNames => {\n switch (sectionName) {\n case 'learning':\n return 'BLUE_1';\n case 'practice-basic':\n case 'practice-regular':\n return 'YELLOW_1';\n case 'exit-ticket':\n return 'PURPLE_1';\n case 'advanced':\n return 'ORANGE_1';\n default:\n return 'YELLOW_1';\n }\n};\n\nconst getNavigationSectionName = (sectionName?: TSectionName): string => {\n switch (sectionName) {\n case 'learning':\n return 'Learning';\n case 'practice-basic':\n return 'Basic practice';\n case 'practice-regular':\n return 'Regular practice';\n case 'exit-ticket':\n return 'Mini quiz';\n case 'advanced':\n return 'Advanced work';\n default:\n return '';\n }\n};\n\nconst getNavigationSectionIcon = (sectionName?: TSectionName) => {\n switch (sectionName) {\n case 'learning':\n return Bulb2Icon;\n case 'practice-basic':\n return Edit2Icon;\n case 'practice-regular':\n return EditStarIcon;\n case 'exit-ticket':\n return QuestionLetterIcon;\n case 'advanced':\n return Star2Icon;\n default:\n return Bulb2Icon;\n }\n};\n\nconst isSATAssessmentNode = (nodeType: NODE_TYPES) =>\n nodeType === 'SAT_ENGLISH_ASSESSMENT' || nodeType === 'SAT_MATH_ASSESSMENT';\n\nconst checkIsClozeFormulaResponseInvalid = (response: ILearnosityQuestionResponse) => {\n if (Array.isArray(response.value)) {\n const isInvalid = response.value.some(\n item => typeof item === 'string' && item.length > CLOZE_FORMULA_RESPONSE_LIMIT,\n );\n\n return isInvalid;\n }\n\n return false;\n};\n\nconst getWorksheetNudgeBannerInfo = (\n userType: TUserTypes,\n markedAsCompleted: boolean,\n): ISheetNudgeBannerInfo => {\n const isTeacher = userType === 'TEACHER';\n\n if (markedAsCompleted) {\n return {\n bannerBackgroundColor: 'GREEN_4',\n label: isTeacher\n ? 'This sheet was marked as completed.'\n : 'Marked as completed by the teacher',\n };\n }\n\n return {\n bannerBackgroundColor: 'ORANGE_2',\n label: 'Complete this with your tutor in class',\n };\n};\n\nconst getWorksheetHeaderLayout: IWorksheetHeaderLayoutProps = ({\n isPuzzleWorksheet,\n isTestWorksheet,\n imageHue = 'BLUE',\n}) => {\n if (isPuzzleWorksheet) {\n return {\n bgColor: `${imageHue}_3`,\n borderColor: `${imageHue}_4`,\n textColor: 'BLACK_T_87',\n };\n }\n\n if (isTestWorksheet) {\n return {\n bgColor: 'WHITE_3',\n borderColor: 'WHITE_4',\n textColor: 'BLACK_T_87',\n };\n }\n\n return {\n bgColor: 'BLACK',\n borderColor: 'BLACK_4',\n textColor: 'WHITE',\n };\n};\n\ninterface IGetPuzzleWorksheetBackgroundColor {\n (imageHue?: THueNames): TColorNames;\n}\n\nconst getPuzzleWorksheetBackgroundColor: IGetPuzzleWorksheetBackgroundColor = imageHue => {\n if (!imageHue) return 'BLUE_1';\n\n return `${imageHue}_1`;\n};\n\nexport {\n getInitialQuestionId,\n getInitialResponses,\n getLastUnlockedQuestionIndex,\n getNavigationSectionBackgroundColor,\n getNavigationSectionIcon,\n getNavigationSectionName,\n getPaperColorByQuestion,\n getQuestionBackgroundImage,\n getQuestionBorderColor,\n getQuestionMetadata,\n getQuestionsFromItems,\n getRenderableQuestions,\n getWorksheetDimensions,\n isConceptIntroWidget,\n isSATAssessmentNode,\n isOkayTypeQuestion,\n scrollToQuestion,\n setMathJaxConfigInWindow,\n getWorksheetNudgeBannerInfo,\n checkIsClozeFormulaResponseInvalid,\n getWorksheetHeaderLayout,\n getPuzzleWorksheetBackgroundColor,\n};\n"],"names":["getSectionNameFromItemType","itemType","isConceptIntroWidget","instructorStimulus","lowerCaseInstructorStimulus","getTagsMap","tags","acc","tag","key","value","trimmedKey","trimmedValue","getQuestionsFromItems","items","sectioned","adaptive","item","itemIndex","hasIntroWidget","content","questions","sectionName","prevItem","itemDisplayNumber","orderedQuestionIds","orderedQuestions","responseId","widgetIndex","question","respId","OPTIONAL_ITEM_TYPES","prevItemType","_a","itemTypeDerived","prevItemTypeDerived","finalQuestions","topics","topicsOrder","a","b","aTopic","QUESTION_TAGS","bTopic","aSortKey","bSortKey","_b","topicOrder","questionCode","getInitialQuestionId","initialQuestion","initialResponseId","initialItemIndex","lastUnlockedQuestionIndex","unlockedQuestions","lastUnlockedQuestion","q","getLastUnlockedQuestionIndex","responses","behavior","userType","maximumAttempts","teacherValidationEnabled","validation","navigationMode","questionIndex","qResp","attemptsHistory","validatedByTeacher","assignStatus","lastAttemptScore","unskippedQuestionIndex","getQuestionMetadata","questionId","isOkayTypeQuestion","getInitialResponses","getWorksheetDimensions","layout","actionBar","QUESTION_WIDTH","SPLIT_QUESTION_WIDTH","ACTION_BAR_HEIGHT","getRenderableQuestions","scrollToQuestion","animation","$questionEl","type","options","instructor_stimulus","setMathJaxConfigInWindow","logger","doc","math","err","EVENTS","jax","getPaperColorByQuestion","item_type","getQuestionBackgroundImage","paperColor","getQuestionBorderColor","isActive","getNavigationSectionBackgroundColor","getNavigationSectionName","getNavigationSectionIcon","Bulb2Icon","Edit2Icon","EditStarIcon","QuestionLetterIcon","Star2Icon","checkIsClozeFormulaResponseInvalid","response","CLOZE_FORMULA_RESPONSE_LIMIT","getWorksheetNudgeBannerInfo","markedAsCompleted","isTeacher","getWorksheetHeaderLayout","isPuzzleWorksheet","isTestWorksheet","imageHue","getPuzzleWorksheetBackgroundColor"],"mappings":"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"}