catchup-library-web 1.15.3 → 1.15.4

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,39 @@ 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
+ };
5928
+
5851
5929
  // src/components/activities/material-content/OpenEndedActivityMaterialContent.tsx
5852
- import { Fragment as Fragment6, jsx as jsx37, jsxs as jsxs26 } from "react/jsx-runtime";
5930
+ import { Fragment as Fragment6, jsx as jsx38, jsxs as jsxs27 } from "react/jsx-runtime";
5853
5931
  var OpenEndedActivityMaterialContent = ({
5854
5932
  answer,
5855
5933
  contentMap,
5934
+ checkCanAnswerQuestion,
5856
5935
  onChange
5857
5936
  }) => {
5858
5937
  const retrieveAnswer = () => {
@@ -5872,33 +5951,63 @@ var OpenEndedActivityMaterialContent = ({
5872
5951
  };
5873
5952
  const RenderTextContent = (answerMap2) => {
5874
5953
  const answerMapAnswer = answerMap2["ANSWER"];
5875
- return /* @__PURE__ */ jsx37(
5954
+ return /* @__PURE__ */ jsx38(
5876
5955
  InputGroup_default,
5877
5956
  {
5878
5957
  type: "textarea",
5879
5958
  value: answerMapAnswer,
5880
5959
  useMinHeight: true,
5881
5960
  onChange: (e) => {
5882
- onChange(answer, e.target.value);
5961
+ if (checkCanAnswerQuestion()) {
5962
+ onChange(answer, e.target.value);
5963
+ }
5883
5964
  }
5884
5965
  }
5885
5966
  );
5886
5967
  };
5968
+ const RenderImageContent = (answerMap2) => {
5969
+ const answerMapAnswer = answerMap2["ANSWER"];
5970
+ const extension = answerMapAnswer.split(".").pop();
5971
+ const documentType = retrieveDocumentTypeFromExtension(extension);
5972
+ return /* @__PURE__ */ jsx38(Fragment6, { children: documentType === "IMAGE" ? /* @__PURE__ */ jsx38("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx38(
5973
+ BaseImage_default,
5974
+ {
5975
+ src: answerMapAnswer,
5976
+ alt: "document",
5977
+ size: "custom",
5978
+ className: "w-[80%] rounded-catchup-xlarge"
5979
+ }
5980
+ ) }) : documentType === "PDF" ? /* @__PURE__ */ jsx38("div", { className: "flex flex-col justify-center items-center my-5", children: /* @__PURE__ */ jsx38(BasePDF_default, { file: answerMapAnswer }) }) : null });
5981
+ };
5982
+ const RenderAudioContent = (answerMap2) => {
5983
+ const answerMapAnswer = answerMap2["ANSWER"];
5984
+ return /* @__PURE__ */ jsx38("div", { className: "h-[56px]", children: /* @__PURE__ */ jsx38(
5985
+ "audio",
5986
+ {
5987
+ className: "h-full w-full rounded-catchup-xlarge",
5988
+ src: answerMapAnswer,
5989
+ controls: true,
5990
+ onClick: () => {
5991
+ }
5992
+ }
5993
+ ) });
5994
+ };
5887
5995
  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
5996
+ return /* @__PURE__ */ jsx38(Fragment6, { children: /* @__PURE__ */ jsxs27("div", { className: "", children: [
5997
+ /* @__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") }) }),
5998
+ /* @__PURE__ */ jsx38("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx38(DividerLine_default, {}) }),
5999
+ contentMap.type === "TEXT" ? RenderTextContent(answerMap) : contentMap.type === "IMAGE" ? RenderImageContent(answerMap) : contentMap.type === "AUDIO" ? RenderAudioContent(answerMap) : null
5892
6000
  ] }) });
5893
6001
  };
5894
6002
  var OpenEndedActivityMaterialContent_default = OpenEndedActivityMaterialContent;
5895
6003
 
5896
6004
  // src/components/activities/OpenEndedActivityContent.tsx
5897
- import { Fragment as Fragment7, jsx as jsx38, jsxs as jsxs27 } from "react/jsx-runtime";
6005
+ import { Fragment as Fragment7, jsx as jsx39, jsxs as jsxs28 } from "react/jsx-runtime";
5898
6006
  var OpenEndedActivityContent = ({
5899
6007
  answer,
5900
6008
  data,
5901
6009
  changeAnswer,
6010
+ canAnswerQuestion,
5902
6011
  showMaterialContent,
5903
6012
  isFullScreen
5904
6013
  }) => {
@@ -5912,12 +6021,12 @@ var OpenEndedActivityContent = ({
5912
6021
  answerMap["ANSWER"] = value;
5913
6022
  changeAnswer(answer2);
5914
6023
  };
5915
- return /* @__PURE__ */ jsxs27("div", { className: "flex flex-row flex-wrap", children: [
5916
- /* @__PURE__ */ jsx38(
6024
+ return /* @__PURE__ */ jsxs28("div", { className: "flex flex-row flex-wrap", children: [
6025
+ /* @__PURE__ */ jsx39(
5917
6026
  "div",
5918
6027
  {
5919
6028
  className: `${showMaterialContent ? isFullScreen ? "w-full" : "w-full md:w-[40%]" : "w-full"}`,
5920
- children: /* @__PURE__ */ jsx38(
6029
+ children: /* @__PURE__ */ jsx39(
5921
6030
  ActivityBodyContent_default,
5922
6031
  {
5923
6032
  bodyMap: openEndedBodyMap,
@@ -5926,20 +6035,21 @@ var OpenEndedActivityContent = ({
5926
6035
  )
5927
6036
  }
5928
6037
  ),
5929
- showMaterialContent ? /* @__PURE__ */ jsxs27(Fragment7, { children: [
5930
- /* @__PURE__ */ jsx38(
6038
+ showMaterialContent ? /* @__PURE__ */ jsxs28(Fragment7, { children: [
6039
+ /* @__PURE__ */ jsx39(
5931
6040
  "div",
5932
6041
  {
5933
6042
  className: `${isFullScreen ? "contents" : "contents md:hidden"}`,
5934
- children: /* @__PURE__ */ jsx38(DividerLine_default, {})
6043
+ children: /* @__PURE__ */ jsx39(DividerLine_default, {})
5935
6044
  }
5936
6045
  ),
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(
6046
+ /* @__PURE__ */ jsx39("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx39(VerticalDividerLine_default, {}) }),
6047
+ /* @__PURE__ */ jsx39("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx39(
5939
6048
  OpenEndedActivityMaterialContent_default,
5940
6049
  {
5941
6050
  answer,
5942
6051
  contentMap,
6052
+ checkCanAnswerQuestion: canAnswerQuestion,
5943
6053
  onChange: handleOpenEndedAnswerOnChange
5944
6054
  }
5945
6055
  ) })
@@ -5949,14 +6059,14 @@ var OpenEndedActivityContent = ({
5949
6059
  var OpenEndedActivityContent_default = OpenEndedActivityContent;
5950
6060
 
5951
6061
  // src/components/activities/material-content/OrderingActivityMaterialContent.tsx
5952
- import { useEffect as useEffect12, useState as useState21 } from "react";
6062
+ import { useEffect as useEffect12, useState as useState22 } from "react";
5953
6063
  import { useDrop as useDrop6 } from "react-dnd";
5954
6064
  import { InlineMath as InlineMath8 } from "react-katex";
5955
6065
 
5956
6066
  // src/components/dnds/DraggableDroppableItem.tsx
5957
6067
  import { useRef as useRef6 } from "react";
5958
6068
  import { useDrag as useDrag2, useDrop as useDrop5 } from "react-dnd";
5959
- import { jsx as jsx39 } from "react/jsx-runtime";
6069
+ import { jsx as jsx40 } from "react/jsx-runtime";
5960
6070
  var DraggableDroppableItem = ({
5961
6071
  item,
5962
6072
  type,
@@ -5993,19 +6103,19 @@ var DraggableDroppableItem = ({
5993
6103
  });
5994
6104
  const opacity = isDragging ? 0.4 : 1;
5995
6105
  drag(drop(ref));
5996
- return /* @__PURE__ */ jsx39(
6106
+ return /* @__PURE__ */ jsx40(
5997
6107
  "div",
5998
6108
  {
5999
6109
  className: `${isDragging ? "w-[0px] opacity-0" : "w-full opacity-100"} transition-all duration-500`,
6000
6110
  ref: dropRef,
6001
- children: /* @__PURE__ */ jsx39("div", { ref, className: "w-full", style: { opacity }, children: component })
6111
+ children: /* @__PURE__ */ jsx40("div", { ref, className: "w-full", style: { opacity }, children: component })
6002
6112
  }
6003
6113
  );
6004
6114
  };
6005
6115
  var DraggableDroppableItem_default = DraggableDroppableItem;
6006
6116
 
6007
6117
  // src/components/activities/material-content/OrderingActivityMaterialContent.tsx
6008
- import { jsx as jsx40, jsxs as jsxs28 } from "react/jsx-runtime";
6118
+ import { jsx as jsx41, jsxs as jsxs29 } from "react/jsx-runtime";
6009
6119
  var OrderingActivityMaterialContent = ({
6010
6120
  uniqueValue,
6011
6121
  answer,
@@ -6016,10 +6126,10 @@ var OrderingActivityMaterialContent = ({
6016
6126
  isPreview,
6017
6127
  showCorrectAnswer
6018
6128
  }) => {
6019
- const [selectedTargetKey, setSelectedTargetKey] = useState21(null);
6020
- const [selectedKey, setSelectedKey] = useState21(null);
6129
+ const [selectedTargetKey, setSelectedTargetKey] = useState22(null);
6130
+ const [selectedKey, setSelectedKey] = useState22(null);
6021
6131
  const { screenSize } = useScreenSize_default();
6022
- const [view, setView] = useState21("PC");
6132
+ const [view, setView] = useState22("PC");
6023
6133
  const [{ isOver, canDrop }, drop] = useDrop6({
6024
6134
  accept: "ORDERING",
6025
6135
  drop: () => {
@@ -6082,12 +6192,12 @@ var OrderingActivityMaterialContent = ({
6082
6192
  return 0;
6083
6193
  };
6084
6194
  const answerMap = retrieveAnswerMap();
6085
- return /* @__PURE__ */ jsx40("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
6195
+ return /* @__PURE__ */ jsx41("div", { className: "flex flex-row flex-wrap", children: Object.keys(answerMap).map((materialKey, index) => {
6086
6196
  const learnerAnswerState = checkAnswerState(
6087
6197
  answerMap[materialKey] + "",
6088
6198
  index + ""
6089
6199
  );
6090
- return /* @__PURE__ */ jsx40("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ jsxs28(
6200
+ return /* @__PURE__ */ jsx41("div", { className: "w-full lg:w-1/2", children: /* @__PURE__ */ jsxs29(
6091
6201
  "div",
6092
6202
  {
6093
6203
  className: `flex flex-row items-center my-4 mx-2`,
@@ -6095,26 +6205,26 @@ var OrderingActivityMaterialContent = ({
6095
6205
  marginTop: view === "PC" ? calculateMarginTop(parseFloat(materialKey)) : 0
6096
6206
  },
6097
6207
  children: [
6098
- /* @__PURE__ */ jsx40("div", { className: "mr-3", children: /* @__PURE__ */ jsx40(
6208
+ /* @__PURE__ */ jsx41("div", { className: "mr-3", children: /* @__PURE__ */ jsx41(
6099
6209
  "div",
6100
6210
  {
6101
6211
  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(
6212
+ children: /* @__PURE__ */ jsx41(
6103
6213
  "div",
6104
6214
  {
6105
6215
  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 })
6216
+ children: /* @__PURE__ */ jsx41("p", { className: "", children: parseFloat(materialKey) + 1 })
6107
6217
  }
6108
6218
  )
6109
6219
  }
6110
6220
  ) }),
6111
- /* @__PURE__ */ jsx40(
6221
+ /* @__PURE__ */ jsx41(
6112
6222
  DraggableDroppableItem_default,
6113
6223
  {
6114
6224
  item: { index: materialKey },
6115
6225
  type: "ORDERING",
6116
6226
  dropRef: drop,
6117
- component: /* @__PURE__ */ jsx40(
6227
+ component: /* @__PURE__ */ jsx41(
6118
6228
  "div",
6119
6229
  {
6120
6230
  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 +6233,16 @@ var OrderingActivityMaterialContent = ({
6123
6233
  setSelectedKey(materialKey);
6124
6234
  }
6125
6235
  },
6126
- children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx40("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6236
+ children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx41("p", { className: "text-xl whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6127
6237
  materialMap[answerMap[materialKey]]
6128
- ).map((inputPart, index2) => /* @__PURE__ */ jsx40(
6238
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx41(
6129
6239
  "span",
6130
6240
  {
6131
6241
  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
6242
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx41("span", { className: "text-2xl", children: /* @__PURE__ */ jsx41(InlineMath8, { math: inputPart.value }) }) : inputPart.value
6133
6243
  },
6134
6244
  index2
6135
- )) }) : /* @__PURE__ */ jsx40(
6245
+ )) }) : /* @__PURE__ */ jsx41(
6136
6246
  ShowMaterialMediaByContentType_default,
6137
6247
  {
6138
6248
  contentType: contentMap.type,
@@ -6164,7 +6274,7 @@ var OrderingActivityMaterialContent = ({
6164
6274
  var OrderingActivityMaterialContent_default = OrderingActivityMaterialContent;
6165
6275
 
6166
6276
  // src/components/activities/OrderingActivityContent.tsx
6167
- import { Fragment as Fragment8, jsx as jsx41, jsxs as jsxs29 } from "react/jsx-runtime";
6277
+ import { Fragment as Fragment8, jsx as jsx42, jsxs as jsxs30 } from "react/jsx-runtime";
6168
6278
  var OrderingActivityContent = ({
6169
6279
  answer,
6170
6280
  data,
@@ -6187,16 +6297,16 @@ var OrderingActivityContent = ({
6187
6297
  answerMap[secondaryKey] = prevValue;
6188
6298
  changeAnswer(answer2);
6189
6299
  };
6190
- return /* @__PURE__ */ jsxs29(Fragment8, { children: [
6191
- /* @__PURE__ */ jsx41(
6300
+ return /* @__PURE__ */ jsxs30(Fragment8, { children: [
6301
+ /* @__PURE__ */ jsx42(
6192
6302
  ActivityBodyContent_default,
6193
6303
  {
6194
6304
  bodyMap: orderingBodyMap,
6195
6305
  templateType: "ORDERING"
6196
6306
  }
6197
6307
  ),
6198
- /* @__PURE__ */ jsx41(DividerLine_default, {}),
6199
- /* @__PURE__ */ jsx41(
6308
+ /* @__PURE__ */ jsx42(DividerLine_default, {}),
6309
+ /* @__PURE__ */ jsx42(
6200
6310
  OrderingActivityMaterialContent_default,
6201
6311
  {
6202
6312
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6214,9 +6324,9 @@ var OrderingActivityContent = ({
6214
6324
  var OrderingActivityContent_default = OrderingActivityContent;
6215
6325
 
6216
6326
  // src/components/activities/material-content/TrueFalseActivityMaterialContent.tsx
6217
- import { useEffect as useEffect13, useState as useState22 } from "react";
6327
+ import { useEffect as useEffect13, useState as useState23 } from "react";
6218
6328
  import { InlineMath as InlineMath9 } from "react-katex";
6219
- import { Fragment as Fragment9, jsx as jsx42, jsxs as jsxs30 } from "react/jsx-runtime";
6329
+ import { Fragment as Fragment9, jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
6220
6330
  var TrueFalseActivityMaterialContent = ({
6221
6331
  uniqueValue,
6222
6332
  answer,
@@ -6228,7 +6338,7 @@ var TrueFalseActivityMaterialContent = ({
6228
6338
  showCorrectAnswer
6229
6339
  }) => {
6230
6340
  const { screenSize } = useScreenSize_default();
6231
- const [shuffleOptionList, setShuffleOptionList] = useState22([]);
6341
+ const [shuffleOptionList, setShuffleOptionList] = useState23([]);
6232
6342
  useEffect13(() => {
6233
6343
  const optionList = [];
6234
6344
  optionList.push(...materialMap.trueList);
@@ -6269,14 +6379,14 @@ var TrueFalseActivityMaterialContent = ({
6269
6379
  return "INCORRECT";
6270
6380
  };
6271
6381
  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") }) })
6382
+ return /* @__PURE__ */ jsxs31("div", { className: "", children: [
6383
+ /* @__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") }) }),
6384
+ /* @__PURE__ */ jsx43("div", { className: "hidden md:contents", children: /* @__PURE__ */ jsx43(DividerLine_default, {}) }),
6385
+ /* @__PURE__ */ jsxs31("div", { className: "flex flex-row justify-end items-center gap-x-2", children: [
6386
+ /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "font-bold text-lg", children: i18n_default.t("true") }) }),
6387
+ /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "font-bold text-lg", children: i18n_default.t("false") }) })
6278
6388
  ] }),
6279
- checkCanAnswerQuestion() ? /* @__PURE__ */ jsx42("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6389
+ checkCanAnswerQuestion() ? /* @__PURE__ */ jsx43("div", { className: `flex flex-row w-full justify-center flex-wrap`, children: shuffleOptionList.map((shuffleOption, index) => {
6280
6390
  const correctAnswer = materialMap.trueList.find(
6281
6391
  (trueItem) => trueItem === shuffleOption
6282
6392
  ) !== void 0 ? "TRUE" : "FALSE";
@@ -6287,21 +6397,21 @@ var TrueFalseActivityMaterialContent = ({
6287
6397
  correctAnswer,
6288
6398
  learnerAnswer
6289
6399
  );
6290
- return /* @__PURE__ */ jsxs30(
6400
+ return /* @__PURE__ */ jsxs31(
6291
6401
  "div",
6292
6402
  {
6293
6403
  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
6404
  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(
6405
+ /* @__PURE__ */ jsx43("div", { className: "flex-1", children: contentMap.type === "TEXT" ? /* @__PURE__ */ jsx43("p", { className: "text-xl p-2 whitespace-pre-wrap", children: constructInputWithSpecialExpressionList(
6296
6406
  shuffleOption
6297
- ).map((inputPart, index2) => /* @__PURE__ */ jsx42(
6407
+ ).map((inputPart, index2) => /* @__PURE__ */ jsx43(
6298
6408
  "span",
6299
6409
  {
6300
6410
  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
6411
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx43("span", { className: "text-2xl", children: /* @__PURE__ */ jsx43(InlineMath9, { math: inputPart.value }) }) : inputPart.value
6302
6412
  },
6303
6413
  index2
6304
- )) }) : /* @__PURE__ */ jsx42(
6414
+ )) }) : /* @__PURE__ */ jsx43(
6305
6415
  ShowMaterialMediaByContentType_default,
6306
6416
  {
6307
6417
  contentType: contentMap.type,
@@ -6310,8 +6420,8 @@ var TrueFalseActivityMaterialContent = ({
6310
6420
  },
6311
6421
  `${uniqueValue}-${index}`
6312
6422
  ) }),
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(
6423
+ /* @__PURE__ */ jsxs31("div", { className: "flex flex-row items-center gap-x-2", children: [
6424
+ /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx43(
6315
6425
  BaseImage_default,
6316
6426
  {
6317
6427
  src: answerMap.trueList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6322,7 +6432,7 @@ var TrueFalseActivityMaterialContent = ({
6322
6432
  }
6323
6433
  }
6324
6434
  ) }) }),
6325
- /* @__PURE__ */ jsx42("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx42("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx42(
6435
+ /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("div", { className: "flex flex-col items-center justify-center", children: /* @__PURE__ */ jsx43(
6326
6436
  BaseImage_default,
6327
6437
  {
6328
6438
  src: answerMap.falseList.includes(shuffleOption) ? "/icons/checkbox.webp" : "/icons/checkbox-empty.webp",
@@ -6338,14 +6448,14 @@ var TrueFalseActivityMaterialContent = ({
6338
6448
  },
6339
6449
  index
6340
6450
  );
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") }) })
6451
+ }) }) : /* @__PURE__ */ jsxs31(Fragment9, { children: [
6452
+ answerMap.trueList.map((item) => /* @__PURE__ */ jsxs31("div", { className: "flex flex-row items-center gap-x-2", children: [
6453
+ /* @__PURE__ */ jsx43("div", { className: "flex-1", children: /* @__PURE__ */ jsx43("p", { children: item }) }),
6454
+ /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "underline", children: i18n_default.t("true") }) })
6345
6455
  ] })),
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") }) })
6456
+ answerMap.falseList.map((item) => /* @__PURE__ */ jsxs31("div", { className: "flex flex-row items-center gap-x-2", children: [
6457
+ /* @__PURE__ */ jsx43("div", { className: "flex-1", children: /* @__PURE__ */ jsx43("p", { children: item }) }),
6458
+ /* @__PURE__ */ jsx43("div", { className: "w-[50px]", children: /* @__PURE__ */ jsx43("p", { className: "underline", children: i18n_default.t("false") }) })
6349
6459
  ] }))
6350
6460
  ] })
6351
6461
  ] });
@@ -6353,7 +6463,7 @@ var TrueFalseActivityMaterialContent = ({
6353
6463
  var TrueFalseActivityMaterialContent_default = TrueFalseActivityMaterialContent;
6354
6464
 
6355
6465
  // src/components/activities/TrueFalseActivityContent.tsx
6356
- import { jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
6466
+ import { jsx as jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
6357
6467
  var TrueFalseActivityContent = ({
6358
6468
  answer,
6359
6469
  data,
@@ -6403,17 +6513,17 @@ var TrueFalseActivityContent = ({
6403
6513
  }
6404
6514
  changeAnswer(answer2);
6405
6515
  };
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(
6516
+ return /* @__PURE__ */ jsxs32("div", { className: "flex flex-row flex-wrap", children: [
6517
+ /* @__PURE__ */ jsx44("div", { className: `${isFullScreen ? "w-full" : "w-full md:w-[40%]"}`, children: /* @__PURE__ */ jsx44(
6408
6518
  ActivityBodyContent_default,
6409
6519
  {
6410
6520
  bodyMap: trueFalseBodyMap,
6411
6521
  templateType: "GROUPING"
6412
6522
  }
6413
6523
  ) }),
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(
6524
+ /* @__PURE__ */ jsx44("div", { className: `${isFullScreen ? "contents" : "contents md:hidden"}`, children: /* @__PURE__ */ jsx44(DividerLine_default, {}) }),
6525
+ /* @__PURE__ */ jsx44("div", { className: `${isFullScreen ? "hidden" : "hidden md:block"}`, children: /* @__PURE__ */ jsx44(VerticalDividerLine_default, {}) }),
6526
+ /* @__PURE__ */ jsx44("div", { className: `${isFullScreen ? "w-full" : "w-full md:flex-1"}`, children: /* @__PURE__ */ jsx44(
6417
6527
  TrueFalseActivityMaterialContent_default,
6418
6528
  {
6419
6529
  uniqueValue: JSON.stringify(data.contentMap),
@@ -6432,7 +6542,7 @@ var TrueFalseActivityContent_default = TrueFalseActivityContent;
6432
6542
 
6433
6543
  // src/components/activities/solution-content/ActivitySolutionContent.tsx
6434
6544
  import { InlineMath as InlineMath10 } from "react-katex";
6435
- import { jsx as jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
6545
+ import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
6436
6546
  var ActivitySolutionContent = ({
6437
6547
  activityTemplateType,
6438
6548
  data
@@ -6462,8 +6572,8 @@ var ActivitySolutionContent = ({
6462
6572
  return null;
6463
6573
  }
6464
6574
  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") }),
6575
+ return /* @__PURE__ */ jsx45("div", { className: "mx-2", children: /* @__PURE__ */ jsxs33("div", { className: "p-4 border-catchup-blue border-2 rounded-catchup-xlarge", children: [
6576
+ /* @__PURE__ */ jsx45("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("solution") }),
6467
6577
  Object.keys(solutionMap).map((key) => {
6468
6578
  let currentItem;
6469
6579
  try {
@@ -6473,12 +6583,12 @@ var ActivitySolutionContent = ({
6473
6583
  return null;
6474
6584
  }
6475
6585
  const { value } = currentItem;
6476
- return /* @__PURE__ */ jsx44("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6477
- (inputPart, partIndex) => /* @__PURE__ */ jsx44(
6586
+ return /* @__PURE__ */ jsx45("div", { className: "my-3 text-xl", children: constructInputWithSpecialExpressionList(value).map(
6587
+ (inputPart, partIndex) => /* @__PURE__ */ jsx45(
6478
6588
  "span",
6479
6589
  {
6480
6590
  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
6591
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx45("span", { className: "text-2xl", children: /* @__PURE__ */ jsx45(InlineMath10, { math: inputPart.value }) }) : inputPart.value
6482
6592
  },
6483
6593
  `${key}_part_${partIndex}`
6484
6594
  )
@@ -6490,7 +6600,7 @@ var ActivitySolutionContent_default = ActivitySolutionContent;
6490
6600
 
6491
6601
  // src/components/activities/evaluation-rubric-content/ActivityEvaluationRubricContent.tsx
6492
6602
  import { InlineMath as InlineMath11 } from "react-katex";
6493
- import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
6603
+ import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
6494
6604
  var ActivityEvaluationRubricContent = ({
6495
6605
  activityTemplateType,
6496
6606
  data
@@ -6519,21 +6629,21 @@ var ActivityEvaluationRubricContent = ({
6519
6629
  }
6520
6630
  if (!evaluationRubricMap || Object.keys(evaluationRubricMap).length === 0)
6521
6631
  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") }),
6632
+ return /* @__PURE__ */ jsx46("div", { className: "mx-2", children: /* @__PURE__ */ jsxs34("div", { className: "p-4 border-catchup-gray-400 border-2 rounded-catchup-xlarge", children: [
6633
+ /* @__PURE__ */ jsx46("p", { className: "text-xl font-bold text-center mb-3", children: i18n_default.t("evaluation_rubric") }),
6524
6634
  Object.keys(evaluationRubricMap).map((key, index) => {
6525
6635
  const currentItem = JSON.parse(evaluationRubricMap[key]);
6526
6636
  const { value } = currentItem;
6527
- return /* @__PURE__ */ jsx45(
6637
+ return /* @__PURE__ */ jsx46(
6528
6638
  "p",
6529
6639
  {
6530
6640
  className: "my-1 text-xl whitespace-pre-wrap",
6531
6641
  children: constructInputWithSpecialExpressionList(value).map(
6532
- (inputPart, index2) => /* @__PURE__ */ jsx45(
6642
+ (inputPart, index2) => /* @__PURE__ */ jsx46(
6533
6643
  "span",
6534
6644
  {
6535
6645
  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
6646
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx46("span", { className: "text-2xl", children: /* @__PURE__ */ jsx46(InlineMath11, { math: inputPart.value }) }) : inputPart.value
6537
6647
  },
6538
6648
  index2
6539
6649
  )
@@ -6547,31 +6657,31 @@ var ActivityEvaluationRubricContent = ({
6547
6657
  var ActivityEvaluationRubricContent_default = ActivityEvaluationRubricContent;
6548
6658
 
6549
6659
  // src/components/activities/ActivityPreviewByData.tsx
6550
- import { useEffect as useEffect14, useState as useState23 } from "react";
6660
+ import { useEffect as useEffect14, useState as useState24 } from "react";
6551
6661
 
6552
6662
  // src/components/boxes/SelectionBox.tsx
6553
- import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
6663
+ import { jsx as jsx47, jsxs as jsxs35 } from "react/jsx-runtime";
6554
6664
  var SelectionBox = ({
6555
6665
  optionList,
6556
6666
  selectedId,
6557
6667
  handleSelectOnClick
6558
6668
  }) => {
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(
6669
+ 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
6670
  "div",
6561
6671
  {
6562
6672
  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
6673
  onClick: () => {
6564
6674
  handleSelectOnClick(option.id);
6565
6675
  },
6566
- children: /* @__PURE__ */ jsxs34(
6676
+ children: /* @__PURE__ */ jsxs35(
6567
6677
  "div",
6568
6678
  {
6569
6679
  className: `flex flex-row items-center gap-x-1 ${option.id === selectedId ? "opacity-100" : "opacity-50"}`,
6570
6680
  children: [
6571
6681
  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: [
6682
+ /* @__PURE__ */ jsxs35("div", { className: "flex-1 flex flex-col items-center", children: [
6683
+ /* @__PURE__ */ jsx47("p", { children: option.text }),
6684
+ option.subText ? /* @__PURE__ */ jsxs35("p", { className: "text-md", children: [
6575
6685
  "(",
6576
6686
  option.subText,
6577
6687
  ")"
@@ -6587,7 +6697,7 @@ var SelectionBox = ({
6587
6697
  var SelectionBox_default = SelectionBox;
6588
6698
 
6589
6699
  // src/components/activities/ActivityPreviewByData.tsx
6590
- import { jsx as jsx47, jsxs as jsxs35 } from "react/jsx-runtime";
6700
+ import { jsx as jsx48, jsxs as jsxs36 } from "react/jsx-runtime";
6591
6701
  var ActivityPreviewByData = ({
6592
6702
  data,
6593
6703
  showType,
@@ -6599,9 +6709,9 @@ var ActivityPreviewByData = ({
6599
6709
  showDifficulty,
6600
6710
  isFullScreen
6601
6711
  }) => {
6602
- const [key, setKey] = useState23((/* @__PURE__ */ new Date()).getTime());
6603
- const [selectedType, setSelectedType] = useState23(null);
6604
- const [optionList, setOptionList] = useState23([]);
6712
+ const [key, setKey] = useState24((/* @__PURE__ */ new Date()).getTime());
6713
+ const [selectedType, setSelectedType] = useState24(null);
6714
+ const [optionList, setOptionList] = useState24([]);
6605
6715
  useEffect14(() => {
6606
6716
  if (!data) return;
6607
6717
  setKey((/* @__PURE__ */ new Date()).getTime());
@@ -6645,10 +6755,10 @@ var ActivityPreviewByData = ({
6645
6755
  }, [data, lockedType, typeOptionList, showDifficulty]);
6646
6756
  if (!data) return;
6647
6757
  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(
6758
+ return /* @__PURE__ */ jsxs36("div", { children: [
6759
+ showType ? /* @__PURE__ */ jsxs36("div", { className: "mb-4", children: [
6760
+ showDescription ? /* @__PURE__ */ jsx48("div", { className: "my-2", children: /* @__PURE__ */ jsx48("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
6761
+ /* @__PURE__ */ jsx48(
6652
6762
  SelectionBox_default,
6653
6763
  {
6654
6764
  optionList,
@@ -6659,7 +6769,7 @@ var ActivityPreviewByData = ({
6659
6769
  }
6660
6770
  )
6661
6771
  ] }) : null,
6662
- selectedType ? /* @__PURE__ */ jsx47("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6772
+ selectedType ? /* @__PURE__ */ jsx48("div", { className: "", children: selectedType === "ORDERING" && data["orderingBodyMap"] != null && data["orderingMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6663
6773
  OrderingActivityContent_default,
6664
6774
  {
6665
6775
  answer,
@@ -6673,7 +6783,7 @@ var ActivityPreviewByData = ({
6673
6783
  showCorrectAnswer: true,
6674
6784
  isFullScreen
6675
6785
  }
6676
- ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6786
+ ) : selectedType === "DROPDOWN" && data["dropdownBodyMap"] != null && data["dropdownMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6677
6787
  DropdownActivityContent_default,
6678
6788
  {
6679
6789
  answer,
@@ -6687,7 +6797,7 @@ var ActivityPreviewByData = ({
6687
6797
  showCorrectAnswer: true,
6688
6798
  isFullScreen
6689
6799
  }
6690
- ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6800
+ ) : selectedType === "MCSA" && data["MCSABodyMap"] != null && data["MCSAMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6691
6801
  MCSAActivityContent_default,
6692
6802
  {
6693
6803
  answer,
@@ -6701,7 +6811,7 @@ var ActivityPreviewByData = ({
6701
6811
  showCorrectAnswer: true,
6702
6812
  isFullScreen
6703
6813
  }
6704
- ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6814
+ ) : selectedType === "MCMA" && data["MCMABodyMap"] != null && data["MCMAMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6705
6815
  MCMAActivityContent_default,
6706
6816
  {
6707
6817
  answer,
@@ -6715,7 +6825,7 @@ var ActivityPreviewByData = ({
6715
6825
  showCorrectAnswer: true,
6716
6826
  isFullScreen
6717
6827
  }
6718
- ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6828
+ ) : selectedType === "MATCHING" && data["matchingBodyMap"] != null && data["matchingMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6719
6829
  MatchingActivityContent_default,
6720
6830
  {
6721
6831
  answer,
@@ -6729,7 +6839,7 @@ var ActivityPreviewByData = ({
6729
6839
  showCorrectAnswer: true,
6730
6840
  isFullScreen
6731
6841
  }
6732
- ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6842
+ ) : selectedType === "GROUPING" && data["groupingBodyMap"] != null && data["groupingMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6733
6843
  GroupingActivityContent_default,
6734
6844
  {
6735
6845
  answer,
@@ -6743,7 +6853,7 @@ var ActivityPreviewByData = ({
6743
6853
  showCorrectAnswer: true,
6744
6854
  isFullScreen
6745
6855
  }
6746
- ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6856
+ ) : selectedType === "FILL_IN_THE_BLANKS" && data["fillInTheBlanksBodyMap"] != null && data["fillInTheBlanksMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6747
6857
  FillInTheBlanksActivityContent_default,
6748
6858
  {
6749
6859
  answer,
@@ -6757,17 +6867,18 @@ var ActivityPreviewByData = ({
6757
6867
  showCorrectAnswer: true,
6758
6868
  isFullScreen
6759
6869
  }
6760
- ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ jsx47(
6870
+ ) : selectedType === "OPEN_ENDED" && data["openEndedBodyMap"] != null ? /* @__PURE__ */ jsx48(
6761
6871
  OpenEndedActivityContent_default,
6762
6872
  {
6763
6873
  answer,
6874
+ canAnswerQuestion: () => false,
6764
6875
  changeAnswer: () => {
6765
6876
  },
6766
6877
  showMaterialContent: true,
6767
6878
  data,
6768
6879
  isFullScreen
6769
6880
  }
6770
- ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ jsx47(
6881
+ ) : selectedType === "TRUE_FALSE" && data["trueFalseBodyMap"] != null && data["trueFalseMaterialMap"] != null ? /* @__PURE__ */ jsx48(
6771
6882
  TrueFalseActivityContent_default,
6772
6883
  {
6773
6884
  answer,
@@ -6782,14 +6893,14 @@ var ActivityPreviewByData = ({
6782
6893
  isFullScreen
6783
6894
  }
6784
6895
  ) : null }, selectedType) : null,
6785
- selectedType && showSolution ? /* @__PURE__ */ jsx47("div", { className: "my-4", children: /* @__PURE__ */ jsx47(
6896
+ selectedType && showSolution ? /* @__PURE__ */ jsx48("div", { className: "my-4", children: /* @__PURE__ */ jsx48(
6786
6897
  ActivitySolutionContent_default,
6787
6898
  {
6788
6899
  activityTemplateType: selectedType,
6789
6900
  data
6790
6901
  }
6791
6902
  ) }) : null,
6792
- selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx47("div", { className: "my-4", children: /* @__PURE__ */ jsx47(
6903
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx48("div", { className: "my-4", children: /* @__PURE__ */ jsx48(
6793
6904
  ActivityEvaluationRubricContent_default,
6794
6905
  {
6795
6906
  activityTemplateType: selectedType,
@@ -6801,8 +6912,8 @@ var ActivityPreviewByData = ({
6801
6912
  var ActivityPreviewByData_default = ActivityPreviewByData;
6802
6913
 
6803
6914
  // 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";
6915
+ import { useEffect as useEffect15, useState as useState25 } from "react";
6916
+ import { jsx as jsx49, jsxs as jsxs37 } from "react/jsx-runtime";
6806
6917
  var ActivityPreviewByAnswerData = ({
6807
6918
  data,
6808
6919
  showType = true,
@@ -6816,10 +6927,10 @@ var ActivityPreviewByAnswerData = ({
6816
6927
  showCorrectAnswer = false
6817
6928
  }) => {
6818
6929
  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: [] });
6930
+ const [key, setKey] = useState25((/* @__PURE__ */ new Date()).getTime());
6931
+ const [selectedType, setSelectedType] = useState25(null);
6932
+ const [optionList, setOptionList] = useState25([]);
6933
+ const [answer, setAnswer] = useState25({ data: [] });
6823
6934
  useEffect15(() => {
6824
6935
  if (!data) return;
6825
6936
  setKey((/* @__PURE__ */ new Date()).getTime());
@@ -6907,37 +7018,37 @@ var ActivityPreviewByAnswerData = ({
6907
7018
  };
6908
7019
  switch (selectedType) {
6909
7020
  case "ORDERING":
6910
- return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsx48(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
7021
+ return data.orderingBodyMap && data.orderingMaterialMap ? /* @__PURE__ */ jsx49(OrderingActivityContent_default, __spreadValues({}, commonProps)) : null;
6911
7022
  case "DROPDOWN":
6912
- return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsx48(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
7023
+ return data.dropdownBodyMap && data.dropdownMaterialMap ? /* @__PURE__ */ jsx49(DropdownActivityContent_default, __spreadValues({}, commonProps)) : null;
6913
7024
  case "MCSA":
6914
- return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsx48(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
7025
+ return data.MCSABodyMap && data.MCSAMaterialMap ? /* @__PURE__ */ jsx49(MCSAActivityContent_default, __spreadValues({}, commonProps)) : null;
6915
7026
  case "MCMA":
6916
- return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsx48(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
7027
+ return data.MCMABodyMap && data.MCMAMaterialMap ? /* @__PURE__ */ jsx49(MCMAActivityContent_default, __spreadValues({}, commonProps)) : null;
6917
7028
  case "MATCHING":
6918
- return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsx48(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
7029
+ return data.matchingBodyMap && data.matchingMaterialMap ? /* @__PURE__ */ jsx49(MatchingActivityContent_default, __spreadValues({}, commonProps)) : null;
6919
7030
  case "GROUPING":
6920
- return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsx48(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
7031
+ return data.groupingBodyMap && data.groupingMaterialMap ? /* @__PURE__ */ jsx49(GroupingActivityContent_default, __spreadValues({}, commonProps)) : null;
6921
7032
  case "FILL_IN_THE_BLANKS":
6922
- return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsx48(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
7033
+ return data.fillInTheBlanksBodyMap && data.fillInTheBlanksMaterialMap ? /* @__PURE__ */ jsx49(FillInTheBlanksActivityContent_default, __spreadValues({}, commonProps)) : null;
6923
7034
  case "OPEN_ENDED":
6924
- return data.openEndedBodyMap ? /* @__PURE__ */ jsx48(
7035
+ return data.openEndedBodyMap ? /* @__PURE__ */ jsx49(
6925
7036
  OpenEndedActivityContent_default,
6926
7037
  __spreadProps(__spreadValues({}, commonProps), {
6927
7038
  showMaterialContent: true
6928
7039
  })
6929
7040
  ) : null;
6930
7041
  case "TRUE_FALSE":
6931
- return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsx48(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
7042
+ return data.trueFalseBodyMap && data.trueFalseMaterialMap ? /* @__PURE__ */ jsx49(TrueFalseActivityContent_default, __spreadValues({}, commonProps)) : null;
6932
7043
  default:
6933
7044
  return null;
6934
7045
  }
6935
7046
  };
6936
7047
  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(
7048
+ return /* @__PURE__ */ jsxs37("div", { children: [
7049
+ showType && optionList.length > 0 ? /* @__PURE__ */ jsxs37("div", { className: "mb-4", children: [
7050
+ showDescription ? /* @__PURE__ */ jsx49("div", { className: "my-2", children: /* @__PURE__ */ jsx49("p", { className: "font-semibold text-lg", children: i18n_default.t("activity_template") }) }) : null,
7051
+ /* @__PURE__ */ jsx49(
6941
7052
  SelectionBox_default,
6942
7053
  {
6943
7054
  optionList,
@@ -6948,19 +7059,19 @@ var ActivityPreviewByAnswerData = ({
6948
7059
  }
6949
7060
  )
6950
7061
  ] }) : 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
7062
+ /* @__PURE__ */ jsx49(DividerLine_default, {}),
7063
+ /* @__PURE__ */ jsxs37("div", { className: "flex flex-col my-2 w-full p-5", children: [
7064
+ ((_a = answer == null ? void 0 : answer.data[0]) == null ? void 0 : _a.isEmpty) ? /* @__PURE__ */ jsx49(ActivityEmptyContent_default, {}) : null,
7065
+ selectedType ? /* @__PURE__ */ jsx49("div", { children: RenderSelectedActivityContent() }, selectedType) : null
6955
7066
  ] }),
6956
- selectedType && showSolution ? /* @__PURE__ */ jsx48("div", { className: "my-4", children: /* @__PURE__ */ jsx48(
7067
+ selectedType && showSolution ? /* @__PURE__ */ jsx49("div", { className: "my-4", children: /* @__PURE__ */ jsx49(
6957
7068
  ActivitySolutionContent_default,
6958
7069
  {
6959
7070
  activityTemplateType: selectedType,
6960
7071
  data
6961
7072
  }
6962
7073
  ) }) : null,
6963
- selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx48("div", { className: "my-4", children: /* @__PURE__ */ jsx48(
7074
+ selectedType && showEvaluationRubric ? /* @__PURE__ */ jsx49("div", { className: "my-4", children: /* @__PURE__ */ jsx49(
6964
7075
  ActivityEvaluationRubricContent_default,
6965
7076
  {
6966
7077
  activityTemplateType: selectedType,
@@ -6972,9 +7083,9 @@ var ActivityPreviewByAnswerData = ({
6972
7083
  var ActivityPreviewByAnswerData_default = ActivityPreviewByAnswerData;
6973
7084
 
6974
7085
  // src/components/dividers/BlueVerticalDividerLine.tsx
6975
- import { jsx as jsx49 } from "react/jsx-runtime";
7086
+ import { jsx as jsx50 } from "react/jsx-runtime";
6976
7087
  var BlueVerticalDividerLine = ({ opacity }) => {
6977
- return /* @__PURE__ */ jsx49(
7088
+ return /* @__PURE__ */ jsx50(
6978
7089
  "div",
6979
7090
  {
6980
7091
  className: `w-[2px] h-[40px] my-4 bg-catchup-blue ${opacity === "medium" ? "opacity-50" : ""}`
@@ -6984,7 +7095,7 @@ var BlueVerticalDividerLine = ({ opacity }) => {
6984
7095
  var BlueVerticalDividerLine_default = BlueVerticalDividerLine;
6985
7096
 
6986
7097
  // src/components/groups/LeftTextRightInputGroup.tsx
6987
- import { jsx as jsx50, jsxs as jsxs37 } from "react/jsx-runtime";
7098
+ import { jsx as jsx51, jsxs as jsxs38 } from "react/jsx-runtime";
6988
7099
  var LeftTextRightInputGroup = ({
6989
7100
  type,
6990
7101
  title,
@@ -6994,9 +7105,9 @@ var LeftTextRightInputGroup = ({
6994
7105
  disabled,
6995
7106
  errorText
6996
7107
  }) => {
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(
7108
+ return /* @__PURE__ */ jsxs38("div", { className: "w-full flex flex-row mx-2", children: [
7109
+ /* @__PURE__ */ jsx51("div", { className: "w-catchup-input-group-title py-5", children: /* @__PURE__ */ jsx51("p", { children: title }) }),
7110
+ /* @__PURE__ */ jsx51("div", { className: "flex-1", children: /* @__PURE__ */ jsx51(
7000
7111
  InputGroup_default,
7001
7112
  {
7002
7113
  type,
@@ -7012,14 +7123,14 @@ var LeftTextRightInputGroup = ({
7012
7123
  var LeftTextRightInputGroup_default = LeftTextRightInputGroup;
7013
7124
 
7014
7125
  // src/components/boxes/SelectionCheckbox.tsx
7015
- import { jsx as jsx51, jsxs as jsxs38 } from "react/jsx-runtime";
7126
+ import { jsx as jsx52, jsxs as jsxs39 } from "react/jsx-runtime";
7016
7127
  var SelectionCheckbox = ({
7017
7128
  optionList,
7018
7129
  selectedIdList,
7019
7130
  handleSelectOnClick,
7020
7131
  handleRemoveOnClick
7021
7132
  }) => {
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(
7133
+ 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
7134
  "div",
7024
7135
  {
7025
7136
  className: `${selectedIdList.findIndex(
@@ -7034,14 +7145,14 @@ var SelectionCheckbox = ({
7034
7145
  handleRemoveOnClick(option.id);
7035
7146
  }
7036
7147
  },
7037
- children: /* @__PURE__ */ jsxs38(
7148
+ children: /* @__PURE__ */ jsxs39(
7038
7149
  "div",
7039
7150
  {
7040
7151
  className: `flex flex-row items-center gap-x-1 ${selectedIdList.findIndex(
7041
7152
  (selectedId) => selectedId === option.id
7042
7153
  ) > -1 ? "opacity-100" : "opacity-50"}`,
7043
7154
  children: [
7044
- /* @__PURE__ */ jsx51(
7155
+ /* @__PURE__ */ jsx52(
7045
7156
  BaseImage_default,
7046
7157
  {
7047
7158
  src: selectedIdList.findIndex(
@@ -7051,7 +7162,7 @@ var SelectionCheckbox = ({
7051
7162
  size: "small"
7052
7163
  }
7053
7164
  ),
7054
- /* @__PURE__ */ jsx51("div", { className: "flex-1", children: /* @__PURE__ */ jsx51("p", { children: option.text }) })
7165
+ /* @__PURE__ */ jsx52("div", { className: "flex-1", children: /* @__PURE__ */ jsx52("p", { children: option.text }) })
7055
7166
  ]
7056
7167
  }
7057
7168
  )
@@ -7062,7 +7173,7 @@ var SelectionCheckbox = ({
7062
7173
  var SelectionCheckbox_default = SelectionCheckbox;
7063
7174
 
7064
7175
  // src/components/tabs/SelectionTab.tsx
7065
- import { jsx as jsx52, jsxs as jsxs39 } from "react/jsx-runtime";
7176
+ import { jsx as jsx53, jsxs as jsxs40 } from "react/jsx-runtime";
7066
7177
  var SelectionTab = ({
7067
7178
  optionList,
7068
7179
  selectedId,
@@ -7072,7 +7183,7 @@ var SelectionTab = ({
7072
7183
  textColor,
7073
7184
  borderColor
7074
7185
  }) => {
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(
7186
+ 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
7187
  "div",
7077
7188
  {
7078
7189
  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 +7191,8 @@ var SelectionTab = ({
7080
7191
  handleSelectOnClick(option.id);
7081
7192
  },
7082
7193
  children: [
7083
- /* @__PURE__ */ jsx52("p", { className: "text-lg", children: option.title }),
7084
- option.subTitle ? /* @__PURE__ */ jsx52("p", { className: "text-md", children: option.subTitle }) : null
7194
+ /* @__PURE__ */ jsx53("p", { className: "text-lg", children: option.title }),
7195
+ option.subTitle ? /* @__PURE__ */ jsx53("p", { className: "text-md", children: option.subTitle }) : null
7085
7196
  ]
7086
7197
  },
7087
7198
  index
@@ -7090,20 +7201,20 @@ var SelectionTab = ({
7090
7201
  var SelectionTab_default = SelectionTab;
7091
7202
 
7092
7203
  // src/components/tabs/SelectionTabFill.tsx
7093
- import { jsx as jsx53 } from "react/jsx-runtime";
7204
+ import { jsx as jsx54 } from "react/jsx-runtime";
7094
7205
  var SelectionTabFill = ({
7095
7206
  optionList,
7096
7207
  selectedId,
7097
7208
  handleSelectOnClick
7098
7209
  }) => {
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(
7210
+ 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
7211
  "div",
7101
7212
  {
7102
7213
  className: "cursor-pointer",
7103
7214
  onClick: () => {
7104
7215
  handleSelectOnClick(option.id);
7105
7216
  },
7106
- children: /* @__PURE__ */ jsx53(
7217
+ children: /* @__PURE__ */ jsx54(
7107
7218
  "p",
7108
7219
  {
7109
7220
  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 +7228,57 @@ var SelectionTabFill = ({
7117
7228
  var SelectionTabFill_default = SelectionTabFill;
7118
7229
 
7119
7230
  // src/components/labels/ActivityTemplateLabel.tsx
7120
- import { jsx as jsx54, jsxs as jsxs40 } from "react/jsx-runtime";
7231
+ import { jsx as jsx55, jsxs as jsxs41 } from "react/jsx-runtime";
7121
7232
  var ActivityTemplateLabel = ({
7122
7233
  title,
7123
7234
  font
7124
7235
  }) => {
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 })
7236
+ 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: [
7237
+ /* @__PURE__ */ jsx55(BaseImage_default, { src: "/icons/activity.webp", alt: "label", size: "xsmall" }),
7238
+ /* @__PURE__ */ jsx55("p", { className: font ? font : "text-sm", children: title })
7128
7239
  ] }) });
7129
7240
  };
7130
7241
  var ActivityTemplateLabel_default = ActivityTemplateLabel;
7131
7242
 
7132
7243
  // src/components/labels/BrandLabel.tsx
7133
- import { jsx as jsx55, jsxs as jsxs41 } from "react/jsx-runtime";
7244
+ import { jsx as jsx56, jsxs as jsxs42 } from "react/jsx-runtime";
7134
7245
  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 })
7246
+ 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: [
7247
+ icon ? icon : /* @__PURE__ */ jsx56(BaseImage_default, { src: "/icons/brand-label.webp", alt: "label", size: "xsmall" }),
7248
+ /* @__PURE__ */ jsx56("p", { className: font ? font : "text-sm", children: title })
7138
7249
  ] }) });
7139
7250
  };
7140
7251
  var BrandLabel_default = BrandLabel;
7141
7252
 
7142
7253
  // src/components/labels/CoterieLabel.tsx
7143
- import { jsx as jsx56 } from "react/jsx-runtime";
7254
+ import { jsx as jsx57 } from "react/jsx-runtime";
7144
7255
  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 }) });
7256
+ 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
7257
  };
7147
7258
  var CoterieLabel_default = CoterieLabel;
7148
7259
 
7149
7260
  // src/components/labels/GradeLabel.tsx
7150
- import { jsx as jsx57 } from "react/jsx-runtime";
7261
+ import { jsx as jsx58 } from "react/jsx-runtime";
7151
7262
  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 }) });
7263
+ 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
7264
  };
7154
7265
  var GradeLabel_default = GradeLabel;
7155
7266
 
7156
7267
  // src/components/labels/OutcomeLabel.tsx
7157
- import { jsx as jsx58, jsxs as jsxs42 } from "react/jsx-runtime";
7268
+ import { jsx as jsx59, jsxs as jsxs43 } from "react/jsx-runtime";
7158
7269
  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 })
7270
+ 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: [
7271
+ /* @__PURE__ */ jsx59(BaseImage_default, { src: "/icons/category.webp", alt: "label", size: "xsmall" }),
7272
+ /* @__PURE__ */ jsx59("p", { className: font ? font : "text-sm", children: title })
7162
7273
  ] }) });
7163
7274
  };
7164
7275
  var OutcomeLabel_default = OutcomeLabel;
7165
7276
 
7166
7277
  // src/components/labels/PersonalLabel.tsx
7167
- import { jsx as jsx59, jsxs as jsxs43 } from "react/jsx-runtime";
7278
+ import { jsx as jsx60, jsxs as jsxs44 } from "react/jsx-runtime";
7168
7279
  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(
7280
+ 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: [
7281
+ icon ? icon : /* @__PURE__ */ jsx60(
7171
7282
  BaseImage_default,
7172
7283
  {
7173
7284
  src: "/icons/personal-label.webp",
@@ -7175,16 +7286,16 @@ var PersonalLabel = ({ title, icon, font }) => {
7175
7286
  size: "xsmall"
7176
7287
  }
7177
7288
  ),
7178
- /* @__PURE__ */ jsx59("p", { className: font ? font : "text-sm", children: title })
7289
+ /* @__PURE__ */ jsx60("p", { className: font ? font : "text-sm", children: title })
7179
7290
  ] }) });
7180
7291
  };
7181
7292
  var PersonalLabel_default = PersonalLabel;
7182
7293
 
7183
7294
  // src/components/labels/PublishingHouseLabel.tsx
7184
- import { jsx as jsx60, jsxs as jsxs44 } from "react/jsx-runtime";
7295
+ import { jsx as jsx61, jsxs as jsxs45 } from "react/jsx-runtime";
7185
7296
  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(
7297
+ 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: [
7298
+ icon ? icon : /* @__PURE__ */ jsx61(
7188
7299
  BaseImage_default,
7189
7300
  {
7190
7301
  src: "/icons/publishing-house-label.webp",
@@ -7192,79 +7303,79 @@ var PublishingHouseLabel = ({ title, icon, font }) => {
7192
7303
  size: "xsmall"
7193
7304
  }
7194
7305
  ),
7195
- /* @__PURE__ */ jsx60("p", { className: font ? font : "text-sm", children: title })
7306
+ /* @__PURE__ */ jsx61("p", { className: font ? font : "text-sm", children: title })
7196
7307
  ] }) });
7197
7308
  };
7198
7309
  var PublishingHouseLabel_default = PublishingHouseLabel;
7199
7310
 
7200
7311
  // src/components/labels/ActivityLabel.tsx
7201
- import { jsx as jsx61 } from "react/jsx-runtime";
7312
+ import { jsx as jsx62 } from "react/jsx-runtime";
7202
7313
  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 }) });
7314
+ 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
7315
  };
7205
7316
  var ActivityLabel_default = ActivityLabel;
7206
7317
 
7207
7318
  // src/components/infos/InfoWithText.tsx
7208
- import { jsx as jsx62, jsxs as jsxs45 } from "react/jsx-runtime";
7319
+ import { jsx as jsx63, jsxs as jsxs46 } from "react/jsx-runtime";
7209
7320
  var InfoWithText = (props) => {
7210
7321
  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 }) })
7322
+ return /* @__PURE__ */ jsxs46("div", { className: "w-full flex flex-row items-center gap-x-2 my-2", children: [
7323
+ /* @__PURE__ */ jsx63(BaseImage_default, { src: "/icons/info.webp", alt: "info", size: "small" }),
7324
+ /* @__PURE__ */ jsx63("div", { className: "flex-1", children: /* @__PURE__ */ jsx63("p", { className: "", children: value }) })
7214
7325
  ] });
7215
7326
  };
7216
7327
  var InfoWithText_default = InfoWithText;
7217
7328
 
7218
7329
  // src/components/texts/InputWithSpecialExpression.tsx
7219
7330
  import { InlineMath as InlineMath12 } from "react-katex";
7220
- import { jsx as jsx63 } from "react/jsx-runtime";
7331
+ import { jsx as jsx64 } from "react/jsx-runtime";
7221
7332
  var InputWithSpecialExpression = ({
7222
7333
  value,
7223
7334
  showSpecialOnly
7224
7335
  }) => {
7225
7336
  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(
7337
+ 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
7338
  "span",
7228
7339
  {
7229
7340
  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
7341
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx64("span", { className: "text-lg", children: /* @__PURE__ */ jsx64(InlineMath12, { math: inputPart.value }, index) }) : inputPart.value
7231
7342
  }
7232
- )) }) }) : null : /* @__PURE__ */ jsx63("div", { className: "m-2", children: /* @__PURE__ */ jsx63("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx63(
7343
+ )) }) }) : null : /* @__PURE__ */ jsx64("div", { className: "m-2", children: /* @__PURE__ */ jsx64("span", { className: "whitespace-pre-wrap", children: inputWithSpecialExpressionList.map((inputPart, index) => /* @__PURE__ */ jsx64(
7233
7344
  "span",
7234
7345
  {
7235
7346
  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
7347
+ children: inputPart.isEquation ? /* @__PURE__ */ jsx64("span", { className: "text-lg", children: /* @__PURE__ */ jsx64(InlineMath12, { math: inputPart.value }, index) }) : inputPart.value
7237
7348
  }
7238
7349
  )) }) });
7239
7350
  };
7240
7351
  var InputWithSpecialExpression_default = InputWithSpecialExpression;
7241
7352
 
7242
7353
  // src/components/titles/BaseTitle.tsx
7243
- import { jsx as jsx64, jsxs as jsxs46 } from "react/jsx-runtime";
7354
+ import { jsx as jsx65, jsxs as jsxs47 } from "react/jsx-runtime";
7244
7355
  var BaseTitle = ({
7245
7356
  title,
7246
7357
  totalItemCount,
7247
7358
  itemName,
7248
7359
  description
7249
7360
  }) => {
7250
- return /* @__PURE__ */ jsxs46("div", { className: "flex flex-col gap-y-2", children: [
7251
- /* @__PURE__ */ jsxs46("p", { className: "text-2xl font-medium", children: [
7361
+ return /* @__PURE__ */ jsxs47("div", { className: "flex flex-col gap-y-2", children: [
7362
+ /* @__PURE__ */ jsxs47("p", { className: "text-2xl font-medium", children: [
7252
7363
  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: [
7364
+ 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
7365
  totalItemCount,
7255
7366
  " ",
7256
7367
  itemName
7257
7368
  ] }) : null
7258
7369
  ] }),
7259
- description ? /* @__PURE__ */ jsx64("p", { className: "", children: description }) : null
7370
+ description ? /* @__PURE__ */ jsx65("p", { className: "", children: description }) : null
7260
7371
  ] });
7261
7372
  };
7262
7373
  var BaseTitle_default = BaseTitle;
7263
7374
 
7264
7375
  // src/components/titles/SubTitle.tsx
7265
- import { jsx as jsx65 } from "react/jsx-runtime";
7376
+ import { jsx as jsx66 } from "react/jsx-runtime";
7266
7377
  var SubTitle = ({ title }) => {
7267
- return /* @__PURE__ */ jsx65("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7378
+ return /* @__PURE__ */ jsx66("p", { className: "text-xl font-medium text-catchup-darker-blue", children: title });
7268
7379
  };
7269
7380
  var SubTitle_default = SubTitle;
7270
7381
 
@@ -9667,33 +9778,6 @@ var constructCombinedOutcomeActivityScoreMapFromCombinedReport = (combinedCatchx
9667
9778
  return combinedOutcomeActivityScoreMap;
9668
9779
  };
9669
9780
 
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
9781
  // src/utilization/TokenUtilization.ts
9698
9782
  var retrieveTokenUsageTypeOptionList = () => {
9699
9783
  return [
@@ -9935,6 +10019,7 @@ export {
9935
10019
  BaseLoading_default as BaseLoading,
9936
10020
  BaseLoadingWithText_default as BaseLoadingWithText,
9937
10021
  BaseModal_default as BaseModal,
10022
+ BasePDF_default as BasePDF,
9938
10023
  BaseTitle_default as BaseTitle,
9939
10024
  BlueVerticalDividerLine_default as BlueVerticalDividerLine,
9940
10025
  BrandLabel_default as BrandLabel,