catchup-library-web 1.12.14 → 1.12.15

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.js CHANGED
@@ -109,7 +109,9 @@ __export(index_exports, {
109
109
  OutcomeLabel: () => OutcomeLabel_default,
110
110
  PersonalLabel: () => PersonalLabel_default,
111
111
  PrimaryButton: () => PrimaryButton_default,
112
+ ProgressBar: () => ProgressBar_default,
112
113
  PublishingHouseLabel: () => PublishingHouseLabel_default,
114
+ ScoreBar: () => ScoreBar_default,
113
115
  SecondaryButton: () => SecondaryButton_default,
114
116
  SelectionBox: () => SelectionBox_default,
115
117
  SelectionCheckbox: () => SelectionCheckbox_default,
@@ -117,6 +119,7 @@ __export(index_exports, {
117
119
  SelectionTabFill: () => SelectionTabFill_default,
118
120
  SubTitle: () => SubTitle_default,
119
121
  THREE_MONTHS: () => THREE_MONTHS,
122
+ TimedProgressBar: () => TimedProgressBar_default,
120
123
  TrueFalseActivityContent: () => TrueFalseActivityContent_default,
121
124
  VerticalDividerLine: () => VerticalDividerLine_default,
122
125
  adjustForTimezone: () => adjustForTimezone,
@@ -241,15 +244,164 @@ __export(index_exports, {
241
244
  });
242
245
  module.exports = __toCommonJS(index_exports);
243
246
 
247
+ // src/components/bars/ProgressBar.tsx
248
+ var import_jsx_runtime = require("react/jsx-runtime");
249
+ var ProgressBar = ({
250
+ title,
251
+ showRemainingTime,
252
+ totalTimeInSeconds,
253
+ remainingTimeInSeconds,
254
+ color,
255
+ borderColor,
256
+ height
257
+ }) => {
258
+ const retrieveMinutes = () => {
259
+ return Math.floor(remainingTimeInSeconds / 60);
260
+ };
261
+ const retrieveSeconds = (minutes) => {
262
+ const minuteInSeconds = minutes * 60;
263
+ return Math.floor(remainingTimeInSeconds - minuteInSeconds);
264
+ };
265
+ const calculatePercentage = () => {
266
+ if (remainingTimeInSeconds < 0) {
267
+ return totalTimeInSeconds / totalTimeInSeconds * 100;
268
+ } else {
269
+ return (totalTimeInSeconds - remainingTimeInSeconds) / totalTimeInSeconds * 100;
270
+ }
271
+ };
272
+ const currentMinutes = retrieveMinutes();
273
+ const currentSeconds = retrieveSeconds(currentMinutes);
274
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "relative w-full ", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "", children: [
275
+ title ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-2 left-6", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-xl", children: title }) }) : null,
276
+ showRemainingTime ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute top-2 right-6", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "flex flex-row text-xl", children: [
277
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", { className: "mx-1", children: [
278
+ currentMinutes < 0 ? `00` : currentMinutes < 10 ? `0${currentMinutes}` : currentMinutes,
279
+ " "
280
+ ] }),
281
+ ":",
282
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", { className: "mx-1", children: [
283
+ currentSeconds < 0 ? `00` : currentSeconds < 10 ? `0${currentSeconds}` : currentSeconds,
284
+ " "
285
+ ] })
286
+ ] }) }) : null,
287
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
288
+ "div",
289
+ {
290
+ className: `${borderColor ? borderColor : "border-catchup-red"} border rounded-catchup-full`,
291
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: `w-full ${height ? height : ""} `, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
292
+ "div",
293
+ {
294
+ className: `rounded-catchup-full ${color ? color : "bg-catchup-red"} ${height ? height : "h-catchup-quicktivity"}`,
295
+ style: { width: `${calculatePercentage()}%` }
296
+ }
297
+ ) })
298
+ }
299
+ )
300
+ ] }) });
301
+ };
302
+ var ProgressBar_default = ProgressBar;
303
+
304
+ // src/components/bars/TimedProgressBar.tsx
305
+ var import_react = require("react");
306
+ var import_jsx_runtime2 = require("react/jsx-runtime");
307
+ var TimedProgressBar = ({
308
+ title,
309
+ startTimer,
310
+ showRemainingTime,
311
+ totalTimeInSeconds,
312
+ remainingTimeInSeconds,
313
+ handleOnTimerEnds
314
+ }) => {
315
+ const [timerRemainingTimeInSeconds, setTimerRemainingTimeInSeconds] = (0, import_react.useState)(remainingTimeInSeconds);
316
+ const [timerIntervalId, setTimerIntervalId] = (0, import_react.useState)(null);
317
+ let timerRemainingTimeInSecondsValue = 999999999999999;
318
+ (0, import_react.useEffect)(() => {
319
+ timerRemainingTimeInSecondsValue = remainingTimeInSeconds;
320
+ setTimerRemainingTimeInSeconds(timerRemainingTimeInSeconds);
321
+ if (timerIntervalId) {
322
+ clearInterval(timerIntervalId);
323
+ }
324
+ if (startTimer) {
325
+ const currentTimerIntervalId = setInterval(() => {
326
+ timerRemainingTimeInSecondsValue = timerRemainingTimeInSecondsValue - 0.05;
327
+ setTimerRemainingTimeInSeconds(timerRemainingTimeInSecondsValue);
328
+ }, 50);
329
+ setTimerIntervalId(currentTimerIntervalId);
330
+ } else {
331
+ if (timerIntervalId) {
332
+ clearInterval(timerIntervalId);
333
+ setTimerIntervalId(null);
334
+ }
335
+ }
336
+ }, [remainingTimeInSeconds, startTimer]);
337
+ (0, import_react.useEffect)(() => {
338
+ if (timerRemainingTimeInSeconds < 0) {
339
+ if (timerIntervalId) {
340
+ clearInterval(timerIntervalId);
341
+ }
342
+ handleOnTimerEnds(startTimer);
343
+ }
344
+ }, [timerRemainingTimeInSeconds]);
345
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
346
+ ProgressBar_default,
347
+ {
348
+ title,
349
+ showRemainingTime,
350
+ remainingTimeInSeconds: timerRemainingTimeInSeconds,
351
+ totalTimeInSeconds
352
+ }
353
+ );
354
+ };
355
+ var TimedProgressBar_default = TimedProgressBar;
356
+
357
+ // src/components/bars/ScoreBar.tsx
358
+ var import_jsx_runtime3 = require("react/jsx-runtime");
359
+ var ScoreBar = ({ score, className }) => {
360
+ const getProgressBarColor = (score2) => {
361
+ if (score2 >= 70) return "bg-catchup-green";
362
+ if (score2 >= 30) return "bg-catchup-orange";
363
+ return "bg-catchup-red";
364
+ };
365
+ const getTextColor = (score2) => {
366
+ if (score2 >= 70) return "text-catchup-hover-green";
367
+ if (score2 >= 30) return "text-catchup-orange";
368
+ return "text-catchup-red";
369
+ };
370
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: `flex items-center gap-2 ${className}`, children: [
371
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "flex-1 h-5 bg-catchup-gray-100 rounded-catchup-full overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
372
+ "div",
373
+ {
374
+ className: `h-full rounded-catchup-full transition-all duration-300 ${getProgressBarColor(
375
+ score
376
+ )}`,
377
+ style: { width: `${score}%` }
378
+ }
379
+ ) }),
380
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
381
+ "span",
382
+ {
383
+ className: `min-w-[35px] font-semibold text-right ${getTextColor(
384
+ score
385
+ )}`,
386
+ children: [
387
+ score,
388
+ "%"
389
+ ]
390
+ }
391
+ )
392
+ ] });
393
+ };
394
+ var ScoreBar_default = ScoreBar;
395
+
244
396
  // src/components/buttons/PrimaryButton.tsx
245
- var import_react2 = require("react");
397
+ var import_react3 = require("react");
246
398
 
247
399
  // src/components/images/BaseImage.tsx
248
- var import_react = require("react");
400
+ var import_react2 = require("react");
249
401
 
250
402
  // src/components/loading/BaseLoading.tsx
251
403
  var import_react_loader_spinner = require("react-loader-spinner");
252
- var import_jsx_runtime = require("react/jsx-runtime");
404
+ var import_jsx_runtime4 = require("react/jsx-runtime");
253
405
  var BaseLoading = ({
254
406
  height,
255
407
  width,
@@ -280,12 +432,12 @@ var BaseLoading = ({
280
432
  currentHeight = height;
281
433
  currentWidth = width;
282
434
  }
283
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
435
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
284
436
  "div",
285
437
  {
286
438
  className: "flex justify-center items-center",
287
439
  style: { marginTop: currentMargin, marginBottom: currentMargin },
288
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
440
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
289
441
  import_react_loader_spinner.Oval,
290
442
  {
291
443
  height: currentHeight,
@@ -306,8 +458,8 @@ var BaseLoading = ({
306
458
  var BaseLoading_default = BaseLoading;
307
459
 
308
460
  // src/components/images/BaseImage.tsx
309
- var import_jsx_runtime2 = require("react/jsx-runtime");
310
- var BaseImage = (0, import_react.forwardRef)(
461
+ var import_jsx_runtime5 = require("react/jsx-runtime");
462
+ var BaseImage = (0, import_react2.forwardRef)(
311
463
  (props, ref) => {
312
464
  const {
313
465
  size,
@@ -327,8 +479,8 @@ var BaseImage = (0, import_react.forwardRef)(
327
479
  dataToolTipHTML,
328
480
  borderRadius
329
481
  } = props;
330
- const [key, setKey] = (0, import_react.useState)((/* @__PURE__ */ new Date()).getTime());
331
- const [loading, setLoading] = (0, import_react.useState)(false);
482
+ const [key, setKey] = (0, import_react2.useState)((/* @__PURE__ */ new Date()).getTime());
483
+ const [loading, setLoading] = (0, import_react2.useState)(false);
332
484
  const handleOnClick = (e) => {
333
485
  e.preventDefault();
334
486
  if (showLoading) {
@@ -378,19 +530,19 @@ var BaseImage = (0, import_react.forwardRef)(
378
530
  currentWidthClassName = widthClassName;
379
531
  currentHeightClassName = heightClassName;
380
532
  }
381
- return loading ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
533
+ return loading ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
382
534
  BaseLoading_default,
383
535
  {
384
536
  size: "small",
385
537
  primaryColor: "#57C2D3",
386
538
  secondaryColor: "#57C2D3"
387
539
  }
388
- ) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
540
+ ) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
389
541
  "span",
390
542
  {
391
543
  className: `${currentWidthClassName ? currentWidthClassName : ""} ${currentHeightClassName ? currentHeightClassName : ""} ${currentClassName ? currentClassName : ""} cursor-pointer inline-block ${hidden ? "hidden" : ""}`,
392
544
  onClick: handleOnClick,
393
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
545
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
394
546
  "img",
395
547
  {
396
548
  ref,
@@ -414,7 +566,7 @@ BaseImage.displayName = "BaseImage";
414
566
  var BaseImage_default = BaseImage;
415
567
 
416
568
  // src/components/buttons/PrimaryButton.tsx
417
- var import_jsx_runtime3 = require("react/jsx-runtime");
569
+ var import_jsx_runtime6 = require("react/jsx-runtime");
418
570
  var PrimaryButton = ({
419
571
  title,
420
572
  size,
@@ -424,7 +576,7 @@ var PrimaryButton = ({
424
576
  textOnly,
425
577
  iconOnly
426
578
  }) => {
427
- const [loading, setLoading] = (0, import_react2.useState)(false);
579
+ const [loading, setLoading] = (0, import_react3.useState)(false);
428
580
  const internalOnClick = () => __async(void 0, null, function* () {
429
581
  if (loading) return;
430
582
  if (disabled) return;
@@ -451,12 +603,12 @@ var PrimaryButton = ({
451
603
  currentLoadingSize = 14;
452
604
  currentHeightClassName = "h-8";
453
605
  }
454
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
606
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
455
607
  "button",
456
608
  {
457
609
  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}`,
458
610
  onClick: internalOnClick,
459
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
611
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
460
612
  BaseLoading_default,
461
613
  {
462
614
  height: currentLoadingSize,
@@ -464,8 +616,8 @@ var PrimaryButton = ({
464
616
  primaryColor: "#ffffff",
465
617
  secondaryColor: "#ffffff"
466
618
  }
467
- ) : /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
468
- iconPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
619
+ ) : /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
620
+ iconPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
469
621
  BaseImage_default,
470
622
  {
471
623
  src: "/icons/primary-button-arrow-left.webp",
@@ -473,8 +625,8 @@ var PrimaryButton = ({
473
625
  size: "xsmall"
474
626
  }
475
627
  ) : null,
476
- iconOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: "", children: title }),
477
- textOnly || iconPosition === "left" ? null : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
628
+ iconOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "", children: title }),
629
+ textOnly || iconPosition === "left" ? null : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
478
630
  BaseImage_default,
479
631
  {
480
632
  src: "/icons/primary-button-arrow-right.webp",
@@ -489,8 +641,8 @@ var PrimaryButton = ({
489
641
  var PrimaryButton_default = PrimaryButton;
490
642
 
491
643
  // src/components/buttons/SecondaryButton.tsx
492
- var import_react3 = require("react");
493
- var import_jsx_runtime4 = require("react/jsx-runtime");
644
+ var import_react4 = require("react");
645
+ var import_jsx_runtime7 = require("react/jsx-runtime");
494
646
  var SecondaryButton = ({
495
647
  title,
496
648
  size,
@@ -500,8 +652,8 @@ var SecondaryButton = ({
500
652
  textOnly,
501
653
  iconOnly
502
654
  }) => {
503
- const [loading, setLoading] = (0, import_react3.useState)(false);
504
- const [isHovered, setIsHovered] = (0, import_react3.useState)(false);
655
+ const [loading, setLoading] = (0, import_react4.useState)(false);
656
+ const [isHovered, setIsHovered] = (0, import_react4.useState)(false);
505
657
  const internalOnClick = () => __async(void 0, null, function* () {
506
658
  if (loading) return;
507
659
  if (disabled) return;
@@ -528,7 +680,7 @@ var SecondaryButton = ({
528
680
  currentLoadingSize = 14;
529
681
  currentHeightClassName = "h-8";
530
682
  }
531
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
683
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
532
684
  "button",
533
685
  {
534
686
  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}`,
@@ -539,7 +691,7 @@ var SecondaryButton = ({
539
691
  onMouseLeave: () => {
540
692
  setIsHovered(false);
541
693
  },
542
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
694
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
543
695
  BaseLoading_default,
544
696
  {
545
697
  height: currentLoadingSize,
@@ -547,8 +699,8 @@ var SecondaryButton = ({
547
699
  primaryColor: "#55777f",
548
700
  secondaryColor: "#55777f"
549
701
  }
550
- ) : /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
551
- iconPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
702
+ ) : /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
703
+ iconPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
552
704
  BaseImage_default,
553
705
  {
554
706
  src: "/icons/secondary-button-arrow-left.webp",
@@ -556,8 +708,8 @@ var SecondaryButton = ({
556
708
  size: "xsmall"
557
709
  }
558
710
  ) : null,
559
- iconOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("p", { className: "", children: title }),
560
- textOnly || iconPosition === "left" ? null : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
711
+ iconOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "", children: title }),
712
+ textOnly || iconPosition === "left" ? null : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
561
713
  BaseImage_default,
562
714
  {
563
715
  src: "/icons/secondary-button-arrow-right.webp",
@@ -572,8 +724,8 @@ var SecondaryButton = ({
572
724
  var SecondaryButton_default = SecondaryButton;
573
725
 
574
726
  // src/components/buttons/CreateButton.tsx
575
- var import_react4 = require("react");
576
- var import_jsx_runtime5 = require("react/jsx-runtime");
727
+ var import_react5 = require("react");
728
+ var import_jsx_runtime8 = require("react/jsx-runtime");
577
729
  var CreateButton = ({
578
730
  title,
579
731
  size,
@@ -583,7 +735,7 @@ var CreateButton = ({
583
735
  textOnly,
584
736
  iconOnly
585
737
  }) => {
586
- const [loading, setLoading] = (0, import_react4.useState)(false);
738
+ const [loading, setLoading] = (0, import_react5.useState)(false);
587
739
  const internalOnClick = () => __async(void 0, null, function* () {
588
740
  if (loading) return;
589
741
  if (disabled) return;
@@ -610,12 +762,12 @@ var CreateButton = ({
610
762
  currentLoadingSize = 14;
611
763
  currentHeightClassName = "h-8";
612
764
  }
613
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
765
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
614
766
  "button",
615
767
  {
616
768
  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}`,
617
769
  onClick: internalOnClick,
618
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
770
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
619
771
  BaseLoading_default,
620
772
  {
621
773
  height: currentLoadingSize,
@@ -623,8 +775,8 @@ var CreateButton = ({
623
775
  primaryColor: "#ffffff",
624
776
  secondaryColor: "#ffffff"
625
777
  }
626
- ) : /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
627
- iconPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
778
+ ) : /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
779
+ iconPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
628
780
  BaseImage_default,
629
781
  {
630
782
  src: "/icons/primary-button-create-white.webp",
@@ -632,8 +784,8 @@ var CreateButton = ({
632
784
  size: "xsmall"
633
785
  }
634
786
  ) : null,
635
- iconOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className: "", children: title }),
636
- textOnly || iconPosition === "left" ? null : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
787
+ iconOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "", children: title }),
788
+ textOnly || iconPosition === "left" ? null : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
637
789
  BaseImage_default,
638
790
  {
639
791
  src: "/icons/primary-button-create-white.webp",
@@ -648,8 +800,8 @@ var CreateButton = ({
648
800
  var CreateButton_default = CreateButton;
649
801
 
650
802
  // src/components/buttons/DeleteButton.tsx
651
- var import_react5 = require("react");
652
- var import_jsx_runtime6 = require("react/jsx-runtime");
803
+ var import_react6 = require("react");
804
+ var import_jsx_runtime9 = require("react/jsx-runtime");
653
805
  var DeleteButton = ({
654
806
  title,
655
807
  size,
@@ -659,8 +811,8 @@ var DeleteButton = ({
659
811
  textOnly,
660
812
  iconOnly
661
813
  }) => {
662
- const [loading, setLoading] = (0, import_react5.useState)(false);
663
- const [isHovered, setIsHovered] = (0, import_react5.useState)(false);
814
+ const [loading, setLoading] = (0, import_react6.useState)(false);
815
+ const [isHovered, setIsHovered] = (0, import_react6.useState)(false);
664
816
  const internalOnClick = () => __async(void 0, null, function* () {
665
817
  if (loading) return;
666
818
  if (disabled) return;
@@ -684,7 +836,7 @@ var DeleteButton = ({
684
836
  currentHeightClassName = "h-12";
685
837
  currentLoadingSize = 18;
686
838
  }
687
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
839
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
688
840
  "button",
689
841
  {
690
842
  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}`,
@@ -695,7 +847,7 @@ var DeleteButton = ({
695
847
  onMouseLeave: () => {
696
848
  setIsHovered(false);
697
849
  },
698
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
850
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
699
851
  BaseLoading_default,
700
852
  {
701
853
  height: currentLoadingSize,
@@ -703,8 +855,8 @@ var DeleteButton = ({
703
855
  primaryColor: "#55777f",
704
856
  secondaryColor: "#55777f"
705
857
  }
706
- ) : /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex flex-row justify-center items-center gap-x-2", children: [
707
- iconPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
858
+ ) : /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "flex flex-row justify-center items-center gap-x-2", children: [
859
+ iconPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
708
860
  BaseImage_default,
709
861
  {
710
862
  src: `${isHovered ? "/icons/remove-white.webp" : "/icons/remove-red.webp"}`,
@@ -712,8 +864,8 @@ var DeleteButton = ({
712
864
  size: "xsmall"
713
865
  }
714
866
  ) : null,
715
- iconOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "", children: title }),
716
- textOnly || iconPosition === "left" ? null : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
867
+ iconOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("p", { className: "", children: title }),
868
+ textOnly || iconPosition === "left" ? null : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
717
869
  BaseImage_default,
718
870
  {
719
871
  src: `${isHovered ? "/icons/remove-white.webp" : "/icons/remove-red.webp"}`,
@@ -728,8 +880,8 @@ var DeleteButton = ({
728
880
  var DeleteButton_default = DeleteButton;
729
881
 
730
882
  // src/components/buttons/CancelButton.tsx
731
- var import_react6 = require("react");
732
- var import_jsx_runtime7 = require("react/jsx-runtime");
883
+ var import_react7 = require("react");
884
+ var import_jsx_runtime10 = require("react/jsx-runtime");
733
885
  var CancelButton = ({
734
886
  title,
735
887
  size,
@@ -739,8 +891,8 @@ var CancelButton = ({
739
891
  textOnly,
740
892
  iconOnly
741
893
  }) => {
742
- const [loading, setLoading] = (0, import_react6.useState)(false);
743
- const [isHovered, setIsHovered] = (0, import_react6.useState)(false);
894
+ const [loading, setLoading] = (0, import_react7.useState)(false);
895
+ const [isHovered, setIsHovered] = (0, import_react7.useState)(false);
744
896
  const internalOnClick = () => __async(void 0, null, function* () {
745
897
  if (loading) return;
746
898
  if (disabled) return;
@@ -767,7 +919,7 @@ var CancelButton = ({
767
919
  currentLoadingSize = 14;
768
920
  currentHeightClassName = "h-8";
769
921
  }
770
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
922
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
771
923
  "button",
772
924
  {
773
925
  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}`,
@@ -778,7 +930,7 @@ var CancelButton = ({
778
930
  onMouseLeave: () => {
779
931
  setIsHovered(false);
780
932
  },
781
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
933
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
782
934
  BaseLoading_default,
783
935
  {
784
936
  height: currentLoadingSize,
@@ -786,8 +938,8 @@ var CancelButton = ({
786
938
  primaryColor: "#55777f",
787
939
  secondaryColor: "#55777f"
788
940
  }
789
- ) : /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "flex flex-row justify-center items-center gap-x-2", children: [
790
- iconPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
941
+ ) : /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex flex-row justify-center items-center gap-x-2", children: [
942
+ iconPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
791
943
  BaseImage_default,
792
944
  {
793
945
  src: `${isHovered ? "/icons/cancel-button-arrow-left-white.webp" : "/icons/cancel-button-arrow-left.webp"}`,
@@ -795,8 +947,8 @@ var CancelButton = ({
795
947
  size: "xsmall"
796
948
  }
797
949
  ) : null,
798
- iconOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("p", { className: "", children: title }),
799
- textOnly || iconPosition === "left" ? null : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
950
+ iconOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("p", { className: "", children: title }),
951
+ textOnly || iconPosition === "left" ? null : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
800
952
  BaseImage_default,
801
953
  {
802
954
  src: `${isHovered ? "/icons/cancel-button-arrow-left-white.webp" : "/icons/cancel-button-arrow-left.webp"}`,
@@ -811,8 +963,8 @@ var CancelButton = ({
811
963
  var CancelButton_default = CancelButton;
812
964
 
813
965
  // src/components/buttons/ApproveButton.tsx
814
- var import_react7 = require("react");
815
- var import_jsx_runtime8 = require("react/jsx-runtime");
966
+ var import_react8 = require("react");
967
+ var import_jsx_runtime11 = require("react/jsx-runtime");
816
968
  var ApproveButton = ({
817
969
  title,
818
970
  size,
@@ -822,7 +974,7 @@ var ApproveButton = ({
822
974
  textOnly,
823
975
  iconOnly
824
976
  }) => {
825
- const [loading, setLoading] = (0, import_react7.useState)(false);
977
+ const [loading, setLoading] = (0, import_react8.useState)(false);
826
978
  const internalOnClick = () => __async(void 0, null, function* () {
827
979
  if (loading) return;
828
980
  if (disabled) return;
@@ -849,12 +1001,12 @@ var ApproveButton = ({
849
1001
  currentLoadingSize = 14;
850
1002
  currentHeightClassName = "h-8";
851
1003
  }
852
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1004
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
853
1005
  "button",
854
1006
  {
855
1007
  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}`,
856
1008
  onClick: internalOnClick,
857
- children: loading ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1009
+ children: loading ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
858
1010
  BaseLoading_default,
859
1011
  {
860
1012
  height: currentLoadingSize,
@@ -862,8 +1014,8 @@ var ApproveButton = ({
862
1014
  primaryColor: "#ffffff",
863
1015
  secondaryColor: "#ffffff"
864
1016
  }
865
- ) : /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
866
- iconPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1017
+ ) : /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex flex-row justify-center items-center gap-x-2 px-4", children: [
1018
+ iconPosition === "left" ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
867
1019
  BaseImage_default,
868
1020
  {
869
1021
  src: "/icons/primary-button-arrow-left.webp",
@@ -871,8 +1023,8 @@ var ApproveButton = ({
871
1023
  size: "xsmall"
872
1024
  }
873
1025
  ) : null,
874
- iconOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("p", { className: "", children: title }),
875
- textOnly || iconPosition === "left" ? null : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
1026
+ iconOnly ? null : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "", children: title }),
1027
+ textOnly || iconPosition === "left" ? null : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
876
1028
  BaseImage_default,
877
1029
  {
878
1030
  src: "/icons/primary-button-arrow-right.webp",
@@ -887,7 +1039,7 @@ var ApproveButton = ({
887
1039
  var ApproveButton_default = ApproveButton;
888
1040
 
889
1041
  // src/components/cards/FullCard.tsx
890
- var import_jsx_runtime9 = require("react/jsx-runtime");
1042
+ var import_jsx_runtime12 = require("react/jsx-runtime");
891
1043
  var FullCard = ({
892
1044
  bgColor,
893
1045
  opacity,
@@ -895,11 +1047,11 @@ var FullCard = ({
895
1047
  usePadding,
896
1048
  children
897
1049
  }) => {
898
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "flex flex-col justify-center items-center h-full", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1050
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "flex flex-col justify-center items-center h-full", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
899
1051
  "div",
900
1052
  {
901
1053
  className: `flex-1 ${bgColor ? bgColor : ""} ${opacity ? opacity : "opacity-100"} rounded-catchup-xlarge w-full border border-catchup-gray-50 bg-catchup-white`,
902
- children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1054
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
903
1055
  "div",
904
1056
  {
905
1057
  className: `flex flex-col mx-auto ${usePadding === false ? "p-0" : "p-6"} h-full`,
@@ -912,7 +1064,7 @@ var FullCard = ({
912
1064
  var FullCard_default = FullCard;
913
1065
 
914
1066
  // src/components/loading/BaseLoadingWithText.tsx
915
- var import_react8 = require("react");
1067
+ var import_react9 = require("react");
916
1068
 
917
1069
  // src/language/i18n.ts
918
1070
  var import_i18next = __toESM(require("i18next"));
@@ -921,19 +1073,19 @@ import_i18next.default.use(import_react_i18next.initReactI18next);
921
1073
  var i18n_default = import_i18next.default;
922
1074
 
923
1075
  // src/components/loading/BaseLoadingWithText.tsx
924
- var import_jsx_runtime10 = require("react/jsx-runtime");
1076
+ var import_jsx_runtime13 = require("react/jsx-runtime");
925
1077
  var BaseLoadingWithText = (props) => {
926
1078
  const { height, width, size, primaryColor, secondaryColor, hideText } = props;
927
- const [initialTimestamp, setInitialTimestamp] = (0, import_react8.useState)(
1079
+ const [initialTimestamp, setInitialTimestamp] = (0, import_react9.useState)(
928
1080
  (/* @__PURE__ */ new Date()).getTime()
929
1081
  );
930
- const [currentTimestamp, setCurrentTimeStamp] = (0, import_react8.useState)(
1082
+ const [currentTimestamp, setCurrentTimeStamp] = (0, import_react9.useState)(
931
1083
  (/* @__PURE__ */ new Date()).getTime()
932
1084
  );
933
1085
  let timerId;
934
1086
  let textClassName;
935
1087
  let textWidth;
936
- (0, import_react8.useEffect)(() => {
1088
+ (0, import_react9.useEffect)(() => {
937
1089
  timerId = setInterval(() => {
938
1090
  setCurrentTimeStamp((/* @__PURE__ */ new Date()).getTime());
939
1091
  }, 1e3);
@@ -969,8 +1121,8 @@ var BaseLoadingWithText = (props) => {
969
1121
  textWidth = 250;
970
1122
  }
971
1123
  const loadingText = retrieveLoadingText();
972
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "flex flex-col justify-center items-center", children: [
973
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1124
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex flex-col justify-center items-center", children: [
1125
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
974
1126
  BaseLoading_default,
975
1127
  {
976
1128
  height,
@@ -980,12 +1132,12 @@ var BaseLoadingWithText = (props) => {
980
1132
  secondaryColor
981
1133
  }
982
1134
  ),
983
- !hideText && size !== "small" ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1135
+ !hideText && size !== "small" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
984
1136
  "div",
985
1137
  {
986
1138
  className: `${textClassName} text-center`,
987
1139
  style: { width: textWidth },
988
- children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("p", { className: "font-bold", children: loadingText })
1140
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: "font-bold", children: loadingText })
989
1141
  }
990
1142
  ) : null
991
1143
  ] });
@@ -994,7 +1146,7 @@ var BaseLoadingWithText_default = BaseLoadingWithText;
994
1146
 
995
1147
  // src/components/modals/BaseModal.tsx
996
1148
  var import_react_modal = __toESM(require("react-modal"));
997
- var import_jsx_runtime11 = require("react/jsx-runtime");
1149
+ var import_jsx_runtime14 = require("react/jsx-runtime");
998
1150
  var BaseModal = ({
999
1151
  isOpen,
1000
1152
  size,
@@ -1003,7 +1155,7 @@ var BaseModal = ({
1003
1155
  customSize,
1004
1156
  children
1005
1157
  }) => {
1006
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1158
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1007
1159
  import_react_modal.default,
1008
1160
  {
1009
1161
  isOpen,
@@ -1031,7 +1183,7 @@ var BaseModal = ({
1031
1183
  }
1032
1184
  },
1033
1185
  contentLabel: "",
1034
- children: customSize ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: `${customSize} font-quicksand`, children }) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1186
+ children: customSize ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: `${customSize} font-quicksand`, children }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1035
1187
  "div",
1036
1188
  {
1037
1189
  className: `font-quicksand ${size === "small" ? "w-[600px]" : size === "medium" ? "w-[900px]" : "w-[600px] lg:w-[900px] xl:w-[1200px] 2xl:w-[1500px]"}`,
@@ -1044,14 +1196,14 @@ var BaseModal = ({
1044
1196
  var BaseModal_default = BaseModal;
1045
1197
 
1046
1198
  // src/components/activities/empty-content/ActivityEmptyContent.tsx
1047
- var import_jsx_runtime12 = require("react/jsx-runtime");
1199
+ var import_jsx_runtime15 = require("react/jsx-runtime");
1048
1200
  var ActivityEmptyContent = () => {
1049
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("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__ */ (0, import_jsx_runtime12.jsx)("div", { className: "", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { className: "text-catchup-white text-xl", children: i18n_default.t("you_have_set_this_activity_as_empty") }) }) });
1201
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("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__ */ (0, import_jsx_runtime15.jsx)("div", { className: "", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-catchup-white text-xl", children: i18n_default.t("you_have_set_this_activity_as_empty") }) }) });
1050
1202
  };
1051
1203
  var ActivityEmptyContent_default = ActivityEmptyContent;
1052
1204
 
1053
1205
  // src/components/activities/body-content/ShowBodyMediaByContentType.tsx
1054
- var import_react9 = require("react");
1206
+ var import_react10 = require("react");
1055
1207
  var import_react_modal2 = __toESM(require("react-modal"));
1056
1208
 
1057
1209
  // src/utilization/CatchtivityUtilization.ts
@@ -3120,15 +3272,15 @@ var constructActivityItemListSolutionOnly = (solutionMap) => {
3120
3272
 
3121
3273
  // src/components/activities/body-content/ShowBodyMediaByContentType.tsx
3122
3274
  var import_react_katex = require("react-katex");
3123
- var import_jsx_runtime13 = require("react/jsx-runtime");
3275
+ var import_jsx_runtime16 = require("react/jsx-runtime");
3124
3276
  var ShowBodyMediaByContentType = ({
3125
3277
  index,
3126
3278
  type,
3127
3279
  value,
3128
3280
  size
3129
3281
  }) => {
3130
- const [showFullScreen, setShowFullScreen] = (0, import_react9.useState)(false);
3131
- const [selectedFullScreenItem, setSelectedFullScreenItem] = (0, import_react9.useState)("");
3282
+ const [showFullScreen, setShowFullScreen] = (0, import_react10.useState)(false);
3283
+ const [selectedFullScreenItem, setSelectedFullScreenItem] = (0, import_react10.useState)("");
3132
3284
  const convertToPercentage = (size2) => {
3133
3285
  switch (size2) {
3134
3286
  case "1/3":
@@ -3142,11 +3294,11 @@ var ShowBodyMediaByContentType = ({
3142
3294
  }
3143
3295
  };
3144
3296
  const renderSpecialExpressions = (inputPart, partIndex, parentKey) => {
3145
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3297
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3146
3298
  "span",
3147
3299
  {
3148
3300
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
3149
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_katex.InlineMath, { math: inputPart.value }) }) : inputPart.value
3301
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react_katex.InlineMath, { math: inputPart.value }) }) : inputPart.value
3150
3302
  },
3151
3303
  `${parentKey}-expr-${partIndex}`
3152
3304
  );
@@ -3166,7 +3318,7 @@ var ShowBodyMediaByContentType = ({
3166
3318
  };
3167
3319
  const renderTextContent = (text, itemKey) => {
3168
3320
  const balancedText = balanceSpecialChars(text);
3169
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(balancedText).map(
3321
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(balancedText).map(
3170
3322
  (inputPart, exprIndex) => renderSpecialExpressions(inputPart, exprIndex, itemKey)
3171
3323
  ) }, itemKey);
3172
3324
  };
@@ -3199,7 +3351,7 @@ var ShowBodyMediaByContentType = ({
3199
3351
  currentIndex++;
3200
3352
  const itemKey = `text-inside-${index}-${currentIndex}`;
3201
3353
  valuePartList.push(
3202
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "text-xl font-bold whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(textInsideTag).map(
3354
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "text-xl font-bold whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(textInsideTag).map(
3203
3355
  (inputPart, exprIndex) => renderSpecialExpressions(inputPart, exprIndex, itemKey)
3204
3356
  ) }, itemKey)
3205
3357
  );
@@ -3219,7 +3371,7 @@ var ShowBodyMediaByContentType = ({
3219
3371
  if (textBeforeTag.trim() !== "") {
3220
3372
  currentIndex++;
3221
3373
  valuePartList.push(
3222
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3374
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3223
3375
  "p",
3224
3376
  {
3225
3377
  className: "text-xl",
@@ -3238,12 +3390,12 @@ var ShowBodyMediaByContentType = ({
3238
3390
  );
3239
3391
  currentIndex++;
3240
3392
  valuePartList.push(
3241
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
3393
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
3242
3394
  "div",
3243
3395
  {
3244
3396
  className: "relative w-[200px]",
3245
3397
  children: [
3246
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3398
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3247
3399
  BaseImage_default,
3248
3400
  {
3249
3401
  src: imageSource,
@@ -3252,12 +3404,12 @@ var ShowBodyMediaByContentType = ({
3252
3404
  className: "rounded-catchup-xlarge"
3253
3405
  }
3254
3406
  ),
3255
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3407
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3256
3408
  "div",
3257
3409
  {
3258
3410
  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",
3259
3411
  onClick: () => handleOpenFullScreen(imageSource),
3260
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3412
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3261
3413
  BaseImage_default,
3262
3414
  {
3263
3415
  src: "/icons/arrow-up.webp",
@@ -3286,7 +3438,7 @@ var ShowBodyMediaByContentType = ({
3286
3438
  if (textBeforeTag.trim() !== "") {
3287
3439
  currentIndex++;
3288
3440
  valuePartList.push(
3289
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3441
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3290
3442
  "p",
3291
3443
  {
3292
3444
  className: "text-xl",
@@ -3305,7 +3457,7 @@ var ShowBodyMediaByContentType = ({
3305
3457
  );
3306
3458
  currentIndex++;
3307
3459
  valuePartList.push(
3308
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3460
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3309
3461
  "video",
3310
3462
  {
3311
3463
  src: videoSource,
@@ -3328,7 +3480,7 @@ var ShowBodyMediaByContentType = ({
3328
3480
  if (textBeforeTag.trim() !== "") {
3329
3481
  currentIndex++;
3330
3482
  valuePartList.push(
3331
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3483
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3332
3484
  "p",
3333
3485
  {
3334
3486
  className: "text-xl",
@@ -3347,7 +3499,7 @@ var ShowBodyMediaByContentType = ({
3347
3499
  );
3348
3500
  currentIndex++;
3349
3501
  valuePartList.push(
3350
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3502
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3351
3503
  "audio",
3352
3504
  {
3353
3505
  src: audioSource,
@@ -3373,13 +3525,13 @@ var ShowBodyMediaByContentType = ({
3373
3525
  if (regexMatchImageText) {
3374
3526
  const imageText = regexMatchImageText[1];
3375
3527
  valuePartList.push(
3376
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
3528
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
3377
3529
  "div",
3378
3530
  {
3379
3531
  className: "bg-catchup-gray-50 relative px-4 py-4 rounded-catchup-small mt-2",
3380
3532
  children: [
3381
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "absolute -top-3 bg-catchup-white border rounded-catchup-small px-2 left-2", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: "font-bold", children: i18n_default.t("image_description") }) }),
3382
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "text-xl whitespace-pre-wrap", children: imageText })
3533
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "absolute -top-3 bg-catchup-white border rounded-catchup-small px-2 left-2", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "font-bold", children: i18n_default.t("image_description") }) }),
3534
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { className: "text-xl whitespace-pre-wrap", children: imageText })
3383
3535
  ]
3384
3536
  },
3385
3537
  `img-desc-${index}-${currentIndex}`
@@ -3393,7 +3545,7 @@ var ShowBodyMediaByContentType = ({
3393
3545
  return valuePartList;
3394
3546
  };
3395
3547
  const RenderShowFullScreenItem = () => {
3396
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3548
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3397
3549
  import_react_modal2.default,
3398
3550
  {
3399
3551
  isOpen: showFullScreen,
@@ -3422,8 +3574,8 @@ var ShowBodyMediaByContentType = ({
3422
3574
  }
3423
3575
  },
3424
3576
  contentLabel: "Image Fullscreen View",
3425
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex-1 flex flex-col", children: [
3426
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3577
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex-1 flex flex-col", children: [
3578
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3427
3579
  BaseImage_default,
3428
3580
  {
3429
3581
  src: "/icons/cross-red.webp",
@@ -3435,7 +3587,7 @@ var ShowBodyMediaByContentType = ({
3435
3587
  }
3436
3588
  }
3437
3589
  ) }),
3438
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "flex items-center justify-center h-[500]", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3590
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "flex items-center justify-center h-[500]", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3439
3591
  BaseImage_default,
3440
3592
  {
3441
3593
  src: selectedFullScreenItem,
@@ -3451,16 +3603,16 @@ var ShowBodyMediaByContentType = ({
3451
3603
  const RenderMainContent = () => {
3452
3604
  switch (type) {
3453
3605
  case "TEXT":
3454
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "mb-3 flex flex-row flex-wrap items-center mx-auto w-full", children: retrieveValueParts(value) });
3606
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "mb-3 flex flex-row flex-wrap items-center mx-auto w-full", children: retrieveValueParts(value) });
3455
3607
  case "IMAGE":
3456
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "mb-3 flex flex-col items-center relative", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
3608
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "mb-3 flex flex-col items-center relative", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
3457
3609
  "div",
3458
3610
  {
3459
3611
  className: `${convertToPercentage(
3460
3612
  size || ""
3461
3613
  )} rounded-catchup-xlarge relative`,
3462
3614
  children: [
3463
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3615
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3464
3616
  BaseImage_default,
3465
3617
  {
3466
3618
  src: value,
@@ -3469,12 +3621,12 @@ var ShowBodyMediaByContentType = ({
3469
3621
  className: "w-full rounded-catchup-xlarge"
3470
3622
  }
3471
3623
  ),
3472
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3624
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3473
3625
  "div",
3474
3626
  {
3475
3627
  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",
3476
3628
  onClick: () => handleOpenFullScreen(value),
3477
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3629
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3478
3630
  BaseImage_default,
3479
3631
  {
3480
3632
  src: "/icons/arrow-up.webp",
@@ -3489,7 +3641,7 @@ var ShowBodyMediaByContentType = ({
3489
3641
  }
3490
3642
  ) });
3491
3643
  case "VIDEO":
3492
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "mb-3 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
3644
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "mb-3 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
3493
3645
  "video",
3494
3646
  {
3495
3647
  src: value,
@@ -3500,12 +3652,12 @@ var ShowBodyMediaByContentType = ({
3500
3652
  }
3501
3653
  ) });
3502
3654
  case "AUDIO":
3503
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "mb-3 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("audio", { src: value, controls: true, className: "rounded-catchup-xlarge" }) });
3655
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "mb-3 flex flex-col items-center", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("audio", { src: value, controls: true, className: "rounded-catchup-xlarge" }) });
3504
3656
  default:
3505
3657
  return null;
3506
3658
  }
3507
3659
  };
3508
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "w-full", children: [
3660
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "w-full", children: [
3509
3661
  RenderShowFullScreenItem(),
3510
3662
  RenderMainContent()
3511
3663
  ] }, `body-content-${index}`);
@@ -3513,7 +3665,7 @@ var ShowBodyMediaByContentType = ({
3513
3665
  var ShowBodyMediaByContentType_default = ShowBodyMediaByContentType;
3514
3666
 
3515
3667
  // src/components/activities/body-content/ActivityBodyContent.tsx
3516
- var import_jsx_runtime14 = require("react/jsx-runtime");
3668
+ var import_jsx_runtime17 = require("react/jsx-runtime");
3517
3669
  var ActivityBodyContent = ({
3518
3670
  templateType,
3519
3671
  bodyMap,
@@ -3594,7 +3746,7 @@ var ActivityBodyContent = ({
3594
3746
  key
3595
3747
  });
3596
3748
  }).filter(Boolean);
3597
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "flex flex-col justify-center items-center", children: processedBodies.map((body, index) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
3749
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "flex flex-col justify-center items-center", children: processedBodies.map((body, index) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3598
3750
  ShowBodyMediaByContentType_default,
3599
3751
  {
3600
3752
  index,
@@ -3608,16 +3760,16 @@ var ActivityBodyContent = ({
3608
3760
  var ActivityBodyContent_default = ActivityBodyContent;
3609
3761
 
3610
3762
  // src/components/dividers/DividerLine.tsx
3611
- var import_jsx_runtime15 = require("react/jsx-runtime");
3763
+ var import_jsx_runtime18 = require("react/jsx-runtime");
3612
3764
  var DividerLine = () => {
3613
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "bg-catchup-gray-50 h-[1px] w-full my-3" });
3765
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "bg-catchup-gray-50 h-[1px] w-full my-3" });
3614
3766
  };
3615
3767
  var DividerLine_default = DividerLine;
3616
3768
 
3617
3769
  // src/components/dividers/VerticalDividerLine.tsx
3618
- var import_jsx_runtime16 = require("react/jsx-runtime");
3770
+ var import_jsx_runtime19 = require("react/jsx-runtime");
3619
3771
  var VerticalDividerLine = () => {
3620
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "bg-catchup-gray-50 h-full w-[1px] mx-3" });
3772
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "bg-catchup-gray-50 h-full w-[1px] mx-3" });
3621
3773
  };
3622
3774
  var VerticalDividerLine_default = VerticalDividerLine;
3623
3775
 
@@ -3626,8 +3778,8 @@ var import_react_katex2 = require("react-katex");
3626
3778
 
3627
3779
  // src/components/groups/InputGroup.tsx
3628
3780
  var import_react_select = __toESM(require("react-select"));
3629
- var import_react10 = require("react");
3630
- var import_jsx_runtime17 = require("react/jsx-runtime");
3781
+ var import_react11 = require("react");
3782
+ var import_jsx_runtime20 = require("react/jsx-runtime");
3631
3783
  var InputGroup = ({
3632
3784
  type,
3633
3785
  title,
@@ -3648,12 +3800,12 @@ var InputGroup = ({
3648
3800
  limit,
3649
3801
  useMath
3650
3802
  }) => {
3651
- const textAreaRef = (0, import_react10.useRef)(null);
3652
- const latexTextAreaRef = (0, import_react10.useRef)(null);
3653
- const [showMathConstructor, setShowMathConstructor] = (0, import_react10.useState)(false);
3654
- const [mathValue, setMathValue] = (0, import_react10.useState)("");
3655
- const mathFieldRef = (0, import_react10.useRef)(null);
3656
- (0, import_react10.useEffect)(() => {
3803
+ const textAreaRef = (0, import_react11.useRef)(null);
3804
+ const latexTextAreaRef = (0, import_react11.useRef)(null);
3805
+ const [showMathConstructor, setShowMathConstructor] = (0, import_react11.useState)(false);
3806
+ const [mathValue, setMathValue] = (0, import_react11.useState)("");
3807
+ const mathFieldRef = (0, import_react11.useRef)(null);
3808
+ (0, import_react11.useEffect)(() => {
3657
3809
  if (!textAreaRef) return;
3658
3810
  if (!textAreaRef.current) return;
3659
3811
  if (value) {
@@ -3662,7 +3814,7 @@ var InputGroup = ({
3662
3814
  textAreaRef.current.style.height = `44px`;
3663
3815
  }
3664
3816
  }, [textAreaRef, value]);
3665
- (0, import_react10.useEffect)(() => {
3817
+ (0, import_react11.useEffect)(() => {
3666
3818
  if (!latexTextAreaRef) return;
3667
3819
  if (!latexTextAreaRef.current) return;
3668
3820
  if (value) {
@@ -3671,7 +3823,7 @@ var InputGroup = ({
3671
3823
  latexTextAreaRef.current.style.height = `44px`;
3672
3824
  }
3673
3825
  }, [latexTextAreaRef, value]);
3674
- (0, import_react10.useEffect)(() => {
3826
+ (0, import_react11.useEffect)(() => {
3675
3827
  if (!useMath) return;
3676
3828
  import("mathlive").then(({ MathfieldElement }) => {
3677
3829
  if (!customElements.get("math-field")) {
@@ -3706,7 +3858,7 @@ var InputGroup = ({
3706
3858
  onChange && onChange(e);
3707
3859
  }
3708
3860
  };
3709
- const handleMathFieldChange = (0, import_react10.useCallback)(() => {
3861
+ const handleMathFieldChange = (0, import_react11.useCallback)(() => {
3710
3862
  if (!mathFieldRef.current) return;
3711
3863
  const latexValue = mathFieldRef.current.value;
3712
3864
  const wasFocused = mathFieldRef.current === document.activeElement;
@@ -3729,7 +3881,7 @@ var InputGroup = ({
3729
3881
  setShowMathConstructor(true);
3730
3882
  };
3731
3883
  const MathConstructorModal = () => {
3732
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3884
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3733
3885
  BaseModal_default,
3734
3886
  {
3735
3887
  isOpen: showMathConstructor,
@@ -3739,10 +3891,10 @@ var InputGroup = ({
3739
3891
  setShowMathConstructor(false);
3740
3892
  },
3741
3893
  size: "large",
3742
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(FullCard_default, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "bg-white rounded-lg overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "p-6 space-y-6", children: [
3743
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { children: [
3744
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("math_editor") }),
3745
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "border border-catchup-gray-100 rounded-catchup-large focus-within:border-catchup-blue-400 focus-within:shadow-input", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3894
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(FullCard_default, { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "bg-white rounded-lg overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "p-6 space-y-6", children: [
3895
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { children: [
3896
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("math_editor") }),
3897
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "border border-catchup-gray-100 rounded-catchup-large focus-within:border-catchup-blue-400 focus-within:shadow-input", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3746
3898
  "math-field",
3747
3899
  {
3748
3900
  ref: mathFieldRef,
@@ -3769,10 +3921,10 @@ var InputGroup = ({
3769
3921
  }
3770
3922
  ) })
3771
3923
  ] }),
3772
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { children: [
3773
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("latex_output") }),
3774
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "relative", children: [
3775
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3924
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { children: [
3925
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("latex_output") }),
3926
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "relative", children: [
3927
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3776
3928
  "textarea",
3777
3929
  {
3778
3930
  ref: latexTextAreaRef,
@@ -3782,7 +3934,7 @@ var InputGroup = ({
3782
3934
  placeholder: i18n_default.t("latex_will_appear_here")
3783
3935
  }
3784
3936
  ),
3785
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3937
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3786
3938
  "button",
3787
3939
  {
3788
3940
  onClick: handleCopyLatex,
@@ -3798,13 +3950,13 @@ var InputGroup = ({
3798
3950
  );
3799
3951
  };
3800
3952
  const CheckboxInputGroup = () => {
3801
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
3953
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
3802
3954
  "div",
3803
3955
  {
3804
3956
  className: "flex flex-row items-center gap-x-1 cursor-pointer",
3805
3957
  onClick,
3806
3958
  children: [
3807
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3959
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3808
3960
  BaseImage_default,
3809
3961
  {
3810
3962
  src: value ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -3814,15 +3966,15 @@ var InputGroup = ({
3814
3966
  }
3815
3967
  }
3816
3968
  ),
3817
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "", children: title })
3969
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "", children: title })
3818
3970
  ]
3819
3971
  }
3820
3972
  );
3821
3973
  };
3822
3974
  const FileInputGroup = () => {
3823
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "my-1", children: [
3824
- title ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3825
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3975
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "my-1", children: [
3976
+ title ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3977
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3826
3978
  "input",
3827
3979
  {
3828
3980
  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",
@@ -3839,9 +3991,9 @@ var InputGroup = ({
3839
3991
  ] });
3840
3992
  };
3841
3993
  const DateInputGroup = () => {
3842
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "my-1", children: [
3843
- title ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3844
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
3994
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "my-1", children: [
3995
+ title ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3996
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3845
3997
  "input",
3846
3998
  {
3847
3999
  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`,
@@ -3856,9 +4008,9 @@ var InputGroup = ({
3856
4008
  ] });
3857
4009
  };
3858
4010
  const SearchableSelectInputGroup = () => {
3859
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "my-1", children: [
3860
- title ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400 ", children: title }) : null,
3861
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4011
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "my-1", children: [
4012
+ title ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400 ", children: title }) : null,
4013
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3862
4014
  import_react_select.default,
3863
4015
  {
3864
4016
  options: convertOptionListToSelectComponent(
@@ -3921,16 +4073,16 @@ var InputGroup = ({
3921
4073
  ] });
3922
4074
  };
3923
4075
  const TextAreaInputGroup = () => {
3924
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "my-1 flex-1 flex flex-col relative", children: [
3925
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex flex-row justify-between items-center", children: [
3926
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { children: title ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null }),
3927
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { children: value && limit ? /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("p", { className: "text-md font-semibold pr-2 py-1 text-catchup-gray-400", children: [
4076
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "my-1 flex-1 flex flex-col relative", children: [
4077
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-row justify-between items-center", children: [
4078
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { children: title ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null }),
4079
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { children: value && limit ? /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("p", { className: "text-md font-semibold pr-2 py-1 text-catchup-gray-400", children: [
3928
4080
  value.length,
3929
4081
  " / ",
3930
4082
  limit
3931
4083
  ] }) : null })
3932
4084
  ] }),
3933
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4085
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3934
4086
  "textarea",
3935
4087
  {
3936
4088
  ref: textAreaRef,
@@ -3943,22 +4095,22 @@ var InputGroup = ({
3943
4095
  onKeyDown
3944
4096
  }
3945
4097
  ),
3946
- useMath && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4098
+ useMath && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3947
4099
  "button",
3948
4100
  {
3949
4101
  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",
3950
4102
  onClick: handleOpenMathConstructor,
3951
4103
  type: "button",
3952
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-x-1", children: [
3953
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
3954
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4104
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center gap-x-1", children: [
4105
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
4106
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3955
4107
  "svg",
3956
4108
  {
3957
4109
  className: "w-3 h-3",
3958
4110
  fill: "none",
3959
4111
  stroke: "currentColor",
3960
4112
  viewBox: "0 0 24 24",
3961
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4113
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3962
4114
  "path",
3963
4115
  {
3964
4116
  strokeLinecap: "round",
@@ -3975,13 +4127,13 @@ var InputGroup = ({
3975
4127
  ] });
3976
4128
  };
3977
4129
  const TextInputGroup = () => {
3978
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "my-1 relative", children: [
3979
- title ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3980
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4130
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "my-1 relative", children: [
4131
+ title ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
4132
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3981
4133
  "div",
3982
4134
  {
3983
4135
  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"}`,
3984
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4136
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
3985
4137
  "input",
3986
4138
  {
3987
4139
  disabled,
@@ -3997,22 +4149,22 @@ var InputGroup = ({
3997
4149
  )
3998
4150
  }
3999
4151
  ),
4000
- useMath && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4152
+ useMath && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4001
4153
  "button",
4002
4154
  {
4003
4155
  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",
4004
4156
  onClick: handleOpenMathConstructor,
4005
4157
  type: "button",
4006
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "flex items-center gap-x-1", children: [
4007
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
4008
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4158
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex items-center gap-x-1", children: [
4159
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
4160
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4009
4161
  "svg",
4010
4162
  {
4011
4163
  className: "w-3 h-3",
4012
4164
  fill: "none",
4013
4165
  stroke: "currentColor",
4014
4166
  viewBox: "0 0 24 24",
4015
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
4167
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4016
4168
  "path",
4017
4169
  {
4018
4170
  strokeLinecap: "round",
@@ -4045,16 +4197,16 @@ var InputGroup = ({
4045
4197
  return CheckboxInputGroup();
4046
4198
  }
4047
4199
  };
4048
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_jsx_runtime17.Fragment, { children: [
4200
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
4049
4201
  RenderMainContent(),
4050
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(MathConstructorModal, {})
4202
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(MathConstructorModal, {})
4051
4203
  ] });
4052
4204
  };
4053
4205
  var InputGroup_default = InputGroup;
4054
4206
 
4055
4207
  // src/components/activities/material-content/DropdownActivityMaterialContent.tsx
4056
- var import_react13 = require("react");
4057
4208
  var import_react14 = require("react");
4209
+ var import_react15 = require("react");
4058
4210
 
4059
4211
  // src/utilization/AppUtilization.ts
4060
4212
  var colors = [
@@ -4154,11 +4306,11 @@ var getColorByIndex = (index) => {
4154
4306
  };
4155
4307
 
4156
4308
  // src/components/dropdowns/MediaDropdown.tsx
4157
- var import_react11 = require("react");
4158
- var import_jsx_runtime18 = require("react/jsx-runtime");
4309
+ var import_react12 = require("react");
4310
+ var import_jsx_runtime21 = require("react/jsx-runtime");
4159
4311
  var MediaDropdown = ({ id, answer, optionList }) => {
4160
- const [showDropdown, setShowDropdown] = (0, import_react11.useState)(false);
4161
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
4312
+ const [showDropdown, setShowDropdown] = (0, import_react12.useState)(false);
4313
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
4162
4314
  "div",
4163
4315
  {
4164
4316
  className: "w-full relative",
@@ -4169,17 +4321,17 @@ var MediaDropdown = ({ id, answer, optionList }) => {
4169
4321
  setShowDropdown(false);
4170
4322
  },
4171
4323
  children: [
4172
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-full flex flex-col items-center justify-center", children: answer }),
4173
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4324
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-full flex flex-col items-center justify-center", children: answer }),
4325
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4174
4326
  "ul",
4175
4327
  {
4176
4328
  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`,
4177
- children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
4329
+ children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
4178
4330
  "li",
4179
4331
  {
4180
4332
  className: `${option.listItemClassNames ? option.listItemClassNames : ""}`,
4181
4333
  children: [
4182
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
4334
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4183
4335
  "div",
4184
4336
  {
4185
4337
  className: `w-full flex flex-col my-2 ${option.divClassNames ? option.divClassNames : ""}`,
@@ -4187,7 +4339,7 @@ var MediaDropdown = ({ id, answer, optionList }) => {
4187
4339
  children: option.media
4188
4340
  }
4189
4341
  ),
4190
- index !== optionList.length - 1 ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-full border my-1 border-catchup-light-blue rounded-catchup-full" }) : null
4342
+ index !== optionList.length - 1 ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "w-full border my-1 border-catchup-light-blue rounded-catchup-full" }) : null
4191
4343
  ]
4192
4344
  },
4193
4345
  option.id
@@ -4202,24 +4354,24 @@ var MediaDropdown = ({ id, answer, optionList }) => {
4202
4354
  var MediaDropdown_default = MediaDropdown;
4203
4355
 
4204
4356
  // src/components/activities/material-content/ShowMaterialMediaByContentType.tsx
4205
- var import_react12 = require("react");
4357
+ var import_react13 = require("react");
4206
4358
  var import_react_modal3 = __toESM(require("react-modal"));
4207
- var import_jsx_runtime19 = require("react/jsx-runtime");
4359
+ var import_jsx_runtime22 = require("react/jsx-runtime");
4208
4360
  var ShowMaterialMediaByContentType = ({
4209
4361
  key,
4210
4362
  contentType,
4211
4363
  src,
4212
4364
  canFullScreen
4213
4365
  }) => {
4214
- const [showFullScreen, setShowFullScreen] = (0, import_react12.useState)(false);
4215
- const [selectedFullScreenItem, setSelectedFullScreenItem] = (0, import_react12.useState)(null);
4216
- const [isLoaded, setIsLoaded] = (0, import_react12.useState)(false);
4217
- const [isFullHeight, setIsFullHeight] = (0, import_react12.useState)(false);
4218
- const imageRef = (0, import_react12.useRef)(null);
4219
- (0, import_react12.useEffect)(() => {
4366
+ const [showFullScreen, setShowFullScreen] = (0, import_react13.useState)(false);
4367
+ const [selectedFullScreenItem, setSelectedFullScreenItem] = (0, import_react13.useState)(null);
4368
+ const [isLoaded, setIsLoaded] = (0, import_react13.useState)(false);
4369
+ const [isFullHeight, setIsFullHeight] = (0, import_react13.useState)(false);
4370
+ const imageRef = (0, import_react13.useRef)(null);
4371
+ (0, import_react13.useEffect)(() => {
4220
4372
  setIsLoaded(false);
4221
4373
  }, []);
4222
- (0, import_react12.useEffect)(() => {
4374
+ (0, import_react13.useEffect)(() => {
4223
4375
  if (!isLoaded) return;
4224
4376
  if (!imageRef) return;
4225
4377
  if (!imageRef.current) return;
@@ -4232,7 +4384,7 @@ var ShowMaterialMediaByContentType = ({
4232
4384
  }
4233
4385
  }, [isLoaded, key]);
4234
4386
  const RenderShowFullScreenItem = () => {
4235
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4387
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4236
4388
  import_react_modal3.default,
4237
4389
  {
4238
4390
  isOpen: showFullScreen,
@@ -4263,8 +4415,8 @@ var ShowMaterialMediaByContentType = ({
4263
4415
  }
4264
4416
  },
4265
4417
  contentLabel: "",
4266
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "flex-1 flex flex-col", children: [
4267
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4418
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "flex-1 flex flex-col", children: [
4419
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4268
4420
  BaseImage_default,
4269
4421
  {
4270
4422
  src: "/icons/cross-red.webp",
@@ -4276,7 +4428,7 @@ var ShowMaterialMediaByContentType = ({
4276
4428
  }
4277
4429
  }
4278
4430
  ) }),
4279
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "flex items-center justify-center h-[500px]", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4431
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex items-center justify-center h-[500px]", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4280
4432
  BaseImage_default,
4281
4433
  {
4282
4434
  src: selectedFullScreenItem,
@@ -4289,14 +4441,14 @@ var ShowMaterialMediaByContentType = ({
4289
4441
  }
4290
4442
  );
4291
4443
  };
4292
- return contentType === "IMAGE" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { children: [
4444
+ return contentType === "IMAGE" ? /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
4293
4445
  RenderShowFullScreenItem(),
4294
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
4446
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
4295
4447
  "div",
4296
4448
  {
4297
4449
  className: `${isFullHeight ? "h-catchup-activity-box-item" : "max-w-catchup-activity-box-item"} flex flex-col justify-center items-center relative`,
4298
4450
  children: [
4299
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4451
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4300
4452
  BaseImage_default,
4301
4453
  {
4302
4454
  src,
@@ -4309,7 +4461,7 @@ var ShowMaterialMediaByContentType = ({
4309
4461
  }
4310
4462
  }
4311
4463
  ),
4312
- src !== null && src !== "" && src !== "DEFAULT_OPTION" && canFullScreen ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4464
+ src !== null && src !== "" && src !== "DEFAULT_OPTION" && canFullScreen ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4313
4465
  "div",
4314
4466
  {
4315
4467
  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",
@@ -4321,7 +4473,7 @@ var ShowMaterialMediaByContentType = ({
4321
4473
  setShowFullScreen(true);
4322
4474
  setSelectedFullScreenItem(src);
4323
4475
  },
4324
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4476
+ children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4325
4477
  BaseImage_default,
4326
4478
  {
4327
4479
  src: "/icons/arrow-up.webp",
@@ -4335,7 +4487,7 @@ var ShowMaterialMediaByContentType = ({
4335
4487
  ]
4336
4488
  }
4337
4489
  ) }) })
4338
- ] }, key) : contentType === "VIDEO" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4490
+ ] }, key) : contentType === "VIDEO" ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4339
4491
  "video",
4340
4492
  {
4341
4493
  className: "h-catchup-activity-box-item rounded-catchup-xlarge",
@@ -4344,7 +4496,7 @@ var ShowMaterialMediaByContentType = ({
4344
4496
  onClick: () => {
4345
4497
  }
4346
4498
  }
4347
- ) }) }) }) : contentType === "AUDIO" ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
4499
+ ) }) }) }) : contentType === "AUDIO" ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4348
4500
  "audio",
4349
4501
  {
4350
4502
  className: "h-catchup-activity-box-item rounded-catchup-xlarge",
@@ -4358,7 +4510,7 @@ var ShowMaterialMediaByContentType = ({
4358
4510
  var ShowMaterialMediaByContentType_default = ShowMaterialMediaByContentType;
4359
4511
 
4360
4512
  // src/components/activities/material-content/DropdownActivityMaterialContent.tsx
4361
- var import_jsx_runtime20 = require("react/jsx-runtime");
4513
+ var import_jsx_runtime23 = require("react/jsx-runtime");
4362
4514
  var DropdownActivityMaterialContent = ({
4363
4515
  uniqueValue,
4364
4516
  answer,
@@ -4369,8 +4521,8 @@ var DropdownActivityMaterialContent = ({
4369
4521
  isPreview,
4370
4522
  showCorrectAnswer
4371
4523
  }) => {
4372
- const [updated, setUpdated] = (0, import_react14.useState)(false);
4373
- (0, import_react13.useEffect)(() => {
4524
+ const [updated, setUpdated] = (0, import_react15.useState)(false);
4525
+ (0, import_react14.useEffect)(() => {
4374
4526
  if (!showCorrectAnswer) return;
4375
4527
  const foundAnswer = answer.data.find(
4376
4528
  (answerData) => answerData.type === "DROPDOWN"
@@ -4383,7 +4535,7 @@ var DropdownActivityMaterialContent = ({
4383
4535
  onChange(answer, 0, Object.keys(materialMap[0])[0]);
4384
4536
  setUpdated(true);
4385
4537
  }, [showCorrectAnswer]);
4386
- (0, import_react13.useEffect)(() => {
4538
+ (0, import_react14.useEffect)(() => {
4387
4539
  if (!updated) return;
4388
4540
  setUpdated(false);
4389
4541
  }, [updated]);
@@ -4401,22 +4553,22 @@ var DropdownActivityMaterialContent = ({
4401
4553
  return "INCORRECT";
4402
4554
  };
4403
4555
  const answerMap = retrieveAnswerMap();
4404
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-row flex-wrap items-center", children: [
4405
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_dropdown_text") }) }),
4406
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DividerLine_default, {}) }),
4407
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4556
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-row flex-wrap items-center", children: [
4557
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_dropdown_text") }) }),
4558
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DividerLine_default, {}) }),
4559
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4408
4560
  const answerKey = Object.keys(materialMap[materialKey])[0];
4409
4561
  const learnerAnswerState = checkAnswerState(
4410
4562
  answerKey,
4411
4563
  answerMap[materialKey]
4412
4564
  );
4413
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4414
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "my-auto", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("p", { className: "text-xl", children: [
4565
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4566
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "my-auto", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("p", { className: "text-xl", children: [
4415
4567
  parseFloat(materialKey) + 1,
4416
4568
  "."
4417
4569
  ] }) }),
4418
- /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "w-full relative", children: [
4419
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4570
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "w-full relative", children: [
4571
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4420
4572
  InputGroup_default,
4421
4573
  {
4422
4574
  type: "select",
@@ -4424,13 +4576,13 @@ var DropdownActivityMaterialContent = ({
4424
4576
  optionList: shuffleArray(
4425
4577
  materialMap[materialKey][answerKey]
4426
4578
  ).map((materialOption) => ({
4427
- text: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4579
+ text: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4428
4580
  materialOption
4429
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4581
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4430
4582
  "span",
4431
4583
  {
4432
4584
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4433
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4585
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4434
4586
  import_react_katex2.InlineMath,
4435
4587
  {
4436
4588
  math: inputPart.value
@@ -4445,11 +4597,11 @@ var DropdownActivityMaterialContent = ({
4445
4597
  onChange(answer, materialKey, e.target.value);
4446
4598
  }
4447
4599
  }
4448
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4600
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4449
4601
  MediaDropdown_default,
4450
4602
  {
4451
4603
  id: materialKey,
4452
- answer: answerMap[materialKey] === "DEFAULT_OPTION" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "w-catchup-activity-box-item border h-catchup-activity-box-item rounded-catchup-xlarge border-dashed border-catchup-blue", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "italic", children: i18n_default.t("please_select") }) }) }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4604
+ answer: answerMap[materialKey] === "DEFAULT_OPTION" ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "w-catchup-activity-box-item border h-catchup-activity-box-item rounded-catchup-xlarge border-dashed border-catchup-blue", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "italic", children: i18n_default.t("please_select") }) }) }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4453
4605
  ShowMaterialMediaByContentType_default,
4454
4606
  {
4455
4607
  contentType: contentMap.type,
@@ -4461,7 +4613,7 @@ var DropdownActivityMaterialContent = ({
4461
4613
  optionList: materialMap[materialKey][answerKey].map(
4462
4614
  (materialOption, index2) => ({
4463
4615
  id: index2,
4464
- media: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4616
+ media: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4465
4617
  ShowMaterialMediaByContentType_default,
4466
4618
  {
4467
4619
  contentType: contentMap.type,
@@ -4480,24 +4632,24 @@ var DropdownActivityMaterialContent = ({
4480
4632
  })
4481
4633
  )
4482
4634
  }
4483
- ) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4635
+ ) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4484
4636
  answerMap[materialKey]
4485
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4637
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4486
4638
  "span",
4487
4639
  {
4488
4640
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4489
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_react_katex2.InlineMath, { math: inputPart.value }) }) : inputPart.value
4641
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_react_katex2.InlineMath, { math: inputPart.value }) }) : inputPart.value
4490
4642
  },
4491
4643
  index2
4492
4644
  )) }) }),
4493
- learnerAnswerState === "CORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4645
+ learnerAnswerState === "CORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4494
4646
  BaseImage_default,
4495
4647
  {
4496
4648
  src: "/icons/checkbox.webp",
4497
4649
  alt: "chekbbox",
4498
4650
  size: "small"
4499
4651
  }
4500
- ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
4652
+ ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4501
4653
  BaseImage_default,
4502
4654
  {
4503
4655
  src: "/icons/cross-red.webp",
@@ -4513,8 +4665,8 @@ var DropdownActivityMaterialContent = ({
4513
4665
  var DropdownActivityMaterialContent_default = DropdownActivityMaterialContent;
4514
4666
 
4515
4667
  // src/components/activities/DropdownActivityContent.tsx
4516
- var import_react15 = require("react");
4517
- var import_jsx_runtime21 = require("react/jsx-runtime");
4668
+ var import_react16 = require("react");
4669
+ var import_jsx_runtime24 = require("react/jsx-runtime");
4518
4670
  var DropdownActivityContent = ({
4519
4671
  answer,
4520
4672
  data,
@@ -4527,7 +4679,7 @@ var DropdownActivityContent = ({
4527
4679
  const contentMap = parseContentMapFromData(data);
4528
4680
  const dropdownBodyMap = parseBodyMapFromData(data, "DROPDOWN");
4529
4681
  const dropdownMaterialMap = parseMaterialMapFromData(data, "DROPDOWN");
4530
- const [currentAnswerMap, setCurrentAnswerMap] = (0, import_react15.useState)(() => {
4682
+ const [currentAnswerMap, setCurrentAnswerMap] = (0, import_react16.useState)(() => {
4531
4683
  return retrieveCurrentAnswerMap();
4532
4684
  });
4533
4685
  function retrieveCurrentAnswerMap() {
@@ -4536,7 +4688,7 @@ var DropdownActivityContent = ({
4536
4688
  );
4537
4689
  return answer.data[foundIndex].answerMap;
4538
4690
  }
4539
- (0, import_react15.useEffect)(() => {
4691
+ (0, import_react16.useEffect)(() => {
4540
4692
  setCurrentAnswerMap(retrieveCurrentAnswerMap());
4541
4693
  }, [answer]);
4542
4694
  const handleDropdownAnswerOnChange = (answerObj, key, value) => {
@@ -4556,8 +4708,8 @@ var DropdownActivityContent = ({
4556
4708
  setCurrentAnswerMap(newAnswerMap);
4557
4709
  changeAnswer(newAnswer);
4558
4710
  };
4559
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
4560
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4711
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
4712
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4561
4713
  ActivityBodyContent_default,
4562
4714
  {
4563
4715
  bodyMap: dropdownBodyMap,
@@ -4566,9 +4718,9 @@ var DropdownActivityContent = ({
4566
4718
  templateType: "DROPDOWN"
4567
4719
  }
4568
4720
  ) }),
4569
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DividerLine_default, {}) }),
4570
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(VerticalDividerLine_default, {}) }),
4571
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
4721
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DividerLine_default, {}) }),
4722
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(VerticalDividerLine_default, {}) }),
4723
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4572
4724
  DropdownActivityMaterialContent_default,
4573
4725
  {
4574
4726
  uniqueValue: JSON.stringify(data.contentMap),
@@ -4587,13 +4739,13 @@ var DropdownActivityContent_default = DropdownActivityContent;
4587
4739
 
4588
4740
  // src/components/activities/material-content/FillInTheBlanksActivityMaterialContent.tsx
4589
4741
  var import_react_katex3 = require("react-katex");
4590
- var import_react17 = require("react");
4591
4742
  var import_react18 = require("react");
4743
+ var import_react19 = require("react");
4592
4744
  var import_react_dnd3 = require("react-dnd");
4593
4745
 
4594
4746
  // src/components/dnds/DraggableItem.tsx
4595
4747
  var import_react_dnd = require("react-dnd");
4596
- var import_jsx_runtime22 = require("react/jsx-runtime");
4748
+ var import_jsx_runtime25 = require("react/jsx-runtime");
4597
4749
  var DraggableItem = ({
4598
4750
  key,
4599
4751
  item,
@@ -4615,11 +4767,11 @@ var DraggableItem = ({
4615
4767
  })
4616
4768
  });
4617
4769
  const opacity = isDragging ? 0.4 : 1;
4618
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
4770
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
4619
4771
  "div",
4620
4772
  {
4621
4773
  className: `${isDragging ? "w-[0px] opacity-0" : "opacity-100"} transition-all duration-500`,
4622
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { ref: drag, className: "", style: { opacity }, children: component })
4774
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { ref: drag, className: "", style: { opacity }, children: component })
4623
4775
  },
4624
4776
  key
4625
4777
  );
@@ -4627,9 +4779,9 @@ var DraggableItem = ({
4627
4779
  var DraggableItem_default = DraggableItem;
4628
4780
 
4629
4781
  // src/components/dnds/DroppableItem.tsx
4630
- var import_react16 = require("react");
4782
+ var import_react17 = require("react");
4631
4783
  var import_react_dnd2 = require("react-dnd");
4632
- var import_jsx_runtime23 = require("react/jsx-runtime");
4784
+ var import_jsx_runtime26 = require("react/jsx-runtime");
4633
4785
  var DroppableItem = ({
4634
4786
  key,
4635
4787
  item,
@@ -4639,7 +4791,7 @@ var DroppableItem = ({
4639
4791
  target,
4640
4792
  setTarget
4641
4793
  }) => {
4642
- const ref = (0, import_react16.useRef)(null);
4794
+ const ref = (0, import_react17.useRef)(null);
4643
4795
  const [, drop] = (0, import_react_dnd2.useDrop)({
4644
4796
  accept: type,
4645
4797
  hover() {
@@ -4649,7 +4801,7 @@ var DroppableItem = ({
4649
4801
  }
4650
4802
  });
4651
4803
  dropRef(drop(ref));
4652
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
4804
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
4653
4805
  "div",
4654
4806
  {
4655
4807
  className: `w-full transition-all duration-500 h-full`,
@@ -4662,7 +4814,7 @@ var DroppableItem = ({
4662
4814
  var DroppableItem_default = DroppableItem;
4663
4815
 
4664
4816
  // src/components/activities/material-content/FillInTheBlanksActivityMaterialContent.tsx
4665
- var import_jsx_runtime24 = require("react/jsx-runtime");
4817
+ var import_jsx_runtime27 = require("react/jsx-runtime");
4666
4818
  var FillInTheBlanksActivityMaterialContent = ({
4667
4819
  uniqueValue,
4668
4820
  answer,
@@ -4674,9 +4826,9 @@ var FillInTheBlanksActivityMaterialContent = ({
4674
4826
  isPreview,
4675
4827
  showCorrectAnswer
4676
4828
  }) => {
4677
- const [shuffleOptionList, setShuffleOptionList] = (0, import_react17.useState)([]);
4678
- const [selectedOption, setSelectedOption] = (0, import_react17.useState)(null);
4679
- const [pasteOptionIndex, setPasteOptionIndex] = (0, import_react17.useState)(null);
4829
+ const [shuffleOptionList, setShuffleOptionList] = (0, import_react18.useState)([]);
4830
+ const [selectedOption, setSelectedOption] = (0, import_react18.useState)(null);
4831
+ const [pasteOptionIndex, setPasteOptionIndex] = (0, import_react18.useState)(null);
4680
4832
  const [{ isOver, canDrop }, drop] = (0, import_react_dnd3.useDrop)({
4681
4833
  accept: "FILL_IN_THE_BLANKS",
4682
4834
  drop: () => {
@@ -4686,10 +4838,10 @@ var FillInTheBlanksActivityMaterialContent = ({
4686
4838
  canDrop: monitor.canDrop()
4687
4839
  })
4688
4840
  });
4689
- (0, import_react18.useEffect)(() => {
4841
+ (0, import_react19.useEffect)(() => {
4690
4842
  setShuffleOptionList(shuffleArray(optionList));
4691
4843
  }, []);
4692
- (0, import_react18.useEffect)(() => {
4844
+ (0, import_react19.useEffect)(() => {
4693
4845
  if (!showCorrectAnswer) return;
4694
4846
  const foundAnswer = answer.data.find(
4695
4847
  (answerData) => answerData.type === "FILL_IN_THE_BLANKS"
@@ -4721,12 +4873,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4721
4873
  return Object.keys(answerMap2).findIndex((key) => answerMap2[key] === option) !== -1;
4722
4874
  };
4723
4875
  const answerMap = retrieveAnswerMap();
4724
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex flex-row flex-wrap items-center", onMouseUp: () => {
4876
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex flex-row flex-wrap items-center", onMouseUp: () => {
4725
4877
  }, children: [
4726
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4727
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DividerLine_default, {}) }),
4728
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4729
- (option, index) => checkAnswerProvided(answerMap, option) ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "opacity-30", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4878
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4879
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(DividerLine_default, {}) }),
4880
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4881
+ (option, index) => checkAnswerProvided(answerMap, option) ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "opacity-30", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4730
4882
  ShowMaterialMediaByContentType_default,
4731
4883
  {
4732
4884
  contentType: contentMap.type,
@@ -4734,12 +4886,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4734
4886
  canFullScreen: true
4735
4887
  },
4736
4888
  `${uniqueValue}-${index}`
4737
- ) }, index) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4889
+ ) }, index) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4738
4890
  DraggableItem_default,
4739
4891
  {
4740
4892
  item: { index: option },
4741
4893
  type: "FILL_IN_THE_BLANKS",
4742
- component: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4894
+ component: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4743
4895
  "div",
4744
4896
  {
4745
4897
  className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer",
@@ -4747,9 +4899,9 @@ var FillInTheBlanksActivityMaterialContent = ({
4747
4899
  setSelectedOption(option);
4748
4900
  setPasteOptionIndex(null);
4749
4901
  },
4750
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "italic whitespace-pre-wrap", children: option })
4902
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "italic whitespace-pre-wrap", children: option })
4751
4903
  }
4752
- ) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4904
+ ) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4753
4905
  "div",
4754
4906
  {
4755
4907
  className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer",
@@ -4757,7 +4909,7 @@ var FillInTheBlanksActivityMaterialContent = ({
4757
4909
  setSelectedOption(option);
4758
4910
  setPasteOptionIndex(null);
4759
4911
  },
4760
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4912
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4761
4913
  ShowMaterialMediaByContentType_default,
4762
4914
  {
4763
4915
  contentType: contentMap.type,
@@ -4775,12 +4927,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4775
4927
  index
4776
4928
  )
4777
4929
  ) }),
4778
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4930
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4779
4931
  const learnerAnswerState = checkAnswerState(
4780
4932
  JSON.parse(materialMap[materialKey]),
4781
4933
  answerMap[materialKey]
4782
4934
  );
4783
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4935
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4784
4936
  DroppableItem_default,
4785
4937
  {
4786
4938
  item: { index },
@@ -4788,13 +4940,13 @@ var FillInTheBlanksActivityMaterialContent = ({
4788
4940
  target: pasteOptionIndex,
4789
4941
  setTarget: setPasteOptionIndex,
4790
4942
  dropRef: drop,
4791
- component: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4792
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "my-auto", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("p", { className: "text-xl", children: [
4943
+ component: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4944
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "my-auto", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("p", { className: "text-xl", children: [
4793
4945
  parseFloat(materialKey) + 1,
4794
4946
  "."
4795
4947
  ] }) }),
4796
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "relative", children: [
4797
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4948
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "relative", children: [
4949
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4798
4950
  InputGroup_default,
4799
4951
  {
4800
4952
  type: "textarea",
@@ -4809,14 +4961,14 @@ var FillInTheBlanksActivityMaterialContent = ({
4809
4961
  }
4810
4962
  }
4811
4963
  ) }),
4812
- learnerAnswerState === "CORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4964
+ learnerAnswerState === "CORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4813
4965
  BaseImage_default,
4814
4966
  {
4815
4967
  src: "/icons/checkbox.webp",
4816
4968
  alt: "checkbox",
4817
4969
  size: "small"
4818
4970
  }
4819
- ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4971
+ ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4820
4972
  BaseImage_default,
4821
4973
  {
4822
4974
  src: "/icons/cross-red.webp",
@@ -4824,20 +4976,20 @@ var FillInTheBlanksActivityMaterialContent = ({
4824
4976
  size: "small"
4825
4977
  }
4826
4978
  ) }) : null
4827
- ] }) : answerMap[materialKey] === "" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4979
+ ] }) : answerMap[materialKey] === "" ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4828
4980
  "div",
4829
4981
  {
4830
4982
  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"}`,
4831
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "italic", children: i18n_default.t("please_drop_here") }) })
4983
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "italic", children: i18n_default.t("please_drop_here") }) })
4832
4984
  }
4833
- ) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4985
+ ) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4834
4986
  "div",
4835
4987
  {
4836
4988
  className: "flex-1 cursor-pointer",
4837
4989
  onClick: () => {
4838
4990
  onChange(answer, materialKey, "");
4839
4991
  },
4840
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
4992
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4841
4993
  ShowMaterialMediaByContentType_default,
4842
4994
  {
4843
4995
  contentType: contentMap.type,
@@ -4847,13 +4999,13 @@ var FillInTheBlanksActivityMaterialContent = ({
4847
4999
  `${uniqueValue}-${index}`
4848
5000
  )
4849
5001
  }
4850
- ) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5002
+ ) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
4851
5003
  answerMap[materialKey]
4852
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
5004
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4853
5005
  "span",
4854
5006
  {
4855
5007
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4856
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_react_katex3.InlineMath, { math: inputPart.value }) }) : inputPart.value
5008
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_katex3.InlineMath, { math: inputPart.value }) }) : inputPart.value
4857
5009
  },
4858
5010
  index2
4859
5011
  )) }, materialKey) })
@@ -4867,8 +5019,8 @@ var FillInTheBlanksActivityMaterialContent = ({
4867
5019
  var FillInTheBlanksActivityMaterialContent_default = FillInTheBlanksActivityMaterialContent;
4868
5020
 
4869
5021
  // src/components/activities/FillInTheBlanksActivityContent.tsx
4870
- var import_react19 = require("react");
4871
- var import_jsx_runtime25 = require("react/jsx-runtime");
5022
+ var import_react20 = require("react");
5023
+ var import_jsx_runtime28 = require("react/jsx-runtime");
4872
5024
  var FillInTheBlanksActivityContent = ({
4873
5025
  answer,
4874
5026
  data,
@@ -4888,7 +5040,7 @@ var FillInTheBlanksActivityContent = ({
4888
5040
  "FILL_IN_THE_BLANKS"
4889
5041
  );
4890
5042
  const fillInTheBlanksIncorrectList = data.fillInTheBlanksIncorrectList ? JSON.parse(data.fillInTheBlanksIncorrectList) : [];
4891
- const [currentAnswerMap, setCurrentAnswerMap] = (0, import_react19.useState)(() => {
5043
+ const [currentAnswerMap, setCurrentAnswerMap] = (0, import_react20.useState)(() => {
4892
5044
  return retrieveCurrentAnswerMap();
4893
5045
  });
4894
5046
  function retrieveCurrentAnswerMap() {
@@ -4897,7 +5049,7 @@ var FillInTheBlanksActivityContent = ({
4897
5049
  );
4898
5050
  return answer.data[foundIndex].answerMap;
4899
5051
  }
4900
- (0, import_react19.useEffect)(() => {
5052
+ (0, import_react20.useEffect)(() => {
4901
5053
  setCurrentAnswerMap(retrieveCurrentAnswerMap());
4902
5054
  }, [answer]);
4903
5055
  const constructAnswerOptionList = () => {
@@ -4935,8 +5087,8 @@ var FillInTheBlanksActivityContent = ({
4935
5087
  setCurrentAnswerMap(newAnswerMap);
4936
5088
  changeAnswer(newAnswer);
4937
5089
  };
4938
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
4939
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5090
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
5091
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4940
5092
  ActivityBodyContent_default,
4941
5093
  {
4942
5094
  bodyMap: fillInTheBlanksBodyMap,
@@ -4945,9 +5097,9 @@ var FillInTheBlanksActivityContent = ({
4945
5097
  templateType: "FILL_IN_THE_BLANKS"
4946
5098
  }
4947
5099
  ) }),
4948
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DividerLine_default, {}) }),
4949
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(VerticalDividerLine_default, {}) }),
4950
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
5100
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(DividerLine_default, {}) }),
5101
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(VerticalDividerLine_default, {}) }),
5102
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
4951
5103
  FillInTheBlanksActivityMaterialContent_default,
4952
5104
  {
4953
5105
  uniqueValue: JSON.stringify(data.contentMap),
@@ -4966,22 +5118,22 @@ var FillInTheBlanksActivityContent = ({
4966
5118
  var FillInTheBlanksActivityContent_default = FillInTheBlanksActivityContent;
4967
5119
 
4968
5120
  // src/components/activities/material-content/GroupingActivityMaterialContent.tsx
4969
- var import_react21 = require("react");
5121
+ var import_react22 = require("react");
4970
5122
  var import_react_dnd4 = require("react-dnd");
4971
5123
  var import_react_katex4 = require("react-katex");
4972
5124
 
4973
5125
  // src/hooks/useScreenSize.ts
4974
- var import_react20 = require("react");
5126
+ var import_react21 = require("react");
4975
5127
  var useScreenSize = () => {
4976
- const [containerSize, setContainerSize] = (0, import_react20.useState)({
5128
+ const [containerSize, setContainerSize] = (0, import_react21.useState)({
4977
5129
  width: 0,
4978
5130
  height: 0
4979
5131
  });
4980
- const [screenSize, setScreenSize] = (0, import_react20.useState)({
5132
+ const [screenSize, setScreenSize] = (0, import_react21.useState)({
4981
5133
  width: window.innerWidth,
4982
5134
  height: window.innerHeight
4983
5135
  });
4984
- (0, import_react20.useEffect)(() => {
5136
+ (0, import_react21.useEffect)(() => {
4985
5137
  const handleResize = () => {
4986
5138
  setScreenSize({
4987
5139
  width: window.innerWidth,
@@ -5006,7 +5158,7 @@ var useScreenSize = () => {
5006
5158
  var useScreenSize_default = useScreenSize;
5007
5159
 
5008
5160
  // src/components/activities/material-content/GroupingActivityMaterialContent.tsx
5009
- var import_jsx_runtime26 = require("react/jsx-runtime");
5161
+ var import_jsx_runtime29 = require("react/jsx-runtime");
5010
5162
  var GroupingActivityMaterialContent = ({
5011
5163
  uniqueValue,
5012
5164
  answer,
@@ -5017,10 +5169,10 @@ var GroupingActivityMaterialContent = ({
5017
5169
  isPreview,
5018
5170
  showCorrectAnswer
5019
5171
  }) => {
5020
- const [selectedValue, setSelectedValue] = (0, import_react21.useState)(null);
5021
- const [selectedTargetKey, setSelectedTargetKey] = (0, import_react21.useState)(null);
5022
- const [isShuffled, setIsShuffled] = (0, import_react21.useState)(false);
5023
- const [shuffledMaterialList, setShuffledMaterialList] = (0, import_react21.useState)([]);
5172
+ const [selectedValue, setSelectedValue] = (0, import_react22.useState)(null);
5173
+ const [selectedTargetKey, setSelectedTargetKey] = (0, import_react22.useState)(null);
5174
+ const [isShuffled, setIsShuffled] = (0, import_react22.useState)(false);
5175
+ const [shuffledMaterialList, setShuffledMaterialList] = (0, import_react22.useState)([]);
5024
5176
  const { screenSize, containerSize } = useScreenSize_default();
5025
5177
  const [{ isOver, canDrop }, drop] = (0, import_react_dnd4.useDrop)({
5026
5178
  accept: "GROUPING",
@@ -5031,16 +5183,16 @@ var GroupingActivityMaterialContent = ({
5031
5183
  canDrop: monitor.canDrop()
5032
5184
  })
5033
5185
  });
5034
- const ref = (0, import_react21.useRef)(null);
5035
- const itemsRef = (0, import_react21.useRef)(null);
5036
- const [maxWidth, setMaxWidth] = (0, import_react21.useState)(0);
5037
- (0, import_react21.useEffect)(() => {
5186
+ const ref = (0, import_react22.useRef)(null);
5187
+ const itemsRef = (0, import_react22.useRef)(null);
5188
+ const [maxWidth, setMaxWidth] = (0, import_react22.useState)(0);
5189
+ (0, import_react22.useEffect)(() => {
5038
5190
  if (!ref) return;
5039
5191
  if (!ref.current) return;
5040
5192
  if (!screenSize) return;
5041
5193
  setMaxWidth(ref.current.offsetWidth - 12);
5042
5194
  }, [ref, screenSize]);
5043
- (0, import_react21.useEffect)(() => {
5195
+ (0, import_react22.useEffect)(() => {
5044
5196
  const shuffleArray2 = (array) => {
5045
5197
  if (!isShuffled) {
5046
5198
  const copyArray = JSON.parse(JSON.stringify(array));
@@ -5061,7 +5213,7 @@ var GroupingActivityMaterialContent = ({
5061
5213
  });
5062
5214
  setShuffledMaterialList(shuffleArray2(materialList));
5063
5215
  }, []);
5064
- (0, import_react21.useEffect)(() => {
5216
+ (0, import_react22.useEffect)(() => {
5065
5217
  if (!showCorrectAnswer) return;
5066
5218
  answer.data.find(
5067
5219
  (answerData) => answerData.type === "GROUPING"
@@ -5105,19 +5257,19 @@ var GroupingActivityMaterialContent = ({
5105
5257
  };
5106
5258
  const answerMap = retrieveAnswerMap();
5107
5259
  const filteredMaterialList = retrieveFilteredMaterialList(answerMap);
5108
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
5109
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5260
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
5261
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5110
5262
  "div",
5111
5263
  {
5112
5264
  ref: itemsRef,
5113
5265
  className: "flex-1 flex flex-row gap-x-4 gap-y-4 overflow-auto py-2",
5114
5266
  children: filteredMaterialList.map((materialValue, index) => {
5115
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5267
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5116
5268
  DraggableItem_default,
5117
5269
  {
5118
5270
  item: { index: materialValue },
5119
5271
  type: "GROUPING",
5120
- component: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5272
+ component: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5121
5273
  "div",
5122
5274
  {
5123
5275
  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`,
@@ -5131,22 +5283,22 @@ var GroupingActivityMaterialContent = ({
5131
5283
  setSelectedValue(null);
5132
5284
  }
5133
5285
  },
5134
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5286
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5135
5287
  "div",
5136
5288
  {
5137
5289
  className: `flex flex-col items-center justify-center m-4 min-h-[64px] min-w-[200px]`,
5138
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5290
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5139
5291
  materialValue
5140
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5292
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5141
5293
  "span",
5142
5294
  {
5143
5295
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5144
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react_katex4.InlineMath, { math: inputPart.value }) }) : inputPart.value
5296
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_katex4.InlineMath, { math: inputPart.value }) }) : inputPart.value
5145
5297
  },
5146
5298
  index2
5147
5299
  )) })
5148
5300
  }
5149
- ) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5301
+ ) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5150
5302
  ShowMaterialMediaByContentType_default,
5151
5303
  {
5152
5304
  contentType: contentMap.type,
@@ -5171,22 +5323,22 @@ var GroupingActivityMaterialContent = ({
5171
5323
  })
5172
5324
  }
5173
5325
  ),
5174
- filteredMaterialList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(DividerLine_default, {}) : null,
5175
- Object.keys(answerMap).map((answerMapKey, index) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex flex-row w-full", children: [
5176
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5326
+ filteredMaterialList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DividerLine_default, {}) : null,
5327
+ Object.keys(answerMap).map((answerMapKey, index) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex flex-row w-full", children: [
5328
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5177
5329
  "div",
5178
5330
  {
5179
5331
  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`,
5180
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5332
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5181
5333
  "div",
5182
5334
  {
5183
5335
  className: `flex flex-col items-center justify-center transition-all duration-300 m-4`,
5184
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5185
- (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5336
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5337
+ (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5186
5338
  "span",
5187
5339
  {
5188
5340
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5189
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_react_katex4.InlineMath, { math: inputPart.value }) }) : inputPart.value
5341
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_katex4.InlineMath, { math: inputPart.value }) }) : inputPart.value
5190
5342
  },
5191
5343
  index2
5192
5344
  )
@@ -5195,12 +5347,12 @@ var GroupingActivityMaterialContent = ({
5195
5347
  )
5196
5348
  }
5197
5349
  ) }),
5198
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5199
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "flex-1", ref, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "h-full py-3", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5350
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5351
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "flex-1", ref, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "h-full py-3", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5200
5352
  "div",
5201
5353
  {
5202
5354
  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`,
5203
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5355
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5204
5356
  DroppableItem_default,
5205
5357
  {
5206
5358
  item: { index: answerMapKey },
@@ -5208,7 +5360,7 @@ var GroupingActivityMaterialContent = ({
5208
5360
  target: selectedTargetKey,
5209
5361
  setTarget: setSelectedTargetKey,
5210
5362
  dropRef: drop,
5211
- component: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5363
+ component: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5212
5364
  "div",
5213
5365
  {
5214
5366
  className: "h-full flex-1 flex flex-row items-center overflow-x-auto",
@@ -5221,7 +5373,7 @@ var GroupingActivityMaterialContent = ({
5221
5373
  materialMap[answerMapKey],
5222
5374
  answerMapValue
5223
5375
  );
5224
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "p-1", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "h-catchup-activity-box-item", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5376
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "p-1", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "h-catchup-activity-box-item", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5225
5377
  "div",
5226
5378
  {
5227
5379
  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`,
@@ -5237,17 +5389,17 @@ var GroupingActivityMaterialContent = ({
5237
5389
  setSelectedValue(null);
5238
5390
  }
5239
5391
  },
5240
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5392
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5241
5393
  "div",
5242
5394
  {
5243
5395
  className: `flex flex-col items-center justify-center transition-all duration-300 min-h-[64px] min-w-[200px]`,
5244
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5396
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5245
5397
  answerMapValue
5246
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5398
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5247
5399
  "span",
5248
5400
  {
5249
5401
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5250
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5402
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5251
5403
  import_react_katex4.InlineMath,
5252
5404
  {
5253
5405
  math: inputPart.value
@@ -5257,7 +5409,7 @@ var GroupingActivityMaterialContent = ({
5257
5409
  index2
5258
5410
  )) }) })
5259
5411
  }
5260
- ) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
5412
+ ) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5261
5413
  ShowMaterialMediaByContentType_default,
5262
5414
  {
5263
5415
  contentType: contentMap.type,
@@ -5283,7 +5435,7 @@ var GroupingActivityMaterialContent = ({
5283
5435
  var GroupingActivityMaterialContent_default = GroupingActivityMaterialContent;
5284
5436
 
5285
5437
  // src/components/activities/GroupingActivityContent.tsx
5286
- var import_jsx_runtime27 = require("react/jsx-runtime");
5438
+ var import_jsx_runtime30 = require("react/jsx-runtime");
5287
5439
  var GroupingActivityContent = ({
5288
5440
  answer,
5289
5441
  data,
@@ -5308,16 +5460,16 @@ var GroupingActivityContent = ({
5308
5460
  }
5309
5461
  changeAnswer(answer2);
5310
5462
  };
5311
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
5312
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5463
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
5464
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5313
5465
  ActivityBodyContent_default,
5314
5466
  {
5315
5467
  bodyMap: groupingBodyMap,
5316
5468
  templateType: "GROUPING"
5317
5469
  }
5318
5470
  ),
5319
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(DividerLine_default, {}),
5320
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
5471
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DividerLine_default, {}),
5472
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5321
5473
  GroupingActivityMaterialContent_default,
5322
5474
  {
5323
5475
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5335,10 +5487,10 @@ var GroupingActivityContent = ({
5335
5487
  var GroupingActivityContent_default = GroupingActivityContent;
5336
5488
 
5337
5489
  // src/components/activities/material-content/MatchingActivityMaterialContent.tsx
5338
- var import_react22 = require("react");
5490
+ var import_react23 = require("react");
5339
5491
  var import_react_dnd5 = require("react-dnd");
5340
5492
  var import_react_katex5 = require("react-katex");
5341
- var import_jsx_runtime28 = require("react/jsx-runtime");
5493
+ var import_jsx_runtime31 = require("react/jsx-runtime");
5342
5494
  var MatchingActivityMaterialContent = ({
5343
5495
  uniqueValue,
5344
5496
  answer,
@@ -5349,10 +5501,10 @@ var MatchingActivityMaterialContent = ({
5349
5501
  isPreview,
5350
5502
  showCorrectAnswer
5351
5503
  }) => {
5352
- const [selectedValue, setSelectedValue] = (0, import_react22.useState)(null);
5353
- const [selectedTargetKey, setSelectedTargetKey] = (0, import_react22.useState)(null);
5354
- const [isShuffled, setIsShuffled] = (0, import_react22.useState)(false);
5355
- const [shuffledMaterialList, setShuffledMaterialList] = (0, import_react22.useState)([]);
5504
+ const [selectedValue, setSelectedValue] = (0, import_react23.useState)(null);
5505
+ const [selectedTargetKey, setSelectedTargetKey] = (0, import_react23.useState)(null);
5506
+ const [isShuffled, setIsShuffled] = (0, import_react23.useState)(false);
5507
+ const [shuffledMaterialList, setShuffledMaterialList] = (0, import_react23.useState)([]);
5356
5508
  const [{ isOver, canDrop }, drop] = (0, import_react_dnd5.useDrop)({
5357
5509
  accept: "MATCHING",
5358
5510
  drop: () => {
@@ -5363,8 +5515,8 @@ var MatchingActivityMaterialContent = ({
5363
5515
  })
5364
5516
  });
5365
5517
  const { containerSize } = useScreenSize_default();
5366
- const itemsRef = (0, import_react22.useRef)(null);
5367
- (0, import_react22.useEffect)(() => {
5518
+ const itemsRef = (0, import_react23.useRef)(null);
5519
+ (0, import_react23.useEffect)(() => {
5368
5520
  const shuffleArray2 = (array) => {
5369
5521
  if (!isShuffled) {
5370
5522
  const copyArray = JSON.parse(JSON.stringify(array));
@@ -5383,13 +5535,13 @@ var MatchingActivityMaterialContent = ({
5383
5535
  });
5384
5536
  setShuffledMaterialList(shuffleArray2(materialList));
5385
5537
  }, []);
5386
- (0, import_react22.useEffect)(() => {
5538
+ (0, import_react23.useEffect)(() => {
5387
5539
  if (!showCorrectAnswer) return;
5388
5540
  answer.data.find(
5389
5541
  (answerData) => answerData.type === "MATCHING"
5390
5542
  ).answerMap = materialMap;
5391
5543
  }, [showCorrectAnswer]);
5392
- (0, import_react22.useEffect)(() => {
5544
+ (0, import_react23.useEffect)(() => {
5393
5545
  if (!itemsRef) return;
5394
5546
  if (!itemsRef.current) return;
5395
5547
  if (!containerSize) return;
@@ -5434,18 +5586,18 @@ var MatchingActivityMaterialContent = ({
5434
5586
  };
5435
5587
  const answerMap = retrieveAnswerMap();
5436
5588
  const filteredMaterialList = retrieveFilteredMaterialList(answerMap);
5437
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_jsx_runtime28.Fragment, { children: [
5438
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5589
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
5590
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5439
5591
  "div",
5440
5592
  {
5441
5593
  ref: itemsRef,
5442
5594
  className: "flex-1 flex flex-row gap-x-4 gap-y-4 overflow-auto py-2",
5443
- children: filteredMaterialList.map((materialValue, index) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5595
+ children: filteredMaterialList.map((materialValue, index) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5444
5596
  DraggableItem_default,
5445
5597
  {
5446
5598
  item: { index: materialValue },
5447
5599
  type: "MATCHING",
5448
- component: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5600
+ component: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5449
5601
  "div",
5450
5602
  {
5451
5603
  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`,
@@ -5459,22 +5611,22 @@ var MatchingActivityMaterialContent = ({
5459
5611
  setSelectedValue(null);
5460
5612
  }
5461
5613
  },
5462
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5614
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5463
5615
  "div",
5464
5616
  {
5465
5617
  className: `flex flex-col items-center justify-center m-4 min-h-[64px] min-w-[200px]`,
5466
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5618
+ children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5467
5619
  materialValue
5468
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5620
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5469
5621
  "span",
5470
5622
  {
5471
5623
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5472
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5624
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5473
5625
  },
5474
5626
  index2
5475
5627
  )) })
5476
5628
  }
5477
- ) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5629
+ ) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5478
5630
  ShowMaterialMediaByContentType_default,
5479
5631
  {
5480
5632
  contentType: contentMap.type,
@@ -5498,27 +5650,27 @@ var MatchingActivityMaterialContent = ({
5498
5650
  ))
5499
5651
  }
5500
5652
  ),
5501
- filteredMaterialList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(DividerLine_default, {}) : null,
5653
+ filteredMaterialList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DividerLine_default, {}) : null,
5502
5654
  Object.keys(answerMap).map((answerMapKey, index) => {
5503
5655
  const learnerAnswerState = checkAnswerState(
5504
5656
  materialMap[answerMapKey],
5505
5657
  answerMap[answerMapKey]
5506
5658
  );
5507
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex flex-row w-full", children: [
5508
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5659
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-row w-full", children: [
5660
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5509
5661
  "div",
5510
5662
  {
5511
5663
  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"}`,
5512
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5664
+ children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5513
5665
  "div",
5514
5666
  {
5515
5667
  className: `flex flex-col items-center justify-center transition-all duration-300 m-4`,
5516
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5517
- (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5668
+ children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5669
+ (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5518
5670
  "span",
5519
5671
  {
5520
5672
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5521
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5673
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5522
5674
  },
5523
5675
  index2
5524
5676
  )
@@ -5527,8 +5679,8 @@ var MatchingActivityMaterialContent = ({
5527
5679
  )
5528
5680
  }
5529
5681
  ) }),
5530
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5531
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5682
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5683
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5532
5684
  "div",
5533
5685
  {
5534
5686
  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"}`,
@@ -5537,7 +5689,7 @@ var MatchingActivityMaterialContent = ({
5537
5689
  setSelectedValue(null);
5538
5690
  }
5539
5691
  },
5540
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5692
+ children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5541
5693
  DroppableItem_default,
5542
5694
  {
5543
5695
  item: { index: answerMapKey },
@@ -5545,7 +5697,7 @@ var MatchingActivityMaterialContent = ({
5545
5697
  target: selectedTargetKey,
5546
5698
  setTarget: setSelectedTargetKey,
5547
5699
  dropRef: drop,
5548
- component: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5700
+ component: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5549
5701
  "div",
5550
5702
  {
5551
5703
  className: `h-full flex-1 flex flex-row items-center justify-center `,
@@ -5558,16 +5710,16 @@ var MatchingActivityMaterialContent = ({
5558
5710
  );
5559
5711
  }
5560
5712
  },
5561
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5713
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5562
5714
  answerMap[answerMapKey]
5563
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5715
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5564
5716
  "span",
5565
5717
  {
5566
5718
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5567
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5719
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_katex5.InlineMath, { math: inputPart.value }) }) : inputPart.value
5568
5720
  },
5569
5721
  index2
5570
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
5722
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5571
5723
  ShowMaterialMediaByContentType_default,
5572
5724
  {
5573
5725
  contentType: contentMap.type,
@@ -5590,7 +5742,7 @@ var MatchingActivityMaterialContent = ({
5590
5742
  var MatchingActivityMaterialContent_default = MatchingActivityMaterialContent;
5591
5743
 
5592
5744
  // src/components/activities/MatchingActivityContent.tsx
5593
- var import_jsx_runtime29 = require("react/jsx-runtime");
5745
+ var import_jsx_runtime32 = require("react/jsx-runtime");
5594
5746
  var MatchingActivityContent = ({
5595
5747
  answer,
5596
5748
  data,
@@ -5611,16 +5763,16 @@ var MatchingActivityContent = ({
5611
5763
  answerMap[key] = value;
5612
5764
  changeAnswer(answer2);
5613
5765
  };
5614
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
5615
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5766
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
5767
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5616
5768
  ActivityBodyContent_default,
5617
5769
  {
5618
5770
  bodyMap: matchingBodyMap,
5619
5771
  templateType: "MATCHING"
5620
5772
  }
5621
5773
  ),
5622
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DividerLine_default, {}),
5623
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
5774
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DividerLine_default, {}),
5775
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5624
5776
  MatchingActivityMaterialContent_default,
5625
5777
  {
5626
5778
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5639,7 +5791,7 @@ var MatchingActivityContent_default = MatchingActivityContent;
5639
5791
 
5640
5792
  // src/components/activities/material-content/MCMAActivityMaterialContent.tsx
5641
5793
  var import_react_katex6 = require("react-katex");
5642
- var import_jsx_runtime30 = require("react/jsx-runtime");
5794
+ var import_jsx_runtime33 = require("react/jsx-runtime");
5643
5795
  var MCMAActivityMaterialContent = ({
5644
5796
  uniqueValue,
5645
5797
  answer,
@@ -5672,10 +5824,10 @@ var MCMAActivityMaterialContent = ({
5672
5824
  const answerMap = retrieveAnswerMap();
5673
5825
  const correctAnswerList = retrieveCorrectAnswerList();
5674
5826
  return Object.keys(materialMap).map((materialKey, index) => {
5675
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5", children: [
5676
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcma_text") }) }),
5677
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(DividerLine_default, {}) }),
5678
- checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex flex-row w-full flex-wrap ", children: materialMap[materialKey].map(
5827
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5", children: [
5828
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcma_text") }) }),
5829
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DividerLine_default, {}) }),
5830
+ checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex flex-row w-full flex-wrap ", children: materialMap[materialKey].map(
5679
5831
  (materialSubKey, index2) => {
5680
5832
  const foundAnswer = answerMap[materialKey].find(
5681
5833
  (learnerAnswer) => learnerAnswer === materialSubKey
@@ -5688,7 +5840,7 @@ var MCMAActivityMaterialContent = ({
5688
5840
  const foundIndex = correctAnswerList.findIndex(
5689
5841
  (correctAnswer) => correctAnswer === materialSubKey
5690
5842
  );
5691
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
5843
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
5692
5844
  "div",
5693
5845
  {
5694
5846
  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" : ""}`,
@@ -5696,7 +5848,7 @@ var MCMAActivityMaterialContent = ({
5696
5848
  onChange(answer, materialKey, materialSubKey);
5697
5849
  },
5698
5850
  children: [
5699
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5851
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5700
5852
  BaseImage_default,
5701
5853
  {
5702
5854
  src: answerMap[materialKey].includes(materialSubKey) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -5706,16 +5858,16 @@ var MCMAActivityMaterialContent = ({
5706
5858
  }
5707
5859
  }
5708
5860
  ),
5709
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5861
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5710
5862
  materialSubKey
5711
- ).map((inputPart, index3) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5863
+ ).map((inputPart, index3) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5712
5864
  "span",
5713
5865
  {
5714
5866
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5715
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_katex6.InlineMath, { math: inputPart.value }) }) : inputPart.value
5867
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_katex6.InlineMath, { math: inputPart.value }) }) : inputPart.value
5716
5868
  },
5717
5869
  index3
5718
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5870
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5719
5871
  ShowMaterialMediaByContentType_default,
5720
5872
  {
5721
5873
  contentType: contentMap.type,
@@ -5729,13 +5881,13 @@ var MCMAActivityMaterialContent = ({
5729
5881
  index2
5730
5882
  );
5731
5883
  }
5732
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5884
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5733
5885
  answerMap[materialKey]
5734
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
5886
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
5735
5887
  "span",
5736
5888
  {
5737
5889
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5738
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_katex6.InlineMath, { math: inputPart.value }) }) : inputPart.value
5890
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_katex6.InlineMath, { math: inputPart.value }) }) : inputPart.value
5739
5891
  },
5740
5892
  index2
5741
5893
  )) }, materialKey)
@@ -5745,7 +5897,7 @@ var MCMAActivityMaterialContent = ({
5745
5897
  var MCMAActivityMaterialContent_default = MCMAActivityMaterialContent;
5746
5898
 
5747
5899
  // src/components/activities/MCMAActivityContent.tsx
5748
- var import_jsx_runtime31 = require("react/jsx-runtime");
5900
+ var import_jsx_runtime34 = require("react/jsx-runtime");
5749
5901
  var MCMAActivityContent = ({
5750
5902
  answer,
5751
5903
  data,
@@ -5772,11 +5924,11 @@ var MCMAActivityContent = ({
5772
5924
  }
5773
5925
  changeAnswer(answer2);
5774
5926
  };
5775
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
5776
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(ActivityBodyContent_default, { bodyMap: MCMABodyMap, templateType: "MCMA" }) }),
5777
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(DividerLine_default, {}) }),
5778
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(VerticalDividerLine_default, {}) }),
5779
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
5927
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
5928
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ActivityBodyContent_default, { bodyMap: MCMABodyMap, templateType: "MCMA" }) }),
5929
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DividerLine_default, {}) }),
5930
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(VerticalDividerLine_default, {}) }),
5931
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
5780
5932
  MCMAActivityMaterialContent_default,
5781
5933
  {
5782
5934
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5794,7 +5946,7 @@ var MCMAActivityContent_default = MCMAActivityContent;
5794
5946
 
5795
5947
  // src/components/activities/material-content/MCSAActivityMaterialContent.tsx
5796
5948
  var import_react_katex7 = require("react-katex");
5797
- var import_jsx_runtime32 = require("react/jsx-runtime");
5949
+ var import_jsx_runtime35 = require("react/jsx-runtime");
5798
5950
  var MCSAActivityMaterialContent = ({
5799
5951
  uniqueValue,
5800
5952
  answer,
@@ -5824,10 +5976,10 @@ var MCSAActivityMaterialContent = ({
5824
5976
  const answerMap = retrieveAnswerMap();
5825
5977
  const correctAnswer = retrieveCorrectAnswer();
5826
5978
  return Object.keys(materialMap).map((materialKey, index) => {
5827
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5", children: [
5828
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcsa_text") }) }),
5829
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DividerLine_default, {}) }),
5830
- checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
5979
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5", children: [
5980
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcsa_text") }) }),
5981
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DividerLine_default, {}) }),
5982
+ checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5831
5983
  "div",
5832
5984
  {
5833
5985
  className: `flex flex-row w-full ${Object.keys(materialMap[materialKey]).length <= 4 ? "justify-center" : ""} flex-wrap`,
@@ -5838,7 +5990,7 @@ var MCSAActivityMaterialContent = ({
5838
5990
  materialSubKey,
5839
5991
  answerMap[materialKey]
5840
5992
  );
5841
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
5993
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
5842
5994
  "div",
5843
5995
  {
5844
5996
  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" : ""}`,
@@ -5846,7 +5998,7 @@ var MCSAActivityMaterialContent = ({
5846
5998
  onChange(answer, materialKey, materialSubKey);
5847
5999
  },
5848
6000
  children: [
5849
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
6001
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5850
6002
  BaseImage_default,
5851
6003
  {
5852
6004
  src: answerMap[materialKey] === materialSubKey ? "/icons/item-element.webp" : "/icons/not-selected-item-element.webp",
@@ -5856,16 +6008,16 @@ var MCSAActivityMaterialContent = ({
5856
6008
  }
5857
6009
  }
5858
6010
  ),
5859
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6011
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5860
6012
  materialSubKey
5861
- ).map((inputPart, index3) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
6013
+ ).map((inputPart, index3) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5862
6014
  "span",
5863
6015
  {
5864
6016
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5865
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_katex7.InlineMath, { math: inputPart.value }) }) : inputPart.value
6017
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_katex7.InlineMath, { math: inputPart.value }) }) : inputPart.value
5866
6018
  },
5867
6019
  index3
5868
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
6020
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5869
6021
  ShowMaterialMediaByContentType_default,
5870
6022
  {
5871
6023
  contentType: contentMap.type,
@@ -5881,13 +6033,13 @@ var MCSAActivityMaterialContent = ({
5881
6033
  }
5882
6034
  )
5883
6035
  }
5884
- ) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6036
+ ) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5885
6037
  answerMap[materialKey]
5886
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
6038
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
5887
6039
  "span",
5888
6040
  {
5889
6041
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5890
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_katex7.InlineMath, { math: inputPart.value }) }) : inputPart.value
6042
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_katex7.InlineMath, { math: inputPart.value }) }) : inputPart.value
5891
6043
  },
5892
6044
  index2
5893
6045
  )) })
@@ -5897,7 +6049,7 @@ var MCSAActivityMaterialContent = ({
5897
6049
  var MCSAActivityMaterialContent_default = MCSAActivityMaterialContent;
5898
6050
 
5899
6051
  // src/components/activities/MCSAActivityContent.tsx
5900
- var import_jsx_runtime33 = require("react/jsx-runtime");
6052
+ var import_jsx_runtime36 = require("react/jsx-runtime");
5901
6053
  var MCSAActivityContent = ({
5902
6054
  answer,
5903
6055
  data,
@@ -5917,11 +6069,11 @@ var MCSAActivityContent = ({
5917
6069
  answerMap[key] = value;
5918
6070
  changeAnswer(answer2);
5919
6071
  };
5920
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
5921
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ActivityBodyContent_default, { bodyMap: MCSABodyMap, templateType: "MCSA" }) }),
5922
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(DividerLine_default, {}) }),
5923
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(VerticalDividerLine_default, {}) }),
5924
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
6072
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6073
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ActivityBodyContent_default, { bodyMap: MCSABodyMap, templateType: "MCSA" }) }),
6074
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(DividerLine_default, {}) }),
6075
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(VerticalDividerLine_default, {}) }),
6076
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
5925
6077
  MCSAActivityMaterialContent_default,
5926
6078
  {
5927
6079
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5938,7 +6090,7 @@ var MCSAActivityContent = ({
5938
6090
  var MCSAActivityContent_default = MCSAActivityContent;
5939
6091
 
5940
6092
  // src/components/activities/material-content/OpenEndedActivityMaterialContent.tsx
5941
- var import_jsx_runtime34 = require("react/jsx-runtime");
6093
+ var import_jsx_runtime37 = require("react/jsx-runtime");
5942
6094
  var OpenEndedActivityMaterialContent = ({
5943
6095
  answer,
5944
6096
  contentMap,
@@ -5961,7 +6113,7 @@ var OpenEndedActivityMaterialContent = ({
5961
6113
  };
5962
6114
  const RenderTextContent = (answerMap2) => {
5963
6115
  const answerMapAnswer = answerMap2["ANSWER"];
5964
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
6116
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
5965
6117
  InputGroup_default,
5966
6118
  {
5967
6119
  type: "textarea",
@@ -5974,16 +6126,16 @@ var OpenEndedActivityMaterialContent = ({
5974
6126
  );
5975
6127
  };
5976
6128
  const answerMap = retrieveAnswerMap();
5977
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_jsx_runtime34.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "", children: [
5978
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
5979
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DividerLine_default, {}) }),
6129
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "", children: [
6130
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
6131
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(DividerLine_default, {}) }),
5980
6132
  contentMap.type === "TEXT" ? RenderTextContent(answerMap) : null
5981
6133
  ] }) });
5982
6134
  };
5983
6135
  var OpenEndedActivityMaterialContent_default = OpenEndedActivityMaterialContent;
5984
6136
 
5985
6137
  // src/components/activities/OpenEndedActivityContent.tsx
5986
- var import_jsx_runtime35 = require("react/jsx-runtime");
6138
+ var import_jsx_runtime38 = require("react/jsx-runtime");
5987
6139
  var OpenEndedActivityContent = ({
5988
6140
  answer,
5989
6141
  data,
@@ -6001,12 +6153,12 @@ var OpenEndedActivityContent = ({
6001
6153
  answerMap["ANSWER"] = value;
6002
6154
  changeAnswer(answer2);
6003
6155
  };
6004
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6005
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
6156
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6157
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6006
6158
  "div",
6007
6159
  {
6008
6160
  className: `${showMaterialContent ? isFullScreen ? "w-full" : "w-full md:w-[40%]" : "w-full"}`,
6009
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
6161
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6010
6162
  ActivityBodyContent_default,
6011
6163
  {
6012
6164
  bodyMap: openEndedBodyMap,
@@ -6015,16 +6167,16 @@ var OpenEndedActivityContent = ({
6015
6167
  )
6016
6168
  }
6017
6169
  ),
6018
- showMaterialContent ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
6019
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
6170
+ showMaterialContent ? /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
6171
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6020
6172
  "div",
6021
6173
  {
6022
6174
  className: `${isFullScreen ? "contents" : "contents md:hidden"}`,
6023
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(DividerLine_default, {})
6175
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(DividerLine_default, {})
6024
6176
  }
6025
6177
  ),
6026
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(VerticalDividerLine_default, {}) }),
6027
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
6178
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(VerticalDividerLine_default, {}) }),
6179
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6028
6180
  OpenEndedActivityMaterialContent_default,
6029
6181
  {
6030
6182
  answer,
@@ -6038,14 +6190,14 @@ var OpenEndedActivityContent = ({
6038
6190
  var OpenEndedActivityContent_default = OpenEndedActivityContent;
6039
6191
 
6040
6192
  // src/components/activities/material-content/OrderingActivityMaterialContent.tsx
6041
- var import_react24 = require("react");
6193
+ var import_react25 = require("react");
6042
6194
  var import_react_dnd7 = require("react-dnd");
6043
6195
  var import_react_katex8 = require("react-katex");
6044
6196
 
6045
6197
  // src/components/dnds/DraggableDroppableItem.tsx
6046
- var import_react23 = require("react");
6198
+ var import_react24 = require("react");
6047
6199
  var import_react_dnd6 = require("react-dnd");
6048
- var import_jsx_runtime36 = require("react/jsx-runtime");
6200
+ var import_jsx_runtime39 = require("react/jsx-runtime");
6049
6201
  var DraggableDroppableItem = ({
6050
6202
  key,
6051
6203
  item,
@@ -6056,7 +6208,7 @@ var DraggableDroppableItem = ({
6056
6208
  target,
6057
6209
  setTarget
6058
6210
  }) => {
6059
- const ref = (0, import_react23.useRef)(null);
6211
+ const ref = (0, import_react24.useRef)(null);
6060
6212
  const [, drop] = (0, import_react_dnd6.useDrop)({
6061
6213
  accept: type,
6062
6214
  hover() {
@@ -6083,12 +6235,12 @@ var DraggableDroppableItem = ({
6083
6235
  });
6084
6236
  const opacity = isDragging ? 0.4 : 1;
6085
6237
  drag(drop(ref));
6086
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6238
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6087
6239
  "div",
6088
6240
  {
6089
6241
  className: `${isDragging ? "w-[0px] opacity-0" : "w-full opacity-100"} transition-all duration-500`,
6090
6242
  ref: dropRef,
6091
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { ref, className: "w-full", style: { opacity }, children: component })
6243
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { ref, className: "w-full", style: { opacity }, children: component })
6092
6244
  },
6093
6245
  key
6094
6246
  );
@@ -6096,7 +6248,7 @@ var DraggableDroppableItem = ({
6096
6248
  var DraggableDroppableItem_default = DraggableDroppableItem;
6097
6249
 
6098
6250
  // src/components/activities/material-content/OrderingActivityMaterialContent.tsx
6099
- var import_jsx_runtime37 = require("react/jsx-runtime");
6251
+ var import_jsx_runtime40 = require("react/jsx-runtime");
6100
6252
  var OrderingActivityMaterialContent = ({
6101
6253
  uniqueValue,
6102
6254
  answer,
@@ -6107,10 +6259,10 @@ var OrderingActivityMaterialContent = ({
6107
6259
  isPreview,
6108
6260
  showCorrectAnswer
6109
6261
  }) => {
6110
- const [selectedTargetKey, setSelectedTargetKey] = (0, import_react24.useState)(null);
6111
- const [selectedKey, setSelectedKey] = (0, import_react24.useState)(null);
6262
+ const [selectedTargetKey, setSelectedTargetKey] = (0, import_react25.useState)(null);
6263
+ const [selectedKey, setSelectedKey] = (0, import_react25.useState)(null);
6112
6264
  const { screenSize } = useScreenSize_default();
6113
- const [view, setView] = (0, import_react24.useState)("PC");
6265
+ const [view, setView] = (0, import_react25.useState)("PC");
6114
6266
  const [{ isOver, canDrop }, drop] = (0, import_react_dnd7.useDrop)({
6115
6267
  accept: "ORDERING",
6116
6268
  drop: () => {
@@ -6120,7 +6272,7 @@ var OrderingActivityMaterialContent = ({
6120
6272
  canDrop: monitor.canDrop()
6121
6273
  })
6122
6274
  });
6123
- (0, import_react24.useEffect)(() => {
6275
+ (0, import_react25.useEffect)(() => {
6124
6276
  if (!screenSize) return;
6125
6277
  if (screenSize.width <= 768) {
6126
6278
  setView("TABLET");
@@ -6128,7 +6280,7 @@ var OrderingActivityMaterialContent = ({
6128
6280
  setView("PC");
6129
6281
  }
6130
6282
  }, [screenSize]);
6131
- (0, import_react24.useEffect)(() => {
6283
+ (0, import_react25.useEffect)(() => {
6132
6284
  if (!showCorrectAnswer) return;
6133
6285
  const answerMap2 = answer.data.find(
6134
6286
  (answerData) => answerData.type === "ORDERING"
@@ -6173,12 +6325,12 @@ var OrderingActivityMaterialContent = ({
6173
6325
  return 0;
6174
6326
  };
6175
6327
  const answerMap = retrieveAnswerMap();
6176
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
6328
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
6177
6329
  const learnerAnswerState = checkAnswerState(
6178
6330
  answerMap[materialKey] + "",
6179
6331
  index + ""
6180
6332
  );
6181
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
6333
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
6182
6334
  "div",
6183
6335
  {
6184
6336
  className: `flex flex-row items-center my-4 mx-2`,
@@ -6186,26 +6338,26 @@ var OrderingActivityMaterialContent = ({
6186
6338
  marginTop: view === "PC" ? calculateMarginTop(parseFloat(materialKey)) : 0
6187
6339
  },
6188
6340
  children: [
6189
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "mr-3", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6341
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "mr-3", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6190
6342
  "div",
6191
6343
  {
6192
6344
  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`,
6193
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6345
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6194
6346
  "div",
6195
6347
  {
6196
6348
  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]`,
6197
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "", children: parseFloat(materialKey) + 1 })
6349
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("p", { className: "", children: parseFloat(materialKey) + 1 })
6198
6350
  }
6199
6351
  )
6200
6352
  }
6201
6353
  ) }),
6202
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6354
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6203
6355
  DraggableDroppableItem_default,
6204
6356
  {
6205
6357
  item: { index: materialKey },
6206
6358
  type: "ORDERING",
6207
6359
  dropRef: drop,
6208
- component: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6360
+ component: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6209
6361
  "div",
6210
6362
  {
6211
6363
  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"}`,
@@ -6214,16 +6366,16 @@ var OrderingActivityMaterialContent = ({
6214
6366
  setSelectedKey(materialKey);
6215
6367
  }
6216
6368
  },
6217
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6369
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6218
6370
  materialMap[answerMap[materialKey]]
6219
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6371
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6220
6372
  "span",
6221
6373
  {
6222
6374
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6223
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_katex8.InlineMath, { math: inputPart.value }) }) : inputPart.value
6375
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_katex8.InlineMath, { math: inputPart.value }) }) : inputPart.value
6224
6376
  },
6225
6377
  index2
6226
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6378
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6227
6379
  ShowMaterialMediaByContentType_default,
6228
6380
  {
6229
6381
  contentType: contentMap.type,
@@ -6255,7 +6407,7 @@ var OrderingActivityMaterialContent = ({
6255
6407
  var OrderingActivityMaterialContent_default = OrderingActivityMaterialContent;
6256
6408
 
6257
6409
  // src/components/activities/OrderingActivityContent.tsx
6258
- var import_jsx_runtime38 = require("react/jsx-runtime");
6410
+ var import_jsx_runtime41 = require("react/jsx-runtime");
6259
6411
  var OrderingActivityContent = ({
6260
6412
  answer,
6261
6413
  data,
@@ -6278,16 +6430,16 @@ var OrderingActivityContent = ({
6278
6430
  answerMap[secondaryKey] = prevValue;
6279
6431
  changeAnswer(answer2);
6280
6432
  };
6281
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
6282
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6433
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
6434
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6283
6435
  ActivityBodyContent_default,
6284
6436
  {
6285
6437
  bodyMap: orderingBodyMap,
6286
6438
  templateType: "ORDERING"
6287
6439
  }
6288
6440
  ),
6289
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(DividerLine_default, {}),
6290
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6441
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DividerLine_default, {}),
6442
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6291
6443
  OrderingActivityMaterialContent_default,
6292
6444
  {
6293
6445
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6305,9 +6457,9 @@ var OrderingActivityContent = ({
6305
6457
  var OrderingActivityContent_default = OrderingActivityContent;
6306
6458
 
6307
6459
  // src/components/activities/material-content/TrueFalseActivityMaterialContent.tsx
6308
- var import_react25 = require("react");
6460
+ var import_react26 = require("react");
6309
6461
  var import_react_katex9 = require("react-katex");
6310
- var import_jsx_runtime39 = require("react/jsx-runtime");
6462
+ var import_jsx_runtime42 = require("react/jsx-runtime");
6311
6463
  var TrueFalseActivityMaterialContent = ({
6312
6464
  uniqueValue,
6313
6465
  answer,
@@ -6319,8 +6471,8 @@ var TrueFalseActivityMaterialContent = ({
6319
6471
  showCorrectAnswer
6320
6472
  }) => {
6321
6473
  const { screenSize } = useScreenSize_default();
6322
- const [shuffleOptionList, setShuffleOptionList] = (0, import_react25.useState)([]);
6323
- (0, import_react25.useEffect)(() => {
6474
+ const [shuffleOptionList, setShuffleOptionList] = (0, import_react26.useState)([]);
6475
+ (0, import_react26.useEffect)(() => {
6324
6476
  const optionList = [];
6325
6477
  optionList.push(...materialMap.trueList);
6326
6478
  optionList.push(...materialMap.falseList);
@@ -6330,7 +6482,7 @@ var TrueFalseActivityMaterialContent = ({
6330
6482
  setShuffleOptionList(shuffleArray(optionList));
6331
6483
  }
6332
6484
  }, []);
6333
- (0, import_react25.useEffect)(() => {
6485
+ (0, import_react26.useEffect)(() => {
6334
6486
  if (!showCorrectAnswer) return;
6335
6487
  answer.data.find(
6336
6488
  (answerData) => answerData.type === "TRUE_FALSE"
@@ -6360,14 +6512,14 @@ var TrueFalseActivityMaterialContent = ({
6360
6512
  return "INCORRECT";
6361
6513
  };
6362
6514
  const answerMap = retrieveAnswerMap();
6363
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "", children: [
6364
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6365
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(DividerLine_default, {}) }),
6366
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6367
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6368
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6515
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "", children: [
6516
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "hidden md:block", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6517
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "hidden md:contents", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(DividerLine_default, {}) }),
6518
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6519
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6520
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6369
6521
  ] }),
6370
- checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6522
+ checkCanAnswerQuestion() ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6371
6523
  const correctAnswer = materialMap.trueList.find(
6372
6524
  (trueItem) => trueItem === shuffleOption
6373
6525
  ) !== void 0 ? "TRUE" : "FALSE";
@@ -6378,21 +6530,21 @@ var TrueFalseActivityMaterialContent = ({
6378
6530
  correctAnswer,
6379
6531
  learnerAnswer
6380
6532
  );
6381
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
6533
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
6382
6534
  "div",
6383
6535
  {
6384
6536
  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" : ""}`,
6385
6537
  children: [
6386
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6538
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6387
6539
  shuffleOption
6388
- ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6540
+ ).map((inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6389
6541
  "span",
6390
6542
  {
6391
6543
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6392
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_katex9.InlineMath, { math: inputPart.value }) }) : inputPart.value
6544
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_katex9.InlineMath, { math: inputPart.value }) }) : inputPart.value
6393
6545
  },
6394
6546
  index2
6395
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6547
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6396
6548
  ShowMaterialMediaByContentType_default,
6397
6549
  {
6398
6550
  contentType: contentMap.type,
@@ -6401,8 +6553,8 @@ var TrueFalseActivityMaterialContent = ({
6401
6553
  },
6402
6554
  `${uniqueValue}-${index}`
6403
6555
  ) }),
6404
- /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6405
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6556
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6557
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6406
6558
  BaseImage_default,
6407
6559
  {
6408
6560
  src: answerMap.trueList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6413,7 +6565,7 @@ var TrueFalseActivityMaterialContent = ({
6413
6565
  }
6414
6566
  }
6415
6567
  ) }) }),
6416
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6568
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6417
6569
  BaseImage_default,
6418
6570
  {
6419
6571
  src: answerMap.falseList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6429,14 +6581,14 @@ var TrueFalseActivityMaterialContent = ({
6429
6581
  },
6430
6582
  index
6431
6583
  );
6432
- }) }) : /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
6433
- answerMap.trueList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6434
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { children: item }) }),
6435
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "underline", children: i18n_default.t("true") }) })
6584
+ }) }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
6585
+ answerMap.trueList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6586
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { children: item }) }),
6587
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "underline", children: i18n_default.t("true") }) })
6436
6588
  ] })),
6437
- answerMap.falseList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6438
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { children: item }) }),
6439
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "underline", children: i18n_default.t("false") }) })
6589
+ answerMap.falseList.map((item) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
6590
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { children: item }) }),
6591
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "w-[50px]", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "underline", children: i18n_default.t("false") }) })
6440
6592
  ] }))
6441
6593
  ] })
6442
6594
  ] });
@@ -6444,7 +6596,7 @@ var TrueFalseActivityMaterialContent = ({
6444
6596
  var TrueFalseActivityMaterialContent_default = TrueFalseActivityMaterialContent;
6445
6597
 
6446
6598
  // src/components/activities/TrueFalseActivityContent.tsx
6447
- var import_jsx_runtime40 = require("react/jsx-runtime");
6599
+ var import_jsx_runtime43 = require("react/jsx-runtime");
6448
6600
  var TrueFalseActivityContent = ({
6449
6601
  answer,
6450
6602
  data,
@@ -6494,17 +6646,17 @@ var TrueFalseActivityContent = ({
6494
6646
  }
6495
6647
  changeAnswer(answer2);
6496
6648
  };
6497
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6498
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6649
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex flex-row flex-wrap", children: [
6650
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6499
6651
  ActivityBodyContent_default,
6500
6652
  {
6501
6653
  bodyMap: trueFalseBodyMap,
6502
6654
  templateType: "GROUPING"
6503
6655
  }
6504
6656
  ) }),
6505
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(DividerLine_default, {}) }),
6506
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(VerticalDividerLine_default, {}) }),
6507
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6657
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(DividerLine_default, {}) }),
6658
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(VerticalDividerLine_default, {}) }),
6659
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6508
6660
  TrueFalseActivityMaterialContent_default,
6509
6661
  {
6510
6662
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6523,7 +6675,7 @@ var TrueFalseActivityContent_default = TrueFalseActivityContent;
6523
6675
 
6524
6676
  // src/components/activities/solution-content/ActivitySolutionContent.tsx
6525
6677
  var import_react_katex10 = require("react-katex");
6526
- var import_jsx_runtime41 = require("react/jsx-runtime");
6678
+ var import_jsx_runtime44 = require("react/jsx-runtime");
6527
6679
  var ActivitySolutionContent = ({
6528
6680
  activityTemplateType,
6529
6681
  data
@@ -6553,8 +6705,8 @@ var ActivitySolutionContent = ({
6553
6705
  return null;
6554
6706
  }
6555
6707
  if (!solutionMap || Object.keys(solutionMap).length === 0) return null;
6556
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
6557
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6708
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
6709
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6558
6710
  Object.keys(solutionMap).map((key) => {
6559
6711
  let currentItem;
6560
6712
  try {
@@ -6564,12 +6716,12 @@ var ActivitySolutionContent = ({
6564
6716
  return null;
6565
6717
  }
6566
6718
  const { value } = currentItem;
6567
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6568
- (inputPart, partIndex) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6719
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6720
+ (inputPart, partIndex) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6569
6721
  "span",
6570
6722
  {
6571
6723
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6572
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_react_katex10.InlineMath, { math: inputPart.value }) }) : inputPart.value
6724
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_react_katex10.InlineMath, { math: inputPart.value }) }) : inputPart.value
6573
6725
  },
6574
6726
  `${key}_part_${partIndex}`
6575
6727
  )
@@ -6581,7 +6733,7 @@ var ActivitySolutionContent_default = ActivitySolutionContent;
6581
6733
 
6582
6734
  // src/components/activities/evaluation-rubric-content/ActivityEvaluationRubricContent.tsx
6583
6735
  var import_react_katex11 = require("react-katex");
6584
- var import_jsx_runtime42 = require("react/jsx-runtime");
6736
+ var import_jsx_runtime45 = require("react/jsx-runtime");
6585
6737
  var ActivityEvaluationRubricContent = ({
6586
6738
  activityTemplateType,
6587
6739
  data
@@ -6610,21 +6762,21 @@ var ActivityEvaluationRubricContent = ({
6610
6762
  }
6611
6763
  if (!evaluationRubricMap || Object.keys(evaluationRubricMap).length === 0)
6612
6764
  return null;
6613
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
6614
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
6765
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "mx-2", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
6766
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
6615
6767
  Object.keys(evaluationRubricMap).map((key, index) => {
6616
6768
  const currentItem = JSON.parse(evaluationRubricMap[key]);
6617
6769
  const { value } = currentItem;
6618
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "my-3", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6770
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "my-3", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6619
6771
  "span",
6620
6772
  {
6621
6773
  className: "text-xl whitespace-pre-wrap",
6622
6774
  children: constructInputWithSpecialExpressionList(value).map(
6623
- (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6775
+ (inputPart, index2) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6624
6776
  "span",
6625
6777
  {
6626
6778
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6627
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_katex11.InlineMath, { math: inputPart.value }) }) : inputPart.value
6779
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { className: "text-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_katex11.InlineMath, { math: inputPart.value }) }) : inputPart.value
6628
6780
  },
6629
6781
  index2
6630
6782
  )
@@ -6638,31 +6790,31 @@ var ActivityEvaluationRubricContent = ({
6638
6790
  var ActivityEvaluationRubricContent_default = ActivityEvaluationRubricContent;
6639
6791
 
6640
6792
  // src/components/activities/ActivityPreviewByData.tsx
6641
- var import_react26 = require("react");
6793
+ var import_react27 = require("react");
6642
6794
 
6643
6795
  // src/components/boxes/SelectionBox.tsx
6644
- var import_jsx_runtime43 = require("react/jsx-runtime");
6796
+ var import_jsx_runtime46 = require("react/jsx-runtime");
6645
6797
  var SelectionBox = ({
6646
6798
  optionList,
6647
6799
  selectedId,
6648
6800
  handleSelectOnClick
6649
6801
  }) => {
6650
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6802
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
6651
6803
  "div",
6652
6804
  {
6653
6805
  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`,
6654
6806
  onClick: () => {
6655
6807
  handleSelectOnClick(option.id);
6656
6808
  },
6657
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
6809
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
6658
6810
  "div",
6659
6811
  {
6660
6812
  className: `flex flex-row items-center gap-x-1 ${option.id === selectedId ? "opacity-100" : "opacity-50"}`,
6661
6813
  children: [
6662
6814
  option.icon,
6663
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex-1 flex flex-col items-center", children: [
6664
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { children: option.text }),
6665
- option.subText ? /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("p", { className: "text-md", children: [
6815
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex-1 flex flex-col items-center", children: [
6816
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { children: option.text }),
6817
+ option.subText ? /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("p", { className: "text-md", children: [
6666
6818
  "(",
6667
6819
  option.subText,
6668
6820
  ")"
@@ -6678,7 +6830,7 @@ var SelectionBox = ({
6678
6830
  var SelectionBox_default = SelectionBox;
6679
6831
 
6680
6832
  // src/components/activities/ActivityPreviewByData.tsx
6681
- var import_jsx_runtime44 = require("react/jsx-runtime");
6833
+ var import_jsx_runtime47 = require("react/jsx-runtime");
6682
6834
  var ActivityPreviewByData = ({
6683
6835
  data,
6684
6836
  showType,
@@ -6690,14 +6842,14 @@ var ActivityPreviewByData = ({
6690
6842
  showTaxonomy,
6691
6843
  isFullScreen
6692
6844
  }) => {
6693
- const [key, setKey] = (0, import_react26.useState)((/* @__PURE__ */ new Date()).getTime());
6694
- const [selectedType, setSelectedType] = (0, import_react26.useState)(null);
6695
- const [optionList, setOptionList] = (0, import_react26.useState)([]);
6696
- (0, import_react26.useEffect)(() => {
6845
+ const [key, setKey] = (0, import_react27.useState)((/* @__PURE__ */ new Date()).getTime());
6846
+ const [selectedType, setSelectedType] = (0, import_react27.useState)(null);
6847
+ const [optionList, setOptionList] = (0, import_react27.useState)([]);
6848
+ (0, import_react27.useEffect)(() => {
6697
6849
  if (!data) return;
6698
6850
  setKey((/* @__PURE__ */ new Date()).getTime());
6699
6851
  }, [data]);
6700
- (0, import_react26.useEffect)(() => {
6852
+ (0, import_react27.useEffect)(() => {
6701
6853
  if (!typeOptionList) return;
6702
6854
  if (typeOptionList.length === 0) return;
6703
6855
  let foundTypeOption;
@@ -6712,7 +6864,7 @@ var ActivityPreviewByData = ({
6712
6864
  setSelectedType(typeOptionList[0].id);
6713
6865
  }
6714
6866
  }, [typeOptionList, lockedType]);
6715
- (0, import_react26.useEffect)(() => {
6867
+ (0, import_react27.useEffect)(() => {
6716
6868
  const retrieveTaxonomyNameByActivityTypeFromData = (type) => {
6717
6869
  let taxonomyMap = {
6718
6870
  name: ""
@@ -6761,10 +6913,10 @@ var ActivityPreviewByData = ({
6761
6913
  }, [data, lockedType, typeOptionList, showTaxonomy]);
6762
6914
  if (!data) return;
6763
6915
  const answer = constructAnswerBasedOnData(data);
6764
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { children: [
6765
- showType ? /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: "mb-4", children: [
6766
- showDescription ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
6767
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6916
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { children: [
6917
+ showType ? /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "mb-4", children: [
6918
+ showDescription ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
6919
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6768
6920
  SelectionBox_default,
6769
6921
  {
6770
6922
  optionList,
@@ -6775,7 +6927,7 @@ var ActivityPreviewByData = ({
6775
6927
  }
6776
6928
  )
6777
6929
  ] }) : null,
6778
- selectedType ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6930
+ selectedType ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6779
6931
  OrderingActivityContent_default,
6780
6932
  {
6781
6933
  answer,
@@ -6789,7 +6941,7 @@ var ActivityPreviewByData = ({
6789
6941
  showCorrectAnswer: true,
6790
6942
  isFullScreen
6791
6943
  }
6792
- ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6944
+ ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6793
6945
  DropdownActivityContent_default,
6794
6946
  {
6795
6947
  answer,
@@ -6803,7 +6955,7 @@ var ActivityPreviewByData = ({
6803
6955
  showCorrectAnswer: true,
6804
6956
  isFullScreen
6805
6957
  }
6806
- ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6958
+ ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6807
6959
  MCSAActivityContent_default,
6808
6960
  {
6809
6961
  answer,
@@ -6817,7 +6969,7 @@ var ActivityPreviewByData = ({
6817
6969
  showCorrectAnswer: true,
6818
6970
  isFullScreen
6819
6971
  }
6820
- ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6972
+ ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6821
6973
  MCMAActivityContent_default,
6822
6974
  {
6823
6975
  answer,
@@ -6831,7 +6983,7 @@ var ActivityPreviewByData = ({
6831
6983
  showCorrectAnswer: true,
6832
6984
  isFullScreen
6833
6985
  }
6834
- ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6986
+ ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6835
6987
  MatchingActivityContent_default,
6836
6988
  {
6837
6989
  answer,
@@ -6845,7 +6997,7 @@ var ActivityPreviewByData = ({
6845
6997
  showCorrectAnswer: true,
6846
6998
  isFullScreen
6847
6999
  }
6848
- ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7000
+ ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6849
7001
  GroupingActivityContent_default,
6850
7002
  {
6851
7003
  answer,
@@ -6859,7 +7011,7 @@ var ActivityPreviewByData = ({
6859
7011
  showCorrectAnswer: true,
6860
7012
  isFullScreen
6861
7013
  }
6862
- ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7014
+ ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6863
7015
  FillInTheBlanksActivityContent_default,
6864
7016
  {
6865
7017
  answer,
@@ -6873,7 +7025,7 @@ var ActivityPreviewByData = ({
6873
7025
  showCorrectAnswer: true,
6874
7026
  isFullScreen
6875
7027
  }
6876
- ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7028
+ ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6877
7029
  OpenEndedActivityContent_default,
6878
7030
  {
6879
7031
  answer,
@@ -6883,7 +7035,7 @@ var ActivityPreviewByData = ({
6883
7035
  data,
6884
7036
  isFullScreen
6885
7037
  }
6886
- ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7038
+ ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6887
7039
  TrueFalseActivityContent_default,
6888
7040
  {
6889
7041
  answer,
@@ -6898,14 +7050,14 @@ var ActivityPreviewByData = ({
6898
7050
  isFullScreen
6899
7051
  }
6900
7052
  ) : null }, selectedType) : null,
6901
- selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7053
+ selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6902
7054
  ActivitySolutionContent_default,
6903
7055
  {
6904
7056
  activityTemplateType: selectedType,
6905
7057
  data
6906
7058
  }
6907
7059
  ) }) : null,
6908
- selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7060
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
6909
7061
  ActivityEvaluationRubricContent_default,
6910
7062
  {
6911
7063
  activityTemplateType: selectedType,
@@ -6917,8 +7069,8 @@ var ActivityPreviewByData = ({
6917
7069
  var ActivityPreviewByData_default = ActivityPreviewByData;
6918
7070
 
6919
7071
  // src/components/activities/ActivityPreviewByAnswerData.tsx
6920
- var import_react27 = require("react");
6921
- var import_jsx_runtime45 = require("react/jsx-runtime");
7072
+ var import_react28 = require("react");
7073
+ var import_jsx_runtime48 = require("react/jsx-runtime");
6922
7074
  var ActivityPreviewByAnswerData = ({
6923
7075
  data,
6924
7076
  showType = true,
@@ -6932,11 +7084,11 @@ var ActivityPreviewByAnswerData = ({
6932
7084
  showCorrectAnswer = false
6933
7085
  }) => {
6934
7086
  var _a;
6935
- const [key, setKey] = (0, import_react27.useState)((/* @__PURE__ */ new Date()).getTime());
6936
- const [selectedType, setSelectedType] = (0, import_react27.useState)(null);
6937
- const [optionList, setOptionList] = (0, import_react27.useState)([]);
6938
- const [answer, setAnswer] = (0, import_react27.useState)({ data: [] });
6939
- (0, import_react27.useEffect)(() => {
7087
+ const [key, setKey] = (0, import_react28.useState)((/* @__PURE__ */ new Date()).getTime());
7088
+ const [selectedType, setSelectedType] = (0, import_react28.useState)(null);
7089
+ const [optionList, setOptionList] = (0, import_react28.useState)([]);
7090
+ const [answer, setAnswer] = (0, import_react28.useState)({ data: [] });
7091
+ (0, import_react28.useEffect)(() => {
6940
7092
  if (!data) return;
6941
7093
  setKey((/* @__PURE__ */ new Date()).getTime());
6942
7094
  }, [data]);
@@ -6973,7 +7125,7 @@ var ActivityPreviewByAnswerData = ({
6973
7125
  }
6974
7126
  return taxonomyMap.name || "";
6975
7127
  };
6976
- (0, import_react27.useEffect)(() => {
7128
+ (0, import_react28.useEffect)(() => {
6977
7129
  if (!data) return;
6978
7130
  const constructAnswerBasedOnData2 = () => {
6979
7131
  const newAnswer = { data: [] };
@@ -7012,7 +7164,7 @@ var ActivityPreviewByAnswerData = ({
7012
7164
  };
7013
7165
  constructAnswerBasedOnData2();
7014
7166
  }, [data, lockedType]);
7015
- (0, import_react27.useEffect)(() => {
7167
+ (0, import_react28.useEffect)(() => {
7016
7168
  if (!data || !answer.data.length) return;
7017
7169
  let currentTypeOptionList = typeOptionList || answer.data.map((item) => ({
7018
7170
  id: item.type,
@@ -7045,37 +7197,37 @@ var ActivityPreviewByAnswerData = ({
7045
7197
  };
7046
7198
  switch (selectedType) {
7047
7199
  case "ORDERING":
7048
- return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
7200
+ return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
7049
7201
  case "DROPDOWN":
7050
- return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
7202
+ return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
7051
7203
  case "MCSA":
7052
- return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
7204
+ return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
7053
7205
  case "MCMA":
7054
- return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
7206
+ return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
7055
7207
  case "MATCHING":
7056
- return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
7208
+ return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
7057
7209
  case "GROUPING":
7058
- return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
7210
+ return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
7059
7211
  case "FILL_IN_THE_BLANKS":
7060
- return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
7212
+ return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
7061
7213
  case "OPEN_ENDED":
7062
- return data.openEndedBodyMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
7214
+ return data.openEndedBodyMap ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
7063
7215
  OpenEndedActivityContent_default,
7064
7216
  __spreadProps(__spreadValues({}, commonProps), {
7065
7217
  showMaterialContent: true
7066
7218
  })
7067
7219
  ) : null;
7068
7220
  case "TRUE_FALSE":
7069
- return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
7221
+ return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
7070
7222
  default:
7071
7223
  return null;
7072
7224
  }
7073
7225
  };
7074
7226
  if (!data) return null;
7075
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { children: [
7076
- showType && optionList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "mb-4", children: [
7077
- showDescription ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7078
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
7227
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { children: [
7228
+ showType && optionList.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "mb-4", children: [
7229
+ showDescription ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "my-2", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7230
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
7079
7231
  SelectionBox_default,
7080
7232
  {
7081
7233
  optionList,
@@ -7086,19 +7238,19 @@ var ActivityPreviewByAnswerData = ({
7086
7238
  }
7087
7239
  )
7088
7240
  ] }) : null,
7089
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(DividerLine_default, {}),
7090
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex flex-col my-2 w-full p-5", children: [
7091
- ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ActivityEmptyContent_default, {}) : null,
7092
- selectedType ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { children: RenderSelectedActivityContent() }, selectedType) : null
7241
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DividerLine_default, {}),
7242
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex flex-col my-2 w-full p-5", children: [
7243
+ ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ActivityEmptyContent_default, {}) : null,
7244
+ selectedType ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: RenderSelectedActivityContent() }, selectedType) : null
7093
7245
  ] }),
7094
- selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
7246
+ selectedType && showSolution ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
7095
7247
  ActivitySolutionContent_default,
7096
7248
  {
7097
7249
  activityTemplateType: selectedType,
7098
7250
  data
7099
7251
  }
7100
7252
  ) }) : null,
7101
- selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
7253
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "my-4", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
7102
7254
  ActivityEvaluationRubricContent_default,
7103
7255
  {
7104
7256
  activityTemplateType: selectedType,
@@ -7110,9 +7262,9 @@ var ActivityPreviewByAnswerData = ({
7110
7262
  var ActivityPreviewByAnswerData_default = ActivityPreviewByAnswerData;
7111
7263
 
7112
7264
  // src/components/dividers/BlueVerticalDividerLine.tsx
7113
- var import_jsx_runtime46 = require("react/jsx-runtime");
7265
+ var import_jsx_runtime49 = require("react/jsx-runtime");
7114
7266
  var BlueVerticalDividerLine = ({ opacity }) => {
7115
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
7267
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7116
7268
  "div",
7117
7269
  {
7118
7270
  className: `w-[2px] h-[40px] my-4 bg-catchup-blue ${opacity === "medium" ? "opacity-50" : ""}`
@@ -7122,7 +7274,7 @@ var BlueVerticalDividerLine = ({ opacity }) => {
7122
7274
  var BlueVerticalDividerLine_default = BlueVerticalDividerLine;
7123
7275
 
7124
7276
  // src/components/groups/LeftTextRightInputGroup.tsx
7125
- var import_jsx_runtime47 = require("react/jsx-runtime");
7277
+ var import_jsx_runtime50 = require("react/jsx-runtime");
7126
7278
  var LeftTextRightInputGroup = ({
7127
7279
  type,
7128
7280
  title,
@@ -7132,9 +7284,9 @@ var LeftTextRightInputGroup = ({
7132
7284
  disabled,
7133
7285
  errorText
7134
7286
  }) => {
7135
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "w-full flex flex-row mx-2", children: [
7136
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { children: title }) }),
7137
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
7287
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "w-full flex flex-row mx-2", children: [
7288
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("p", { children: title }) }),
7289
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7138
7290
  InputGroup_default,
7139
7291
  {
7140
7292
  type,
@@ -7150,14 +7302,14 @@ var LeftTextRightInputGroup = ({
7150
7302
  var LeftTextRightInputGroup_default = LeftTextRightInputGroup;
7151
7303
 
7152
7304
  // src/components/boxes/SelectionCheckbox.tsx
7153
- var import_jsx_runtime48 = require("react/jsx-runtime");
7305
+ var import_jsx_runtime51 = require("react/jsx-runtime");
7154
7306
  var SelectionCheckbox = ({
7155
7307
  optionList,
7156
7308
  selectedIdList,
7157
7309
  handleSelectOnClick,
7158
7310
  handleRemoveOnClick
7159
7311
  }) => {
7160
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
7312
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7161
7313
  "div",
7162
7314
  {
7163
7315
  className: `${selectedIdList.findIndex(
@@ -7172,14 +7324,14 @@ var SelectionCheckbox = ({
7172
7324
  handleRemoveOnClick(option.id);
7173
7325
  }
7174
7326
  },
7175
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
7327
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
7176
7328
  "div",
7177
7329
  {
7178
7330
  className: `flex flex-row items-center gap-x-1 ${selectedIdList.findIndex(
7179
7331
  (selectedId) => selectedId === option.id
7180
7332
  ) > -1 ? "opacity-100" : "opacity-50"}`,
7181
7333
  children: [
7182
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
7334
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7183
7335
  BaseImage_default,
7184
7336
  {
7185
7337
  src: selectedIdList.findIndex(
@@ -7189,7 +7341,7 @@ var SelectionCheckbox = ({
7189
7341
  size: "small"
7190
7342
  }
7191
7343
  ),
7192
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("p", { children: option.text }) })
7344
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { children: option.text }) })
7193
7345
  ]
7194
7346
  }
7195
7347
  )
@@ -7200,7 +7352,7 @@ var SelectionCheckbox = ({
7200
7352
  var SelectionCheckbox_default = SelectionCheckbox;
7201
7353
 
7202
7354
  // src/components/tabs/SelectionTab.tsx
7203
- var import_jsx_runtime49 = require("react/jsx-runtime");
7355
+ var import_jsx_runtime52 = require("react/jsx-runtime");
7204
7356
  var SelectionTab = ({
7205
7357
  optionList,
7206
7358
  selectedId,
@@ -7210,7 +7362,7 @@ var SelectionTab = ({
7210
7362
  textColor,
7211
7363
  borderColor
7212
7364
  }) => {
7213
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("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__ */ (0, import_jsx_runtime49.jsxs)(
7365
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("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__ */ (0, import_jsx_runtime52.jsxs)(
7214
7366
  "div",
7215
7367
  {
7216
7368
  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`,
@@ -7218,8 +7370,8 @@ var SelectionTab = ({
7218
7370
  handleSelectOnClick(option.id);
7219
7371
  },
7220
7372
  children: [
7221
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "text-lg", children: option.title }),
7222
- option.subTitle ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "text-md", children: option.subTitle }) : null
7373
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: "text-lg", children: option.title }),
7374
+ option.subTitle ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: "text-md", children: option.subTitle }) : null
7223
7375
  ]
7224
7376
  },
7225
7377
  index
@@ -7228,20 +7380,20 @@ var SelectionTab = ({
7228
7380
  var SelectionTab_default = SelectionTab;
7229
7381
 
7230
7382
  // src/components/tabs/SelectionTabFill.tsx
7231
- var import_jsx_runtime50 = require("react/jsx-runtime");
7383
+ var import_jsx_runtime53 = require("react/jsx-runtime");
7232
7384
  var SelectionTabFill = ({
7233
7385
  optionList,
7234
7386
  selectedId,
7235
7387
  handleSelectOnClick
7236
7388
  }) => {
7237
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("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__ */ (0, import_jsx_runtime50.jsx)(
7389
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("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__ */ (0, import_jsx_runtime53.jsx)(
7238
7390
  "div",
7239
7391
  {
7240
7392
  className: "cursor-pointer",
7241
7393
  onClick: () => {
7242
7394
  handleSelectOnClick(option.id);
7243
7395
  },
7244
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7396
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7245
7397
  "p",
7246
7398
  {
7247
7399
  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`,
@@ -7255,57 +7407,57 @@ var SelectionTabFill = ({
7255
7407
  var SelectionTabFill_default = SelectionTabFill;
7256
7408
 
7257
7409
  // src/components/labels/ActivityTemplateLabel.tsx
7258
- var import_jsx_runtime51 = require("react/jsx-runtime");
7410
+ var import_jsx_runtime54 = require("react/jsx-runtime");
7259
7411
  var ActivityTemplateLabel = ({
7260
7412
  title,
7261
7413
  font
7262
7414
  }) => {
7263
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("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__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7264
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7265
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("p", { className: font ? font : "text-sm", children: title })
7415
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("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__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7416
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7417
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: font ? font : "text-sm", children: title })
7266
7418
  ] }) });
7267
7419
  };
7268
7420
  var ActivityTemplateLabel_default = ActivityTemplateLabel;
7269
7421
 
7270
7422
  // src/components/labels/BrandLabel.tsx
7271
- var import_jsx_runtime52 = require("react/jsx-runtime");
7423
+ var import_jsx_runtime55 = require("react/jsx-runtime");
7272
7424
  var BrandLabel = ({ title, icon, font }) => {
7273
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("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__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7274
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7275
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("p", { className: font ? font : "text-sm", children: title })
7425
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("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__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7426
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7427
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: font ? font : "text-sm", children: title })
7276
7428
  ] }) });
7277
7429
  };
7278
7430
  var BrandLabel_default = BrandLabel;
7279
7431
 
7280
7432
  // src/components/labels/CoterieLabel.tsx
7281
- var import_jsx_runtime53 = require("react/jsx-runtime");
7433
+ var import_jsx_runtime56 = require("react/jsx-runtime");
7282
7434
  var CoterieLabel = ({ title, font }) => {
7283
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("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__ */ (0, import_jsx_runtime53.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7435
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("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__ */ (0, import_jsx_runtime56.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7284
7436
  };
7285
7437
  var CoterieLabel_default = CoterieLabel;
7286
7438
 
7287
7439
  // src/components/labels/GradeLabel.tsx
7288
- var import_jsx_runtime54 = require("react/jsx-runtime");
7440
+ var import_jsx_runtime57 = require("react/jsx-runtime");
7289
7441
  var GradeLabel = ({ title, font }) => {
7290
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("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__ */ (0, import_jsx_runtime54.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7442
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("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__ */ (0, import_jsx_runtime57.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7291
7443
  };
7292
7444
  var GradeLabel_default = GradeLabel;
7293
7445
 
7294
7446
  // src/components/labels/OutcomeLabel.tsx
7295
- var import_jsx_runtime55 = require("react/jsx-runtime");
7447
+ var import_jsx_runtime58 = require("react/jsx-runtime");
7296
7448
  var OutcomeLabel = ({ title, font }) => {
7297
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("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__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7298
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7299
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("p", { className: font ? font : "text-sm", children: title })
7449
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("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__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7450
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7451
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("p", { className: font ? font : "text-sm", children: title })
7300
7452
  ] }) });
7301
7453
  };
7302
7454
  var OutcomeLabel_default = OutcomeLabel;
7303
7455
 
7304
7456
  // src/components/labels/PersonalLabel.tsx
7305
- var import_jsx_runtime56 = require("react/jsx-runtime");
7457
+ var import_jsx_runtime59 = require("react/jsx-runtime");
7306
7458
  var PersonalLabel = ({ title, icon, font }) => {
7307
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("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__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7308
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7459
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("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__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7460
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
7309
7461
  BaseImage_default,
7310
7462
  {
7311
7463
  src: "/icons/personal-label.webp",
@@ -7313,16 +7465,16 @@ var PersonalLabel = ({ title, icon, font }) => {
7313
7465
  size: "xsmall"
7314
7466
  }
7315
7467
  ),
7316
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("p", { className: font ? font : "text-sm", children: title })
7468
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: font ? font : "text-sm", children: title })
7317
7469
  ] }) });
7318
7470
  };
7319
7471
  var PersonalLabel_default = PersonalLabel;
7320
7472
 
7321
7473
  // src/components/labels/PublishingHouseLabel.tsx
7322
- var import_jsx_runtime57 = require("react/jsx-runtime");
7474
+ var import_jsx_runtime60 = require("react/jsx-runtime");
7323
7475
  var PublishingHouseLabel = ({ title, icon, font }) => {
7324
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("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__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7325
- icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7476
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("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__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex flex-row items-center gap-x-2", children: [
7477
+ icon ? icon : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7326
7478
  BaseImage_default,
7327
7479
  {
7328
7480
  src: "/icons/publishing-house-label.webp",
@@ -7330,79 +7482,79 @@ var PublishingHouseLabel = ({ title, icon, font }) => {
7330
7482
  size: "xsmall"
7331
7483
  }
7332
7484
  ),
7333
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: font ? font : "text-sm", children: title })
7485
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("p", { className: font ? font : "text-sm", children: title })
7334
7486
  ] }) });
7335
7487
  };
7336
7488
  var PublishingHouseLabel_default = PublishingHouseLabel;
7337
7489
 
7338
7490
  // src/components/labels/ActivityLabel.tsx
7339
- var import_jsx_runtime58 = require("react/jsx-runtime");
7491
+ var import_jsx_runtime61 = require("react/jsx-runtime");
7340
7492
  var ActivityLabel = ({ title, font }) => {
7341
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("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__ */ (0, import_jsx_runtime58.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7493
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("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__ */ (0, import_jsx_runtime61.jsx)("p", { className: font ? font : "text-sm", children: title }) });
7342
7494
  };
7343
7495
  var ActivityLabel_default = ActivityLabel;
7344
7496
 
7345
7497
  // src/components/infos/InfoWithText.tsx
7346
- var import_jsx_runtime59 = require("react/jsx-runtime");
7498
+ var import_jsx_runtime62 = require("react/jsx-runtime");
7347
7499
  var InfoWithText = (props) => {
7348
7500
  const { value } = props;
7349
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7350
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7351
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("p", { className: "", children: value }) })
7501
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7502
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7503
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "flex-1", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "", children: value }) })
7352
7504
  ] });
7353
7505
  };
7354
7506
  var InfoWithText_default = InfoWithText;
7355
7507
 
7356
7508
  // src/components/texts/InputWithSpecialExpression.tsx
7357
7509
  var import_react_katex12 = require("react-katex");
7358
- var import_jsx_runtime60 = require("react/jsx-runtime");
7510
+ var import_jsx_runtime63 = require("react/jsx-runtime");
7359
7511
  var InputWithSpecialExpression = ({
7360
7512
  value,
7361
7513
  showSpecialOnly
7362
7514
  }) => {
7363
7515
  const inputWithSpecialExpressionList = constructInputWithSpecialExpressionList(value);
7364
- return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7516
+ return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
7365
7517
  "span",
7366
7518
  {
7367
7519
  className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
7368
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
7520
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
7369
7521
  }
7370
- )) }) }) : null : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
7522
+ )) }) }) : null : /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "m-2", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
7371
7523
  "span",
7372
7524
  {
7373
7525
  className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
7374
- children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
7526
+ children: inputPart.isEquation ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "text-lg", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_react_katex12.InlineMath, { math: inputPart.value }, index) }) : inputPart.value
7375
7527
  }
7376
7528
  )) }) });
7377
7529
  };
7378
7530
  var InputWithSpecialExpression_default = InputWithSpecialExpression;
7379
7531
 
7380
7532
  // src/components/titles/BaseTitle.tsx
7381
- var import_jsx_runtime61 = require("react/jsx-runtime");
7533
+ var import_jsx_runtime64 = require("react/jsx-runtime");
7382
7534
  var BaseTitle = ({
7383
7535
  title,
7384
7536
  totalItemCount,
7385
7537
  itemName,
7386
7538
  description
7387
7539
  }) => {
7388
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex flex-col gap-y-2", children: [
7389
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("p", { className: "text-2xl font-medium", children: [
7540
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex flex-col gap-y-2", children: [
7541
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("p", { className: "text-2xl font-medium", children: [
7390
7542
  title,
7391
- totalItemCount && itemName ? /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("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: [
7543
+ totalItemCount && itemName ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("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: [
7392
7544
  totalItemCount,
7393
7545
  " ",
7394
7546
  itemName
7395
7547
  ] }) : null
7396
7548
  ] }),
7397
- description ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "", children: description }) : null
7549
+ description ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { className: "", children: description }) : null
7398
7550
  ] });
7399
7551
  };
7400
7552
  var BaseTitle_default = BaseTitle;
7401
7553
 
7402
7554
  // src/components/titles/SubTitle.tsx
7403
- var import_jsx_runtime62 = require("react/jsx-runtime");
7555
+ var import_jsx_runtime65 = require("react/jsx-runtime");
7404
7556
  var SubTitle = ({ title }) => {
7405
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7557
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7406
7558
  };
7407
7559
  var SubTitle_default = SubTitle;
7408
7560
 
@@ -9990,7 +10142,9 @@ var retrieveActivityMethodologyOptionList = () => {
9990
10142
  OutcomeLabel,
9991
10143
  PersonalLabel,
9992
10144
  PrimaryButton,
10145
+ ProgressBar,
9993
10146
  PublishingHouseLabel,
10147
+ ScoreBar,
9994
10148
  SecondaryButton,
9995
10149
  SelectionBox,
9996
10150
  SelectionCheckbox,
@@ -9998,6 +10152,7 @@ var retrieveActivityMethodologyOptionList = () => {
9998
10152
  SelectionTabFill,
9999
10153
  SubTitle,
10000
10154
  THREE_MONTHS,
10155
+ TimedProgressBar,
10001
10156
  TrueFalseActivityContent,
10002
10157
  VerticalDividerLine,
10003
10158
  adjustForTimezone,