catchup-library-web 1.12.14 → 1.12.16

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.
package/dist/index.mjs CHANGED
@@ -38,15 +38,164 @@ var __async = (__this, __arguments, generator) => {
38
38
  });
39
39
  };
40
40
 
41
+ // src/components/bars/ProgressBar.tsx
42
+ import { jsx, jsxs } from "react/jsx-runtime";
43
+ var ProgressBar = ({
44
+ title,
45
+ showRemainingTime,
46
+ totalTimeInSeconds,
47
+ remainingTimeInSeconds,
48
+ color,
49
+ borderColor,
50
+ height
51
+ }) => {
52
+ const retrieveMinutes = () => {
53
+ return Math.floor(remainingTimeInSeconds / 60);
54
+ };
55
+ const retrieveSeconds = (minutes) => {
56
+ const minuteInSeconds = minutes * 60;
57
+ return Math.floor(remainingTimeInSeconds - minuteInSeconds);
58
+ };
59
+ const calculatePercentage = () => {
60
+ if (remainingTimeInSeconds < 0) {
61
+ return totalTimeInSeconds / totalTimeInSeconds * 100;
62
+ } else {
63
+ return (totalTimeInSeconds - remainingTimeInSeconds) / totalTimeInSeconds * 100;
64
+ }
65
+ };
66
+ const currentMinutes = retrieveMinutes();
67
+ const currentSeconds = retrieveSeconds(currentMinutes);
68
+ return /* @__PURE__ */ jsx("div", { className: "relative w-full ", children: /* @__PURE__ */ jsxs("div", { className: "", children: [
69
+ title ? /* @__PURE__ */ jsx("div", { className: "absolute top-2 left-6", children: /* @__PURE__ */ jsx("span", { className: "text-xl", children: title }) }) : null,
70
+ showRemainingTime ? /* @__PURE__ */ jsx("div", { className: "absolute top-2 right-6", children: /* @__PURE__ */ jsxs("span", { className: "flex flex-row text-xl", children: [
71
+ /* @__PURE__ */ jsxs("p", { className: "mx-1", children: [
72
+ currentMinutes < 0 ? `00` : currentMinutes < 10 ? `0${currentMinutes}` : currentMinutes,
73
+ " "
74
+ ] }),
75
+ ":",
76
+ /* @__PURE__ */ jsxs("p", { className: "mx-1", children: [
77
+ currentSeconds < 0 ? `00` : currentSeconds < 10 ? `0${currentSeconds}` : currentSeconds,
78
+ " "
79
+ ] })
80
+ ] }) }) : null,
81
+ /* @__PURE__ */ jsx(
82
+ "div",
83
+ {
84
+ className: `${borderColor ? borderColor : "border-catchup-red"} border rounded-catchup-full`,
85
+ children: /* @__PURE__ */ jsx("div", { className: `w-full ${height ? height : ""} `, children: /* @__PURE__ */ jsx(
86
+ "div",
87
+ {
88
+ className: `rounded-catchup-full ${color ? color : "bg-catchup-red"} ${height ? height : "h-catchup-quicktivity"}`,
89
+ style: { width: `${calculatePercentage()}%` }
90
+ }
91
+ ) })
92
+ }
93
+ )
94
+ ] }) });
95
+ };
96
+ var ProgressBar_default = ProgressBar;
97
+
98
+ // src/components/bars/TimedProgressBar.tsx
99
+ import { useEffect, useState } from "react";
100
+ import { jsx as jsx2 } from "react/jsx-runtime";
101
+ var TimedProgressBar = ({
102
+ title,
103
+ startTimer,
104
+ showRemainingTime,
105
+ totalTimeInSeconds,
106
+ remainingTimeInSeconds,
107
+ handleOnTimerEnds
108
+ }) => {
109
+ const [timerRemainingTimeInSeconds, setTimerRemainingTimeInSeconds] = useState(remainingTimeInSeconds);
110
+ const [timerIntervalId, setTimerIntervalId] = useState(null);
111
+ let timerRemainingTimeInSecondsValue = 999999999999999;
112
+ useEffect(() => {
113
+ timerRemainingTimeInSecondsValue = remainingTimeInSeconds;
114
+ setTimerRemainingTimeInSeconds(timerRemainingTimeInSeconds);
115
+ if (timerIntervalId) {
116
+ clearInterval(timerIntervalId);
117
+ }
118
+ if (startTimer) {
119
+ const currentTimerIntervalId = setInterval(() => {
120
+ timerRemainingTimeInSecondsValue = timerRemainingTimeInSecondsValue - 0.05;
121
+ setTimerRemainingTimeInSeconds(timerRemainingTimeInSecondsValue);
122
+ }, 50);
123
+ setTimerIntervalId(currentTimerIntervalId);
124
+ } else {
125
+ if (timerIntervalId) {
126
+ clearInterval(timerIntervalId);
127
+ setTimerIntervalId(null);
128
+ }
129
+ }
130
+ }, [remainingTimeInSeconds, startTimer]);
131
+ useEffect(() => {
132
+ if (timerRemainingTimeInSeconds < 0) {
133
+ if (timerIntervalId) {
134
+ clearInterval(timerIntervalId);
135
+ }
136
+ handleOnTimerEnds(startTimer);
137
+ }
138
+ }, [timerRemainingTimeInSeconds]);
139
+ return /* @__PURE__ */ jsx2(
140
+ ProgressBar_default,
141
+ {
142
+ title,
143
+ showRemainingTime,
144
+ remainingTimeInSeconds: timerRemainingTimeInSeconds,
145
+ totalTimeInSeconds
146
+ }
147
+ );
148
+ };
149
+ var TimedProgressBar_default = TimedProgressBar;
150
+
151
+ // src/components/bars/ScoreBar.tsx
152
+ import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
153
+ var ScoreBar = ({ score, className }) => {
154
+ const getProgressBarColor = (score2) => {
155
+ if (score2 >= 70) return "bg-catchup-green";
156
+ if (score2 >= 30) return "bg-catchup-orange";
157
+ return "bg-catchup-red";
158
+ };
159
+ const getTextColor = (score2) => {
160
+ if (score2 >= 70) return "text-catchup-hover-green";
161
+ if (score2 >= 30) return "text-catchup-orange";
162
+ return "text-catchup-red";
163
+ };
164
+ return /* @__PURE__ */ jsxs2("div", { className: `flex items-center gap-2 ${className}`, children: [
165
+ /* @__PURE__ */ jsx3("div", { className: "flex-1 h-5 bg-catchup-gray-100 rounded-catchup-full overflow-hidden", children: /* @__PURE__ */ jsx3(
166
+ "div",
167
+ {
168
+ className: `h-full rounded-catchup-full transition-all duration-300 ${getProgressBarColor(
169
+ score
170
+ )}`,
171
+ style: { width: `${score}%` }
172
+ }
173
+ ) }),
174
+ /* @__PURE__ */ jsxs2(
175
+ "span",
176
+ {
177
+ className: `min-w-[35px] font-semibold text-right ${getTextColor(
178
+ score
179
+ )}`,
180
+ children: [
181
+ score,
182
+ "%"
183
+ ]
184
+ }
185
+ )
186
+ ] });
187
+ };
188
+ var ScoreBar_default = ScoreBar;
189
+
41
190
  // src/components/buttons/PrimaryButton.tsx
42
- import { useState as useState2 } from "react";
191
+ import { useState as useState3 } from "react";
43
192
 
44
193
  // src/components/images/BaseImage.tsx
45
- import { useState, forwardRef } from "react";
194
+ import { useState as useState2, forwardRef } from "react";
46
195
 
47
196
  // src/components/loading/BaseLoading.tsx
48
197
  import { Oval } from "react-loader-spinner";
49
- import { jsx } from "react/jsx-runtime";
198
+ import { jsx as jsx4 } from "react/jsx-runtime";
50
199
  var BaseLoading = ({
51
200
  height,
52
201
  width,
@@ -77,12 +226,12 @@ var BaseLoading = ({
77
226
  currentHeight = height;
78
227
  currentWidth = width;
79
228
  }
80
- return /* @__PURE__ */ jsx(
229
+ return /* @__PURE__ */ jsx4(
81
230
  "div",
82
231
  {
83
232
  className: "flex justify-center items-center",
84
233
  style: { marginTop: currentMargin, marginBottom: currentMargin },
85
- children: /* @__PURE__ */ jsx(
234
+ children: /* @__PURE__ */ jsx4(
86
235
  Oval,
87
236
  {
88
237
  height: currentHeight,
@@ -103,7 +252,7 @@ var BaseLoading = ({
103
252
  var BaseLoading_default = BaseLoading;
104
253
 
105
254
  // src/components/images/BaseImage.tsx
106
- import { jsx as jsx2 } from "react/jsx-runtime";
255
+ import { jsx as jsx5 } from "react/jsx-runtime";
107
256
  var BaseImage = forwardRef(
108
257
  (props, ref) => {
109
258
  const {
@@ -124,8 +273,8 @@ var BaseImage = forwardRef(
124
273
  dataToolTipHTML,
125
274
  borderRadius
126
275
  } = props;
127
- const [key, setKey] = useState((/* @__PURE__ */ new Date()).getTime());
128
- const [loading, setLoading] = useState(false);
276
+ const [key, setKey] = useState2((/* @__PURE__ */ new Date()).getTime());
277
+ const [loading, setLoading] = useState2(false);
129
278
  const handleOnClick = (e) => {
130
279
  e.preventDefault();
131
280
  if (showLoading) {
@@ -175,19 +324,19 @@ var BaseImage = forwardRef(
175
324
  currentWidthClassName = widthClassName;
176
325
  currentHeightClassName = heightClassName;
177
326
  }
178
- return loading ? /* @__PURE__ */ jsx2(
327
+ return loading ? /* @__PURE__ */ jsx5(
179
328
  BaseLoading_default,
180
329
  {
181
330
  size: "small",
182
331
  primaryColor: "#57C2D3",
183
332
  secondaryColor: "#57C2D3"
184
333
  }
185
- ) : /* @__PURE__ */ jsx2(
334
+ ) : /* @__PURE__ */ jsx5(
186
335
  "span",
187
336
  {
188
337
  className: `${currentWidthClassName ? currentWidthClassName : ""} ${currentHeightClassName ? currentHeightClassName : ""} ${currentClassName ? currentClassName : ""} cursor-pointer inline-block ${hidden ? "hidden" : ""}`,
189
338
  onClick: handleOnClick,
190
- children: /* @__PURE__ */ jsx2(
339
+ children: /* @__PURE__ */ jsx5(
191
340
  "img",
192
341
  {
193
342
  ref,
@@ -211,7 +360,7 @@ BaseImage.displayName = "BaseImage";
211
360
  var BaseImage_default = BaseImage;
212
361
 
213
362
  // src/components/buttons/PrimaryButton.tsx
214
- import { jsx as jsx3, jsxs } from "react/jsx-runtime";
363
+ import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
215
364
  var PrimaryButton = ({
216
365
  title,
217
366
  size,
@@ -221,7 +370,7 @@ var PrimaryButton = ({
221
370
  textOnly,
222
371
  iconOnly
223
372
  }) => {
224
- const [loading, setLoading] = useState2(false);
373
+ const [loading, setLoading] = useState3(false);
225
374
  const internalOnClick = () => __async(void 0, null, function* () {
226
375
  if (loading) return;
227
376
  if (disabled) return;
@@ -248,12 +397,12 @@ var PrimaryButton = ({
248
397
  currentLoadingSize = 14;
249
398
  currentHeightClassName = "h-8";
250
399
  }
251
- return /* @__PURE__ */ jsx3(
400
+ return /* @__PURE__ */ jsx6(
252
401
  "button",
253
402
  {
254
403
  className: `border border-catchup-blue-500 bg-catchup-blue-500 text-catchup-white rounded-catchup-button ${loading ? "" : disabled ? "opacity-50" : "hover:bg-catchup-blue-700 active:bg-catchup-blue-500"} transition duration-300 ${currentWidthClassName} ${currentHeightClassName}`,
255
404
  onClick: internalOnClick,
256
- children: loading ? /* @__PURE__ */ jsx3(
405
+ children: loading ? /* @__PURE__ */ jsx6(
257
406
  BaseLoading_default,
258
407
  {
259
408
  height: currentLoadingSize,
@@ -261,8 +410,8 @@ var PrimaryButton = ({
261
410
  primaryColor: "#ffffff",
262
411
  secondaryColor: "#ffffff"
263
412
  }
264
- ) : /* @__PURE__ */ jsxs("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
265
- iconPosition === "left" ? /* @__PURE__ */ jsx3(
413
+ ) : /* @__PURE__ */ jsxs3("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
414
+ iconPosition === "left" ? /* @__PURE__ */ jsx6(
266
415
  BaseImage_default,
267
416
  {
268
417
  src: "/icons/primary-button-arrow-left.webp",
@@ -270,8 +419,8 @@ var PrimaryButton = ({
270
419
  size: "xsmall"
271
420
  }
272
421
  ) : null,
273
- iconOnly ? null : /* @__PURE__ */ jsx3("p", { className: "", children: title }),
274
- textOnly || iconPosition === "left" ? null : /* @__PURE__ */ jsx3(
422
+ iconOnly ? null : /* @__PURE__ */ jsx6("p", { className: "", children: title }),
423
+ textOnly || iconPosition === "left" ? null : /* @__PURE__ */ jsx6(
275
424
  BaseImage_default,
276
425
  {
277
426
  src: "/icons/primary-button-arrow-right.webp",
@@ -286,8 +435,8 @@ var PrimaryButton = ({
286
435
  var PrimaryButton_default = PrimaryButton;
287
436
 
288
437
  // src/components/buttons/SecondaryButton.tsx
289
- import { useState as useState3 } from "react";
290
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
438
+ import { useState as useState4 } from "react";
439
+ import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
291
440
  var SecondaryButton = ({
292
441
  title,
293
442
  size,
@@ -297,8 +446,8 @@ var SecondaryButton = ({
297
446
  textOnly,
298
447
  iconOnly
299
448
  }) => {
300
- const [loading, setLoading] = useState3(false);
301
- const [isHovered, setIsHovered] = useState3(false);
449
+ const [loading, setLoading] = useState4(false);
450
+ const [isHovered, setIsHovered] = useState4(false);
302
451
  const internalOnClick = () => __async(void 0, null, function* () {
303
452
  if (loading) return;
304
453
  if (disabled) return;
@@ -325,7 +474,7 @@ var SecondaryButton = ({
325
474
  currentLoadingSize = 14;
326
475
  currentHeightClassName = "h-8";
327
476
  }
328
- return /* @__PURE__ */ jsx4(
477
+ return /* @__PURE__ */ jsx7(
329
478
  "button",
330
479
  {
331
480
  className: `border border-catchup-gray-400 bg-catchup-white text-catchup-gray-600 rounded-catchup-button ${loading ? "" : disabled ? "opacity-50" : "hover:bg-catchup-gray-400 hover:text-catchup-white hover:border-catchup-gray-400 active:bg-catchup-gray-500 active:border-catchup-gray-500 active:text-catchup-white"} transition duration-300 ${currentWidthClassName} ${currentHeightClassName}`,
@@ -336,7 +485,7 @@ var SecondaryButton = ({
336
485
  onMouseLeave: () => {
337
486
  setIsHovered(false);
338
487
  },
339
- children: loading ? /* @__PURE__ */ jsx4(
488
+ children: loading ? /* @__PURE__ */ jsx7(
340
489
  BaseLoading_default,
341
490
  {
342
491
  height: currentLoadingSize,
@@ -344,8 +493,8 @@ var SecondaryButton = ({
344
493
  primaryColor: "#55777f",
345
494
  secondaryColor: "#55777f"
346
495
  }
347
- ) : /* @__PURE__ */ jsxs2("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
348
- iconPosition === "left" ? /* @__PURE__ */ jsx4(
496
+ ) : /* @__PURE__ */ jsxs4("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
497
+ iconPosition === "left" ? /* @__PURE__ */ jsx7(
349
498
  BaseImage_default,
350
499
  {
351
500
  src: "/icons/secondary-button-arrow-left.webp",
@@ -353,8 +502,8 @@ var SecondaryButton = ({
353
502
  size: "xsmall"
354
503
  }
355
504
  ) : null,
356
- iconOnly ? null : /* @__PURE__ */ jsx4("p", { className: "", children: title }),
357
- textOnly || iconPosition === "left" ? null : /* @__PURE__ */ jsx4(
505
+ iconOnly ? null : /* @__PURE__ */ jsx7("p", { className: "", children: title }),
506
+ textOnly || iconPosition === "left" ? null : /* @__PURE__ */ jsx7(
358
507
  BaseImage_default,
359
508
  {
360
509
  src: "/icons/secondary-button-arrow-right.webp",
@@ -369,8 +518,8 @@ var SecondaryButton = ({
369
518
  var SecondaryButton_default = SecondaryButton;
370
519
 
371
520
  // src/components/buttons/CreateButton.tsx
372
- import { useState as useState4 } from "react";
373
- import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
521
+ import { useState as useState5 } from "react";
522
+ import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
374
523
  var CreateButton = ({
375
524
  title,
376
525
  size,
@@ -380,7 +529,7 @@ var CreateButton = ({
380
529
  textOnly,
381
530
  iconOnly
382
531
  }) => {
383
- const [loading, setLoading] = useState4(false);
532
+ const [loading, setLoading] = useState5(false);
384
533
  const internalOnClick = () => __async(void 0, null, function* () {
385
534
  if (loading) return;
386
535
  if (disabled) return;
@@ -407,12 +556,12 @@ var CreateButton = ({
407
556
  currentLoadingSize = 14;
408
557
  currentHeightClassName = "h-8";
409
558
  }
410
- return /* @__PURE__ */ jsx5(
559
+ return /* @__PURE__ */ jsx8(
411
560
  "button",
412
561
  {
413
562
  className: `border border-catchup-blue-500 bg-catchup-blue-500 text-catchup-white rounded-catchup-button ${loading ? "" : disabled ? "opacity-50" : "hover:bg-catchup-blue-700 active:bg-catchup-blue-500"} transition duration-300 ${currentWidthClassName} ${currentHeightClassName}`,
414
563
  onClick: internalOnClick,
415
- children: loading ? /* @__PURE__ */ jsx5(
564
+ children: loading ? /* @__PURE__ */ jsx8(
416
565
  BaseLoading_default,
417
566
  {
418
567
  height: currentLoadingSize,
@@ -420,8 +569,8 @@ var CreateButton = ({
420
569
  primaryColor: "#ffffff",
421
570
  secondaryColor: "#ffffff"
422
571
  }
423
- ) : /* @__PURE__ */ jsxs3("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
424
- iconPosition === "left" ? /* @__PURE__ */ jsx5(
572
+ ) : /* @__PURE__ */ jsxs5("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
573
+ iconPosition === "left" ? /* @__PURE__ */ jsx8(
425
574
  BaseImage_default,
426
575
  {
427
576
  src: "/icons/primary-button-create-white.webp",
@@ -429,8 +578,8 @@ var CreateButton = ({
429
578
  size: "xsmall"
430
579
  }
431
580
  ) : null,
432
- iconOnly ? null : /* @__PURE__ */ jsx5("p", { className: "", children: title }),
433
- textOnly || iconPosition === "left" ? null : /* @__PURE__ */ jsx5(
581
+ iconOnly ? null : /* @__PURE__ */ jsx8("p", { className: "", children: title }),
582
+ textOnly || iconPosition === "left" ? null : /* @__PURE__ */ jsx8(
434
583
  BaseImage_default,
435
584
  {
436
585
  src: "/icons/primary-button-create-white.webp",
@@ -445,8 +594,8 @@ var CreateButton = ({
445
594
  var CreateButton_default = CreateButton;
446
595
 
447
596
  // src/components/buttons/DeleteButton.tsx
448
- import { useState as useState5 } from "react";
449
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
597
+ import { useState as useState6 } from "react";
598
+ import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
450
599
  var DeleteButton = ({
451
600
  title,
452
601
  size,
@@ -456,8 +605,8 @@ var DeleteButton = ({
456
605
  textOnly,
457
606
  iconOnly
458
607
  }) => {
459
- const [loading, setLoading] = useState5(false);
460
- const [isHovered, setIsHovered] = useState5(false);
608
+ const [loading, setLoading] = useState6(false);
609
+ const [isHovered, setIsHovered] = useState6(false);
461
610
  const internalOnClick = () => __async(void 0, null, function* () {
462
611
  if (loading) return;
463
612
  if (disabled) return;
@@ -481,7 +630,7 @@ var DeleteButton = ({
481
630
  currentHeightClassName = "h-12";
482
631
  currentLoadingSize = 18;
483
632
  }
484
- return /* @__PURE__ */ jsx6(
633
+ return /* @__PURE__ */ jsx9(
485
634
  "button",
486
635
  {
487
636
  className: `border border-catchup-red bg-catchup-white text-catchup-red rounded-catchup-button ${loading ? "" : disabled ? "opacity-50" : "hover:bg-catchup-red hover:text-catchup-white hover:border-catchup-red active:bg-catchup-red active:hover:border-catchup-red active:text-catchup-white active:opacity-80"} transition duration-300 ${currentWidthClassName} ${currentHeightClassName}`,
@@ -492,7 +641,7 @@ var DeleteButton = ({
492
641
  onMouseLeave: () => {
493
642
  setIsHovered(false);
494
643
  },
495
- children: loading ? /* @__PURE__ */ jsx6(
644
+ children: loading ? /* @__PURE__ */ jsx9(
496
645
  BaseLoading_default,
497
646
  {
498
647
  height: currentLoadingSize,
@@ -500,8 +649,8 @@ var DeleteButton = ({
500
649
  primaryColor: "#55777f",
501
650
  secondaryColor: "#55777f"
502
651
  }
503
- ) : /* @__PURE__ */ jsxs4("div", { className: "flex flex-row justify-center items-center gap-x-2", children: [
504
- iconPosition === "left" ? /* @__PURE__ */ jsx6(
652
+ ) : /* @__PURE__ */ jsxs6("div", { className: "flex flex-row justify-center items-center gap-x-2", children: [
653
+ iconPosition === "left" ? /* @__PURE__ */ jsx9(
505
654
  BaseImage_default,
506
655
  {
507
656
  src: `${isHovered ? "/icons/remove-white.webp" : "/icons/remove-red.webp"}`,
@@ -509,8 +658,8 @@ var DeleteButton = ({
509
658
  size: "xsmall"
510
659
  }
511
660
  ) : null,
512
- iconOnly ? null : /* @__PURE__ */ jsx6("p", { className: "", children: title }),
513
- textOnly || iconPosition === "left" ? null : /* @__PURE__ */ jsx6(
661
+ iconOnly ? null : /* @__PURE__ */ jsx9("p", { className: "", children: title }),
662
+ textOnly || iconPosition === "left" ? null : /* @__PURE__ */ jsx9(
514
663
  BaseImage_default,
515
664
  {
516
665
  src: `${isHovered ? "/icons/remove-white.webp" : "/icons/remove-red.webp"}`,
@@ -525,8 +674,8 @@ var DeleteButton = ({
525
674
  var DeleteButton_default = DeleteButton;
526
675
 
527
676
  // src/components/buttons/CancelButton.tsx
528
- import { useState as useState6 } from "react";
529
- import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
677
+ import { useState as useState7 } from "react";
678
+ import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
530
679
  var CancelButton = ({
531
680
  title,
532
681
  size,
@@ -536,8 +685,8 @@ var CancelButton = ({
536
685
  textOnly,
537
686
  iconOnly
538
687
  }) => {
539
- const [loading, setLoading] = useState6(false);
540
- const [isHovered, setIsHovered] = useState6(false);
688
+ const [loading, setLoading] = useState7(false);
689
+ const [isHovered, setIsHovered] = useState7(false);
541
690
  const internalOnClick = () => __async(void 0, null, function* () {
542
691
  if (loading) return;
543
692
  if (disabled) return;
@@ -564,7 +713,7 @@ var CancelButton = ({
564
713
  currentLoadingSize = 14;
565
714
  currentHeightClassName = "h-8";
566
715
  }
567
- return /* @__PURE__ */ jsx7(
716
+ return /* @__PURE__ */ jsx10(
568
717
  "button",
569
718
  {
570
719
  className: `border border-catchup-gray-400 bg-catchup-white text-catchup-gray-600 rounded-catchup-button ${loading ? "" : disabled ? "opacity-50" : "hover:bg-catchup-gray-400 hover:text-catchup-white hover:border-catchup-gray-400 active:bg-catchup-gray-500 active:border-catchup-gray-500 active:text-catchup-white"} transition duration-300 ${currentWidthClassName} ${currentHeightClassName}`,
@@ -575,7 +724,7 @@ var CancelButton = ({
575
724
  onMouseLeave: () => {
576
725
  setIsHovered(false);
577
726
  },
578
- children: loading ? /* @__PURE__ */ jsx7(
727
+ children: loading ? /* @__PURE__ */ jsx10(
579
728
  BaseLoading_default,
580
729
  {
581
730
  height: currentLoadingSize,
@@ -583,8 +732,8 @@ var CancelButton = ({
583
732
  primaryColor: "#55777f",
584
733
  secondaryColor: "#55777f"
585
734
  }
586
- ) : /* @__PURE__ */ jsxs5("div", { className: "flex flex-row justify-center items-center gap-x-2", children: [
587
- iconPosition === "left" ? /* @__PURE__ */ jsx7(
735
+ ) : /* @__PURE__ */ jsxs7("div", { className: "flex flex-row justify-center items-center gap-x-2", children: [
736
+ iconPosition === "left" ? /* @__PURE__ */ jsx10(
588
737
  BaseImage_default,
589
738
  {
590
739
  src: `${isHovered ? "/icons/cancel-button-arrow-left-white.webp" : "/icons/cancel-button-arrow-left.webp"}`,
@@ -592,8 +741,8 @@ var CancelButton = ({
592
741
  size: "xsmall"
593
742
  }
594
743
  ) : null,
595
- iconOnly ? null : /* @__PURE__ */ jsx7("p", { className: "", children: title }),
596
- textOnly || iconPosition === "left" ? null : /* @__PURE__ */ jsx7(
744
+ iconOnly ? null : /* @__PURE__ */ jsx10("p", { className: "", children: title }),
745
+ textOnly || iconPosition === "left" ? null : /* @__PURE__ */ jsx10(
597
746
  BaseImage_default,
598
747
  {
599
748
  src: `${isHovered ? "/icons/cancel-button-arrow-left-white.webp" : "/icons/cancel-button-arrow-left.webp"}`,
@@ -608,8 +757,8 @@ var CancelButton = ({
608
757
  var CancelButton_default = CancelButton;
609
758
 
610
759
  // src/components/buttons/ApproveButton.tsx
611
- import { useState as useState7 } from "react";
612
- import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
760
+ import { useState as useState8 } from "react";
761
+ import { jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
613
762
  var ApproveButton = ({
614
763
  title,
615
764
  size,
@@ -619,7 +768,7 @@ var ApproveButton = ({
619
768
  textOnly,
620
769
  iconOnly
621
770
  }) => {
622
- const [loading, setLoading] = useState7(false);
771
+ const [loading, setLoading] = useState8(false);
623
772
  const internalOnClick = () => __async(void 0, null, function* () {
624
773
  if (loading) return;
625
774
  if (disabled) return;
@@ -646,12 +795,12 @@ var ApproveButton = ({
646
795
  currentLoadingSize = 14;
647
796
  currentHeightClassName = "h-8";
648
797
  }
649
- return /* @__PURE__ */ jsx8(
798
+ return /* @__PURE__ */ jsx11(
650
799
  "button",
651
800
  {
652
801
  className: `border border-catchup-green bg-catchup-green text-catchup-white rounded-catchup-button ${loading ? "" : disabled ? "opacity-50" : "hover:bg-catchup-hover-green active:bg-catchup-green"} transition duration-300 ${currentWidthClassName} ${currentHeightClassName}`,
653
802
  onClick: internalOnClick,
654
- children: loading ? /* @__PURE__ */ jsx8(
803
+ children: loading ? /* @__PURE__ */ jsx11(
655
804
  BaseLoading_default,
656
805
  {
657
806
  height: currentLoadingSize,
@@ -659,8 +808,8 @@ var ApproveButton = ({
659
808
  primaryColor: "#ffffff",
660
809
  secondaryColor: "#ffffff"
661
810
  }
662
- ) : /* @__PURE__ */ jsxs6("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
663
- iconPosition === "left" ? /* @__PURE__ */ jsx8(
811
+ ) : /* @__PURE__ */ jsxs8("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
812
+ iconPosition === "left" ? /* @__PURE__ */ jsx11(
664
813
  BaseImage_default,
665
814
  {
666
815
  src: "/icons/primary-button-arrow-left.webp",
@@ -668,8 +817,8 @@ var ApproveButton = ({
668
817
  size: "xsmall"
669
818
  }
670
819
  ) : null,
671
- iconOnly ? null : /* @__PURE__ */ jsx8("p", { className: "", children: title }),
672
- textOnly || iconPosition === "left" ? null : /* @__PURE__ */ jsx8(
820
+ iconOnly ? null : /* @__PURE__ */ jsx11("p", { className: "", children: title }),
821
+ textOnly || iconPosition === "left" ? null : /* @__PURE__ */ jsx11(
673
822
  BaseImage_default,
674
823
  {
675
824
  src: "/icons/primary-button-arrow-right.webp",
@@ -684,7 +833,7 @@ var ApproveButton = ({
684
833
  var ApproveButton_default = ApproveButton;
685
834
 
686
835
  // src/components/cards/FullCard.tsx
687
- import { jsx as jsx9 } from "react/jsx-runtime";
836
+ import { jsx as jsx12 } from "react/jsx-runtime";
688
837
  var FullCard = ({
689
838
  bgColor,
690
839
  opacity,
@@ -692,11 +841,11 @@ var FullCard = ({
692
841
  usePadding,
693
842
  children
694
843
  }) => {
695
- return /* @__PURE__ */ jsx9("div", { className: "flex flex-col justify-center items-center h-full", children: /* @__PURE__ */ jsx9(
844
+ return /* @__PURE__ */ jsx12("div", { className: "flex flex-col justify-center items-center h-full", children: /* @__PURE__ */ jsx12(
696
845
  "div",
697
846
  {
698
847
  className: `flex-1 ${bgColor ? bgColor : ""} ${opacity ? opacity : "opacity-100"} rounded-catchup-xlarge w-full border border-catchup-gray-50 bg-catchup-white`,
699
- children: /* @__PURE__ */ jsx9(
848
+ children: /* @__PURE__ */ jsx12(
700
849
  "div",
701
850
  {
702
851
  className: `flex flex-col mx-auto ${usePadding === false ? "p-0" : "p-6"} h-full`,
@@ -709,7 +858,7 @@ var FullCard = ({
709
858
  var FullCard_default = FullCard;
710
859
 
711
860
  // src/components/loading/BaseLoadingWithText.tsx
712
- import { useEffect, useState as useState8 } from "react";
861
+ import { useEffect as useEffect2, useState as useState9 } from "react";
713
862
 
714
863
  // src/language/i18n.ts
715
864
  import i18n from "i18next";
@@ -718,19 +867,19 @@ i18n.use(initReactI18next);
718
867
  var i18n_default = i18n;
719
868
 
720
869
  // src/components/loading/BaseLoadingWithText.tsx
721
- import { jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
870
+ import { jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
722
871
  var BaseLoadingWithText = (props) => {
723
872
  const { height, width, size, primaryColor, secondaryColor, hideText } = props;
724
- const [initialTimestamp, setInitialTimestamp] = useState8(
873
+ const [initialTimestamp, setInitialTimestamp] = useState9(
725
874
  (/* @__PURE__ */ new Date()).getTime()
726
875
  );
727
- const [currentTimestamp, setCurrentTimeStamp] = useState8(
876
+ const [currentTimestamp, setCurrentTimeStamp] = useState9(
728
877
  (/* @__PURE__ */ new Date()).getTime()
729
878
  );
730
879
  let timerId;
731
880
  let textClassName;
732
881
  let textWidth;
733
- useEffect(() => {
882
+ useEffect2(() => {
734
883
  timerId = setInterval(() => {
735
884
  setCurrentTimeStamp((/* @__PURE__ */ new Date()).getTime());
736
885
  }, 1e3);
@@ -766,8 +915,8 @@ var BaseLoadingWithText = (props) => {
766
915
  textWidth = 250;
767
916
  }
768
917
  const loadingText = retrieveLoadingText();
769
- return /* @__PURE__ */ jsxs7("div", { className: "flex flex-col justify-center items-center", children: [
770
- /* @__PURE__ */ jsx10(
918
+ return /* @__PURE__ */ jsxs9("div", { className: "flex flex-col justify-center items-center", children: [
919
+ /* @__PURE__ */ jsx13(
771
920
  BaseLoading_default,
772
921
  {
773
922
  height,
@@ -777,12 +926,12 @@ var BaseLoadingWithText = (props) => {
777
926
  secondaryColor
778
927
  }
779
928
  ),
780
- !hideText && size !== "small" ? /* @__PURE__ */ jsx10(
929
+ !hideText && size !== "small" ? /* @__PURE__ */ jsx13(
781
930
  "div",
782
931
  {
783
932
  className: `${textClassName} text-center`,
784
933
  style: { width: textWidth },
785
- children: /* @__PURE__ */ jsx10("p", { className: "font-bold", children: loadingText })
934
+ children: /* @__PURE__ */ jsx13("p", { className: "font-bold", children: loadingText })
786
935
  }
787
936
  ) : null
788
937
  ] });
@@ -791,7 +940,7 @@ var BaseLoadingWithText_default = BaseLoadingWithText;
791
940
 
792
941
  // src/components/modals/BaseModal.tsx
793
942
  import Modal from "react-modal";
794
- import { jsx as jsx11 } from "react/jsx-runtime";
943
+ import { jsx as jsx14 } from "react/jsx-runtime";
795
944
  var BaseModal = ({
796
945
  isOpen,
797
946
  size,
@@ -800,7 +949,7 @@ var BaseModal = ({
800
949
  customSize,
801
950
  children
802
951
  }) => {
803
- return /* @__PURE__ */ jsx11(
952
+ return /* @__PURE__ */ jsx14(
804
953
  Modal,
805
954
  {
806
955
  isOpen,
@@ -828,7 +977,7 @@ var BaseModal = ({
828
977
  }
829
978
  },
830
979
  contentLabel: "",
831
- children: customSize ? /* @__PURE__ */ jsx11("div", { className: `${customSize} font-quicksand`, children }) : /* @__PURE__ */ jsx11(
980
+ children: customSize ? /* @__PURE__ */ jsx14("div", { className: `${customSize} font-quicksand`, children }) : /* @__PURE__ */ jsx14(
832
981
  "div",
833
982
  {
834
983
  className: `font-quicksand ${size === "small" ? "w-[600px]" : size === "medium" ? "w-[900px]" : "w-[600px] lg:w-[900px] xl:w-[1200px] 2xl:w-[1500px]"}`,
@@ -841,14 +990,14 @@ var BaseModal = ({
841
990
  var BaseModal_default = BaseModal;
842
991
 
843
992
  // src/components/activities/empty-content/ActivityEmptyContent.tsx
844
- import { jsx as jsx12 } from "react/jsx-runtime";
993
+ import { jsx as jsx15 } from "react/jsx-runtime";
845
994
  var ActivityEmptyContent = () => {
846
- return /* @__PURE__ */ jsx12("div", { className: "flex flex-col items-center justify-center border-2 border-catchup-orange rounded-catchup-xlarge px-5 py-2 my-5 bg-catchup-orange", children: /* @__PURE__ */ jsx12("div", { className: "", children: /* @__PURE__ */ jsx12("p", { className: "text-catchup-white text-xl", children: i18n_default.t("you_have_set_this_activity_as_empty") }) }) });
995
+ return /* @__PURE__ */ jsx15("div", { className: "flex flex-col items-center justify-center border-2 border-catchup-orange rounded-catchup-xlarge px-5 py-2 my-5 bg-catchup-orange", children: /* @__PURE__ */ jsx15("div", { className: "", children: /* @__PURE__ */ jsx15("p", { className: "text-catchup-white text-xl", children: i18n_default.t("you_have_set_this_activity_as_empty") }) }) });
847
996
  };
848
997
  var ActivityEmptyContent_default = ActivityEmptyContent;
849
998
 
850
999
  // src/components/activities/body-content/ShowBodyMediaByContentType.tsx
851
- import { useState as useState9 } from "react";
1000
+ import { useState as useState10 } from "react";
852
1001
  import Modal2 from "react-modal";
853
1002
 
854
1003
  // src/utilization/CatchtivityUtilization.ts
@@ -2917,15 +3066,15 @@ var constructActivityItemListSolutionOnly = (solutionMap) => {
2917
3066
 
2918
3067
  // src/components/activities/body-content/ShowBodyMediaByContentType.tsx
2919
3068
  import { InlineMath } from "react-katex";
2920
- import { jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
3069
+ import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
2921
3070
  var ShowBodyMediaByContentType = ({
2922
3071
  index,
2923
3072
  type,
2924
3073
  value,
2925
3074
  size
2926
3075
  }) => {
2927
- const [showFullScreen, setShowFullScreen] = useState9(false);
2928
- const [selectedFullScreenItem, setSelectedFullScreenItem] = useState9("");
3076
+ const [showFullScreen, setShowFullScreen] = useState10(false);
3077
+ const [selectedFullScreenItem, setSelectedFullScreenItem] = useState10("");
2929
3078
  const convertToPercentage = (size2) => {
2930
3079
  switch (size2) {
2931
3080
  case "1/3":
@@ -2939,11 +3088,11 @@ var ShowBodyMediaByContentType = ({
2939
3088
  }
2940
3089
  };
2941
3090
  const renderSpecialExpressions = (inputPart, partIndex, parentKey) => {
2942
- return /* @__PURE__ */ jsx13(
3091
+ return /* @__PURE__ */ jsx16(
2943
3092
  "span",
2944
3093
  {
2945
3094
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
2946
- children: inputPart.isEquation ? /* @__PURE__ */ jsx13("span", { className: "text-2xl", children: /* @__PURE__ */ jsx13(InlineMath, { math: inputPart.value }) }) : inputPart.value
3095
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx16("span", { className: "text-2xl", children: /* @__PURE__ */ jsx16(InlineMath, { math: inputPart.value }) }) : inputPart.value
2947
3096
  },
2948
3097
  `${parentKey}-expr-${partIndex}`
2949
3098
  );
@@ -2963,7 +3112,7 @@ var ShowBodyMediaByContentType = ({
2963
3112
  };
2964
3113
  const renderTextContent = (text, itemKey) => {
2965
3114
  const balancedText = balanceSpecialChars(text);
2966
- return /* @__PURE__ */ jsx13("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(balancedText).map(
3115
+ return /* @__PURE__ */ jsx16("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(balancedText).map(
2967
3116
  (inputPart, exprIndex) => renderSpecialExpressions(inputPart, exprIndex, itemKey)
2968
3117
  ) }, itemKey);
2969
3118
  };
@@ -2996,7 +3145,7 @@ var ShowBodyMediaByContentType = ({
2996
3145
  currentIndex++;
2997
3146
  const itemKey = `text-inside-${index}-${currentIndex}`;
2998
3147
  valuePartList.push(
2999
- /* @__PURE__ */ jsx13("span", { className: "text-xl font-bold whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(textInsideTag).map(
3148
+ /* @__PURE__ */ jsx16("span", { className: "text-xl font-bold whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(textInsideTag).map(
3000
3149
  (inputPart, exprIndex) => renderSpecialExpressions(inputPart, exprIndex, itemKey)
3001
3150
  ) }, itemKey)
3002
3151
  );
@@ -3016,7 +3165,7 @@ var ShowBodyMediaByContentType = ({
3016
3165
  if (textBeforeTag.trim() !== "") {
3017
3166
  currentIndex++;
3018
3167
  valuePartList.push(
3019
- /* @__PURE__ */ jsx13(
3168
+ /* @__PURE__ */ jsx16(
3020
3169
  "p",
3021
3170
  {
3022
3171
  className: "text-xl",
@@ -3035,12 +3184,12 @@ var ShowBodyMediaByContentType = ({
3035
3184
  );
3036
3185
  currentIndex++;
3037
3186
  valuePartList.push(
3038
- /* @__PURE__ */ jsxs8(
3187
+ /* @__PURE__ */ jsxs10(
3039
3188
  "div",
3040
3189
  {
3041
3190
  className: "relative w-[200px]",
3042
3191
  children: [
3043
- /* @__PURE__ */ jsx13(
3192
+ /* @__PURE__ */ jsx16(
3044
3193
  BaseImage_default,
3045
3194
  {
3046
3195
  src: imageSource,
@@ -3049,12 +3198,12 @@ var ShowBodyMediaByContentType = ({
3049
3198
  className: "rounded-catchup-xlarge"
3050
3199
  }
3051
3200
  ),
3052
- /* @__PURE__ */ jsx13(
3201
+ /* @__PURE__ */ jsx16(
3053
3202
  "div",
3054
3203
  {
3055
3204
  className: "absolute flex items-center justify-center top-2 right-2 h-6 w-6 cursor-pointer border rounded-catchup-xlarge border-catchup-blue p-1",
3056
3205
  onClick: () => handleOpenFullScreen(imageSource),
3057
- children: /* @__PURE__ */ jsx13(
3206
+ children: /* @__PURE__ */ jsx16(
3058
3207
  BaseImage_default,
3059
3208
  {
3060
3209
  src: "/icons/arrow-up.webp",
@@ -3083,7 +3232,7 @@ var ShowBodyMediaByContentType = ({
3083
3232
  if (textBeforeTag.trim() !== "") {
3084
3233
  currentIndex++;
3085
3234
  valuePartList.push(
3086
- /* @__PURE__ */ jsx13(
3235
+ /* @__PURE__ */ jsx16(
3087
3236
  "p",
3088
3237
  {
3089
3238
  className: "text-xl",
@@ -3102,7 +3251,7 @@ var ShowBodyMediaByContentType = ({
3102
3251
  );
3103
3252
  currentIndex++;
3104
3253
  valuePartList.push(
3105
- /* @__PURE__ */ jsx13(
3254
+ /* @__PURE__ */ jsx16(
3106
3255
  "video",
3107
3256
  {
3108
3257
  src: videoSource,
@@ -3125,7 +3274,7 @@ var ShowBodyMediaByContentType = ({
3125
3274
  if (textBeforeTag.trim() !== "") {
3126
3275
  currentIndex++;
3127
3276
  valuePartList.push(
3128
- /* @__PURE__ */ jsx13(
3277
+ /* @__PURE__ */ jsx16(
3129
3278
  "p",
3130
3279
  {
3131
3280
  className: "text-xl",
@@ -3144,7 +3293,7 @@ var ShowBodyMediaByContentType = ({
3144
3293
  );
3145
3294
  currentIndex++;
3146
3295
  valuePartList.push(
3147
- /* @__PURE__ */ jsx13(
3296
+ /* @__PURE__ */ jsx16(
3148
3297
  "audio",
3149
3298
  {
3150
3299
  src: audioSource,
@@ -3170,13 +3319,13 @@ var ShowBodyMediaByContentType = ({
3170
3319
  if (regexMatchImageText) {
3171
3320
  const imageText = regexMatchImageText[1];
3172
3321
  valuePartList.push(
3173
- /* @__PURE__ */ jsxs8(
3322
+ /* @__PURE__ */ jsxs10(
3174
3323
  "div",
3175
3324
  {
3176
3325
  className: "bg-catchup-gray-50 relative px-4 py-4 rounded-catchup-small mt-2",
3177
3326
  children: [
3178
- /* @__PURE__ */ jsx13("div", { className: "absolute -top-3 bg-catchup-white border rounded-catchup-small px-2 left-2", children: /* @__PURE__ */ jsx13("p", { className: "font-bold", children: i18n_default.t("image_description") }) }),
3179
- /* @__PURE__ */ jsx13("span", { className: "text-xl whitespace-pre-wrap", children: imageText })
3327
+ /* @__PURE__ */ jsx16("div", { className: "absolute -top-3 bg-catchup-white border rounded-catchup-small px-2 left-2", children: /* @__PURE__ */ jsx16("p", { className: "font-bold", children: i18n_default.t("image_description") }) }),
3328
+ /* @__PURE__ */ jsx16("span", { className: "text-xl whitespace-pre-wrap", children: imageText })
3180
3329
  ]
3181
3330
  },
3182
3331
  `img-desc-${index}-${currentIndex}`
@@ -3190,7 +3339,7 @@ var ShowBodyMediaByContentType = ({
3190
3339
  return valuePartList;
3191
3340
  };
3192
3341
  const RenderShowFullScreenItem = () => {
3193
- return /* @__PURE__ */ jsx13(
3342
+ return /* @__PURE__ */ jsx16(
3194
3343
  Modal2,
3195
3344
  {
3196
3345
  isOpen: showFullScreen,
@@ -3219,8 +3368,8 @@ var ShowBodyMediaByContentType = ({
3219
3368
  }
3220
3369
  },
3221
3370
  contentLabel: "Image Fullscreen View",
3222
- children: /* @__PURE__ */ jsxs8("div", { className: "flex-1 flex flex-col", children: [
3223
- /* @__PURE__ */ jsx13("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ jsx13(
3371
+ children: /* @__PURE__ */ jsxs10("div", { className: "flex-1 flex flex-col", children: [
3372
+ /* @__PURE__ */ jsx16("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ jsx16(
3224
3373
  BaseImage_default,
3225
3374
  {
3226
3375
  src: "/icons/cross-red.webp",
@@ -3232,7 +3381,7 @@ var ShowBodyMediaByContentType = ({
3232
3381
  }
3233
3382
  }
3234
3383
  ) }),
3235
- /* @__PURE__ */ jsx13("div", { className: "flex items-center justify-center h-[500]", children: /* @__PURE__ */ jsx13(
3384
+ /* @__PURE__ */ jsx16("div", { className: "flex items-center justify-center h-[500]", children: /* @__PURE__ */ jsx16(
3236
3385
  BaseImage_default,
3237
3386
  {
3238
3387
  src: selectedFullScreenItem,
@@ -3248,16 +3397,16 @@ var ShowBodyMediaByContentType = ({
3248
3397
  const RenderMainContent = () => {
3249
3398
  switch (type) {
3250
3399
  case "TEXT":
3251
- return /* @__PURE__ */ jsx13("div", { className: "mb-3 flex flex-row flex-wrap items-center mx-auto w-full", children: retrieveValueParts(value) });
3400
+ return /* @__PURE__ */ jsx16("div", { className: "mb-3 flex flex-row flex-wrap items-center mx-auto w-full", children: retrieveValueParts(value) });
3252
3401
  case "IMAGE":
3253
- return /* @__PURE__ */ jsx13("div", { className: "mb-3 flex flex-col items-center relative", children: /* @__PURE__ */ jsxs8(
3402
+ return /* @__PURE__ */ jsx16("div", { className: "mb-3 flex flex-col items-center relative", children: /* @__PURE__ */ jsxs10(
3254
3403
  "div",
3255
3404
  {
3256
3405
  className: `${convertToPercentage(
3257
3406
  size || ""
3258
3407
  )} rounded-catchup-xlarge relative`,
3259
3408
  children: [
3260
- /* @__PURE__ */ jsx13(
3409
+ /* @__PURE__ */ jsx16(
3261
3410
  BaseImage_default,
3262
3411
  {
3263
3412
  src: value,
@@ -3266,12 +3415,12 @@ var ShowBodyMediaByContentType = ({
3266
3415
  className: "w-full rounded-catchup-xlarge"
3267
3416
  }
3268
3417
  ),
3269
- /* @__PURE__ */ jsx13(
3418
+ /* @__PURE__ */ jsx16(
3270
3419
  "div",
3271
3420
  {
3272
3421
  className: "absolute flex items-center justify-center top-2 right-2 h-6 w-6 cursor-pointer border rounded-catchup-xlarge border-catchup-blue p-1",
3273
3422
  onClick: () => handleOpenFullScreen(value),
3274
- children: /* @__PURE__ */ jsx13(
3423
+ children: /* @__PURE__ */ jsx16(
3275
3424
  BaseImage_default,
3276
3425
  {
3277
3426
  src: "/icons/arrow-up.webp",
@@ -3286,7 +3435,7 @@ var ShowBodyMediaByContentType = ({
3286
3435
  }
3287
3436
  ) });
3288
3437
  case "VIDEO":
3289
- return /* @__PURE__ */ jsx13("div", { className: "mb-3 flex flex-col items-center", children: /* @__PURE__ */ jsx13(
3438
+ return /* @__PURE__ */ jsx16("div", { className: "mb-3 flex flex-col items-center", children: /* @__PURE__ */ jsx16(
3290
3439
  "video",
3291
3440
  {
3292
3441
  src: value,
@@ -3297,12 +3446,12 @@ var ShowBodyMediaByContentType = ({
3297
3446
  }
3298
3447
  ) });
3299
3448
  case "AUDIO":
3300
- return /* @__PURE__ */ jsx13("div", { className: "mb-3 flex flex-col items-center", children: /* @__PURE__ */ jsx13("audio", { src: value, controls: true, className: "rounded-catchup-xlarge" }) });
3449
+ return /* @__PURE__ */ jsx16("div", { className: "mb-3 flex flex-col items-center", children: /* @__PURE__ */ jsx16("audio", { src: value, controls: true, className: "rounded-catchup-xlarge" }) });
3301
3450
  default:
3302
3451
  return null;
3303
3452
  }
3304
3453
  };
3305
- return /* @__PURE__ */ jsxs8("div", { className: "w-full", children: [
3454
+ return /* @__PURE__ */ jsxs10("div", { className: "w-full", children: [
3306
3455
  RenderShowFullScreenItem(),
3307
3456
  RenderMainContent()
3308
3457
  ] }, `body-content-${index}`);
@@ -3310,7 +3459,7 @@ var ShowBodyMediaByContentType = ({
3310
3459
  var ShowBodyMediaByContentType_default = ShowBodyMediaByContentType;
3311
3460
 
3312
3461
  // src/components/activities/body-content/ActivityBodyContent.tsx
3313
- import { jsx as jsx14 } from "react/jsx-runtime";
3462
+ import { jsx as jsx17 } from "react/jsx-runtime";
3314
3463
  var ActivityBodyContent = ({
3315
3464
  templateType,
3316
3465
  bodyMap,
@@ -3391,7 +3540,7 @@ var ActivityBodyContent = ({
3391
3540
  key
3392
3541
  });
3393
3542
  }).filter(Boolean);
3394
- return /* @__PURE__ */ jsx14("div", { className: "flex flex-col justify-center items-center", children: processedBodies.map((body, index) => /* @__PURE__ */ jsx14(
3543
+ return /* @__PURE__ */ jsx17("div", { className: "flex flex-col justify-center items-center", children: processedBodies.map((body, index) => /* @__PURE__ */ jsx17(
3395
3544
  ShowBodyMediaByContentType_default,
3396
3545
  {
3397
3546
  index,
@@ -3405,16 +3554,16 @@ var ActivityBodyContent = ({
3405
3554
  var ActivityBodyContent_default = ActivityBodyContent;
3406
3555
 
3407
3556
  // src/components/dividers/DividerLine.tsx
3408
- import { jsx as jsx15 } from "react/jsx-runtime";
3557
+ import { jsx as jsx18 } from "react/jsx-runtime";
3409
3558
  var DividerLine = () => {
3410
- return /* @__PURE__ */ jsx15("div", { className: "bg-catchup-gray-50 h-[1px] w-full my-3" });
3559
+ return /* @__PURE__ */ jsx18("div", { className: "bg-catchup-gray-50 h-[1px] w-full my-3" });
3411
3560
  };
3412
3561
  var DividerLine_default = DividerLine;
3413
3562
 
3414
3563
  // src/components/dividers/VerticalDividerLine.tsx
3415
- import { jsx as jsx16 } from "react/jsx-runtime";
3564
+ import { jsx as jsx19 } from "react/jsx-runtime";
3416
3565
  var VerticalDividerLine = () => {
3417
- return /* @__PURE__ */ jsx16("div", { className: "bg-catchup-gray-50 h-full w-[1px] mx-3" });
3566
+ return /* @__PURE__ */ jsx19("div", { className: "bg-catchup-gray-50 h-full w-[1px] mx-3" });
3418
3567
  };
3419
3568
  var VerticalDividerLine_default = VerticalDividerLine;
3420
3569
 
@@ -3423,8 +3572,8 @@ import { InlineMath as InlineMath2 } from "react-katex";
3423
3572
 
3424
3573
  // src/components/groups/InputGroup.tsx
3425
3574
  import Select from "react-select";
3426
- import { useEffect as useEffect2, useRef, useState as useState10, useCallback } from "react";
3427
- import { Fragment, jsx as jsx17, jsxs as jsxs9 } from "react/jsx-runtime";
3575
+ import { useEffect as useEffect3, useRef, useState as useState11, useCallback } from "react";
3576
+ import { Fragment, jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
3428
3577
  var InputGroup = ({
3429
3578
  type,
3430
3579
  title,
@@ -3447,10 +3596,10 @@ var InputGroup = ({
3447
3596
  }) => {
3448
3597
  const textAreaRef = useRef(null);
3449
3598
  const latexTextAreaRef = useRef(null);
3450
- const [showMathConstructor, setShowMathConstructor] = useState10(false);
3451
- const [mathValue, setMathValue] = useState10("");
3599
+ const [showMathConstructor, setShowMathConstructor] = useState11(false);
3600
+ const [mathValue, setMathValue] = useState11("");
3452
3601
  const mathFieldRef = useRef(null);
3453
- useEffect2(() => {
3602
+ useEffect3(() => {
3454
3603
  if (!textAreaRef) return;
3455
3604
  if (!textAreaRef.current) return;
3456
3605
  if (value) {
@@ -3459,7 +3608,7 @@ var InputGroup = ({
3459
3608
  textAreaRef.current.style.height = `44px`;
3460
3609
  }
3461
3610
  }, [textAreaRef, value]);
3462
- useEffect2(() => {
3611
+ useEffect3(() => {
3463
3612
  if (!latexTextAreaRef) return;
3464
3613
  if (!latexTextAreaRef.current) return;
3465
3614
  if (value) {
@@ -3468,7 +3617,7 @@ var InputGroup = ({
3468
3617
  latexTextAreaRef.current.style.height = `44px`;
3469
3618
  }
3470
3619
  }, [latexTextAreaRef, value]);
3471
- useEffect2(() => {
3620
+ useEffect3(() => {
3472
3621
  if (!useMath) return;
3473
3622
  import("mathlive").then(({ MathfieldElement }) => {
3474
3623
  if (!customElements.get("math-field")) {
@@ -3526,7 +3675,7 @@ var InputGroup = ({
3526
3675
  setShowMathConstructor(true);
3527
3676
  };
3528
3677
  const MathConstructorModal = () => {
3529
- return /* @__PURE__ */ jsx17(
3678
+ return /* @__PURE__ */ jsx20(
3530
3679
  BaseModal_default,
3531
3680
  {
3532
3681
  isOpen: showMathConstructor,
@@ -3536,10 +3685,10 @@ var InputGroup = ({
3536
3685
  setShowMathConstructor(false);
3537
3686
  },
3538
3687
  size: "large",
3539
- children: /* @__PURE__ */ jsx17(FullCard_default, { children: /* @__PURE__ */ jsx17("div", { className: "bg-white rounded-lg overflow-hidden", children: /* @__PURE__ */ jsxs9("div", { className: "p-6 space-y-6", children: [
3540
- /* @__PURE__ */ jsxs9("div", { children: [
3541
- /* @__PURE__ */ jsx17("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("math_editor") }),
3542
- /* @__PURE__ */ jsx17("div", { className: "border border-catchup-gray-100 rounded-catchup-large focus-within:border-catchup-blue-400 focus-within:shadow-input", children: /* @__PURE__ */ jsx17(
3688
+ children: /* @__PURE__ */ jsx20(FullCard_default, { children: /* @__PURE__ */ jsx20("div", { className: "bg-white rounded-lg overflow-hidden", children: /* @__PURE__ */ jsxs11("div", { className: "p-6 space-y-6", children: [
3689
+ /* @__PURE__ */ jsxs11("div", { children: [
3690
+ /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("math_editor") }),
3691
+ /* @__PURE__ */ jsx20("div", { className: "border border-catchup-gray-100 rounded-catchup-large focus-within:border-catchup-blue-400 focus-within:shadow-input", children: /* @__PURE__ */ jsx20(
3543
3692
  "math-field",
3544
3693
  {
3545
3694
  ref: mathFieldRef,
@@ -3566,10 +3715,10 @@ var InputGroup = ({
3566
3715
  }
3567
3716
  ) })
3568
3717
  ] }),
3569
- /* @__PURE__ */ jsxs9("div", { children: [
3570
- /* @__PURE__ */ jsx17("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("latex_output") }),
3571
- /* @__PURE__ */ jsxs9("div", { className: "relative", children: [
3572
- /* @__PURE__ */ jsx17(
3718
+ /* @__PURE__ */ jsxs11("div", { children: [
3719
+ /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("latex_output") }),
3720
+ /* @__PURE__ */ jsxs11("div", { className: "relative", children: [
3721
+ /* @__PURE__ */ jsx20(
3573
3722
  "textarea",
3574
3723
  {
3575
3724
  ref: latexTextAreaRef,
@@ -3579,7 +3728,7 @@ var InputGroup = ({
3579
3728
  placeholder: i18n_default.t("latex_will_appear_here")
3580
3729
  }
3581
3730
  ),
3582
- /* @__PURE__ */ jsx17(
3731
+ /* @__PURE__ */ jsx20(
3583
3732
  "button",
3584
3733
  {
3585
3734
  onClick: handleCopyLatex,
@@ -3595,13 +3744,13 @@ var InputGroup = ({
3595
3744
  );
3596
3745
  };
3597
3746
  const CheckboxInputGroup = () => {
3598
- return /* @__PURE__ */ jsxs9(
3747
+ return /* @__PURE__ */ jsxs11(
3599
3748
  "div",
3600
3749
  {
3601
3750
  className: "flex flex-row items-center gap-x-1 cursor-pointer",
3602
3751
  onClick,
3603
3752
  children: [
3604
- /* @__PURE__ */ jsx17(
3753
+ /* @__PURE__ */ jsx20(
3605
3754
  BaseImage_default,
3606
3755
  {
3607
3756
  src: value ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -3611,15 +3760,15 @@ var InputGroup = ({
3611
3760
  }
3612
3761
  }
3613
3762
  ),
3614
- /* @__PURE__ */ jsx17("p", { className: "", children: title })
3763
+ /* @__PURE__ */ jsx20("p", { className: "", children: title })
3615
3764
  ]
3616
3765
  }
3617
3766
  );
3618
3767
  };
3619
3768
  const FileInputGroup = () => {
3620
- return /* @__PURE__ */ jsxs9("div", { className: "my-1", children: [
3621
- title ? /* @__PURE__ */ jsx17("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3622
- /* @__PURE__ */ jsx17(
3769
+ return /* @__PURE__ */ jsxs11("div", { className: "my-1", children: [
3770
+ title ? /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3771
+ /* @__PURE__ */ jsx20(
3623
3772
  "input",
3624
3773
  {
3625
3774
  className: "w-full py-2 px-4 border border-catchup-gray-100 placeholder-catchup-gray-200 rounded-catchup-large text-black focus:outline-none focus:border-catchup-blue-400 focus:shadow-input",
@@ -3636,9 +3785,9 @@ var InputGroup = ({
3636
3785
  ] });
3637
3786
  };
3638
3787
  const DateInputGroup = () => {
3639
- return /* @__PURE__ */ jsxs9("div", { className: "my-1", children: [
3640
- title ? /* @__PURE__ */ jsx17("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3641
- /* @__PURE__ */ jsx17(
3788
+ return /* @__PURE__ */ jsxs11("div", { className: "my-1", children: [
3789
+ title ? /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3790
+ /* @__PURE__ */ jsx20(
3642
3791
  "input",
3643
3792
  {
3644
3793
  className: `w-full py-2 px-4 border ${errorText ? "border-catchup-red shadow-error" : theme === "red" ? "border-catchup-red bg-catchup-red text-catchup-white focus:border-catchup-red" : "border-catchup-gray-100 placeholder-catchup-gray-200 focus:border-catchup-blue-400"} rounded-catchup-large text-black focus:outline-none focus:shadow-input`,
@@ -3653,9 +3802,9 @@ var InputGroup = ({
3653
3802
  ] });
3654
3803
  };
3655
3804
  const SearchableSelectInputGroup = () => {
3656
- return /* @__PURE__ */ jsxs9("div", { className: "my-1", children: [
3657
- title ? /* @__PURE__ */ jsx17("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400 ", children: title }) : null,
3658
- /* @__PURE__ */ jsx17(
3805
+ return /* @__PURE__ */ jsxs11("div", { className: "my-1", children: [
3806
+ title ? /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400 ", children: title }) : null,
3807
+ /* @__PURE__ */ jsx20(
3659
3808
  Select,
3660
3809
  {
3661
3810
  options: convertOptionListToSelectComponent(
@@ -3718,16 +3867,16 @@ var InputGroup = ({
3718
3867
  ] });
3719
3868
  };
3720
3869
  const TextAreaInputGroup = () => {
3721
- return /* @__PURE__ */ jsxs9("div", { className: "my-1 flex-1 flex flex-col relative", children: [
3722
- /* @__PURE__ */ jsxs9("div", { className: "flex flex-row justify-between items-center", children: [
3723
- /* @__PURE__ */ jsx17("div", { children: title ? /* @__PURE__ */ jsx17("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null }),
3724
- /* @__PURE__ */ jsx17("div", { children: value && limit ? /* @__PURE__ */ jsxs9("p", { className: "text-md font-semibold pr-2 py-1 text-catchup-gray-400", children: [
3870
+ return /* @__PURE__ */ jsxs11("div", { className: "my-1 flex-1 flex flex-col relative", children: [
3871
+ /* @__PURE__ */ jsxs11("div", { className: "flex flex-row justify-between items-center", children: [
3872
+ /* @__PURE__ */ jsx20("div", { children: title ? /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null }),
3873
+ /* @__PURE__ */ jsx20("div", { children: value && limit ? /* @__PURE__ */ jsxs11("p", { className: "text-md font-semibold pr-2 py-1 text-catchup-gray-400", children: [
3725
3874
  value.length,
3726
3875
  " / ",
3727
3876
  limit
3728
3877
  ] }) : null })
3729
3878
  ] }),
3730
- /* @__PURE__ */ jsx17(
3879
+ /* @__PURE__ */ jsx20(
3731
3880
  "textarea",
3732
3881
  {
3733
3882
  ref: textAreaRef,
@@ -3740,22 +3889,22 @@ var InputGroup = ({
3740
3889
  onKeyDown
3741
3890
  }
3742
3891
  ),
3743
- useMath && /* @__PURE__ */ jsx17(
3892
+ useMath && /* @__PURE__ */ jsx20(
3744
3893
  "button",
3745
3894
  {
3746
3895
  className: "absolute right-2 top-1/2 transform -translate-y-1/2 bg-catchup-blue-400 text-white rounded-md px-3 py-1 shadow-sm hover:bg-catchup-blue-500 transition-colors duration-200 z-10",
3747
3896
  onClick: handleOpenMathConstructor,
3748
3897
  type: "button",
3749
- children: /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-x-1", children: [
3750
- /* @__PURE__ */ jsx17("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
3751
- /* @__PURE__ */ jsx17(
3898
+ children: /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-x-1", children: [
3899
+ /* @__PURE__ */ jsx20("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
3900
+ /* @__PURE__ */ jsx20(
3752
3901
  "svg",
3753
3902
  {
3754
3903
  className: "w-3 h-3",
3755
3904
  fill: "none",
3756
3905
  stroke: "currentColor",
3757
3906
  viewBox: "0 0 24 24",
3758
- children: /* @__PURE__ */ jsx17(
3907
+ children: /* @__PURE__ */ jsx20(
3759
3908
  "path",
3760
3909
  {
3761
3910
  strokeLinecap: "round",
@@ -3772,13 +3921,13 @@ var InputGroup = ({
3772
3921
  ] });
3773
3922
  };
3774
3923
  const TextInputGroup = () => {
3775
- return /* @__PURE__ */ jsxs9("div", { className: "my-1 relative", children: [
3776
- title ? /* @__PURE__ */ jsx17("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3777
- /* @__PURE__ */ jsx17(
3924
+ return /* @__PURE__ */ jsxs11("div", { className: "my-1 relative", children: [
3925
+ title ? /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3926
+ /* @__PURE__ */ jsx20(
3778
3927
  "div",
3779
3928
  {
3780
3929
  className: `w-full border ${errorText ? "border-catchup-red shadow-error" : "border-catchup-gray-100"} rounded-catchup-large focus-within:border-catchup-blue-400 focus-within:shadow-input ${disabled ? "bg-catchup-lighter-gray" : "bg-white"}`,
3781
- children: /* @__PURE__ */ jsx17(
3930
+ children: /* @__PURE__ */ jsx20(
3782
3931
  "input",
3783
3932
  {
3784
3933
  disabled,
@@ -3794,22 +3943,22 @@ var InputGroup = ({
3794
3943
  )
3795
3944
  }
3796
3945
  ),
3797
- useMath && /* @__PURE__ */ jsx17(
3946
+ useMath && /* @__PURE__ */ jsx20(
3798
3947
  "button",
3799
3948
  {
3800
3949
  className: "absolute right-2 top-1/2 transform -translate-y-1/2 bg-catchup-blue-400 text-white rounded-md px-3 py-1 shadow-sm hover:bg-catchup-blue-500 transition-colors duration-200",
3801
3950
  onClick: handleOpenMathConstructor,
3802
3951
  type: "button",
3803
- children: /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-x-1", children: [
3804
- /* @__PURE__ */ jsx17("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
3805
- /* @__PURE__ */ jsx17(
3952
+ children: /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-x-1", children: [
3953
+ /* @__PURE__ */ jsx20("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
3954
+ /* @__PURE__ */ jsx20(
3806
3955
  "svg",
3807
3956
  {
3808
3957
  className: "w-3 h-3",
3809
3958
  fill: "none",
3810
3959
  stroke: "currentColor",
3811
3960
  viewBox: "0 0 24 24",
3812
- children: /* @__PURE__ */ jsx17(
3961
+ children: /* @__PURE__ */ jsx20(
3813
3962
  "path",
3814
3963
  {
3815
3964
  strokeLinecap: "round",
@@ -3842,16 +3991,16 @@ var InputGroup = ({
3842
3991
  return CheckboxInputGroup();
3843
3992
  }
3844
3993
  };
3845
- return /* @__PURE__ */ jsxs9(Fragment, { children: [
3994
+ return /* @__PURE__ */ jsxs11(Fragment, { children: [
3846
3995
  RenderMainContent(),
3847
- /* @__PURE__ */ jsx17(MathConstructorModal, {})
3996
+ /* @__PURE__ */ jsx20(MathConstructorModal, {})
3848
3997
  ] });
3849
3998
  };
3850
3999
  var InputGroup_default = InputGroup;
3851
4000
 
3852
4001
  // src/components/activities/material-content/DropdownActivityMaterialContent.tsx
3853
- import { useEffect as useEffect4 } from "react";
3854
- import { useState as useState13 } from "react";
4002
+ import { useEffect as useEffect5 } from "react";
4003
+ import { useState as useState14 } from "react";
3855
4004
 
3856
4005
  // src/utilization/AppUtilization.ts
3857
4006
  var colors = [
@@ -3951,11 +4100,11 @@ var getColorByIndex = (index) => {
3951
4100
  };
3952
4101
 
3953
4102
  // src/components/dropdowns/MediaDropdown.tsx
3954
- import { useState as useState11 } from "react";
3955
- import { jsx as jsx18, jsxs as jsxs10 } from "react/jsx-runtime";
4103
+ import { useState as useState12 } from "react";
4104
+ import { jsx as jsx21, jsxs as jsxs12 } from "react/jsx-runtime";
3956
4105
  var MediaDropdown = ({ id, answer, optionList }) => {
3957
- const [showDropdown, setShowDropdown] = useState11(false);
3958
- return /* @__PURE__ */ jsxs10(
4106
+ const [showDropdown, setShowDropdown] = useState12(false);
4107
+ return /* @__PURE__ */ jsxs12(
3959
4108
  "div",
3960
4109
  {
3961
4110
  className: "w-full relative",
@@ -3966,17 +4115,17 @@ var MediaDropdown = ({ id, answer, optionList }) => {
3966
4115
  setShowDropdown(false);
3967
4116
  },
3968
4117
  children: [
3969
- /* @__PURE__ */ jsx18("div", { className: "w-full flex flex-col items-center justify-center", children: answer }),
3970
- /* @__PURE__ */ jsx18(
4118
+ /* @__PURE__ */ jsx21("div", { className: "w-full flex flex-col items-center justify-center", children: answer }),
4119
+ /* @__PURE__ */ jsx21(
3971
4120
  "ul",
3972
4121
  {
3973
4122
  className: `absolute ${showDropdown ? "opacity-100 visible" : "opacity-0 invisible"} flex flex-col items-center w-[300px] rounded-catchup-xlarge border-3 transition-all duration-300 border-catchup-blue bg-catchup-white px-4 py-4 translate-x-1/2 right-1/2 mt-2 z-10`,
3974
- children: optionList.map((option, index) => /* @__PURE__ */ jsxs10(
4123
+ children: optionList.map((option, index) => /* @__PURE__ */ jsxs12(
3975
4124
  "li",
3976
4125
  {
3977
4126
  className: `${option.listItemClassNames ? option.listItemClassNames : ""}`,
3978
4127
  children: [
3979
- /* @__PURE__ */ jsx18(
4128
+ /* @__PURE__ */ jsx21(
3980
4129
  "div",
3981
4130
  {
3982
4131
  className: `w-full flex flex-col my-2 ${option.divClassNames ? option.divClassNames : ""}`,
@@ -3984,7 +4133,7 @@ var MediaDropdown = ({ id, answer, optionList }) => {
3984
4133
  children: option.media
3985
4134
  }
3986
4135
  ),
3987
- index !== optionList.length - 1 ? /* @__PURE__ */ jsx18("div", { className: "w-full border my-1 border-catchup-light-blue rounded-catchup-full" }) : null
4136
+ index !== optionList.length - 1 ? /* @__PURE__ */ jsx21("div", { className: "w-full border my-1 border-catchup-light-blue rounded-catchup-full" }) : null
3988
4137
  ]
3989
4138
  },
3990
4139
  option.id
@@ -3999,24 +4148,24 @@ var MediaDropdown = ({ id, answer, optionList }) => {
3999
4148
  var MediaDropdown_default = MediaDropdown;
4000
4149
 
4001
4150
  // src/components/activities/material-content/ShowMaterialMediaByContentType.tsx
4002
- import { useEffect as useEffect3, useRef as useRef2, useState as useState12 } from "react";
4151
+ import { useEffect as useEffect4, useRef as useRef2, useState as useState13 } from "react";
4003
4152
  import Modal3 from "react-modal";
4004
- import { jsx as jsx19, jsxs as jsxs11 } from "react/jsx-runtime";
4153
+ import { jsx as jsx22, jsxs as jsxs13 } from "react/jsx-runtime";
4005
4154
  var ShowMaterialMediaByContentType = ({
4006
4155
  key,
4007
4156
  contentType,
4008
4157
  src,
4009
4158
  canFullScreen
4010
4159
  }) => {
4011
- const [showFullScreen, setShowFullScreen] = useState12(false);
4012
- const [selectedFullScreenItem, setSelectedFullScreenItem] = useState12(null);
4013
- const [isLoaded, setIsLoaded] = useState12(false);
4014
- const [isFullHeight, setIsFullHeight] = useState12(false);
4160
+ const [showFullScreen, setShowFullScreen] = useState13(false);
4161
+ const [selectedFullScreenItem, setSelectedFullScreenItem] = useState13(null);
4162
+ const [isLoaded, setIsLoaded] = useState13(false);
4163
+ const [isFullHeight, setIsFullHeight] = useState13(false);
4015
4164
  const imageRef = useRef2(null);
4016
- useEffect3(() => {
4165
+ useEffect4(() => {
4017
4166
  setIsLoaded(false);
4018
4167
  }, []);
4019
- useEffect3(() => {
4168
+ useEffect4(() => {
4020
4169
  if (!isLoaded) return;
4021
4170
  if (!imageRef) return;
4022
4171
  if (!imageRef.current) return;
@@ -4029,7 +4178,7 @@ var ShowMaterialMediaByContentType = ({
4029
4178
  }
4030
4179
  }, [isLoaded, key]);
4031
4180
  const RenderShowFullScreenItem = () => {
4032
- return /* @__PURE__ */ jsx19(
4181
+ return /* @__PURE__ */ jsx22(
4033
4182
  Modal3,
4034
4183
  {
4035
4184
  isOpen: showFullScreen,
@@ -4060,8 +4209,8 @@ var ShowMaterialMediaByContentType = ({
4060
4209
  }
4061
4210
  },
4062
4211
  contentLabel: "",
4063
- children: /* @__PURE__ */ jsxs11("div", { className: "flex-1 flex flex-col", children: [
4064
- /* @__PURE__ */ jsx19("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ jsx19(
4212
+ children: /* @__PURE__ */ jsxs13("div", { className: "flex-1 flex flex-col", children: [
4213
+ /* @__PURE__ */ jsx22("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ jsx22(
4065
4214
  BaseImage_default,
4066
4215
  {
4067
4216
  src: "/icons/cross-red.webp",
@@ -4073,7 +4222,7 @@ var ShowMaterialMediaByContentType = ({
4073
4222
  }
4074
4223
  }
4075
4224
  ) }),
4076
- /* @__PURE__ */ jsx19("div", { className: "flex items-center justify-center h-[500px]", children: /* @__PURE__ */ jsx19(
4225
+ /* @__PURE__ */ jsx22("div", { className: "flex items-center justify-center h-[500px]", children: /* @__PURE__ */ jsx22(
4077
4226
  BaseImage_default,
4078
4227
  {
4079
4228
  src: selectedFullScreenItem,
@@ -4086,14 +4235,14 @@ var ShowMaterialMediaByContentType = ({
4086
4235
  }
4087
4236
  );
4088
4237
  };
4089
- return contentType === "IMAGE" ? /* @__PURE__ */ jsxs11("div", { children: [
4238
+ return contentType === "IMAGE" ? /* @__PURE__ */ jsxs13("div", { children: [
4090
4239
  RenderShowFullScreenItem(),
4091
- /* @__PURE__ */ jsx19("div", { className: "my-2", children: /* @__PURE__ */ jsx19("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ jsxs11(
4240
+ /* @__PURE__ */ jsx22("div", { className: "my-2", children: /* @__PURE__ */ jsx22("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ jsxs13(
4092
4241
  "div",
4093
4242
  {
4094
4243
  className: `${isFullHeight ? "h-catchup-activity-box-item" : "max-w-catchup-activity-box-item"} flex flex-col justify-center items-center relative`,
4095
4244
  children: [
4096
- /* @__PURE__ */ jsx19(
4245
+ /* @__PURE__ */ jsx22(
4097
4246
  BaseImage_default,
4098
4247
  {
4099
4248
  src,
@@ -4106,7 +4255,7 @@ var ShowMaterialMediaByContentType = ({
4106
4255
  }
4107
4256
  }
4108
4257
  ),
4109
- src !== null && src !== "" && src !== "DEFAULT_OPTION" && canFullScreen ? /* @__PURE__ */ jsx19(
4258
+ src !== null && src !== "" && src !== "DEFAULT_OPTION" && canFullScreen ? /* @__PURE__ */ jsx22(
4110
4259
  "div",
4111
4260
  {
4112
4261
  className: "absolute flex items-center justify-center top-2 right-2 h-6 w-6 cursor-pointer border rounded-catchup-xlarge border-catchup-blue p-1",
@@ -4118,7 +4267,7 @@ var ShowMaterialMediaByContentType = ({
4118
4267
  setShowFullScreen(true);
4119
4268
  setSelectedFullScreenItem(src);
4120
4269
  },
4121
- children: /* @__PURE__ */ jsx19(
4270
+ children: /* @__PURE__ */ jsx22(
4122
4271
  BaseImage_default,
4123
4272
  {
4124
4273
  src: "/icons/arrow-up.webp",
@@ -4132,7 +4281,7 @@ var ShowMaterialMediaByContentType = ({
4132
4281
  ]
4133
4282
  }
4134
4283
  ) }) })
4135
- ] }, key) : contentType === "VIDEO" ? /* @__PURE__ */ jsx19("div", { className: "my-2", children: /* @__PURE__ */ jsx19("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ jsx19("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ jsx19(
4284
+ ] }, key) : contentType === "VIDEO" ? /* @__PURE__ */ jsx22("div", { className: "my-2", children: /* @__PURE__ */ jsx22("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ jsx22("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ jsx22(
4136
4285
  "video",
4137
4286
  {
4138
4287
  className: "h-catchup-activity-box-item rounded-catchup-xlarge",
@@ -4141,7 +4290,7 @@ var ShowMaterialMediaByContentType = ({
4141
4290
  onClick: () => {
4142
4291
  }
4143
4292
  }
4144
- ) }) }) }) : contentType === "AUDIO" ? /* @__PURE__ */ jsx19("div", { className: "my-2", children: /* @__PURE__ */ jsx19("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ jsx19("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ jsx19(
4293
+ ) }) }) }) : contentType === "AUDIO" ? /* @__PURE__ */ jsx22("div", { className: "my-2", children: /* @__PURE__ */ jsx22("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ jsx22("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ jsx22(
4145
4294
  "audio",
4146
4295
  {
4147
4296
  className: "h-catchup-activity-box-item rounded-catchup-xlarge",
@@ -4155,7 +4304,7 @@ var ShowMaterialMediaByContentType = ({
4155
4304
  var ShowMaterialMediaByContentType_default = ShowMaterialMediaByContentType;
4156
4305
 
4157
4306
  // src/components/activities/material-content/DropdownActivityMaterialContent.tsx
4158
- import { jsx as jsx20, jsxs as jsxs12 } from "react/jsx-runtime";
4307
+ import { jsx as jsx23, jsxs as jsxs14 } from "react/jsx-runtime";
4159
4308
  var DropdownActivityMaterialContent = ({
4160
4309
  uniqueValue,
4161
4310
  answer,
@@ -4166,8 +4315,8 @@ var DropdownActivityMaterialContent = ({
4166
4315
  isPreview,
4167
4316
  showCorrectAnswer
4168
4317
  }) => {
4169
- const [updated, setUpdated] = useState13(false);
4170
- useEffect4(() => {
4318
+ const [updated, setUpdated] = useState14(false);
4319
+ useEffect5(() => {
4171
4320
  if (!showCorrectAnswer) return;
4172
4321
  const foundAnswer = answer.data.find(
4173
4322
  (answerData) => answerData.type === "DROPDOWN"
@@ -4180,7 +4329,7 @@ var DropdownActivityMaterialContent = ({
4180
4329
  onChange(answer, 0, Object.keys(materialMap[0])[0]);
4181
4330
  setUpdated(true);
4182
4331
  }, [showCorrectAnswer]);
4183
- useEffect4(() => {
4332
+ useEffect5(() => {
4184
4333
  if (!updated) return;
4185
4334
  setUpdated(false);
4186
4335
  }, [updated]);
@@ -4198,22 +4347,22 @@ var DropdownActivityMaterialContent = ({
4198
4347
  return "INCORRECT";
4199
4348
  };
4200
4349
  const answerMap = retrieveAnswerMap();
4201
- return /* @__PURE__ */ jsxs12("div", { className: "flex flex-row flex-wrap items-center", children: [
4202
- /* @__PURE__ */ jsx20("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx20("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_dropdown_text") }) }),
4203
- /* @__PURE__ */ jsx20("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx20(DividerLine_default, {}) }),
4204
- /* @__PURE__ */ jsx20("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4350
+ return /* @__PURE__ */ jsxs14("div", { className: "flex flex-row flex-wrap items-center", children: [
4351
+ /* @__PURE__ */ jsx23("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx23("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_dropdown_text") }) }),
4352
+ /* @__PURE__ */ jsx23("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx23(DividerLine_default, {}) }),
4353
+ /* @__PURE__ */ jsx23("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4205
4354
  const answerKey = Object.keys(materialMap[materialKey])[0];
4206
4355
  const learnerAnswerState = checkAnswerState(
4207
4356
  answerKey,
4208
4357
  answerMap[materialKey]
4209
4358
  );
4210
- return /* @__PURE__ */ jsx20("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ jsx20("div", { className: "mx-2", children: /* @__PURE__ */ jsxs12("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4211
- /* @__PURE__ */ jsx20("div", { className: "my-auto", children: /* @__PURE__ */ jsxs12("p", { className: "text-xl", children: [
4359
+ return /* @__PURE__ */ jsx23("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ jsx23("div", { className: "mx-2", children: /* @__PURE__ */ jsxs14("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4360
+ /* @__PURE__ */ jsx23("div", { className: "my-auto", children: /* @__PURE__ */ jsxs14("p", { className: "text-xl", children: [
4212
4361
  parseFloat(materialKey) + 1,
4213
4362
  "."
4214
4363
  ] }) }),
4215
- /* @__PURE__ */ jsxs12("div", { className: "w-full relative", children: [
4216
- /* @__PURE__ */ jsx20("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsx20("div", { className: "flex-1", children: /* @__PURE__ */ jsx20(
4364
+ /* @__PURE__ */ jsxs14("div", { className: "w-full relative", children: [
4365
+ /* @__PURE__ */ jsx23("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsx23("div", { className: "flex-1", children: /* @__PURE__ */ jsx23(
4217
4366
  InputGroup_default,
4218
4367
  {
4219
4368
  type: "select",
@@ -4221,13 +4370,13 @@ var DropdownActivityMaterialContent = ({
4221
4370
  optionList: shuffleArray(
4222
4371
  materialMap[materialKey][answerKey]
4223
4372
  ).map((materialOption) => ({
4224
- text: /* @__PURE__ */ jsx20("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4373
+ text: /* @__PURE__ */ jsx23("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4225
4374
  materialOption
4226
- ).map((inputPart, index2) => /* @__PURE__ */ jsx20(
4375
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx23(
4227
4376
  "span",
4228
4377
  {
4229
4378
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4230
- children: inputPart.isEquation ? /* @__PURE__ */ jsx20("span", { className: "text-2xl", children: /* @__PURE__ */ jsx20(
4379
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx23("span", { className: "text-2xl", children: /* @__PURE__ */ jsx23(
4231
4380
  InlineMath2,
4232
4381
  {
4233
4382
  math: inputPart.value
@@ -4242,11 +4391,11 @@ var DropdownActivityMaterialContent = ({
4242
4391
  onChange(answer, materialKey, e.target.value);
4243
4392
  }
4244
4393
  }
4245
- ) }) : /* @__PURE__ */ jsx20(
4394
+ ) }) : /* @__PURE__ */ jsx23(
4246
4395
  MediaDropdown_default,
4247
4396
  {
4248
4397
  id: materialKey,
4249
- answer: answerMap[materialKey] === "DEFAULT_OPTION" ? /* @__PURE__ */ jsx20("div", { className: "w-catchup-activity-box-item border h-catchup-activity-box-item rounded-catchup-xlarge border-dashed border-catchup-blue", children: /* @__PURE__ */ jsx20("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ jsx20("span", { className: "italic", children: i18n_default.t("please_select") }) }) }) : /* @__PURE__ */ jsx20(
4398
+ answer: answerMap[materialKey] === "DEFAULT_OPTION" ? /* @__PURE__ */ jsx23("div", { className: "w-catchup-activity-box-item border h-catchup-activity-box-item rounded-catchup-xlarge border-dashed border-catchup-blue", children: /* @__PURE__ */ jsx23("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ jsx23("span", { className: "italic", children: i18n_default.t("please_select") }) }) }) : /* @__PURE__ */ jsx23(
4250
4399
  ShowMaterialMediaByContentType_default,
4251
4400
  {
4252
4401
  contentType: contentMap.type,
@@ -4258,7 +4407,7 @@ var DropdownActivityMaterialContent = ({
4258
4407
  optionList: materialMap[materialKey][answerKey].map(
4259
4408
  (materialOption, index2) => ({
4260
4409
  id: index2,
4261
- media: /* @__PURE__ */ jsx20("div", { children: /* @__PURE__ */ jsx20(
4410
+ media: /* @__PURE__ */ jsx23("div", { children: /* @__PURE__ */ jsx23(
4262
4411
  ShowMaterialMediaByContentType_default,
4263
4412
  {
4264
4413
  contentType: contentMap.type,
@@ -4277,24 +4426,24 @@ var DropdownActivityMaterialContent = ({
4277
4426
  })
4278
4427
  )
4279
4428
  }
4280
- ) : /* @__PURE__ */ jsx20("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4429
+ ) : /* @__PURE__ */ jsx23("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4281
4430
  answerMap[materialKey]
4282
- ).map((inputPart, index2) => /* @__PURE__ */ jsx20(
4431
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx23(
4283
4432
  "span",
4284
4433
  {
4285
4434
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4286
- children: inputPart.isEquation ? /* @__PURE__ */ jsx20("span", { className: "text-2xl", children: /* @__PURE__ */ jsx20(InlineMath2, { math: inputPart.value }) }) : inputPart.value
4435
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx23("span", { className: "text-2xl", children: /* @__PURE__ */ jsx23(InlineMath2, { math: inputPart.value }) }) : inputPart.value
4287
4436
  },
4288
4437
  index2
4289
4438
  )) }) }),
4290
- learnerAnswerState === "CORRECT" ? /* @__PURE__ */ jsx20("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ jsx20(
4439
+ learnerAnswerState === "CORRECT" ? /* @__PURE__ */ jsx23("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ jsx23(
4291
4440
  BaseImage_default,
4292
4441
  {
4293
4442
  src: "/icons/checkbox.webp",
4294
4443
  alt: "chekbbox",
4295
4444
  size: "small"
4296
4445
  }
4297
- ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ jsx20("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ jsx20(
4446
+ ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ jsx23("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ jsx23(
4298
4447
  BaseImage_default,
4299
4448
  {
4300
4449
  src: "/icons/cross-red.webp",
@@ -4310,8 +4459,8 @@ var DropdownActivityMaterialContent = ({
4310
4459
  var DropdownActivityMaterialContent_default = DropdownActivityMaterialContent;
4311
4460
 
4312
4461
  // src/components/activities/DropdownActivityContent.tsx
4313
- import { useState as useState14, useEffect as useEffect5 } from "react";
4314
- import { jsx as jsx21, jsxs as jsxs13 } from "react/jsx-runtime";
4462
+ import { useState as useState15, useEffect as useEffect6 } from "react";
4463
+ import { jsx as jsx24, jsxs as jsxs15 } from "react/jsx-runtime";
4315
4464
  var DropdownActivityContent = ({
4316
4465
  answer,
4317
4466
  data,
@@ -4324,7 +4473,7 @@ var DropdownActivityContent = ({
4324
4473
  const contentMap = parseContentMapFromData(data);
4325
4474
  const dropdownBodyMap = parseBodyMapFromData(data, "DROPDOWN");
4326
4475
  const dropdownMaterialMap = parseMaterialMapFromData(data, "DROPDOWN");
4327
- const [currentAnswerMap, setCurrentAnswerMap] = useState14(() => {
4476
+ const [currentAnswerMap, setCurrentAnswerMap] = useState15(() => {
4328
4477
  return retrieveCurrentAnswerMap();
4329
4478
  });
4330
4479
  function retrieveCurrentAnswerMap() {
@@ -4333,7 +4482,7 @@ var DropdownActivityContent = ({
4333
4482
  );
4334
4483
  return answer.data[foundIndex].answerMap;
4335
4484
  }
4336
- useEffect5(() => {
4485
+ useEffect6(() => {
4337
4486
  setCurrentAnswerMap(retrieveCurrentAnswerMap());
4338
4487
  }, [answer]);
4339
4488
  const handleDropdownAnswerOnChange = (answerObj, key, value) => {
@@ -4353,8 +4502,8 @@ var DropdownActivityContent = ({
4353
4502
  setCurrentAnswerMap(newAnswerMap);
4354
4503
  changeAnswer(newAnswer);
4355
4504
  };
4356
- return /* @__PURE__ */ jsxs13("div", { className: "flex flex-row flex-wrap", children: [
4357
- /* @__PURE__ */ jsx21("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx21(
4505
+ return /* @__PURE__ */ jsxs15("div", { className: "flex flex-row flex-wrap", children: [
4506
+ /* @__PURE__ */ jsx24("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx24(
4358
4507
  ActivityBodyContent_default,
4359
4508
  {
4360
4509
  bodyMap: dropdownBodyMap,
@@ -4363,9 +4512,9 @@ var DropdownActivityContent = ({
4363
4512
  templateType: "DROPDOWN"
4364
4513
  }
4365
4514
  ) }),
4366
- /* @__PURE__ */ jsx21("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx21(DividerLine_default, {}) }),
4367
- /* @__PURE__ */ jsx21("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx21(VerticalDividerLine_default, {}) }),
4368
- /* @__PURE__ */ jsx21("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx21(
4515
+ /* @__PURE__ */ jsx24("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx24(DividerLine_default, {}) }),
4516
+ /* @__PURE__ */ jsx24("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx24(VerticalDividerLine_default, {}) }),
4517
+ /* @__PURE__ */ jsx24("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx24(
4369
4518
  DropdownActivityMaterialContent_default,
4370
4519
  {
4371
4520
  uniqueValue: JSON.stringify(data.contentMap),
@@ -4384,13 +4533,13 @@ var DropdownActivityContent_default = DropdownActivityContent;
4384
4533
 
4385
4534
  // src/components/activities/material-content/FillInTheBlanksActivityMaterialContent.tsx
4386
4535
  import { InlineMath as InlineMath3 } from "react-katex";
4387
- import { useState as useState15 } from "react";
4388
- import { useEffect as useEffect6 } from "react";
4536
+ import { useState as useState16 } from "react";
4537
+ import { useEffect as useEffect7 } from "react";
4389
4538
  import { useDrop as useDrop2 } from "react-dnd";
4390
4539
 
4391
4540
  // src/components/dnds/DraggableItem.tsx
4392
4541
  import { useDrag } from "react-dnd";
4393
- import { jsx as jsx22 } from "react/jsx-runtime";
4542
+ import { jsx as jsx25 } from "react/jsx-runtime";
4394
4543
  var DraggableItem = ({
4395
4544
  key,
4396
4545
  item,
@@ -4412,11 +4561,11 @@ var DraggableItem = ({
4412
4561
  })
4413
4562
  });
4414
4563
  const opacity = isDragging ? 0.4 : 1;
4415
- return /* @__PURE__ */ jsx22(
4564
+ return /* @__PURE__ */ jsx25(
4416
4565
  "div",
4417
4566
  {
4418
4567
  className: `${isDragging ? "w-[0px] opacity-0" : "opacity-100"} transition-all duration-500`,
4419
- children: /* @__PURE__ */ jsx22("div", { ref: drag, className: "", style: { opacity }, children: component })
4568
+ children: /* @__PURE__ */ jsx25("div", { ref: drag, className: "", style: { opacity }, children: component })
4420
4569
  },
4421
4570
  key
4422
4571
  );
@@ -4426,7 +4575,7 @@ var DraggableItem_default = DraggableItem;
4426
4575
  // src/components/dnds/DroppableItem.tsx
4427
4576
  import { useRef as useRef3 } from "react";
4428
4577
  import { useDrop } from "react-dnd";
4429
- import { jsx as jsx23 } from "react/jsx-runtime";
4578
+ import { jsx as jsx26 } from "react/jsx-runtime";
4430
4579
  var DroppableItem = ({
4431
4580
  key,
4432
4581
  item,
@@ -4446,7 +4595,7 @@ var DroppableItem = ({
4446
4595
  }
4447
4596
  });
4448
4597
  dropRef(drop(ref));
4449
- return /* @__PURE__ */ jsx23(
4598
+ return /* @__PURE__ */ jsx26(
4450
4599
  "div",
4451
4600
  {
4452
4601
  className: `w-full transition-all duration-500 h-full`,
@@ -4459,7 +4608,7 @@ var DroppableItem = ({
4459
4608
  var DroppableItem_default = DroppableItem;
4460
4609
 
4461
4610
  // src/components/activities/material-content/FillInTheBlanksActivityMaterialContent.tsx
4462
- import { jsx as jsx24, jsxs as jsxs14 } from "react/jsx-runtime";
4611
+ import { jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
4463
4612
  var FillInTheBlanksActivityMaterialContent = ({
4464
4613
  uniqueValue,
4465
4614
  answer,
@@ -4471,9 +4620,9 @@ var FillInTheBlanksActivityMaterialContent = ({
4471
4620
  isPreview,
4472
4621
  showCorrectAnswer
4473
4622
  }) => {
4474
- const [shuffleOptionList, setShuffleOptionList] = useState15([]);
4475
- const [selectedOption, setSelectedOption] = useState15(null);
4476
- const [pasteOptionIndex, setPasteOptionIndex] = useState15(null);
4623
+ const [shuffleOptionList, setShuffleOptionList] = useState16([]);
4624
+ const [selectedOption, setSelectedOption] = useState16(null);
4625
+ const [pasteOptionIndex, setPasteOptionIndex] = useState16(null);
4477
4626
  const [{ isOver, canDrop }, drop] = useDrop2({
4478
4627
  accept: "FILL_IN_THE_BLANKS",
4479
4628
  drop: () => {
@@ -4483,10 +4632,10 @@ var FillInTheBlanksActivityMaterialContent = ({
4483
4632
  canDrop: monitor.canDrop()
4484
4633
  })
4485
4634
  });
4486
- useEffect6(() => {
4635
+ useEffect7(() => {
4487
4636
  setShuffleOptionList(shuffleArray(optionList));
4488
4637
  }, []);
4489
- useEffect6(() => {
4638
+ useEffect7(() => {
4490
4639
  if (!showCorrectAnswer) return;
4491
4640
  const foundAnswer = answer.data.find(
4492
4641
  (answerData) => answerData.type === "FILL_IN_THE_BLANKS"
@@ -4518,12 +4667,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4518
4667
  return Object.keys(answerMap2).findIndex((key) => answerMap2[key] === option) !== -1;
4519
4668
  };
4520
4669
  const answerMap = retrieveAnswerMap();
4521
- return /* @__PURE__ */ jsxs14("div", { className: "flex flex-row flex-wrap items-center", onMouseUp: () => {
4670
+ return /* @__PURE__ */ jsxs16("div", { className: "flex flex-row flex-wrap items-center", onMouseUp: () => {
4522
4671
  }, children: [
4523
- /* @__PURE__ */ jsx24("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx24("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4524
- /* @__PURE__ */ jsx24("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx24(DividerLine_default, {}) }),
4525
- /* @__PURE__ */ jsx24("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4526
- (option, index) => checkAnswerProvided(answerMap, option) ? /* @__PURE__ */ jsx24("div", { className: "opacity-30", children: /* @__PURE__ */ jsx24(
4672
+ /* @__PURE__ */ jsx27("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx27("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4673
+ /* @__PURE__ */ jsx27("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx27(DividerLine_default, {}) }),
4674
+ /* @__PURE__ */ jsx27("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4675
+ (option, index) => checkAnswerProvided(answerMap, option) ? /* @__PURE__ */ jsx27("div", { className: "opacity-30", children: /* @__PURE__ */ jsx27(
4527
4676
  ShowMaterialMediaByContentType_default,
4528
4677
  {
4529
4678
  contentType: contentMap.type,
@@ -4531,12 +4680,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4531
4680
  canFullScreen: true
4532
4681
  },
4533
4682
  `${uniqueValue}-${index}`
4534
- ) }, index) : /* @__PURE__ */ jsx24(
4683
+ ) }, index) : /* @__PURE__ */ jsx27(
4535
4684
  DraggableItem_default,
4536
4685
  {
4537
4686
  item: { index: option },
4538
4687
  type: "FILL_IN_THE_BLANKS",
4539
- component: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx24(
4688
+ component: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx27(
4540
4689
  "div",
4541
4690
  {
4542
4691
  className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer",
@@ -4544,9 +4693,9 @@ var FillInTheBlanksActivityMaterialContent = ({
4544
4693
  setSelectedOption(option);
4545
4694
  setPasteOptionIndex(null);
4546
4695
  },
4547
- children: /* @__PURE__ */ jsx24("p", { className: "italic whitespace-pre-wrap", children: option })
4696
+ children: /* @__PURE__ */ jsx27("p", { className: "italic whitespace-pre-wrap", children: option })
4548
4697
  }
4549
- ) : /* @__PURE__ */ jsx24(
4698
+ ) : /* @__PURE__ */ jsx27(
4550
4699
  "div",
4551
4700
  {
4552
4701
  className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer",
@@ -4554,7 +4703,7 @@ var FillInTheBlanksActivityMaterialContent = ({
4554
4703
  setSelectedOption(option);
4555
4704
  setPasteOptionIndex(null);
4556
4705
  },
4557
- children: /* @__PURE__ */ jsx24(
4706
+ children: /* @__PURE__ */ jsx27(
4558
4707
  ShowMaterialMediaByContentType_default,
4559
4708
  {
4560
4709
  contentType: contentMap.type,
@@ -4572,12 +4721,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4572
4721
  index
4573
4722
  )
4574
4723
  ) }),
4575
- /* @__PURE__ */ jsx24("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4724
+ /* @__PURE__ */ jsx27("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4576
4725
  const learnerAnswerState = checkAnswerState(
4577
4726
  JSON.parse(materialMap[materialKey]),
4578
4727
  answerMap[materialKey]
4579
4728
  );
4580
- return /* @__PURE__ */ jsx24("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ jsx24("div", { className: "mx-2", children: /* @__PURE__ */ jsx24(
4729
+ return /* @__PURE__ */ jsx27("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ jsx27("div", { className: "mx-2", children: /* @__PURE__ */ jsx27(
4581
4730
  DroppableItem_default,
4582
4731
  {
4583
4732
  item: { index },
@@ -4585,13 +4734,13 @@ var FillInTheBlanksActivityMaterialContent = ({
4585
4734
  target: pasteOptionIndex,
4586
4735
  setTarget: setPasteOptionIndex,
4587
4736
  dropRef: drop,
4588
- component: /* @__PURE__ */ jsxs14("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4589
- /* @__PURE__ */ jsx24("div", { className: "my-auto", children: /* @__PURE__ */ jsxs14("p", { className: "text-xl", children: [
4737
+ component: /* @__PURE__ */ jsxs16("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4738
+ /* @__PURE__ */ jsx27("div", { className: "my-auto", children: /* @__PURE__ */ jsxs16("p", { className: "text-xl", children: [
4590
4739
  parseFloat(materialKey) + 1,
4591
4740
  "."
4592
4741
  ] }) }),
4593
- /* @__PURE__ */ jsx24("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsxs14("div", { className: "relative", children: [
4594
- /* @__PURE__ */ jsx24("div", { className: "flex-1", children: /* @__PURE__ */ jsx24(
4742
+ /* @__PURE__ */ jsx27("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsxs16("div", { className: "relative", children: [
4743
+ /* @__PURE__ */ jsx27("div", { className: "flex-1", children: /* @__PURE__ */ jsx27(
4595
4744
  InputGroup_default,
4596
4745
  {
4597
4746
  type: "textarea",
@@ -4606,14 +4755,14 @@ var FillInTheBlanksActivityMaterialContent = ({
4606
4755
  }
4607
4756
  }
4608
4757
  ) }),
4609
- learnerAnswerState === "CORRECT" ? /* @__PURE__ */ jsx24("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ jsx24(
4758
+ learnerAnswerState === "CORRECT" ? /* @__PURE__ */ jsx27("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ jsx27(
4610
4759
  BaseImage_default,
4611
4760
  {
4612
4761
  src: "/icons/checkbox.webp",
4613
4762
  alt: "checkbox",
4614
4763
  size: "small"
4615
4764
  }
4616
- ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ jsx24("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ jsx24(
4765
+ ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ jsx27("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ jsx27(
4617
4766
  BaseImage_default,
4618
4767
  {
4619
4768
  src: "/icons/cross-red.webp",
@@ -4621,20 +4770,20 @@ var FillInTheBlanksActivityMaterialContent = ({
4621
4770
  size: "small"
4622
4771
  }
4623
4772
  ) }) : null
4624
- ] }) : answerMap[materialKey] === "" ? /* @__PURE__ */ jsx24(
4773
+ ] }) : answerMap[materialKey] === "" ? /* @__PURE__ */ jsx27(
4625
4774
  "div",
4626
4775
  {
4627
4776
  className: `w-catchup-activity-box-item border h-catchup-activity-box-item rounded-catchup-xlarge border-dashed ${learnerAnswerState === "CORRECT" ? "border-catchup-green" : learnerAnswerState === "INCORRECT" ? "border-catchup-red" : "border-catchup-blue"}`,
4628
- children: /* @__PURE__ */ jsx24("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ jsx24("span", { className: "italic", children: i18n_default.t("please_drop_here") }) })
4777
+ children: /* @__PURE__ */ jsx27("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ jsx27("span", { className: "italic", children: i18n_default.t("please_drop_here") }) })
4629
4778
  }
4630
- ) : /* @__PURE__ */ jsx24(
4779
+ ) : /* @__PURE__ */ jsx27(
4631
4780
  "div",
4632
4781
  {
4633
4782
  className: "flex-1 cursor-pointer",
4634
4783
  onClick: () => {
4635
4784
  onChange(answer, materialKey, "");
4636
4785
  },
4637
- children: /* @__PURE__ */ jsx24(
4786
+ children: /* @__PURE__ */ jsx27(
4638
4787
  ShowMaterialMediaByContentType_default,
4639
4788
  {
4640
4789
  contentType: contentMap.type,
@@ -4644,13 +4793,13 @@ var FillInTheBlanksActivityMaterialContent = ({
4644
4793
  `${uniqueValue}-${index}`
4645
4794
  )
4646
4795
  }
4647
- ) : /* @__PURE__ */ jsx24("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
4796
+ ) : /* @__PURE__ */ jsx27("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
4648
4797
  answerMap[materialKey]
4649
- ).map((inputPart, index2) => /* @__PURE__ */ jsx24(
4798
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx27(
4650
4799
  "span",
4651
4800
  {
4652
4801
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4653
- children: inputPart.isEquation ? /* @__PURE__ */ jsx24("span", { className: "text-2xl", children: /* @__PURE__ */ jsx24(InlineMath3, { math: inputPart.value }) }) : inputPart.value
4802
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx27("span", { className: "text-2xl", children: /* @__PURE__ */ jsx27(InlineMath3, { math: inputPart.value }) }) : inputPart.value
4654
4803
  },
4655
4804
  index2
4656
4805
  )) }, materialKey) })
@@ -4664,8 +4813,8 @@ var FillInTheBlanksActivityMaterialContent = ({
4664
4813
  var FillInTheBlanksActivityMaterialContent_default = FillInTheBlanksActivityMaterialContent;
4665
4814
 
4666
4815
  // src/components/activities/FillInTheBlanksActivityContent.tsx
4667
- import { useState as useState16, useEffect as useEffect7 } from "react";
4668
- import { jsx as jsx25, jsxs as jsxs15 } from "react/jsx-runtime";
4816
+ import { useState as useState17, useEffect as useEffect8 } from "react";
4817
+ import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
4669
4818
  var FillInTheBlanksActivityContent = ({
4670
4819
  answer,
4671
4820
  data,
@@ -4685,7 +4834,7 @@ var FillInTheBlanksActivityContent = ({
4685
4834
  "FILL_IN_THE_BLANKS"
4686
4835
  );
4687
4836
  const fillInTheBlanksIncorrectList = data.fillInTheBlanksIncorrectList ? JSON.parse(data.fillInTheBlanksIncorrectList) : [];
4688
- const [currentAnswerMap, setCurrentAnswerMap] = useState16(() => {
4837
+ const [currentAnswerMap, setCurrentAnswerMap] = useState17(() => {
4689
4838
  return retrieveCurrentAnswerMap();
4690
4839
  });
4691
4840
  function retrieveCurrentAnswerMap() {
@@ -4694,7 +4843,7 @@ var FillInTheBlanksActivityContent = ({
4694
4843
  );
4695
4844
  return answer.data[foundIndex].answerMap;
4696
4845
  }
4697
- useEffect7(() => {
4846
+ useEffect8(() => {
4698
4847
  setCurrentAnswerMap(retrieveCurrentAnswerMap());
4699
4848
  }, [answer]);
4700
4849
  const constructAnswerOptionList = () => {
@@ -4732,8 +4881,8 @@ var FillInTheBlanksActivityContent = ({
4732
4881
  setCurrentAnswerMap(newAnswerMap);
4733
4882
  changeAnswer(newAnswer);
4734
4883
  };
4735
- return /* @__PURE__ */ jsxs15("div", { className: "flex flex-row flex-wrap", children: [
4736
- /* @__PURE__ */ jsx25("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx25(
4884
+ return /* @__PURE__ */ jsxs17("div", { className: "flex flex-row flex-wrap", children: [
4885
+ /* @__PURE__ */ jsx28("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx28(
4737
4886
  ActivityBodyContent_default,
4738
4887
  {
4739
4888
  bodyMap: fillInTheBlanksBodyMap,
@@ -4742,9 +4891,9 @@ var FillInTheBlanksActivityContent = ({
4742
4891
  templateType: "FILL_IN_THE_BLANKS"
4743
4892
  }
4744
4893
  ) }),
4745
- /* @__PURE__ */ jsx25("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx25(DividerLine_default, {}) }),
4746
- /* @__PURE__ */ jsx25("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx25(VerticalDividerLine_default, {}) }),
4747
- /* @__PURE__ */ jsx25("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx25(
4894
+ /* @__PURE__ */ jsx28("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx28(DividerLine_default, {}) }),
4895
+ /* @__PURE__ */ jsx28("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx28(VerticalDividerLine_default, {}) }),
4896
+ /* @__PURE__ */ jsx28("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx28(
4748
4897
  FillInTheBlanksActivityMaterialContent_default,
4749
4898
  {
4750
4899
  uniqueValue: JSON.stringify(data.contentMap),
@@ -4763,22 +4912,22 @@ var FillInTheBlanksActivityContent = ({
4763
4912
  var FillInTheBlanksActivityContent_default = FillInTheBlanksActivityContent;
4764
4913
 
4765
4914
  // src/components/activities/material-content/GroupingActivityMaterialContent.tsx
4766
- import { useEffect as useEffect9, useRef as useRef4, useState as useState18 } from "react";
4915
+ import { useEffect as useEffect10, useRef as useRef4, useState as useState19 } from "react";
4767
4916
  import { useDrop as useDrop3 } from "react-dnd";
4768
4917
  import { InlineMath as InlineMath4 } from "react-katex";
4769
4918
 
4770
4919
  // src/hooks/useScreenSize.ts
4771
- import { useState as useState17, useEffect as useEffect8 } from "react";
4920
+ import { useState as useState18, useEffect as useEffect9 } from "react";
4772
4921
  var useScreenSize = () => {
4773
- const [containerSize, setContainerSize] = useState17({
4922
+ const [containerSize, setContainerSize] = useState18({
4774
4923
  width: 0,
4775
4924
  height: 0
4776
4925
  });
4777
- const [screenSize, setScreenSize] = useState17({
4926
+ const [screenSize, setScreenSize] = useState18({
4778
4927
  width: window.innerWidth,
4779
4928
  height: window.innerHeight
4780
4929
  });
4781
- useEffect8(() => {
4930
+ useEffect9(() => {
4782
4931
  const handleResize = () => {
4783
4932
  setScreenSize({
4784
4933
  width: window.innerWidth,
@@ -4803,7 +4952,7 @@ var useScreenSize = () => {
4803
4952
  var useScreenSize_default = useScreenSize;
4804
4953
 
4805
4954
  // src/components/activities/material-content/GroupingActivityMaterialContent.tsx
4806
- import { Fragment as Fragment2, jsx as jsx26, jsxs as jsxs16 } from "react/jsx-runtime";
4955
+ import { Fragment as Fragment2, jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
4807
4956
  var GroupingActivityMaterialContent = ({
4808
4957
  uniqueValue,
4809
4958
  answer,
@@ -4814,10 +4963,10 @@ var GroupingActivityMaterialContent = ({
4814
4963
  isPreview,
4815
4964
  showCorrectAnswer
4816
4965
  }) => {
4817
- const [selectedValue, setSelectedValue] = useState18(null);
4818
- const [selectedTargetKey, setSelectedTargetKey] = useState18(null);
4819
- const [isShuffled, setIsShuffled] = useState18(false);
4820
- const [shuffledMaterialList, setShuffledMaterialList] = useState18([]);
4966
+ const [selectedValue, setSelectedValue] = useState19(null);
4967
+ const [selectedTargetKey, setSelectedTargetKey] = useState19(null);
4968
+ const [isShuffled, setIsShuffled] = useState19(false);
4969
+ const [shuffledMaterialList, setShuffledMaterialList] = useState19([]);
4821
4970
  const { screenSize, containerSize } = useScreenSize_default();
4822
4971
  const [{ isOver, canDrop }, drop] = useDrop3({
4823
4972
  accept: "GROUPING",
@@ -4830,14 +4979,14 @@ var GroupingActivityMaterialContent = ({
4830
4979
  });
4831
4980
  const ref = useRef4(null);
4832
4981
  const itemsRef = useRef4(null);
4833
- const [maxWidth, setMaxWidth] = useState18(0);
4834
- useEffect9(() => {
4982
+ const [maxWidth, setMaxWidth] = useState19(0);
4983
+ useEffect10(() => {
4835
4984
  if (!ref) return;
4836
4985
  if (!ref.current) return;
4837
4986
  if (!screenSize) return;
4838
4987
  setMaxWidth(ref.current.offsetWidth - 12);
4839
4988
  }, [ref, screenSize]);
4840
- useEffect9(() => {
4989
+ useEffect10(() => {
4841
4990
  const shuffleArray2 = (array) => {
4842
4991
  if (!isShuffled) {
4843
4992
  const copyArray = JSON.parse(JSON.stringify(array));
@@ -4858,7 +5007,7 @@ var GroupingActivityMaterialContent = ({
4858
5007
  });
4859
5008
  setShuffledMaterialList(shuffleArray2(materialList));
4860
5009
  }, []);
4861
- useEffect9(() => {
5010
+ useEffect10(() => {
4862
5011
  if (!showCorrectAnswer) return;
4863
5012
  answer.data.find(
4864
5013
  (answerData) => answerData.type === "GROUPING"
@@ -4902,19 +5051,19 @@ var GroupingActivityMaterialContent = ({
4902
5051
  };
4903
5052
  const answerMap = retrieveAnswerMap();
4904
5053
  const filteredMaterialList = retrieveFilteredMaterialList(answerMap);
4905
- return /* @__PURE__ */ jsxs16(Fragment2, { children: [
4906
- /* @__PURE__ */ jsx26(
5054
+ return /* @__PURE__ */ jsxs18(Fragment2, { children: [
5055
+ /* @__PURE__ */ jsx29(
4907
5056
  "div",
4908
5057
  {
4909
5058
  ref: itemsRef,
4910
5059
  className: "flex-1 flex flex-row gap-x-4 gap-y-4 overflow-auto py-2",
4911
5060
  children: filteredMaterialList.map((materialValue, index) => {
4912
- return /* @__PURE__ */ jsx26(
5061
+ return /* @__PURE__ */ jsx29(
4913
5062
  DraggableItem_default,
4914
5063
  {
4915
5064
  item: { index: materialValue },
4916
5065
  type: "GROUPING",
4917
- component: /* @__PURE__ */ jsx26(
5066
+ component: /* @__PURE__ */ jsx29(
4918
5067
  "div",
4919
5068
  {
4920
5069
  className: `${selectedValue === materialValue ? "border-catchup-blue" : "border-catchup-lighter-gray"} h-catchup-activity-covering-box-item flex flex-col items-center justify-center border-2 rounded-catchup-xlarge cursor-pointer transition-all duration-300`,
@@ -4928,22 +5077,22 @@ var GroupingActivityMaterialContent = ({
4928
5077
  setSelectedValue(null);
4929
5078
  }
4930
5079
  },
4931
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx26(
5080
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx29(
4932
5081
  "div",
4933
5082
  {
4934
5083
  className: `flex flex-col items-center justify-center m-4 min-h-[64px] min-w-[200px]`,
4935
- children: /* @__PURE__ */ jsx26("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5084
+ children: /* @__PURE__ */ jsx29("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4936
5085
  materialValue
4937
- ).map((inputPart, index2) => /* @__PURE__ */ jsx26(
5086
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx29(
4938
5087
  "span",
4939
5088
  {
4940
5089
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4941
- children: inputPart.isEquation ? /* @__PURE__ */ jsx26("span", { className: "text-2xl", children: /* @__PURE__ */ jsx26(InlineMath4, { math: inputPart.value }) }) : inputPart.value
5090
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx29("span", { className: "text-2xl", children: /* @__PURE__ */ jsx29(InlineMath4, { math: inputPart.value }) }) : inputPart.value
4942
5091
  },
4943
5092
  index2
4944
5093
  )) })
4945
5094
  }
4946
- ) : /* @__PURE__ */ jsx26(
5095
+ ) : /* @__PURE__ */ jsx29(
4947
5096
  ShowMaterialMediaByContentType_default,
4948
5097
  {
4949
5098
  contentType: contentMap.type,
@@ -4968,22 +5117,22 @@ var GroupingActivityMaterialContent = ({
4968
5117
  })
4969
5118
  }
4970
5119
  ),
4971
- filteredMaterialList.length > 0 ? /* @__PURE__ */ jsx26(DividerLine_default, {}) : null,
4972
- Object.keys(answerMap).map((answerMapKey, index) => /* @__PURE__ */ jsxs16("div", { className: "flex flex-row w-full", children: [
4973
- /* @__PURE__ */ jsx26("div", { className: "w-1/3", children: /* @__PURE__ */ jsx26(
5120
+ filteredMaterialList.length > 0 ? /* @__PURE__ */ jsx29(DividerLine_default, {}) : null,
5121
+ Object.keys(answerMap).map((answerMapKey, index) => /* @__PURE__ */ jsxs18("div", { className: "flex flex-row w-full", children: [
5122
+ /* @__PURE__ */ jsx29("div", { className: "w-1/3", children: /* @__PURE__ */ jsx29(
4974
5123
  "div",
4975
5124
  {
4976
5125
  className: `border-catchup-blue h-catchup-activity-outer-box-item flex flex-col items-center justify-center border-2 rounded-catchup-xlarge transition-all duration-300 my-3`,
4977
- children: /* @__PURE__ */ jsx26(
5126
+ children: /* @__PURE__ */ jsx29(
4978
5127
  "div",
4979
5128
  {
4980
5129
  className: `flex flex-col items-center justify-center transition-all duration-300 m-4`,
4981
- children: /* @__PURE__ */ jsx26("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
4982
- (inputPart, index2) => /* @__PURE__ */ jsx26(
5130
+ children: /* @__PURE__ */ jsx29("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5131
+ (inputPart, index2) => /* @__PURE__ */ jsx29(
4983
5132
  "span",
4984
5133
  {
4985
5134
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4986
- children: inputPart.isEquation ? /* @__PURE__ */ jsx26("span", { className: "text-2xl", children: /* @__PURE__ */ jsx26(InlineMath4, { math: inputPart.value }) }) : inputPart.value
5135
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx29("span", { className: "text-2xl", children: /* @__PURE__ */ jsx29(InlineMath4, { math: inputPart.value }) }) : inputPart.value
4987
5136
  },
4988
5137
  index2
4989
5138
  )
@@ -4992,12 +5141,12 @@ var GroupingActivityMaterialContent = ({
4992
5141
  )
4993
5142
  }
4994
5143
  ) }),
4995
- /* @__PURE__ */ jsx26("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
4996
- /* @__PURE__ */ jsx26("div", { className: "flex-1", ref, children: /* @__PURE__ */ jsx26("div", { className: "h-full py-3", children: /* @__PURE__ */ jsx26(
5144
+ /* @__PURE__ */ jsx29("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5145
+ /* @__PURE__ */ jsx29("div", { className: "flex-1", ref, children: /* @__PURE__ */ jsx29("div", { className: "h-full py-3", children: /* @__PURE__ */ jsx29(
4997
5146
  "div",
4998
5147
  {
4999
5148
  className: `${canDrop ? selectedTargetKey === answerMapKey ? "bg-catchup-light-blue" : "bg-catchup-light-blue opacity-40" : ""} flex-1 border-catchup-blue rounded-catchup-xlarge border-2 h-full p-1`,
5000
- children: /* @__PURE__ */ jsx26(
5149
+ children: /* @__PURE__ */ jsx29(
5001
5150
  DroppableItem_default,
5002
5151
  {
5003
5152
  item: { index: answerMapKey },
@@ -5005,7 +5154,7 @@ var GroupingActivityMaterialContent = ({
5005
5154
  target: selectedTargetKey,
5006
5155
  setTarget: setSelectedTargetKey,
5007
5156
  dropRef: drop,
5008
- component: /* @__PURE__ */ jsx26(
5157
+ component: /* @__PURE__ */ jsx29(
5009
5158
  "div",
5010
5159
  {
5011
5160
  className: "h-full flex-1 flex flex-row items-center overflow-x-auto",
@@ -5018,7 +5167,7 @@ var GroupingActivityMaterialContent = ({
5018
5167
  materialMap[answerMapKey],
5019
5168
  answerMapValue
5020
5169
  );
5021
- return /* @__PURE__ */ jsx26("div", { className: "p-1", children: /* @__PURE__ */ jsx26("div", { className: "h-catchup-activity-box-item", children: /* @__PURE__ */ jsx26(
5170
+ return /* @__PURE__ */ jsx29("div", { className: "p-1", children: /* @__PURE__ */ jsx29("div", { className: "h-catchup-activity-box-item", children: /* @__PURE__ */ jsx29(
5022
5171
  "div",
5023
5172
  {
5024
5173
  className: `${learnerAnswerState === "EMPTY" ? "border-catchup-lighter-gray" : learnerAnswerState === "CORRECT" ? "border-catchup-green" : learnerAnswerState === "INCORRECT" ? "border-catchup-red" : "border-catchup-blue"} border-2 rounded-catchup-xlarge h-full flex flex-col items-center justify-center transition-all duration-300 cursor-pointer`,
@@ -5034,17 +5183,17 @@ var GroupingActivityMaterialContent = ({
5034
5183
  setSelectedValue(null);
5035
5184
  }
5036
5185
  },
5037
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx26(
5186
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx29(
5038
5187
  "div",
5039
5188
  {
5040
5189
  className: `flex flex-col items-center justify-center transition-all duration-300 min-h-[64px] min-w-[200px]`,
5041
- children: /* @__PURE__ */ jsx26("div", { className: "m-2", children: /* @__PURE__ */ jsx26("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5190
+ children: /* @__PURE__ */ jsx29("div", { className: "m-2", children: /* @__PURE__ */ jsx29("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5042
5191
  answerMapValue
5043
- ).map((inputPart, index2) => /* @__PURE__ */ jsx26(
5192
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx29(
5044
5193
  "span",
5045
5194
  {
5046
5195
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5047
- children: inputPart.isEquation ? /* @__PURE__ */ jsx26("span", { className: "text-2xl", children: /* @__PURE__ */ jsx26(
5196
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx29("span", { className: "text-2xl", children: /* @__PURE__ */ jsx29(
5048
5197
  InlineMath4,
5049
5198
  {
5050
5199
  math: inputPart.value
@@ -5054,7 +5203,7 @@ var GroupingActivityMaterialContent = ({
5054
5203
  index2
5055
5204
  )) }) })
5056
5205
  }
5057
- ) : /* @__PURE__ */ jsx26(
5206
+ ) : /* @__PURE__ */ jsx29(
5058
5207
  ShowMaterialMediaByContentType_default,
5059
5208
  {
5060
5209
  contentType: contentMap.type,
@@ -5080,7 +5229,7 @@ var GroupingActivityMaterialContent = ({
5080
5229
  var GroupingActivityMaterialContent_default = GroupingActivityMaterialContent;
5081
5230
 
5082
5231
  // src/components/activities/GroupingActivityContent.tsx
5083
- import { Fragment as Fragment3, jsx as jsx27, jsxs as jsxs17 } from "react/jsx-runtime";
5232
+ import { Fragment as Fragment3, jsx as jsx30, jsxs as jsxs19 } from "react/jsx-runtime";
5084
5233
  var GroupingActivityContent = ({
5085
5234
  answer,
5086
5235
  data,
@@ -5105,16 +5254,16 @@ var GroupingActivityContent = ({
5105
5254
  }
5106
5255
  changeAnswer(answer2);
5107
5256
  };
5108
- return /* @__PURE__ */ jsxs17(Fragment3, { children: [
5109
- /* @__PURE__ */ jsx27(
5257
+ return /* @__PURE__ */ jsxs19(Fragment3, { children: [
5258
+ /* @__PURE__ */ jsx30(
5110
5259
  ActivityBodyContent_default,
5111
5260
  {
5112
5261
  bodyMap: groupingBodyMap,
5113
5262
  templateType: "GROUPING"
5114
5263
  }
5115
5264
  ),
5116
- /* @__PURE__ */ jsx27(DividerLine_default, {}),
5117
- /* @__PURE__ */ jsx27(
5265
+ /* @__PURE__ */ jsx30(DividerLine_default, {}),
5266
+ /* @__PURE__ */ jsx30(
5118
5267
  GroupingActivityMaterialContent_default,
5119
5268
  {
5120
5269
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5132,10 +5281,10 @@ var GroupingActivityContent = ({
5132
5281
  var GroupingActivityContent_default = GroupingActivityContent;
5133
5282
 
5134
5283
  // src/components/activities/material-content/MatchingActivityMaterialContent.tsx
5135
- import { useEffect as useEffect10, useRef as useRef5, useState as useState19 } from "react";
5284
+ import { useEffect as useEffect11, useRef as useRef5, useState as useState20 } from "react";
5136
5285
  import { useDrop as useDrop4 } from "react-dnd";
5137
5286
  import { InlineMath as InlineMath5 } from "react-katex";
5138
- import { Fragment as Fragment4, jsx as jsx28, jsxs as jsxs18 } from "react/jsx-runtime";
5287
+ import { Fragment as Fragment4, jsx as jsx31, jsxs as jsxs20 } from "react/jsx-runtime";
5139
5288
  var MatchingActivityMaterialContent = ({
5140
5289
  uniqueValue,
5141
5290
  answer,
@@ -5146,10 +5295,10 @@ var MatchingActivityMaterialContent = ({
5146
5295
  isPreview,
5147
5296
  showCorrectAnswer
5148
5297
  }) => {
5149
- const [selectedValue, setSelectedValue] = useState19(null);
5150
- const [selectedTargetKey, setSelectedTargetKey] = useState19(null);
5151
- const [isShuffled, setIsShuffled] = useState19(false);
5152
- const [shuffledMaterialList, setShuffledMaterialList] = useState19([]);
5298
+ const [selectedValue, setSelectedValue] = useState20(null);
5299
+ const [selectedTargetKey, setSelectedTargetKey] = useState20(null);
5300
+ const [isShuffled, setIsShuffled] = useState20(false);
5301
+ const [shuffledMaterialList, setShuffledMaterialList] = useState20([]);
5153
5302
  const [{ isOver, canDrop }, drop] = useDrop4({
5154
5303
  accept: "MATCHING",
5155
5304
  drop: () => {
@@ -5161,7 +5310,7 @@ var MatchingActivityMaterialContent = ({
5161
5310
  });
5162
5311
  const { containerSize } = useScreenSize_default();
5163
5312
  const itemsRef = useRef5(null);
5164
- useEffect10(() => {
5313
+ useEffect11(() => {
5165
5314
  const shuffleArray2 = (array) => {
5166
5315
  if (!isShuffled) {
5167
5316
  const copyArray = JSON.parse(JSON.stringify(array));
@@ -5180,13 +5329,13 @@ var MatchingActivityMaterialContent = ({
5180
5329
  });
5181
5330
  setShuffledMaterialList(shuffleArray2(materialList));
5182
5331
  }, []);
5183
- useEffect10(() => {
5332
+ useEffect11(() => {
5184
5333
  if (!showCorrectAnswer) return;
5185
5334
  answer.data.find(
5186
5335
  (answerData) => answerData.type === "MATCHING"
5187
5336
  ).answerMap = materialMap;
5188
5337
  }, [showCorrectAnswer]);
5189
- useEffect10(() => {
5338
+ useEffect11(() => {
5190
5339
  if (!itemsRef) return;
5191
5340
  if (!itemsRef.current) return;
5192
5341
  if (!containerSize) return;
@@ -5231,18 +5380,18 @@ var MatchingActivityMaterialContent = ({
5231
5380
  };
5232
5381
  const answerMap = retrieveAnswerMap();
5233
5382
  const filteredMaterialList = retrieveFilteredMaterialList(answerMap);
5234
- return /* @__PURE__ */ jsxs18(Fragment4, { children: [
5235
- /* @__PURE__ */ jsx28(
5383
+ return /* @__PURE__ */ jsxs20(Fragment4, { children: [
5384
+ /* @__PURE__ */ jsx31(
5236
5385
  "div",
5237
5386
  {
5238
5387
  ref: itemsRef,
5239
5388
  className: "flex-1 flex flex-row gap-x-4 gap-y-4 overflow-auto py-2",
5240
- children: filteredMaterialList.map((materialValue, index) => /* @__PURE__ */ jsx28(
5389
+ children: filteredMaterialList.map((materialValue, index) => /* @__PURE__ */ jsx31(
5241
5390
  DraggableItem_default,
5242
5391
  {
5243
5392
  item: { index: materialValue },
5244
5393
  type: "MATCHING",
5245
- component: /* @__PURE__ */ jsx28(
5394
+ component: /* @__PURE__ */ jsx31(
5246
5395
  "div",
5247
5396
  {
5248
5397
  className: `${selectedValue === materialValue ? "border-catchup-blue" : "border-catchup-lighter-gray"} h-catchup-activity-covering-box-item flex flex-col items-center justify-center border-2 rounded-catchup-xlarge cursor-pointer transition-all duration-300`,
@@ -5256,22 +5405,22 @@ var MatchingActivityMaterialContent = ({
5256
5405
  setSelectedValue(null);
5257
5406
  }
5258
5407
  },
5259
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx28(
5408
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx31(
5260
5409
  "div",
5261
5410
  {
5262
5411
  className: `flex flex-col items-center justify-center m-4 min-h-[64px] min-w-[200px]`,
5263
- children: /* @__PURE__ */ jsx28("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5412
+ children: /* @__PURE__ */ jsx31("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5264
5413
  materialValue
5265
- ).map((inputPart, index2) => /* @__PURE__ */ jsx28(
5414
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx31(
5266
5415
  "span",
5267
5416
  {
5268
5417
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5269
- children: inputPart.isEquation ? /* @__PURE__ */ jsx28("span", { className: "text-2xl", children: /* @__PURE__ */ jsx28(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5418
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx31("span", { className: "text-2xl", children: /* @__PURE__ */ jsx31(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5270
5419
  },
5271
5420
  index2
5272
5421
  )) })
5273
5422
  }
5274
- ) : /* @__PURE__ */ jsx28(
5423
+ ) : /* @__PURE__ */ jsx31(
5275
5424
  ShowMaterialMediaByContentType_default,
5276
5425
  {
5277
5426
  contentType: contentMap.type,
@@ -5295,27 +5444,27 @@ var MatchingActivityMaterialContent = ({
5295
5444
  ))
5296
5445
  }
5297
5446
  ),
5298
- filteredMaterialList.length > 0 ? /* @__PURE__ */ jsx28(DividerLine_default, {}) : null,
5447
+ filteredMaterialList.length > 0 ? /* @__PURE__ */ jsx31(DividerLine_default, {}) : null,
5299
5448
  Object.keys(answerMap).map((answerMapKey, index) => {
5300
5449
  const learnerAnswerState = checkAnswerState(
5301
5450
  materialMap[answerMapKey],
5302
5451
  answerMap[answerMapKey]
5303
5452
  );
5304
- return /* @__PURE__ */ jsxs18("div", { className: "flex flex-row w-full", children: [
5305
- /* @__PURE__ */ jsx28("div", { className: "w-1/3", children: /* @__PURE__ */ jsx28(
5453
+ return /* @__PURE__ */ jsxs20("div", { className: "flex flex-row w-full", children: [
5454
+ /* @__PURE__ */ jsx31("div", { className: "w-1/3", children: /* @__PURE__ */ jsx31(
5306
5455
  "div",
5307
5456
  {
5308
5457
  className: `h-catchup-activity-outer-box-item flex flex-col items-center justify-center border-2 rounded-catchup-xlarge transition-all duration-300 my-3 ${learnerAnswerState === "EMPTY" ? "border-catchup-blue" : learnerAnswerState === "CORRECT" ? "border-catchup-green" : learnerAnswerState === "INCORRECT" ? "border-catchup-red" : "border-catchup-blue"}`,
5309
- children: /* @__PURE__ */ jsx28(
5458
+ children: /* @__PURE__ */ jsx31(
5310
5459
  "div",
5311
5460
  {
5312
5461
  className: `flex flex-col items-center justify-center transition-all duration-300 m-4`,
5313
- children: /* @__PURE__ */ jsx28("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5314
- (inputPart, index2) => /* @__PURE__ */ jsx28(
5462
+ children: /* @__PURE__ */ jsx31("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5463
+ (inputPart, index2) => /* @__PURE__ */ jsx31(
5315
5464
  "span",
5316
5465
  {
5317
5466
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5318
- children: inputPart.isEquation ? /* @__PURE__ */ jsx28("span", { className: "text-2xl", children: /* @__PURE__ */ jsx28(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5467
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx31("span", { className: "text-2xl", children: /* @__PURE__ */ jsx31(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5319
5468
  },
5320
5469
  index2
5321
5470
  )
@@ -5324,8 +5473,8 @@ var MatchingActivityMaterialContent = ({
5324
5473
  )
5325
5474
  }
5326
5475
  ) }),
5327
- /* @__PURE__ */ jsx28("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5328
- /* @__PURE__ */ jsx28("div", { className: "flex-1", children: /* @__PURE__ */ jsx28(
5476
+ /* @__PURE__ */ jsx31("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5477
+ /* @__PURE__ */ jsx31("div", { className: "flex-1", children: /* @__PURE__ */ jsx31(
5329
5478
  "div",
5330
5479
  {
5331
5480
  className: `${canDrop ? selectedTargetKey === answerMapKey ? "bg-catchup-light-blue" : "bg-catchup-light-blue opacity-40" : ""} h-catchup-activity-outer-box-item flex flex-col items-center justify-center border-2 rounded-catchup-xlarge cursor-pointer transition-all duration-300 my-3 ${learnerAnswerState === "EMPTY" ? "border-catchup-blue" : learnerAnswerState === "CORRECT" ? "border-catchup-green" : learnerAnswerState === "INCORRECT" ? "border-catchup-red" : "border-catchup-blue"}`,
@@ -5334,7 +5483,7 @@ var MatchingActivityMaterialContent = ({
5334
5483
  setSelectedValue(null);
5335
5484
  }
5336
5485
  },
5337
- children: /* @__PURE__ */ jsx28(
5486
+ children: /* @__PURE__ */ jsx31(
5338
5487
  DroppableItem_default,
5339
5488
  {
5340
5489
  item: { index: answerMapKey },
@@ -5342,7 +5491,7 @@ var MatchingActivityMaterialContent = ({
5342
5491
  target: selectedTargetKey,
5343
5492
  setTarget: setSelectedTargetKey,
5344
5493
  dropRef: drop,
5345
- component: /* @__PURE__ */ jsx28(
5494
+ component: /* @__PURE__ */ jsx31(
5346
5495
  "div",
5347
5496
  {
5348
5497
  className: `h-full flex-1 flex flex-row items-center justify-center `,
@@ -5355,16 +5504,16 @@ var MatchingActivityMaterialContent = ({
5355
5504
  );
5356
5505
  }
5357
5506
  },
5358
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx28("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5507
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx31("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5359
5508
  answerMap[answerMapKey]
5360
- ).map((inputPart, index2) => /* @__PURE__ */ jsx28(
5509
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx31(
5361
5510
  "span",
5362
5511
  {
5363
5512
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5364
- children: inputPart.isEquation ? /* @__PURE__ */ jsx28("span", { className: "text-2xl", children: /* @__PURE__ */ jsx28(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5513
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx31("span", { className: "text-2xl", children: /* @__PURE__ */ jsx31(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5365
5514
  },
5366
5515
  index2
5367
- )) }) : /* @__PURE__ */ jsx28(
5516
+ )) }) : /* @__PURE__ */ jsx31(
5368
5517
  ShowMaterialMediaByContentType_default,
5369
5518
  {
5370
5519
  contentType: contentMap.type,
@@ -5387,7 +5536,7 @@ var MatchingActivityMaterialContent = ({
5387
5536
  var MatchingActivityMaterialContent_default = MatchingActivityMaterialContent;
5388
5537
 
5389
5538
  // src/components/activities/MatchingActivityContent.tsx
5390
- import { Fragment as Fragment5, jsx as jsx29, jsxs as jsxs19 } from "react/jsx-runtime";
5539
+ import { Fragment as Fragment5, jsx as jsx32, jsxs as jsxs21 } from "react/jsx-runtime";
5391
5540
  var MatchingActivityContent = ({
5392
5541
  answer,
5393
5542
  data,
@@ -5408,16 +5557,16 @@ var MatchingActivityContent = ({
5408
5557
  answerMap[key] = value;
5409
5558
  changeAnswer(answer2);
5410
5559
  };
5411
- return /* @__PURE__ */ jsxs19(Fragment5, { children: [
5412
- /* @__PURE__ */ jsx29(
5560
+ return /* @__PURE__ */ jsxs21(Fragment5, { children: [
5561
+ /* @__PURE__ */ jsx32(
5413
5562
  ActivityBodyContent_default,
5414
5563
  {
5415
5564
  bodyMap: matchingBodyMap,
5416
5565
  templateType: "MATCHING"
5417
5566
  }
5418
5567
  ),
5419
- /* @__PURE__ */ jsx29(DividerLine_default, {}),
5420
- /* @__PURE__ */ jsx29(
5568
+ /* @__PURE__ */ jsx32(DividerLine_default, {}),
5569
+ /* @__PURE__ */ jsx32(
5421
5570
  MatchingActivityMaterialContent_default,
5422
5571
  {
5423
5572
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5436,7 +5585,7 @@ var MatchingActivityContent_default = MatchingActivityContent;
5436
5585
 
5437
5586
  // src/components/activities/material-content/MCMAActivityMaterialContent.tsx
5438
5587
  import { InlineMath as InlineMath6 } from "react-katex";
5439
- import { jsx as jsx30, jsxs as jsxs20 } from "react/jsx-runtime";
5588
+ import { jsx as jsx33, jsxs as jsxs22 } from "react/jsx-runtime";
5440
5589
  var MCMAActivityMaterialContent = ({
5441
5590
  uniqueValue,
5442
5591
  answer,
@@ -5469,10 +5618,10 @@ var MCMAActivityMaterialContent = ({
5469
5618
  const answerMap = retrieveAnswerMap();
5470
5619
  const correctAnswerList = retrieveCorrectAnswerList();
5471
5620
  return Object.keys(materialMap).map((materialKey, index) => {
5472
- return /* @__PURE__ */ jsx30("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ jsxs20("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5", children: [
5473
- /* @__PURE__ */ jsx30("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx30("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcma_text") }) }),
5474
- /* @__PURE__ */ jsx30("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx30(DividerLine_default, {}) }),
5475
- checkCanAnswerQuestion() ? /* @__PURE__ */ jsx30("div", { className: "flex flex-row w-full flex-wrap ", children: materialMap[materialKey].map(
5621
+ return /* @__PURE__ */ jsx33("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ jsxs22("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5", children: [
5622
+ /* @__PURE__ */ jsx33("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx33("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcma_text") }) }),
5623
+ /* @__PURE__ */ jsx33("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx33(DividerLine_default, {}) }),
5624
+ checkCanAnswerQuestion() ? /* @__PURE__ */ jsx33("div", { className: "flex flex-row w-full flex-wrap ", children: materialMap[materialKey].map(
5476
5625
  (materialSubKey, index2) => {
5477
5626
  const foundAnswer = answerMap[materialKey].find(
5478
5627
  (learnerAnswer) => learnerAnswer === materialSubKey
@@ -5485,7 +5634,7 @@ var MCMAActivityMaterialContent = ({
5485
5634
  const foundIndex = correctAnswerList.findIndex(
5486
5635
  (correctAnswer) => correctAnswer === materialSubKey
5487
5636
  );
5488
- return /* @__PURE__ */ jsxs20(
5637
+ return /* @__PURE__ */ jsxs22(
5489
5638
  "div",
5490
5639
  {
5491
5640
  className: `w-full flex flex-row items-center justify-center cursor-pointer my-2 gap-x-2 ${learnerAnswerState === "EMPTY" && foundIndex !== -1 || learnerAnswerState === "CORRECT" ? "border-2 border-catchup-green rounded-catchup-xlarge p-2" : learnerAnswerState === "INCORRECT" ? "border-2 border-catchup-red rounded-catchup-xlarge p-2" : ""}`,
@@ -5493,7 +5642,7 @@ var MCMAActivityMaterialContent = ({
5493
5642
  onChange(answer, materialKey, materialSubKey);
5494
5643
  },
5495
5644
  children: [
5496
- /* @__PURE__ */ jsx30(
5645
+ /* @__PURE__ */ jsx33(
5497
5646
  BaseImage_default,
5498
5647
  {
5499
5648
  src: answerMap[materialKey].includes(materialSubKey) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -5503,16 +5652,16 @@ var MCMAActivityMaterialContent = ({
5503
5652
  }
5504
5653
  }
5505
5654
  ),
5506
- /* @__PURE__ */ jsx30("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx30("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5655
+ /* @__PURE__ */ jsx33("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx33("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5507
5656
  materialSubKey
5508
- ).map((inputPart, index3) => /* @__PURE__ */ jsx30(
5657
+ ).map((inputPart, index3) => /* @__PURE__ */ jsx33(
5509
5658
  "span",
5510
5659
  {
5511
5660
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5512
- children: inputPart.isEquation ? /* @__PURE__ */ jsx30("span", { className: "text-2xl", children: /* @__PURE__ */ jsx30(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5661
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx33("span", { className: "text-2xl", children: /* @__PURE__ */ jsx33(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5513
5662
  },
5514
5663
  index3
5515
- )) }) : /* @__PURE__ */ jsx30(
5664
+ )) }) : /* @__PURE__ */ jsx33(
5516
5665
  ShowMaterialMediaByContentType_default,
5517
5666
  {
5518
5667
  contentType: contentMap.type,
@@ -5526,13 +5675,13 @@ var MCMAActivityMaterialContent = ({
5526
5675
  index2
5527
5676
  );
5528
5677
  }
5529
- ) }) : /* @__PURE__ */ jsx30("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5678
+ ) }) : /* @__PURE__ */ jsx33("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5530
5679
  answerMap[materialKey]
5531
- ).map((inputPart, index2) => /* @__PURE__ */ jsx30(
5680
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx33(
5532
5681
  "span",
5533
5682
  {
5534
5683
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5535
- children: inputPart.isEquation ? /* @__PURE__ */ jsx30("span", { className: "text-2xl", children: /* @__PURE__ */ jsx30(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5684
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx33("span", { className: "text-2xl", children: /* @__PURE__ */ jsx33(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5536
5685
  },
5537
5686
  index2
5538
5687
  )) }, materialKey)
@@ -5542,7 +5691,7 @@ var MCMAActivityMaterialContent = ({
5542
5691
  var MCMAActivityMaterialContent_default = MCMAActivityMaterialContent;
5543
5692
 
5544
5693
  // src/components/activities/MCMAActivityContent.tsx
5545
- import { jsx as jsx31, jsxs as jsxs21 } from "react/jsx-runtime";
5694
+ import { jsx as jsx34, jsxs as jsxs23 } from "react/jsx-runtime";
5546
5695
  var MCMAActivityContent = ({
5547
5696
  answer,
5548
5697
  data,
@@ -5569,11 +5718,11 @@ var MCMAActivityContent = ({
5569
5718
  }
5570
5719
  changeAnswer(answer2);
5571
5720
  };
5572
- return /* @__PURE__ */ jsxs21("div", { className: "flex flex-row flex-wrap", children: [
5573
- /* @__PURE__ */ jsx31("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx31(ActivityBodyContent_default, { bodyMap: MCMABodyMap, templateType: "MCMA" }) }),
5574
- /* @__PURE__ */ jsx31("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx31(DividerLine_default, {}) }),
5575
- /* @__PURE__ */ jsx31("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx31(VerticalDividerLine_default, {}) }),
5576
- /* @__PURE__ */ jsx31("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx31(
5721
+ return /* @__PURE__ */ jsxs23("div", { className: "flex flex-row flex-wrap", children: [
5722
+ /* @__PURE__ */ jsx34("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx34(ActivityBodyContent_default, { bodyMap: MCMABodyMap, templateType: "MCMA" }) }),
5723
+ /* @__PURE__ */ jsx34("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx34(DividerLine_default, {}) }),
5724
+ /* @__PURE__ */ jsx34("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx34(VerticalDividerLine_default, {}) }),
5725
+ /* @__PURE__ */ jsx34("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx34(
5577
5726
  MCMAActivityMaterialContent_default,
5578
5727
  {
5579
5728
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5591,7 +5740,7 @@ var MCMAActivityContent_default = MCMAActivityContent;
5591
5740
 
5592
5741
  // src/components/activities/material-content/MCSAActivityMaterialContent.tsx
5593
5742
  import { InlineMath as InlineMath7 } from "react-katex";
5594
- import { jsx as jsx32, jsxs as jsxs22 } from "react/jsx-runtime";
5743
+ import { jsx as jsx35, jsxs as jsxs24 } from "react/jsx-runtime";
5595
5744
  var MCSAActivityMaterialContent = ({
5596
5745
  uniqueValue,
5597
5746
  answer,
@@ -5621,10 +5770,10 @@ var MCSAActivityMaterialContent = ({
5621
5770
  const answerMap = retrieveAnswerMap();
5622
5771
  const correctAnswer = retrieveCorrectAnswer();
5623
5772
  return Object.keys(materialMap).map((materialKey, index) => {
5624
- return /* @__PURE__ */ jsx32("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ jsxs22("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5", children: [
5625
- /* @__PURE__ */ jsx32("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx32("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcsa_text") }) }),
5626
- /* @__PURE__ */ jsx32("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx32(DividerLine_default, {}) }),
5627
- checkCanAnswerQuestion() ? /* @__PURE__ */ jsx32(
5773
+ return /* @__PURE__ */ jsx35("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ jsxs24("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5", children: [
5774
+ /* @__PURE__ */ jsx35("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx35("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcsa_text") }) }),
5775
+ /* @__PURE__ */ jsx35("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx35(DividerLine_default, {}) }),
5776
+ checkCanAnswerQuestion() ? /* @__PURE__ */ jsx35(
5628
5777
  "div",
5629
5778
  {
5630
5779
  className: `flex flex-row w-full ${Object.keys(materialMap[materialKey]).length <= 4 ? "justify-center" : ""} flex-wrap`,
@@ -5635,7 +5784,7 @@ var MCSAActivityMaterialContent = ({
5635
5784
  materialSubKey,
5636
5785
  answerMap[materialKey]
5637
5786
  );
5638
- return /* @__PURE__ */ jsxs22(
5787
+ return /* @__PURE__ */ jsxs24(
5639
5788
  "div",
5640
5789
  {
5641
5790
  className: `w-full flex flex-row items-center justify-center cursor-pointer my-2 gap-x-2 ${learnerAnswerState === "EMPTY" && materialSubKey === correctAnswer || learnerAnswerState === "CORRECT" ? "border-2 border-catchup-green rounded-catchup-xlarge p-2" : learnerAnswerState === "INCORRECT" ? "border-2 border-catchup-red rounded-catchup-xlarge p-2" : ""}`,
@@ -5643,7 +5792,7 @@ var MCSAActivityMaterialContent = ({
5643
5792
  onChange(answer, materialKey, materialSubKey);
5644
5793
  },
5645
5794
  children: [
5646
- /* @__PURE__ */ jsx32(
5795
+ /* @__PURE__ */ jsx35(
5647
5796
  BaseImage_default,
5648
5797
  {
5649
5798
  src: answerMap[materialKey] === materialSubKey ? "/icons/item-element.webp" : "/icons/not-selected-item-element.webp",
@@ -5653,16 +5802,16 @@ var MCSAActivityMaterialContent = ({
5653
5802
  }
5654
5803
  }
5655
5804
  ),
5656
- /* @__PURE__ */ jsx32("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx32("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5805
+ /* @__PURE__ */ jsx35("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx35("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5657
5806
  materialSubKey
5658
- ).map((inputPart, index3) => /* @__PURE__ */ jsx32(
5807
+ ).map((inputPart, index3) => /* @__PURE__ */ jsx35(
5659
5808
  "span",
5660
5809
  {
5661
5810
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5662
- children: inputPart.isEquation ? /* @__PURE__ */ jsx32("span", { className: "text-2xl", children: /* @__PURE__ */ jsx32(InlineMath7, { math: inputPart.value }) }) : inputPart.value
5811
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx35("span", { className: "text-2xl", children: /* @__PURE__ */ jsx35(InlineMath7, { math: inputPart.value }) }) : inputPart.value
5663
5812
  },
5664
5813
  index3
5665
- )) }) : /* @__PURE__ */ jsx32(
5814
+ )) }) : /* @__PURE__ */ jsx35(
5666
5815
  ShowMaterialMediaByContentType_default,
5667
5816
  {
5668
5817
  contentType: contentMap.type,
@@ -5678,13 +5827,13 @@ var MCSAActivityMaterialContent = ({
5678
5827
  }
5679
5828
  )
5680
5829
  }
5681
- ) : /* @__PURE__ */ jsx32("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5830
+ ) : /* @__PURE__ */ jsx35("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5682
5831
  answerMap[materialKey]
5683
- ).map((inputPart, index2) => /* @__PURE__ */ jsx32(
5832
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx35(
5684
5833
  "span",
5685
5834
  {
5686
5835
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5687
- children: inputPart.isEquation ? /* @__PURE__ */ jsx32("span", { className: "text-2xl", children: /* @__PURE__ */ jsx32(InlineMath7, { math: inputPart.value }) }) : inputPart.value
5836
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx35("span", { className: "text-2xl", children: /* @__PURE__ */ jsx35(InlineMath7, { math: inputPart.value }) }) : inputPart.value
5688
5837
  },
5689
5838
  index2
5690
5839
  )) })
@@ -5694,7 +5843,7 @@ var MCSAActivityMaterialContent = ({
5694
5843
  var MCSAActivityMaterialContent_default = MCSAActivityMaterialContent;
5695
5844
 
5696
5845
  // src/components/activities/MCSAActivityContent.tsx
5697
- import { jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
5846
+ import { jsx as jsx36, jsxs as jsxs25 } from "react/jsx-runtime";
5698
5847
  var MCSAActivityContent = ({
5699
5848
  answer,
5700
5849
  data,
@@ -5714,11 +5863,11 @@ var MCSAActivityContent = ({
5714
5863
  answerMap[key] = value;
5715
5864
  changeAnswer(answer2);
5716
5865
  };
5717
- return /* @__PURE__ */ jsxs23("div", { className: "flex flex-row flex-wrap", children: [
5718
- /* @__PURE__ */ jsx33("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx33(ActivityBodyContent_default, { bodyMap: MCSABodyMap, templateType: "MCSA" }) }),
5719
- /* @__PURE__ */ jsx33("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx33(DividerLine_default, {}) }),
5720
- /* @__PURE__ */ jsx33("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx33(VerticalDividerLine_default, {}) }),
5721
- /* @__PURE__ */ jsx33("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx33(
5866
+ return /* @__PURE__ */ jsxs25("div", { className: "flex flex-row flex-wrap", children: [
5867
+ /* @__PURE__ */ jsx36("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx36(ActivityBodyContent_default, { bodyMap: MCSABodyMap, templateType: "MCSA" }) }),
5868
+ /* @__PURE__ */ jsx36("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx36(DividerLine_default, {}) }),
5869
+ /* @__PURE__ */ jsx36("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx36(VerticalDividerLine_default, {}) }),
5870
+ /* @__PURE__ */ jsx36("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx36(
5722
5871
  MCSAActivityMaterialContent_default,
5723
5872
  {
5724
5873
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5735,7 +5884,7 @@ var MCSAActivityContent = ({
5735
5884
  var MCSAActivityContent_default = MCSAActivityContent;
5736
5885
 
5737
5886
  // src/components/activities/material-content/OpenEndedActivityMaterialContent.tsx
5738
- import { Fragment as Fragment6, jsx as jsx34, jsxs as jsxs24 } from "react/jsx-runtime";
5887
+ import { Fragment as Fragment6, jsx as jsx37, jsxs as jsxs26 } from "react/jsx-runtime";
5739
5888
  var OpenEndedActivityMaterialContent = ({
5740
5889
  answer,
5741
5890
  contentMap,
@@ -5758,7 +5907,7 @@ var OpenEndedActivityMaterialContent = ({
5758
5907
  };
5759
5908
  const RenderTextContent = (answerMap2) => {
5760
5909
  const answerMapAnswer = answerMap2["ANSWER"];
5761
- return /* @__PURE__ */ jsx34(
5910
+ return /* @__PURE__ */ jsx37(
5762
5911
  InputGroup_default,
5763
5912
  {
5764
5913
  type: "textarea",
@@ -5771,16 +5920,16 @@ var OpenEndedActivityMaterialContent = ({
5771
5920
  );
5772
5921
  };
5773
5922
  const answerMap = retrieveAnswerMap();
5774
- return /* @__PURE__ */ jsx34(Fragment6, { children: /* @__PURE__ */ jsxs24("div", { className: "", children: [
5775
- /* @__PURE__ */ jsx34("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx34("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
5776
- /* @__PURE__ */ jsx34("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx34(DividerLine_default, {}) }),
5923
+ return /* @__PURE__ */ jsx37(Fragment6, { children: /* @__PURE__ */ jsxs26("div", { className: "", children: [
5924
+ /* @__PURE__ */ jsx37("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx37("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
5925
+ /* @__PURE__ */ jsx37("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx37(DividerLine_default, {}) }),
5777
5926
  contentMap.type === "TEXT" ? RenderTextContent(answerMap) : null
5778
5927
  ] }) });
5779
5928
  };
5780
5929
  var OpenEndedActivityMaterialContent_default = OpenEndedActivityMaterialContent;
5781
5930
 
5782
5931
  // src/components/activities/OpenEndedActivityContent.tsx
5783
- import { Fragment as Fragment7, jsx as jsx35, jsxs as jsxs25 } from "react/jsx-runtime";
5932
+ import { Fragment as Fragment7, jsx as jsx38, jsxs as jsxs27 } from "react/jsx-runtime";
5784
5933
  var OpenEndedActivityContent = ({
5785
5934
  answer,
5786
5935
  data,
@@ -5798,12 +5947,12 @@ var OpenEndedActivityContent = ({
5798
5947
  answerMap["ANSWER"] = value;
5799
5948
  changeAnswer(answer2);
5800
5949
  };
5801
- return /* @__PURE__ */ jsxs25("div", { className: "flex flex-row flex-wrap", children: [
5802
- /* @__PURE__ */ jsx35(
5950
+ return /* @__PURE__ */ jsxs27("div", { className: "flex flex-row flex-wrap", children: [
5951
+ /* @__PURE__ */ jsx38(
5803
5952
  "div",
5804
5953
  {
5805
5954
  className: `${showMaterialContent ? isFullScreen ? "w-full" : "w-full md:w-[40%]" : "w-full"}`,
5806
- children: /* @__PURE__ */ jsx35(
5955
+ children: /* @__PURE__ */ jsx38(
5807
5956
  ActivityBodyContent_default,
5808
5957
  {
5809
5958
  bodyMap: openEndedBodyMap,
@@ -5812,16 +5961,16 @@ var OpenEndedActivityContent = ({
5812
5961
  )
5813
5962
  }
5814
5963
  ),
5815
- showMaterialContent ? /* @__PURE__ */ jsxs25(Fragment7, { children: [
5816
- /* @__PURE__ */ jsx35(
5964
+ showMaterialContent ? /* @__PURE__ */ jsxs27(Fragment7, { children: [
5965
+ /* @__PURE__ */ jsx38(
5817
5966
  "div",
5818
5967
  {
5819
5968
  className: `${isFullScreen ? "contents" : "contents md:hidden"}`,
5820
- children: /* @__PURE__ */ jsx35(DividerLine_default, {})
5969
+ children: /* @__PURE__ */ jsx38(DividerLine_default, {})
5821
5970
  }
5822
5971
  ),
5823
- /* @__PURE__ */ jsx35("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx35(VerticalDividerLine_default, {}) }),
5824
- /* @__PURE__ */ jsx35("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx35(
5972
+ /* @__PURE__ */ jsx38("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx38(VerticalDividerLine_default, {}) }),
5973
+ /* @__PURE__ */ jsx38("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx38(
5825
5974
  OpenEndedActivityMaterialContent_default,
5826
5975
  {
5827
5976
  answer,
@@ -5835,14 +5984,14 @@ var OpenEndedActivityContent = ({
5835
5984
  var OpenEndedActivityContent_default = OpenEndedActivityContent;
5836
5985
 
5837
5986
  // src/components/activities/material-content/OrderingActivityMaterialContent.tsx
5838
- import { useEffect as useEffect11, useState as useState20 } from "react";
5987
+ import { useEffect as useEffect12, useState as useState21 } from "react";
5839
5988
  import { useDrop as useDrop6 } from "react-dnd";
5840
5989
  import { InlineMath as InlineMath8 } from "react-katex";
5841
5990
 
5842
5991
  // src/components/dnds/DraggableDroppableItem.tsx
5843
5992
  import { useRef as useRef6 } from "react";
5844
5993
  import { useDrag as useDrag2, useDrop as useDrop5 } from "react-dnd";
5845
- import { jsx as jsx36 } from "react/jsx-runtime";
5994
+ import { jsx as jsx39 } from "react/jsx-runtime";
5846
5995
  var DraggableDroppableItem = ({
5847
5996
  key,
5848
5997
  item,
@@ -5880,12 +6029,12 @@ var DraggableDroppableItem = ({
5880
6029
  });
5881
6030
  const opacity = isDragging ? 0.4 : 1;
5882
6031
  drag(drop(ref));
5883
- return /* @__PURE__ */ jsx36(
6032
+ return /* @__PURE__ */ jsx39(
5884
6033
  "div",
5885
6034
  {
5886
6035
  className: `${isDragging ? "w-[0px] opacity-0" : "w-full opacity-100"} transition-all duration-500`,
5887
6036
  ref: dropRef,
5888
- children: /* @__PURE__ */ jsx36("div", { ref, className: "w-full", style: { opacity }, children: component })
6037
+ children: /* @__PURE__ */ jsx39("div", { ref, className: "w-full", style: { opacity }, children: component })
5889
6038
  },
5890
6039
  key
5891
6040
  );
@@ -5893,7 +6042,7 @@ var DraggableDroppableItem = ({
5893
6042
  var DraggableDroppableItem_default = DraggableDroppableItem;
5894
6043
 
5895
6044
  // src/components/activities/material-content/OrderingActivityMaterialContent.tsx
5896
- import { jsx as jsx37, jsxs as jsxs26 } from "react/jsx-runtime";
6045
+ import { jsx as jsx40, jsxs as jsxs28 } from "react/jsx-runtime";
5897
6046
  var OrderingActivityMaterialContent = ({
5898
6047
  uniqueValue,
5899
6048
  answer,
@@ -5904,10 +6053,10 @@ var OrderingActivityMaterialContent = ({
5904
6053
  isPreview,
5905
6054
  showCorrectAnswer
5906
6055
  }) => {
5907
- const [selectedTargetKey, setSelectedTargetKey] = useState20(null);
5908
- const [selectedKey, setSelectedKey] = useState20(null);
6056
+ const [selectedTargetKey, setSelectedTargetKey] = useState21(null);
6057
+ const [selectedKey, setSelectedKey] = useState21(null);
5909
6058
  const { screenSize } = useScreenSize_default();
5910
- const [view, setView] = useState20("PC");
6059
+ const [view, setView] = useState21("PC");
5911
6060
  const [{ isOver, canDrop }, drop] = useDrop6({
5912
6061
  accept: "ORDERING",
5913
6062
  drop: () => {
@@ -5917,7 +6066,7 @@ var OrderingActivityMaterialContent = ({
5917
6066
  canDrop: monitor.canDrop()
5918
6067
  })
5919
6068
  });
5920
- useEffect11(() => {
6069
+ useEffect12(() => {
5921
6070
  if (!screenSize) return;
5922
6071
  if (screenSize.width <= 768) {
5923
6072
  setView("TABLET");
@@ -5925,7 +6074,7 @@ var OrderingActivityMaterialContent = ({
5925
6074
  setView("PC");
5926
6075
  }
5927
6076
  }, [screenSize]);
5928
- useEffect11(() => {
6077
+ useEffect12(() => {
5929
6078
  if (!showCorrectAnswer) return;
5930
6079
  const answerMap2 = answer.data.find(
5931
6080
  (answerData) => answerData.type === "ORDERING"
@@ -5970,12 +6119,12 @@ var OrderingActivityMaterialContent = ({
5970
6119
  return 0;
5971
6120
  };
5972
6121
  const answerMap = retrieveAnswerMap();
5973
- return /* @__PURE__ */ jsx37("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
6122
+ return /* @__PURE__ */ jsx40("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
5974
6123
  const learnerAnswerState = checkAnswerState(
5975
6124
  answerMap[materialKey] + "",
5976
6125
  index + ""
5977
6126
  );
5978
- return /* @__PURE__ */ jsx37("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ jsxs26(
6127
+ return /* @__PURE__ */ jsx40("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ jsxs28(
5979
6128
  "div",
5980
6129
  {
5981
6130
  className: `flex flex-row items-center my-4 mx-2`,
@@ -5983,26 +6132,26 @@ var OrderingActivityMaterialContent = ({
5983
6132
  marginTop: view === "PC" ? calculateMarginTop(parseFloat(materialKey)) : 0
5984
6133
  },
5985
6134
  children: [
5986
- /* @__PURE__ */ jsx37("div", { className: "mr-3", children: /* @__PURE__ */ jsx37(
6135
+ /* @__PURE__ */ jsx40("div", { className: "mr-3", children: /* @__PURE__ */ jsx40(
5987
6136
  "div",
5988
6137
  {
5989
6138
  className: `min-h-catchup-activity-outer-box-item w-catchup-activity-box-item flex flex-col items-center justify-center cursor-pointer transition-all duration-300`,
5990
- children: /* @__PURE__ */ jsx37(
6139
+ children: /* @__PURE__ */ jsx40(
5991
6140
  "div",
5992
6141
  {
5993
6142
  className: `${selectedKey === materialKey ? "border-2 border-catchup-light-gray" : "border-2 border-catchup-blue"} flex flex-col items-center justify-center transition-all duration-300 rounded-catchup-full w-[50px] h-[50px]`,
5994
- children: /* @__PURE__ */ jsx37("p", { className: "", children: parseFloat(materialKey) + 1 })
6143
+ children: /* @__PURE__ */ jsx40("p", { className: "", children: parseFloat(materialKey) + 1 })
5995
6144
  }
5996
6145
  )
5997
6146
  }
5998
6147
  ) }),
5999
- /* @__PURE__ */ jsx37(
6148
+ /* @__PURE__ */ jsx40(
6000
6149
  DraggableDroppableItem_default,
6001
6150
  {
6002
6151
  item: { index: materialKey },
6003
6152
  type: "ORDERING",
6004
6153
  dropRef: drop,
6005
- component: /* @__PURE__ */ jsx37(
6154
+ component: /* @__PURE__ */ jsx40(
6006
6155
  "div",
6007
6156
  {
6008
6157
  className: `${canDrop ? selectedKey !== materialKey ? selectedTargetKey === materialKey ? "bg-catchup-light-blue rounded-catchup-xlarge" : "bg-catchup-light-blue rounded-catchup-xlarge opacity-40" : "" : ""} flex-1 min-h-catchup-activity-outer-box-item flex flex-col items-center justify-center border-2 rounded-catchup-xlarge cursor-pointer p-3 ${learnerAnswerState === "CORRECT" ? "border-catchup-green" : learnerAnswerState === "INCORRECT" ? "border-catchup-red" : "border-catchup-blue"}`,
@@ -6011,16 +6160,16 @@ var OrderingActivityMaterialContent = ({
6011
6160
  setSelectedKey(materialKey);
6012
6161
  }
6013
6162
  },
6014
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx37("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6163
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx40("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6015
6164
  materialMap[answerMap[materialKey]]
6016
- ).map((inputPart, index2) => /* @__PURE__ */ jsx37(
6165
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx40(
6017
6166
  "span",
6018
6167
  {
6019
6168
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6020
- children: inputPart.isEquation ? /* @__PURE__ */ jsx37("span", { className: "text-2xl", children: /* @__PURE__ */ jsx37(InlineMath8, { math: inputPart.value }) }) : inputPart.value
6169
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx40("span", { className: "text-2xl", children: /* @__PURE__ */ jsx40(InlineMath8, { math: inputPart.value }) }) : inputPart.value
6021
6170
  },
6022
6171
  index2
6023
- )) }) : /* @__PURE__ */ jsx37(
6172
+ )) }) : /* @__PURE__ */ jsx40(
6024
6173
  ShowMaterialMediaByContentType_default,
6025
6174
  {
6026
6175
  contentType: contentMap.type,
@@ -6052,7 +6201,7 @@ var OrderingActivityMaterialContent = ({
6052
6201
  var OrderingActivityMaterialContent_default = OrderingActivityMaterialContent;
6053
6202
 
6054
6203
  // src/components/activities/OrderingActivityContent.tsx
6055
- import { Fragment as Fragment8, jsx as jsx38, jsxs as jsxs27 } from "react/jsx-runtime";
6204
+ import { Fragment as Fragment8, jsx as jsx41, jsxs as jsxs29 } from "react/jsx-runtime";
6056
6205
  var OrderingActivityContent = ({
6057
6206
  answer,
6058
6207
  data,
@@ -6075,16 +6224,16 @@ var OrderingActivityContent = ({
6075
6224
  answerMap[secondaryKey] = prevValue;
6076
6225
  changeAnswer(answer2);
6077
6226
  };
6078
- return /* @__PURE__ */ jsxs27(Fragment8, { children: [
6079
- /* @__PURE__ */ jsx38(
6227
+ return /* @__PURE__ */ jsxs29(Fragment8, { children: [
6228
+ /* @__PURE__ */ jsx41(
6080
6229
  ActivityBodyContent_default,
6081
6230
  {
6082
6231
  bodyMap: orderingBodyMap,
6083
6232
  templateType: "ORDERING"
6084
6233
  }
6085
6234
  ),
6086
- /* @__PURE__ */ jsx38(DividerLine_default, {}),
6087
- /* @__PURE__ */ jsx38(
6235
+ /* @__PURE__ */ jsx41(DividerLine_default, {}),
6236
+ /* @__PURE__ */ jsx41(
6088
6237
  OrderingActivityMaterialContent_default,
6089
6238
  {
6090
6239
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6102,9 +6251,9 @@ var OrderingActivityContent = ({
6102
6251
  var OrderingActivityContent_default = OrderingActivityContent;
6103
6252
 
6104
6253
  // src/components/activities/material-content/TrueFalseActivityMaterialContent.tsx
6105
- import { useEffect as useEffect12, useState as useState21 } from "react";
6254
+ import { useEffect as useEffect13, useState as useState22 } from "react";
6106
6255
  import { InlineMath as InlineMath9 } from "react-katex";
6107
- import { Fragment as Fragment9, jsx as jsx39, jsxs as jsxs28 } from "react/jsx-runtime";
6256
+ import { Fragment as Fragment9, jsx as jsx42, jsxs as jsxs30 } from "react/jsx-runtime";
6108
6257
  var TrueFalseActivityMaterialContent = ({
6109
6258
  uniqueValue,
6110
6259
  answer,
@@ -6116,8 +6265,8 @@ var TrueFalseActivityMaterialContent = ({
6116
6265
  showCorrectAnswer
6117
6266
  }) => {
6118
6267
  const { screenSize } = useScreenSize_default();
6119
- const [shuffleOptionList, setShuffleOptionList] = useState21([]);
6120
- useEffect12(() => {
6268
+ const [shuffleOptionList, setShuffleOptionList] = useState22([]);
6269
+ useEffect13(() => {
6121
6270
  const optionList = [];
6122
6271
  optionList.push(...materialMap.trueList);
6123
6272
  optionList.push(...materialMap.falseList);
@@ -6127,7 +6276,7 @@ var TrueFalseActivityMaterialContent = ({
6127
6276
  setShuffleOptionList(shuffleArray(optionList));
6128
6277
  }
6129
6278
  }, []);
6130
- useEffect12(() => {
6279
+ useEffect13(() => {
6131
6280
  if (!showCorrectAnswer) return;
6132
6281
  answer.data.find(
6133
6282
  (answerData) => answerData.type === "TRUE_FALSE"
@@ -6157,14 +6306,14 @@ var TrueFalseActivityMaterialContent = ({
6157
6306
  return "INCORRECT";
6158
6307
  };
6159
6308
  const answerMap = retrieveAnswerMap();
6160
- return /* @__PURE__ */ jsxs28("div", { className: "", children: [
6161
- /* @__PURE__ */ jsx39("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx39("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6162
- /* @__PURE__ */ jsx39("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx39(DividerLine_default, {}) }),
6163
- /* @__PURE__ */ jsxs28("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6164
- /* @__PURE__ */ jsx39("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx39("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6165
- /* @__PURE__ */ jsx39("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx39("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6309
+ return /* @__PURE__ */ jsxs30("div", { className: "", children: [
6310
+ /* @__PURE__ */ jsx42("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx42("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6311
+ /* @__PURE__ */ jsx42("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx42(DividerLine_default, {}) }),
6312
+ /* @__PURE__ */ jsxs30("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6313
+ /* @__PURE__ */ jsx42("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx42("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6314
+ /* @__PURE__ */ jsx42("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx42("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6166
6315
  ] }),
6167
- checkCanAnswerQuestion() ? /* @__PURE__ */ jsx39("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6316
+ checkCanAnswerQuestion() ? /* @__PURE__ */ jsx42("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6168
6317
  const correctAnswer = materialMap.trueList.find(
6169
6318
  (trueItem) => trueItem === shuffleOption
6170
6319
  ) !== void 0 ? "TRUE" : "FALSE";
@@ -6175,21 +6324,21 @@ var TrueFalseActivityMaterialContent = ({
6175
6324
  correctAnswer,
6176
6325
  learnerAnswer
6177
6326
  );
6178
- return /* @__PURE__ */ jsxs28(
6327
+ return /* @__PURE__ */ jsxs30(
6179
6328
  "div",
6180
6329
  {
6181
6330
  className: `w-full flex flex-row items-center justify-center cursor-pointer my-2 ${learnerAnswerState === "CORRECT" ? "border-2 border-catchup-green rounded-catchup-xlarge p-2" : learnerAnswerState === "INCORRECT" ? "border-2 border-catchup-red rounded-catchup-xlarge p-2" : ""}`,
6182
6331
  children: [
6183
- /* @__PURE__ */ jsx39("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx39("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6332
+ /* @__PURE__ */ jsx42("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx42("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6184
6333
  shuffleOption
6185
- ).map((inputPart, index2) => /* @__PURE__ */ jsx39(
6334
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx42(
6186
6335
  "span",
6187
6336
  {
6188
6337
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6189
- children: inputPart.isEquation ? /* @__PURE__ */ jsx39("span", { className: "text-2xl", children: /* @__PURE__ */ jsx39(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6338
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx42("span", { className: "text-2xl", children: /* @__PURE__ */ jsx42(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6190
6339
  },
6191
6340
  index2
6192
- )) }) : /* @__PURE__ */ jsx39(
6341
+ )) }) : /* @__PURE__ */ jsx42(
6193
6342
  ShowMaterialMediaByContentType_default,
6194
6343
  {
6195
6344
  contentType: contentMap.type,
@@ -6198,8 +6347,8 @@ var TrueFalseActivityMaterialContent = ({
6198
6347
  },
6199
6348
  `${uniqueValue}-${index}`
6200
6349
  ) }),
6201
- /* @__PURE__ */ jsxs28("div", { className: "flex flex-row items-center gap-x-2", children: [
6202
- /* @__PURE__ */ jsx39("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx39("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx39(
6350
+ /* @__PURE__ */ jsxs30("div", { className: "flex flex-row items-center gap-x-2", children: [
6351
+ /* @__PURE__ */ jsx42("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx42("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx42(
6203
6352
  BaseImage_default,
6204
6353
  {
6205
6354
  src: answerMap.trueList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6210,7 +6359,7 @@ var TrueFalseActivityMaterialContent = ({
6210
6359
  }
6211
6360
  }
6212
6361
  ) }) }),
6213
- /* @__PURE__ */ jsx39("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx39("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx39(
6362
+ /* @__PURE__ */ jsx42("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx42("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx42(
6214
6363
  BaseImage_default,
6215
6364
  {
6216
6365
  src: answerMap.falseList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6226,14 +6375,14 @@ var TrueFalseActivityMaterialContent = ({
6226
6375
  },
6227
6376
  index
6228
6377
  );
6229
- }) }) : /* @__PURE__ */ jsxs28(Fragment9, { children: [
6230
- answerMap.trueList.map((item) => /* @__PURE__ */ jsxs28("div", { className: "flex flex-row items-center gap-x-2", children: [
6231
- /* @__PURE__ */ jsx39("div", { className: "flex-1", children: /* @__PURE__ */ jsx39("p", { children: item }) }),
6232
- /* @__PURE__ */ jsx39("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx39("p", { className: "underline", children: i18n_default.t("true") }) })
6378
+ }) }) : /* @__PURE__ */ jsxs30(Fragment9, { children: [
6379
+ answerMap.trueList.map((item) => /* @__PURE__ */ jsxs30("div", { className: "flex flex-row items-center gap-x-2", children: [
6380
+ /* @__PURE__ */ jsx42("div", { className: "flex-1", children: /* @__PURE__ */ jsx42("p", { children: item }) }),
6381
+ /* @__PURE__ */ jsx42("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx42("p", { className: "underline", children: i18n_default.t("true") }) })
6233
6382
  ] })),
6234
- answerMap.falseList.map((item) => /* @__PURE__ */ jsxs28("div", { className: "flex flex-row items-center gap-x-2", children: [
6235
- /* @__PURE__ */ jsx39("div", { className: "flex-1", children: /* @__PURE__ */ jsx39("p", { children: item }) }),
6236
- /* @__PURE__ */ jsx39("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx39("p", { className: "underline", children: i18n_default.t("false") }) })
6383
+ answerMap.falseList.map((item) => /* @__PURE__ */ jsxs30("div", { className: "flex flex-row items-center gap-x-2", children: [
6384
+ /* @__PURE__ */ jsx42("div", { className: "flex-1", children: /* @__PURE__ */ jsx42("p", { children: item }) }),
6385
+ /* @__PURE__ */ jsx42("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx42("p", { className: "underline", children: i18n_default.t("false") }) })
6237
6386
  ] }))
6238
6387
  ] })
6239
6388
  ] });
@@ -6241,7 +6390,7 @@ var TrueFalseActivityMaterialContent = ({
6241
6390
  var TrueFalseActivityMaterialContent_default = TrueFalseActivityMaterialContent;
6242
6391
 
6243
6392
  // src/components/activities/TrueFalseActivityContent.tsx
6244
- import { jsx as jsx40, jsxs as jsxs29 } from "react/jsx-runtime";
6393
+ import { jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
6245
6394
  var TrueFalseActivityContent = ({
6246
6395
  answer,
6247
6396
  data,
@@ -6291,17 +6440,17 @@ var TrueFalseActivityContent = ({
6291
6440
  }
6292
6441
  changeAnswer(answer2);
6293
6442
  };
6294
- return /* @__PURE__ */ jsxs29("div", { className: "flex flex-row flex-wrap", children: [
6295
- /* @__PURE__ */ jsx40("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ jsx40(
6443
+ return /* @__PURE__ */ jsxs31("div", { className: "flex flex-row flex-wrap", children: [
6444
+ /* @__PURE__ */ jsx43("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ jsx43(
6296
6445
  ActivityBodyContent_default,
6297
6446
  {
6298
6447
  bodyMap: trueFalseBodyMap,
6299
6448
  templateType: "GROUPING"
6300
6449
  }
6301
6450
  ) }),
6302
- /* @__PURE__ */ jsx40("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx40(DividerLine_default, {}) }),
6303
- /* @__PURE__ */ jsx40("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx40(VerticalDividerLine_default, {}) }),
6304
- /* @__PURE__ */ jsx40("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx40(
6451
+ /* @__PURE__ */ jsx43("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx43(DividerLine_default, {}) }),
6452
+ /* @__PURE__ */ jsx43("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx43(VerticalDividerLine_default, {}) }),
6453
+ /* @__PURE__ */ jsx43("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx43(
6305
6454
  TrueFalseActivityMaterialContent_default,
6306
6455
  {
6307
6456
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6320,7 +6469,7 @@ var TrueFalseActivityContent_default = TrueFalseActivityContent;
6320
6469
 
6321
6470
  // src/components/activities/solution-content/ActivitySolutionContent.tsx
6322
6471
  import { InlineMath as InlineMath10 } from "react-katex";
6323
- import { jsx as jsx41, jsxs as jsxs30 } from "react/jsx-runtime";
6472
+ import { jsx as jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
6324
6473
  var ActivitySolutionContent = ({
6325
6474
  activityTemplateType,
6326
6475
  data
@@ -6350,8 +6499,8 @@ var ActivitySolutionContent = ({
6350
6499
  return null;
6351
6500
  }
6352
6501
  if (!solutionMap || Object.keys(solutionMap).length === 0) return null;
6353
- return /* @__PURE__ */ jsx41("div", { className: "mx-2", children: /* @__PURE__ */ jsxs30("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
6354
- /* @__PURE__ */ jsx41("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6502
+ return /* @__PURE__ */ jsx44("div", { className: "mx-2", children: /* @__PURE__ */ jsxs32("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
6503
+ /* @__PURE__ */ jsx44("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6355
6504
  Object.keys(solutionMap).map((key) => {
6356
6505
  let currentItem;
6357
6506
  try {
@@ -6361,12 +6510,12 @@ var ActivitySolutionContent = ({
6361
6510
  return null;
6362
6511
  }
6363
6512
  const { value } = currentItem;
6364
- return /* @__PURE__ */ jsx41("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6365
- (inputPart, partIndex) => /* @__PURE__ */ jsx41(
6513
+ return /* @__PURE__ */ jsx44("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6514
+ (inputPart, partIndex) => /* @__PURE__ */ jsx44(
6366
6515
  "span",
6367
6516
  {
6368
6517
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6369
- children: inputPart.isEquation ? /* @__PURE__ */ jsx41("span", { className: "text-2xl", children: /* @__PURE__ */ jsx41(InlineMath10, { math: inputPart.value }) }) : inputPart.value
6518
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx44("span", { className: "text-2xl", children: /* @__PURE__ */ jsx44(InlineMath10, { math: inputPart.value }) }) : inputPart.value
6370
6519
  },
6371
6520
  `${key}_part_${partIndex}`
6372
6521
  )
@@ -6378,7 +6527,7 @@ var ActivitySolutionContent_default = ActivitySolutionContent;
6378
6527
 
6379
6528
  // src/components/activities/evaluation-rubric-content/ActivityEvaluationRubricContent.tsx
6380
6529
  import { InlineMath as InlineMath11 } from "react-katex";
6381
- import { jsx as jsx42, jsxs as jsxs31 } from "react/jsx-runtime";
6530
+ import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
6382
6531
  var ActivityEvaluationRubricContent = ({
6383
6532
  activityTemplateType,
6384
6533
  data
@@ -6407,21 +6556,21 @@ var ActivityEvaluationRubricContent = ({
6407
6556
  }
6408
6557
  if (!evaluationRubricMap || Object.keys(evaluationRubricMap).length === 0)
6409
6558
  return null;
6410
- return /* @__PURE__ */ jsx42("div", { className: "mx-2", children: /* @__PURE__ */ jsxs31("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
6411
- /* @__PURE__ */ jsx42("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
6559
+ return /* @__PURE__ */ jsx45("div", { className: "mx-2", children: /* @__PURE__ */ jsxs33("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
6560
+ /* @__PURE__ */ jsx45("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
6412
6561
  Object.keys(evaluationRubricMap).map((key, index) => {
6413
6562
  const currentItem = JSON.parse(evaluationRubricMap[key]);
6414
6563
  const { value } = currentItem;
6415
- return /* @__PURE__ */ jsx42("p", { className: "my-3", children: /* @__PURE__ */ jsx42(
6564
+ return /* @__PURE__ */ jsx45("p", { className: "my-3", children: /* @__PURE__ */ jsx45(
6416
6565
  "span",
6417
6566
  {
6418
6567
  className: "text-xl whitespace-pre-wrap",
6419
6568
  children: constructInputWithSpecialExpressionList(value).map(
6420
- (inputPart, index2) => /* @__PURE__ */ jsx42(
6569
+ (inputPart, index2) => /* @__PURE__ */ jsx45(
6421
6570
  "span",
6422
6571
  {
6423
6572
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6424
- children: inputPart.isEquation ? /* @__PURE__ */ jsx42("span", { className: "text-2xl", children: /* @__PURE__ */ jsx42(InlineMath11, { math: inputPart.value }) }) : inputPart.value
6573
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx45("span", { className: "text-2xl", children: /* @__PURE__ */ jsx45(InlineMath11, { math: inputPart.value }) }) : inputPart.value
6425
6574
  },
6426
6575
  index2
6427
6576
  )
@@ -6435,31 +6584,31 @@ var ActivityEvaluationRubricContent = ({
6435
6584
  var ActivityEvaluationRubricContent_default = ActivityEvaluationRubricContent;
6436
6585
 
6437
6586
  // src/components/activities/ActivityPreviewByData.tsx
6438
- import { useEffect as useEffect13, useState as useState22 } from "react";
6587
+ import { useEffect as useEffect14, useState as useState23 } from "react";
6439
6588
 
6440
6589
  // src/components/boxes/SelectionBox.tsx
6441
- import { jsx as jsx43, jsxs as jsxs32 } from "react/jsx-runtime";
6590
+ import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
6442
6591
  var SelectionBox = ({
6443
6592
  optionList,
6444
6593
  selectedId,
6445
6594
  handleSelectOnClick
6446
6595
  }) => {
6447
- return /* @__PURE__ */ jsx43("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx43(
6596
+ return /* @__PURE__ */ jsx46("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx46(
6448
6597
  "div",
6449
6598
  {
6450
6599
  className: `${option.id === selectedId ? "border-catchup-blue-400" : "border-catchup-gray-100 hover:border-catchup-blue-500"} border-2 rounded-catchup-xlarge py-3 px-8 cursor-pointer duration-300 transition-all`,
6451
6600
  onClick: () => {
6452
6601
  handleSelectOnClick(option.id);
6453
6602
  },
6454
- children: /* @__PURE__ */ jsxs32(
6603
+ children: /* @__PURE__ */ jsxs34(
6455
6604
  "div",
6456
6605
  {
6457
6606
  className: `flex flex-row items-center gap-x-1 ${option.id === selectedId ? "opacity-100" : "opacity-50"}`,
6458
6607
  children: [
6459
6608
  option.icon,
6460
- /* @__PURE__ */ jsxs32("div", { className: "flex-1 flex flex-col items-center", children: [
6461
- /* @__PURE__ */ jsx43("p", { children: option.text }),
6462
- option.subText ? /* @__PURE__ */ jsxs32("p", { className: "text-md", children: [
6609
+ /* @__PURE__ */ jsxs34("div", { className: "flex-1 flex flex-col items-center", children: [
6610
+ /* @__PURE__ */ jsx46("p", { children: option.text }),
6611
+ option.subText ? /* @__PURE__ */ jsxs34("p", { className: "text-md", children: [
6463
6612
  "(",
6464
6613
  option.subText,
6465
6614
  ")"
@@ -6475,7 +6624,7 @@ var SelectionBox = ({
6475
6624
  var SelectionBox_default = SelectionBox;
6476
6625
 
6477
6626
  // src/components/activities/ActivityPreviewByData.tsx
6478
- import { jsx as jsx44, jsxs as jsxs33 } from "react/jsx-runtime";
6627
+ import { jsx as jsx47, jsxs as jsxs35 } from "react/jsx-runtime";
6479
6628
  var ActivityPreviewByData = ({
6480
6629
  data,
6481
6630
  showType,
@@ -6487,14 +6636,14 @@ var ActivityPreviewByData = ({
6487
6636
  showTaxonomy,
6488
6637
  isFullScreen
6489
6638
  }) => {
6490
- const [key, setKey] = useState22((/* @__PURE__ */ new Date()).getTime());
6491
- const [selectedType, setSelectedType] = useState22(null);
6492
- const [optionList, setOptionList] = useState22([]);
6493
- useEffect13(() => {
6639
+ const [key, setKey] = useState23((/* @__PURE__ */ new Date()).getTime());
6640
+ const [selectedType, setSelectedType] = useState23(null);
6641
+ const [optionList, setOptionList] = useState23([]);
6642
+ useEffect14(() => {
6494
6643
  if (!data) return;
6495
6644
  setKey((/* @__PURE__ */ new Date()).getTime());
6496
6645
  }, [data]);
6497
- useEffect13(() => {
6646
+ useEffect14(() => {
6498
6647
  if (!typeOptionList) return;
6499
6648
  if (typeOptionList.length === 0) return;
6500
6649
  let foundTypeOption;
@@ -6509,7 +6658,7 @@ var ActivityPreviewByData = ({
6509
6658
  setSelectedType(typeOptionList[0].id);
6510
6659
  }
6511
6660
  }, [typeOptionList, lockedType]);
6512
- useEffect13(() => {
6661
+ useEffect14(() => {
6513
6662
  const retrieveTaxonomyNameByActivityTypeFromData = (type) => {
6514
6663
  let taxonomyMap = {
6515
6664
  name: ""
@@ -6558,10 +6707,10 @@ var ActivityPreviewByData = ({
6558
6707
  }, [data, lockedType, typeOptionList, showTaxonomy]);
6559
6708
  if (!data) return;
6560
6709
  const answer = constructAnswerBasedOnData(data);
6561
- return /* @__PURE__ */ jsxs33("div", { children: [
6562
- showType ? /* @__PURE__ */ jsxs33("div", { className: "mb-4", children: [
6563
- showDescription ? /* @__PURE__ */ jsx44("div", { className: "my-2", children: /* @__PURE__ */ jsx44("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
6564
- /* @__PURE__ */ jsx44(
6710
+ return /* @__PURE__ */ jsxs35("div", { children: [
6711
+ showType ? /* @__PURE__ */ jsxs35("div", { className: "mb-4", children: [
6712
+ showDescription ? /* @__PURE__ */ jsx47("div", { className: "my-2", children: /* @__PURE__ */ jsx47("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
6713
+ /* @__PURE__ */ jsx47(
6565
6714
  SelectionBox_default,
6566
6715
  {
6567
6716
  optionList,
@@ -6572,7 +6721,7 @@ var ActivityPreviewByData = ({
6572
6721
  }
6573
6722
  )
6574
6723
  ] }) : null,
6575
- selectedType ? /* @__PURE__ */ jsx44("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ jsx44(
6724
+ selectedType ? /* @__PURE__ */ jsx47("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6576
6725
  OrderingActivityContent_default,
6577
6726
  {
6578
6727
  answer,
@@ -6586,7 +6735,7 @@ var ActivityPreviewByData = ({
6586
6735
  showCorrectAnswer: true,
6587
6736
  isFullScreen
6588
6737
  }
6589
- ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ jsx44(
6738
+ ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6590
6739
  DropdownActivityContent_default,
6591
6740
  {
6592
6741
  answer,
@@ -6600,7 +6749,7 @@ var ActivityPreviewByData = ({
6600
6749
  showCorrectAnswer: true,
6601
6750
  isFullScreen
6602
6751
  }
6603
- ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ jsx44(
6752
+ ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6604
6753
  MCSAActivityContent_default,
6605
6754
  {
6606
6755
  answer,
@@ -6614,7 +6763,7 @@ var ActivityPreviewByData = ({
6614
6763
  showCorrectAnswer: true,
6615
6764
  isFullScreen
6616
6765
  }
6617
- ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ jsx44(
6766
+ ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6618
6767
  MCMAActivityContent_default,
6619
6768
  {
6620
6769
  answer,
@@ -6628,7 +6777,7 @@ var ActivityPreviewByData = ({
6628
6777
  showCorrectAnswer: true,
6629
6778
  isFullScreen
6630
6779
  }
6631
- ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ jsx44(
6780
+ ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6632
6781
  MatchingActivityContent_default,
6633
6782
  {
6634
6783
  answer,
@@ -6642,7 +6791,7 @@ var ActivityPreviewByData = ({
6642
6791
  showCorrectAnswer: true,
6643
6792
  isFullScreen
6644
6793
  }
6645
- ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ jsx44(
6794
+ ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6646
6795
  GroupingActivityContent_default,
6647
6796
  {
6648
6797
  answer,
@@ -6656,7 +6805,7 @@ var ActivityPreviewByData = ({
6656
6805
  showCorrectAnswer: true,
6657
6806
  isFullScreen
6658
6807
  }
6659
- ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ jsx44(
6808
+ ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6660
6809
  FillInTheBlanksActivityContent_default,
6661
6810
  {
6662
6811
  answer,
@@ -6670,7 +6819,7 @@ var ActivityPreviewByData = ({
6670
6819
  showCorrectAnswer: true,
6671
6820
  isFullScreen
6672
6821
  }
6673
- ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ jsx44(
6822
+ ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ jsx47(
6674
6823
  OpenEndedActivityContent_default,
6675
6824
  {
6676
6825
  answer,
@@ -6680,7 +6829,7 @@ var ActivityPreviewByData = ({
6680
6829
  data,
6681
6830
  isFullScreen
6682
6831
  }
6683
- ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ jsx44(
6832
+ ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6684
6833
  TrueFalseActivityContent_default,
6685
6834
  {
6686
6835
  answer,
@@ -6695,14 +6844,14 @@ var ActivityPreviewByData = ({
6695
6844
  isFullScreen
6696
6845
  }
6697
6846
  ) : null }, selectedType) : null,
6698
- selectedType && showSolution ? /* @__PURE__ */ jsx44("div", { className: "my-4", children: /* @__PURE__ */ jsx44(
6847
+ selectedType && showSolution ? /* @__PURE__ */ jsx47("div", { className: "my-4", children: /* @__PURE__ */ jsx47(
6699
6848
  ActivitySolutionContent_default,
6700
6849
  {
6701
6850
  activityTemplateType: selectedType,
6702
6851
  data
6703
6852
  }
6704
6853
  ) }) : null,
6705
- selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx44("div", { className: "my-4", children: /* @__PURE__ */ jsx44(
6854
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx47("div", { className: "my-4", children: /* @__PURE__ */ jsx47(
6706
6855
  ActivityEvaluationRubricContent_default,
6707
6856
  {
6708
6857
  activityTemplateType: selectedType,
@@ -6714,8 +6863,8 @@ var ActivityPreviewByData = ({
6714
6863
  var ActivityPreviewByData_default = ActivityPreviewByData;
6715
6864
 
6716
6865
  // src/components/activities/ActivityPreviewByAnswerData.tsx
6717
- import { useEffect as useEffect14, useState as useState23 } from "react";
6718
- import { jsx as jsx45, jsxs as jsxs34 } from "react/jsx-runtime";
6866
+ import { useEffect as useEffect15, useState as useState24 } from "react";
6867
+ import { jsx as jsx48, jsxs as jsxs36 } from "react/jsx-runtime";
6719
6868
  var ActivityPreviewByAnswerData = ({
6720
6869
  data,
6721
6870
  showType = true,
@@ -6729,11 +6878,11 @@ var ActivityPreviewByAnswerData = ({
6729
6878
  showCorrectAnswer = false
6730
6879
  }) => {
6731
6880
  var _a;
6732
- const [key, setKey] = useState23((/* @__PURE__ */ new Date()).getTime());
6733
- const [selectedType, setSelectedType] = useState23(null);
6734
- const [optionList, setOptionList] = useState23([]);
6735
- const [answer, setAnswer] = useState23({ data: [] });
6736
- useEffect14(() => {
6881
+ const [key, setKey] = useState24((/* @__PURE__ */ new Date()).getTime());
6882
+ const [selectedType, setSelectedType] = useState24(null);
6883
+ const [optionList, setOptionList] = useState24([]);
6884
+ const [answer, setAnswer] = useState24({ data: [] });
6885
+ useEffect15(() => {
6737
6886
  if (!data) return;
6738
6887
  setKey((/* @__PURE__ */ new Date()).getTime());
6739
6888
  }, [data]);
@@ -6770,7 +6919,7 @@ var ActivityPreviewByAnswerData = ({
6770
6919
  }
6771
6920
  return taxonomyMap.name || "";
6772
6921
  };
6773
- useEffect14(() => {
6922
+ useEffect15(() => {
6774
6923
  if (!data) return;
6775
6924
  const constructAnswerBasedOnData2 = () => {
6776
6925
  const newAnswer = { data: [] };
@@ -6809,7 +6958,7 @@ var ActivityPreviewByAnswerData = ({
6809
6958
  };
6810
6959
  constructAnswerBasedOnData2();
6811
6960
  }, [data, lockedType]);
6812
- useEffect14(() => {
6961
+ useEffect15(() => {
6813
6962
  if (!data || !answer.data.length) return;
6814
6963
  let currentTypeOptionList = typeOptionList || answer.data.map((item) => ({
6815
6964
  id: item.type,
@@ -6842,37 +6991,37 @@ var ActivityPreviewByAnswerData = ({
6842
6991
  };
6843
6992
  switch (selectedType) {
6844
6993
  case "ORDERING":
6845
- return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsx45(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
6994
+ return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsx48(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
6846
6995
  case "DROPDOWN":
6847
- return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsx45(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
6996
+ return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsx48(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
6848
6997
  case "MCSA":
6849
- return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsx45(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
6998
+ return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsx48(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
6850
6999
  case "MCMA":
6851
- return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsx45(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
7000
+ return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsx48(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
6852
7001
  case "MATCHING":
6853
- return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsx45(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
7002
+ return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsx48(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
6854
7003
  case "GROUPING":
6855
- return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsx45(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
7004
+ return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsx48(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
6856
7005
  case "FILL_IN_THE_BLANKS":
6857
- return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsx45(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
7006
+ return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsx48(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
6858
7007
  case "OPEN_ENDED":
6859
- return data.openEndedBodyMap ? /* @__PURE__ */ jsx45(
7008
+ return data.openEndedBodyMap ? /* @__PURE__ */ jsx48(
6860
7009
  OpenEndedActivityContent_default,
6861
7010
  __spreadProps(__spreadValues({}, commonProps), {
6862
7011
  showMaterialContent: true
6863
7012
  })
6864
7013
  ) : null;
6865
7014
  case "TRUE_FALSE":
6866
- return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsx45(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
7015
+ return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsx48(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
6867
7016
  default:
6868
7017
  return null;
6869
7018
  }
6870
7019
  };
6871
7020
  if (!data) return null;
6872
- return /* @__PURE__ */ jsxs34("div", { children: [
6873
- showType && optionList.length > 0 ? /* @__PURE__ */ jsxs34("div", { className: "mb-4", children: [
6874
- showDescription ? /* @__PURE__ */ jsx45("div", { className: "my-2", children: /* @__PURE__ */ jsx45("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
6875
- /* @__PURE__ */ jsx45(
7021
+ return /* @__PURE__ */ jsxs36("div", { children: [
7022
+ showType && optionList.length > 0 ? /* @__PURE__ */ jsxs36("div", { className: "mb-4", children: [
7023
+ showDescription ? /* @__PURE__ */ jsx48("div", { className: "my-2", children: /* @__PURE__ */ jsx48("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7024
+ /* @__PURE__ */ jsx48(
6876
7025
  SelectionBox_default,
6877
7026
  {
6878
7027
  optionList,
@@ -6883,19 +7032,19 @@ var ActivityPreviewByAnswerData = ({
6883
7032
  }
6884
7033
  )
6885
7034
  ] }) : null,
6886
- /* @__PURE__ */ jsx45(DividerLine_default, {}),
6887
- /* @__PURE__ */ jsxs34("div", { className: "flex flex-col my-2 w-full p-5", children: [
6888
- ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ jsx45(ActivityEmptyContent_default, {}) : null,
6889
- selectedType ? /* @__PURE__ */ jsx45("div", { children: RenderSelectedActivityContent() }, selectedType) : null
7035
+ /* @__PURE__ */ jsx48(DividerLine_default, {}),
7036
+ /* @__PURE__ */ jsxs36("div", { className: "flex flex-col my-2 w-full p-5", children: [
7037
+ ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}) : null,
7038
+ selectedType ? /* @__PURE__ */ jsx48("div", { children: RenderSelectedActivityContent() }, selectedType) : null
6890
7039
  ] }),
6891
- selectedType && showSolution ? /* @__PURE__ */ jsx45("div", { className: "my-4", children: /* @__PURE__ */ jsx45(
7040
+ selectedType && showSolution ? /* @__PURE__ */ jsx48("div", { className: "my-4", children: /* @__PURE__ */ jsx48(
6892
7041
  ActivitySolutionContent_default,
6893
7042
  {
6894
7043
  activityTemplateType: selectedType,
6895
7044
  data
6896
7045
  }
6897
7046
  ) }) : null,
6898
- selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx45("div", { className: "my-4", children: /* @__PURE__ */ jsx45(
7047
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx48("div", { className: "my-4", children: /* @__PURE__ */ jsx48(
6899
7048
  ActivityEvaluationRubricContent_default,
6900
7049
  {
6901
7050
  activityTemplateType: selectedType,
@@ -6907,9 +7056,9 @@ var ActivityPreviewByAnswerData = ({
6907
7056
  var ActivityPreviewByAnswerData_default = ActivityPreviewByAnswerData;
6908
7057
 
6909
7058
  // src/components/dividers/BlueVerticalDividerLine.tsx
6910
- import { jsx as jsx46 } from "react/jsx-runtime";
7059
+ import { jsx as jsx49 } from "react/jsx-runtime";
6911
7060
  var BlueVerticalDividerLine = ({ opacity }) => {
6912
- return /* @__PURE__ */ jsx46(
7061
+ return /* @__PURE__ */ jsx49(
6913
7062
  "div",
6914
7063
  {
6915
7064
  className: `w-[2px] h-[40px] my-4 bg-catchup-blue ${opacity === "medium" ? "opacity-50" : ""}`
@@ -6919,7 +7068,7 @@ var BlueVerticalDividerLine = ({ opacity }) => {
6919
7068
  var BlueVerticalDividerLine_default = BlueVerticalDividerLine;
6920
7069
 
6921
7070
  // src/components/groups/LeftTextRightInputGroup.tsx
6922
- import { jsx as jsx47, jsxs as jsxs35 } from "react/jsx-runtime";
7071
+ import { jsx as jsx50, jsxs as jsxs37 } from "react/jsx-runtime";
6923
7072
  var LeftTextRightInputGroup = ({
6924
7073
  type,
6925
7074
  title,
@@ -6929,9 +7078,9 @@ var LeftTextRightInputGroup = ({
6929
7078
  disabled,
6930
7079
  errorText
6931
7080
  }) => {
6932
- return /* @__PURE__ */ jsxs35("div", { className: "w-full flex flex-row mx-2", children: [
6933
- /* @__PURE__ */ jsx47("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ jsx47("p", { children: title }) }),
6934
- /* @__PURE__ */ jsx47("div", { className: "flex-1", children: /* @__PURE__ */ jsx47(
7081
+ return /* @__PURE__ */ jsxs37("div", { className: "w-full flex flex-row mx-2", children: [
7082
+ /* @__PURE__ */ jsx50("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ jsx50("p", { children: title }) }),
7083
+ /* @__PURE__ */ jsx50("div", { className: "flex-1", children: /* @__PURE__ */ jsx50(
6935
7084
  InputGroup_default,
6936
7085
  {
6937
7086
  type,
@@ -6947,14 +7096,14 @@ var LeftTextRightInputGroup = ({
6947
7096
  var LeftTextRightInputGroup_default = LeftTextRightInputGroup;
6948
7097
 
6949
7098
  // src/components/boxes/SelectionCheckbox.tsx
6950
- import { jsx as jsx48, jsxs as jsxs36 } from "react/jsx-runtime";
7099
+ import { jsx as jsx51, jsxs as jsxs38 } from "react/jsx-runtime";
6951
7100
  var SelectionCheckbox = ({
6952
7101
  optionList,
6953
7102
  selectedIdList,
6954
7103
  handleSelectOnClick,
6955
7104
  handleRemoveOnClick
6956
7105
  }) => {
6957
- return /* @__PURE__ */ jsx48("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx48(
7106
+ return /* @__PURE__ */ jsx51("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx51(
6958
7107
  "div",
6959
7108
  {
6960
7109
  className: `${selectedIdList.findIndex(
@@ -6969,14 +7118,14 @@ var SelectionCheckbox = ({
6969
7118
  handleRemoveOnClick(option.id);
6970
7119
  }
6971
7120
  },
6972
- children: /* @__PURE__ */ jsxs36(
7121
+ children: /* @__PURE__ */ jsxs38(
6973
7122
  "div",
6974
7123
  {
6975
7124
  className: `flex flex-row items-center gap-x-1 ${selectedIdList.findIndex(
6976
7125
  (selectedId) => selectedId === option.id
6977
7126
  ) > -1 ? "opacity-100" : "opacity-50"}`,
6978
7127
  children: [
6979
- /* @__PURE__ */ jsx48(
7128
+ /* @__PURE__ */ jsx51(
6980
7129
  BaseImage_default,
6981
7130
  {
6982
7131
  src: selectedIdList.findIndex(
@@ -6986,7 +7135,7 @@ var SelectionCheckbox = ({
6986
7135
  size: "small"
6987
7136
  }
6988
7137
  ),
6989
- /* @__PURE__ */ jsx48("div", { className: "flex-1", children: /* @__PURE__ */ jsx48("p", { children: option.text }) })
7138
+ /* @__PURE__ */ jsx51("div", { className: "flex-1", children: /* @__PURE__ */ jsx51("p", { children: option.text }) })
6990
7139
  ]
6991
7140
  }
6992
7141
  )
@@ -6997,7 +7146,7 @@ var SelectionCheckbox = ({
6997
7146
  var SelectionCheckbox_default = SelectionCheckbox;
6998
7147
 
6999
7148
  // src/components/tabs/SelectionTab.tsx
7000
- import { jsx as jsx49, jsxs as jsxs37 } from "react/jsx-runtime";
7149
+ import { jsx as jsx52, jsxs as jsxs39 } from "react/jsx-runtime";
7001
7150
  var SelectionTab = ({
7002
7151
  optionList,
7003
7152
  selectedId,
@@ -7007,7 +7156,7 @@ var SelectionTab = ({
7007
7156
  textColor,
7008
7157
  borderColor
7009
7158
  }) => {
7010
- return /* @__PURE__ */ jsx49("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap mb-2 text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsxs37(
7159
+ return /* @__PURE__ */ jsx52("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap mb-2 text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsxs39(
7011
7160
  "div",
7012
7161
  {
7013
7162
  className: `${selectedId === option.id ? selectedTextColor ? selectedTextColor : "text-catchup-blue-500" : textColor ? textColor : "text-catchup-gray-300"} ${selectedId === option.id ? selectedBorderColor ? selectedBorderColor : "border-catchup-blue-500" : borderColor ? borderColor : "border-catchup-gray-50"} border-b-2 transition-all duration-300 p-3 cursor-pointer`,
@@ -7015,8 +7164,8 @@ var SelectionTab = ({
7015
7164
  handleSelectOnClick(option.id);
7016
7165
  },
7017
7166
  children: [
7018
- /* @__PURE__ */ jsx49("p", { className: "text-lg", children: option.title }),
7019
- option.subTitle ? /* @__PURE__ */ jsx49("p", { className: "text-md", children: option.subTitle }) : null
7167
+ /* @__PURE__ */ jsx52("p", { className: "text-lg", children: option.title }),
7168
+ option.subTitle ? /* @__PURE__ */ jsx52("p", { className: "text-md", children: option.subTitle }) : null
7020
7169
  ]
7021
7170
  },
7022
7171
  index
@@ -7025,20 +7174,20 @@ var SelectionTab = ({
7025
7174
  var SelectionTab_default = SelectionTab;
7026
7175
 
7027
7176
  // src/components/tabs/SelectionTabFill.tsx
7028
- import { jsx as jsx50 } from "react/jsx-runtime";
7177
+ import { jsx as jsx53 } from "react/jsx-runtime";
7029
7178
  var SelectionTabFill = ({
7030
7179
  optionList,
7031
7180
  selectedId,
7032
7181
  handleSelectOnClick
7033
7182
  }) => {
7034
- return /* @__PURE__ */ jsx50("div", { className: "w-full flex flex-row bg-catchup-gray-50 gap-x-2 rounded-catchup-medium px-4 py-2 justify-center text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx50(
7183
+ return /* @__PURE__ */ jsx53("div", { className: "w-full flex flex-row bg-catchup-gray-50 gap-x-2 rounded-catchup-medium px-4 py-2 justify-center text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx53(
7035
7184
  "div",
7036
7185
  {
7037
7186
  className: "cursor-pointer",
7038
7187
  onClick: () => {
7039
7188
  handleSelectOnClick(option.id);
7040
7189
  },
7041
- children: /* @__PURE__ */ jsx50(
7190
+ children: /* @__PURE__ */ jsx53(
7042
7191
  "p",
7043
7192
  {
7044
7193
  className: `${selectedId === option.id ? "text-catchup-white bg-catchup-blue-500" : "text-catchup-gray-300"} transition-all duration-300 rounded-catchup-medium px-2 py-1`,
@@ -7052,57 +7201,57 @@ var SelectionTabFill = ({
7052
7201
  var SelectionTabFill_default = SelectionTabFill;
7053
7202
 
7054
7203
  // src/components/labels/ActivityTemplateLabel.tsx
7055
- import { jsx as jsx51, jsxs as jsxs38 } from "react/jsx-runtime";
7204
+ import { jsx as jsx54, jsxs as jsxs40 } from "react/jsx-runtime";
7056
7205
  var ActivityTemplateLabel = ({
7057
7206
  title,
7058
7207
  font
7059
7208
  }) => {
7060
- return /* @__PURE__ */ jsx51("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs38("div", { className: "flex flex-row items-center gap-x-2", children: [
7061
- /* @__PURE__ */ jsx51(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7062
- /* @__PURE__ */ jsx51("p", { className: font ? font : "text-sm", children: title })
7209
+ return /* @__PURE__ */ jsx54("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs40("div", { className: "flex flex-row items-center gap-x-2", children: [
7210
+ /* @__PURE__ */ jsx54(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7211
+ /* @__PURE__ */ jsx54("p", { className: font ? font : "text-sm", children: title })
7063
7212
  ] }) });
7064
7213
  };
7065
7214
  var ActivityTemplateLabel_default = ActivityTemplateLabel;
7066
7215
 
7067
7216
  // src/components/labels/BrandLabel.tsx
7068
- import { jsx as jsx52, jsxs as jsxs39 } from "react/jsx-runtime";
7217
+ import { jsx as jsx55, jsxs as jsxs41 } from "react/jsx-runtime";
7069
7218
  var BrandLabel = ({ title, icon, font }) => {
7070
- return /* @__PURE__ */ jsx52("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs39("div", { className: "flex flex-row items-center gap-x-2", children: [
7071
- icon ? icon : /* @__PURE__ */ jsx52(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7072
- /* @__PURE__ */ jsx52("p", { className: font ? font : "text-sm", children: title })
7219
+ return /* @__PURE__ */ jsx55("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs41("div", { className: "flex flex-row items-center gap-x-2", children: [
7220
+ icon ? icon : /* @__PURE__ */ jsx55(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7221
+ /* @__PURE__ */ jsx55("p", { className: font ? font : "text-sm", children: title })
7073
7222
  ] }) });
7074
7223
  };
7075
7224
  var BrandLabel_default = BrandLabel;
7076
7225
 
7077
7226
  // src/components/labels/CoterieLabel.tsx
7078
- import { jsx as jsx53 } from "react/jsx-runtime";
7227
+ import { jsx as jsx56 } from "react/jsx-runtime";
7079
7228
  var CoterieLabel = ({ title, font }) => {
7080
- return /* @__PURE__ */ jsx53("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsx53("p", { className: font ? font : "text-sm", children: title }) });
7229
+ return /* @__PURE__ */ jsx56("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsx56("p", { className: font ? font : "text-sm", children: title }) });
7081
7230
  };
7082
7231
  var CoterieLabel_default = CoterieLabel;
7083
7232
 
7084
7233
  // src/components/labels/GradeLabel.tsx
7085
- import { jsx as jsx54 } from "react/jsx-runtime";
7234
+ import { jsx as jsx57 } from "react/jsx-runtime";
7086
7235
  var GradeLabel = ({ title, font }) => {
7087
- return /* @__PURE__ */ jsx54("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsx54("p", { className: font ? font : "text-sm", children: title }) });
7236
+ return /* @__PURE__ */ jsx57("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsx57("p", { className: font ? font : "text-sm", children: title }) });
7088
7237
  };
7089
7238
  var GradeLabel_default = GradeLabel;
7090
7239
 
7091
7240
  // src/components/labels/OutcomeLabel.tsx
7092
- import { jsx as jsx55, jsxs as jsxs40 } from "react/jsx-runtime";
7241
+ import { jsx as jsx58, jsxs as jsxs42 } from "react/jsx-runtime";
7093
7242
  var OutcomeLabel = ({ title, font }) => {
7094
- return /* @__PURE__ */ jsx55("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs40("div", { className: "flex flex-row items-center gap-x-2", children: [
7095
- /* @__PURE__ */ jsx55(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7096
- /* @__PURE__ */ jsx55("p", { className: font ? font : "text-sm", children: title })
7243
+ return /* @__PURE__ */ jsx58("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs42("div", { className: "flex flex-row items-center gap-x-2", children: [
7244
+ /* @__PURE__ */ jsx58(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7245
+ /* @__PURE__ */ jsx58("p", { className: font ? font : "text-sm", children: title })
7097
7246
  ] }) });
7098
7247
  };
7099
7248
  var OutcomeLabel_default = OutcomeLabel;
7100
7249
 
7101
7250
  // src/components/labels/PersonalLabel.tsx
7102
- import { jsx as jsx56, jsxs as jsxs41 } from "react/jsx-runtime";
7251
+ import { jsx as jsx59, jsxs as jsxs43 } from "react/jsx-runtime";
7103
7252
  var PersonalLabel = ({ title, icon, font }) => {
7104
- return /* @__PURE__ */ jsx56("div", { className: "px-3 py-1 gap-x-3 border border-personal-label-border bg-personal-label text-personal-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs41("div", { className: "flex flex-row items-center gap-x-2", children: [
7105
- icon ? icon : /* @__PURE__ */ jsx56(
7253
+ return /* @__PURE__ */ jsx59("div", { className: "px-3 py-1 gap-x-3 border border-personal-label-border bg-personal-label text-personal-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs43("div", { className: "flex flex-row items-center gap-x-2", children: [
7254
+ icon ? icon : /* @__PURE__ */ jsx59(
7106
7255
  BaseImage_default,
7107
7256
  {
7108
7257
  src: "/icons/personal-label.webp",
@@ -7110,16 +7259,16 @@ var PersonalLabel = ({ title, icon, font }) => {
7110
7259
  size: "xsmall"
7111
7260
  }
7112
7261
  ),
7113
- /* @__PURE__ */ jsx56("p", { className: font ? font : "text-sm", children: title })
7262
+ /* @__PURE__ */ jsx59("p", { className: font ? font : "text-sm", children: title })
7114
7263
  ] }) });
7115
7264
  };
7116
7265
  var PersonalLabel_default = PersonalLabel;
7117
7266
 
7118
7267
  // src/components/labels/PublishingHouseLabel.tsx
7119
- import { jsx as jsx57, jsxs as jsxs42 } from "react/jsx-runtime";
7268
+ import { jsx as jsx60, jsxs as jsxs44 } from "react/jsx-runtime";
7120
7269
  var PublishingHouseLabel = ({ title, icon, font }) => {
7121
- return /* @__PURE__ */ jsx57("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs42("div", { className: "flex flex-row items-center gap-x-2", children: [
7122
- icon ? icon : /* @__PURE__ */ jsx57(
7270
+ return /* @__PURE__ */ jsx60("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs44("div", { className: "flex flex-row items-center gap-x-2", children: [
7271
+ icon ? icon : /* @__PURE__ */ jsx60(
7123
7272
  BaseImage_default,
7124
7273
  {
7125
7274
  src: "/icons/publishing-house-label.webp",
@@ -7127,79 +7276,79 @@ var PublishingHouseLabel = ({ title, icon, font }) => {
7127
7276
  size: "xsmall"
7128
7277
  }
7129
7278
  ),
7130
- /* @__PURE__ */ jsx57("p", { className: font ? font : "text-sm", children: title })
7279
+ /* @__PURE__ */ jsx60("p", { className: font ? font : "text-sm", children: title })
7131
7280
  ] }) });
7132
7281
  };
7133
7282
  var PublishingHouseLabel_default = PublishingHouseLabel;
7134
7283
 
7135
7284
  // src/components/labels/ActivityLabel.tsx
7136
- import { jsx as jsx58 } from "react/jsx-runtime";
7285
+ import { jsx as jsx61 } from "react/jsx-runtime";
7137
7286
  var ActivityLabel = ({ title, font }) => {
7138
- return /* @__PURE__ */ jsx58("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsx58("p", { className: font ? font : "text-sm", children: title }) });
7287
+ return /* @__PURE__ */ jsx61("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsx61("p", { className: font ? font : "text-sm", children: title }) });
7139
7288
  };
7140
7289
  var ActivityLabel_default = ActivityLabel;
7141
7290
 
7142
7291
  // src/components/infos/InfoWithText.tsx
7143
- import { jsx as jsx59, jsxs as jsxs43 } from "react/jsx-runtime";
7292
+ import { jsx as jsx62, jsxs as jsxs45 } from "react/jsx-runtime";
7144
7293
  var InfoWithText = (props) => {
7145
7294
  const { value } = props;
7146
- return /* @__PURE__ */ jsxs43("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7147
- /* @__PURE__ */ jsx59(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7148
- /* @__PURE__ */ jsx59("div", { className: "flex-1", children: /* @__PURE__ */ jsx59("p", { className: "", children: value }) })
7295
+ return /* @__PURE__ */ jsxs45("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7296
+ /* @__PURE__ */ jsx62(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7297
+ /* @__PURE__ */ jsx62("div", { className: "flex-1", children: /* @__PURE__ */ jsx62("p", { className: "", children: value }) })
7149
7298
  ] });
7150
7299
  };
7151
7300
  var InfoWithText_default = InfoWithText;
7152
7301
 
7153
7302
  // src/components/texts/InputWithSpecialExpression.tsx
7154
7303
  import { InlineMath as InlineMath12 } from "react-katex";
7155
- import { jsx as jsx60 } from "react/jsx-runtime";
7304
+ import { jsx as jsx63 } from "react/jsx-runtime";
7156
7305
  var InputWithSpecialExpression = ({
7157
7306
  value,
7158
7307
  showSpecialOnly
7159
7308
  }) => {
7160
7309
  const inputWithSpecialExpressionList = constructInputWithSpecialExpressionList(value);
7161
- return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ jsx60("div", { className: "m-2", children: /* @__PURE__ */ jsx60("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx60(
7310
+ return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ jsx63("div", { className: "m-2", children: /* @__PURE__ */ jsx63("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx63(
7162
7311
  "span",
7163
7312
  {
7164
7313
  className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
7165
- children: inputPart.isEquation ? /* @__PURE__ */ jsx60("span", { className: "text-lg", children: /* @__PURE__ */ jsx60(InlineMath12, { math: inputPart.value }, index) }) : inputPart.value
7314
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx63("span", { className: "text-lg", children: /* @__PURE__ */ jsx63(InlineMath12, { math: inputPart.value }, index) }) : inputPart.value
7166
7315
  }
7167
- )) }) }) : null : /* @__PURE__ */ jsx60("div", { className: "m-2", children: /* @__PURE__ */ jsx60("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx60(
7316
+ )) }) }) : null : /* @__PURE__ */ jsx63("div", { className: "m-2", children: /* @__PURE__ */ jsx63("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx63(
7168
7317
  "span",
7169
7318
  {
7170
7319
  className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
7171
- children: inputPart.isEquation ? /* @__PURE__ */ jsx60("span", { className: "text-lg", children: /* @__PURE__ */ jsx60(InlineMath12, { math: inputPart.value }, index) }) : inputPart.value
7320
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx63("span", { className: "text-lg", children: /* @__PURE__ */ jsx63(InlineMath12, { math: inputPart.value }, index) }) : inputPart.value
7172
7321
  }
7173
7322
  )) }) });
7174
7323
  };
7175
7324
  var InputWithSpecialExpression_default = InputWithSpecialExpression;
7176
7325
 
7177
7326
  // src/components/titles/BaseTitle.tsx
7178
- import { jsx as jsx61, jsxs as jsxs44 } from "react/jsx-runtime";
7327
+ import { jsx as jsx64, jsxs as jsxs46 } from "react/jsx-runtime";
7179
7328
  var BaseTitle = ({
7180
7329
  title,
7181
7330
  totalItemCount,
7182
7331
  itemName,
7183
7332
  description
7184
7333
  }) => {
7185
- return /* @__PURE__ */ jsxs44("div", { className: "flex flex-col gap-y-2", children: [
7186
- /* @__PURE__ */ jsxs44("p", { className: "text-2xl font-medium", children: [
7334
+ return /* @__PURE__ */ jsxs46("div", { className: "flex flex-col gap-y-2", children: [
7335
+ /* @__PURE__ */ jsxs46("p", { className: "text-2xl font-medium", children: [
7187
7336
  title,
7188
- totalItemCount && itemName ? /* @__PURE__ */ jsxs44("span", { className: "p-2 text-base text-catchup-blue-600 border border-catchup-blue-300 rounded-catchup-3xlarge mx-2 bg-catchup-blue-100", children: [
7337
+ totalItemCount && itemName ? /* @__PURE__ */ jsxs46("span", { className: "p-2 text-base text-catchup-blue-600 border border-catchup-blue-300 rounded-catchup-3xlarge mx-2 bg-catchup-blue-100", children: [
7189
7338
  totalItemCount,
7190
7339
  " ",
7191
7340
  itemName
7192
7341
  ] }) : null
7193
7342
  ] }),
7194
- description ? /* @__PURE__ */ jsx61("p", { className: "", children: description }) : null
7343
+ description ? /* @__PURE__ */ jsx64("p", { className: "", children: description }) : null
7195
7344
  ] });
7196
7345
  };
7197
7346
  var BaseTitle_default = BaseTitle;
7198
7347
 
7199
7348
  // src/components/titles/SubTitle.tsx
7200
- import { jsx as jsx62 } from "react/jsx-runtime";
7349
+ import { jsx as jsx65 } from "react/jsx-runtime";
7201
7350
  var SubTitle = ({ title }) => {
7202
- return /* @__PURE__ */ jsx62("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7351
+ return /* @__PURE__ */ jsx65("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7203
7352
  };
7204
7353
  var SubTitle_default = SubTitle;
7205
7354
 
@@ -8682,6 +8831,50 @@ var constructWeekName = (beginDate, endDate, untilSunday) => {
8682
8831
  }
8683
8832
  }
8684
8833
  };
8834
+ var retrieveTimeFilterOptionList = () => {
8835
+ return [
8836
+ {
8837
+ text: i18n_default.t("all_time"),
8838
+ value: "all"
8839
+ },
8840
+ {
8841
+ text: i18n_default.t("today"),
8842
+ value: "today"
8843
+ },
8844
+ {
8845
+ text: i18n_default.t("yesterday"),
8846
+ value: "yesterday"
8847
+ },
8848
+ {
8849
+ text: i18n_default.t("this_week"),
8850
+ value: "this_week"
8851
+ },
8852
+ {
8853
+ text: i18n_default.t("last_week"),
8854
+ value: "last_week"
8855
+ },
8856
+ {
8857
+ text: i18n_default.t("this_month"),
8858
+ value: "this_month"
8859
+ },
8860
+ {
8861
+ text: i18n_default.t("last_month"),
8862
+ value: "last_month"
8863
+ },
8864
+ {
8865
+ text: i18n_default.t("last_7_days"),
8866
+ value: "last_7_days"
8867
+ },
8868
+ {
8869
+ text: i18n_default.t("last_30_days"),
8870
+ value: "last_30_days"
8871
+ },
8872
+ {
8873
+ text: i18n_default.t("last_90_days"),
8874
+ value: "last_90_days"
8875
+ }
8876
+ ];
8877
+ };
8685
8878
 
8686
8879
  // src/utilization/FunctionUtilization.ts
8687
8880
  var calculateLevenshteinDistance = (s, t) => {
@@ -9786,7 +9979,9 @@ export {
9786
9979
  OutcomeLabel_default as OutcomeLabel,
9787
9980
  PersonalLabel_default as PersonalLabel,
9788
9981
  PrimaryButton_default as PrimaryButton,
9982
+ ProgressBar_default as ProgressBar,
9789
9983
  PublishingHouseLabel_default as PublishingHouseLabel,
9984
+ ScoreBar_default as ScoreBar,
9790
9985
  SecondaryButton_default as SecondaryButton,
9791
9986
  SelectionBox_default as SelectionBox,
9792
9987
  SelectionCheckbox_default as SelectionCheckbox,
@@ -9794,6 +9989,7 @@ export {
9794
9989
  SelectionTabFill_default as SelectionTabFill,
9795
9990
  SubTitle_default as SubTitle,
9796
9991
  THREE_MONTHS,
9992
+ TimedProgressBar_default as TimedProgressBar,
9797
9993
  TrueFalseActivityContent_default as TrueFalseActivityContent,
9798
9994
  VerticalDividerLine_default as VerticalDividerLine,
9799
9995
  adjustForTimezone,
@@ -9906,6 +10102,7 @@ export {
9906
10102
  retrieveTaxonomyName,
9907
10103
  retrieveTaxonomyType,
9908
10104
  retrieveTeachingMethodologyOptionList,
10105
+ retrieveTimeFilterOptionList,
9909
10106
  retrieveTokenUsageSubTypeOptionList,
9910
10107
  retrieveTokenUsageTypeOptionList,
9911
10108
  retrieveTotalTimeSpentInMinutes,