catchup-library-web 1.15.3 → 1.15.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -989,15 +989,66 @@ var BaseModal = ({
989
989
  };
990
990
  var BaseModal_default = BaseModal;
991
991
 
992
+ // src/components/pdfs/BasePDF.tsx
993
+ import { useState as useState10 } from "react";
994
+ import { Document, Page } from "react-pdf";
995
+ import { jsx as jsx15, jsxs as jsxs10 } from "react/jsx-runtime";
996
+ var BasePDF = ({ file }) => {
997
+ const [pageNumber, setPageNumber] = useState10(1);
998
+ const [numberOfPages, setNumberOfPages] = useState10(0);
999
+ const handleOnDocumentLoadSuccess = ({ numPages }) => {
1000
+ setPageNumber(1);
1001
+ setNumberOfPages(numPages);
1002
+ };
1003
+ return /* @__PURE__ */ jsxs10(Document, { file, onLoadSuccess: handleOnDocumentLoadSuccess, children: [
1004
+ /* @__PURE__ */ jsx15(Page, { pageNumber }),
1005
+ /* @__PURE__ */ jsxs10("div", { className: "flex flex-row items-center justify-center", children: [
1006
+ pageNumber === 1 ? null : /* @__PURE__ */ jsx15("div", { className: "px-2", children: /* @__PURE__ */ jsx15("div", { className: "cursor-pointer", children: /* @__PURE__ */ jsx15(
1007
+ BaseImage_default,
1008
+ {
1009
+ alt: "arrow-left",
1010
+ src: "/icons/arrow-left.webp",
1011
+ size: "small",
1012
+ onClick: () => {
1013
+ setPageNumber(pageNumber - 1);
1014
+ }
1015
+ }
1016
+ ) }) }),
1017
+ Array.from(Array(numberOfPages).keys()).filter((index) => index < pageNumber + 5).filter((index) => index > pageNumber - 5).map((index) => /* @__PURE__ */ jsx15("div", { className: "px-2", children: /* @__PURE__ */ jsx15(
1018
+ "p",
1019
+ {
1020
+ className: `${pageNumber === index + 1 ? "text-2xl" : "text-md"} cursor-pointer`,
1021
+ onClick: () => {
1022
+ setPageNumber(index + 1);
1023
+ },
1024
+ children: index + 1
1025
+ }
1026
+ ) }, index)),
1027
+ numberOfPages === 0 || pageNumber === numberOfPages ? null : /* @__PURE__ */ jsx15("div", { className: "px-2", children: /* @__PURE__ */ jsx15("div", { className: "cursor-pointer", children: /* @__PURE__ */ jsx15(
1028
+ BaseImage_default,
1029
+ {
1030
+ src: "/icons/arrow-right.webp",
1031
+ alt: "arrow-right",
1032
+ size: "small",
1033
+ onClick: () => {
1034
+ setPageNumber(pageNumber + 1);
1035
+ }
1036
+ }
1037
+ ) }) })
1038
+ ] })
1039
+ ] });
1040
+ };
1041
+ var BasePDF_default = BasePDF;
1042
+
992
1043
  // src/components/activities/empty-content/ActivityEmptyContent.tsx
993
- import { jsx as jsx15 } from "react/jsx-runtime";
1044
+ import { jsx as jsx16 } from "react/jsx-runtime";
994
1045
  var ActivityEmptyContent = () => {
995
- return /* @__PURE__ */ jsx15("div", { className: "flex flex-col items-center justify-center border-2 border-catchup-orange rounded-catchup-xlarge px-5 py-2 my-5 bg-catchup-orange", children: /* @__PURE__ */ jsx15("div", { className: "", children: /* @__PURE__ */ jsx15("p", { className: "text-catchup-white text-xl", children: i18n_default.t("you_have_set_this_activity_as_empty") }) }) });
1046
+ return /* @__PURE__ */ jsx16("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__ */ jsx16("div", { className: "", children: /* @__PURE__ */ jsx16("p", { className: "text-catchup-white text-xl", children: i18n_default.t("you_have_set_this_activity_as_empty") }) }) });
996
1047
  };
997
1048
  var ActivityEmptyContent_default = ActivityEmptyContent;
998
1049
 
999
1050
  // src/components/activities/body-content/ShowBodyMediaByContentType.tsx
1000
- import { useState as useState10 } from "react";
1051
+ import { useState as useState11 } from "react";
1001
1052
  import Modal2 from "react-modal";
1002
1053
 
1003
1054
  // src/utilization/CatchtivityUtilization.ts
@@ -3041,15 +3092,15 @@ var retrieveDifficultyByActivityTypeFromData = (type, data) => {
3041
3092
 
3042
3093
  // src/components/activities/body-content/ShowBodyMediaByContentType.tsx
3043
3094
  import { InlineMath } from "react-katex";
3044
- import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
3095
+ import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
3045
3096
  var ShowBodyMediaByContentType = ({
3046
3097
  index,
3047
3098
  type,
3048
3099
  value,
3049
3100
  size
3050
3101
  }) => {
3051
- const [showFullScreen, setShowFullScreen] = useState10(false);
3052
- const [selectedFullScreenItem, setSelectedFullScreenItem] = useState10("");
3102
+ const [showFullScreen, setShowFullScreen] = useState11(false);
3103
+ const [selectedFullScreenItem, setSelectedFullScreenItem] = useState11("");
3053
3104
  const convertToPercentage = (size2) => {
3054
3105
  switch (size2) {
3055
3106
  case "1/3":
@@ -3063,11 +3114,11 @@ var ShowBodyMediaByContentType = ({
3063
3114
  }
3064
3115
  };
3065
3116
  const renderSpecialExpressions = (inputPart, inputPartIndex) => {
3066
- return /* @__PURE__ */ jsx16(
3117
+ return /* @__PURE__ */ jsx17(
3067
3118
  "span",
3068
3119
  {
3069
3120
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
3070
- children: inputPart.isEquation ? /* @__PURE__ */ jsx16("span", { className: "text-2xl", children: /* @__PURE__ */ jsx16(InlineMath, { math: inputPart.value }) }) : inputPart.value
3121
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx17("span", { className: "text-2xl", children: /* @__PURE__ */ jsx17(InlineMath, { math: inputPart.value }) }) : inputPart.value
3071
3122
  },
3072
3123
  inputPartIndex
3073
3124
  );
@@ -3087,7 +3138,7 @@ var ShowBodyMediaByContentType = ({
3087
3138
  };
3088
3139
  const renderTextContent = (text, itemKey) => {
3089
3140
  const balancedText = balanceSpecialChars(text);
3090
- return /* @__PURE__ */ jsx16("span", { className: "text-xl", children: constructInputWithSpecialExpressionList(balancedText).map(
3141
+ return /* @__PURE__ */ jsx17("span", { className: "text-xl", children: constructInputWithSpecialExpressionList(balancedText).map(
3091
3142
  (inputPart, inputPartIndex) => renderSpecialExpressions(inputPart, inputPartIndex)
3092
3143
  ) }, itemKey);
3093
3144
  };
@@ -3120,7 +3171,7 @@ var ShowBodyMediaByContentType = ({
3120
3171
  currentIndex++;
3121
3172
  const itemKey = `text-inside-${index}-${currentIndex}`;
3122
3173
  valuePartList.push(
3123
- /* @__PURE__ */ jsx16("span", { className: "text-xl font-bold", children: constructInputWithSpecialExpressionList(textInsideTag).map(
3174
+ /* @__PURE__ */ jsx17("span", { className: "text-xl font-bold", children: constructInputWithSpecialExpressionList(textInsideTag).map(
3124
3175
  (inputPart, inputPartIndex) => renderSpecialExpressions(inputPart, inputPartIndex)
3125
3176
  ) }, itemKey)
3126
3177
  );
@@ -3140,7 +3191,7 @@ var ShowBodyMediaByContentType = ({
3140
3191
  if (textBeforeTag.trim() !== "") {
3141
3192
  currentIndex++;
3142
3193
  valuePartList.push(
3143
- /* @__PURE__ */ jsx16(
3194
+ /* @__PURE__ */ jsx17(
3144
3195
  "p",
3145
3196
  {
3146
3197
  className: "text-xl",
@@ -3159,12 +3210,12 @@ var ShowBodyMediaByContentType = ({
3159
3210
  );
3160
3211
  currentIndex++;
3161
3212
  valuePartList.push(
3162
- /* @__PURE__ */ jsxs10(
3213
+ /* @__PURE__ */ jsxs11(
3163
3214
  "div",
3164
3215
  {
3165
3216
  className: "relative w-[200px]",
3166
3217
  children: [
3167
- /* @__PURE__ */ jsx16(
3218
+ /* @__PURE__ */ jsx17(
3168
3219
  BaseImage_default,
3169
3220
  {
3170
3221
  src: imageSource,
@@ -3173,12 +3224,12 @@ var ShowBodyMediaByContentType = ({
3173
3224
  className: "rounded-catchup-xlarge"
3174
3225
  }
3175
3226
  ),
3176
- /* @__PURE__ */ jsx16(
3227
+ /* @__PURE__ */ jsx17(
3177
3228
  "div",
3178
3229
  {
3179
3230
  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",
3180
3231
  onClick: () => handleOpenFullScreen(imageSource),
3181
- children: /* @__PURE__ */ jsx16(
3232
+ children: /* @__PURE__ */ jsx17(
3182
3233
  BaseImage_default,
3183
3234
  {
3184
3235
  src: "/icons/arrow-up.webp",
@@ -3207,7 +3258,7 @@ var ShowBodyMediaByContentType = ({
3207
3258
  if (textBeforeTag.trim() !== "") {
3208
3259
  currentIndex++;
3209
3260
  valuePartList.push(
3210
- /* @__PURE__ */ jsx16(
3261
+ /* @__PURE__ */ jsx17(
3211
3262
  "p",
3212
3263
  {
3213
3264
  className: "text-xl",
@@ -3226,7 +3277,7 @@ var ShowBodyMediaByContentType = ({
3226
3277
  );
3227
3278
  currentIndex++;
3228
3279
  valuePartList.push(
3229
- /* @__PURE__ */ jsx16(
3280
+ /* @__PURE__ */ jsx17(
3230
3281
  "video",
3231
3282
  {
3232
3283
  src: videoSource,
@@ -3249,7 +3300,7 @@ var ShowBodyMediaByContentType = ({
3249
3300
  if (textBeforeTag.trim() !== "") {
3250
3301
  currentIndex++;
3251
3302
  valuePartList.push(
3252
- /* @__PURE__ */ jsx16(
3303
+ /* @__PURE__ */ jsx17(
3253
3304
  "p",
3254
3305
  {
3255
3306
  className: "text-xl",
@@ -3268,7 +3319,7 @@ var ShowBodyMediaByContentType = ({
3268
3319
  );
3269
3320
  currentIndex++;
3270
3321
  valuePartList.push(
3271
- /* @__PURE__ */ jsx16(
3322
+ /* @__PURE__ */ jsx17(
3272
3323
  "audio",
3273
3324
  {
3274
3325
  src: audioSource,
@@ -3294,13 +3345,13 @@ var ShowBodyMediaByContentType = ({
3294
3345
  if (regexMatchImageText) {
3295
3346
  const imageText = regexMatchImageText[1];
3296
3347
  valuePartList.push(
3297
- /* @__PURE__ */ jsxs10(
3348
+ /* @__PURE__ */ jsxs11(
3298
3349
  "div",
3299
3350
  {
3300
3351
  className: "bg-catchup-gray-50 relative px-4 py-4 rounded-catchup-small mt-2",
3301
3352
  children: [
3302
- /* @__PURE__ */ jsx16("div", { className: "absolute -top-3 bg-catchup-white border rounded-catchup-small px-2 left-2", children: /* @__PURE__ */ jsx16("p", { className: "font-bold", children: i18n_default.t("image_description") }) }),
3303
- /* @__PURE__ */ jsx16("span", { className: "text-xl", children: imageText })
3353
+ /* @__PURE__ */ jsx17("div", { className: "absolute -top-3 bg-catchup-white border rounded-catchup-small px-2 left-2", children: /* @__PURE__ */ jsx17("p", { className: "font-bold", children: i18n_default.t("image_description") }) }),
3354
+ /* @__PURE__ */ jsx17("span", { className: "text-xl", children: imageText })
3304
3355
  ]
3305
3356
  },
3306
3357
  `img-desc-${index}-${currentIndex}`
@@ -3314,7 +3365,7 @@ var ShowBodyMediaByContentType = ({
3314
3365
  return valuePartList;
3315
3366
  };
3316
3367
  const RenderShowFullScreenItem = () => {
3317
- return /* @__PURE__ */ jsx16(
3368
+ return /* @__PURE__ */ jsx17(
3318
3369
  Modal2,
3319
3370
  {
3320
3371
  isOpen: showFullScreen,
@@ -3343,8 +3394,8 @@ var ShowBodyMediaByContentType = ({
3343
3394
  }
3344
3395
  },
3345
3396
  contentLabel: "Image Fullscreen View",
3346
- children: /* @__PURE__ */ jsxs10("div", { className: "flex-1 flex flex-col", children: [
3347
- /* @__PURE__ */ jsx16("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ jsx16(
3397
+ children: /* @__PURE__ */ jsxs11("div", { className: "flex-1 flex flex-col", children: [
3398
+ /* @__PURE__ */ jsx17("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ jsx17(
3348
3399
  BaseImage_default,
3349
3400
  {
3350
3401
  src: "/icons/cross-red.webp",
@@ -3356,7 +3407,7 @@ var ShowBodyMediaByContentType = ({
3356
3407
  }
3357
3408
  }
3358
3409
  ) }),
3359
- /* @__PURE__ */ jsx16("div", { className: "flex items-center justify-center h-[500]", children: /* @__PURE__ */ jsx16(
3410
+ /* @__PURE__ */ jsx17("div", { className: "flex items-center justify-center h-[500]", children: /* @__PURE__ */ jsx17(
3360
3411
  BaseImage_default,
3361
3412
  {
3362
3413
  src: selectedFullScreenItem,
@@ -3372,16 +3423,16 @@ var ShowBodyMediaByContentType = ({
3372
3423
  const RenderMainContent = () => {
3373
3424
  switch (type) {
3374
3425
  case "TEXT":
3375
- return /* @__PURE__ */ jsx16("div", { className: "mb-1 flex flex-row flex-wrap items-center mx-auto w-full", children: /* @__PURE__ */ jsx16("p", { className: "whitespace-pre-wrap", children: retrieveValueParts(value) }) });
3426
+ return /* @__PURE__ */ jsx17("div", { className: "mb-1 flex flex-row flex-wrap items-center mx-auto w-full", children: /* @__PURE__ */ jsx17("p", { className: "whitespace-pre-wrap", children: retrieveValueParts(value) }) });
3376
3427
  case "IMAGE":
3377
- return /* @__PURE__ */ jsx16("div", { className: "mb-1 flex flex-col items-center relative", children: /* @__PURE__ */ jsxs10(
3428
+ return /* @__PURE__ */ jsx17("div", { className: "mb-1 flex flex-col items-center relative", children: /* @__PURE__ */ jsxs11(
3378
3429
  "div",
3379
3430
  {
3380
3431
  className: `${convertToPercentage(
3381
3432
  size || ""
3382
3433
  )} rounded-catchup-xlarge relative`,
3383
3434
  children: [
3384
- /* @__PURE__ */ jsx16(
3435
+ /* @__PURE__ */ jsx17(
3385
3436
  BaseImage_default,
3386
3437
  {
3387
3438
  src: value,
@@ -3390,12 +3441,12 @@ var ShowBodyMediaByContentType = ({
3390
3441
  className: "w-full rounded-catchup-xlarge"
3391
3442
  }
3392
3443
  ),
3393
- /* @__PURE__ */ jsx16(
3444
+ /* @__PURE__ */ jsx17(
3394
3445
  "div",
3395
3446
  {
3396
3447
  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",
3397
3448
  onClick: () => handleOpenFullScreen(value),
3398
- children: /* @__PURE__ */ jsx16(
3449
+ children: /* @__PURE__ */ jsx17(
3399
3450
  BaseImage_default,
3400
3451
  {
3401
3452
  src: "/icons/arrow-up.webp",
@@ -3410,7 +3461,7 @@ var ShowBodyMediaByContentType = ({
3410
3461
  }
3411
3462
  ) });
3412
3463
  case "VIDEO":
3413
- return /* @__PURE__ */ jsx16("div", { className: "mb-1 flex flex-col items-center", children: /* @__PURE__ */ jsx16(
3464
+ return /* @__PURE__ */ jsx17("div", { className: "mb-1 flex flex-col items-center", children: /* @__PURE__ */ jsx17(
3414
3465
  "video",
3415
3466
  {
3416
3467
  src: value,
@@ -3421,12 +3472,12 @@ var ShowBodyMediaByContentType = ({
3421
3472
  }
3422
3473
  ) });
3423
3474
  case "AUDIO":
3424
- return /* @__PURE__ */ jsx16("div", { className: "mb-1 flex flex-col items-center", children: /* @__PURE__ */ jsx16("audio", { src: value, controls: true, className: "rounded-catchup-xlarge" }) });
3475
+ return /* @__PURE__ */ jsx17("div", { className: "mb-1 flex flex-col items-center", children: /* @__PURE__ */ jsx17("audio", { src: value, controls: true, className: "rounded-catchup-xlarge" }) });
3425
3476
  default:
3426
3477
  return null;
3427
3478
  }
3428
3479
  };
3429
- return /* @__PURE__ */ jsxs10("div", { className: "w-full", children: [
3480
+ return /* @__PURE__ */ jsxs11("div", { className: "w-full", children: [
3430
3481
  RenderShowFullScreenItem(),
3431
3482
  RenderMainContent()
3432
3483
  ] }, `body-content-${index}`);
@@ -3434,7 +3485,7 @@ var ShowBodyMediaByContentType = ({
3434
3485
  var ShowBodyMediaByContentType_default = ShowBodyMediaByContentType;
3435
3486
 
3436
3487
  // src/components/activities/body-content/ActivityBodyContent.tsx
3437
- import { jsx as jsx17 } from "react/jsx-runtime";
3488
+ import { jsx as jsx18 } from "react/jsx-runtime";
3438
3489
  var ActivityBodyContent = ({
3439
3490
  templateType,
3440
3491
  bodyMap,
@@ -3515,7 +3566,7 @@ var ActivityBodyContent = ({
3515
3566
  key
3516
3567
  });
3517
3568
  }).filter(Boolean);
3518
- return /* @__PURE__ */ jsx17("div", { className: "flex flex-col justify-center items-center", children: processedBodies.map((body, index) => /* @__PURE__ */ jsx17(
3569
+ return /* @__PURE__ */ jsx18("div", { className: "flex flex-col justify-center items-center", children: processedBodies.map((body, index) => /* @__PURE__ */ jsx18(
3519
3570
  ShowBodyMediaByContentType_default,
3520
3571
  {
3521
3572
  index,
@@ -3529,16 +3580,16 @@ var ActivityBodyContent = ({
3529
3580
  var ActivityBodyContent_default = ActivityBodyContent;
3530
3581
 
3531
3582
  // src/components/dividers/DividerLine.tsx
3532
- import { jsx as jsx18 } from "react/jsx-runtime";
3583
+ import { jsx as jsx19 } from "react/jsx-runtime";
3533
3584
  var DividerLine = () => {
3534
- return /* @__PURE__ */ jsx18("div", { className: "bg-catchup-gray-50 h-[1px] w-full my-3" });
3585
+ return /* @__PURE__ */ jsx19("div", { className: "bg-catchup-gray-50 h-[1px] w-full my-3" });
3535
3586
  };
3536
3587
  var DividerLine_default = DividerLine;
3537
3588
 
3538
3589
  // src/components/dividers/VerticalDividerLine.tsx
3539
- import { jsx as jsx19 } from "react/jsx-runtime";
3590
+ import { jsx as jsx20 } from "react/jsx-runtime";
3540
3591
  var VerticalDividerLine = () => {
3541
- return /* @__PURE__ */ jsx19("div", { className: "bg-catchup-gray-50 h-full w-[1px] mx-3" });
3592
+ return /* @__PURE__ */ jsx20("div", { className: "bg-catchup-gray-50 h-full w-[1px] mx-3" });
3542
3593
  };
3543
3594
  var VerticalDividerLine_default = VerticalDividerLine;
3544
3595
 
@@ -3547,8 +3598,8 @@ import { InlineMath as InlineMath2 } from "react-katex";
3547
3598
 
3548
3599
  // src/components/groups/InputGroup.tsx
3549
3600
  import Select from "react-select";
3550
- import { useEffect as useEffect3, useRef, useState as useState11, useCallback } from "react";
3551
- import { Fragment, jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
3601
+ import { useEffect as useEffect3, useRef, useState as useState12, useCallback } from "react";
3602
+ import { Fragment, jsx as jsx21, jsxs as jsxs12 } from "react/jsx-runtime";
3552
3603
  var InputGroup = ({
3553
3604
  type,
3554
3605
  title,
@@ -3571,8 +3622,8 @@ var InputGroup = ({
3571
3622
  }) => {
3572
3623
  const textAreaRef = useRef(null);
3573
3624
  const latexTextAreaRef = useRef(null);
3574
- const [showMathConstructor, setShowMathConstructor] = useState11(false);
3575
- const [mathValue, setMathValue] = useState11("");
3625
+ const [showMathConstructor, setShowMathConstructor] = useState12(false);
3626
+ const [mathValue, setMathValue] = useState12("");
3576
3627
  const mathFieldRef = useRef(null);
3577
3628
  useEffect3(() => {
3578
3629
  if (!textAreaRef) return;
@@ -3650,7 +3701,7 @@ var InputGroup = ({
3650
3701
  setShowMathConstructor(true);
3651
3702
  };
3652
3703
  const MathConstructorModal = () => {
3653
- return /* @__PURE__ */ jsx20(
3704
+ return /* @__PURE__ */ jsx21(
3654
3705
  BaseModal_default,
3655
3706
  {
3656
3707
  isOpen: showMathConstructor,
@@ -3661,10 +3712,10 @@ var InputGroup = ({
3661
3712
  setShowMathConstructor(false);
3662
3713
  },
3663
3714
  size: "large",
3664
- children: /* @__PURE__ */ jsx20(FullCard_default, { children: /* @__PURE__ */ jsx20("div", { className: "bg-white rounded-lg overflow-hidden", children: /* @__PURE__ */ jsxs11("div", { className: "p-6 space-y-6", children: [
3665
- /* @__PURE__ */ jsxs11("div", { children: [
3666
- /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("math_editor") }),
3667
- /* @__PURE__ */ jsx20("div", { className: "border border-catchup-gray-100 rounded-catchup-large focus-within:border-catchup-blue-400 focus-within:shadow-input", children: /* @__PURE__ */ jsx20(
3715
+ children: /* @__PURE__ */ jsx21(FullCard_default, { children: /* @__PURE__ */ jsx21("div", { className: "bg-white rounded-lg overflow-hidden", children: /* @__PURE__ */ jsxs12("div", { className: "p-6 space-y-6", children: [
3716
+ /* @__PURE__ */ jsxs12("div", { children: [
3717
+ /* @__PURE__ */ jsx21("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("math_editor") }),
3718
+ /* @__PURE__ */ jsx21("div", { className: "border border-catchup-gray-100 rounded-catchup-large focus-within:border-catchup-blue-400 focus-within:shadow-input", children: /* @__PURE__ */ jsx21(
3668
3719
  "math-field",
3669
3720
  {
3670
3721
  ref: mathFieldRef,
@@ -3691,10 +3742,10 @@ var InputGroup = ({
3691
3742
  }
3692
3743
  ) })
3693
3744
  ] }),
3694
- /* @__PURE__ */ jsxs11("div", { children: [
3695
- /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("latex_output") }),
3696
- /* @__PURE__ */ jsxs11("div", { className: "relative", children: [
3697
- /* @__PURE__ */ jsx20(
3745
+ /* @__PURE__ */ jsxs12("div", { children: [
3746
+ /* @__PURE__ */ jsx21("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: i18n_default.t("latex_output") }),
3747
+ /* @__PURE__ */ jsxs12("div", { className: "relative", children: [
3748
+ /* @__PURE__ */ jsx21(
3698
3749
  "textarea",
3699
3750
  {
3700
3751
  ref: latexTextAreaRef,
@@ -3704,7 +3755,7 @@ var InputGroup = ({
3704
3755
  placeholder: i18n_default.t("latex_will_appear_here")
3705
3756
  }
3706
3757
  ),
3707
- /* @__PURE__ */ jsx20(
3758
+ /* @__PURE__ */ jsx21(
3708
3759
  "button",
3709
3760
  {
3710
3761
  onClick: handleCopyLatex,
@@ -3720,13 +3771,13 @@ var InputGroup = ({
3720
3771
  );
3721
3772
  };
3722
3773
  const CheckboxInputGroup = () => {
3723
- return /* @__PURE__ */ jsxs11(
3774
+ return /* @__PURE__ */ jsxs12(
3724
3775
  "div",
3725
3776
  {
3726
3777
  className: "flex flex-row items-center gap-x-1 cursor-pointer",
3727
3778
  onClick,
3728
3779
  children: [
3729
- /* @__PURE__ */ jsx20(
3780
+ /* @__PURE__ */ jsx21(
3730
3781
  BaseImage_default,
3731
3782
  {
3732
3783
  src: value ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -3736,15 +3787,15 @@ var InputGroup = ({
3736
3787
  }
3737
3788
  }
3738
3789
  ),
3739
- /* @__PURE__ */ jsx20("p", { className: "", children: title })
3790
+ /* @__PURE__ */ jsx21("p", { className: "", children: title })
3740
3791
  ]
3741
3792
  }
3742
3793
  );
3743
3794
  };
3744
3795
  const FileInputGroup = () => {
3745
- return /* @__PURE__ */ jsxs11("div", { className: "my-1", children: [
3746
- title ? /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3747
- /* @__PURE__ */ jsx20(
3796
+ return /* @__PURE__ */ jsxs12("div", { className: "my-1", children: [
3797
+ title ? /* @__PURE__ */ jsx21("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3798
+ /* @__PURE__ */ jsx21(
3748
3799
  "input",
3749
3800
  {
3750
3801
  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",
@@ -3761,9 +3812,9 @@ var InputGroup = ({
3761
3812
  ] });
3762
3813
  };
3763
3814
  const DateInputGroup = () => {
3764
- return /* @__PURE__ */ jsxs11("div", { className: "my-1", children: [
3765
- title ? /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3766
- /* @__PURE__ */ jsx20(
3815
+ return /* @__PURE__ */ jsxs12("div", { className: "my-1", children: [
3816
+ title ? /* @__PURE__ */ jsx21("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3817
+ /* @__PURE__ */ jsx21(
3767
3818
  "input",
3768
3819
  {
3769
3820
  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`,
@@ -3778,9 +3829,9 @@ var InputGroup = ({
3778
3829
  ] });
3779
3830
  };
3780
3831
  const SearchableSelectInputGroup = () => {
3781
- return /* @__PURE__ */ jsxs11("div", { className: "my-1", children: [
3782
- title ? /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400 ", children: title }) : null,
3783
- /* @__PURE__ */ jsx20(
3832
+ return /* @__PURE__ */ jsxs12("div", { className: "my-1", children: [
3833
+ title ? /* @__PURE__ */ jsx21("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400 ", children: title }) : null,
3834
+ /* @__PURE__ */ jsx21(
3784
3835
  Select,
3785
3836
  {
3786
3837
  options: convertOptionListToSelectComponent(
@@ -3843,16 +3894,16 @@ var InputGroup = ({
3843
3894
  ] });
3844
3895
  };
3845
3896
  const TextAreaInputGroup = () => {
3846
- return /* @__PURE__ */ jsxs11("div", { className: "my-1 flex-1 flex flex-col relative", children: [
3847
- /* @__PURE__ */ jsxs11("div", { className: "flex flex-row justify-between items-center", children: [
3848
- /* @__PURE__ */ jsx20("div", { children: title ? /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null }),
3849
- /* @__PURE__ */ jsx20("div", { children: value && limit ? /* @__PURE__ */ jsxs11("p", { className: "text-md font-semibold pr-2 py-1 text-catchup-gray-400", children: [
3897
+ return /* @__PURE__ */ jsxs12("div", { className: "my-1 flex-1 flex flex-col relative", children: [
3898
+ /* @__PURE__ */ jsxs12("div", { className: "flex flex-row justify-between items-center", children: [
3899
+ /* @__PURE__ */ jsx21("div", { children: title ? /* @__PURE__ */ jsx21("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null }),
3900
+ /* @__PURE__ */ jsx21("div", { children: value && limit ? /* @__PURE__ */ jsxs12("p", { className: "text-md font-semibold pr-2 py-1 text-catchup-gray-400", children: [
3850
3901
  value.length,
3851
3902
  " / ",
3852
3903
  limit
3853
3904
  ] }) : null })
3854
3905
  ] }),
3855
- /* @__PURE__ */ jsx20(
3906
+ /* @__PURE__ */ jsx21(
3856
3907
  "textarea",
3857
3908
  {
3858
3909
  ref: textAreaRef,
@@ -3865,22 +3916,22 @@ var InputGroup = ({
3865
3916
  onKeyDown
3866
3917
  }
3867
3918
  ),
3868
- useMath && /* @__PURE__ */ jsx20(
3919
+ useMath && /* @__PURE__ */ jsx21(
3869
3920
  "button",
3870
3921
  {
3871
3922
  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",
3872
3923
  onClick: handleOpenMathConstructor,
3873
3924
  type: "button",
3874
- children: /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-x-1", children: [
3875
- /* @__PURE__ */ jsx20("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
3876
- /* @__PURE__ */ jsx20(
3925
+ children: /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-x-1", children: [
3926
+ /* @__PURE__ */ jsx21("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
3927
+ /* @__PURE__ */ jsx21(
3877
3928
  "svg",
3878
3929
  {
3879
3930
  className: "w-3 h-3",
3880
3931
  fill: "none",
3881
3932
  stroke: "currentColor",
3882
3933
  viewBox: "0 0 24 24",
3883
- children: /* @__PURE__ */ jsx20(
3934
+ children: /* @__PURE__ */ jsx21(
3884
3935
  "path",
3885
3936
  {
3886
3937
  strokeLinecap: "round",
@@ -3897,13 +3948,13 @@ var InputGroup = ({
3897
3948
  ] });
3898
3949
  };
3899
3950
  const TextInputGroup = () => {
3900
- return /* @__PURE__ */ jsxs11("div", { className: "my-1 relative", children: [
3901
- title ? /* @__PURE__ */ jsx20("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3902
- /* @__PURE__ */ jsx20(
3951
+ return /* @__PURE__ */ jsxs12("div", { className: "my-1 relative", children: [
3952
+ title ? /* @__PURE__ */ jsx21("p", { className: "text-md font-semibold pl-2 py-1 text-catchup-gray-400", children: title }) : null,
3953
+ /* @__PURE__ */ jsx21(
3903
3954
  "div",
3904
3955
  {
3905
3956
  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"}`,
3906
- children: /* @__PURE__ */ jsx20(
3957
+ children: /* @__PURE__ */ jsx21(
3907
3958
  "input",
3908
3959
  {
3909
3960
  disabled,
@@ -3919,22 +3970,22 @@ var InputGroup = ({
3919
3970
  )
3920
3971
  }
3921
3972
  ),
3922
- useMath && /* @__PURE__ */ jsx20(
3973
+ useMath && /* @__PURE__ */ jsx21(
3923
3974
  "button",
3924
3975
  {
3925
3976
  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",
3926
3977
  onClick: handleOpenMathConstructor,
3927
3978
  type: "button",
3928
- children: /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-x-1", children: [
3929
- /* @__PURE__ */ jsx20("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
3930
- /* @__PURE__ */ jsx20(
3979
+ children: /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-x-1", children: [
3980
+ /* @__PURE__ */ jsx21("span", { className: "text-sm font-medium", children: "\u{1D453}(x)" }),
3981
+ /* @__PURE__ */ jsx21(
3931
3982
  "svg",
3932
3983
  {
3933
3984
  className: "w-3 h-3",
3934
3985
  fill: "none",
3935
3986
  stroke: "currentColor",
3936
3987
  viewBox: "0 0 24 24",
3937
- children: /* @__PURE__ */ jsx20(
3988
+ children: /* @__PURE__ */ jsx21(
3938
3989
  "path",
3939
3990
  {
3940
3991
  strokeLinecap: "round",
@@ -3967,16 +4018,16 @@ var InputGroup = ({
3967
4018
  return CheckboxInputGroup();
3968
4019
  }
3969
4020
  };
3970
- return /* @__PURE__ */ jsxs11(Fragment, { children: [
4021
+ return /* @__PURE__ */ jsxs12(Fragment, { children: [
3971
4022
  RenderMainContent(),
3972
- /* @__PURE__ */ jsx20(MathConstructorModal, {})
4023
+ /* @__PURE__ */ jsx21(MathConstructorModal, {})
3973
4024
  ] });
3974
4025
  };
3975
4026
  var InputGroup_default = InputGroup;
3976
4027
 
3977
4028
  // src/components/activities/material-content/DropdownActivityMaterialContent.tsx
3978
4029
  import { useEffect as useEffect5 } from "react";
3979
- import { useState as useState14 } from "react";
4030
+ import { useState as useState15 } from "react";
3980
4031
 
3981
4032
  // src/utilization/AppUtilization.ts
3982
4033
  var colors = [
@@ -4076,11 +4127,11 @@ var getColorByIndex = (index) => {
4076
4127
  };
4077
4128
 
4078
4129
  // src/components/dropdowns/MediaDropdown.tsx
4079
- import { useState as useState12 } from "react";
4080
- import { jsx as jsx21, jsxs as jsxs12 } from "react/jsx-runtime";
4130
+ import { useState as useState13 } from "react";
4131
+ import { jsx as jsx22, jsxs as jsxs13 } from "react/jsx-runtime";
4081
4132
  var MediaDropdown = ({ id, answer, optionList }) => {
4082
- const [showDropdown, setShowDropdown] = useState12(false);
4083
- return /* @__PURE__ */ jsxs12(
4133
+ const [showDropdown, setShowDropdown] = useState13(false);
4134
+ return /* @__PURE__ */ jsxs13(
4084
4135
  "div",
4085
4136
  {
4086
4137
  className: "w-full relative",
@@ -4091,17 +4142,17 @@ var MediaDropdown = ({ id, answer, optionList }) => {
4091
4142
  setShowDropdown(false);
4092
4143
  },
4093
4144
  children: [
4094
- /* @__PURE__ */ jsx21("div", { className: "w-full flex flex-col items-center justify-center", children: answer }),
4095
- /* @__PURE__ */ jsx21(
4145
+ /* @__PURE__ */ jsx22("div", { className: "w-full flex flex-col items-center justify-center", children: answer }),
4146
+ /* @__PURE__ */ jsx22(
4096
4147
  "ul",
4097
4148
  {
4098
4149
  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`,
4099
- children: optionList.map((option, index) => /* @__PURE__ */ jsxs12(
4150
+ children: optionList.map((option, index) => /* @__PURE__ */ jsxs13(
4100
4151
  "li",
4101
4152
  {
4102
4153
  className: `${option.listItemClassNames ? option.listItemClassNames : ""}`,
4103
4154
  children: [
4104
- /* @__PURE__ */ jsx21(
4155
+ /* @__PURE__ */ jsx22(
4105
4156
  "div",
4106
4157
  {
4107
4158
  className: `w-full flex flex-col my-2 ${option.divClassNames ? option.divClassNames : ""}`,
@@ -4109,7 +4160,7 @@ var MediaDropdown = ({ id, answer, optionList }) => {
4109
4160
  children: option.media
4110
4161
  }
4111
4162
  ),
4112
- index !== optionList.length - 1 ? /* @__PURE__ */ jsx21("div", { className: "w-full border my-1 border-catchup-light-blue rounded-catchup-full" }) : null
4163
+ index !== optionList.length - 1 ? /* @__PURE__ */ jsx22("div", { className: "w-full border my-1 border-catchup-light-blue rounded-catchup-full" }) : null
4113
4164
  ]
4114
4165
  },
4115
4166
  option.id
@@ -4124,19 +4175,19 @@ var MediaDropdown = ({ id, answer, optionList }) => {
4124
4175
  var MediaDropdown_default = MediaDropdown;
4125
4176
 
4126
4177
  // src/components/activities/material-content/ShowMaterialMediaByContentType.tsx
4127
- import { useEffect as useEffect4, useRef as useRef2, useState as useState13 } from "react";
4178
+ import { useEffect as useEffect4, useRef as useRef2, useState as useState14 } from "react";
4128
4179
  import Modal3 from "react-modal";
4129
- import { jsx as jsx22, jsxs as jsxs13 } from "react/jsx-runtime";
4180
+ import { jsx as jsx23, jsxs as jsxs14 } from "react/jsx-runtime";
4130
4181
  var ShowMaterialMediaByContentType = ({
4131
4182
  key,
4132
4183
  contentType,
4133
4184
  src,
4134
4185
  canFullScreen
4135
4186
  }) => {
4136
- const [showFullScreen, setShowFullScreen] = useState13(false);
4137
- const [selectedFullScreenItem, setSelectedFullScreenItem] = useState13(null);
4138
- const [isLoaded, setIsLoaded] = useState13(false);
4139
- const [isFullHeight, setIsFullHeight] = useState13(false);
4187
+ const [showFullScreen, setShowFullScreen] = useState14(false);
4188
+ const [selectedFullScreenItem, setSelectedFullScreenItem] = useState14(null);
4189
+ const [isLoaded, setIsLoaded] = useState14(false);
4190
+ const [isFullHeight, setIsFullHeight] = useState14(false);
4140
4191
  const imageRef = useRef2(null);
4141
4192
  useEffect4(() => {
4142
4193
  setIsLoaded(false);
@@ -4154,7 +4205,7 @@ var ShowMaterialMediaByContentType = ({
4154
4205
  }
4155
4206
  }, [isLoaded, key]);
4156
4207
  const RenderShowFullScreenItem = () => {
4157
- return /* @__PURE__ */ jsx22(
4208
+ return /* @__PURE__ */ jsx23(
4158
4209
  Modal3,
4159
4210
  {
4160
4211
  isOpen: showFullScreen,
@@ -4185,8 +4236,8 @@ var ShowMaterialMediaByContentType = ({
4185
4236
  }
4186
4237
  },
4187
4238
  contentLabel: "",
4188
- children: /* @__PURE__ */ jsxs13("div", { className: "flex-1 flex flex-col", children: [
4189
- /* @__PURE__ */ jsx22("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ jsx22(
4239
+ children: /* @__PURE__ */ jsxs14("div", { className: "flex-1 flex flex-col", children: [
4240
+ /* @__PURE__ */ jsx23("div", { className: "ml-auto px-5 py-3", children: /* @__PURE__ */ jsx23(
4190
4241
  BaseImage_default,
4191
4242
  {
4192
4243
  src: "/icons/cross-red.webp",
@@ -4198,7 +4249,7 @@ var ShowMaterialMediaByContentType = ({
4198
4249
  }
4199
4250
  }
4200
4251
  ) }),
4201
- /* @__PURE__ */ jsx22("div", { className: "flex items-center justify-center h-[500px]", children: /* @__PURE__ */ jsx22(
4252
+ /* @__PURE__ */ jsx23("div", { className: "flex items-center justify-center h-[500px]", children: /* @__PURE__ */ jsx23(
4202
4253
  BaseImage_default,
4203
4254
  {
4204
4255
  src: selectedFullScreenItem,
@@ -4211,14 +4262,14 @@ var ShowMaterialMediaByContentType = ({
4211
4262
  }
4212
4263
  );
4213
4264
  };
4214
- return contentType === "IMAGE" ? /* @__PURE__ */ jsxs13("div", { children: [
4265
+ return contentType === "IMAGE" ? /* @__PURE__ */ jsxs14("div", { children: [
4215
4266
  RenderShowFullScreenItem(),
4216
- /* @__PURE__ */ jsx22("div", { className: "my-2", children: /* @__PURE__ */ jsx22("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ jsxs13(
4267
+ /* @__PURE__ */ jsx23("div", { className: "my-2", children: /* @__PURE__ */ jsx23("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ jsxs14(
4217
4268
  "div",
4218
4269
  {
4219
4270
  className: `${isFullHeight ? "h-catchup-activity-box-item" : "max-w-catchup-activity-box-item"} flex flex-col justify-center items-center relative`,
4220
4271
  children: [
4221
- /* @__PURE__ */ jsx22(
4272
+ /* @__PURE__ */ jsx23(
4222
4273
  BaseImage_default,
4223
4274
  {
4224
4275
  src,
@@ -4231,7 +4282,7 @@ var ShowMaterialMediaByContentType = ({
4231
4282
  }
4232
4283
  }
4233
4284
  ),
4234
- src !== null && src !== "" && src !== "DEFAULT_OPTION" && canFullScreen ? /* @__PURE__ */ jsx22(
4285
+ src !== null && src !== "" && src !== "DEFAULT_OPTION" && canFullScreen ? /* @__PURE__ */ jsx23(
4235
4286
  "div",
4236
4287
  {
4237
4288
  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",
@@ -4243,7 +4294,7 @@ var ShowMaterialMediaByContentType = ({
4243
4294
  setShowFullScreen(true);
4244
4295
  setSelectedFullScreenItem(src);
4245
4296
  },
4246
- children: /* @__PURE__ */ jsx22(
4297
+ children: /* @__PURE__ */ jsx23(
4247
4298
  BaseImage_default,
4248
4299
  {
4249
4300
  src: "/icons/arrow-up.webp",
@@ -4257,7 +4308,7 @@ var ShowMaterialMediaByContentType = ({
4257
4308
  ]
4258
4309
  }
4259
4310
  ) }) })
4260
- ] }, key) : contentType === "VIDEO" ? /* @__PURE__ */ jsx22("div", { className: "my-2", children: /* @__PURE__ */ jsx22("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ jsx22("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ jsx22(
4311
+ ] }, key) : contentType === "VIDEO" ? /* @__PURE__ */ jsx23("div", { className: "my-2", children: /* @__PURE__ */ jsx23("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ jsx23("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ jsx23(
4261
4312
  "video",
4262
4313
  {
4263
4314
  className: "h-catchup-activity-box-item rounded-catchup-xlarge",
@@ -4266,7 +4317,7 @@ var ShowMaterialMediaByContentType = ({
4266
4317
  onClick: () => {
4267
4318
  }
4268
4319
  }
4269
- ) }) }) }) : contentType === "AUDIO" ? /* @__PURE__ */ jsx22("div", { className: "my-2", children: /* @__PURE__ */ jsx22("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ jsx22("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ jsx22(
4320
+ ) }) }) }) : contentType === "AUDIO" ? /* @__PURE__ */ jsx23("div", { className: "my-2", children: /* @__PURE__ */ jsx23("div", { className: "h-full flex flex-row flex-wrap items-center", children: /* @__PURE__ */ jsx23("div", { className: "h-full flex flex-col justify-center items-center", children: /* @__PURE__ */ jsx23(
4270
4321
  "audio",
4271
4322
  {
4272
4323
  className: "h-catchup-activity-box-item rounded-catchup-xlarge",
@@ -4280,7 +4331,7 @@ var ShowMaterialMediaByContentType = ({
4280
4331
  var ShowMaterialMediaByContentType_default = ShowMaterialMediaByContentType;
4281
4332
 
4282
4333
  // src/components/activities/material-content/DropdownActivityMaterialContent.tsx
4283
- import { jsx as jsx23, jsxs as jsxs14 } from "react/jsx-runtime";
4334
+ import { jsx as jsx24, jsxs as jsxs15 } from "react/jsx-runtime";
4284
4335
  var DropdownActivityMaterialContent = ({
4285
4336
  uniqueValue,
4286
4337
  answer,
@@ -4291,7 +4342,7 @@ var DropdownActivityMaterialContent = ({
4291
4342
  isPreview,
4292
4343
  showCorrectAnswer
4293
4344
  }) => {
4294
- const [updated, setUpdated] = useState14(false);
4345
+ const [updated, setUpdated] = useState15(false);
4295
4346
  useEffect5(() => {
4296
4347
  if (!showCorrectAnswer) return;
4297
4348
  const foundAnswer = answer.data.find(
@@ -4323,22 +4374,22 @@ var DropdownActivityMaterialContent = ({
4323
4374
  return "INCORRECT";
4324
4375
  };
4325
4376
  const answerMap = retrieveAnswerMap();
4326
- return /* @__PURE__ */ jsxs14("div", { className: "flex flex-row flex-wrap items-center", children: [
4327
- /* @__PURE__ */ jsx23("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx23("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_dropdown_text") }) }),
4328
- /* @__PURE__ */ jsx23("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx23(DividerLine_default, {}) }),
4329
- /* @__PURE__ */ jsx23("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4377
+ return /* @__PURE__ */ jsxs15("div", { className: "flex flex-row flex-wrap items-center", children: [
4378
+ /* @__PURE__ */ jsx24("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx24("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_dropdown_text") }) }),
4379
+ /* @__PURE__ */ jsx24("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx24(DividerLine_default, {}) }),
4380
+ /* @__PURE__ */ jsx24("div", { className: "w-full flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4330
4381
  const answerKey = Object.keys(materialMap[materialKey])[0];
4331
4382
  const learnerAnswerState = checkAnswerState(
4332
4383
  answerKey,
4333
4384
  answerMap[materialKey]
4334
4385
  );
4335
- return /* @__PURE__ */ jsx23("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ jsx23("div", { className: "mx-2", children: /* @__PURE__ */ jsxs14("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4336
- /* @__PURE__ */ jsx23("div", { className: "my-auto", children: /* @__PURE__ */ jsxs14("p", { className: "text-xl", children: [
4386
+ return /* @__PURE__ */ jsx24("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ jsx24("div", { className: "mx-2", children: /* @__PURE__ */ jsxs15("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4387
+ /* @__PURE__ */ jsx24("div", { className: "my-auto", children: /* @__PURE__ */ jsxs15("p", { className: "text-xl", children: [
4337
4388
  parseFloat(materialKey) + 1,
4338
4389
  "."
4339
4390
  ] }) }),
4340
- /* @__PURE__ */ jsxs14("div", { className: "w-full relative", children: [
4341
- /* @__PURE__ */ jsx23("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsx23("div", { className: "flex-1", children: /* @__PURE__ */ jsx23(
4391
+ /* @__PURE__ */ jsxs15("div", { className: "w-full relative", children: [
4392
+ /* @__PURE__ */ jsx24("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsx24("div", { className: "flex-1", children: /* @__PURE__ */ jsx24(
4342
4393
  InputGroup_default,
4343
4394
  {
4344
4395
  type: "select",
@@ -4346,13 +4397,13 @@ var DropdownActivityMaterialContent = ({
4346
4397
  optionList: shuffleArray(
4347
4398
  materialMap[materialKey][answerKey]
4348
4399
  ).map((materialOption) => ({
4349
- text: /* @__PURE__ */ jsx23("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4400
+ text: /* @__PURE__ */ jsx24("span", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4350
4401
  materialOption
4351
- ).map((inputPart, index2) => /* @__PURE__ */ jsx23(
4402
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx24(
4352
4403
  "span",
4353
4404
  {
4354
4405
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4355
- children: inputPart.isEquation ? /* @__PURE__ */ jsx23("span", { className: "text-2xl", children: /* @__PURE__ */ jsx23(
4406
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx24("span", { className: "text-2xl", children: /* @__PURE__ */ jsx24(
4356
4407
  InlineMath2,
4357
4408
  {
4358
4409
  math: inputPart.value
@@ -4367,11 +4418,11 @@ var DropdownActivityMaterialContent = ({
4367
4418
  onChange(answer, materialKey, e.target.value);
4368
4419
  }
4369
4420
  }
4370
- ) }) : /* @__PURE__ */ jsx23(
4421
+ ) }) : /* @__PURE__ */ jsx24(
4371
4422
  MediaDropdown_default,
4372
4423
  {
4373
4424
  id: materialKey,
4374
- answer: answerMap[materialKey] === "DEFAULT_OPTION" ? /* @__PURE__ */ jsx23("div", { className: "w-catchup-activity-box-item border h-catchup-activity-box-item rounded-catchup-xlarge border-dashed border-catchup-blue", children: /* @__PURE__ */ jsx23("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ jsx23("span", { className: "italic", children: i18n_default.t("please_select") }) }) }) : /* @__PURE__ */ jsx23(
4425
+ answer: answerMap[materialKey] === "DEFAULT_OPTION" ? /* @__PURE__ */ jsx24("div", { className: "w-catchup-activity-box-item border h-catchup-activity-box-item rounded-catchup-xlarge border-dashed border-catchup-blue", children: /* @__PURE__ */ jsx24("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ jsx24("span", { className: "italic", children: i18n_default.t("please_select") }) }) }) : /* @__PURE__ */ jsx24(
4375
4426
  ShowMaterialMediaByContentType_default,
4376
4427
  {
4377
4428
  contentType: contentMap.type,
@@ -4383,7 +4434,7 @@ var DropdownActivityMaterialContent = ({
4383
4434
  optionList: materialMap[materialKey][answerKey].map(
4384
4435
  (materialOption, index2) => ({
4385
4436
  id: index2,
4386
- media: /* @__PURE__ */ jsx23("div", { children: /* @__PURE__ */ jsx23(
4437
+ media: /* @__PURE__ */ jsx24("div", { children: /* @__PURE__ */ jsx24(
4387
4438
  ShowMaterialMediaByContentType_default,
4388
4439
  {
4389
4440
  contentType: contentMap.type,
@@ -4402,24 +4453,24 @@ var DropdownActivityMaterialContent = ({
4402
4453
  })
4403
4454
  )
4404
4455
  }
4405
- ) : /* @__PURE__ */ jsx23("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4456
+ ) : /* @__PURE__ */ jsx24("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
4406
4457
  answerMap[materialKey]
4407
- ).map((inputPart, index2) => /* @__PURE__ */ jsx23(
4458
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx24(
4408
4459
  "span",
4409
4460
  {
4410
4461
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4411
- children: inputPart.isEquation ? /* @__PURE__ */ jsx23("span", { className: "text-2xl", children: /* @__PURE__ */ jsx23(InlineMath2, { math: inputPart.value }) }) : inputPart.value
4462
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx24("span", { className: "text-2xl", children: /* @__PURE__ */ jsx24(InlineMath2, { math: inputPart.value }) }) : inputPart.value
4412
4463
  },
4413
4464
  index2
4414
4465
  )) }) }),
4415
- learnerAnswerState === "CORRECT" ? /* @__PURE__ */ jsx23("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ jsx23(
4466
+ learnerAnswerState === "CORRECT" ? /* @__PURE__ */ jsx24("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ jsx24(
4416
4467
  BaseImage_default,
4417
4468
  {
4418
4469
  src: "/icons/checkbox.webp",
4419
4470
  alt: "chekbbox",
4420
4471
  size: "small"
4421
4472
  }
4422
- ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ jsx23("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ jsx23(
4473
+ ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ jsx24("div", { className: "absolute -top-2 right-3 bg-catchup-white", children: /* @__PURE__ */ jsx24(
4423
4474
  BaseImage_default,
4424
4475
  {
4425
4476
  src: "/icons/cross-red.webp",
@@ -4435,8 +4486,8 @@ var DropdownActivityMaterialContent = ({
4435
4486
  var DropdownActivityMaterialContent_default = DropdownActivityMaterialContent;
4436
4487
 
4437
4488
  // src/components/activities/DropdownActivityContent.tsx
4438
- import { useState as useState15, useEffect as useEffect6 } from "react";
4439
- import { jsx as jsx24, jsxs as jsxs15 } from "react/jsx-runtime";
4489
+ import { useState as useState16, useEffect as useEffect6 } from "react";
4490
+ import { jsx as jsx25, jsxs as jsxs16 } from "react/jsx-runtime";
4440
4491
  var DropdownActivityContent = ({
4441
4492
  answer,
4442
4493
  data,
@@ -4449,7 +4500,7 @@ var DropdownActivityContent = ({
4449
4500
  const contentMap = parseContentMapFromData(data);
4450
4501
  const dropdownBodyMap = parseBodyMapFromData(data, "DROPDOWN");
4451
4502
  const dropdownMaterialMap = parseMaterialMapFromData(data, "DROPDOWN");
4452
- const [currentAnswerMap, setCurrentAnswerMap] = useState15(() => {
4503
+ const [currentAnswerMap, setCurrentAnswerMap] = useState16(() => {
4453
4504
  return retrieveCurrentAnswerMap();
4454
4505
  });
4455
4506
  function retrieveCurrentAnswerMap() {
@@ -4478,8 +4529,8 @@ var DropdownActivityContent = ({
4478
4529
  setCurrentAnswerMap(newAnswerMap);
4479
4530
  changeAnswer(newAnswer);
4480
4531
  };
4481
- return /* @__PURE__ */ jsxs15("div", { className: "flex flex-row flex-wrap", children: [
4482
- /* @__PURE__ */ jsx24("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx24(
4532
+ return /* @__PURE__ */ jsxs16("div", { className: "flex flex-row flex-wrap", children: [
4533
+ /* @__PURE__ */ jsx25("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx25(
4483
4534
  ActivityBodyContent_default,
4484
4535
  {
4485
4536
  bodyMap: dropdownBodyMap,
@@ -4488,9 +4539,9 @@ var DropdownActivityContent = ({
4488
4539
  templateType: "DROPDOWN"
4489
4540
  }
4490
4541
  ) }),
4491
- /* @__PURE__ */ jsx24("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx24(DividerLine_default, {}) }),
4492
- /* @__PURE__ */ jsx24("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx24(VerticalDividerLine_default, {}) }),
4493
- /* @__PURE__ */ jsx24("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx24(
4542
+ /* @__PURE__ */ jsx25("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx25(DividerLine_default, {}) }),
4543
+ /* @__PURE__ */ jsx25("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx25(VerticalDividerLine_default, {}) }),
4544
+ /* @__PURE__ */ jsx25("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx25(
4494
4545
  DropdownActivityMaterialContent_default,
4495
4546
  {
4496
4547
  uniqueValue: JSON.stringify(data.contentMap),
@@ -4509,13 +4560,13 @@ var DropdownActivityContent_default = DropdownActivityContent;
4509
4560
 
4510
4561
  // src/components/activities/material-content/FillInTheBlanksActivityMaterialContent.tsx
4511
4562
  import { InlineMath as InlineMath3 } from "react-katex";
4512
- import { useState as useState16 } from "react";
4563
+ import { useState as useState17 } from "react";
4513
4564
  import { useEffect as useEffect7 } from "react";
4514
4565
  import { useDrop as useDrop2 } from "react-dnd";
4515
4566
 
4516
4567
  // src/components/dnds/DraggableItem.tsx
4517
4568
  import { useDrag } from "react-dnd";
4518
- import { jsx as jsx25 } from "react/jsx-runtime";
4569
+ import { jsx as jsx26 } from "react/jsx-runtime";
4519
4570
  var DraggableItem = ({
4520
4571
  item,
4521
4572
  type,
@@ -4536,11 +4587,11 @@ var DraggableItem = ({
4536
4587
  })
4537
4588
  });
4538
4589
  const opacity = isDragging ? 0.4 : 1;
4539
- return /* @__PURE__ */ jsx25(
4590
+ return /* @__PURE__ */ jsx26(
4540
4591
  "div",
4541
4592
  {
4542
4593
  className: `${isDragging ? "w-[0px] opacity-0" : "opacity-100"} transition-all duration-500`,
4543
- children: /* @__PURE__ */ jsx25("div", { ref: drag, className: "", style: { opacity }, children: component })
4594
+ children: /* @__PURE__ */ jsx26("div", { ref: drag, className: "", style: { opacity }, children: component })
4544
4595
  }
4545
4596
  );
4546
4597
  };
@@ -4549,7 +4600,7 @@ var DraggableItem_default = DraggableItem;
4549
4600
  // src/components/dnds/DroppableItem.tsx
4550
4601
  import { useRef as useRef3 } from "react";
4551
4602
  import { useDrop } from "react-dnd";
4552
- import { jsx as jsx26 } from "react/jsx-runtime";
4603
+ import { jsx as jsx27 } from "react/jsx-runtime";
4553
4604
  var DroppableItem = ({
4554
4605
  item,
4555
4606
  type,
@@ -4568,12 +4619,12 @@ var DroppableItem = ({
4568
4619
  }
4569
4620
  });
4570
4621
  dropRef(drop(ref));
4571
- return /* @__PURE__ */ jsx26("div", { className: `w-full transition-all duration-500 h-full`, ref, children: component });
4622
+ return /* @__PURE__ */ jsx27("div", { className: `w-full transition-all duration-500 h-full`, ref, children: component });
4572
4623
  };
4573
4624
  var DroppableItem_default = DroppableItem;
4574
4625
 
4575
4626
  // src/components/activities/material-content/FillInTheBlanksActivityMaterialContent.tsx
4576
- import { jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
4627
+ import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
4577
4628
  var FillInTheBlanksActivityMaterialContent = ({
4578
4629
  uniqueValue,
4579
4630
  answer,
@@ -4585,9 +4636,9 @@ var FillInTheBlanksActivityMaterialContent = ({
4585
4636
  isPreview,
4586
4637
  showCorrectAnswer
4587
4638
  }) => {
4588
- const [shuffleOptionList, setShuffleOptionList] = useState16([]);
4589
- const [selectedOption, setSelectedOption] = useState16(null);
4590
- const [pasteOptionIndex, setPasteOptionIndex] = useState16(null);
4639
+ const [shuffleOptionList, setShuffleOptionList] = useState17([]);
4640
+ const [selectedOption, setSelectedOption] = useState17(null);
4641
+ const [pasteOptionIndex, setPasteOptionIndex] = useState17(null);
4591
4642
  const [{ isOver, canDrop }, drop] = useDrop2({
4592
4643
  accept: "FILL_IN_THE_BLANKS",
4593
4644
  drop: () => {
@@ -4632,12 +4683,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4632
4683
  return Object.keys(answerMap2).findIndex((key) => answerMap2[key] === option) !== -1;
4633
4684
  };
4634
4685
  const answerMap = retrieveAnswerMap();
4635
- return /* @__PURE__ */ jsxs16("div", { className: "flex flex-row flex-wrap items-center", onMouseUp: () => {
4686
+ return /* @__PURE__ */ jsxs17("div", { className: "flex flex-row flex-wrap items-center", onMouseUp: () => {
4636
4687
  }, children: [
4637
- /* @__PURE__ */ jsx27("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx27("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4638
- /* @__PURE__ */ jsx27("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx27(DividerLine_default, {}) }),
4639
- /* @__PURE__ */ jsx27("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4640
- (option, index) => checkAnswerProvided(answerMap, option) ? /* @__PURE__ */ jsx27("div", { className: "opacity-30", children: /* @__PURE__ */ jsx27(
4688
+ /* @__PURE__ */ jsx28("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx28("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_fill_in_the_blanks_text") }) }),
4689
+ /* @__PURE__ */ jsx28("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx28(DividerLine_default, {}) }),
4690
+ /* @__PURE__ */ jsx28("div", { className: "w-full flex flex-row flex-wrap gap-x-2 gap-y-2 my-2", children: shuffleOptionList.map(
4691
+ (option, index) => checkAnswerProvided(answerMap, option) ? /* @__PURE__ */ jsx28("div", { className: "opacity-30", children: /* @__PURE__ */ jsx28(
4641
4692
  ShowMaterialMediaByContentType_default,
4642
4693
  {
4643
4694
  contentType: contentMap.type,
@@ -4645,12 +4696,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4645
4696
  canFullScreen: true
4646
4697
  },
4647
4698
  `${uniqueValue}-${index}`
4648
- ) }, index) : /* @__PURE__ */ jsx27(
4699
+ ) }, index) : /* @__PURE__ */ jsx28(
4649
4700
  DraggableItem_default,
4650
4701
  {
4651
4702
  item: { index: option },
4652
4703
  type: "FILL_IN_THE_BLANKS",
4653
- component: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx27(
4704
+ component: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx28(
4654
4705
  "div",
4655
4706
  {
4656
4707
  className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer",
@@ -4658,9 +4709,9 @@ var FillInTheBlanksActivityMaterialContent = ({
4658
4709
  setSelectedOption(option);
4659
4710
  setPasteOptionIndex(null);
4660
4711
  },
4661
- children: /* @__PURE__ */ jsx27("p", { className: "italic whitespace-pre-wrap", children: option })
4712
+ children: /* @__PURE__ */ jsx28("p", { className: "italic whitespace-pre-wrap", children: option })
4662
4713
  }
4663
- ) : /* @__PURE__ */ jsx27(
4714
+ ) : /* @__PURE__ */ jsx28(
4664
4715
  "div",
4665
4716
  {
4666
4717
  className: "border-catchup-blue border-2 px-2 py-1 rounded-catchup-xlarge cursor-pointer",
@@ -4668,7 +4719,7 @@ var FillInTheBlanksActivityMaterialContent = ({
4668
4719
  setSelectedOption(option);
4669
4720
  setPasteOptionIndex(null);
4670
4721
  },
4671
- children: /* @__PURE__ */ jsx27(
4722
+ children: /* @__PURE__ */ jsx28(
4672
4723
  ShowMaterialMediaByContentType_default,
4673
4724
  {
4674
4725
  contentType: contentMap.type,
@@ -4686,12 +4737,12 @@ var FillInTheBlanksActivityMaterialContent = ({
4686
4737
  index
4687
4738
  )
4688
4739
  ) }),
4689
- /* @__PURE__ */ jsx27("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4740
+ /* @__PURE__ */ jsx28("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
4690
4741
  const learnerAnswerState = checkAnswerState(
4691
4742
  JSON.parse(materialMap[materialKey]),
4692
4743
  answerMap[materialKey]
4693
4744
  );
4694
- return /* @__PURE__ */ jsx27("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ jsx27("div", { className: "mx-2", children: /* @__PURE__ */ jsx27(
4745
+ return /* @__PURE__ */ jsx28("div", { className: "w-full md:w-1/2", children: /* @__PURE__ */ jsx28("div", { className: "mx-2", children: /* @__PURE__ */ jsx28(
4695
4746
  DroppableItem_default,
4696
4747
  {
4697
4748
  item: { index },
@@ -4699,13 +4750,13 @@ var FillInTheBlanksActivityMaterialContent = ({
4699
4750
  target: pasteOptionIndex,
4700
4751
  setTarget: setPasteOptionIndex,
4701
4752
  dropRef: drop,
4702
- component: /* @__PURE__ */ jsxs16("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4703
- /* @__PURE__ */ jsx27("div", { className: "my-auto", children: /* @__PURE__ */ jsxs16("p", { className: "text-xl", children: [
4753
+ component: /* @__PURE__ */ jsxs17("div", { className: "w-full flex flex-row my-2 gap-x-2", children: [
4754
+ /* @__PURE__ */ jsx28("div", { className: "my-auto", children: /* @__PURE__ */ jsxs17("p", { className: "text-xl", children: [
4704
4755
  parseFloat(materialKey) + 1,
4705
4756
  "."
4706
4757
  ] }) }),
4707
- /* @__PURE__ */ jsx27("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsxs16("div", { className: "relative", children: [
4708
- /* @__PURE__ */ jsx27("div", { className: "flex-1", children: /* @__PURE__ */ jsx27(
4758
+ /* @__PURE__ */ jsx28("div", { className: "flex-1", children: checkCanAnswerQuestion() ? contentMap.type === "TEXT" ? /* @__PURE__ */ jsxs17("div", { className: "relative", children: [
4759
+ /* @__PURE__ */ jsx28("div", { className: "flex-1", children: /* @__PURE__ */ jsx28(
4709
4760
  InputGroup_default,
4710
4761
  {
4711
4762
  type: "textarea",
@@ -4720,14 +4771,14 @@ var FillInTheBlanksActivityMaterialContent = ({
4720
4771
  }
4721
4772
  }
4722
4773
  ) }),
4723
- learnerAnswerState === "CORRECT" ? /* @__PURE__ */ jsx27("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ jsx27(
4774
+ learnerAnswerState === "CORRECT" ? /* @__PURE__ */ jsx28("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ jsx28(
4724
4775
  BaseImage_default,
4725
4776
  {
4726
4777
  src: "/icons/checkbox.webp",
4727
4778
  alt: "checkbox",
4728
4779
  size: "small"
4729
4780
  }
4730
- ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ jsx27("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ jsx27(
4781
+ ) }) : learnerAnswerState === "INCORRECT" ? /* @__PURE__ */ jsx28("div", { className: "absolute -top-[10px] right-4 bg-catchup-white", children: /* @__PURE__ */ jsx28(
4731
4782
  BaseImage_default,
4732
4783
  {
4733
4784
  src: "/icons/cross-red.webp",
@@ -4735,20 +4786,20 @@ var FillInTheBlanksActivityMaterialContent = ({
4735
4786
  size: "small"
4736
4787
  }
4737
4788
  ) }) : null
4738
- ] }) : answerMap[materialKey] === "" ? /* @__PURE__ */ jsx27(
4789
+ ] }) : answerMap[materialKey] === "" ? /* @__PURE__ */ jsx28(
4739
4790
  "div",
4740
4791
  {
4741
4792
  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"}`,
4742
- children: /* @__PURE__ */ jsx27("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ jsx27("span", { className: "italic", children: i18n_default.t("please_drop_here") }) })
4793
+ children: /* @__PURE__ */ jsx28("div", { className: "h-full flex flex-col items-center justify-center px-4 py-2", children: /* @__PURE__ */ jsx28("span", { className: "italic", children: i18n_default.t("please_drop_here") }) })
4743
4794
  }
4744
- ) : /* @__PURE__ */ jsx27(
4795
+ ) : /* @__PURE__ */ jsx28(
4745
4796
  "div",
4746
4797
  {
4747
4798
  className: "flex-1 cursor-pointer",
4748
4799
  onClick: () => {
4749
4800
  onChange(answer, materialKey, "");
4750
4801
  },
4751
- children: /* @__PURE__ */ jsx27(
4802
+ children: /* @__PURE__ */ jsx28(
4752
4803
  ShowMaterialMediaByContentType_default,
4753
4804
  {
4754
4805
  contentType: contentMap.type,
@@ -4758,13 +4809,13 @@ var FillInTheBlanksActivityMaterialContent = ({
4758
4809
  `${uniqueValue}-${index}`
4759
4810
  )
4760
4811
  }
4761
- ) : /* @__PURE__ */ jsx27("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
4812
+ ) : /* @__PURE__ */ jsx28("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
4762
4813
  answerMap[materialKey]
4763
- ).map((inputPart, index2) => /* @__PURE__ */ jsx27(
4814
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx28(
4764
4815
  "span",
4765
4816
  {
4766
4817
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
4767
- children: inputPart.isEquation ? /* @__PURE__ */ jsx27("span", { className: "text-2xl", children: /* @__PURE__ */ jsx27(InlineMath3, { math: inputPart.value }) }) : inputPart.value
4818
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx28("span", { className: "text-2xl", children: /* @__PURE__ */ jsx28(InlineMath3, { math: inputPart.value }) }) : inputPart.value
4768
4819
  },
4769
4820
  index2
4770
4821
  )) }, materialKey) })
@@ -4778,8 +4829,8 @@ var FillInTheBlanksActivityMaterialContent = ({
4778
4829
  var FillInTheBlanksActivityMaterialContent_default = FillInTheBlanksActivityMaterialContent;
4779
4830
 
4780
4831
  // src/components/activities/FillInTheBlanksActivityContent.tsx
4781
- import { useState as useState17, useEffect as useEffect8 } from "react";
4782
- import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
4832
+ import { useState as useState18, useEffect as useEffect8 } from "react";
4833
+ import { jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
4783
4834
  var FillInTheBlanksActivityContent = ({
4784
4835
  answer,
4785
4836
  data,
@@ -4799,7 +4850,7 @@ var FillInTheBlanksActivityContent = ({
4799
4850
  "FILL_IN_THE_BLANKS"
4800
4851
  );
4801
4852
  const fillInTheBlanksIncorrectList = data.fillInTheBlanksIncorrectList ? JSON.parse(data.fillInTheBlanksIncorrectList) : [];
4802
- const [currentAnswerMap, setCurrentAnswerMap] = useState17(() => {
4853
+ const [currentAnswerMap, setCurrentAnswerMap] = useState18(() => {
4803
4854
  return retrieveCurrentAnswerMap();
4804
4855
  });
4805
4856
  function retrieveCurrentAnswerMap() {
@@ -4846,8 +4897,8 @@ var FillInTheBlanksActivityContent = ({
4846
4897
  setCurrentAnswerMap(newAnswerMap);
4847
4898
  changeAnswer(newAnswer);
4848
4899
  };
4849
- return /* @__PURE__ */ jsxs17("div", { className: "flex flex-row flex-wrap", children: [
4850
- /* @__PURE__ */ jsx28("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx28(
4900
+ return /* @__PURE__ */ jsxs18("div", { className: "flex flex-row flex-wrap", children: [
4901
+ /* @__PURE__ */ jsx29("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx29(
4851
4902
  ActivityBodyContent_default,
4852
4903
  {
4853
4904
  bodyMap: fillInTheBlanksBodyMap,
@@ -4856,9 +4907,9 @@ var FillInTheBlanksActivityContent = ({
4856
4907
  templateType: "FILL_IN_THE_BLANKS"
4857
4908
  }
4858
4909
  ) }),
4859
- /* @__PURE__ */ jsx28("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx28(DividerLine_default, {}) }),
4860
- /* @__PURE__ */ jsx28("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx28(VerticalDividerLine_default, {}) }),
4861
- /* @__PURE__ */ jsx28("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx28(
4910
+ /* @__PURE__ */ jsx29("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx29(DividerLine_default, {}) }),
4911
+ /* @__PURE__ */ jsx29("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx29(VerticalDividerLine_default, {}) }),
4912
+ /* @__PURE__ */ jsx29("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx29(
4862
4913
  FillInTheBlanksActivityMaterialContent_default,
4863
4914
  {
4864
4915
  uniqueValue: JSON.stringify(data.contentMap),
@@ -4877,18 +4928,18 @@ var FillInTheBlanksActivityContent = ({
4877
4928
  var FillInTheBlanksActivityContent_default = FillInTheBlanksActivityContent;
4878
4929
 
4879
4930
  // src/components/activities/material-content/GroupingActivityMaterialContent.tsx
4880
- import { useEffect as useEffect10, useRef as useRef4, useState as useState19 } from "react";
4931
+ import { useEffect as useEffect10, useRef as useRef4, useState as useState20 } from "react";
4881
4932
  import { useDrop as useDrop3 } from "react-dnd";
4882
4933
  import { InlineMath as InlineMath4 } from "react-katex";
4883
4934
 
4884
4935
  // src/hooks/useScreenSize.ts
4885
- import { useState as useState18, useEffect as useEffect9 } from "react";
4936
+ import { useState as useState19, useEffect as useEffect9 } from "react";
4886
4937
  var useScreenSize = () => {
4887
- const [containerSize, setContainerSize] = useState18({
4938
+ const [containerSize, setContainerSize] = useState19({
4888
4939
  width: 0,
4889
4940
  height: 0
4890
4941
  });
4891
- const [screenSize, setScreenSize] = useState18({
4942
+ const [screenSize, setScreenSize] = useState19({
4892
4943
  width: window.innerWidth,
4893
4944
  height: window.innerHeight
4894
4945
  });
@@ -4917,7 +4968,7 @@ var useScreenSize = () => {
4917
4968
  var useScreenSize_default = useScreenSize;
4918
4969
 
4919
4970
  // src/components/activities/material-content/GroupingActivityMaterialContent.tsx
4920
- import { Fragment as Fragment2, jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
4971
+ import { Fragment as Fragment2, jsx as jsx30, jsxs as jsxs19 } from "react/jsx-runtime";
4921
4972
  var GroupingActivityMaterialContent = ({
4922
4973
  uniqueValue,
4923
4974
  answer,
@@ -4928,10 +4979,10 @@ var GroupingActivityMaterialContent = ({
4928
4979
  isPreview,
4929
4980
  showCorrectAnswer
4930
4981
  }) => {
4931
- const [selectedValue, setSelectedValue] = useState19(null);
4932
- const [selectedTargetKey, setSelectedTargetKey] = useState19(null);
4933
- const [isShuffled, setIsShuffled] = useState19(false);
4934
- const [shuffledMaterialList, setShuffledMaterialList] = useState19([]);
4982
+ const [selectedValue, setSelectedValue] = useState20(null);
4983
+ const [selectedTargetKey, setSelectedTargetKey] = useState20(null);
4984
+ const [isShuffled, setIsShuffled] = useState20(false);
4985
+ const [shuffledMaterialList, setShuffledMaterialList] = useState20([]);
4935
4986
  const { screenSize, containerSize } = useScreenSize_default();
4936
4987
  const [{ isOver, canDrop }, drop] = useDrop3({
4937
4988
  accept: "GROUPING",
@@ -4944,7 +4995,7 @@ var GroupingActivityMaterialContent = ({
4944
4995
  });
4945
4996
  const ref = useRef4(null);
4946
4997
  const itemsRef = useRef4(null);
4947
- const [maxWidth, setMaxWidth] = useState19(0);
4998
+ const [maxWidth, setMaxWidth] = useState20(0);
4948
4999
  useEffect10(() => {
4949
5000
  if (!ref) return;
4950
5001
  if (!ref.current) return;
@@ -5016,19 +5067,19 @@ var GroupingActivityMaterialContent = ({
5016
5067
  };
5017
5068
  const answerMap = retrieveAnswerMap();
5018
5069
  const filteredMaterialList = retrieveFilteredMaterialList(answerMap);
5019
- return /* @__PURE__ */ jsxs18(Fragment2, { children: [
5020
- /* @__PURE__ */ jsx29(
5070
+ return /* @__PURE__ */ jsxs19(Fragment2, { children: [
5071
+ /* @__PURE__ */ jsx30(
5021
5072
  "div",
5022
5073
  {
5023
5074
  ref: itemsRef,
5024
5075
  className: "flex-1 flex flex-row gap-x-4 gap-y-4 overflow-auto py-2",
5025
5076
  children: filteredMaterialList.map((materialValue, index) => {
5026
- return /* @__PURE__ */ jsx29(
5077
+ return /* @__PURE__ */ jsx30(
5027
5078
  DraggableItem_default,
5028
5079
  {
5029
5080
  item: { index: materialValue },
5030
5081
  type: "GROUPING",
5031
- component: /* @__PURE__ */ jsx29(
5082
+ component: /* @__PURE__ */ jsx30(
5032
5083
  "div",
5033
5084
  {
5034
5085
  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`,
@@ -5042,22 +5093,22 @@ var GroupingActivityMaterialContent = ({
5042
5093
  setSelectedValue(null);
5043
5094
  }
5044
5095
  },
5045
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx29(
5096
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx30(
5046
5097
  "div",
5047
5098
  {
5048
5099
  className: `flex flex-col items-center justify-center m-4 min-h-[64px] min-w-[200px]`,
5049
- children: /* @__PURE__ */ jsx29("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5100
+ children: /* @__PURE__ */ jsx30("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5050
5101
  materialValue
5051
- ).map((inputPart, index2) => /* @__PURE__ */ jsx29(
5102
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx30(
5052
5103
  "span",
5053
5104
  {
5054
5105
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5055
- children: inputPart.isEquation ? /* @__PURE__ */ jsx29("span", { className: "text-2xl", children: /* @__PURE__ */ jsx29(InlineMath4, { math: inputPart.value }) }) : inputPart.value
5106
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx30("span", { className: "text-2xl", children: /* @__PURE__ */ jsx30(InlineMath4, { math: inputPart.value }) }) : inputPart.value
5056
5107
  },
5057
5108
  index2
5058
5109
  )) })
5059
5110
  }
5060
- ) : /* @__PURE__ */ jsx29(
5111
+ ) : /* @__PURE__ */ jsx30(
5061
5112
  ShowMaterialMediaByContentType_default,
5062
5113
  {
5063
5114
  contentType: contentMap.type,
@@ -5082,22 +5133,22 @@ var GroupingActivityMaterialContent = ({
5082
5133
  })
5083
5134
  }
5084
5135
  ),
5085
- filteredMaterialList.length > 0 ? /* @__PURE__ */ jsx29(DividerLine_default, {}) : null,
5086
- Object.keys(answerMap).map((answerMapKey, index) => /* @__PURE__ */ jsxs18("div", { className: "flex flex-row w-full", children: [
5087
- /* @__PURE__ */ jsx29("div", { className: "w-1/3", children: /* @__PURE__ */ jsx29(
5136
+ filteredMaterialList.length > 0 ? /* @__PURE__ */ jsx30(DividerLine_default, {}) : null,
5137
+ Object.keys(answerMap).map((answerMapKey, index) => /* @__PURE__ */ jsxs19("div", { className: "flex flex-row w-full", children: [
5138
+ /* @__PURE__ */ jsx30("div", { className: "w-1/3", children: /* @__PURE__ */ jsx30(
5088
5139
  "div",
5089
5140
  {
5090
5141
  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`,
5091
- children: /* @__PURE__ */ jsx29(
5142
+ children: /* @__PURE__ */ jsx30(
5092
5143
  "div",
5093
5144
  {
5094
5145
  className: `flex flex-col items-center justify-center transition-all duration-300 m-4`,
5095
- children: /* @__PURE__ */ jsx29("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5096
- (inputPart, index2) => /* @__PURE__ */ jsx29(
5146
+ children: /* @__PURE__ */ jsx30("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5147
+ (inputPart, index2) => /* @__PURE__ */ jsx30(
5097
5148
  "span",
5098
5149
  {
5099
5150
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5100
- children: inputPart.isEquation ? /* @__PURE__ */ jsx29("span", { className: "text-2xl", children: /* @__PURE__ */ jsx29(InlineMath4, { math: inputPart.value }) }) : inputPart.value
5151
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx30("span", { className: "text-2xl", children: /* @__PURE__ */ jsx30(InlineMath4, { math: inputPart.value }) }) : inputPart.value
5101
5152
  },
5102
5153
  index2
5103
5154
  )
@@ -5106,12 +5157,12 @@ var GroupingActivityMaterialContent = ({
5106
5157
  )
5107
5158
  }
5108
5159
  ) }),
5109
- /* @__PURE__ */ jsx29("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5110
- /* @__PURE__ */ jsx29("div", { className: "flex-1", ref, children: /* @__PURE__ */ jsx29("div", { className: "h-full py-3", children: /* @__PURE__ */ jsx29(
5160
+ /* @__PURE__ */ jsx30("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5161
+ /* @__PURE__ */ jsx30("div", { className: "flex-1", ref, children: /* @__PURE__ */ jsx30("div", { className: "h-full py-3", children: /* @__PURE__ */ jsx30(
5111
5162
  "div",
5112
5163
  {
5113
5164
  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`,
5114
- children: /* @__PURE__ */ jsx29(
5165
+ children: /* @__PURE__ */ jsx30(
5115
5166
  DroppableItem_default,
5116
5167
  {
5117
5168
  item: { index: answerMapKey },
@@ -5119,7 +5170,7 @@ var GroupingActivityMaterialContent = ({
5119
5170
  target: selectedTargetKey,
5120
5171
  setTarget: setSelectedTargetKey,
5121
5172
  dropRef: drop,
5122
- component: /* @__PURE__ */ jsx29(
5173
+ component: /* @__PURE__ */ jsx30(
5123
5174
  "div",
5124
5175
  {
5125
5176
  className: "h-full flex-1 flex flex-row items-center overflow-x-auto",
@@ -5132,7 +5183,7 @@ var GroupingActivityMaterialContent = ({
5132
5183
  materialMap[answerMapKey],
5133
5184
  answerMapValue
5134
5185
  );
5135
- return /* @__PURE__ */ jsx29("div", { className: "p-1", children: /* @__PURE__ */ jsx29("div", { className: "h-catchup-activity-box-item", children: /* @__PURE__ */ jsx29(
5186
+ return /* @__PURE__ */ jsx30("div", { className: "p-1", children: /* @__PURE__ */ jsx30("div", { className: "h-catchup-activity-box-item", children: /* @__PURE__ */ jsx30(
5136
5187
  "div",
5137
5188
  {
5138
5189
  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`,
@@ -5148,17 +5199,17 @@ var GroupingActivityMaterialContent = ({
5148
5199
  setSelectedValue(null);
5149
5200
  }
5150
5201
  },
5151
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx29(
5202
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx30(
5152
5203
  "div",
5153
5204
  {
5154
5205
  className: `flex flex-col items-center justify-center transition-all duration-300 min-h-[64px] min-w-[200px]`,
5155
- children: /* @__PURE__ */ jsx29("div", { className: "m-2", children: /* @__PURE__ */ jsx29("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5206
+ children: /* @__PURE__ */ jsx30("div", { className: "m-2", children: /* @__PURE__ */ jsx30("p", { className: "text-xl text-center whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5156
5207
  answerMapValue
5157
- ).map((inputPart, index2) => /* @__PURE__ */ jsx29(
5208
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx30(
5158
5209
  "span",
5159
5210
  {
5160
5211
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5161
- children: inputPart.isEquation ? /* @__PURE__ */ jsx29("span", { className: "text-2xl", children: /* @__PURE__ */ jsx29(
5212
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx30("span", { className: "text-2xl", children: /* @__PURE__ */ jsx30(
5162
5213
  InlineMath4,
5163
5214
  {
5164
5215
  math: inputPart.value
@@ -5168,7 +5219,7 @@ var GroupingActivityMaterialContent = ({
5168
5219
  index2
5169
5220
  )) }) })
5170
5221
  }
5171
- ) : /* @__PURE__ */ jsx29(
5222
+ ) : /* @__PURE__ */ jsx30(
5172
5223
  ShowMaterialMediaByContentType_default,
5173
5224
  {
5174
5225
  contentType: contentMap.type,
@@ -5194,7 +5245,7 @@ var GroupingActivityMaterialContent = ({
5194
5245
  var GroupingActivityMaterialContent_default = GroupingActivityMaterialContent;
5195
5246
 
5196
5247
  // src/components/activities/GroupingActivityContent.tsx
5197
- import { Fragment as Fragment3, jsx as jsx30, jsxs as jsxs19 } from "react/jsx-runtime";
5248
+ import { Fragment as Fragment3, jsx as jsx31, jsxs as jsxs20 } from "react/jsx-runtime";
5198
5249
  var GroupingActivityContent = ({
5199
5250
  answer,
5200
5251
  data,
@@ -5219,16 +5270,16 @@ var GroupingActivityContent = ({
5219
5270
  }
5220
5271
  changeAnswer(answer2);
5221
5272
  };
5222
- return /* @__PURE__ */ jsxs19(Fragment3, { children: [
5223
- /* @__PURE__ */ jsx30(
5273
+ return /* @__PURE__ */ jsxs20(Fragment3, { children: [
5274
+ /* @__PURE__ */ jsx31(
5224
5275
  ActivityBodyContent_default,
5225
5276
  {
5226
5277
  bodyMap: groupingBodyMap,
5227
5278
  templateType: "GROUPING"
5228
5279
  }
5229
5280
  ),
5230
- /* @__PURE__ */ jsx30(DividerLine_default, {}),
5231
- /* @__PURE__ */ jsx30(
5281
+ /* @__PURE__ */ jsx31(DividerLine_default, {}),
5282
+ /* @__PURE__ */ jsx31(
5232
5283
  GroupingActivityMaterialContent_default,
5233
5284
  {
5234
5285
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5246,10 +5297,10 @@ var GroupingActivityContent = ({
5246
5297
  var GroupingActivityContent_default = GroupingActivityContent;
5247
5298
 
5248
5299
  // src/components/activities/material-content/MatchingActivityMaterialContent.tsx
5249
- import { useEffect as useEffect11, useRef as useRef5, useState as useState20 } from "react";
5300
+ import { useEffect as useEffect11, useRef as useRef5, useState as useState21 } from "react";
5250
5301
  import { useDrop as useDrop4 } from "react-dnd";
5251
5302
  import { InlineMath as InlineMath5 } from "react-katex";
5252
- import { Fragment as Fragment4, jsx as jsx31, jsxs as jsxs20 } from "react/jsx-runtime";
5303
+ import { Fragment as Fragment4, jsx as jsx32, jsxs as jsxs21 } from "react/jsx-runtime";
5253
5304
  var MatchingActivityMaterialContent = ({
5254
5305
  uniqueValue,
5255
5306
  answer,
@@ -5260,10 +5311,10 @@ var MatchingActivityMaterialContent = ({
5260
5311
  isPreview,
5261
5312
  showCorrectAnswer
5262
5313
  }) => {
5263
- const [selectedValue, setSelectedValue] = useState20(null);
5264
- const [selectedTargetKey, setSelectedTargetKey] = useState20(null);
5265
- const [isShuffled, setIsShuffled] = useState20(false);
5266
- const [shuffledMaterialList, setShuffledMaterialList] = useState20([]);
5314
+ const [selectedValue, setSelectedValue] = useState21(null);
5315
+ const [selectedTargetKey, setSelectedTargetKey] = useState21(null);
5316
+ const [isShuffled, setIsShuffled] = useState21(false);
5317
+ const [shuffledMaterialList, setShuffledMaterialList] = useState21([]);
5267
5318
  const [{ isOver, canDrop }, drop] = useDrop4({
5268
5319
  accept: "MATCHING",
5269
5320
  drop: () => {
@@ -5345,18 +5396,18 @@ var MatchingActivityMaterialContent = ({
5345
5396
  };
5346
5397
  const answerMap = retrieveAnswerMap();
5347
5398
  const filteredMaterialList = retrieveFilteredMaterialList(answerMap);
5348
- return /* @__PURE__ */ jsxs20(Fragment4, { children: [
5349
- /* @__PURE__ */ jsx31(
5399
+ return /* @__PURE__ */ jsxs21(Fragment4, { children: [
5400
+ /* @__PURE__ */ jsx32(
5350
5401
  "div",
5351
5402
  {
5352
5403
  ref: itemsRef,
5353
5404
  className: "flex-1 flex flex-row gap-x-4 gap-y-4 overflow-auto py-2",
5354
- children: filteredMaterialList.map((materialValue, index) => /* @__PURE__ */ jsx31(
5405
+ children: filteredMaterialList.map((materialValue, index) => /* @__PURE__ */ jsx32(
5355
5406
  DraggableItem_default,
5356
5407
  {
5357
5408
  item: { index: materialValue },
5358
5409
  type: "MATCHING",
5359
- component: /* @__PURE__ */ jsx31(
5410
+ component: /* @__PURE__ */ jsx32(
5360
5411
  "div",
5361
5412
  {
5362
5413
  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`,
@@ -5370,22 +5421,22 @@ var MatchingActivityMaterialContent = ({
5370
5421
  setSelectedValue(null);
5371
5422
  }
5372
5423
  },
5373
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx31(
5424
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx32(
5374
5425
  "div",
5375
5426
  {
5376
5427
  className: `flex flex-col items-center justify-center m-4 min-h-[64px] min-w-[200px]`,
5377
- children: /* @__PURE__ */ jsx31("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5428
+ children: /* @__PURE__ */ jsx32("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5378
5429
  materialValue
5379
- ).map((inputPart, index2) => /* @__PURE__ */ jsx31(
5430
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx32(
5380
5431
  "span",
5381
5432
  {
5382
5433
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5383
- children: inputPart.isEquation ? /* @__PURE__ */ jsx31("span", { className: "text-2xl", children: /* @__PURE__ */ jsx31(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5434
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx32("span", { className: "text-2xl", children: /* @__PURE__ */ jsx32(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5384
5435
  },
5385
5436
  index2
5386
5437
  )) })
5387
5438
  }
5388
- ) : /* @__PURE__ */ jsx31(
5439
+ ) : /* @__PURE__ */ jsx32(
5389
5440
  ShowMaterialMediaByContentType_default,
5390
5441
  {
5391
5442
  contentType: contentMap.type,
@@ -5409,27 +5460,27 @@ var MatchingActivityMaterialContent = ({
5409
5460
  ))
5410
5461
  }
5411
5462
  ),
5412
- filteredMaterialList.length > 0 ? /* @__PURE__ */ jsx31(DividerLine_default, {}) : null,
5463
+ filteredMaterialList.length > 0 ? /* @__PURE__ */ jsx32(DividerLine_default, {}) : null,
5413
5464
  Object.keys(answerMap).map((answerMapKey, index) => {
5414
5465
  const learnerAnswerState = checkAnswerState(
5415
5466
  materialMap[answerMapKey],
5416
5467
  answerMap[answerMapKey]
5417
5468
  );
5418
- return /* @__PURE__ */ jsxs20("div", { className: "flex flex-row w-full", children: [
5419
- /* @__PURE__ */ jsx31("div", { className: "w-1/3", children: /* @__PURE__ */ jsx31(
5469
+ return /* @__PURE__ */ jsxs21("div", { className: "flex flex-row w-full", children: [
5470
+ /* @__PURE__ */ jsx32("div", { className: "w-1/3", children: /* @__PURE__ */ jsx32(
5420
5471
  "div",
5421
5472
  {
5422
5473
  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"}`,
5423
- children: /* @__PURE__ */ jsx31(
5474
+ children: /* @__PURE__ */ jsx32(
5424
5475
  "div",
5425
5476
  {
5426
5477
  className: `flex flex-col items-center justify-center transition-all duration-300 m-4`,
5427
- children: /* @__PURE__ */ jsx31("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5428
- (inputPart, index2) => /* @__PURE__ */ jsx31(
5478
+ children: /* @__PURE__ */ jsx32("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(answerMapKey).map(
5479
+ (inputPart, index2) => /* @__PURE__ */ jsx32(
5429
5480
  "span",
5430
5481
  {
5431
5482
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5432
- children: inputPart.isEquation ? /* @__PURE__ */ jsx31("span", { className: "text-2xl", children: /* @__PURE__ */ jsx31(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5483
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx32("span", { className: "text-2xl", children: /* @__PURE__ */ jsx32(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5433
5484
  },
5434
5485
  index2
5435
5486
  )
@@ -5438,8 +5489,8 @@ var MatchingActivityMaterialContent = ({
5438
5489
  )
5439
5490
  }
5440
5491
  ) }),
5441
- /* @__PURE__ */ jsx31("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5442
- /* @__PURE__ */ jsx31("div", { className: "flex-1", children: /* @__PURE__ */ jsx31(
5492
+ /* @__PURE__ */ jsx32("div", { className: "mx-4 w-[2px] bg-catchup-lighter-gray" }),
5493
+ /* @__PURE__ */ jsx32("div", { className: "flex-1", children: /* @__PURE__ */ jsx32(
5443
5494
  "div",
5444
5495
  {
5445
5496
  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"}`,
@@ -5448,7 +5499,7 @@ var MatchingActivityMaterialContent = ({
5448
5499
  setSelectedValue(null);
5449
5500
  }
5450
5501
  },
5451
- children: /* @__PURE__ */ jsx31(
5502
+ children: /* @__PURE__ */ jsx32(
5452
5503
  DroppableItem_default,
5453
5504
  {
5454
5505
  item: { index: answerMapKey },
@@ -5456,7 +5507,7 @@ var MatchingActivityMaterialContent = ({
5456
5507
  target: selectedTargetKey,
5457
5508
  setTarget: setSelectedTargetKey,
5458
5509
  dropRef: drop,
5459
- component: /* @__PURE__ */ jsx31(
5510
+ component: /* @__PURE__ */ jsx32(
5460
5511
  "div",
5461
5512
  {
5462
5513
  className: `h-full flex-1 flex flex-row items-center justify-center `,
@@ -5469,16 +5520,16 @@ var MatchingActivityMaterialContent = ({
5469
5520
  );
5470
5521
  }
5471
5522
  },
5472
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx31("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5523
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx32("p", { className: "text-xl p-5 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5473
5524
  answerMap[answerMapKey]
5474
- ).map((inputPart, index2) => /* @__PURE__ */ jsx31(
5525
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx32(
5475
5526
  "span",
5476
5527
  {
5477
5528
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5478
- children: inputPart.isEquation ? /* @__PURE__ */ jsx31("span", { className: "text-2xl", children: /* @__PURE__ */ jsx31(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5529
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx32("span", { className: "text-2xl", children: /* @__PURE__ */ jsx32(InlineMath5, { math: inputPart.value }) }) : inputPart.value
5479
5530
  },
5480
5531
  index2
5481
- )) }) : /* @__PURE__ */ jsx31(
5532
+ )) }) : /* @__PURE__ */ jsx32(
5482
5533
  ShowMaterialMediaByContentType_default,
5483
5534
  {
5484
5535
  contentType: contentMap.type,
@@ -5501,7 +5552,7 @@ var MatchingActivityMaterialContent = ({
5501
5552
  var MatchingActivityMaterialContent_default = MatchingActivityMaterialContent;
5502
5553
 
5503
5554
  // src/components/activities/MatchingActivityContent.tsx
5504
- import { Fragment as Fragment5, jsx as jsx32, jsxs as jsxs21 } from "react/jsx-runtime";
5555
+ import { Fragment as Fragment5, jsx as jsx33, jsxs as jsxs22 } from "react/jsx-runtime";
5505
5556
  var MatchingActivityContent = ({
5506
5557
  answer,
5507
5558
  data,
@@ -5522,16 +5573,16 @@ var MatchingActivityContent = ({
5522
5573
  answerMap[key] = value;
5523
5574
  changeAnswer(answer2);
5524
5575
  };
5525
- return /* @__PURE__ */ jsxs21(Fragment5, { children: [
5526
- /* @__PURE__ */ jsx32(
5576
+ return /* @__PURE__ */ jsxs22(Fragment5, { children: [
5577
+ /* @__PURE__ */ jsx33(
5527
5578
  ActivityBodyContent_default,
5528
5579
  {
5529
5580
  bodyMap: matchingBodyMap,
5530
5581
  templateType: "MATCHING"
5531
5582
  }
5532
5583
  ),
5533
- /* @__PURE__ */ jsx32(DividerLine_default, {}),
5534
- /* @__PURE__ */ jsx32(
5584
+ /* @__PURE__ */ jsx33(DividerLine_default, {}),
5585
+ /* @__PURE__ */ jsx33(
5535
5586
  MatchingActivityMaterialContent_default,
5536
5587
  {
5537
5588
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5550,7 +5601,7 @@ var MatchingActivityContent_default = MatchingActivityContent;
5550
5601
 
5551
5602
  // src/components/activities/material-content/MCMAActivityMaterialContent.tsx
5552
5603
  import { InlineMath as InlineMath6 } from "react-katex";
5553
- import { jsx as jsx33, jsxs as jsxs22 } from "react/jsx-runtime";
5604
+ import { jsx as jsx34, jsxs as jsxs23 } from "react/jsx-runtime";
5554
5605
  var MCMAActivityMaterialContent = ({
5555
5606
  uniqueValue,
5556
5607
  answer,
@@ -5583,10 +5634,10 @@ var MCMAActivityMaterialContent = ({
5583
5634
  const answerMap = retrieveAnswerMap();
5584
5635
  const correctAnswerList = retrieveCorrectAnswerList();
5585
5636
  return Object.keys(materialMap).map((materialKey, index) => {
5586
- return /* @__PURE__ */ jsx33("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ jsxs22("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0", children: [
5587
- /* @__PURE__ */ jsx33("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx33("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcma_text") }) }),
5588
- /* @__PURE__ */ jsx33("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx33(DividerLine_default, {}) }),
5589
- checkCanAnswerQuestion() ? /* @__PURE__ */ jsx33("div", { className: "flex flex-row w-full flex-wrap ", children: materialMap[materialKey].map(
5637
+ return /* @__PURE__ */ jsx34("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ jsxs23("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0", children: [
5638
+ /* @__PURE__ */ jsx34("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx34("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcma_text") }) }),
5639
+ /* @__PURE__ */ jsx34("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx34(DividerLine_default, {}) }),
5640
+ checkCanAnswerQuestion() ? /* @__PURE__ */ jsx34("div", { className: "flex flex-row w-full flex-wrap ", children: materialMap[materialKey].map(
5590
5641
  (materialSubKey, index2) => {
5591
5642
  const foundAnswer = answerMap[materialKey].find(
5592
5643
  (learnerAnswer) => learnerAnswer === materialSubKey
@@ -5599,7 +5650,7 @@ var MCMAActivityMaterialContent = ({
5599
5650
  const foundIndex = correctAnswerList.findIndex(
5600
5651
  (correctAnswer) => correctAnswer === materialSubKey
5601
5652
  );
5602
- return /* @__PURE__ */ jsxs22(
5653
+ return /* @__PURE__ */ jsxs23(
5603
5654
  "div",
5604
5655
  {
5605
5656
  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" : ""}`,
@@ -5607,7 +5658,7 @@ var MCMAActivityMaterialContent = ({
5607
5658
  onChange(answer, materialKey, materialSubKey);
5608
5659
  },
5609
5660
  children: [
5610
- /* @__PURE__ */ jsx33(
5661
+ /* @__PURE__ */ jsx34(
5611
5662
  BaseImage_default,
5612
5663
  {
5613
5664
  src: answerMap[materialKey].includes(materialSubKey) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -5617,16 +5668,16 @@ var MCMAActivityMaterialContent = ({
5617
5668
  }
5618
5669
  }
5619
5670
  ),
5620
- /* @__PURE__ */ jsx33("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx33("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5671
+ /* @__PURE__ */ jsx34("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx34("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5621
5672
  materialSubKey
5622
- ).map((inputPart, index3) => /* @__PURE__ */ jsx33(
5673
+ ).map((inputPart, index3) => /* @__PURE__ */ jsx34(
5623
5674
  "span",
5624
5675
  {
5625
5676
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5626
- children: inputPart.isEquation ? /* @__PURE__ */ jsx33("span", { className: "text-2xl", children: /* @__PURE__ */ jsx33(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5677
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx34("span", { className: "text-2xl", children: /* @__PURE__ */ jsx34(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5627
5678
  },
5628
5679
  index3
5629
- )) }) : /* @__PURE__ */ jsx33(
5680
+ )) }) : /* @__PURE__ */ jsx34(
5630
5681
  ShowMaterialMediaByContentType_default,
5631
5682
  {
5632
5683
  contentType: contentMap.type,
@@ -5640,13 +5691,13 @@ var MCMAActivityMaterialContent = ({
5640
5691
  index2
5641
5692
  );
5642
5693
  }
5643
- ) }) : /* @__PURE__ */ jsx33("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5694
+ ) }) : /* @__PURE__ */ jsx34("p", { className: "text-xl", children: constructInputWithSpecialExpressionList(
5644
5695
  answerMap[materialKey]
5645
- ).map((inputPart, index2) => /* @__PURE__ */ jsx33(
5696
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx34(
5646
5697
  "span",
5647
5698
  {
5648
5699
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5649
- children: inputPart.isEquation ? /* @__PURE__ */ jsx33("span", { className: "text-2xl", children: /* @__PURE__ */ jsx33(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5700
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx34("span", { className: "text-2xl", children: /* @__PURE__ */ jsx34(InlineMath6, { math: inputPart.value }) }) : inputPart.value
5650
5701
  },
5651
5702
  index2
5652
5703
  )) }, materialKey)
@@ -5656,7 +5707,7 @@ var MCMAActivityMaterialContent = ({
5656
5707
  var MCMAActivityMaterialContent_default = MCMAActivityMaterialContent;
5657
5708
 
5658
5709
  // src/components/activities/MCMAActivityContent.tsx
5659
- import { jsx as jsx34, jsxs as jsxs23 } from "react/jsx-runtime";
5710
+ import { jsx as jsx35, jsxs as jsxs24 } from "react/jsx-runtime";
5660
5711
  var MCMAActivityContent = ({
5661
5712
  answer,
5662
5713
  data,
@@ -5683,11 +5734,11 @@ var MCMAActivityContent = ({
5683
5734
  }
5684
5735
  changeAnswer(answer2);
5685
5736
  };
5686
- return /* @__PURE__ */ jsxs23("div", { className: "flex flex-row flex-wrap", children: [
5687
- /* @__PURE__ */ jsx34("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx34(ActivityBodyContent_default, { bodyMap: MCMABodyMap, templateType: "MCMA" }) }),
5688
- /* @__PURE__ */ jsx34("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx34(DividerLine_default, {}) }),
5689
- /* @__PURE__ */ jsx34("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx34(VerticalDividerLine_default, {}) }),
5690
- /* @__PURE__ */ jsx34("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx34(
5737
+ return /* @__PURE__ */ jsxs24("div", { className: "flex flex-row flex-wrap", children: [
5738
+ /* @__PURE__ */ jsx35("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx35(ActivityBodyContent_default, { bodyMap: MCMABodyMap, templateType: "MCMA" }) }),
5739
+ /* @__PURE__ */ jsx35("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx35(DividerLine_default, {}) }),
5740
+ /* @__PURE__ */ jsx35("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx35(VerticalDividerLine_default, {}) }),
5741
+ /* @__PURE__ */ jsx35("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx35(
5691
5742
  MCMAActivityMaterialContent_default,
5692
5743
  {
5693
5744
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5705,7 +5756,7 @@ var MCMAActivityContent_default = MCMAActivityContent;
5705
5756
 
5706
5757
  // src/components/activities/material-content/MCSAActivityMaterialContent.tsx
5707
5758
  import { InlineMath as InlineMath7 } from "react-katex";
5708
- import { jsx as jsx35, jsxs as jsxs24 } from "react/jsx-runtime";
5759
+ import { jsx as jsx36, jsxs as jsxs25 } from "react/jsx-runtime";
5709
5760
  var MCSAActivityMaterialContent = ({
5710
5761
  uniqueValue,
5711
5762
  answer,
@@ -5735,10 +5786,10 @@ var MCSAActivityMaterialContent = ({
5735
5786
  const answerMap = retrieveAnswerMap();
5736
5787
  const correctAnswer = retrieveCorrectAnswer();
5737
5788
  return Object.keys(materialMap).map((materialKey, index) => {
5738
- return /* @__PURE__ */ jsx35("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ jsxs24("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0", children: [
5739
- /* @__PURE__ */ jsx35("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx35("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcsa_text") }) }),
5740
- /* @__PURE__ */ jsx35("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx35(DividerLine_default, {}) }),
5741
- checkCanAnswerQuestion() ? /* @__PURE__ */ jsx35(
5789
+ return /* @__PURE__ */ jsx36("div", { className: "flex flex-row items-center my-1", children: /* @__PURE__ */ jsxs25("div", { className: "flex-1 flex flex-col justify-center border-catchup-lighter-gray rounded-catchup-xlarge px-5 md:px-0", children: [
5790
+ /* @__PURE__ */ jsx36("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx36("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_mcsa_text") }) }),
5791
+ /* @__PURE__ */ jsx36("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx36(DividerLine_default, {}) }),
5792
+ checkCanAnswerQuestion() ? /* @__PURE__ */ jsx36(
5742
5793
  "div",
5743
5794
  {
5744
5795
  className: `flex flex-row w-full ${Object.keys(materialMap[materialKey]).length <= 4 ? "justify-center" : ""} flex-wrap`,
@@ -5749,7 +5800,7 @@ var MCSAActivityMaterialContent = ({
5749
5800
  materialSubKey,
5750
5801
  answerMap[materialKey]
5751
5802
  );
5752
- return /* @__PURE__ */ jsxs24(
5803
+ return /* @__PURE__ */ jsxs25(
5753
5804
  "div",
5754
5805
  {
5755
5806
  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" : ""}`,
@@ -5757,7 +5808,7 @@ var MCSAActivityMaterialContent = ({
5757
5808
  onChange(answer, materialKey, materialSubKey);
5758
5809
  },
5759
5810
  children: [
5760
- /* @__PURE__ */ jsx35(
5811
+ /* @__PURE__ */ jsx36(
5761
5812
  BaseImage_default,
5762
5813
  {
5763
5814
  src: answerMap[materialKey] === materialSubKey ? "/icons/item-element.webp" : "/icons/not-selected-item-element.webp",
@@ -5767,16 +5818,16 @@ var MCSAActivityMaterialContent = ({
5767
5818
  }
5768
5819
  }
5769
5820
  ),
5770
- /* @__PURE__ */ jsx35("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx35("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5821
+ /* @__PURE__ */ jsx36("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx36("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5771
5822
  materialSubKey
5772
- ).map((inputPart, index3) => /* @__PURE__ */ jsx35(
5823
+ ).map((inputPart, index3) => /* @__PURE__ */ jsx36(
5773
5824
  "span",
5774
5825
  {
5775
5826
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5776
- children: inputPart.isEquation ? /* @__PURE__ */ jsx35("span", { className: "text-2xl", children: /* @__PURE__ */ jsx35(InlineMath7, { math: inputPart.value }) }) : inputPart.value
5827
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx36("span", { className: "text-2xl", children: /* @__PURE__ */ jsx36(InlineMath7, { math: inputPart.value }) }) : inputPart.value
5777
5828
  },
5778
5829
  index3
5779
- )) }) : /* @__PURE__ */ jsx35(
5830
+ )) }) : /* @__PURE__ */ jsx36(
5780
5831
  ShowMaterialMediaByContentType_default,
5781
5832
  {
5782
5833
  contentType: contentMap.type,
@@ -5792,13 +5843,13 @@ var MCSAActivityMaterialContent = ({
5792
5843
  }
5793
5844
  )
5794
5845
  }
5795
- ) : /* @__PURE__ */ jsx35("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5846
+ ) : /* @__PURE__ */ jsx36("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
5796
5847
  answerMap[materialKey]
5797
- ).map((inputPart, index2) => /* @__PURE__ */ jsx35(
5848
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx36(
5798
5849
  "span",
5799
5850
  {
5800
5851
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
5801
- children: inputPart.isEquation ? /* @__PURE__ */ jsx35("span", { className: "text-2xl", children: /* @__PURE__ */ jsx35(InlineMath7, { math: inputPart.value }) }) : inputPart.value
5852
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx36("span", { className: "text-2xl", children: /* @__PURE__ */ jsx36(InlineMath7, { math: inputPart.value }) }) : inputPart.value
5802
5853
  },
5803
5854
  index2
5804
5855
  )) })
@@ -5808,7 +5859,7 @@ var MCSAActivityMaterialContent = ({
5808
5859
  var MCSAActivityMaterialContent_default = MCSAActivityMaterialContent;
5809
5860
 
5810
5861
  // src/components/activities/MCSAActivityContent.tsx
5811
- import { jsx as jsx36, jsxs as jsxs25 } from "react/jsx-runtime";
5862
+ import { jsx as jsx37, jsxs as jsxs26 } from "react/jsx-runtime";
5812
5863
  var MCSAActivityContent = ({
5813
5864
  answer,
5814
5865
  data,
@@ -5828,11 +5879,11 @@ var MCSAActivityContent = ({
5828
5879
  answerMap[key] = value;
5829
5880
  changeAnswer(answer2);
5830
5881
  };
5831
- return /* @__PURE__ */ jsxs25("div", { className: "flex flex-row flex-wrap", children: [
5832
- /* @__PURE__ */ jsx36("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx36(ActivityBodyContent_default, { bodyMap: MCSABodyMap, templateType: "MCSA" }) }),
5833
- /* @__PURE__ */ jsx36("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx36(DividerLine_default, {}) }),
5834
- /* @__PURE__ */ jsx36("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx36(VerticalDividerLine_default, {}) }),
5835
- /* @__PURE__ */ jsx36("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx36(
5882
+ return /* @__PURE__ */ jsxs26("div", { className: "flex flex-row flex-wrap", children: [
5883
+ /* @__PURE__ */ jsx37("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[60%]"}`, children: /* @__PURE__ */ jsx37(ActivityBodyContent_default, { bodyMap: MCSABodyMap, templateType: "MCSA" }) }),
5884
+ /* @__PURE__ */ jsx37("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx37(DividerLine_default, {}) }),
5885
+ /* @__PURE__ */ jsx37("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx37(VerticalDividerLine_default, {}) }),
5886
+ /* @__PURE__ */ jsx37("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx37(
5836
5887
  MCSAActivityMaterialContent_default,
5837
5888
  {
5838
5889
  uniqueValue: JSON.stringify(data.contentMap),
@@ -5848,11 +5899,40 @@ var MCSAActivityContent = ({
5848
5899
  };
5849
5900
  var MCSAActivityContent_default = MCSAActivityContent;
5850
5901
 
5902
+ // src/utilization/StorageUtilization.ts
5903
+ var convertDataURLtoFile = (dataurl, filename) => {
5904
+ var arr = dataurl.split(","), mime = (arr[0].match(/:(.*?);/) || [])[1], bstr = atob(arr[arr.length - 1]), n = bstr.length, u8arr = new Uint8Array(n);
5905
+ while (n--) {
5906
+ u8arr[n] = bstr.charCodeAt(n);
5907
+ }
5908
+ return new File([u8arr], filename, { type: mime });
5909
+ };
5910
+ var retrieveDocumentTypeFromAcceptedFormat = (format) => {
5911
+ if (format === "application/pdf") {
5912
+ return "PDF";
5913
+ } else if (format === "image/jpeg" || format === "image/png" || format === "image/jpg" || format === "image/webp") {
5914
+ return "IMAGE";
5915
+ } else if (format === "audio/mp3") {
5916
+ return "AUDIO";
5917
+ }
5918
+ };
5919
+ var retrieveDocumentTypeFromExtension = (format) => {
5920
+ if (format === "pdf") {
5921
+ return "PDF";
5922
+ } else if (format === "jpeg" || format === "png" || format === "jpg" || format === "webp") {
5923
+ return "IMAGE";
5924
+ } else if (format === "mp3") {
5925
+ return "AUDIO";
5926
+ }
5927
+ return "";
5928
+ };
5929
+
5851
5930
  // src/components/activities/material-content/OpenEndedActivityMaterialContent.tsx
5852
- import { Fragment as Fragment6, jsx as jsx37, jsxs as jsxs26 } from "react/jsx-runtime";
5931
+ import { Fragment as Fragment6, jsx as jsx38, jsxs as jsxs27 } from "react/jsx-runtime";
5853
5932
  var OpenEndedActivityMaterialContent = ({
5854
5933
  answer,
5855
5934
  contentMap,
5935
+ checkCanAnswerQuestion,
5856
5936
  onChange
5857
5937
  }) => {
5858
5938
  const retrieveAnswer = () => {
@@ -5872,33 +5952,93 @@ var OpenEndedActivityMaterialContent = ({
5872
5952
  };
5873
5953
  const RenderTextContent = (answerMap2) => {
5874
5954
  const answerMapAnswer = answerMap2["ANSWER"];
5875
- return /* @__PURE__ */ jsx37(
5876
- InputGroup_default,
5955
+ let documentType = "TEXT";
5956
+ if (answerMapAnswer.startsWith(`https://`) || answerMapAnswer.startsWith(`http://`)) {
5957
+ const extension = answerMapAnswer.split(".").pop();
5958
+ documentType = retrieveDocumentTypeFromExtension(extension);
5959
+ }
5960
+ if (documentType === "IMAGE") {
5961
+ return /* @__PURE__ */ jsx38("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx38(
5962
+ BaseImage_default,
5963
+ {
5964
+ src: answerMapAnswer,
5965
+ alt: "document",
5966
+ size: "custom",
5967
+ className: "w-[80%] rounded-catchup-xlarge"
5968
+ }
5969
+ ) });
5970
+ } else if (documentType === "PDF") {
5971
+ return /* @__PURE__ */ jsx38(BasePDF_default, { file: answerMapAnswer });
5972
+ } else if (documentType === "AUDIO") {
5973
+ return /* @__PURE__ */ jsx38("div", { className: "h-[56px]", children: /* @__PURE__ */ jsx38(
5974
+ "audio",
5975
+ {
5976
+ className: "h-full w-full rounded-catchup-xlarge",
5977
+ src: answerMapAnswer,
5978
+ controls: true,
5979
+ onClick: () => {
5980
+ }
5981
+ }
5982
+ ) });
5983
+ } else if (documentType === "TEXT") {
5984
+ return /* @__PURE__ */ jsx38(
5985
+ InputGroup_default,
5986
+ {
5987
+ type: "textarea",
5988
+ value: answerMapAnswer,
5989
+ useMinHeight: true,
5990
+ onChange: (e) => {
5991
+ if (checkCanAnswerQuestion()) {
5992
+ onChange(answer, e.target.value);
5993
+ }
5994
+ }
5995
+ }
5996
+ );
5997
+ }
5998
+ };
5999
+ const RenderImageContent = (answerMap2) => {
6000
+ const answerMapAnswer = answerMap2["ANSWER"];
6001
+ const extension = answerMapAnswer.split(".").pop();
6002
+ const documentType = retrieveDocumentTypeFromExtension(extension);
6003
+ return /* @__PURE__ */ jsx38(Fragment6, { children: documentType === "IMAGE" ? /* @__PURE__ */ jsx38("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx38(
6004
+ BaseImage_default,
5877
6005
  {
5878
- type: "textarea",
5879
- value: answerMapAnswer,
5880
- useMinHeight: true,
5881
- onChange: (e) => {
5882
- onChange(answer, e.target.value);
6006
+ src: answerMapAnswer,
6007
+ alt: "document",
6008
+ size: "custom",
6009
+ className: "w-[80%] rounded-catchup-xlarge"
6010
+ }
6011
+ ) }) : documentType === "PDF" ? /* @__PURE__ */ jsx38("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx38(BasePDF_default, { file: answerMapAnswer }) }) : null });
6012
+ };
6013
+ const RenderAudioContent = (answerMap2) => {
6014
+ const answerMapAnswer = answerMap2["ANSWER"];
6015
+ return /* @__PURE__ */ jsx38("div", { className: "h-[56px]", children: /* @__PURE__ */ jsx38(
6016
+ "audio",
6017
+ {
6018
+ className: "h-full w-full rounded-catchup-xlarge",
6019
+ src: answerMapAnswer,
6020
+ controls: true,
6021
+ onClick: () => {
5883
6022
  }
5884
6023
  }
5885
- );
6024
+ ) });
5886
6025
  };
5887
6026
  const answerMap = retrieveAnswerMap();
5888
- return /* @__PURE__ */ jsx37(Fragment6, { children: /* @__PURE__ */ jsxs26("div", { className: "", children: [
5889
- /* @__PURE__ */ jsx37("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx37("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
5890
- /* @__PURE__ */ jsx37("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx37(DividerLine_default, {}) }),
5891
- contentMap.type === "TEXT" ? RenderTextContent(answerMap) : null
6027
+ return /* @__PURE__ */ jsx38(Fragment6, { children: /* @__PURE__ */ jsxs27("div", { className: "", children: [
6028
+ /* @__PURE__ */ jsx38("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx38("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_open_ended_text") }) }),
6029
+ /* @__PURE__ */ jsx38("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx38(DividerLine_default, {}) }),
6030
+ contentMap.type === "TEXT" ? RenderTextContent(answerMap) : contentMap.type === "IMAGE" ? RenderImageContent(answerMap) : contentMap.type === "AUDIO" ? RenderAudioContent(answerMap) : null
5892
6031
  ] }) });
5893
6032
  };
5894
6033
  var OpenEndedActivityMaterialContent_default = OpenEndedActivityMaterialContent;
5895
6034
 
5896
6035
  // src/components/activities/OpenEndedActivityContent.tsx
5897
- import { Fragment as Fragment7, jsx as jsx38, jsxs as jsxs27 } from "react/jsx-runtime";
6036
+ import { Fragment as Fragment7, jsx as jsx39, jsxs as jsxs28 } from "react/jsx-runtime";
5898
6037
  var OpenEndedActivityContent = ({
5899
6038
  answer,
5900
6039
  data,
5901
6040
  changeAnswer,
6041
+ canAnswerQuestion,
5902
6042
  showMaterialContent,
5903
6043
  isFullScreen
5904
6044
  }) => {
@@ -5912,12 +6052,12 @@ var OpenEndedActivityContent = ({
5912
6052
  answerMap["ANSWER"] = value;
5913
6053
  changeAnswer(answer2);
5914
6054
  };
5915
- return /* @__PURE__ */ jsxs27("div", { className: "flex flex-row flex-wrap", children: [
5916
- /* @__PURE__ */ jsx38(
6055
+ return /* @__PURE__ */ jsxs28("div", { className: "flex flex-row flex-wrap", children: [
6056
+ /* @__PURE__ */ jsx39(
5917
6057
  "div",
5918
6058
  {
5919
6059
  className: `${showMaterialContent ? isFullScreen ? "w-full" : "w-full md:w-[40%]" : "w-full"}`,
5920
- children: /* @__PURE__ */ jsx38(
6060
+ children: /* @__PURE__ */ jsx39(
5921
6061
  ActivityBodyContent_default,
5922
6062
  {
5923
6063
  bodyMap: openEndedBodyMap,
@@ -5926,20 +6066,21 @@ var OpenEndedActivityContent = ({
5926
6066
  )
5927
6067
  }
5928
6068
  ),
5929
- showMaterialContent ? /* @__PURE__ */ jsxs27(Fragment7, { children: [
5930
- /* @__PURE__ */ jsx38(
6069
+ showMaterialContent ? /* @__PURE__ */ jsxs28(Fragment7, { children: [
6070
+ /* @__PURE__ */ jsx39(
5931
6071
  "div",
5932
6072
  {
5933
6073
  className: `${isFullScreen ? "contents" : "contents md:hidden"}`,
5934
- children: /* @__PURE__ */ jsx38(DividerLine_default, {})
6074
+ children: /* @__PURE__ */ jsx39(DividerLine_default, {})
5935
6075
  }
5936
6076
  ),
5937
- /* @__PURE__ */ jsx38("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx38(VerticalDividerLine_default, {}) }),
5938
- /* @__PURE__ */ jsx38("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx38(
6077
+ /* @__PURE__ */ jsx39("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx39(VerticalDividerLine_default, {}) }),
6078
+ /* @__PURE__ */ jsx39("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx39(
5939
6079
  OpenEndedActivityMaterialContent_default,
5940
6080
  {
5941
6081
  answer,
5942
6082
  contentMap,
6083
+ checkCanAnswerQuestion: canAnswerQuestion,
5943
6084
  onChange: handleOpenEndedAnswerOnChange
5944
6085
  }
5945
6086
  ) })
@@ -5949,14 +6090,14 @@ var OpenEndedActivityContent = ({
5949
6090
  var OpenEndedActivityContent_default = OpenEndedActivityContent;
5950
6091
 
5951
6092
  // src/components/activities/material-content/OrderingActivityMaterialContent.tsx
5952
- import { useEffect as useEffect12, useState as useState21 } from "react";
6093
+ import { useEffect as useEffect12, useState as useState22 } from "react";
5953
6094
  import { useDrop as useDrop6 } from "react-dnd";
5954
6095
  import { InlineMath as InlineMath8 } from "react-katex";
5955
6096
 
5956
6097
  // src/components/dnds/DraggableDroppableItem.tsx
5957
6098
  import { useRef as useRef6 } from "react";
5958
6099
  import { useDrag as useDrag2, useDrop as useDrop5 } from "react-dnd";
5959
- import { jsx as jsx39 } from "react/jsx-runtime";
6100
+ import { jsx as jsx40 } from "react/jsx-runtime";
5960
6101
  var DraggableDroppableItem = ({
5961
6102
  item,
5962
6103
  type,
@@ -5993,19 +6134,19 @@ var DraggableDroppableItem = ({
5993
6134
  });
5994
6135
  const opacity = isDragging ? 0.4 : 1;
5995
6136
  drag(drop(ref));
5996
- return /* @__PURE__ */ jsx39(
6137
+ return /* @__PURE__ */ jsx40(
5997
6138
  "div",
5998
6139
  {
5999
6140
  className: `${isDragging ? "w-[0px] opacity-0" : "w-full opacity-100"} transition-all duration-500`,
6000
6141
  ref: dropRef,
6001
- children: /* @__PURE__ */ jsx39("div", { ref, className: "w-full", style: { opacity }, children: component })
6142
+ children: /* @__PURE__ */ jsx40("div", { ref, className: "w-full", style: { opacity }, children: component })
6002
6143
  }
6003
6144
  );
6004
6145
  };
6005
6146
  var DraggableDroppableItem_default = DraggableDroppableItem;
6006
6147
 
6007
6148
  // src/components/activities/material-content/OrderingActivityMaterialContent.tsx
6008
- import { jsx as jsx40, jsxs as jsxs28 } from "react/jsx-runtime";
6149
+ import { jsx as jsx41, jsxs as jsxs29 } from "react/jsx-runtime";
6009
6150
  var OrderingActivityMaterialContent = ({
6010
6151
  uniqueValue,
6011
6152
  answer,
@@ -6016,10 +6157,10 @@ var OrderingActivityMaterialContent = ({
6016
6157
  isPreview,
6017
6158
  showCorrectAnswer
6018
6159
  }) => {
6019
- const [selectedTargetKey, setSelectedTargetKey] = useState21(null);
6020
- const [selectedKey, setSelectedKey] = useState21(null);
6160
+ const [selectedTargetKey, setSelectedTargetKey] = useState22(null);
6161
+ const [selectedKey, setSelectedKey] = useState22(null);
6021
6162
  const { screenSize } = useScreenSize_default();
6022
- const [view, setView] = useState21("PC");
6163
+ const [view, setView] = useState22("PC");
6023
6164
  const [{ isOver, canDrop }, drop] = useDrop6({
6024
6165
  accept: "ORDERING",
6025
6166
  drop: () => {
@@ -6082,12 +6223,12 @@ var OrderingActivityMaterialContent = ({
6082
6223
  return 0;
6083
6224
  };
6084
6225
  const answerMap = retrieveAnswerMap();
6085
- return /* @__PURE__ */ jsx40("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
6226
+ return /* @__PURE__ */ jsx41("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
6086
6227
  const learnerAnswerState = checkAnswerState(
6087
6228
  answerMap[materialKey] + "",
6088
6229
  index + ""
6089
6230
  );
6090
- return /* @__PURE__ */ jsx40("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ jsxs28(
6231
+ return /* @__PURE__ */ jsx41("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ jsxs29(
6091
6232
  "div",
6092
6233
  {
6093
6234
  className: `flex flex-row items-center my-4 mx-2`,
@@ -6095,26 +6236,26 @@ var OrderingActivityMaterialContent = ({
6095
6236
  marginTop: view === "PC" ? calculateMarginTop(parseFloat(materialKey)) : 0
6096
6237
  },
6097
6238
  children: [
6098
- /* @__PURE__ */ jsx40("div", { className: "mr-3", children: /* @__PURE__ */ jsx40(
6239
+ /* @__PURE__ */ jsx41("div", { className: "mr-3", children: /* @__PURE__ */ jsx41(
6099
6240
  "div",
6100
6241
  {
6101
6242
  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`,
6102
- children: /* @__PURE__ */ jsx40(
6243
+ children: /* @__PURE__ */ jsx41(
6103
6244
  "div",
6104
6245
  {
6105
6246
  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]`,
6106
- children: /* @__PURE__ */ jsx40("p", { className: "", children: parseFloat(materialKey) + 1 })
6247
+ children: /* @__PURE__ */ jsx41("p", { className: "", children: parseFloat(materialKey) + 1 })
6107
6248
  }
6108
6249
  )
6109
6250
  }
6110
6251
  ) }),
6111
- /* @__PURE__ */ jsx40(
6252
+ /* @__PURE__ */ jsx41(
6112
6253
  DraggableDroppableItem_default,
6113
6254
  {
6114
6255
  item: { index: materialKey },
6115
6256
  type: "ORDERING",
6116
6257
  dropRef: drop,
6117
- component: /* @__PURE__ */ jsx40(
6258
+ component: /* @__PURE__ */ jsx41(
6118
6259
  "div",
6119
6260
  {
6120
6261
  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"}`,
@@ -6123,16 +6264,16 @@ var OrderingActivityMaterialContent = ({
6123
6264
  setSelectedKey(materialKey);
6124
6265
  }
6125
6266
  },
6126
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx40("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6267
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx41("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6127
6268
  materialMap[answerMap[materialKey]]
6128
- ).map((inputPart, index2) => /* @__PURE__ */ jsx40(
6269
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx41(
6129
6270
  "span",
6130
6271
  {
6131
6272
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6132
- children: inputPart.isEquation ? /* @__PURE__ */ jsx40("span", { className: "text-2xl", children: /* @__PURE__ */ jsx40(InlineMath8, { math: inputPart.value }) }) : inputPart.value
6273
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx41("span", { className: "text-2xl", children: /* @__PURE__ */ jsx41(InlineMath8, { math: inputPart.value }) }) : inputPart.value
6133
6274
  },
6134
6275
  index2
6135
- )) }) : /* @__PURE__ */ jsx40(
6276
+ )) }) : /* @__PURE__ */ jsx41(
6136
6277
  ShowMaterialMediaByContentType_default,
6137
6278
  {
6138
6279
  contentType: contentMap.type,
@@ -6164,7 +6305,7 @@ var OrderingActivityMaterialContent = ({
6164
6305
  var OrderingActivityMaterialContent_default = OrderingActivityMaterialContent;
6165
6306
 
6166
6307
  // src/components/activities/OrderingActivityContent.tsx
6167
- import { Fragment as Fragment8, jsx as jsx41, jsxs as jsxs29 } from "react/jsx-runtime";
6308
+ import { Fragment as Fragment8, jsx as jsx42, jsxs as jsxs30 } from "react/jsx-runtime";
6168
6309
  var OrderingActivityContent = ({
6169
6310
  answer,
6170
6311
  data,
@@ -6187,16 +6328,16 @@ var OrderingActivityContent = ({
6187
6328
  answerMap[secondaryKey] = prevValue;
6188
6329
  changeAnswer(answer2);
6189
6330
  };
6190
- return /* @__PURE__ */ jsxs29(Fragment8, { children: [
6191
- /* @__PURE__ */ jsx41(
6331
+ return /* @__PURE__ */ jsxs30(Fragment8, { children: [
6332
+ /* @__PURE__ */ jsx42(
6192
6333
  ActivityBodyContent_default,
6193
6334
  {
6194
6335
  bodyMap: orderingBodyMap,
6195
6336
  templateType: "ORDERING"
6196
6337
  }
6197
6338
  ),
6198
- /* @__PURE__ */ jsx41(DividerLine_default, {}),
6199
- /* @__PURE__ */ jsx41(
6339
+ /* @__PURE__ */ jsx42(DividerLine_default, {}),
6340
+ /* @__PURE__ */ jsx42(
6200
6341
  OrderingActivityMaterialContent_default,
6201
6342
  {
6202
6343
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6214,9 +6355,9 @@ var OrderingActivityContent = ({
6214
6355
  var OrderingActivityContent_default = OrderingActivityContent;
6215
6356
 
6216
6357
  // src/components/activities/material-content/TrueFalseActivityMaterialContent.tsx
6217
- import { useEffect as useEffect13, useState as useState22 } from "react";
6358
+ import { useEffect as useEffect13, useState as useState23 } from "react";
6218
6359
  import { InlineMath as InlineMath9 } from "react-katex";
6219
- import { Fragment as Fragment9, jsx as jsx42, jsxs as jsxs30 } from "react/jsx-runtime";
6360
+ import { Fragment as Fragment9, jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
6220
6361
  var TrueFalseActivityMaterialContent = ({
6221
6362
  uniqueValue,
6222
6363
  answer,
@@ -6228,7 +6369,7 @@ var TrueFalseActivityMaterialContent = ({
6228
6369
  showCorrectAnswer
6229
6370
  }) => {
6230
6371
  const { screenSize } = useScreenSize_default();
6231
- const [shuffleOptionList, setShuffleOptionList] = useState22([]);
6372
+ const [shuffleOptionList, setShuffleOptionList] = useState23([]);
6232
6373
  useEffect13(() => {
6233
6374
  const optionList = [];
6234
6375
  optionList.push(...materialMap.trueList);
@@ -6269,14 +6410,14 @@ var TrueFalseActivityMaterialContent = ({
6269
6410
  return "INCORRECT";
6270
6411
  };
6271
6412
  const answerMap = retrieveAnswerMap();
6272
- return /* @__PURE__ */ jsxs30("div", { className: "", children: [
6273
- /* @__PURE__ */ jsx42("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx42("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6274
- /* @__PURE__ */ jsx42("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx42(DividerLine_default, {}) }),
6275
- /* @__PURE__ */ jsxs30("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6276
- /* @__PURE__ */ jsx42("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx42("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6277
- /* @__PURE__ */ jsx42("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx42("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6413
+ return /* @__PURE__ */ jsxs31("div", { className: "", children: [
6414
+ /* @__PURE__ */ jsx43("div", { className: "hidden md:block", children: /* @__PURE__ */ jsx43("span", { className: "font-semibold text-xl opacity-60", children: i18n_default.t("please_select_true_false_text") }) }),
6415
+ /* @__PURE__ */ jsx43("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx43(DividerLine_default, {}) }),
6416
+ /* @__PURE__ */ jsxs31("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6417
+ /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6418
+ /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6278
6419
  ] }),
6279
- checkCanAnswerQuestion() ? /* @__PURE__ */ jsx42("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6420
+ checkCanAnswerQuestion() ? /* @__PURE__ */ jsx43("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6280
6421
  const correctAnswer = materialMap.trueList.find(
6281
6422
  (trueItem) => trueItem === shuffleOption
6282
6423
  ) !== void 0 ? "TRUE" : "FALSE";
@@ -6287,21 +6428,21 @@ var TrueFalseActivityMaterialContent = ({
6287
6428
  correctAnswer,
6288
6429
  learnerAnswer
6289
6430
  );
6290
- return /* @__PURE__ */ jsxs30(
6431
+ return /* @__PURE__ */ jsxs31(
6291
6432
  "div",
6292
6433
  {
6293
6434
  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" : ""}`,
6294
6435
  children: [
6295
- /* @__PURE__ */ jsx42("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx42("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6436
+ /* @__PURE__ */ jsx43("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx43("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6296
6437
  shuffleOption
6297
- ).map((inputPart, index2) => /* @__PURE__ */ jsx42(
6438
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx43(
6298
6439
  "span",
6299
6440
  {
6300
6441
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6301
- children: inputPart.isEquation ? /* @__PURE__ */ jsx42("span", { className: "text-2xl", children: /* @__PURE__ */ jsx42(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6442
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx43("span", { className: "text-2xl", children: /* @__PURE__ */ jsx43(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6302
6443
  },
6303
6444
  index2
6304
- )) }) : /* @__PURE__ */ jsx42(
6445
+ )) }) : /* @__PURE__ */ jsx43(
6305
6446
  ShowMaterialMediaByContentType_default,
6306
6447
  {
6307
6448
  contentType: contentMap.type,
@@ -6310,8 +6451,8 @@ var TrueFalseActivityMaterialContent = ({
6310
6451
  },
6311
6452
  `${uniqueValue}-${index}`
6312
6453
  ) }),
6313
- /* @__PURE__ */ jsxs30("div", { className: "flex flex-row items-center gap-x-2", children: [
6314
- /* @__PURE__ */ jsx42("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx42("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx42(
6454
+ /* @__PURE__ */ jsxs31("div", { className: "flex flex-row items-center gap-x-2", children: [
6455
+ /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx43(
6315
6456
  BaseImage_default,
6316
6457
  {
6317
6458
  src: answerMap.trueList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6322,7 +6463,7 @@ var TrueFalseActivityMaterialContent = ({
6322
6463
  }
6323
6464
  }
6324
6465
  ) }) }),
6325
- /* @__PURE__ */ jsx42("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx42("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx42(
6466
+ /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx43(
6326
6467
  BaseImage_default,
6327
6468
  {
6328
6469
  src: answerMap.falseList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6338,14 +6479,14 @@ var TrueFalseActivityMaterialContent = ({
6338
6479
  },
6339
6480
  index
6340
6481
  );
6341
- }) }) : /* @__PURE__ */ jsxs30(Fragment9, { children: [
6342
- answerMap.trueList.map((item) => /* @__PURE__ */ jsxs30("div", { className: "flex flex-row items-center gap-x-2", children: [
6343
- /* @__PURE__ */ jsx42("div", { className: "flex-1", children: /* @__PURE__ */ jsx42("p", { children: item }) }),
6344
- /* @__PURE__ */ jsx42("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx42("p", { className: "underline", children: i18n_default.t("true") }) })
6482
+ }) }) : /* @__PURE__ */ jsxs31(Fragment9, { children: [
6483
+ answerMap.trueList.map((item) => /* @__PURE__ */ jsxs31("div", { className: "flex flex-row items-center gap-x-2", children: [
6484
+ /* @__PURE__ */ jsx43("div", { className: "flex-1", children: /* @__PURE__ */ jsx43("p", { children: item }) }),
6485
+ /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "underline", children: i18n_default.t("true") }) })
6345
6486
  ] })),
6346
- answerMap.falseList.map((item) => /* @__PURE__ */ jsxs30("div", { className: "flex flex-row items-center gap-x-2", children: [
6347
- /* @__PURE__ */ jsx42("div", { className: "flex-1", children: /* @__PURE__ */ jsx42("p", { children: item }) }),
6348
- /* @__PURE__ */ jsx42("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx42("p", { className: "underline", children: i18n_default.t("false") }) })
6487
+ answerMap.falseList.map((item) => /* @__PURE__ */ jsxs31("div", { className: "flex flex-row items-center gap-x-2", children: [
6488
+ /* @__PURE__ */ jsx43("div", { className: "flex-1", children: /* @__PURE__ */ jsx43("p", { children: item }) }),
6489
+ /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "underline", children: i18n_default.t("false") }) })
6349
6490
  ] }))
6350
6491
  ] })
6351
6492
  ] });
@@ -6353,7 +6494,7 @@ var TrueFalseActivityMaterialContent = ({
6353
6494
  var TrueFalseActivityMaterialContent_default = TrueFalseActivityMaterialContent;
6354
6495
 
6355
6496
  // src/components/activities/TrueFalseActivityContent.tsx
6356
- import { jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
6497
+ import { jsx as jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
6357
6498
  var TrueFalseActivityContent = ({
6358
6499
  answer,
6359
6500
  data,
@@ -6403,17 +6544,17 @@ var TrueFalseActivityContent = ({
6403
6544
  }
6404
6545
  changeAnswer(answer2);
6405
6546
  };
6406
- return /* @__PURE__ */ jsxs31("div", { className: "flex flex-row flex-wrap", children: [
6407
- /* @__PURE__ */ jsx43("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ jsx43(
6547
+ return /* @__PURE__ */ jsxs32("div", { className: "flex flex-row flex-wrap", children: [
6548
+ /* @__PURE__ */ jsx44("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ jsx44(
6408
6549
  ActivityBodyContent_default,
6409
6550
  {
6410
6551
  bodyMap: trueFalseBodyMap,
6411
6552
  templateType: "GROUPING"
6412
6553
  }
6413
6554
  ) }),
6414
- /* @__PURE__ */ jsx43("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx43(DividerLine_default, {}) }),
6415
- /* @__PURE__ */ jsx43("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx43(VerticalDividerLine_default, {}) }),
6416
- /* @__PURE__ */ jsx43("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx43(
6555
+ /* @__PURE__ */ jsx44("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx44(DividerLine_default, {}) }),
6556
+ /* @__PURE__ */ jsx44("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx44(VerticalDividerLine_default, {}) }),
6557
+ /* @__PURE__ */ jsx44("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx44(
6417
6558
  TrueFalseActivityMaterialContent_default,
6418
6559
  {
6419
6560
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6432,7 +6573,7 @@ var TrueFalseActivityContent_default = TrueFalseActivityContent;
6432
6573
 
6433
6574
  // src/components/activities/solution-content/ActivitySolutionContent.tsx
6434
6575
  import { InlineMath as InlineMath10 } from "react-katex";
6435
- import { jsx as jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
6576
+ import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
6436
6577
  var ActivitySolutionContent = ({
6437
6578
  activityTemplateType,
6438
6579
  data
@@ -6462,8 +6603,8 @@ var ActivitySolutionContent = ({
6462
6603
  return null;
6463
6604
  }
6464
6605
  if (!solutionMap || Object.keys(solutionMap).length === 0) return null;
6465
- return /* @__PURE__ */ jsx44("div", { className: "mx-2", children: /* @__PURE__ */ jsxs32("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
6466
- /* @__PURE__ */ jsx44("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6606
+ return /* @__PURE__ */ jsx45("div", { className: "mx-2", children: /* @__PURE__ */ jsxs33("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
6607
+ /* @__PURE__ */ jsx45("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6467
6608
  Object.keys(solutionMap).map((key) => {
6468
6609
  let currentItem;
6469
6610
  try {
@@ -6473,12 +6614,12 @@ var ActivitySolutionContent = ({
6473
6614
  return null;
6474
6615
  }
6475
6616
  const { value } = currentItem;
6476
- return /* @__PURE__ */ jsx44("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6477
- (inputPart, partIndex) => /* @__PURE__ */ jsx44(
6617
+ return /* @__PURE__ */ jsx45("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6618
+ (inputPart, partIndex) => /* @__PURE__ */ jsx45(
6478
6619
  "span",
6479
6620
  {
6480
6621
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6481
- children: inputPart.isEquation ? /* @__PURE__ */ jsx44("span", { className: "text-2xl", children: /* @__PURE__ */ jsx44(InlineMath10, { math: inputPart.value }) }) : inputPart.value
6622
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx45("span", { className: "text-2xl", children: /* @__PURE__ */ jsx45(InlineMath10, { math: inputPart.value }) }) : inputPart.value
6482
6623
  },
6483
6624
  `${key}_part_${partIndex}`
6484
6625
  )
@@ -6490,7 +6631,7 @@ var ActivitySolutionContent_default = ActivitySolutionContent;
6490
6631
 
6491
6632
  // src/components/activities/evaluation-rubric-content/ActivityEvaluationRubricContent.tsx
6492
6633
  import { InlineMath as InlineMath11 } from "react-katex";
6493
- import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
6634
+ import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
6494
6635
  var ActivityEvaluationRubricContent = ({
6495
6636
  activityTemplateType,
6496
6637
  data
@@ -6519,21 +6660,21 @@ var ActivityEvaluationRubricContent = ({
6519
6660
  }
6520
6661
  if (!evaluationRubricMap || Object.keys(evaluationRubricMap).length === 0)
6521
6662
  return null;
6522
- return /* @__PURE__ */ jsx45("div", { className: "mx-2", children: /* @__PURE__ */ jsxs33("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
6523
- /* @__PURE__ */ jsx45("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
6663
+ return /* @__PURE__ */ jsx46("div", { className: "mx-2", children: /* @__PURE__ */ jsxs34("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
6664
+ /* @__PURE__ */ jsx46("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
6524
6665
  Object.keys(evaluationRubricMap).map((key, index) => {
6525
6666
  const currentItem = JSON.parse(evaluationRubricMap[key]);
6526
6667
  const { value } = currentItem;
6527
- return /* @__PURE__ */ jsx45(
6668
+ return /* @__PURE__ */ jsx46(
6528
6669
  "p",
6529
6670
  {
6530
6671
  className: "my-1 text-xl whitespace-pre-wrap",
6531
6672
  children: constructInputWithSpecialExpressionList(value).map(
6532
- (inputPart, index2) => /* @__PURE__ */ jsx45(
6673
+ (inputPart, index2) => /* @__PURE__ */ jsx46(
6533
6674
  "span",
6534
6675
  {
6535
6676
  className: `${inputPart.isBold ? "font-bold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
6536
- children: inputPart.isEquation ? /* @__PURE__ */ jsx45("span", { className: "text-2xl", children: /* @__PURE__ */ jsx45(InlineMath11, { math: inputPart.value }) }) : inputPart.value
6677
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx46("span", { className: "text-2xl", children: /* @__PURE__ */ jsx46(InlineMath11, { math: inputPart.value }) }) : inputPart.value
6537
6678
  },
6538
6679
  index2
6539
6680
  )
@@ -6547,31 +6688,31 @@ var ActivityEvaluationRubricContent = ({
6547
6688
  var ActivityEvaluationRubricContent_default = ActivityEvaluationRubricContent;
6548
6689
 
6549
6690
  // src/components/activities/ActivityPreviewByData.tsx
6550
- import { useEffect as useEffect14, useState as useState23 } from "react";
6691
+ import { useEffect as useEffect14, useState as useState24 } from "react";
6551
6692
 
6552
6693
  // src/components/boxes/SelectionBox.tsx
6553
- import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
6694
+ import { jsx as jsx47, jsxs as jsxs35 } from "react/jsx-runtime";
6554
6695
  var SelectionBox = ({
6555
6696
  optionList,
6556
6697
  selectedId,
6557
6698
  handleSelectOnClick
6558
6699
  }) => {
6559
- return /* @__PURE__ */ jsx46("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx46(
6700
+ return /* @__PURE__ */ jsx47("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx47(
6560
6701
  "div",
6561
6702
  {
6562
6703
  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`,
6563
6704
  onClick: () => {
6564
6705
  handleSelectOnClick(option.id);
6565
6706
  },
6566
- children: /* @__PURE__ */ jsxs34(
6707
+ children: /* @__PURE__ */ jsxs35(
6567
6708
  "div",
6568
6709
  {
6569
6710
  className: `flex flex-row items-center gap-x-1 ${option.id === selectedId ? "opacity-100" : "opacity-50"}`,
6570
6711
  children: [
6571
6712
  option.icon,
6572
- /* @__PURE__ */ jsxs34("div", { className: "flex-1 flex flex-col items-center", children: [
6573
- /* @__PURE__ */ jsx46("p", { children: option.text }),
6574
- option.subText ? /* @__PURE__ */ jsxs34("p", { className: "text-md", children: [
6713
+ /* @__PURE__ */ jsxs35("div", { className: "flex-1 flex flex-col items-center", children: [
6714
+ /* @__PURE__ */ jsx47("p", { children: option.text }),
6715
+ option.subText ? /* @__PURE__ */ jsxs35("p", { className: "text-md", children: [
6575
6716
  "(",
6576
6717
  option.subText,
6577
6718
  ")"
@@ -6587,7 +6728,7 @@ var SelectionBox = ({
6587
6728
  var SelectionBox_default = SelectionBox;
6588
6729
 
6589
6730
  // src/components/activities/ActivityPreviewByData.tsx
6590
- import { jsx as jsx47, jsxs as jsxs35 } from "react/jsx-runtime";
6731
+ import { jsx as jsx48, jsxs as jsxs36 } from "react/jsx-runtime";
6591
6732
  var ActivityPreviewByData = ({
6592
6733
  data,
6593
6734
  showType,
@@ -6599,9 +6740,9 @@ var ActivityPreviewByData = ({
6599
6740
  showDifficulty,
6600
6741
  isFullScreen
6601
6742
  }) => {
6602
- const [key, setKey] = useState23((/* @__PURE__ */ new Date()).getTime());
6603
- const [selectedType, setSelectedType] = useState23(null);
6604
- const [optionList, setOptionList] = useState23([]);
6743
+ const [key, setKey] = useState24((/* @__PURE__ */ new Date()).getTime());
6744
+ const [selectedType, setSelectedType] = useState24(null);
6745
+ const [optionList, setOptionList] = useState24([]);
6605
6746
  useEffect14(() => {
6606
6747
  if (!data) return;
6607
6748
  setKey((/* @__PURE__ */ new Date()).getTime());
@@ -6645,10 +6786,10 @@ var ActivityPreviewByData = ({
6645
6786
  }, [data, lockedType, typeOptionList, showDifficulty]);
6646
6787
  if (!data) return;
6647
6788
  const answer = constructAnswerBasedOnData(data);
6648
- return /* @__PURE__ */ jsxs35("div", { children: [
6649
- showType ? /* @__PURE__ */ jsxs35("div", { className: "mb-4", children: [
6650
- showDescription ? /* @__PURE__ */ jsx47("div", { className: "my-2", children: /* @__PURE__ */ jsx47("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
6651
- /* @__PURE__ */ jsx47(
6789
+ return /* @__PURE__ */ jsxs36("div", { children: [
6790
+ showType ? /* @__PURE__ */ jsxs36("div", { className: "mb-4", children: [
6791
+ showDescription ? /* @__PURE__ */ jsx48("div", { className: "my-2", children: /* @__PURE__ */ jsx48("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
6792
+ /* @__PURE__ */ jsx48(
6652
6793
  SelectionBox_default,
6653
6794
  {
6654
6795
  optionList,
@@ -6659,7 +6800,7 @@ var ActivityPreviewByData = ({
6659
6800
  }
6660
6801
  )
6661
6802
  ] }) : null,
6662
- selectedType ? /* @__PURE__ */ jsx47("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6803
+ selectedType ? /* @__PURE__ */ jsx48("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6663
6804
  OrderingActivityContent_default,
6664
6805
  {
6665
6806
  answer,
@@ -6673,7 +6814,7 @@ var ActivityPreviewByData = ({
6673
6814
  showCorrectAnswer: true,
6674
6815
  isFullScreen
6675
6816
  }
6676
- ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6817
+ ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6677
6818
  DropdownActivityContent_default,
6678
6819
  {
6679
6820
  answer,
@@ -6687,7 +6828,7 @@ var ActivityPreviewByData = ({
6687
6828
  showCorrectAnswer: true,
6688
6829
  isFullScreen
6689
6830
  }
6690
- ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6831
+ ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6691
6832
  MCSAActivityContent_default,
6692
6833
  {
6693
6834
  answer,
@@ -6701,7 +6842,7 @@ var ActivityPreviewByData = ({
6701
6842
  showCorrectAnswer: true,
6702
6843
  isFullScreen
6703
6844
  }
6704
- ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6845
+ ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6705
6846
  MCMAActivityContent_default,
6706
6847
  {
6707
6848
  answer,
@@ -6715,7 +6856,7 @@ var ActivityPreviewByData = ({
6715
6856
  showCorrectAnswer: true,
6716
6857
  isFullScreen
6717
6858
  }
6718
- ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6859
+ ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6719
6860
  MatchingActivityContent_default,
6720
6861
  {
6721
6862
  answer,
@@ -6729,7 +6870,7 @@ var ActivityPreviewByData = ({
6729
6870
  showCorrectAnswer: true,
6730
6871
  isFullScreen
6731
6872
  }
6732
- ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6873
+ ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6733
6874
  GroupingActivityContent_default,
6734
6875
  {
6735
6876
  answer,
@@ -6743,7 +6884,7 @@ var ActivityPreviewByData = ({
6743
6884
  showCorrectAnswer: true,
6744
6885
  isFullScreen
6745
6886
  }
6746
- ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6887
+ ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6747
6888
  FillInTheBlanksActivityContent_default,
6748
6889
  {
6749
6890
  answer,
@@ -6757,17 +6898,18 @@ var ActivityPreviewByData = ({
6757
6898
  showCorrectAnswer: true,
6758
6899
  isFullScreen
6759
6900
  }
6760
- ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ jsx47(
6901
+ ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ jsx48(
6761
6902
  OpenEndedActivityContent_default,
6762
6903
  {
6763
6904
  answer,
6905
+ canAnswerQuestion: () => false,
6764
6906
  changeAnswer: () => {
6765
6907
  },
6766
6908
  showMaterialContent: true,
6767
6909
  data,
6768
6910
  isFullScreen
6769
6911
  }
6770
- ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6912
+ ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6771
6913
  TrueFalseActivityContent_default,
6772
6914
  {
6773
6915
  answer,
@@ -6782,14 +6924,14 @@ var ActivityPreviewByData = ({
6782
6924
  isFullScreen
6783
6925
  }
6784
6926
  ) : null }, selectedType) : null,
6785
- selectedType && showSolution ? /* @__PURE__ */ jsx47("div", { className: "my-4", children: /* @__PURE__ */ jsx47(
6927
+ selectedType && showSolution ? /* @__PURE__ */ jsx48("div", { className: "my-4", children: /* @__PURE__ */ jsx48(
6786
6928
  ActivitySolutionContent_default,
6787
6929
  {
6788
6930
  activityTemplateType: selectedType,
6789
6931
  data
6790
6932
  }
6791
6933
  ) }) : null,
6792
- selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx47("div", { className: "my-4", children: /* @__PURE__ */ jsx47(
6934
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx48("div", { className: "my-4", children: /* @__PURE__ */ jsx48(
6793
6935
  ActivityEvaluationRubricContent_default,
6794
6936
  {
6795
6937
  activityTemplateType: selectedType,
@@ -6801,8 +6943,8 @@ var ActivityPreviewByData = ({
6801
6943
  var ActivityPreviewByData_default = ActivityPreviewByData;
6802
6944
 
6803
6945
  // src/components/activities/ActivityPreviewByAnswerData.tsx
6804
- import { useEffect as useEffect15, useState as useState24 } from "react";
6805
- import { jsx as jsx48, jsxs as jsxs36 } from "react/jsx-runtime";
6946
+ import { useEffect as useEffect15, useState as useState25 } from "react";
6947
+ import { jsx as jsx49, jsxs as jsxs37 } from "react/jsx-runtime";
6806
6948
  var ActivityPreviewByAnswerData = ({
6807
6949
  data,
6808
6950
  showType = true,
@@ -6816,10 +6958,10 @@ var ActivityPreviewByAnswerData = ({
6816
6958
  showCorrectAnswer = false
6817
6959
  }) => {
6818
6960
  var _a;
6819
- const [key, setKey] = useState24((/* @__PURE__ */ new Date()).getTime());
6820
- const [selectedType, setSelectedType] = useState24(null);
6821
- const [optionList, setOptionList] = useState24([]);
6822
- const [answer, setAnswer] = useState24({ data: [] });
6961
+ const [key, setKey] = useState25((/* @__PURE__ */ new Date()).getTime());
6962
+ const [selectedType, setSelectedType] = useState25(null);
6963
+ const [optionList, setOptionList] = useState25([]);
6964
+ const [answer, setAnswer] = useState25({ data: [] });
6823
6965
  useEffect15(() => {
6824
6966
  if (!data) return;
6825
6967
  setKey((/* @__PURE__ */ new Date()).getTime());
@@ -6907,37 +7049,37 @@ var ActivityPreviewByAnswerData = ({
6907
7049
  };
6908
7050
  switch (selectedType) {
6909
7051
  case "ORDERING":
6910
- return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsx48(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
7052
+ return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsx49(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
6911
7053
  case "DROPDOWN":
6912
- return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsx48(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
7054
+ return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsx49(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
6913
7055
  case "MCSA":
6914
- return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsx48(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
7056
+ return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsx49(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
6915
7057
  case "MCMA":
6916
- return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsx48(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
7058
+ return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsx49(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
6917
7059
  case "MATCHING":
6918
- return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsx48(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
7060
+ return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsx49(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
6919
7061
  case "GROUPING":
6920
- return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsx48(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
7062
+ return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsx49(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
6921
7063
  case "FILL_IN_THE_BLANKS":
6922
- return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsx48(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
7064
+ return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsx49(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
6923
7065
  case "OPEN_ENDED":
6924
- return data.openEndedBodyMap ? /* @__PURE__ */ jsx48(
7066
+ return data.openEndedBodyMap ? /* @__PURE__ */ jsx49(
6925
7067
  OpenEndedActivityContent_default,
6926
7068
  __spreadProps(__spreadValues({}, commonProps), {
6927
7069
  showMaterialContent: true
6928
7070
  })
6929
7071
  ) : null;
6930
7072
  case "TRUE_FALSE":
6931
- return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsx48(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
7073
+ return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsx49(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
6932
7074
  default:
6933
7075
  return null;
6934
7076
  }
6935
7077
  };
6936
7078
  if (!data) return null;
6937
- return /* @__PURE__ */ jsxs36("div", { children: [
6938
- showType && optionList.length > 0 ? /* @__PURE__ */ jsxs36("div", { className: "mb-4", children: [
6939
- showDescription ? /* @__PURE__ */ jsx48("div", { className: "my-2", children: /* @__PURE__ */ jsx48("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
6940
- /* @__PURE__ */ jsx48(
7079
+ return /* @__PURE__ */ jsxs37("div", { children: [
7080
+ showType && optionList.length > 0 ? /* @__PURE__ */ jsxs37("div", { className: "mb-4", children: [
7081
+ showDescription ? /* @__PURE__ */ jsx49("div", { className: "my-2", children: /* @__PURE__ */ jsx49("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7082
+ /* @__PURE__ */ jsx49(
6941
7083
  SelectionBox_default,
6942
7084
  {
6943
7085
  optionList,
@@ -6948,19 +7090,19 @@ var ActivityPreviewByAnswerData = ({
6948
7090
  }
6949
7091
  )
6950
7092
  ] }) : null,
6951
- /* @__PURE__ */ jsx48(DividerLine_default, {}),
6952
- /* @__PURE__ */ jsxs36("div", { className: "flex flex-col my-2 w-full p-5", children: [
6953
- ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ jsx48(ActivityEmptyContent_default, {}) : null,
6954
- selectedType ? /* @__PURE__ */ jsx48("div", { children: RenderSelectedActivityContent() }, selectedType) : null
7093
+ /* @__PURE__ */ jsx49(DividerLine_default, {}),
7094
+ /* @__PURE__ */ jsxs37("div", { className: "flex flex-col my-2 w-full p-5", children: [
7095
+ ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ jsx49(ActivityEmptyContent_default, {}) : null,
7096
+ selectedType ? /* @__PURE__ */ jsx49("div", { children: RenderSelectedActivityContent() }, selectedType) : null
6955
7097
  ] }),
6956
- selectedType && showSolution ? /* @__PURE__ */ jsx48("div", { className: "my-4", children: /* @__PURE__ */ jsx48(
7098
+ selectedType && showSolution ? /* @__PURE__ */ jsx49("div", { className: "my-4", children: /* @__PURE__ */ jsx49(
6957
7099
  ActivitySolutionContent_default,
6958
7100
  {
6959
7101
  activityTemplateType: selectedType,
6960
7102
  data
6961
7103
  }
6962
7104
  ) }) : null,
6963
- selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx48("div", { className: "my-4", children: /* @__PURE__ */ jsx48(
7105
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx49("div", { className: "my-4", children: /* @__PURE__ */ jsx49(
6964
7106
  ActivityEvaluationRubricContent_default,
6965
7107
  {
6966
7108
  activityTemplateType: selectedType,
@@ -6972,9 +7114,9 @@ var ActivityPreviewByAnswerData = ({
6972
7114
  var ActivityPreviewByAnswerData_default = ActivityPreviewByAnswerData;
6973
7115
 
6974
7116
  // src/components/dividers/BlueVerticalDividerLine.tsx
6975
- import { jsx as jsx49 } from "react/jsx-runtime";
7117
+ import { jsx as jsx50 } from "react/jsx-runtime";
6976
7118
  var BlueVerticalDividerLine = ({ opacity }) => {
6977
- return /* @__PURE__ */ jsx49(
7119
+ return /* @__PURE__ */ jsx50(
6978
7120
  "div",
6979
7121
  {
6980
7122
  className: `w-[2px] h-[40px] my-4 bg-catchup-blue ${opacity === "medium" ? "opacity-50" : ""}`
@@ -6984,7 +7126,7 @@ var BlueVerticalDividerLine = ({ opacity }) => {
6984
7126
  var BlueVerticalDividerLine_default = BlueVerticalDividerLine;
6985
7127
 
6986
7128
  // src/components/groups/LeftTextRightInputGroup.tsx
6987
- import { jsx as jsx50, jsxs as jsxs37 } from "react/jsx-runtime";
7129
+ import { jsx as jsx51, jsxs as jsxs38 } from "react/jsx-runtime";
6988
7130
  var LeftTextRightInputGroup = ({
6989
7131
  type,
6990
7132
  title,
@@ -6994,9 +7136,9 @@ var LeftTextRightInputGroup = ({
6994
7136
  disabled,
6995
7137
  errorText
6996
7138
  }) => {
6997
- return /* @__PURE__ */ jsxs37("div", { className: "w-full flex flex-row mx-2", children: [
6998
- /* @__PURE__ */ jsx50("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ jsx50("p", { children: title }) }),
6999
- /* @__PURE__ */ jsx50("div", { className: "flex-1", children: /* @__PURE__ */ jsx50(
7139
+ return /* @__PURE__ */ jsxs38("div", { className: "w-full flex flex-row mx-2", children: [
7140
+ /* @__PURE__ */ jsx51("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ jsx51("p", { children: title }) }),
7141
+ /* @__PURE__ */ jsx51("div", { className: "flex-1", children: /* @__PURE__ */ jsx51(
7000
7142
  InputGroup_default,
7001
7143
  {
7002
7144
  type,
@@ -7012,14 +7154,14 @@ var LeftTextRightInputGroup = ({
7012
7154
  var LeftTextRightInputGroup_default = LeftTextRightInputGroup;
7013
7155
 
7014
7156
  // src/components/boxes/SelectionCheckbox.tsx
7015
- import { jsx as jsx51, jsxs as jsxs38 } from "react/jsx-runtime";
7157
+ import { jsx as jsx52, jsxs as jsxs39 } from "react/jsx-runtime";
7016
7158
  var SelectionCheckbox = ({
7017
7159
  optionList,
7018
7160
  selectedIdList,
7019
7161
  handleSelectOnClick,
7020
7162
  handleRemoveOnClick
7021
7163
  }) => {
7022
- return /* @__PURE__ */ jsx51("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx51(
7164
+ return /* @__PURE__ */ jsx52("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx52(
7023
7165
  "div",
7024
7166
  {
7025
7167
  className: `${selectedIdList.findIndex(
@@ -7034,14 +7176,14 @@ var SelectionCheckbox = ({
7034
7176
  handleRemoveOnClick(option.id);
7035
7177
  }
7036
7178
  },
7037
- children: /* @__PURE__ */ jsxs38(
7179
+ children: /* @__PURE__ */ jsxs39(
7038
7180
  "div",
7039
7181
  {
7040
7182
  className: `flex flex-row items-center gap-x-1 ${selectedIdList.findIndex(
7041
7183
  (selectedId) => selectedId === option.id
7042
7184
  ) > -1 ? "opacity-100" : "opacity-50"}`,
7043
7185
  children: [
7044
- /* @__PURE__ */ jsx51(
7186
+ /* @__PURE__ */ jsx52(
7045
7187
  BaseImage_default,
7046
7188
  {
7047
7189
  src: selectedIdList.findIndex(
@@ -7051,7 +7193,7 @@ var SelectionCheckbox = ({
7051
7193
  size: "small"
7052
7194
  }
7053
7195
  ),
7054
- /* @__PURE__ */ jsx51("div", { className: "flex-1", children: /* @__PURE__ */ jsx51("p", { children: option.text }) })
7196
+ /* @__PURE__ */ jsx52("div", { className: "flex-1", children: /* @__PURE__ */ jsx52("p", { children: option.text }) })
7055
7197
  ]
7056
7198
  }
7057
7199
  )
@@ -7062,7 +7204,7 @@ var SelectionCheckbox = ({
7062
7204
  var SelectionCheckbox_default = SelectionCheckbox;
7063
7205
 
7064
7206
  // src/components/tabs/SelectionTab.tsx
7065
- import { jsx as jsx52, jsxs as jsxs39 } from "react/jsx-runtime";
7207
+ import { jsx as jsx53, jsxs as jsxs40 } from "react/jsx-runtime";
7066
7208
  var SelectionTab = ({
7067
7209
  optionList,
7068
7210
  selectedId,
@@ -7072,7 +7214,7 @@ var SelectionTab = ({
7072
7214
  textColor,
7073
7215
  borderColor
7074
7216
  }) => {
7075
- return /* @__PURE__ */ jsx52("div", { className: "flex flex-row items-center gap-x-4 gap-y-2 flex-wrap mb-2 text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsxs39(
7217
+ return /* @__PURE__ */ jsx53("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__ */ jsxs40(
7076
7218
  "div",
7077
7219
  {
7078
7220
  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`,
@@ -7080,8 +7222,8 @@ var SelectionTab = ({
7080
7222
  handleSelectOnClick(option.id);
7081
7223
  },
7082
7224
  children: [
7083
- /* @__PURE__ */ jsx52("p", { className: "text-lg", children: option.title }),
7084
- option.subTitle ? /* @__PURE__ */ jsx52("p", { className: "text-md", children: option.subTitle }) : null
7225
+ /* @__PURE__ */ jsx53("p", { className: "text-lg", children: option.title }),
7226
+ option.subTitle ? /* @__PURE__ */ jsx53("p", { className: "text-md", children: option.subTitle }) : null
7085
7227
  ]
7086
7228
  },
7087
7229
  index
@@ -7090,20 +7232,20 @@ var SelectionTab = ({
7090
7232
  var SelectionTab_default = SelectionTab;
7091
7233
 
7092
7234
  // src/components/tabs/SelectionTabFill.tsx
7093
- import { jsx as jsx53 } from "react/jsx-runtime";
7235
+ import { jsx as jsx54 } from "react/jsx-runtime";
7094
7236
  var SelectionTabFill = ({
7095
7237
  optionList,
7096
7238
  selectedId,
7097
7239
  handleSelectOnClick
7098
7240
  }) => {
7099
- return /* @__PURE__ */ jsx53("div", { className: "w-full flex flex-row bg-catchup-gray-50 gap-x-2 rounded-catchup-medium px-4 py-2 justify-center text-center", children: optionList.map((option, index) => /* @__PURE__ */ jsx53(
7241
+ return /* @__PURE__ */ jsx54("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__ */ jsx54(
7100
7242
  "div",
7101
7243
  {
7102
7244
  className: "cursor-pointer",
7103
7245
  onClick: () => {
7104
7246
  handleSelectOnClick(option.id);
7105
7247
  },
7106
- children: /* @__PURE__ */ jsx53(
7248
+ children: /* @__PURE__ */ jsx54(
7107
7249
  "p",
7108
7250
  {
7109
7251
  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`,
@@ -7117,57 +7259,57 @@ var SelectionTabFill = ({
7117
7259
  var SelectionTabFill_default = SelectionTabFill;
7118
7260
 
7119
7261
  // src/components/labels/ActivityTemplateLabel.tsx
7120
- import { jsx as jsx54, jsxs as jsxs40 } from "react/jsx-runtime";
7262
+ import { jsx as jsx55, jsxs as jsxs41 } from "react/jsx-runtime";
7121
7263
  var ActivityTemplateLabel = ({
7122
7264
  title,
7123
7265
  font
7124
7266
  }) => {
7125
- return /* @__PURE__ */ jsx54("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs40("div", { className: "flex flex-row items-center gap-x-2", children: [
7126
- /* @__PURE__ */ jsx54(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7127
- /* @__PURE__ */ jsx54("p", { className: font ? font : "text-sm", children: title })
7267
+ return /* @__PURE__ */ jsx55("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__ */ jsxs41("div", { className: "flex flex-row items-center gap-x-2", children: [
7268
+ /* @__PURE__ */ jsx55(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7269
+ /* @__PURE__ */ jsx55("p", { className: font ? font : "text-sm", children: title })
7128
7270
  ] }) });
7129
7271
  };
7130
7272
  var ActivityTemplateLabel_default = ActivityTemplateLabel;
7131
7273
 
7132
7274
  // src/components/labels/BrandLabel.tsx
7133
- import { jsx as jsx55, jsxs as jsxs41 } from "react/jsx-runtime";
7275
+ import { jsx as jsx56, jsxs as jsxs42 } from "react/jsx-runtime";
7134
7276
  var BrandLabel = ({ title, icon, font }) => {
7135
- return /* @__PURE__ */ jsx55("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs41("div", { className: "flex flex-row items-center gap-x-2", children: [
7136
- icon ? icon : /* @__PURE__ */ jsx55(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7137
- /* @__PURE__ */ jsx55("p", { className: font ? font : "text-sm", children: title })
7277
+ return /* @__PURE__ */ jsx56("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs42("div", { className: "flex flex-row items-center gap-x-2", children: [
7278
+ icon ? icon : /* @__PURE__ */ jsx56(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7279
+ /* @__PURE__ */ jsx56("p", { className: font ? font : "text-sm", children: title })
7138
7280
  ] }) });
7139
7281
  };
7140
7282
  var BrandLabel_default = BrandLabel;
7141
7283
 
7142
7284
  // src/components/labels/CoterieLabel.tsx
7143
- import { jsx as jsx56 } from "react/jsx-runtime";
7285
+ import { jsx as jsx57 } from "react/jsx-runtime";
7144
7286
  var CoterieLabel = ({ title, font }) => {
7145
- return /* @__PURE__ */ jsx56("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsx56("p", { className: font ? font : "text-sm", children: title }) });
7287
+ return /* @__PURE__ */ jsx57("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__ */ jsx57("p", { className: font ? font : "text-sm", children: title }) });
7146
7288
  };
7147
7289
  var CoterieLabel_default = CoterieLabel;
7148
7290
 
7149
7291
  // src/components/labels/GradeLabel.tsx
7150
- import { jsx as jsx57 } from "react/jsx-runtime";
7292
+ import { jsx as jsx58 } from "react/jsx-runtime";
7151
7293
  var GradeLabel = ({ title, font }) => {
7152
- return /* @__PURE__ */ jsx57("div", { className: "px-3 py-1 gap-x-3 border border-grade-label-border bg-grade-label text-grade-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsx57("p", { className: font ? font : "text-sm", children: title }) });
7294
+ return /* @__PURE__ */ jsx58("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__ */ jsx58("p", { className: font ? font : "text-sm", children: title }) });
7153
7295
  };
7154
7296
  var GradeLabel_default = GradeLabel;
7155
7297
 
7156
7298
  // src/components/labels/OutcomeLabel.tsx
7157
- import { jsx as jsx58, jsxs as jsxs42 } from "react/jsx-runtime";
7299
+ import { jsx as jsx59, jsxs as jsxs43 } from "react/jsx-runtime";
7158
7300
  var OutcomeLabel = ({ title, font }) => {
7159
- return /* @__PURE__ */ jsx58("div", { className: "px-3 py-1 gap-x-3 border border-brand-label-border bg-brand-label text-brand-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs42("div", { className: "flex flex-row items-center gap-x-2", children: [
7160
- /* @__PURE__ */ jsx58(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7161
- /* @__PURE__ */ jsx58("p", { className: font ? font : "text-sm", children: title })
7301
+ return /* @__PURE__ */ jsx59("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__ */ jsxs43("div", { className: "flex flex-row items-center gap-x-2", children: [
7302
+ /* @__PURE__ */ jsx59(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7303
+ /* @__PURE__ */ jsx59("p", { className: font ? font : "text-sm", children: title })
7162
7304
  ] }) });
7163
7305
  };
7164
7306
  var OutcomeLabel_default = OutcomeLabel;
7165
7307
 
7166
7308
  // src/components/labels/PersonalLabel.tsx
7167
- import { jsx as jsx59, jsxs as jsxs43 } from "react/jsx-runtime";
7309
+ import { jsx as jsx60, jsxs as jsxs44 } from "react/jsx-runtime";
7168
7310
  var PersonalLabel = ({ title, icon, font }) => {
7169
- return /* @__PURE__ */ jsx59("div", { className: "px-3 py-1 gap-x-3 border border-personal-label-border bg-personal-label text-personal-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs43("div", { className: "flex flex-row items-center gap-x-2", children: [
7170
- icon ? icon : /* @__PURE__ */ jsx59(
7311
+ return /* @__PURE__ */ jsx60("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__ */ jsxs44("div", { className: "flex flex-row items-center gap-x-2", children: [
7312
+ icon ? icon : /* @__PURE__ */ jsx60(
7171
7313
  BaseImage_default,
7172
7314
  {
7173
7315
  src: "/icons/personal-label.webp",
@@ -7175,16 +7317,16 @@ var PersonalLabel = ({ title, icon, font }) => {
7175
7317
  size: "xsmall"
7176
7318
  }
7177
7319
  ),
7178
- /* @__PURE__ */ jsx59("p", { className: font ? font : "text-sm", children: title })
7320
+ /* @__PURE__ */ jsx60("p", { className: font ? font : "text-sm", children: title })
7179
7321
  ] }) });
7180
7322
  };
7181
7323
  var PersonalLabel_default = PersonalLabel;
7182
7324
 
7183
7325
  // src/components/labels/PublishingHouseLabel.tsx
7184
- import { jsx as jsx60, jsxs as jsxs44 } from "react/jsx-runtime";
7326
+ import { jsx as jsx61, jsxs as jsxs45 } from "react/jsx-runtime";
7185
7327
  var PublishingHouseLabel = ({ title, icon, font }) => {
7186
- return /* @__PURE__ */ jsx60("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs44("div", { className: "flex flex-row items-center gap-x-2", children: [
7187
- icon ? icon : /* @__PURE__ */ jsx60(
7328
+ return /* @__PURE__ */ jsx61("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsxs45("div", { className: "flex flex-row items-center gap-x-2", children: [
7329
+ icon ? icon : /* @__PURE__ */ jsx61(
7188
7330
  BaseImage_default,
7189
7331
  {
7190
7332
  src: "/icons/publishing-house-label.webp",
@@ -7192,79 +7334,79 @@ var PublishingHouseLabel = ({ title, icon, font }) => {
7192
7334
  size: "xsmall"
7193
7335
  }
7194
7336
  ),
7195
- /* @__PURE__ */ jsx60("p", { className: font ? font : "text-sm", children: title })
7337
+ /* @__PURE__ */ jsx61("p", { className: font ? font : "text-sm", children: title })
7196
7338
  ] }) });
7197
7339
  };
7198
7340
  var PublishingHouseLabel_default = PublishingHouseLabel;
7199
7341
 
7200
7342
  // src/components/labels/ActivityLabel.tsx
7201
- import { jsx as jsx61 } from "react/jsx-runtime";
7343
+ import { jsx as jsx62 } from "react/jsx-runtime";
7202
7344
  var ActivityLabel = ({ title, font }) => {
7203
- return /* @__PURE__ */ jsx61("div", { className: "px-3 py-1 gap-x-3 border border-publishing-house-label-border bg-publishing-house-label text-publishing-house-label-text rounded-catchup-3xlarge", children: /* @__PURE__ */ jsx61("p", { className: font ? font : "text-sm", children: title }) });
7345
+ return /* @__PURE__ */ jsx62("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__ */ jsx62("p", { className: font ? font : "text-sm", children: title }) });
7204
7346
  };
7205
7347
  var ActivityLabel_default = ActivityLabel;
7206
7348
 
7207
7349
  // src/components/infos/InfoWithText.tsx
7208
- import { jsx as jsx62, jsxs as jsxs45 } from "react/jsx-runtime";
7350
+ import { jsx as jsx63, jsxs as jsxs46 } from "react/jsx-runtime";
7209
7351
  var InfoWithText = (props) => {
7210
7352
  const { value } = props;
7211
- return /* @__PURE__ */ jsxs45("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7212
- /* @__PURE__ */ jsx62(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7213
- /* @__PURE__ */ jsx62("div", { className: "flex-1", children: /* @__PURE__ */ jsx62("p", { className: "", children: value }) })
7353
+ return /* @__PURE__ */ jsxs46("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7354
+ /* @__PURE__ */ jsx63(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7355
+ /* @__PURE__ */ jsx63("div", { className: "flex-1", children: /* @__PURE__ */ jsx63("p", { className: "", children: value }) })
7214
7356
  ] });
7215
7357
  };
7216
7358
  var InfoWithText_default = InfoWithText;
7217
7359
 
7218
7360
  // src/components/texts/InputWithSpecialExpression.tsx
7219
7361
  import { InlineMath as InlineMath12 } from "react-katex";
7220
- import { jsx as jsx63 } from "react/jsx-runtime";
7362
+ import { jsx as jsx64 } from "react/jsx-runtime";
7221
7363
  var InputWithSpecialExpression = ({
7222
7364
  value,
7223
7365
  showSpecialOnly
7224
7366
  }) => {
7225
7367
  const inputWithSpecialExpressionList = constructInputWithSpecialExpressionList(value);
7226
- return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ jsx63("div", { className: "m-2", children: /* @__PURE__ */ jsx63("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx63(
7368
+ return showSpecialOnly ? inputWithSpecialExpressionList.length > 1 ? /* @__PURE__ */ jsx64("div", { className: "m-2", children: /* @__PURE__ */ jsx64("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx64(
7227
7369
  "span",
7228
7370
  {
7229
7371
  className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
7230
- children: inputPart.isEquation ? /* @__PURE__ */ jsx63("span", { className: "text-lg", children: /* @__PURE__ */ jsx63(InlineMath12, { math: inputPart.value }, index) }) : inputPart.value
7372
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx64("span", { className: "text-lg", children: /* @__PURE__ */ jsx64(InlineMath12, { math: inputPart.value }, index) }) : inputPart.value
7231
7373
  }
7232
- )) }) }) : null : /* @__PURE__ */ jsx63("div", { className: "m-2", children: /* @__PURE__ */ jsx63("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx63(
7374
+ )) }) }) : null : /* @__PURE__ */ jsx64("div", { className: "m-2", children: /* @__PURE__ */ jsx64("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx64(
7233
7375
  "span",
7234
7376
  {
7235
7377
  className: `${inputPart.isBold ? "font-semibold" : ""} ${inputPart.isUnderline ? "underline" : ""}`,
7236
- children: inputPart.isEquation ? /* @__PURE__ */ jsx63("span", { className: "text-lg", children: /* @__PURE__ */ jsx63(InlineMath12, { math: inputPart.value }, index) }) : inputPart.value
7378
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx64("span", { className: "text-lg", children: /* @__PURE__ */ jsx64(InlineMath12, { math: inputPart.value }, index) }) : inputPart.value
7237
7379
  }
7238
7380
  )) }) });
7239
7381
  };
7240
7382
  var InputWithSpecialExpression_default = InputWithSpecialExpression;
7241
7383
 
7242
7384
  // src/components/titles/BaseTitle.tsx
7243
- import { jsx as jsx64, jsxs as jsxs46 } from "react/jsx-runtime";
7385
+ import { jsx as jsx65, jsxs as jsxs47 } from "react/jsx-runtime";
7244
7386
  var BaseTitle = ({
7245
7387
  title,
7246
7388
  totalItemCount,
7247
7389
  itemName,
7248
7390
  description
7249
7391
  }) => {
7250
- return /* @__PURE__ */ jsxs46("div", { className: "flex flex-col gap-y-2", children: [
7251
- /* @__PURE__ */ jsxs46("p", { className: "text-2xl font-medium", children: [
7392
+ return /* @__PURE__ */ jsxs47("div", { className: "flex flex-col gap-y-2", children: [
7393
+ /* @__PURE__ */ jsxs47("p", { className: "text-2xl font-medium", children: [
7252
7394
  title,
7253
- totalItemCount && itemName ? /* @__PURE__ */ jsxs46("span", { className: "p-2 text-base text-catchup-blue-600 border border-catchup-blue-300 rounded-catchup-3xlarge mx-2 bg-catchup-blue-100", children: [
7395
+ totalItemCount && itemName ? /* @__PURE__ */ jsxs47("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: [
7254
7396
  totalItemCount,
7255
7397
  " ",
7256
7398
  itemName
7257
7399
  ] }) : null
7258
7400
  ] }),
7259
- description ? /* @__PURE__ */ jsx64("p", { className: "", children: description }) : null
7401
+ description ? /* @__PURE__ */ jsx65("p", { className: "", children: description }) : null
7260
7402
  ] });
7261
7403
  };
7262
7404
  var BaseTitle_default = BaseTitle;
7263
7405
 
7264
7406
  // src/components/titles/SubTitle.tsx
7265
- import { jsx as jsx65 } from "react/jsx-runtime";
7407
+ import { jsx as jsx66 } from "react/jsx-runtime";
7266
7408
  var SubTitle = ({ title }) => {
7267
- return /* @__PURE__ */ jsx65("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7409
+ return /* @__PURE__ */ jsx66("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7268
7410
  };
7269
7411
  var SubTitle_default = SubTitle;
7270
7412
 
@@ -9667,33 +9809,6 @@ var constructCombinedOutcomeActivityScoreMapFromCombinedReport = (combinedCatchx
9667
9809
  return combinedOutcomeActivityScoreMap;
9668
9810
  };
9669
9811
 
9670
- // src/utilization/StorageUtilization.ts
9671
- var convertDataURLtoFile = (dataurl, filename) => {
9672
- var arr = dataurl.split(","), mime = (arr[0].match(/:(.*?);/) || [])[1], bstr = atob(arr[arr.length - 1]), n = bstr.length, u8arr = new Uint8Array(n);
9673
- while (n--) {
9674
- u8arr[n] = bstr.charCodeAt(n);
9675
- }
9676
- return new File([u8arr], filename, { type: mime });
9677
- };
9678
- var retrieveDocumentTypeFromAcceptedFormat = (format) => {
9679
- if (format === "application/pdf") {
9680
- return "PDF";
9681
- } else if (format === "image/jpeg" || format === "image/png" || format === "image/jpg" || format === "image/webp") {
9682
- return "IMAGE";
9683
- } else if (format === "audio/mp3") {
9684
- return "AUDIO";
9685
- }
9686
- };
9687
- var retrieveDocumentTypeFromExtension = (format) => {
9688
- if (format === "pdf") {
9689
- return "PDF";
9690
- } else if (format === "jpeg" || format === "png" || format === "jpg" || format === "webp") {
9691
- return "IMAGE";
9692
- } else if (format === "mp3") {
9693
- return "AUDIO";
9694
- }
9695
- };
9696
-
9697
9812
  // src/utilization/TokenUtilization.ts
9698
9813
  var retrieveTokenUsageTypeOptionList = () => {
9699
9814
  return [
@@ -9935,6 +10050,7 @@ export {
9935
10050
  BaseLoading_default as BaseLoading,
9936
10051
  BaseLoadingWithText_default as BaseLoadingWithText,
9937
10052
  BaseModal_default as BaseModal,
10053
+ BasePDF_default as BasePDF,
9938
10054
  BaseTitle_default as BaseTitle,
9939
10055
  BlueVerticalDividerLine_default as BlueVerticalDividerLine,
9940
10056
  BrandLabel_default as BrandLabel,