@cuemath/leap 3.5.46 → 3.5.47-gg10

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 (182) hide show
  1. package/dist/assets/line-icons/icons/bulb.js +10 -10
  2. package/dist/assets/line-icons/icons/bulb.js.map +1 -1
  3. package/dist/assets/line-icons/icons/chevron-up.js +28 -0
  4. package/dist/assets/line-icons/icons/chevron-up.js.map +1 -0
  5. package/dist/assets/line-icons/icons/close.js +28 -0
  6. package/dist/assets/line-icons/icons/close.js.map +1 -0
  7. package/dist/assets/line-icons/icons/cursor2.js +24 -0
  8. package/dist/assets/line-icons/icons/cursor2.js.map +1 -0
  9. package/dist/assets/line-icons/icons/hand.js.map +1 -1
  10. package/dist/assets/line-icons/icons/hints.js +25 -0
  11. package/dist/assets/line-icons/icons/hints.js.map +1 -0
  12. package/dist/assets/line-icons/icons/question-feedback.js +30 -0
  13. package/dist/assets/line-icons/icons/question-feedback.js.map +1 -0
  14. package/dist/assets/line-icons/icons/scribble.js +13 -36
  15. package/dist/assets/line-icons/icons/scribble.js.map +1 -1
  16. package/dist/assets/line-icons/icons/sticker.js +9 -9
  17. package/dist/assets/line-icons/icons/sticker.js.map +1 -1
  18. package/dist/assets/line-icons/icons/teaching-tools.js +40 -0
  19. package/dist/assets/line-icons/icons/teaching-tools.js.map +1 -0
  20. package/dist/assets/line-icons/icons/tval-question.js +32 -0
  21. package/dist/assets/line-icons/icons/tval-question.js.map +1 -0
  22. package/dist/features/circle-games/hooks/use-circle-sounds/constants.js +4 -7
  23. package/dist/features/circle-games/hooks/use-circle-sounds/constants.js.map +1 -1
  24. package/dist/features/circle-games/hooks/use-circle-sounds/helper.js +19 -0
  25. package/dist/features/circle-games/hooks/use-circle-sounds/helper.js.map +1 -0
  26. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js +110 -51
  27. package/dist/features/circle-games/hooks/use-circle-sounds/use-circle-sounds.js.map +1 -1
  28. package/dist/features/cue-canvas/sidebar/puzzles/api/get-puzzles.js.map +1 -1
  29. package/dist/features/hooks/use-audio-player.js +54 -0
  30. package/dist/features/hooks/use-audio-player.js.map +1 -0
  31. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js +6 -6
  32. package/dist/features/journey/hooks/use-home-page-journey/home-page-homeworks-mock.js.map +1 -1
  33. package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js +2 -2
  34. package/dist/features/journey/hooks/use-home-page-journey/recent-chapters-mock.js.map +1 -1
  35. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js +64 -29
  36. package/dist/features/journey/mocks/chapter-page-journey-mock-data.js.map +1 -1
  37. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js +9 -9
  38. package/dist/features/milestone/milestone-tests/tests-creation/test-stages/test-preview/test-preview.js.map +1 -1
  39. package/dist/features/puzzles/app/puzzle-app-view.js +40 -40
  40. package/dist/features/puzzles/app/puzzle-app-view.js.map +1 -1
  41. package/dist/features/ui/tabs/tabs.js +15 -15
  42. package/dist/features/ui/tabs/tabs.js.map +1 -1
  43. package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js +0 -1
  44. package/dist/features/worksheet/learnosity-preloader/learnosity-preloader.js.map +1 -1
  45. package/dist/features/worksheet/worksheet/constants.js +12 -13
  46. package/dist/features/worksheet/worksheet/constants.js.map +1 -1
  47. package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js +120 -101
  48. package/dist/features/worksheet/worksheet/hooks/use-create-imperative-handle.js.map +1 -1
  49. package/dist/features/worksheet/worksheet/hooks/use-worksheet-store.js +1 -1
  50. package/dist/features/worksheet/worksheet/hooks/use-worksheet-store.js.map +1 -1
  51. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js +40 -109
  52. package/dist/features/worksheet/worksheet/worksheet-action-bar/worksheet-action-bar.js.map +1 -1
  53. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js +49 -46
  54. package/dist/features/worksheet/worksheet/worksheet-behavior-helper.js.map +1 -1
  55. package/dist/features/worksheet/worksheet/worksheet-calculator/worksheet-calculator.js +4 -4
  56. package/dist/features/worksheet/worksheet/worksheet-calculator/worksheet-calculator.js.map +1 -1
  57. package/dist/features/worksheet/worksheet/worksheet-helpers.js +127 -274
  58. package/dist/features/worksheet/worksheet/worksheet-helpers.js.map +1 -1
  59. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js +25 -25
  60. package/dist/features/worksheet/worksheet/worksheet-navigation/worksheet-navigation.js.map +1 -1
  61. package/dist/features/worksheet/worksheet/worksheet-provider.js +1 -1
  62. package/dist/features/worksheet/worksheet/worksheet-provider.js.map +1 -1
  63. package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js +17 -22
  64. package/dist/features/worksheet/worksheet/worksheet-question/subjective-styled.js.map +1 -1
  65. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js +25 -29
  66. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question-styled.js.map +1 -1
  67. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js +319 -259
  68. package/dist/features/worksheet/worksheet/worksheet-question/worksheet-question.js.map +1 -1
  69. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-allow-retry-button-click.js +15 -0
  70. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-allow-retry-button-click.js.map +1 -0
  71. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-back-button-click.js +18 -0
  72. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-back-button-click.js.map +1 -0
  73. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-check-button-click.js +21 -0
  74. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-check-button-click.js.map +1 -0
  75. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-next-button-click.js +19 -0
  76. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-next-button-click.js.map +1 -0
  77. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-ready-button-click.js +34 -0
  78. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-ready-button-click.js.map +1 -0
  79. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-response-change.js +38 -0
  80. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-response-change.js.map +1 -0
  81. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-retry-button-click.js +16 -0
  82. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-retry-button-click.js.map +1 -0
  83. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-button-click.js +35 -0
  84. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-button-click.js.map +1 -0
  85. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-section-button-click.js +12 -0
  86. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-skip-section-button-click.js.map +1 -0
  87. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-start-button-click.js +44 -0
  88. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-start-button-click.js.map +1 -0
  89. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-submit-quiz.js +51 -0
  90. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-submit-quiz.js.map +1 -0
  91. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-validate-button-click.js +19 -0
  92. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-handle-validate-button-click.js.map +1 -0
  93. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-play-validation-audio.js +23 -0
  94. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-play-validation-audio.js.map +1 -0
  95. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-validate-question.js +36 -0
  96. package/dist/features/worksheet/worksheet/worksheet-questions-controller/hooks/use-validate-question.js.map +1 -0
  97. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3.js +184 -0
  98. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3.js.map +1 -0
  99. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.js +258 -0
  100. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller-lesson-v3_1.js.map +1 -0
  101. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller.js +180 -0
  102. package/dist/features/worksheet/worksheet/worksheet-questions-controller/student/controller.js.map +1 -0
  103. package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3.js +77 -0
  104. package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3.js.map +1 -0
  105. package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3_1.js +103 -0
  106. package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller-lesson-v3_1.js.map +1 -0
  107. package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller.js +21 -0
  108. package/dist/features/worksheet/worksheet/worksheet-questions-controller/teacher/controller.js.map +1 -0
  109. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller-view.js +22 -0
  110. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller-view.js.map +1 -0
  111. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js +20 -345
  112. package/dist/features/worksheet/worksheet/worksheet-questions-controller/worksheet-questions-controller.js.map +1 -1
  113. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js +49 -0
  114. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.js.map +1 -0
  115. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js +184 -0
  116. package/dist/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar.js.map +1 -0
  117. package/dist/features/worksheet/worksheet/worksheet-questions-tools/scribble-switch.js +65 -0
  118. package/dist/features/worksheet/worksheet/worksheet-questions-tools/scribble-switch.js.map +1 -0
  119. package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-styled.js +9 -0
  120. package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-styled.js.map +1 -0
  121. package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-tools.js +38 -0
  122. package/dist/features/worksheet/worksheet/worksheet-questions-tools/worksheet-questions-tools.js.map +1 -0
  123. package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js +33 -20
  124. package/dist/features/worksheet/worksheet/worksheet-sidebar/navigator.js.map +1 -1
  125. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-computed-properties.js +73 -0
  126. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-computed-properties.js.map +1 -0
  127. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-derived-blocker.js +20 -0
  128. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-derived-blocker.js.map +1 -0
  129. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-attemptable-question-index.js +69 -0
  130. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-attemptable-question-index.js.map +1 -0
  131. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-unlocked-question-index.js +18 -0
  132. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-last-unlocked-question-index.js.map +1 -0
  133. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-merged-response-state.js +19 -0
  134. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-merged-response-state.js.map +1 -0
  135. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-questions-from-items.js +138 -0
  136. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-questions-from-items.js.map +1 -0
  137. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-renderable-questions.js +9 -0
  138. package/dist/features/worksheet/worksheet/worksheet-store/helpers/get-renderable-questions.js.map +1 -0
  139. package/dist/features/worksheet/worksheet/worksheet-store/worksheet-store.js +230 -0
  140. package/dist/features/worksheet/worksheet/worksheet-store/worksheet-store.js.map +1 -0
  141. package/dist/features/worksheet/worksheet/worksheet-styled.js +29 -83
  142. package/dist/features/worksheet/worksheet/worksheet-styled.js.map +1 -1
  143. package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js +45 -24
  144. package/dist/features/worksheet/worksheet/worksheet-summary-controller/worksheet-summary-controller.js.map +1 -1
  145. package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools-styled.js +19 -0
  146. package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools-styled.js.map +1 -0
  147. package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools.js +66 -0
  148. package/dist/features/worksheet/worksheet/worksheet-teaching-tools/worksheet-teaching-tools.js.map +1 -0
  149. package/dist/features/worksheet/worksheet/worksheet-types.js +3 -2
  150. package/dist/features/worksheet/worksheet/worksheet-types.js.map +1 -1
  151. package/dist/features/worksheet/worksheet/worksheet-view.js +89 -100
  152. package/dist/features/worksheet/worksheet/worksheet-view.js.map +1 -1
  153. package/dist/features/worksheet/worksheet/worksheet.js +126 -117
  154. package/dist/features/worksheet/worksheet/worksheet.js.map +1 -1
  155. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js +29 -29
  156. package/dist/features/worksheet/worksheet-preview/dynamic-worksheet-preview/dynamic-worksheet-preview.js.map +1 -1
  157. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js +16 -16
  158. package/dist/features/worksheet/worksheet-preview/hooks/use-worksheet-layout.js.map +1 -1
  159. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js +24 -24
  160. package/dist/features/worksheet/worksheet-preview/worksheet-preview-view.js.map +1 -1
  161. package/dist/index.d.ts +67 -28
  162. package/dist/index.js +760 -745
  163. package/dist/index.js.map +1 -1
  164. package/dist/types/models/worksheet.js +2 -1
  165. package/dist/types/models/worksheet.js.map +1 -1
  166. package/package.json +2 -2
  167. package/dist/features/hooks/use-audio-player/use-audio-player.js +0 -164
  168. package/dist/features/hooks/use-audio-player/use-audio-player.js.map +0 -1
  169. package/dist/features/worksheet/worksheet/question-tips.js +0 -100
  170. package/dist/features/worksheet/worksheet/question-tips.js.map +0 -1
  171. package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js +0 -53
  172. package/dist/features/worksheet/worksheet/worksheet-questions-controller/scribble-switch.js.map +0 -1
  173. package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js +0 -195
  174. package/dist/features/worksheet/worksheet/worksheet-questions-controller/use-handler-callbacks.js.map +0 -1
  175. package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js +0 -112
  176. package/dist/features/worksheet/worksheet/worksheet-sidebar/question-guide.js.map +0 -1
  177. package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js +0 -61
  178. package/dist/features/worksheet/worksheet/worksheet-sidebar/sidebar.js.map +0 -1
  179. package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js +0 -91
  180. package/dist/features/worksheet/worksheet/worksheet-sidebar/worksheet-sidebar-styled.js.map +0 -1
  181. package/dist/features/worksheet/worksheet/worksheet-store.js +0 -289
  182. package/dist/features/worksheet/worksheet/worksheet-store.js.map +0 -1
@@ -1,359 +1,34 @@
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,
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,
249
14
  {
250
- $background: "WHITE",
251
15
  $flexDirection: "row",
252
16
  $flexGapX: 0.5,
253
17
  $alignItems: "center",
254
18
  $justifyContent: "flex-end",
19
+ style: {
20
+ pointerEvents: "all"
21
+ },
255
22
  children: [
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
23
+ /* @__PURE__ */ t(a, { ...o }),
24
+ e && e,
25
+ /* @__PURE__ */ t(m, {})
351
26
  ]
352
27
  }
353
28
  );
354
29
  }
355
30
  );
356
31
  export {
357
- ne as default
32
+ k as default
358
33
  };
359
34
  //# 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 { 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
+ {"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;"}
@@ -0,0 +1,49 @@
1
+ import t from "styled-components";
2
+ import i from "../../../../ui/layout/flex-view.js";
3
+ import r from "../../../../ui/text/text.js";
4
+ const x = t(
5
+ i
6
+ )(
7
+ ({ theme: o, $showBorder: e }) => `
8
+ ${e ? `margin-left: 12px; border-left: 1px solid ${o.colors.WHITE_5};` : ""}
9
+ align-self: stretch;
10
+ `
11
+ ), c = t(i)`
12
+ height: 40px;
13
+ width: 40px;
14
+ align-items: center;
15
+ justify-content: center;
16
+ `, l = t.div`
17
+ position: relative;
18
+ width: 24px;
19
+ height: 24px;
20
+ `, h = t.div(
21
+ ({ theme: o }) => `
22
+ position: absolute;
23
+ top: 2px;
24
+ right: 2px;
25
+ width: 12px;
26
+ height: 12px;
27
+ background-color: ${o.colors.YELLOW_4};
28
+ border: 1px solid ${o.colors.WHITE};
29
+ border-radius: 50%;
30
+ `
31
+ ), a = t.img`
32
+ position: absolute;
33
+ top: 2px;
34
+ right: 2px;
35
+ width: 12px;
36
+ height: 12px;
37
+ `, d = t(r)`
38
+ line-height: 11px;
39
+ text-align: center;
40
+ `;
41
+ export {
42
+ l as HintsIconContainer,
43
+ d as HintsNumber,
44
+ h as HintsNumberContainer,
45
+ c as IconContainer,
46
+ a as TickMark,
47
+ x as WorksheetQuestionsToolbarContainer
48
+ };
49
+ //# sourceMappingURL=questions-toolbar-styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"questions-toolbar-styled.js","sources":["../../../../../../src/features/worksheet/worksheet/worksheet-questions-tools/questions-toolbar/questions-toolbar-styled.tsx"],"sourcesContent":["import styled from 'styled-components';\n\nimport FlexView from '../../../../ui/layout/flex-view';\nimport Text from '../../../../ui/text/text';\n\ninterface IWorksheetQuestionsToolbarContainerProps {\n $showBorder: boolean;\n}\nconst WorksheetQuestionsToolbarContainer = styled(\n FlexView,\n)<IWorksheetQuestionsToolbarContainerProps>(\n ({ theme, $showBorder }) => `\n ${$showBorder ? `margin-left: 12px; border-left: 1px solid ${theme.colors.WHITE_5};` : ''}\n align-self: stretch;\n`,\n);\n\nconst IconContainer = styled(FlexView)`\n height: 40px;\n width: 40px;\n align-items: center;\n justify-content: center;\n`;\n\nconst HintsIconContainer = styled.div`\n position: relative;\n width: 24px;\n height: 24px;\n`;\n\nconst HintsNumberContainer = styled.div(\n ({ theme }) => `\n position: absolute;\n top: 2px;\n right: 2px;\n width: 12px;\n height: 12px;\n background-color: ${theme.colors.YELLOW_4};\n border: 1px solid ${theme.colors.WHITE};\n border-radius: 50%;\n`,\n);\n\nconst TickMark = styled.img`\n position: absolute;\n top: 2px;\n right: 2px;\n width: 12px;\n height: 12px;\n`;\n\nconst HintsNumber = styled(Text)`\n line-height: 11px;\n text-align: center;\n`;\n\nexport {\n WorksheetQuestionsToolbarContainer,\n IconContainer,\n HintsIconContainer,\n HintsNumberContainer,\n HintsNumber,\n TickMark,\n};\n"],"names":["WorksheetQuestionsToolbarContainer","styled","FlexView","theme","$showBorder","IconContainer","HintsIconContainer","HintsNumberContainer","TickMark","HintsNumber","Text"],"mappings":";;;AAQA,MAAMA,IAAqCC;AAAA,EACzCC;AACF;AAAA,EACE,CAAC,EAAE,OAAAC,GAAO,aAAAC,EAAA,MAAkB;AAAA,IAC1BA,IAAc,6CAA6CD,EAAM,OAAO,OAAO,MAAM,EAAE;AAAA;AAAA;AAG3F,GAEME,IAAgBJ,EAAOC,CAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,GAO/BI,IAAqBL,EAAO;AAAA;AAAA;AAAA;AAAA,GAM5BM,IAAuBN,EAAO;AAAA,EAClC,CAAC,EAAE,OAAAE,EAAA,MAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAMKA,EAAM,OAAO,QAAQ;AAAA,sBACrBA,EAAM,OAAO,KAAK;AAAA;AAAA;AAGxC,GAEMK,IAAWP,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQlBQ,IAAcR,EAAOS,CAAI;AAAA;AAAA;AAAA;"}