@cuemath/leap 3.5.48-gg1 → 3.5.48-j2

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 (249) hide show
  1. package/dist/assets/illustrations/illustrations.js +0 -3
  2. package/dist/assets/illustrations/illustrations.js.map +1 -1
  3. package/dist/assets/line-icons/icons/bulb.js +10 -10
  4. package/dist/assets/line-icons/icons/bulb.js.map +1 -1
  5. package/dist/assets/line-icons/icons/hand.js.map +1 -1
  6. package/dist/assets/line-icons/icons/scribble.js +36 -13
  7. package/dist/assets/line-icons/icons/scribble.js.map +1 -1
  8. package/dist/assets/line-icons/icons/sticker.js +9 -9
  9. package/dist/assets/line-icons/icons/sticker.js.map +1 -1
  10. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -1
  11. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +6 -6
  12. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
  13. package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js +2 -2
  14. package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js.map +1 -1
  15. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +29 -64
  16. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
  17. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js +2 -2
  18. package/dist/features/milestone/edit/goal-drafts/goal-draft-edit-container.js.map +1 -1
  19. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js +107 -103
  20. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-list.js.map +1 -1
  21. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js +2 -2
  22. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/goals/goal-action-ctas.js.map +1 -1
  23. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js +104 -96
  24. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-tabs/milestone-tabs.js.map +1 -1
  25. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js +134 -115
  26. package/dist/features/milestone/milestone-list-container/milestone-list/milestone-widget/milestone-widget.js.map +1 -1
  27. package/dist/features/milestone/milestone-list-container/milestone-list-container.js +95 -91
  28. package/dist/features/milestone/milestone-list-container/milestone-list-container.js.map +1 -1
  29. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js +92 -74
  30. package/dist/features/milestone/milestone-resources/resources-assign/added-resource-and-filters.js.map +1 -1
  31. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js +28 -25
  32. package/dist/features/milestone/milestone-resources/resources-assign/comps/filter-item/filter-item.js.map +1 -1
  33. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js +214 -170
  34. package/dist/features/milestone/milestone-resources/resources-assign/resources-assign.js.map +1 -1
  35. package/dist/features/milestone/milestone-resources/resources-assign/store/action-types.js +20 -0
  36. package/dist/features/milestone/milestone-resources/resources-assign/store/action-types.js.map +1 -0
  37. package/dist/features/milestone/milestone-resources/resources-assign/store/actions.js +55 -0
  38. package/dist/features/milestone/milestone-resources/resources-assign/store/actions.js.map +1 -0
  39. package/dist/features/milestone/milestone-resources/resources-assign/store/initial-state.js +38 -0
  40. package/dist/features/milestone/milestone-resources/resources-assign/store/initial-state.js.map +1 -0
  41. package/dist/features/milestone/milestone-resources/resources-assign/store/reducer.js +58 -0
  42. package/dist/features/milestone/milestone-resources/resources-assign/store/reducer.js.map +1 -0
  43. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js +40 -39
  44. package/dist/features/milestone/milestone-resources/resources-list/resources-list.js.map +1 -1
  45. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js +44 -43
  46. package/dist/features/milestone/milestone-tests/test-list-v2/test-list-container.js.map +1 -1
  47. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js +51 -42
  48. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/chapter-selection/chapter-selection.js.map +1 -1
  49. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js +85 -72
  50. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/difficulty-and-duration-selection/difficulty-and-duration-selection.js.map +1 -1
  51. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +34 -25
  52. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
  53. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js +5 -0
  54. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation-types.js.map +1 -0
  55. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js +146 -89
  56. package/dist/features/milestone/milestone-tests/tests-creation/tests-creation.js.map +1 -1
  57. package/dist/features/puzzles/app/puzzle-app-view.js +40 -40
  58. package/dist/features/puzzles/app/puzzle-app-view.js.map +1 -1
  59. package/dist/features/trial-session/comps/learning-plan/index.js +268 -83
  60. package/dist/features/trial-session/comps/learning-plan/index.js.map +1 -1
  61. package/dist/features/trial-session/hooks/use-learning-plan-sync.js +29 -0
  62. package/dist/features/trial-session/hooks/use-learning-plan-sync.js.map +1 -0
  63. package/dist/features/trial-session/trial-session-types.js +3 -2
  64. package/dist/features/trial-session/trial-session-types.js.map +1 -1
  65. package/dist/features/ui/tabs/tabs.js +15 -15
  66. package/dist/features/ui/tabs/tabs.js.map +1 -1
  67. package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js +1 -0
  68. package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js.map +1 -1
  69. package/dist/features/worksheet/worksheet/constants.js +13 -12
  70. package/dist/features/worksheet/worksheet/constants.js.map +1 -1
  71. package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js +100 -123
  72. package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js.map +1 -1
  73. package/dist/features/worksheet/worksheet/hooks/use-worksheet-store.js +1 -1
  74. package/dist/features/worksheet/worksheet/hooks/use-worksheet-store.js.map +1 -1
  75. package/dist/features/worksheet/worksheet/question-tips.js +100 -0
  76. package/dist/features/worksheet/worksheet/question-tips.js.map +1 -0
  77. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +109 -40
  78. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  79. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +46 -49
  80. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
  81. package/dist/features/worksheet/worksheet/worksheet-calculator/worksheet-calculator.js +4 -4
  82. package/dist/features/worksheet/worksheet/worksheet-calculator/worksheet-calculator.js.map +1 -1
  83. package/dist/features/worksheet/worksheet/worksheet-helpers.js +276 -129
  84. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  85. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js +25 -25
  86. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js.map +1 -1
  87. package/dist/features/worksheet/worksheet/worksheet-provider.js +1 -1
  88. package/dist/features/worksheet/worksheet/worksheet-provider.js.map +1 -1
  89. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js +25 -22
  90. package/dist/features/worksheet/worksheet/worksheet-question/learnosity-question.js.map +1 -1
  91. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop-styled.js +20 -26
  92. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop-styled.js.map +1 -1
  93. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js +17 -32
  94. package/dist/features/worksheet/worksheet/worksheet-question/question-backdrop/question-backdrop.js.map +1 -1
  95. package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js +22 -17
  96. package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js.map +1 -1
  97. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/basic-practice-intro.js +1 -1
  98. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/basic-practice-intro.js.map +1 -1
  99. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/regular-practice-intro.js +2 -2
  100. package/dist/features/worksheet/worksheet/worksheet-question/system-intros/regular-practice-intro.js.map +1 -1
  101. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js +50 -32
  102. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
  103. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +287 -377
  104. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  105. package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js +53 -0
  106. package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js.map +1 -0
  107. package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js +191 -0
  108. package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js.map +1 -0
  109. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +345 -20
  110. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  111. package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js +20 -33
  112. package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js.map +1 -1
  113. package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js +112 -0
  114. package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +1 -0
  115. package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js +61 -0
  116. package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +1 -0
  117. package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js +91 -0
  118. package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js.map +1 -0
  119. package/dist/features/worksheet/worksheet/worksheet-store.js +289 -0
  120. package/dist/features/worksheet/worksheet/worksheet-store.js.map +1 -0
  121. package/dist/features/worksheet/worksheet/worksheet-styled.js +83 -29
  122. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  123. package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js +24 -45
  124. package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js.map +1 -1
  125. package/dist/features/worksheet/worksheet/worksheet-types.js +3 -4
  126. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  127. package/dist/features/worksheet/worksheet/worksheet-view.js +99 -88
  128. package/dist/features/worksheet/worksheet/worksheet-view.js.map +1 -1
  129. package/dist/features/worksheet/worksheet/worksheet.js +117 -126
  130. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  131. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +29 -29
  132. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
  133. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +16 -16
  134. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  135. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +24 -24
  136. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  137. package/dist/index.d.ts +129 -68
  138. package/dist/index.js +745 -760
  139. package/dist/index.js.map +1 -1
  140. package/dist/node_modules/decode-uri-component/index.js.map +1 -0
  141. package/dist/node_modules/query-string/base.js +1 -1
  142. package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
  143. package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
  144. package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
  145. package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
  146. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
  147. package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
  148. package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
  149. package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
  150. package/dist/types/models/worksheet.js +1 -2
  151. package/dist/types/models/worksheet.js.map +1 -1
  152. package/package.json +1 -1
  153. package/dist/assets/line-icons/icons/chevron-up.js +0 -28
  154. package/dist/assets/line-icons/icons/chevron-up.js.map +0 -1
  155. package/dist/assets/line-icons/icons/close.js +0 -28
  156. package/dist/assets/line-icons/icons/close.js.map +0 -1
  157. package/dist/assets/line-icons/icons/cursor2.js +0 -24
  158. package/dist/assets/line-icons/icons/cursor2.js.map +0 -1
  159. package/dist/assets/line-icons/icons/hints.js +0 -25
  160. package/dist/assets/line-icons/icons/hints.js.map +0 -1
  161. package/dist/assets/line-icons/icons/question-feedback.js +0 -30
  162. package/dist/assets/line-icons/icons/question-feedback.js.map +0 -1
  163. package/dist/assets/line-icons/icons/teaching-tools.js +0 -40
  164. package/dist/assets/line-icons/icons/teaching-tools.js.map +0 -1
  165. package/dist/assets/line-icons/icons/tval-question.js +0 -32
  166. package/dist/assets/line-icons/icons/tval-question.js.map +0 -1
  167. package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js +0 -37
  168. package/dist/features/trial-session/comps/learning-plan/use-learning-plan-scroll-sync.js.map +0 -1
  169. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-allow-retry-button-click.js +0 -15
  170. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-allow-retry-button-click.js.map +0 -1
  171. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-back-button-click.js +0 -18
  172. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-back-button-click.js.map +0 -1
  173. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-check-button-click.js +0 -21
  174. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-check-button-click.js.map +0 -1
  175. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-next-button-click.js +0 -19
  176. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-next-button-click.js.map +0 -1
  177. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-ready-button-click.js +0 -34
  178. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-ready-button-click.js.map +0 -1
  179. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-response-change.js +0 -38
  180. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-response-change.js.map +0 -1
  181. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-retry-button-click.js +0 -16
  182. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-retry-button-click.js.map +0 -1
  183. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-button-click.js +0 -35
  184. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-button-click.js.map +0 -1
  185. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-section-button-click.js +0 -12
  186. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-section-button-click.js.map +0 -1
  187. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-start-button-click.js +0 -44
  188. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-start-button-click.js.map +0 -1
  189. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-submit-quiz.js +0 -51
  190. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-submit-quiz.js.map +0 -1
  191. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-validate-button-click.js +0 -19
  192. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-validate-button-click.js.map +0 -1
  193. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-play-validation-audio.js +0 -23
  194. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-play-validation-audio.js.map +0 -1
  195. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-validate-question.js +0 -36
  196. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-validate-question.js.map +0 -1
  197. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3.js +0 -184
  198. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3.js.map +0 -1
  199. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.js +0 -261
  200. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.js.map +0 -1
  201. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller.js +0 -180
  202. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller.js.map +0 -1
  203. package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3.js +0 -77
  204. package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3.js.map +0 -1
  205. package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3_1.js +0 -103
  206. package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3_1.js.map +0 -1
  207. package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller.js +0 -21
  208. package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller.js.map +0 -1
  209. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller-view.js +0 -22
  210. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller-view.js.map +0 -1
  211. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js +0 -49
  212. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js.map +0 -1
  213. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js +0 -191
  214. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js.map +0 -1
  215. package/dist/features/worksheet/worksheet/worksheet-questions-tools/scribble-switch.js +0 -65
  216. package/dist/features/worksheet/worksheet/worksheet-questions-tools/scribble-switch.js.map +0 -1
  217. package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-styled.js +0 -9
  218. package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-styled.js.map +0 -1
  219. package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-tools.js +0 -38
  220. package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-tools.js.map +0 -1
  221. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-computed-properties.js +0 -73
  222. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-computed-properties.js.map +0 -1
  223. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-derived-blocker.js +0 -20
  224. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-derived-blocker.js.map +0 -1
  225. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-attemptable-question-index.js +0 -69
  226. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-attemptable-question-index.js.map +0 -1
  227. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-unlocked-question-index.js +0 -18
  228. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-unlocked-question-index.js.map +0 -1
  229. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-merged-response-state.js +0 -19
  230. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-merged-response-state.js.map +0 -1
  231. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-questions-from-items.js +0 -138
  232. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-questions-from-items.js.map +0 -1
  233. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-renderable-questions.js +0 -9
  234. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-renderable-questions.js.map +0 -1
  235. package/dist/features/worksheet/worksheet/worksheet-store/worksheet-store.js +0 -230
  236. package/dist/features/worksheet/worksheet/worksheet-store/worksheet-store.js.map +0 -1
  237. package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools-styled.js +0 -19
  238. package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools-styled.js.map +0 -1
  239. package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools.js +0 -72
  240. package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools.js.map +0 -1
  241. package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +0 -1
  242. package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
  243. package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
  244. package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
  245. package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
  246. package/dist/static/pattern-cubes.113d8dda.svg +0 -1
  247. package/dist/static/pattern-diamond.a51b202c.svg +0 -1
  248. package/dist/static/pattern-honeycomb.ed7ad26a.svg +0 -1
  249. /package/dist/node_modules/{query-string/node_modules/decode-uri-component → decode-uri-component}/index.js +0 -0
@@ -1,34 +1,359 @@
1
- import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
- import { memo as i } from "react";
3
- import { useWorksheetStore as s } from "../hooks/use-worksheet-store.js";
4
- import l from "../../../ui/layout/flex-view.js";
5
- import m from "../worksheet-sidebar/navigator.js";
6
- import a from "./worksheet-questions-controller-view.js";
7
- const k = i(
8
- function(o) {
9
- const { actionBarRightElement: e } = s((r) => ({
10
- actionBarRightElement: r.actionBarRightElement
11
- }));
12
- return /* @__PURE__ */ n(
13
- l,
1
+ import { jsxs as Rt, jsx as i } from "react/jsx-runtime";
2
+ import { deepEqual as Dt } from "../../../../node_modules/fast-equals/dist/esm/index.js";
3
+ import { memo as zt, useState as Q, useEffect as y, useMemo as Qt } from "react";
4
+ import Ut from "../../../../assets/line-icons/icons/check2.js";
5
+ import Nt from "../../../../assets/line-icons/icons/hand.js";
6
+ import Vt from "../../../../assets/line-icons/icons/question.js";
7
+ import Lt from "../../../../assets/line-icons/icons/skip.js";
8
+ import r from "../../../ui/buttons/button/button.js";
9
+ import x from "../../../ui/buttons/icon-button/icon-button.js";
10
+ import Wt from "../../../ui/layout/flex-view.js";
11
+ import Ht from "./use-handler-callbacks.js";
12
+ import { useWorksheetStore as Mt } from "../hooks/use-worksheet-store.js";
13
+ const ne = zt(
14
+ function(st) {
15
+ var et, nt, it;
16
+ const {
17
+ behavior: C,
18
+ questions: U,
19
+ userType: d,
20
+ responses: N,
21
+ questionIndex: V,
22
+ lastUnlockedQuestionIndex: at,
23
+ learnosity: T,
24
+ onSkip: A,
25
+ canSubmitWorksheet: L,
26
+ actionBarRightElement: W
27
+ } = Mt((e) => ({
28
+ behavior: e.behavior,
29
+ questions: e.questions,
30
+ userType: e.userType,
31
+ responses: e.responses,
32
+ questionIndex: e.activeQuestionIndex,
33
+ lastUnlockedQuestionIndex: e.lastUnlockedQuestionIndex,
34
+ learnosity: e.learnosity,
35
+ onSkip: e.onSkip,
36
+ canSubmitWorksheet: e.canSubmitWorksheet,
37
+ actionBarRightElement: e.actionBarRightElement
38
+ })), H = V <= at, { question: l, isQuestionAppended: m, response: t, getTimeSpentOnQuestion: rt, onSubmit: ut } = st, {
39
+ navigationMode: I,
40
+ canAttempt: o,
41
+ hints: lt,
42
+ checkButtonLabel: ct,
43
+ retryButtonLabel: dt,
44
+ validation: c,
45
+ maximumAttempts: g,
46
+ canExceedAttempts: M,
47
+ teacherValidationEnabled: X,
48
+ canTeacherValidate: u,
49
+ hintsTimer: v,
50
+ skippableTime: $,
51
+ skippable: j
52
+ } = C, { response_id: E, item_type: mt, type: _, instructor_stimulus: Bt, is_optional: P } = l, p = lt ? ((it = (nt = (et = T.question(E)) == null ? void 0 : et.getMetadata()) == null ? void 0 : nt.hints) == null ? void 0 : it.length) ?? 0 : 0, q = Bt === "SystemIntro", w = mt === "exit-ticket", B = o && p - ((t == null ? void 0 : t.hintsUsed) ?? 0) > 0, [s, F] = Q(!1), [G, O] = Q(!1), [J, f] = Q(!1);
53
+ y(() => {
54
+ if (v && B) {
55
+ const e = setTimeout(() => {
56
+ F(!0);
57
+ }, v * 1e3);
58
+ return () => clearTimeout(e);
59
+ }
60
+ F(B);
61
+ }, [v, B]), y(() => {
62
+ const e = !(t != null && t.response) && !(t != null && t.skipped);
63
+ if (j)
64
+ if (p > 0 && !B)
65
+ f(e);
66
+ else if (p === 0 && e) {
67
+ const S = setTimeout(
68
+ () => {
69
+ f(e);
70
+ },
71
+ ($ ?? 0) * 1e3
72
+ );
73
+ return () => clearTimeout(S);
74
+ } else
75
+ f(!1);
76
+ }, [p, B, t, j, $]);
77
+ const {
78
+ checkButton: k,
79
+ checkButtonDisabled: kt,
80
+ hintsButton: K,
81
+ retryButton: b,
82
+ nextButton: ht,
83
+ nextButtonDisabled: pt,
84
+ startButton: ft,
85
+ readyButton: bt,
86
+ validateButton: St,
87
+ skipSectionButton: yt,
88
+ submitAttemptButton: Y,
89
+ skipButton: xt
90
+ } = Qt(() => {
91
+ const e = u && P && (t == null ? void 0 : t.assignStatus) === "assigned", S = () => {
92
+ var ot;
93
+ if (g === -2)
94
+ return d === "STUDENT" && o ? {
95
+ hintsButton: s
96
+ } : {};
97
+ if (!o)
98
+ return {
99
+ nextButton: !0
100
+ };
101
+ if (!c && C.navigationMode === "LINEAR")
102
+ return {
103
+ nextButton: !0,
104
+ nextButtonDisabled: !(t != null && t.response),
105
+ hintsButton: s,
106
+ skipButton: J
107
+ };
108
+ if (!c)
109
+ return {
110
+ nextButton: !0,
111
+ hintsButton: s
112
+ };
113
+ if (!t || !t.response || !t.score)
114
+ return {
115
+ checkButton: !0,
116
+ checkButtonDisabled: !0,
117
+ hintsButton: s
118
+ };
119
+ const { responseEdited: h, score: a, attemptsHistory: n } = t, z = ((n == null ? void 0 : n.length) ?? 0) >= g;
120
+ if (z && !M)
121
+ return {
122
+ nextButton: !0
123
+ };
124
+ if (h) {
125
+ const wt = (ot = n == null ? void 0 : n.slice(-1)[0]) == null ? void 0 : ot.response;
126
+ return {
127
+ nextButton: z,
128
+ checkButton: !0,
129
+ checkButtonDisabled: Dt(t.response, wt),
130
+ hintsButton: s
131
+ };
132
+ }
133
+ return (a.score ?? 0) < a.max_score ? {
134
+ nextButton: z,
135
+ retryButton: !0,
136
+ hintsButton: s
137
+ } : (a.score ?? 0) === a.max_score ? {
138
+ nextButton: !0
139
+ } : {};
140
+ }, qt = () => U.some(({ response_id: h }) => {
141
+ const { assignStatus: a, validatedByTeacher: n } = N[h] ?? {};
142
+ return a === "skipped" ? !1 : n !== !0;
143
+ });
144
+ if (X) {
145
+ const { validatedByTeacher: h } = t ?? {};
146
+ if (I === "ADAPTIVE" || I === "CURRENT")
147
+ return d === "STUDENT" ? {
148
+ hintsButton: s,
149
+ validateButton: !1
150
+ } : {
151
+ validateButton: !1
152
+ };
153
+ if (h)
154
+ return {
155
+ validateButton: !0,
156
+ submitAttemptButton: u && o && d === "STUDENT" && L ? !qt() : !1
157
+ };
158
+ if (!H)
159
+ return {};
160
+ if (d === "STUDENT")
161
+ return q ? {
162
+ startButton: u && o
163
+ } : _ !== "clozetext" ? {
164
+ ...S(),
165
+ nextButton: !1
166
+ } : {
167
+ hintsButton: s,
168
+ readyButton: u && w && !(t != null && t.submittedByStudent)
169
+ };
170
+ if (q)
171
+ return {
172
+ skipSectionButton: e
173
+ };
174
+ if (_ !== "clozetext") {
175
+ const { responseEdited: a, score: n } = t ?? {};
176
+ return {
177
+ skipSectionButton: e,
178
+ validateButton: a || !u ? !1 : !!(n != null && n.score && (n != null && n.max_score) && !((n.score ?? 0) < n.max_score))
179
+ };
180
+ }
181
+ return {
182
+ skipSectionButton: e,
183
+ validateButton: u && (w ? t == null ? void 0 : t.submittedByStudent : !0)
184
+ };
185
+ }
186
+ return S();
187
+ }, [
188
+ u,
189
+ P,
190
+ t,
191
+ X,
192
+ o,
193
+ c,
194
+ C.navigationMode,
195
+ g,
196
+ M,
197
+ s,
198
+ J,
199
+ U,
200
+ N,
201
+ I,
202
+ H,
203
+ d,
204
+ q,
205
+ _,
206
+ w,
207
+ L
208
+ ]), {
209
+ handleResponseChange: R,
210
+ handleHelpButtonClick: Z,
211
+ handleBackButtonClick: tt,
212
+ handleNextButtonClick: D,
213
+ handleCheckButtonClick: Ct,
214
+ handleRetryButtonClick: Tt,
215
+ handleHintButtonClick: At,
216
+ handleValidateButtonClick: It,
217
+ handleStartButtonClick: gt,
218
+ handleSkipSectionButtonClick: vt,
219
+ handleReadyButtonClick: Et,
220
+ handleSkipButtonClick: _t
221
+ } = Ht({
222
+ question: l,
223
+ setSkipped: O,
224
+ getTimeSpentOnQuestion: rt
225
+ });
226
+ return y(() => {
227
+ G && (O(!1), f(!1), D(), A && A(l.item_display_number, l.question_number));
228
+ }, [
229
+ D,
230
+ A,
231
+ l.item_display_number,
232
+ l.question_number,
233
+ G
234
+ ]), y(() => {
235
+ const e = m ? T.question(E) : void 0;
236
+ return e && o && (!c || k) && (e.on("changed", R), e.enable()), () => {
237
+ e && o && (!c || k) && (e.off("changed", R), e.disable());
238
+ };
239
+ }, [
240
+ o,
241
+ k,
242
+ R,
243
+ m,
244
+ T,
245
+ E,
246
+ c
247
+ ]), /* @__PURE__ */ Rt(
248
+ Wt,
14
249
  {
250
+ $background: "WHITE",
15
251
  $flexDirection: "row",
16
252
  $flexGapX: 0.5,
17
253
  $alignItems: "center",
18
254
  $justifyContent: "flex-end",
19
- style: {
20
- pointerEvents: "all"
21
- },
22
255
  children: [
23
- /* @__PURE__ */ t(a, { ...o }),
24
- e && e,
25
- /* @__PURE__ */ t(m, {})
256
+ K && /* @__PURE__ */ i(
257
+ x,
258
+ {
259
+ Icon: Vt,
260
+ analyticsLabel: "Hint",
261
+ renderAs: "secondary",
262
+ disabled: !m,
263
+ onClick: At
264
+ }
265
+ ),
266
+ !K && Z && (k || b) && /* @__PURE__ */ i(
267
+ x,
268
+ {
269
+ Icon: Nt,
270
+ analyticsLabel: "Ask for help",
271
+ renderAs: "secondary",
272
+ onClick: Z
273
+ }
274
+ ),
275
+ tt && /* @__PURE__ */ i(
276
+ r,
277
+ {
278
+ widthX: 6,
279
+ renderAs: "secondary",
280
+ size: "small",
281
+ label: "Back",
282
+ disabled: V === 0,
283
+ onClick: tt
284
+ }
285
+ ),
286
+ xt && /* @__PURE__ */ i(
287
+ r,
288
+ {
289
+ widthX: 6,
290
+ renderAs: b ? "secondary" : "primary",
291
+ size: "small",
292
+ label: "Skip",
293
+ onClick: _t
294
+ }
295
+ ),
296
+ ht && /* @__PURE__ */ i(
297
+ r,
298
+ {
299
+ widthX: 6,
300
+ renderAs: b ? "secondary" : "primary",
301
+ size: "small",
302
+ label: "Next",
303
+ onClick: D,
304
+ disabled: pt === !0
305
+ }
306
+ ),
307
+ b && /* @__PURE__ */ i(
308
+ r,
309
+ {
310
+ widthX: 6,
311
+ renderAs: "primary",
312
+ size: "small",
313
+ label: dt,
314
+ disabled: !m,
315
+ onClick: Tt
316
+ }
317
+ ),
318
+ k && /* @__PURE__ */ i(
319
+ r,
320
+ {
321
+ renderAs: "primary",
322
+ size: "small",
323
+ label: ct,
324
+ disabled: kt === !0 || !m,
325
+ onClick: Ct
326
+ }
327
+ ),
328
+ ft && /* @__PURE__ */ i(r, { renderAs: "primary", size: "small", label: "Start", onClick: gt }),
329
+ bt && /* @__PURE__ */ i(r, { renderAs: "primary", size: "small", label: "Submit", onClick: Et }),
330
+ yt && /* @__PURE__ */ i(
331
+ x,
332
+ {
333
+ renderAs: "primary",
334
+ Icon: Lt,
335
+ analyticsLabel: "Skip Section",
336
+ onClick: vt
337
+ }
338
+ ),
339
+ !Y && St && /* @__PURE__ */ i(
340
+ x,
341
+ {
342
+ renderAs: "primary",
343
+ Icon: Ut,
344
+ disabled: t == null ? void 0 : t.validatedByTeacher,
345
+ analyticsLabel: "Validate",
346
+ onClick: It
347
+ }
348
+ ),
349
+ Y && /* @__PURE__ */ i(r, { renderAs: "primary", size: "small", label: "Submit", onClick: ut }),
350
+ W && W
26
351
  ]
27
352
  }
28
353
  );
29
354
  }
30
355
  );
31
356
  export {
32
- k as default
357
+ ne as default
33
358
  };
34
359
  //# sourceMappingURL=worksheet-questions-controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worksheet-questions-controller.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.tsx"],"sourcesContent":["import { memo, type FC } from 'react';\n\nimport { useWorksheetStore } from '../hooks/use-worksheet-store';\nimport type { IWorksheetQuestionsControllerProps } from './worksheet-questions-controller-types';\nimport FlexView from '../../../ui/layout/flex-view';\nimport Navigator from '../worksheet-sidebar/navigator';\nimport WorksheetQuestionsControllerView from './worksheet-questions-controller-view';\n\nconst WorksheetQuestionsController: FC<IWorksheetQuestionsControllerProps> = memo(\n function WorksheetQuestionsController(props) {\n const { actionBarRightElement } = useWorksheetStore(store => ({\n actionBarRightElement: store.actionBarRightElement,\n }));\n\n return (\n <FlexView\n $flexDirection=\"row\"\n $flexGapX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"flex-end\"\n style={{\n pointerEvents: 'all',\n }}\n >\n <WorksheetQuestionsControllerView {...props} />\n {actionBarRightElement && actionBarRightElement}\n <Navigator />\n </FlexView>\n );\n },\n);\n\nexport default WorksheetQuestionsController;\n"],"names":["WorksheetQuestionsController","memo","props","actionBarRightElement","useWorksheetStore","store","jsxs","FlexView","jsx","WorksheetQuestionsControllerView","Navigator"],"mappings":";;;;;;AAQA,MAAMA,IAAuEC;AAAA,EAC3E,SAAsCC,GAAO;AAC3C,UAAM,EAAE,uBAAAC,EAAA,IAA0BC,EAAkB,CAAUC,OAAA;AAAA,MAC5D,uBAAuBA,EAAM;AAAA,IAC7B,EAAA;AAGA,WAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,gBAAe;AAAA,QACf,WAAW;AAAA,QACX,aAAY;AAAA,QACZ,iBAAgB;AAAA,QAChB,OAAO;AAAA,UACL,eAAe;AAAA,QACjB;AAAA,QAEA,UAAA;AAAA,UAAC,gBAAAC,EAAAC,GAAA,EAAkC,GAAGP,GAAO;AAAA,UAC5CC,KAAyBA;AAAA,4BACzBO,GAAU,EAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGjB;AACF;"}
1
+ {"version":3,"file":"worksheet-questions-controller.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.tsx"],"sourcesContent":["import { deepEqual } from 'fast-equals';\nimport { memo, useEffect, useMemo, useState, type FC } from 'react';\n\nimport Check2Icon from '../../../../assets/line-icons/icons/check2';\nimport HandIcon from '../../../../assets/line-icons/icons/hand';\nimport QuestionIcon from '../../../../assets/line-icons/icons/question';\nimport SkipIcon from '../../../../assets/line-icons/icons/skip';\nimport Button from '../../../ui/buttons/button/button';\nimport IconButton from '../../../ui/buttons/icon-button/icon-button';\nimport FlexView from '../../../ui/layout/flex-view';\nimport useHandlerCallbacks from './use-handler-callbacks';\nimport type {\n IButtonTypes,\n IWorksheetQuestionsControllerProps,\n} from './worksheet-questions-controller-types';\nimport { useWorksheetStore } from '../hooks/use-worksheet-store';\n\nconst WorksheetQuestionsController: FC<IWorksheetQuestionsControllerProps> = memo(\n function WorksheetQuestionsController(props) {\n const {\n behavior,\n questions,\n userType,\n responses,\n questionIndex,\n lastUnlockedQuestionIndex,\n learnosity,\n onSkip,\n canSubmitWorksheet,\n actionBarRightElement,\n } = useWorksheetStore(store => ({\n behavior: store.behavior,\n questions: store.questions,\n userType: store.userType,\n responses: store.responses,\n questionIndex: store.activeQuestionIndex,\n lastUnlockedQuestionIndex: store.lastUnlockedQuestionIndex,\n learnosity: store.learnosity,\n onSkip: store.onSkip,\n canSubmitWorksheet: store.canSubmitWorksheet,\n actionBarRightElement: store.actionBarRightElement,\n }));\n const isQuestionUnlocked = questionIndex <= lastUnlockedQuestionIndex;\n const { question, isQuestionAppended, response, getTimeSpentOnQuestion, onSubmit } = props;\n const {\n navigationMode,\n canAttempt,\n hints,\n checkButtonLabel,\n retryButtonLabel,\n validation,\n maximumAttempts,\n canExceedAttempts,\n teacherValidationEnabled,\n canTeacherValidate,\n hintsTimer,\n skippableTime,\n skippable,\n } = behavior;\n\n const { response_id, item_type, type, instructor_stimulus, is_optional } = question;\n const hintsAvailable = !hints\n ? 0\n : learnosity.question(response_id)?.getMetadata()?.hints?.length ?? 0;\n\n const isSystemIntro = instructor_stimulus === 'SystemIntro';\n const isExitTicket = item_type === 'exit-ticket';\n const hintsRemaining = canAttempt && hintsAvailable - (response?.hintsUsed ?? 0) > 0;\n\n const [showHintsButton, setShowHintsButton] = useState(false);\n const [skipped, setSkipped] = useState(false);\n const [showSkipButton, setShowSkipButton] = useState(false);\n\n useEffect(() => {\n if (hintsTimer && hintsRemaining) {\n const timeoutId = setTimeout(() => {\n setShowHintsButton(true);\n }, hintsTimer * 1000);\n\n return () => clearTimeout(timeoutId);\n }\n setShowHintsButton(hintsRemaining);\n }, [hintsTimer, hintsRemaining]);\n\n useEffect(() => {\n const canShowSkip = !response?.response && !response?.skipped;\n\n //* If hints are available and user has exhausted all hints then we show skip button.\n //* If hints are not available and user has not given any response or have not skipped a question then we show skip button after skippableTime/ 90 seconds.\n //* Else skip button is hidden.\n if (skippable) {\n if (hintsAvailable > 0 && !hintsRemaining) {\n setShowSkipButton(canShowSkip);\n } else if (hintsAvailable === 0 && canShowSkip) {\n const timeoutId = setTimeout(\n () => {\n setShowSkipButton(canShowSkip);\n },\n (skippableTime ?? 0) * 1000,\n );\n\n return () => clearTimeout(timeoutId);\n } else {\n setShowSkipButton(false);\n }\n }\n }, [hintsAvailable, hintsRemaining, response, skippable, skippableTime]);\n\n const {\n checkButton,\n checkButtonDisabled,\n hintsButton,\n retryButton,\n nextButton,\n nextButtonDisabled,\n startButton,\n readyButton,\n validateButton,\n skipSectionButton,\n submitAttemptButton,\n skipButton,\n } = useMemo<IButtonTypes>(() => {\n const showSkipSectionButton =\n canTeacherValidate && is_optional && response?.assignStatus === 'assigned';\n\n const getSystemValidationButtons = (): IButtonTypes => {\n //* maximumAttempts = -2 means this is a puzzle card.\n if (maximumAttempts === -2) {\n if (userType === 'STUDENT') {\n if (canAttempt) {\n return {\n hintsButton: showHintsButton,\n };\n }\n }\n\n return {};\n }\n\n if (!canAttempt) {\n return {\n nextButton: true,\n };\n }\n\n if (!validation && behavior.navigationMode === 'LINEAR') {\n return {\n nextButton: true,\n nextButtonDisabled: !response?.response,\n hintsButton: showHintsButton,\n skipButton: showSkipButton,\n };\n }\n\n if (!validation) {\n return {\n nextButton: true,\n hintsButton: showHintsButton,\n };\n }\n\n if (!response || !response.response || !response.score) {\n return {\n checkButton: true,\n checkButtonDisabled: true,\n hintsButton: showHintsButton,\n };\n }\n\n const { responseEdited, score, attemptsHistory } = response;\n const maximumAttemptsReached = (attemptsHistory?.length ?? 0) >= maximumAttempts;\n\n if (maximumAttemptsReached && !canExceedAttempts) {\n return {\n nextButton: true,\n };\n }\n\n if (responseEdited) {\n const lastAttemptResponse = attemptsHistory?.slice(-1)[0]?.response;\n\n return {\n nextButton: maximumAttemptsReached,\n checkButton: true,\n checkButtonDisabled: deepEqual(response.response, lastAttemptResponse),\n hintsButton: showHintsButton,\n };\n }\n\n if ((score.score ?? 0) < score.max_score) {\n return {\n nextButton: maximumAttemptsReached,\n retryButton: true,\n hintsButton: showHintsButton,\n };\n }\n\n if ((score.score ?? 0) === score.max_score) {\n return {\n nextButton: true,\n };\n }\n\n return {};\n };\n\n const isPendingTeacherValidation = () =>\n questions.some(({ response_id: questionId }) => {\n const { assignStatus, validatedByTeacher } = responses[questionId] ?? {};\n\n return assignStatus === 'skipped' ? false : validatedByTeacher !== true;\n });\n\n if (teacherValidationEnabled) {\n const { validatedByTeacher } = response ?? {};\n\n if (navigationMode === 'ADAPTIVE' || navigationMode === 'CURRENT') {\n if (userType === 'STUDENT') {\n return {\n hintsButton: showHintsButton,\n validateButton: false,\n };\n }\n\n return {\n validateButton: false,\n };\n }\n\n if (validatedByTeacher) {\n return {\n validateButton: true,\n submitAttemptButton:\n canTeacherValidate && canAttempt && userType === 'STUDENT' && canSubmitWorksheet\n ? !isPendingTeacherValidation()\n : false,\n };\n }\n\n if (!isQuestionUnlocked) {\n return {};\n }\n\n if (userType === 'STUDENT') {\n if (isSystemIntro) {\n return {\n startButton: canTeacherValidate && canAttempt,\n };\n }\n\n if (type !== 'clozetext') {\n return {\n ...getSystemValidationButtons(),\n nextButton: false,\n };\n }\n\n return {\n hintsButton: showHintsButton,\n readyButton: canTeacherValidate && isExitTicket && !response?.submittedByStudent,\n };\n }\n\n if (isSystemIntro) {\n return {\n skipSectionButton: showSkipSectionButton,\n };\n }\n\n if (type !== 'clozetext') {\n const { responseEdited, score } = response ?? {};\n\n return {\n skipSectionButton: showSkipSectionButton,\n validateButton:\n responseEdited || !canTeacherValidate\n ? false\n : !!(score?.score && score?.max_score && !((score.score ?? 0) < score.max_score)),\n };\n }\n\n return {\n skipSectionButton: showSkipSectionButton,\n validateButton:\n canTeacherValidate && (isExitTicket ? response?.submittedByStudent : true),\n };\n }\n\n return getSystemValidationButtons();\n }, [\n canTeacherValidate,\n is_optional,\n response,\n teacherValidationEnabled,\n canAttempt,\n validation,\n behavior.navigationMode,\n maximumAttempts,\n canExceedAttempts,\n showHintsButton,\n showSkipButton,\n questions,\n responses,\n navigationMode,\n isQuestionUnlocked,\n userType,\n isSystemIntro,\n type,\n isExitTicket,\n canSubmitWorksheet,\n ]);\n\n const {\n handleResponseChange,\n handleHelpButtonClick,\n handleBackButtonClick,\n handleNextButtonClick,\n handleCheckButtonClick,\n handleRetryButtonClick,\n handleHintButtonClick,\n handleValidateButtonClick,\n handleStartButtonClick,\n handleSkipSectionButtonClick,\n handleReadyButtonClick,\n handleSkipButtonClick,\n } = useHandlerCallbacks({\n question,\n setSkipped,\n getTimeSpentOnQuestion,\n });\n\n useEffect(() => {\n if (skipped) {\n setSkipped(false);\n setShowSkipButton(false);\n handleNextButtonClick();\n if (onSkip) {\n onSkip(question.item_display_number, question.question_number);\n }\n }\n }, [\n handleNextButtonClick,\n onSkip,\n question.item_display_number,\n question.question_number,\n skipped,\n ]);\n\n useEffect(() => {\n const questionInstance = isQuestionAppended ? learnosity.question(response_id) : undefined;\n\n if (questionInstance && canAttempt && (!validation || checkButton)) {\n questionInstance.on('changed', handleResponseChange);\n questionInstance.enable();\n }\n\n return () => {\n if (questionInstance && canAttempt && (!validation || checkButton)) {\n questionInstance.off('changed', handleResponseChange);\n questionInstance.disable();\n }\n };\n }, [\n canAttempt,\n checkButton,\n handleResponseChange,\n isQuestionAppended,\n learnosity,\n response_id,\n validation,\n ]);\n\n return (\n <FlexView\n $background=\"WHITE\"\n $flexDirection=\"row\"\n $flexGapX={0.5}\n $alignItems=\"center\"\n $justifyContent=\"flex-end\"\n >\n {hintsButton && (\n <IconButton\n Icon={QuestionIcon}\n analyticsLabel=\"Hint\"\n renderAs=\"secondary\"\n disabled={!isQuestionAppended}\n onClick={handleHintButtonClick}\n />\n )}\n {!hintsButton && handleHelpButtonClick && (checkButton || retryButton) && (\n <IconButton\n Icon={HandIcon}\n analyticsLabel=\"Ask for help\"\n renderAs=\"secondary\"\n onClick={handleHelpButtonClick}\n />\n )}\n {handleBackButtonClick && (\n <Button\n widthX={6}\n renderAs=\"secondary\"\n size=\"small\"\n label=\"Back\"\n disabled={questionIndex === 0}\n onClick={handleBackButtonClick}\n />\n )}\n {skipButton && (\n <Button\n widthX={6}\n renderAs={retryButton ? 'secondary' : 'primary'}\n size=\"small\"\n label=\"Skip\"\n onClick={handleSkipButtonClick}\n />\n )}\n {nextButton && (\n <Button\n widthX={6}\n renderAs={retryButton ? 'secondary' : 'primary'}\n size=\"small\"\n label=\"Next\"\n onClick={handleNextButtonClick}\n disabled={nextButtonDisabled === true}\n />\n )}\n {retryButton && (\n <Button\n widthX={6}\n renderAs=\"primary\"\n size=\"small\"\n label={retryButtonLabel}\n disabled={!isQuestionAppended}\n onClick={handleRetryButtonClick}\n />\n )}\n {checkButton && (\n <Button\n renderAs=\"primary\"\n size=\"small\"\n label={checkButtonLabel}\n disabled={checkButtonDisabled === true || !isQuestionAppended}\n onClick={handleCheckButtonClick}\n />\n )}\n {startButton && (\n <Button renderAs=\"primary\" size=\"small\" label=\"Start\" onClick={handleStartButtonClick} />\n )}\n {readyButton && (\n <Button renderAs=\"primary\" size=\"small\" label=\"Submit\" onClick={handleReadyButtonClick} />\n )}\n {skipSectionButton && (\n <IconButton\n renderAs=\"primary\"\n Icon={SkipIcon}\n analyticsLabel=\"Skip Section\"\n onClick={handleSkipSectionButtonClick}\n />\n )}\n {!submitAttemptButton && validateButton && (\n <IconButton\n renderAs=\"primary\"\n Icon={Check2Icon}\n disabled={response?.validatedByTeacher}\n analyticsLabel=\"Validate\"\n onClick={handleValidateButtonClick}\n />\n )}\n {submitAttemptButton && (\n <Button renderAs=\"primary\" size=\"small\" label=\"Submit\" onClick={onSubmit} />\n )}\n {actionBarRightElement && actionBarRightElement}\n </FlexView>\n );\n },\n);\n\nexport default WorksheetQuestionsController;\n"],"names":["WorksheetQuestionsController","memo","props","behavior","questions","userType","responses","questionIndex","lastUnlockedQuestionIndex","learnosity","onSkip","canSubmitWorksheet","actionBarRightElement","useWorksheetStore","store","isQuestionUnlocked","question","isQuestionAppended","response","getTimeSpentOnQuestion","onSubmit","navigationMode","canAttempt","hints","checkButtonLabel","retryButtonLabel","validation","maximumAttempts","canExceedAttempts","teacherValidationEnabled","canTeacherValidate","hintsTimer","skippableTime","skippable","response_id","item_type","type","instructor_stimulus","is_optional","hintsAvailable","_c","_b","_a","isSystemIntro","isExitTicket","hintsRemaining","showHintsButton","setShowHintsButton","useState","skipped","setSkipped","showSkipButton","setShowSkipButton","useEffect","timeoutId","canShowSkip","checkButton","checkButtonDisabled","hintsButton","retryButton","nextButton","nextButtonDisabled","startButton","readyButton","validateButton","skipSectionButton","submitAttemptButton","skipButton","useMemo","showSkipSectionButton","getSystemValidationButtons","responseEdited","score","attemptsHistory","maximumAttemptsReached","lastAttemptResponse","deepEqual","isPendingTeacherValidation","questionId","assignStatus","validatedByTeacher","handleResponseChange","handleHelpButtonClick","handleBackButtonClick","handleNextButtonClick","handleCheckButtonClick","handleRetryButtonClick","handleHintButtonClick","handleValidateButtonClick","handleStartButtonClick","handleSkipSectionButtonClick","handleReadyButtonClick","handleSkipButtonClick","useHandlerCallbacks","questionInstance","jsxs","FlexView","jsx","IconButton","QuestionIcon","HandIcon","Button","SkipIcon","Check2Icon"],"mappings":"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"}
@@ -1,38 +1,25 @@
1
- import { jsxs as m, jsx as o } from "react/jsx-runtime";
2
- import { memo as h, useCallback as n } from "react";
3
- import p from "../../../../assets/line-icons/icons/chevron-down.js";
4
- import f from "../../../../assets/line-icons/icons/chevron-up.js";
5
- import c from "../../../ui/buttons/clickable/clickable.js";
6
- import r from "../../../ui/layout/flex-view.js";
7
- const v = h(function() {
8
- const e = n((d) => {
9
- const l = document.getElementById("live-sheet-scroll-wrapper"), i = document.getElementById("tab-content-container"), t = {
10
- top: d === "up" ? -250 : 250,
1
+ import { jsxs as c, jsx as o } from "react/jsx-runtime";
2
+ import { useCallback as a } from "react";
3
+ import m from "../../../../assets/line-icons/icons/down.js";
4
+ import s from "../../../../assets/line-icons/icons/up.js";
5
+ import n from "../../../ui/buttons/clickable/clickable.js";
6
+ import p from "../../../ui/separator/separator.js";
7
+ import { GuideContainer as d } from "./worksheet-sidebar-styled.js";
8
+ const g = () => {
9
+ const r = a((i) => {
10
+ const l = document.getElementById("live-sheet-scroll-wrapper"), t = document.getElementById("tab-content-container"), e = {
11
+ top: i === "up" ? -100 : 100,
11
12
  behavior: "smooth"
12
13
  };
13
- l ? l.scrollBy(t) : i ? i.scrollBy(t) : window.scrollBy(t);
14
- }, []), s = n(() => {
15
- e("up");
16
- }, [e]), a = n(() => {
17
- e("down");
18
- }, [e]);
19
- return /* @__PURE__ */ m(
20
- r,
21
- {
22
- $background: "WHITE",
23
- $borderRadius: 48,
24
- $gutter: 8,
25
- $flexGap: 8,
26
- $flexDirection: "row",
27
- $borderColor: "BLACK_T_15",
28
- children: [
29
- /* @__PURE__ */ o(c, { label: "up", onClick: s, children: /* @__PURE__ */ o(r, { $height: 38, $justifyContent: "center", children: /* @__PURE__ */ o(f, {}) }) }),
30
- /* @__PURE__ */ o(c, { label: "down", onClick: a, children: /* @__PURE__ */ o(r, { $height: 38, $justifyContent: "center", children: /* @__PURE__ */ o(p, {}) }) })
31
- ]
32
- }
33
- );
34
- });
14
+ l ? l.scrollBy(e) : t ? t.scrollBy(e) : window.scrollBy(e);
15
+ }, []);
16
+ return /* @__PURE__ */ c(d, { $background: "WHITE", children: [
17
+ /* @__PURE__ */ o(n, { label: "up", onClick: () => r("up"), children: /* @__PURE__ */ o(s, {}) }),
18
+ /* @__PURE__ */ o(p, { height: 16 }),
19
+ /* @__PURE__ */ o(n, { label: "down", onClick: () => r("down"), children: /* @__PURE__ */ o(m, {}) })
20
+ ] });
21
+ };
35
22
  export {
36
- v as default
23
+ g as default
37
24
  };
38
25
  //# sourceMappingURL=navigator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigator.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/navigator.tsx"],"sourcesContent":["import { memo, useCallback, type FC } from 'react';\n\nimport ChevronDownIcon from '../../../../assets/line-icons/icons/chevron-down';\nimport ChevronUpIcon from '../../../../assets/line-icons/icons/chevron-up';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport FlexView from '../../../ui/layout/flex-view';\n\nconst Navigator: FC = memo(function Navigator() {\n const handleClick = useCallback((val: 'up' | 'down') => {\n const liveScrollView = document.getElementById('live-sheet-scroll-wrapper');\n const tabScrollView = document.getElementById('tab-content-container');\n const position = {\n top: val === 'up' ? -250 : 250,\n behavior: 'smooth',\n } as const;\n\n if (liveScrollView) {\n liveScrollView.scrollBy(position);\n } else if (tabScrollView) {\n tabScrollView.scrollBy(position);\n } else {\n window.scrollBy(position);\n }\n }, []);\n\n const handleUpClick = useCallback(() => {\n handleClick('up');\n }, [handleClick]);\n\n const handleDownClick = useCallback(() => {\n handleClick('down');\n }, [handleClick]);\n\n return (\n <FlexView\n $background=\"WHITE\"\n $borderRadius={48}\n $gutter={8}\n $flexGap={8}\n $flexDirection=\"row\"\n $borderColor=\"BLACK_T_15\"\n >\n <Clickable label=\"up\" onClick={handleUpClick}>\n <FlexView $height={38} $justifyContent=\"center\">\n <ChevronUpIcon />\n </FlexView>\n </Clickable>\n <Clickable label=\"down\" onClick={handleDownClick}>\n <FlexView $height={38} $justifyContent=\"center\">\n <ChevronDownIcon />\n </FlexView>\n </Clickable>\n </FlexView>\n );\n});\n\nexport default Navigator;\n"],"names":["Navigator","memo","handleClick","useCallback","val","liveScrollView","tabScrollView","position","handleUpClick","handleDownClick","jsxs","FlexView","jsx","Clickable","ChevronUpIcon","ChevronDownIcon"],"mappings":";;;;;;AAOM,MAAAA,IAAgBC,EAAK,WAAqB;AACxC,QAAAC,IAAcC,EAAY,CAACC,MAAuB;AAChD,UAAAC,IAAiB,SAAS,eAAe,2BAA2B,GACpEC,IAAgB,SAAS,eAAe,uBAAuB,GAC/DC,IAAW;AAAA,MACf,KAAKH,MAAQ,OAAO,OAAO;AAAA,MAC3B,UAAU;AAAA,IAAA;AAGZ,IAAIC,IACFA,EAAe,SAASE,CAAQ,IACvBD,IACTA,EAAc,SAASC,CAAQ,IAE/B,OAAO,SAASA,CAAQ;AAAA,EAE5B,GAAG,CAAE,CAAA,GAECC,IAAgBL,EAAY,MAAM;AACtC,IAAAD,EAAY,IAAI;AAAA,EAAA,GACf,CAACA,CAAW,CAAC,GAEVO,IAAkBN,EAAY,MAAM;AACxC,IAAAD,EAAY,MAAM;AAAA,EAAA,GACjB,CAACA,CAAW,CAAC;AAGd,SAAA,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAY;AAAA,MACZ,eAAe;AAAA,MACf,SAAS;AAAA,MACT,UAAU;AAAA,MACV,gBAAe;AAAA,MACf,cAAa;AAAA,MAEb,UAAA;AAAA,QAAA,gBAAAC,EAACC,GAAU,EAAA,OAAM,MAAK,SAASL,GAC7B,UAAC,gBAAAI,EAAAD,GAAA,EAAS,SAAS,IAAI,iBAAgB,UACrC,UAAC,gBAAAC,EAAAE,GAAA,CAAA,CAAc,EACjB,CAAA,GACF;AAAA,QACC,gBAAAF,EAAAC,GAAA,EAAU,OAAM,QAAO,SAASJ,GAC/B,UAAA,gBAAAG,EAACD,GAAS,EAAA,SAAS,IAAI,iBAAgB,UACrC,UAAC,gBAAAC,EAAAG,GAAA,CAAA,CAAgB,EACnB,CAAA,GACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
1
+ {"version":3,"file":"navigator.js","sources":["../../../../../src/features/worksheet/worksheet/worksheet-sidebar/navigator.tsx"],"sourcesContent":["import { useCallback, type FC } from 'react';\n\nimport DownIcon from '../../../../assets/line-icons/icons/down';\nimport UpIcon from '../../../../assets/line-icons/icons/up';\nimport Clickable from '../../../ui/buttons/clickable/clickable';\nimport Separator from '../../../ui/separator/separator';\nimport { GuideContainer } from './worksheet-sidebar-styled';\n\nconst Navigator: FC = () => {\n const handleClick = useCallback((val: 'up' | 'down') => {\n const liveScrollView = document.getElementById('live-sheet-scroll-wrapper');\n const tabScrollView = document.getElementById('tab-content-container');\n const position = {\n top: val === 'up' ? -100 : 100,\n behavior: 'smooth',\n } as const;\n\n if (liveScrollView) {\n liveScrollView.scrollBy(position);\n } else if (tabScrollView) {\n tabScrollView.scrollBy(position);\n } else {\n window.scrollBy(position);\n }\n }, []);\n\n return (\n <GuideContainer $background=\"WHITE\">\n <Clickable label=\"up\" onClick={() => handleClick('up')}>\n <UpIcon />\n </Clickable>\n <Separator height={16} />\n <Clickable label=\"down\" onClick={() => handleClick('down')}>\n <DownIcon />\n </Clickable>\n </GuideContainer>\n );\n};\n\nexport default Navigator;\n"],"names":["Navigator","handleClick","useCallback","val","liveScrollView","tabScrollView","position","jsxs","GuideContainer","jsx","Clickable","UpIcon","Separator","DownIcon"],"mappings":";;;;;;;AAQA,MAAMA,IAAgB,MAAM;AACpB,QAAAC,IAAcC,EAAY,CAACC,MAAuB;AAChD,UAAAC,IAAiB,SAAS,eAAe,2BAA2B,GACpEC,IAAgB,SAAS,eAAe,uBAAuB,GAC/DC,IAAW;AAAA,MACf,KAAKH,MAAQ,OAAO,OAAO;AAAA,MAC3B,UAAU;AAAA,IAAA;AAGZ,IAAIC,IACFA,EAAe,SAASE,CAAQ,IACvBD,IACTA,EAAc,SAASC,CAAQ,IAE/B,OAAO,SAASA,CAAQ;AAAA,EAE5B,GAAG,CAAE,CAAA;AAGH,SAAA,gBAAAC,EAACC,GAAe,EAAA,aAAY,SAC1B,UAAA;AAAA,IAAC,gBAAAC,EAAAC,GAAA,EAAU,OAAM,MAAK,SAAS,MAAMT,EAAY,IAAI,GACnD,UAAC,gBAAAQ,EAAAE,GAAA,CAAA,CAAO,EACV,CAAA;AAAA,IACA,gBAAAF,EAACG,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,IACvB,gBAAAH,EAACC,GAAU,EAAA,OAAM,QAAO,SAAS,MAAMT,EAAY,MAAM,GACvD,UAAC,gBAAAQ,EAAAI,GAAA,CAAA,CAAS,EACZ,CAAA;AAAA,EACF,EAAA,CAAA;AAEJ;"}
@@ -0,0 +1,112 @@
1
+ import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
+ import { memo as w, useState as H, useCallback as u, useMemo as G, useRef as N, useEffect as y } from "react";
3
+ import O from "../../../ui/arrow-tooltip/arrow-tooltip.js";
4
+ import p from "../../../ui/buttons/clickable/clickable.js";
5
+ import r from "../../../ui/layout/flex-view.js";
6
+ import P from "../../../ui/separator/separator.js";
7
+ import h from "../../../ui/text/text.js";
8
+ import R from "../../constants/events.js";
9
+ import { useWorksheetStore as V } from "../hooks/use-worksheet-store.js";
10
+ import { GuideContainer as j, HintIcon as L, SolIcon as Q, Pointer as B, SectionContainer as M, Section as q, CloseIcon as K, Guide as U } from "./worksheet-sidebar-styled.js";
11
+ const re = w(function({
12
+ questionWidth: g,
13
+ questions: k,
14
+ learnosity: $,
15
+ actionbarHeight: I
16
+ }) {
17
+ var C;
18
+ const { activeQuestionIndex: _, loggerRef: l, plugins: m } = V((o) => ({
19
+ activeQuestionIndex: o.activeQuestionIndex,
20
+ loggerRef: o.loggerRef,
21
+ plugins: o.plugins
22
+ })), [t, c] = H(), [v, A] = H({
23
+ top: 0,
24
+ left: 0
25
+ }), { top: S, left: b } = v, X = u(() => {
26
+ c("HINT"), l.current(R.WORKSHEET_V3_HINT_SEEN);
27
+ }, [l]), x = u(() => {
28
+ c("SOL"), l.current(R.WORKSHEET_V3_SOLUTION_SEEN);
29
+ }, [l]), W = u(() => {
30
+ c(() => {
31
+ });
32
+ }, []), { hints: s, solution: d } = ((C = k[_]) == null ? void 0 : C.metadata) || {}, i = G(() => t === void 0 ? void 0 : t === "HINT" ? s : d, [t, s, d]), E = N(null), T = N(null), f = u((o) => {
33
+ if (o.current) {
34
+ const n = o.current.getBoundingClientRect();
35
+ A({
36
+ top: n.top + n.height / 2 - 8,
37
+ left: n.right - 78
38
+ // 52px (sidebar width) + 16px (gutter) + 10px
39
+ });
40
+ }
41
+ }, []);
42
+ return t && i && $ && $.renderMath("mathjax"), y(() => {
43
+ t === "HINT" ? f(T) : t === "SOL" ? f(E) : i || c(void 0);
44
+ }, [t, f, i]), /* @__PURE__ */ a(j, { $background: "WHITE", children: [
45
+ (m == null ? void 0 : m.stickers) ?? null,
46
+ /* @__PURE__ */ e(
47
+ O,
48
+ {
49
+ renderAs: "primary",
50
+ tooltipItem: /* @__PURE__ */ e(h, { $renderAs: "ab3", $color: "WHITE", children: "Hint" }),
51
+ position: "left",
52
+ tooltipXCoOrdinates: "40%",
53
+ children: /* @__PURE__ */ e(p, { label: "hints", onClick: X, disabled: !s, children: /* @__PURE__ */ e(r, { $alignItems: "center", $justifyContent: "center", ref: T, children: /* @__PURE__ */ e(L, { width: 32, height: 32, $disabled: !s }) }) })
54
+ }
55
+ ),
56
+ /* @__PURE__ */ e(r, { $gap: 8, $alignItems: "center", children: /* @__PURE__ */ e(P, { width: 24, height: 1, background: "GREY_2" }) }),
57
+ /* @__PURE__ */ e(
58
+ O,
59
+ {
60
+ renderAs: "primary",
61
+ tooltipItem: /* @__PURE__ */ e(h, { $renderAs: "ab3", $color: "WHITE", children: "Solution" }),
62
+ position: "left",
63
+ tooltipXCoOrdinates: "25%",
64
+ tooltipYCoOrdinates: "5%",
65
+ children: /* @__PURE__ */ e(p, { label: "solution", onClick: x, disabled: !d, children: /* @__PURE__ */ e(r, { $alignItems: "center", $justifyContent: "center", ref: E, children: /* @__PURE__ */ e(Q, { width: 32, height: 32, $disabled: !d }) }) })
66
+ }
67
+ ),
68
+ t && S && b && /* @__PURE__ */ e(B, { topValue: S, leftValue: b }),
69
+ t && /* @__PURE__ */ e(
70
+ M,
71
+ {
72
+ $background: "WHITE",
73
+ $questionWidth: g,
74
+ $actionbarHeight: I,
75
+ $borderRadius: 10,
76
+ children: /* @__PURE__ */ a(
77
+ q,
78
+ {
79
+ $gutterX: 1,
80
+ $gapX: 1,
81
+ $questionWidth: g,
82
+ $actionbarHeight: I,
83
+ children: [
84
+ /* @__PURE__ */ e(p, { label: "close", onClick: W, children: /* @__PURE__ */ e(K, {}) }),
85
+ /* @__PURE__ */ e(r, { $gutterX: 0.5, children: /* @__PURE__ */ e(h, { $renderAs: "eyebrow2", $color: "ORANGE_5", $marginBottomX: 0.25, children: t === "HINT" ? "HINTS:" : "SOLUTION:" }) }),
86
+ i && i.map((o, n) => /* @__PURE__ */ a(r, { $gutterX: 0.5, $gapX: 0.5, children: [
87
+ i.length > 1 && /* @__PURE__ */ a(h, { $renderAs: "eyebrow2", $color: "ORANGE_5", $marginBottomX: 0.25, children: [
88
+ t,
89
+ " ",
90
+ n + 1,
91
+ ":"
92
+ ] }),
93
+ /* @__PURE__ */ e(
94
+ U,
95
+ {
96
+ dangerouslySetInnerHTML: {
97
+ __html: o
98
+ }
99
+ }
100
+ )
101
+ ] }, n.toString()))
102
+ ]
103
+ }
104
+ )
105
+ }
106
+ )
107
+ ] });
108
+ });
109
+ export {
110
+ re as default
111
+ };
112
+ //# sourceMappingURL=question-guide.js.map